From 022e949180405ccd7053dc38587ac3ea58b766c1 Mon Sep 17 00:00:00 2001 From: tierce Date: Tue, 12 Mar 2019 00:02:09 +0100 Subject: [PATCH] adaptation for Yunohost 3.x - tested on 64bit only --- .gitignore | 2 + LICENSE | 4 + NOTES.md | 54 + README.md | 84 + README_fr.md | 76 + check_process.default | 49 + conf/app.src | 6 + conf/nginx.conf | 45 +- conf/noalyss.conf | 37 +- conf/php-fpm.conf | 321 +- manifest.json | 43 +- scripts/_common.sh | 17 + scripts/_psql.sh | 155 + scripts/backup | 92 + scripts/install | 355 +- scripts/remove | 136 +- scripts/restore | 143 + sources/AUTHORS | 2 - sources/COPYING | 138 - sources/README | 4 - .../abrege-perso/fr_plan_abrege_perso.sql | 175 - .../fr_plan_abrege_perso_bil10000.form | 179 - .../fr_plan_abrege_perso_bil10000.ods | Bin 20884 -> 0 bytes .../fr_plan_abrege_perso_bil10000.xls | Bin 28672 -> 0 bytes .../fr_plan_abrege_perso_comptes-defaut.sql | 26 - .../fr_plan_abrege_perso_cr1000.form | 129 - .../fr_plan_abrege_perso_cr1000.odt | Bin 15301 -> 0 bytes .../fr_plan_abrege_perso_cr1000.rtf | 259 - .../abrege-perso/fr_plan_abrege_perso_tva.sql | 44 - .../abrege-strict/fr_plan_abrege.sql | 132 - .../abrege-strict/fr_plan_abrege_tva.sql | 44 - .../base-perso/fr_plan_base_perso.sql | 405 - .../fr_plan_base_perso_comptes-defaut.sql | 27 - .../base-perso/fr_plan_base_perso_tva.sql | 44 - .../base-strict/fr_plan_base.sql | 397 - .../base-strict/fr_plan_base_tva.sql | 44 - .../copropriete/fr_plan_syndiccoprop.sql | 133 - .../fr_plan_developpe_perso.sql | 911 - ...fr_plan_developpe_perso_comptes-defaut.sql | 27 - .../fr_plan_developpe_perso_tva.sql | 44 - .../developpe-strict/fr_plan_developpe.sql | 906 - .../fr_plan_developpe_tva.sql | 44 - .../comptabilite-francaise/lisez-moi.txt | 1 - .../loi-1901/fr_plan_loi1901.sql | 535 - .../fr_plan_loi1901_comptes-defaut.sql | 27 - .../loi-1901/fr_plan_loi1901_tva.sql | 44 - .../profession-liberale/fr_plan_proflib.sql | 66 - .../fr_plan_proflib_comptes-defaut.sql | 26 - .../fr_plan_proflib_tva.sql | 44 - sources/contrib/document_test/all_tags.odt | Bin 41045 -> 0 bytes .../contrib/document_test/facture-calc.ods | Bin 16382 -> 0 bytes sources/contrib/document_test/facture.html | 91 - sources/contrib/document_test/facture.odt | Bin 41338 -> 0 bytes sources/contrib/document_test/facture1.rtf | 30 - sources/contrib/document_test/logo.png | Bin 49982 -> 0 bytes sources/contrib/document_test/logo.svg | 121 - .../contrib/document_test/modele-facture.ods | Bin 72842 -> 0 bytes .../contrib/document_test/note-de-frais.odt | Bin 42435 -> 0 bytes sources/contrib/document_test/rappel.odt | Bin 31858 -> 0 bytes sources/contrib/mono-dossier/mono-belge.sql | 9345 -------- sources/contrib/mono-dossier/mono-france.sql | 8976 -------- sources/contrib/mono-dossier/mono.sql | 538 - sources/contrib/rapport/README | 8 - sources/contrib/rapport/tva_decla.sql | 16 - sources/contrib/rapport/tva_decla_fr_BE.sql | 28 - sources/contrib/sql-utility/get-sql.sh | 28 - sources/contrib/wiki-tools/transform.pl | 55 - sources/dev/README | 2 - sources/dev/compile_text.sh | 16 - sources/dev/compose_list.sh | 15 - sources/dev/create_changelog.sh | 1 - sources/dev/extract_text.sh | 23 - sources/dev/get_database_item.sh | 37 - .../manage-code/create-file/create_config.py | 71 - .../create-file/create_phpclass.py | 190 - .../manage-code/create-file/create_trigger.py | 82 - sources/dev/manage-code/create-file/example | 7 - .../dev/manage-code/housekeeping/cleanup.sh | 24 - .../dev/manage-code/housekeeping/transform.py | 100 - .../manage-code/housekeeping/usage_file.py | 49 - .../housekeeping/usage_function.py | 65 - .../dev/manage-code/security/without_check.py | 41 - sources/dev/manage-code/widget/add_require.py | 49 - sources/dev/manage-code/widget/change.py | 34 - sources/dev/manage-code/widget/transform.py | 100 - sources/dev/plugin_client.txt | 4 - sources/dev/test-size/readme | 15 - sources/dev/test-size/simul.py | 243 - sources/dev/test_parse_formula.php | 53 - sources/doc/Diagram5.dia | Bin 9929 -> 0 bytes sources/doc/Makefile | 13 - sources/doc/Schemaabrege1.pdf | Bin 105892 -> 0 bytes sources/doc/commencer-avec-noalyss.odt | Bin 50975 -> 0 bytes sources/doc/commencer-avec-noalyss.pdf | Bin 69409 -> 0 bytes sources/doc/data.dia | 18232 ---------------- sources/doc/developper/Doxyfile | 1618 -- sources/doc/developper/create_doc.sh | 9 - sources/doc/developper/header.html | 2 - sources/doc/developper/html/.htaccess | 2 - sources/doc/document.dia | Bin 3365 -> 0 bytes sources/doc/document2.dia | Bin 2350 -> 0 bytes sources/doc/fiche.dia | Bin 2739 -> 0 bytes sources/doc/fpdf/FAQ.htm | 341 - sources/doc/fpdf/doc/acceptpagebreak.htm | 63 - sources/doc/fpdf/doc/addfont.htm | 55 - sources/doc/fpdf/doc/addlink.htm | 26 - sources/doc/fpdf/doc/addpage.htm | 56 - sources/doc/fpdf/doc/aliasnbpages.htm | 45 - sources/doc/fpdf/doc/cell.htm | 104 - sources/doc/fpdf/doc/close.htm | 21 - sources/doc/fpdf/doc/error.htm | 25 - sources/doc/fpdf/doc/footer.htm | 35 - sources/doc/fpdf/doc/fpdf.htm | 63 - sources/doc/fpdf/doc/getstringwidth.htm | 23 - sources/doc/fpdf/doc/getx.htm | 20 - sources/doc/fpdf/doc/gety.htm | 20 - sources/doc/fpdf/doc/header.htm | 37 - sources/doc/fpdf/doc/image.htm | 86 - sources/doc/fpdf/doc/index.htm | 57 - sources/doc/fpdf/doc/line.htm | 38 - sources/doc/fpdf/doc/link.htm | 46 - sources/doc/fpdf/doc/ln.htm | 28 - sources/doc/fpdf/doc/multicell.htm | 76 - sources/doc/fpdf/doc/output.htm | 42 - sources/doc/fpdf/doc/pageno.htm | 18 - sources/doc/fpdf/doc/rect.htm | 48 - sources/doc/fpdf/doc/setauthor.htm | 33 - sources/doc/fpdf/doc/setautopagebreak.htm | 33 - sources/doc/fpdf/doc/setcompression.htm | 31 - sources/doc/fpdf/doc/setcreator.htm | 34 - sources/doc/fpdf/doc/setdisplaymode.htm | 47 - sources/doc/fpdf/doc/setdrawcolor.htm | 41 - sources/doc/fpdf/doc/setfillcolor.htm | 40 - sources/doc/fpdf/doc/setfont.htm | 92 - sources/doc/fpdf/doc/setfontsize.htm | 25 - sources/doc/fpdf/doc/setkeywords.htm | 33 - sources/doc/fpdf/doc/setleftmargin.htm | 30 - sources/doc/fpdf/doc/setlinewidth.htm | 29 - sources/doc/fpdf/doc/setlink.htm | 34 - sources/doc/fpdf/doc/setmargins.htm | 37 - sources/doc/fpdf/doc/setrightmargin.htm | 28 - sources/doc/fpdf/doc/setsubject.htm | 33 - sources/doc/fpdf/doc/settextcolor.htm | 40 - sources/doc/fpdf/doc/settitle.htm | 33 - sources/doc/fpdf/doc/settopmargin.htm | 28 - sources/doc/fpdf/doc/setx.htm | 29 - sources/doc/fpdf/doc/setxy.htm | 31 - sources/doc/fpdf/doc/sety.htm | 29 - sources/doc/fpdf/doc/text.htm | 39 - sources/doc/fpdf/doc/write.htm | 51 - sources/doc/fpdf/fpdf.css | 21 - sources/doc/fpdf/histo.htm | 128 - sources/doc/fpdf/install.txt | 26 - sources/doc/fpdf/license.txt | 6 - sources/doc/fpdf/sfpdf.html | 49 - sources/doc/fpdf/tutorial/20k_c1.txt | 10 - sources/doc/fpdf/tutorial/20k_c2.txt | 23 - sources/doc/fpdf/tutorial/calligra.afm | 275 - sources/doc/fpdf/tutorial/calligra.php | 24 - sources/doc/fpdf/tutorial/calligra.ttf | Bin 40120 -> 0 bytes sources/doc/fpdf/tutorial/calligra.z | Bin 25604 -> 0 bytes sources/doc/fpdf/tutorial/countries.txt | 15 - sources/doc/fpdf/tutorial/index.htm | 21 - sources/doc/fpdf/tutorial/logo.png | Bin 2373 -> 0 bytes sources/doc/fpdf/tutorial/logo_pb.png | Bin 2656 -> 0 bytes sources/doc/fpdf/tutorial/makefont.php | 6 - sources/doc/fpdf/tutorial/tuto1.htm | 77 - sources/doc/fpdf/tutorial/tuto1.php | 9 - sources/doc/fpdf/tutorial/tuto2.htm | 80 - sources/doc/fpdf/tutorial/tuto2.php | 41 - sources/doc/fpdf/tutorial/tuto3.htm | 116 - sources/doc/fpdf/tutorial/tuto3.php | 83 - sources/doc/fpdf/tutorial/tuto4.htm | 136 - sources/doc/fpdf/tutorial/tuto4.php | 113 - sources/doc/fpdf/tutorial/tuto5.htm | 133 - sources/doc/fpdf/tutorial/tuto5.php | 101 - sources/doc/fpdf/tutorial/tuto6.htm | 165 - sources/doc/fpdf/tutorial/tuto6.php | 124 - sources/doc/fpdf/tutorial/tuto7.htm | 303 - sources/doc/fpdf/tutorial/tuto7.php | 11 - sources/doc/heading.php | 25 - sources/doc/installation-window.odt | Bin 86143 -> 0 bytes sources/doc/installation-window.pdf | Bin 93866 -> 0 bytes sources/doc/manuel-fr.odt | Bin 106125 -> 0 bytes sources/doc/manuel-fr.pdf | Bin 474673 -> 0 bytes sources/doc/php.ini-minimum | 41 - sources/doc/tfpdf/HelloWorld.txt | 6 - sources/doc/tfpdf/README.txt | 15 - sources/doc/tfpdf/ex.pdf | Bin 17426 -> 0 bytes sources/doc/tfpdf/ex.php | 26 - sources/doc/tfpdf/info.htm | 32 - sources/doc/xmlwriter.php | 77 - sources/extra_files/app/.gitignore | 2 + sources/html/.cvsignore | 2 - sources/html/admin/setup.js | 30 - sources/html/admin/setup.php | 596 - .../admin/sql/account_repository/comment.sql | 4 - .../sql/account_repository/constraint.sql | 22 - .../admin/sql/account_repository/data.sql | 114 - .../admin/sql/account_repository/function.sql | 0 .../admin/sql/account_repository/index.sql | 2 - .../admin/sql/account_repository/make-sql | 21 - .../admin/sql/account_repository/schema.sql | 83 - .../admin/sql/account_repository/sequence.sql | 25 - .../admin/sql/account_repository/table.sql | 44 - .../admin/sql/account_repository/view.sql | 0 sources/html/admin/sql/make-sql | 6 - sources/html/admin/sql/mod1/comment.sql | 99 - sources/html/admin/sql/mod1/constraint.sql | 236 - sources/html/admin/sql/mod1/data.sql | 1491 -- sources/html/admin/sql/mod1/function.sql | 1193 - sources/html/admin/sql/mod1/index.sql | 15 - sources/html/admin/sql/mod1/make-sql | 23 - sources/html/admin/sql/mod1/schema.sql | 3740 ---- sources/html/admin/sql/mod1/sequence.sql | 481 - sources/html/admin/sql/mod1/table.sql | 499 - sources/html/admin/sql/mod1/view.sql | 12 - sources/html/admin/sql/mod2/data.sql | 1126 - sources/html/admin/sql/mod2/make-sql | 2 - sources/html/admin/sql/patch/ac-upgrade10.sql | 9 - sources/html/admin/sql/patch/ac-upgrade11.sql | 25 - sources/html/admin/sql/patch/ac-upgrade12.sql | 46 - sources/html/admin/sql/patch/ac-upgrade13.sql | 11 - sources/html/admin/sql/patch/ac-upgrade14.sql | 25 - sources/html/admin/sql/patch/ac-upgrade15.sql | 45 - sources/html/admin/sql/patch/ac-upgrade4.sql | 4 - sources/html/admin/sql/patch/ac-upgrade5.sql | 1 - sources/html/admin/sql/patch/ac-upgrade6.sql | 21 - sources/html/admin/sql/patch/ac-upgrade7.sql | 6 - sources/html/admin/sql/patch/ac-upgrade8.sql | 6 - sources/html/admin/sql/patch/ac-upgrade9.sql | 10 - sources/html/admin/sql/patch/downgrade7.sql | 29 - sources/html/admin/sql/patch/upgrade10.sql | 140 - sources/html/admin/sql/patch/upgrade100.sql | 27 - sources/html/admin/sql/patch/upgrade101.sql | 11 - sources/html/admin/sql/patch/upgrade102.sql | 499 - sources/html/admin/sql/patch/upgrade103.sql | 37 - sources/html/admin/sql/patch/upgrade104.sql | 105 - sources/html/admin/sql/patch/upgrade105.sql | 109 - sources/html/admin/sql/patch/upgrade106.sql | 69 - sources/html/admin/sql/patch/upgrade107.sql | 303 - sources/html/admin/sql/patch/upgrade108.sql | 265 - sources/html/admin/sql/patch/upgrade109.sql | 32 - sources/html/admin/sql/patch/upgrade11.sql | 126 - sources/html/admin/sql/patch/upgrade110.sql | 26 - sources/html/admin/sql/patch/upgrade111.sql | 38 - sources/html/admin/sql/patch/upgrade112.sql | 15 - sources/html/admin/sql/patch/upgrade113.sql | 7 - sources/html/admin/sql/patch/upgrade114.sql | 51 - sources/html/admin/sql/patch/upgrade115.sql | 9 - sources/html/admin/sql/patch/upgrade116.sql | 225 - sources/html/admin/sql/patch/upgrade117.sql | 184 - sources/html/admin/sql/patch/upgrade118.sql | 167 - sources/html/admin/sql/patch/upgrade119.sql | 5 - sources/html/admin/sql/patch/upgrade12.sql | 11 - sources/html/admin/sql/patch/upgrade120.sql | 280 - sources/html/admin/sql/patch/upgrade13.sql | 566 - sources/html/admin/sql/patch/upgrade14.sql | 45 - sources/html/admin/sql/patch/upgrade15.sql | 4 - sources/html/admin/sql/patch/upgrade16.sql | 25 - sources/html/admin/sql/patch/upgrade17.sql | 14 - sources/html/admin/sql/patch/upgrade18.sql | 5 - sources/html/admin/sql/patch/upgrade19.sql | 181 - sources/html/admin/sql/patch/upgrade20.sql | 125 - sources/html/admin/sql/patch/upgrade21.sql | 14 - sources/html/admin/sql/patch/upgrade22.sql | 88 - sources/html/admin/sql/patch/upgrade23.sql | 40 - sources/html/admin/sql/patch/upgrade24.sql | 7 - sources/html/admin/sql/patch/upgrade25.sql | 67 - sources/html/admin/sql/patch/upgrade26.sql | 94 - sources/html/admin/sql/patch/upgrade27.sql | 8 - sources/html/admin/sql/patch/upgrade28.sql | 14 - sources/html/admin/sql/patch/upgrade29.sql | 31 - sources/html/admin/sql/patch/upgrade30.sql | 14 - sources/html/admin/sql/patch/upgrade31.sql | 613 - sources/html/admin/sql/patch/upgrade32.sql | 10 - sources/html/admin/sql/patch/upgrade33.sql | 6 - sources/html/admin/sql/patch/upgrade34.sql | 72 - sources/html/admin/sql/patch/upgrade35.sql | 45 - sources/html/admin/sql/patch/upgrade36.BE.sql | 44 - sources/html/admin/sql/patch/upgrade36.FR.sql | 45 - sources/html/admin/sql/patch/upgrade36.sql | 695 - sources/html/admin/sql/patch/upgrade37.sql | 43 - sources/html/admin/sql/patch/upgrade38.sql | 28 - sources/html/admin/sql/patch/upgrade39.sql | 41 - sources/html/admin/sql/patch/upgrade4.sql | 64 - sources/html/admin/sql/patch/upgrade40.sql | 49 - sources/html/admin/sql/patch/upgrade41.sql | 99 - sources/html/admin/sql/patch/upgrade42.sql | 12 - sources/html/admin/sql/patch/upgrade43.sql | 4 - sources/html/admin/sql/patch/upgrade44.sql | 57 - sources/html/admin/sql/patch/upgrade45.sql | 124 - sources/html/admin/sql/patch/upgrade46.sql | 3 - sources/html/admin/sql/patch/upgrade47.sql | 58 - sources/html/admin/sql/patch/upgrade48.sql | 71 - sources/html/admin/sql/patch/upgrade49.sql | 23 - sources/html/admin/sql/patch/upgrade5.sql | 97 - sources/html/admin/sql/patch/upgrade50.sql | 57 - sources/html/admin/sql/patch/upgrade51.sql | 4 - sources/html/admin/sql/patch/upgrade52.sql | 37 - sources/html/admin/sql/patch/upgrade53.sql | 52 - sources/html/admin/sql/patch/upgrade54.sql | 52 - sources/html/admin/sql/patch/upgrade55.sql | 6 - sources/html/admin/sql/patch/upgrade56.sql | 168 - sources/html/admin/sql/patch/upgrade57.sql | 43 - sources/html/admin/sql/patch/upgrade58.sql | 7 - sources/html/admin/sql/patch/upgrade59.sql | 414 - sources/html/admin/sql/patch/upgrade6.sql | 8 - sources/html/admin/sql/patch/upgrade60.sql | 40 - sources/html/admin/sql/patch/upgrade61.BE.sql | 13 - sources/html/admin/sql/patch/upgrade61.FR.sql | 90 - sources/html/admin/sql/patch/upgrade61.sql | 15 - sources/html/admin/sql/patch/upgrade62.sql | 9 - sources/html/admin/sql/patch/upgrade63.sql | 62 - sources/html/admin/sql/patch/upgrade64.sql | 67 - sources/html/admin/sql/patch/upgrade65.sql | 4 - sources/html/admin/sql/patch/upgrade66.sql | 134 - sources/html/admin/sql/patch/upgrade67.sql | 177 - sources/html/admin/sql/patch/upgrade68.sql | 86 - sources/html/admin/sql/patch/upgrade69.sql | 49 - sources/html/admin/sql/patch/upgrade7.sql | 135 - sources/html/admin/sql/patch/upgrade70.sql | 4 - sources/html/admin/sql/patch/upgrade71.sql | 8 - sources/html/admin/sql/patch/upgrade72.sql | 755 - sources/html/admin/sql/patch/upgrade73.sql | 33 - sources/html/admin/sql/patch/upgrade74.sql | 71 - sources/html/admin/sql/patch/upgrade75.sql | 156 - sources/html/admin/sql/patch/upgrade76.sql | 114 - sources/html/admin/sql/patch/upgrade77.sql | 4 - sources/html/admin/sql/patch/upgrade78.sql | 31 - sources/html/admin/sql/patch/upgrade79.sql | 32 - sources/html/admin/sql/patch/upgrade8.sql | 112 - sources/html/admin/sql/patch/upgrade80.sql | 4 - sources/html/admin/sql/patch/upgrade81.sql | 6 - sources/html/admin/sql/patch/upgrade82.sql | 11 - sources/html/admin/sql/patch/upgrade83.sql | 165 - sources/html/admin/sql/patch/upgrade84.sql | 87 - sources/html/admin/sql/patch/upgrade85.sql | 76 - sources/html/admin/sql/patch/upgrade86.sql | 181 - sources/html/admin/sql/patch/upgrade87.sql | 15 - sources/html/admin/sql/patch/upgrade88.sql | 44 - sources/html/admin/sql/patch/upgrade89.sql | 105 - sources/html/admin/sql/patch/upgrade9.sql | 303 - sources/html/admin/sql/patch/upgrade90.sql | 504 - sources/html/admin/sql/patch/upgrade91.sql | 213 - sources/html/admin/sql/patch/upgrade92.sql | 14 - sources/html/admin/sql/patch/upgrade93.sql | 126 - sources/html/admin/sql/patch/upgrade94.sql | 93 - sources/html/admin/sql/patch/upgrade95.sql | 147 - sources/html/admin/sql/patch/upgrade96.sql | 7 - sources/html/admin/sql/patch/upgrade97.sql | 965 - sources/html/admin/sql/patch/upgrade98.sql | 13 - sources/html/admin/sql/patch/upgrade99.sql | 45 - sources/html/admin/template_config_form.php | 82 - sources/html/admin_repo.php | 95 - sources/html/ajax.php | 71 - sources/html/ajax_card.php | 585 - sources/html/ajax_history.php | 222 - sources/html/ajax_ledger.php | 599 - sources/html/ajax_misc.php | 749 - sources/html/ajax_poste.php | 206 - sources/html/ajax_todo_list.php | 291 - sources/html/backup.php | 99 - sources/html/calendar-blue.css | 233 - sources/html/compute.php | 88 - sources/html/direct.php | 44 - sources/html/do.php | 281 - sources/html/document/fr_be/bnb.form | 198 - sources/html/document/fr_be/bnb.rtf | 488 - .../fr_fr/fr_plan_abrege_perso_bil10000.form | 180 - .../fr_fr/fr_plan_abrege_perso_bil10000.ods | Bin 20884 -> 0 bytes .../fr_fr/fr_plan_abrege_perso_cr1000.form | 142 - .../fr_fr/fr_plan_abrege_perso_cr1000.rtf | 260 - sources/html/export.php | 56 - sources/html/extension.raw.php | 60 - sources/html/favicon.ico | Bin 3758 -> 0 bytes sources/html/fid.php | 155 - sources/html/fid_card.php | 172 - sources/html/image/OpenSansRegular.eot | Bin 217534 -> 0 bytes sources/html/image/OpenSansRegular.ttf | Bin 217360 -> 0 bytes sources/html/image/OpenSansRegular.woff | Bin 109000 -> 0 bytes sources/html/image/bg-submit2.gif | Bin 1213 -> 0 bytes sources/html/image/bg-submit3.gif | Bin 982 -> 0 bytes sources/html/image/bg-submit4.gif | Bin 2454 -> 0 bytes sources/html/image/bg-submit4.png | Bin 217 -> 0 bytes sources/html/image/bg-submit5.png | Bin 877 -> 0 bytes sources/html/image/bgcolor.gif | Bin 148 -> 0 bytes sources/html/image/blackdot.gif | Bin 807 -> 0 bytes sources/html/image/bold.gif | Bin 81 -> 0 bytes sources/html/image/centre.gif | Bin 76 -> 0 bytes sources/html/image/chrome_logo_2x.png | Bin 3920 -> 0 bytes sources/html/image/copy.gif | Bin 118 -> 0 bytes sources/html/image/cut.gif | Bin 100 -> 0 bytes sources/html/image/documents.png | Bin 11918 -> 0 bytes sources/html/image/down.gif | Bin 74 -> 0 bytes sources/html/image/email.gif | Bin 374 -> 0 bytes sources/html/image/empty.gif | Bin 58 -> 0 bytes sources/html/image/go-next.png | Bin 484 -> 0 bytes sources/html/image/go-previous.png | Bin 450 -> 0 bytes sources/html/image/header-firefox.png | Bin 12696 -> 0 bytes sources/html/image/home.png | Bin 32783 -> 0 bytes sources/html/image/hr.gif | Bin 77 -> 0 bytes sources/html/image/hyperlink.gif | Bin 196 -> 0 bytes sources/html/image/image.gif | Bin 203 -> 0 bytes sources/html/image/indent.gif | Bin 96 -> 0 bytes sources/html/image/insert_table.gif | Bin 923 -> 0 bytes sources/html/image/italic.gif | Bin 84 -> 0 bytes sources/html/image/justifyfull.gif | Bin 76 -> 0 bytes sources/html/image/left_just.gif | Bin 76 -> 0 bytes sources/html/image/list.gif | Bin 88 -> 0 bytes sources/html/image/load.gif | Bin 563 -> 0 bytes sources/html/image/loading.gif | Bin 10819 -> 0 bytes sources/html/image/logo6720.png | Bin 17594 -> 0 bytes sources/html/image/logo6820.png | Bin 94032 -> 0 bytes sources/html/image/logo7.png | Bin 17594 -> 0 bytes sources/html/image/logout.png | Bin 33054 -> 0 bytes sources/html/image/magnifier13.png | Bin 469 -> 0 bytes sources/html/image/numbered_list.gif | Bin 90 -> 0 bytes sources/html/image/orange_flower.gif | Bin 319562 -> 0 bytes sources/html/image/outdent.gif | Bin 96 -> 0 bytes sources/html/image/param.png | Bin 32742 -> 0 bytes sources/html/image/paste.gif | Bin 152 -> 0 bytes sources/html/image/preference.png | Bin 30931 -> 0 bytes sources/html/image/print.png | Bin 8061 -> 0 bytes sources/html/image/redo.gif | Bin 88 -> 0 bytes sources/html/image/right_just.gif | Bin 76 -> 0 bytes sources/html/image/search.png | Bin 4545 -> 0 bytes sources/html/image/select1.gif | Bin 74 -> 0 bytes sources/html/image/select2.gif | Bin 74 -> 0 bytes sources/html/image/smiley.gif | Bin 310 -> 0 bytes sources/html/image/spellcheck.gif | Bin 107 -> 0 bytes sources/html/image/spirale2.gif | Bin 162454 -> 0 bytes sources/html/image/textcolor.gif | Bin 109 -> 0 bytes sources/html/image/undefined.png | Bin 16139 -> 0 bytes sources/html/image/underline.gif | Bin 93 -> 0 bytes sources/html/image/undo.gif | Bin 89 -> 0 bytes sources/html/image/up.gif | Bin 74 -> 0 bytes sources/html/image/x-office-calendar.png | Bin 904 -> 0 bytes sources/html/index.html | 1 - sources/html/index.php | 332 - sources/html/js/acc_ledger.js | 1156 - sources/html/js/accounting_item.js | 377 - sources/html/js/admin.js | 193 - sources/html/js/ajax_fiche.js | 252 - sources/html/js/anc_script.js | 546 - sources/html/js/builder.js | 136 - sources/html/js/calc.js | 81 - sources/html/js/calendar-setup.js | 200 - sources/html/js/calendar.js | 1810 -- sources/html/js/card.js | 910 - sources/html/js/compute.js | 99 - sources/html/js/compute_direct.js | 96 - sources/html/js/controls.js | 966 - sources/html/js/dragdrop.js | 974 - sources/html/js/effects.js | 1123 - sources/html/js/forecast.js | 25 - sources/html/js/gestion.js | 389 - sources/html/js/infobulle.js | 98 - sources/html/js/jcalendar.js | 3 - sources/html/js/lang/calendar-af.js | 39 - sources/html/js/lang/calendar-al.js | 100 - sources/html/js/lang/calendar-bg.js | 124 - sources/html/js/lang/calendar-big5-utf8.js | 123 - sources/html/js/lang/calendar-big5.js | 123 - sources/html/js/lang/calendar-br.js | 108 - sources/html/js/lang/calendar-ca.js | 123 - sources/html/js/lang/calendar-cs-utf8.js | 65 - sources/html/js/lang/calendar-cs-win.js | 65 - sources/html/js/lang/calendar-da.js | 123 - sources/html/js/lang/calendar-de.js | 124 - sources/html/js/lang/calendar-du.js | 45 - sources/html/js/lang/calendar-el.js | 89 - sources/html/js/lang/calendar-en.js | 127 - sources/html/js/lang/calendar-es.js | 129 - sources/html/js/lang/calendar-fi.js | 98 - sources/html/js/lang/calendar-fr.js | 125 - sources/html/js/lang/calendar-he-utf8.js | 123 - sources/html/js/lang/calendar-hr-utf8.js | 49 - sources/html/js/lang/calendar-hr.js | Bin 3088 -> 0 bytes sources/html/js/lang/calendar-hu.js | 124 - sources/html/js/lang/calendar-it.js | 124 - sources/html/js/lang/calendar-jp.js | 45 - sources/html/js/lang/calendar-ko-utf8.js | 120 - sources/html/js/lang/calendar-ko.js | 120 - sources/html/js/lang/calendar-lt-utf8.js | 114 - sources/html/js/lang/calendar-lt.js | 114 - sources/html/js/lang/calendar-lv.js | 123 - sources/html/js/lang/calendar-nl.js | 73 - sources/html/js/lang/calendar-no.js | 114 - sources/html/js/lang/calendar-pl-utf8.js | 93 - sources/html/js/lang/calendar-pl.js | 56 - sources/html/js/lang/calendar-pt.js | 123 - sources/html/js/lang/calendar-ro.js | 66 - sources/html/js/lang/calendar-ru.js | 123 - sources/html/js/lang/calendar-ru_win_.js | 123 - sources/html/js/lang/calendar-si.js | 94 - sources/html/js/lang/calendar-sk.js | 99 - sources/html/js/lang/calendar-sp.js | 110 - sources/html/js/lang/calendar-sv.js | 93 - sources/html/js/lang/calendar-tr.js | 58 - sources/html/js/lang/calendar-zh.js | 119 - sources/html/js/lang/cn_utf8.js | 123 - sources/html/js/modele_document.js | 89 - sources/html/js/nicEdit.js | 112 - sources/html/js/nicEditorIcons.gif | Bin 3550 -> 0 bytes sources/html/js/prototype.js | 7510 ------- sources/html/js/scriptaculous.js | 68 - sources/html/js/scripts.js | 2932 --- sources/html/js/slider.js | 275 - sources/html/js/smoke.js | 519 - sources/html/js/sorttable.js | 516 - sources/html/js/sound.js | 59 - sources/html/js/todo_list.js | 274 - sources/html/js/unittest.js | 568 - .../html/lang/en_US/LC_MESSAGES/messages.mo | Bin 125587 -> 0 bytes .../html/lang/en_US/LC_MESSAGES/messages.po | 11855 ---------- sources/html/lang/messages.po | 11288 ---------- .../html/lang/nl_NL/LC_MESSAGES/messages.mo | Bin 104456 -> 0 bytes .../html/lang/nl_NL/LC_MESSAGES/messages.po | 11802 ---------- sources/html/login.php | 103 - sources/html/logout.php | 34 - sources/html/menuarrow.gif | Bin 68 -> 0 bytes sources/html/not_implemented.php | 24 - sources/html/palette.htm | 126 - sources/html/popup.php | 89 - sources/html/recherche.php | 117 - sources/html/securimage/AHGBold.ttf | Bin 144556 -> 0 bytes sources/html/securimage/LICENSE.txt | 458 - sources/html/securimage/README.FONT.txt | 12 - sources/html/securimage/README.txt | 88 - sources/html/securimage/backgrounds/bg3.jpg | Bin 15854 -> 0 bytes sources/html/securimage/backgrounds/bg4.jpg | Bin 16438 -> 0 bytes sources/html/securimage/backgrounds/bg5.jpg | Bin 48746 -> 0 bytes sources/html/securimage/backgrounds/bg6.png | Bin 42880 -> 0 bytes sources/html/securimage/backgrounds/bg7.jpg | Bin 13841 -> 0 bytes sources/html/securimage/database/.htaccess | 1 - sources/html/securimage/database/index.html | 1 - .../securimage/database/securimage.sqlite | Bin 30720 -> 0 bytes sources/html/securimage/example_form.php | 71 - sources/html/securimage/gdfonts/automatic.gdf | Bin 61196 -> 0 bytes sources/html/securimage/images/audio_icon.gif | Bin 621 -> 0 bytes sources/html/securimage/images/refresh.gif | Bin 865 -> 0 bytes sources/html/securimage/securimage.php | 1584 -- sources/html/securimage/securimage_play.php | 43 - sources/html/securimage/securimage_play.swf | Bin 3102 -> 0 bytes sources/html/securimage/securimage_show.php | 57 - .../securimage/securimage_show_example.php | 64 - .../securimage/securimage_show_example2.php | 55 - sources/html/securimage/words/words.txt | 15621 ------------- sources/html/show_document.php | 114 - sources/html/show_document_modele.php | 70 - sources/html/show_pj.php | 107 - sources/html/style-classic.css | 2105 -- sources/html/style-light.css | 2092 -- sources/html/style-mandarine.css | 2086 -- sources/html/style-mobile.css | 2036 -- sources/html/style-print.css | 296 - sources/html/style-test.css | 74 - sources/html/test.php | 187 - sources/html/tmp/.htaccess | 2 - sources/html/user_login.php | 187 - sources/include/ac_common.php | 1254 -- sources/include/action.common.inc.php | 330 - sources/include/action.inc.php | 60 - sources/include/adm.inc.php | 161 - sources/include/ajax_account_update.php | 213 - .../include/ajax_action_remove_concerned.php | 45 - .../include/ajax_action_save_concerned.php | 47 - sources/include/ajax_add_concerned_card.php | 83 - sources/include/ajax_add_menu.php | 212 - sources/include/ajax_admin.php | 305 - sources/include/ajax_anc_key_choice.php | 53 - sources/include/ajax_anc_key_compute.php | 61 - sources/include/ajax_anc_search.php | 98 - sources/include/ajax_auto_anc_card.php | 31 - sources/include/ajax_bank_saldo.php | 75 - sources/include/ajax_bookmark.php | 117 - sources/include/ajax_boxcard_search.php | 103 - sources/include/ajax_calendar_zoom.php | 46 - sources/include/ajax_create_menu.php | 15 - sources/include/ajax_display_submenu.php | 98 - sources/include/ajax_fiche_def_detail.php | 47 - sources/include/ajax_gestion.php | 129 - sources/include/ajax_get_menu_detail.php | 81 - sources/include/ajax_get_profile.php | 137 - sources/include/ajax_get_receipt.php | 65 - sources/include/ajax_ledger_show.php | 35 - sources/include/ajax_min_row.php | 48 - sources/include/ajax_mod_document.php | 52 - sources/include/ajax_mod_menu.php | 17 - sources/include/ajax_mod_periode.php | 104 - sources/include/ajax_mod_predf_op.php | 76 - sources/include/ajax_mod_stock_repo.php | 80 - sources/include/ajax_navigator.php | 116 - sources/include/ajax_pcmn_update.php | 95 - sources/include/ajax_plugin_detail.php | 64 - sources/include/ajax_preference.php | 195 - sources/include/ajax_remove_submenu.php | 30 - sources/include/ajax_save_predf_op.php | 58 - sources/include/ajax_search_action.php | 34 - sources/include/ajax_search_add_tag.php | 45 - sources/include/ajax_search_clear_tag.php | 38 - sources/include/ajax_search_display_tag.php | 40 - sources/include/ajax_tag_add_action.php | 44 - sources/include/ajax_tag_detail.php | 51 - sources/include/ajax_tag_list.php | 45 - sources/include/ajax_tag_remove_action.php | 44 - sources/include/ajax_tag_save.php | 11 - sources/include/ajax_tag_select_search.php | 40 - sources/include/ajax_update_payment.php | 32 - sources/include/ajax_update_predef.php | 69 - sources/include/ajax_view_action.php | 75 - sources/include/ajax_view_mod_stock.php | 58 - sources/include/anc_acc_balance.inc.php | 21 - sources/include/anc_acc_table.inc.php | 19 - sources/include/anc_balance_double.inc.php | 28 - sources/include/anc_balance_simple.inc.php | 27 - sources/include/anc_great_ledger.inc.php | 52 - sources/include/anc_group.inc.php | 90 - sources/include/anc_group_balance.inc.php | 20 - sources/include/anc_history.inc.php | 36 - sources/include/anc_key.inc.php | 72 - sources/include/anc_od.inc.php | 161 - sources/include/anc_pa.inc.php | 317 - sources/include/audit_log.php | 86 - sources/include/balance.inc.php | 397 - sources/include/balance_age.inc.php | 79 - sources/include/balance_card.inc.php | 76 - sources/include/balance_card_ageing.inc.php | 58 - sources/include/bank.inc.php | 158 - sources/include/calendar.inc.php | 19 - sources/include/card_attr.inc.php | 164 - sources/include/cat_document.inc.php | 60 - sources/include/category_card.inc.php | 169 - sources/include/category_detail.inc.php | 76 - sources/include/category_followup.inc.php | 51 - sources/include/category_operation.inc.php | 41 - sources/include/cfgfiche.inc.php | 150 - sources/include/cfgledger.inc.php | 161 - sources/include/cfgplugin.inc.php | 166 - sources/include/cfgtags.inc.php | 59 - sources/include/class_acc_account.php | 233 - sources/include/class_acc_account_ledger.php | 657 - sources/include/class_acc_balance.php | 284 - sources/include/class_acc_bilan.php | 729 - sources/include/class_acc_compute.php | 350 - sources/include/class_acc_ledger.php | 3958 ---- sources/include/class_acc_ledger_fin.php | 1143 - sources/include/class_acc_ledger_info.php | 216 - sources/include/class_acc_ledger_purchase.php | 1790 -- sources/include/class_acc_ledger_sold.php | 1374 -- sources/include/class_acc_operation.php | 716 - sources/include/class_acc_parm_code.php | 182 - sources/include/class_acc_payment.php | 406 - sources/include/class_acc_reconciliation.php | 532 - sources/include/class_acc_report.php | 456 - sources/include/class_acc_report_row.php | 122 - sources/include/class_acc_tva.php | 202 - sources/include/class_admin.php | 58 - sources/include/class_anc_acc_link.php | 61 - sources/include/class_anc_acc_list.php | 545 - sources/include/class_anc_account.php | 349 - sources/include/class_anc_balance_double.php | 579 - sources/include/class_anc_balance_simple.php | 311 - sources/include/class_anc_grandlivre.php | 309 - sources/include/class_anc_group.php | 260 - sources/include/class_anc_group_operation.php | 278 - sources/include/class_anc_key.php | 354 - sources/include/class_anc_key_sql.php | 159 - sources/include/class_anc_listing.php | 216 - sources/include/class_anc_operation.php | 964 - sources/include/class_anc_plan.php | 248 - sources/include/class_anc_print.php | 224 - sources/include/class_anc_table.php | 329 - sources/include/class_anticipation.php | 452 - sources/include/class_balance_age.php | 240 - sources/include/class_bank.php | 58 - sources/include/class_calendar.php | 341 - sources/include/class_contact.php | 143 - sources/include/class_customer.php | 187 - sources/include/class_database.php | 1051 - sources/include/class_default_menu.php | 153 - sources/include/class_default_menu_sql.php | 57 - sources/include/class_document.php | 1285 -- sources/include/class_document_export.php | 215 - sources/include/class_document_modele.php | 364 - sources/include/class_document_type.php | 137 - sources/include/class_dossier.php | 314 - sources/include/class_exercice.php | 77 - sources/include/class_extension.php | 309 - sources/include/class_fiche.php | 1992 -- sources/include/class_fiche_attr.php | 284 - sources/include/class_fiche_def.php | 816 - sources/include/class_fiche_def_ref.php | 153 - sources/include/class_filetosend.php | 98 - sources/include/class_follow_up.php | 1840 -- sources/include/class_follow_up_detail.php | 248 - sources/include/class_forecast.php | 168 - sources/include/class_forecast_cat.php | 172 - sources/include/class_forecast_item.php | 165 - sources/include/class_gestion_purchase.php | 128 - sources/include/class_gestion_sold.php | 115 - sources/include/class_gestion_table.php | 37 - sources/include/class_html_input.php | 929 - sources/include/class_html_table.php | 154 - sources/include/class_iaction.php | 61 - sources/include/class_ianccard.php | 200 - sources/include/class_ibutton.php | 118 - sources/include/class_icard.php | 394 - sources/include/class_icheckbox.php | 74 - sources/include/class_iconcerned.php | 80 - sources/include/class_idate.php | 71 - sources/include/class_ifile.php | 46 - sources/include/class_ihidden.php | 42 - sources/include/class_impress.php | 293 - sources/include/class_inum.php | 111 - sources/include/class_iperiod.php | 171 - sources/include/class_ipopup.php | 191 - sources/include/class_iposte.php | 203 - sources/include/class_iradio.php | 73 - sources/include/class_irelated_action.php | 73 - sources/include/class_iselect.php | 76 - sources/include/class_ispan.php | 53 - sources/include/class_itext.php | 98 - sources/include/class_itextarea.php | 61 - sources/include/class_itva_popup.php | 177 - sources/include/class_jrn_def_sql.php | 408 - sources/include/class_lettering.php | 760 - sources/include/class_manager.php | 62 - sources/include/class_menu_ref.php | 59 - sources/include/class_menu_ref_sql.php | 66 - sources/include/class_noalyss_sql.php | 333 - sources/include/class_own.php | 131 - sources/include/class_pdf.php | 269 - sources/include/class_periode.php | 575 - sources/include/class_pre_op_ach.php | 394 - sources/include/class_pre_op_advanced.php | 289 - sources/include/class_pre_op_fin.php | 135 - sources/include/class_pre_op_ods.php | 122 - sources/include/class_pre_op_ven.php | 387 - sources/include/class_pre_operation.php | 332 - sources/include/class_print_ledger.php | 130 - sources/include/class_print_ledger_detail.php | 148 - .../class_print_ledger_detail_item.php | 174 - sources/include/class_print_ledger_fin.php | 119 - sources/include/class_print_ledger_misc.php | 97 - sources/include/class_print_ledger_simple.php | 277 - .../class_print_ledger_simple_without_vat.php | 185 - sources/include/class_profile_menu.php | 280 - sources/include/class_profile_menu_sql.php | 76 - sources/include/class_profile_sql.php | 72 - sources/include/class_sendmail.php | 160 - sources/include/class_sort_table.php | 104 - sources/include/class_stock.php | 342 - sources/include/class_stock_goods.php | 272 - sources/include/class_stock_goods_sql.php | 120 - sources/include/class_stock_sql.php | 63 - sources/include/class_supplier.php | 78 - sources/include/class_tag.php | 115 - sources/include/class_tag_sql.php | 54 - sources/include/class_todo_list.php | 415 - sources/include/class_tool_uos.php | 107 - sources/include/class_user.php | 1226 -- sources/include/class_zip_extended.php | 73 - sources/include/company.inc.php | 149 - sources/include/compta_ach.inc.php | 306 - sources/include/compta_fin.inc.php | 164 - sources/include/compta_fin_rec.inc.php | 218 - sources/include/compta_fin_saldo.inc.php | 127 - sources/include/compta_ods.inc.php | 145 - sources/include/compta_ven.inc.php | 341 - sources/include/config.inc | 63 - sources/include/config_file.php | 192 - sources/include/constant.php | 272 - sources/include/constant.security.php | 33 - sources/include/contact.inc.php | 158 - sources/include/customer.inc.php | 158 - sources/include/dashboard.inc.php | 49 - sources/include/database.item.php | 216 - sources/include/default_menu.inc.php | 47 - sources/include/doc_state.inc.php | 72 - sources/include/document_modele.inc.php | 84 - sources/include/dossier.inc.php | 407 - sources/include/export_anc_acc_list_csv.php | 36 - .../include/export_anc_balance_double_csv.php | 40 - .../include/export_anc_balance_double_pdf.php | 37 - .../include/export_anc_balance_group_csv.php | 35 - .../include/export_anc_balance_simple_csv.php | 36 - .../include/export_anc_balance_simple_pdf.php | 35 - sources/include/export_anc_grandlivre_csv.php | 37 - sources/include/export_anc_list_csv.php | 37 - sources/include/export_anc_receipt_pdf.php | 40 - sources/include/export_anc_table_csv.php | 34 - sources/include/export_balance_age_csv.php | 88 - sources/include/export_balance_csv.php | 103 - sources/include/export_balance_pdf.php | 284 - sources/include/export_bilan_oth.php | 61 - sources/include/export_fiche_balance_csv.php | 200 - sources/include/export_fiche_balance_pdf.php | 317 - sources/include/export_fiche_csv.php | 89 - sources/include/export_fiche_detail_csv.php | 163 - sources/include/export_fiche_detail_pdf.php | 231 - sources/include/export_fiche_pdf.php | 232 - sources/include/export_follow_up_csv.php | 42 - sources/include/export_form_csv.php | 105 - sources/include/export_form_pdf.php | 130 - sources/include/export_gl_csv.php | 214 - sources/include/export_gl_pdf.php | 239 - sources/include/export_histo_csv.php | 75 - sources/include/export_ledger_csv.php | 284 - sources/include/export_ledger_pdf.php | 79 - sources/include/export_poste_detail_csv.php | 194 - sources/include/export_poste_detail_pdf.php | 241 - sources/include/export_rec_csv.php | 39 - sources/include/export_reportinit_csv.php | 56 - sources/include/export_security_pdf.php | 178 - sources/include/export_stock_histo_csv.php | 63 - sources/include/export_stock_resume_list.php | 91 - sources/include/ext/dummy/dummy.php | 104 - sources/include/extension_choice.inc.php | 60 - sources/include/extension_get.inc.php | 45 - sources/include/fiche.inc.php | 601 - sources/include/fiche_def.inc.php | 87 - sources/include/forecast.inc.php | 396 - sources/include/function_javascript.php | 2786 --- sources/include/header_print.php | 44 - sources/include/history_operation.inc.php | 156 - sources/include/impress_bilan.inc.php | 103 - sources/include/impress_gl_comptes.inc.php | 282 - sources/include/impress_jrn.inc.php | 407 - sources/include/impress_poste.inc.php | 306 - sources/include/impress_rapport.inc.php | 293 - sources/include/impress_rec.inc.php | 103 - sources/include/lettering.account.inc.php | 144 - sources/include/lettering.card.inc.php | 139 - sources/include/lettering.gestion.inc.php | 98 - sources/include/manager.inc.php | 162 - sources/include/menu.inc.php | 192 - sources/include/modele.inc.php | 391 - sources/include/opening.inc.php | 264 - sources/include/operation_ods_confirm.inc.php | 82 - sources/include/operation_ods_new.inc.php | 117 - sources/include/param_pcmn.inc.php | 172 - sources/include/param_sec.inc.php | 321 - sources/include/payment_middle.inc.php | 150 - sources/include/periode.inc.php | 147 - sources/include/poste.inc.php | 89 - sources/include/preod.inc.php | 122 - sources/include/profile.inc.php | 422 - sources/include/recover.php | 157 - sources/include/report.inc.php | 156 - sources/include/restore.inc.php | 241 - sources/include/search.inc.php | 136 - sources/include/stock_cfg.inc.php | 167 - sources/include/stock_histo.inc.php | 48 - sources/include/stock_inv.inc.php | 55 - sources/include/stock_inv_histo.inc.php | 111 - sources/include/stock_state.inc.php | 57 - sources/include/supplier.inc.php | 163 - sources/include/template/account_result.php | 63 - sources/include/template/account_search.php | 7 - sources/include/template/action_button.php | 44 - .../include/template/action_display_short.php | 113 - .../include/template/action_other_action.php | 69 - sources/include/template/action_search.php | 146 - .../include/template/action_search_result.php | 89 - sources/include/template/action_show.php | 57 - .../include/template/anc_balance_group.php | 80 - .../template/anc_key_display_choice.php | 47 - .../include/template/anc_key_display_list.php | 59 - sources/include/template/anc_key_input.php | 212 - .../include/template/balance_aged_result.php | 195 - sources/include/template/calendar-list.php | 73 - sources/include/template/calendar.php | 59 - sources/include/template/card_result.php | 40 - sources/include/template/category_of_card.php | 49 - sources/include/template/dashboard.php | 362 - sources/include/template/detail-action.php | 509 - .../include/template/document_mod_change.php | 87 - sources/include/template/fiche_def_input.php | 41 - sources/include/template/fiche_def_list.php | 89 - sources/include/template/fiche_list.php | 104 - sources/include/template/folder_display.php | 67 - sources/include/template/forecast-detail.php | 34 - sources/include/template/forecast_cat.php | 30 - sources/include/template/forecast_result.php | 203 - .../include/template/form_ledger_detail.php | 134 - sources/include/template/form_ledger_fin.php | 71 - sources/include/template/history_top.php | 15 - sources/include/template/impress_cat_card.php | 25 - .../template/impress_reconciliation.php | 67 - .../impress_reconciliation_detail.php | 104 - .../include/template/ledger_detail_ach.php | 255 - .../include/template/ledger_detail_bottom.php | 334 - .../include/template/ledger_detail_file.php | 16 - .../include/template/ledger_detail_fin.php | 146 - .../template/ledger_detail_forbidden.php | 6 - .../include/template/ledger_detail_misc.php | 192 - .../include/template/ledger_detail_top.php | 30 - .../include/template/ledger_detail_ven.php | 256 - sources/include/template/ledger_search.php | 83 - sources/include/template/letter_all.php | 118 - sources/include/template/letter_prop.php | 165 - .../template/list_category_document.php | 49 - sources/include/template/list_mod_payment.php | 86 - sources/include/template/menu.php | 89 - sources/include/template/menu_detail.php | 89 - sources/include/template/modele_document.php | 121 - sources/include/template/module.php | 99 - sources/include/template/new_mod_payment.php | 55 - .../include/template/operation_detail_ach.php | 126 - .../include/template/operation_detail_fin.php | 50 - .../template/operation_detail_misc.php | 86 - .../include/template/operation_detail_ven.php | 109 - sources/include/template/param_jrn.php | 390 - sources/include/template/pcmn_update.php | 55 - .../include/template/periode_add_exercice.php | 26 - .../include/template/predf_ledger_detail.php | 84 - .../include/template/print_ledger_simple.php | 151 - sources/include/template/profile.php | 48 - sources/include/template/profile_menu.php | 30 - .../template/profile_menu_display_module.php | 103 - .../template/profile_menu_display_submenu.php | 79 - .../template/profile_sec_repository.php | 60 - .../template/result_cat_card_summary.php | 69 - .../include/template/security_list_action.php | 74 - sources/include/template/stock_histo.php | 87 - .../include/template/stock_histo_search.php | 71 - sources/include/template/stock_inv.php | 134 - .../include/template/stock_state_search.php | 51 - .../include/template/stock_summary_list.php | 105 - .../include/template/stock_summary_table.php | 136 - sources/include/template/tag_choose.php | 47 - sources/include/template/tag_detail.php | 29 - sources/include/template/tag_list.php | 39 - .../include/template/tag_search_select.php | 43 - sources/include/template/tag_select.php | 44 - sources/include/template/template.gif | Bin 6626 -> 0 bytes .../include/template/todo_list_display.php | 106 - .../include/template/todo_list_list_user.php | 78 - sources/include/template/user_sec_profile.php | 59 - sources/include/tfpdf/font/courier.php | 8 - sources/include/tfpdf/font/courierb.php | 8 - sources/include/tfpdf/font/courierbi.php | 8 - sources/include/tfpdf/font/courieri.php | 8 - sources/include/tfpdf/font/helvetica.php | 19 - sources/include/tfpdf/font/helveticab.php | 19 - sources/include/tfpdf/font/helveticabi.php | 19 - sources/include/tfpdf/font/helveticai.php | 19 - sources/include/tfpdf/font/symbol.php | 19 - sources/include/tfpdf/font/times.php | 19 - sources/include/tfpdf/font/timesb.php | 19 - sources/include/tfpdf/font/timesbi.php | 19 - sources/include/tfpdf/font/timesi.php | 19 - .../tfpdf/font/unifont/DejaVuSans-Bold.ttf | Bin 672300 -> 0 bytes .../font/unifont/DejaVuSans-BoldOblique.ttf | Bin 611212 -> 0 bytes .../font/unifont/DejaVuSans-ExtraLight.ttf | Bin 345208 -> 0 bytes .../tfpdf/font/unifont/DejaVuSans-Oblique.ttf | Bin 611556 -> 0 bytes .../include/tfpdf/font/unifont/DejaVuSans.ttf | Bin 720012 -> 0 bytes .../font/unifont/DejaVuSansCondensed-Bold.ttf | Bin 631992 -> 0 bytes .../DejaVuSansCondensed-BoldOblique.ttf | Bin 580168 -> 0 bytes .../unifont/DejaVuSansCondensed-Oblique.ttf | Bin 576004 -> 0 bytes .../font/unifont/DejaVuSansCondensed.ttf | Bin 643852 -> 0 bytes .../font/unifont/DejaVuSansMono-Bold.ttf | Bin 313856 -> 0 bytes .../unifont/DejaVuSansMono-BoldOblique.ttf | Bin 235848 -> 0 bytes .../font/unifont/DejaVuSansMono-Oblique.ttf | Bin 241972 -> 0 bytes .../tfpdf/font/unifont/DejaVuSansMono.ttf | Bin 333636 -> 0 bytes .../tfpdf/font/unifont/DejaVuSerif-Bold.ttf | Bin 341072 -> 0 bytes .../font/unifont/DejaVuSerif-BoldItalic.ttf | Bin 332036 -> 0 bytes .../tfpdf/font/unifont/DejaVuSerif-Italic.ttf | Bin 338776 -> 0 bytes .../tfpdf/font/unifont/DejaVuSerif.ttf | Bin 363200 -> 0 bytes .../unifont/DejaVuSerifCondensed-Bold.ttf | Bin 316440 -> 0 bytes .../DejaVuSerifCondensed-BoldItalic.ttf | Bin 331128 -> 0 bytes .../unifont/DejaVuSerifCondensed-Italic.ttf | Bin 338140 -> 0 bytes .../font/unifont/DejaVuSerifCondensed.ttf | Bin 330012 -> 0 bytes .../tfpdf/font/unifont/DejaVu_LICENSE.txt | 99 - .../include/tfpdf/font/unifont/ttfonts.php | 1089 - sources/include/tfpdf/font/zapfdingbats.php | 19 - sources/include/tfpdf/tfpdf.php | 2302 -- sources/include/tva.inc.php | 341 - sources/include/user.inc.php | 180 - sources/include/user_common.php | 248 - sources/include/user_detail.inc.php | 255 - sources/include/user_menu.php | 164 - sources/include/verif_bilan.inc.php | 213 - sources/license.txt | 138 - sources/patches/.gitignore | 2 + sources/scenario/ajax-add-card-category.php | 15 - sources/scenario/ajax-detail-operation1.php | 14 - sources/scenario/ajax-detail-operation2.php | 14 - sources/scenario/ajax-detail-operation3.php | 14 - sources/scenario/ajax-detail-operation4.php | 14 - sources/scenario/ajax-save-operation.php | 35 - sources/scenario/readme.txt | 36 - sources/scenario/scenario-1415994947.php | 17 - sources/scenario/scenario-1415994966.php | 17 - sources/scenario/scenario-1415995071.php | 12 - sources/scenario/scenario-1415995185.php | 43 - sources/scenario/scenario-1415995188.php | 40 - sources/scenario/scenario-1415995192.php | 12 - sources/scenario/scenario-1415995229.php | 34 - sources/scenario/scenario-1415995238.php | 34 - sources/scenario/scenario-1415995254.php | 35 - sources/scenario/scenario-1415995260.php | 14 - sources/scenario/scenario-1415995262.php | 106 - sources/scenario/scenario-1415995277.php | 108 - sources/scenario/scenario-1415995285.php | 11 - sources/scenario/scenario-1415995301.php | 14 - sources/scenario/scenario-1415995308.php | 33 - sources/scenario/scenario-1415995317.php | 12 - sources/scenario/scenario-1415995350.php | 54 - sources/scenario/scenario-1415995352.php | 50 - sources/scenario/scenario-1415995357.php | 12 - sources/scenario/scenario-1415995424.php | 12 - sources/scenario/scenario-1415995434.php | 19 - sources/scenario/scenario-1415995437.php | 13 - sources/scenario/scenario-1415995449.php | 20 - sources/scenario/scenario-1415995545.php | 12 - sources/scenario/scenario-1415995575.php | 32 - sources/scenario/scenario-1415996970.php | 44 - sources/scenario/scenario-1415996980.php | 35 - sources/scenario/scenario-1415997148.php | 12 - sources/scenario/scenario-1415997352.php | 44 - sources/scenario/scenario-1415997358.php | 35 - sources/scenario/scenario-1415997389.php | 12 - sources/scenario/scenario-1415997404.php | 67 - sources/scenario/scenario-1415997407.php | 38 - sources/scenario/scenario-1415997877.php | 12 - sources/scenario/scenario-1415997886.php | 12 - sources/scenario/scenario-1415997889.php | 12 - sources/scenario/scenario-1415998124.php | 13 - sources/scenario/scenario-1415998134.php | 13 - sources/scenario/scenario-1415998146.php | 13 - sources/scenario/scenario-1416078146.php | 14 - sources/scenario/scenario-ajax-add-card.php | 30 - sources/scenario/scenario-historic.php | 24 - sources/scenario/scenario-verif_bilan.php | 13 - sources/sql/ac_upgrade.sql | 12 - sources/sql/upgrade.sql | 274 - sources/unit-test/README | 23 - sources/unit-test/bootstrap.php.example | 154 - sources/unit-test/global.example.php | 33 - .../include/class_acc_accountTest.php | 144 - .../include/class_acc_account_ledgerTest.php | 290 - .../include/class_acc_balanceTest.php | 74 - .../unit-test/include/class_acc_bilanTest.php | 176 - .../include/class_acc_computeTest.php | 191 - .../include/class_acc_ledgerTest.php | 839 - .../include/class_acc_ledger_finTest.php | 138 - .../include/class_acc_ledger_purchaseTest.php | 127 - .../include/class_acc_ledger_soldTest.php | 128 - .../include/class_acc_parm_codeTest.php | 108 - .../include/class_anc_accountTest.php | 176 - .../include/class_anc_grandlivreTest.php | 116 - .../unit-test/include/class_anc_keyTest.php | 140 - .../include/class_anc_key_sqlTest.php | 43 - .../include/class_anc_operationTest.php | 224 - .../unit-test/include/class_databaseTest.php | 584 - .../include/class_default_menu_sqlTest.php | 32 - .../include/class_document_exportTest.php | 104 - sources/unit-test/include/class_ficheTest.php | 549 - .../unit-test/include/class_follow_upTest.php | 428 - .../include/class_follow_up_detailTest.php | 176 - .../include/class_html_inputTest.php | 644 - sources/unit-test/include/class_icardTest.php | 128 - .../include/class_menu_ref_sqlTest.php | 44 - .../include/class_profile_sqlTest.php | 32 - sources/unit-test/include/class_stockTest.php | 128 - .../include/class_stock_goods_sqlTest.php | 32 - .../unit-test/include/class_stock_sqlTest.php | 28 - sources/unit-test/include/class_tagTest.php | 152 - .../unit-test/include/class_tag_sqlTest.php | 32 - 1072 files changed, 1458 insertions(+), 257611 deletions(-) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 NOTES.md create mode 100644 README.md create mode 100644 README_fr.md create mode 100644 check_process.default create mode 100644 conf/app.src create mode 100644 scripts/_common.sh create mode 100644 scripts/_psql.sh create mode 100755 scripts/backup mode change 100644 => 100755 scripts/install mode change 100644 => 100755 scripts/remove create mode 100755 scripts/restore delete mode 100644 sources/AUTHORS delete mode 100644 sources/COPYING delete mode 100644 sources/README delete mode 100644 sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso.sql delete mode 100644 sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_bil10000.form delete mode 100644 sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_bil10000.ods delete mode 100644 sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_bil10000.xls delete mode 100644 sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_comptes-defaut.sql delete mode 100644 sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_cr1000.form delete mode 100644 sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_cr1000.odt delete mode 100644 sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_cr1000.rtf delete mode 100644 sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_tva.sql delete mode 100644 sources/contrib/comptabilite-francaise/abrege-strict/fr_plan_abrege.sql delete mode 100644 sources/contrib/comptabilite-francaise/abrege-strict/fr_plan_abrege_tva.sql delete mode 100644 sources/contrib/comptabilite-francaise/base-perso/fr_plan_base_perso.sql delete mode 100644 sources/contrib/comptabilite-francaise/base-perso/fr_plan_base_perso_comptes-defaut.sql delete mode 100644 sources/contrib/comptabilite-francaise/base-perso/fr_plan_base_perso_tva.sql delete mode 100644 sources/contrib/comptabilite-francaise/base-strict/fr_plan_base.sql delete mode 100644 sources/contrib/comptabilite-francaise/base-strict/fr_plan_base_tva.sql delete mode 100644 sources/contrib/comptabilite-francaise/copropriete/fr_plan_syndiccoprop.sql delete mode 100644 sources/contrib/comptabilite-francaise/developpe-perso/fr_plan_developpe_perso.sql delete mode 100644 sources/contrib/comptabilite-francaise/developpe-perso/fr_plan_developpe_perso_comptes-defaut.sql delete mode 100644 sources/contrib/comptabilite-francaise/developpe-perso/fr_plan_developpe_perso_tva.sql delete mode 100644 sources/contrib/comptabilite-francaise/developpe-strict/fr_plan_developpe.sql delete mode 100644 sources/contrib/comptabilite-francaise/developpe-strict/fr_plan_developpe_tva.sql delete mode 100644 sources/contrib/comptabilite-francaise/lisez-moi.txt delete mode 100644 sources/contrib/comptabilite-francaise/loi-1901/fr_plan_loi1901.sql delete mode 100644 sources/contrib/comptabilite-francaise/loi-1901/fr_plan_loi1901_comptes-defaut.sql delete mode 100644 sources/contrib/comptabilite-francaise/loi-1901/fr_plan_loi1901_tva.sql delete mode 100644 sources/contrib/comptabilite-francaise/profession-liberale/fr_plan_proflib.sql delete mode 100644 sources/contrib/comptabilite-francaise/profession-liberale/fr_plan_proflib_comptes-defaut.sql delete mode 100644 sources/contrib/comptabilite-francaise/profession-liberale/fr_plan_proflib_tva.sql delete mode 100644 sources/contrib/document_test/all_tags.odt delete mode 100644 sources/contrib/document_test/facture-calc.ods delete mode 100644 sources/contrib/document_test/facture.html delete mode 100644 sources/contrib/document_test/facture.odt delete mode 100644 sources/contrib/document_test/facture1.rtf delete mode 100644 sources/contrib/document_test/logo.png delete mode 100644 sources/contrib/document_test/logo.svg delete mode 100644 sources/contrib/document_test/modele-facture.ods delete mode 100644 sources/contrib/document_test/note-de-frais.odt delete mode 100644 sources/contrib/document_test/rappel.odt delete mode 100644 sources/contrib/mono-dossier/mono-belge.sql delete mode 100644 sources/contrib/mono-dossier/mono-france.sql delete mode 100644 sources/contrib/mono-dossier/mono.sql delete mode 100644 sources/contrib/rapport/README delete mode 100644 sources/contrib/rapport/tva_decla.sql delete mode 100644 sources/contrib/rapport/tva_decla_fr_BE.sql delete mode 100755 sources/contrib/sql-utility/get-sql.sh delete mode 100755 sources/contrib/wiki-tools/transform.pl delete mode 100644 sources/dev/README delete mode 100755 sources/dev/compile_text.sh delete mode 100755 sources/dev/compose_list.sh delete mode 100644 sources/dev/create_changelog.sh delete mode 100644 sources/dev/extract_text.sh delete mode 100755 sources/dev/get_database_item.sh delete mode 100755 sources/dev/manage-code/create-file/create_config.py delete mode 100755 sources/dev/manage-code/create-file/create_phpclass.py delete mode 100755 sources/dev/manage-code/create-file/create_trigger.py delete mode 100644 sources/dev/manage-code/create-file/example delete mode 100755 sources/dev/manage-code/housekeeping/cleanup.sh delete mode 100755 sources/dev/manage-code/housekeeping/transform.py delete mode 100755 sources/dev/manage-code/housekeeping/usage_file.py delete mode 100755 sources/dev/manage-code/housekeeping/usage_function.py delete mode 100755 sources/dev/manage-code/security/without_check.py delete mode 100755 sources/dev/manage-code/widget/add_require.py delete mode 100755 sources/dev/manage-code/widget/change.py delete mode 100755 sources/dev/manage-code/widget/transform.py delete mode 100644 sources/dev/plugin_client.txt delete mode 100644 sources/dev/test-size/readme delete mode 100755 sources/dev/test-size/simul.py delete mode 100644 sources/dev/test_parse_formula.php delete mode 100644 sources/doc/Diagram5.dia delete mode 100644 sources/doc/Makefile delete mode 100644 sources/doc/Schemaabrege1.pdf delete mode 100644 sources/doc/commencer-avec-noalyss.odt delete mode 100644 sources/doc/commencer-avec-noalyss.pdf delete mode 100644 sources/doc/data.dia delete mode 100644 sources/doc/developper/Doxyfile delete mode 100755 sources/doc/developper/create_doc.sh delete mode 100644 sources/doc/developper/header.html delete mode 100644 sources/doc/developper/html/.htaccess delete mode 100644 sources/doc/document.dia delete mode 100644 sources/doc/document2.dia delete mode 100644 sources/doc/fiche.dia delete mode 100755 sources/doc/fpdf/FAQ.htm delete mode 100755 sources/doc/fpdf/doc/acceptpagebreak.htm delete mode 100755 sources/doc/fpdf/doc/addfont.htm delete mode 100755 sources/doc/fpdf/doc/addlink.htm delete mode 100755 sources/doc/fpdf/doc/addpage.htm delete mode 100755 sources/doc/fpdf/doc/aliasnbpages.htm delete mode 100755 sources/doc/fpdf/doc/cell.htm delete mode 100755 sources/doc/fpdf/doc/close.htm delete mode 100755 sources/doc/fpdf/doc/error.htm delete mode 100755 sources/doc/fpdf/doc/footer.htm delete mode 100755 sources/doc/fpdf/doc/fpdf.htm delete mode 100755 sources/doc/fpdf/doc/getstringwidth.htm delete mode 100755 sources/doc/fpdf/doc/getx.htm delete mode 100755 sources/doc/fpdf/doc/gety.htm delete mode 100755 sources/doc/fpdf/doc/header.htm delete mode 100755 sources/doc/fpdf/doc/image.htm delete mode 100755 sources/doc/fpdf/doc/index.htm delete mode 100755 sources/doc/fpdf/doc/line.htm delete mode 100755 sources/doc/fpdf/doc/link.htm delete mode 100755 sources/doc/fpdf/doc/ln.htm delete mode 100755 sources/doc/fpdf/doc/multicell.htm delete mode 100755 sources/doc/fpdf/doc/output.htm delete mode 100755 sources/doc/fpdf/doc/pageno.htm delete mode 100755 sources/doc/fpdf/doc/rect.htm delete mode 100755 sources/doc/fpdf/doc/setauthor.htm delete mode 100755 sources/doc/fpdf/doc/setautopagebreak.htm delete mode 100755 sources/doc/fpdf/doc/setcompression.htm delete mode 100755 sources/doc/fpdf/doc/setcreator.htm delete mode 100755 sources/doc/fpdf/doc/setdisplaymode.htm delete mode 100755 sources/doc/fpdf/doc/setdrawcolor.htm delete mode 100755 sources/doc/fpdf/doc/setfillcolor.htm delete mode 100755 sources/doc/fpdf/doc/setfont.htm delete mode 100755 sources/doc/fpdf/doc/setfontsize.htm delete mode 100755 sources/doc/fpdf/doc/setkeywords.htm delete mode 100755 sources/doc/fpdf/doc/setleftmargin.htm delete mode 100755 sources/doc/fpdf/doc/setlinewidth.htm delete mode 100755 sources/doc/fpdf/doc/setlink.htm delete mode 100755 sources/doc/fpdf/doc/setmargins.htm delete mode 100755 sources/doc/fpdf/doc/setrightmargin.htm delete mode 100755 sources/doc/fpdf/doc/setsubject.htm delete mode 100755 sources/doc/fpdf/doc/settextcolor.htm delete mode 100755 sources/doc/fpdf/doc/settitle.htm delete mode 100755 sources/doc/fpdf/doc/settopmargin.htm delete mode 100755 sources/doc/fpdf/doc/setx.htm delete mode 100755 sources/doc/fpdf/doc/setxy.htm delete mode 100755 sources/doc/fpdf/doc/sety.htm delete mode 100755 sources/doc/fpdf/doc/text.htm delete mode 100755 sources/doc/fpdf/doc/write.htm delete mode 100755 sources/doc/fpdf/fpdf.css delete mode 100755 sources/doc/fpdf/histo.htm delete mode 100755 sources/doc/fpdf/install.txt delete mode 100755 sources/doc/fpdf/license.txt delete mode 100644 sources/doc/fpdf/sfpdf.html delete mode 100755 sources/doc/fpdf/tutorial/20k_c1.txt delete mode 100755 sources/doc/fpdf/tutorial/20k_c2.txt delete mode 100755 sources/doc/fpdf/tutorial/calligra.afm delete mode 100755 sources/doc/fpdf/tutorial/calligra.php delete mode 100755 sources/doc/fpdf/tutorial/calligra.ttf delete mode 100755 sources/doc/fpdf/tutorial/calligra.z delete mode 100755 sources/doc/fpdf/tutorial/countries.txt delete mode 100755 sources/doc/fpdf/tutorial/index.htm delete mode 100755 sources/doc/fpdf/tutorial/logo.png delete mode 100755 sources/doc/fpdf/tutorial/logo_pb.png delete mode 100755 sources/doc/fpdf/tutorial/makefont.php delete mode 100755 sources/doc/fpdf/tutorial/tuto1.htm delete mode 100755 sources/doc/fpdf/tutorial/tuto1.php delete mode 100755 sources/doc/fpdf/tutorial/tuto2.htm delete mode 100755 sources/doc/fpdf/tutorial/tuto2.php delete mode 100755 sources/doc/fpdf/tutorial/tuto3.htm delete mode 100755 sources/doc/fpdf/tutorial/tuto3.php delete mode 100755 sources/doc/fpdf/tutorial/tuto4.htm delete mode 100755 sources/doc/fpdf/tutorial/tuto4.php delete mode 100755 sources/doc/fpdf/tutorial/tuto5.htm delete mode 100755 sources/doc/fpdf/tutorial/tuto5.php delete mode 100755 sources/doc/fpdf/tutorial/tuto6.htm delete mode 100755 sources/doc/fpdf/tutorial/tuto6.php delete mode 100755 sources/doc/fpdf/tutorial/tuto7.htm delete mode 100755 sources/doc/fpdf/tutorial/tuto7.php delete mode 100644 sources/doc/heading.php delete mode 100644 sources/doc/installation-window.odt delete mode 100644 sources/doc/installation-window.pdf delete mode 100644 sources/doc/manuel-fr.odt delete mode 100644 sources/doc/manuel-fr.pdf delete mode 100644 sources/doc/php.ini-minimum delete mode 100644 sources/doc/tfpdf/HelloWorld.txt delete mode 100644 sources/doc/tfpdf/README.txt delete mode 100644 sources/doc/tfpdf/ex.pdf delete mode 100644 sources/doc/tfpdf/ex.php delete mode 100644 sources/doc/tfpdf/info.htm delete mode 100755 sources/doc/xmlwriter.php create mode 100644 sources/extra_files/app/.gitignore delete mode 100755 sources/html/.cvsignore delete mode 100644 sources/html/admin/setup.js delete mode 100644 sources/html/admin/setup.php delete mode 100644 sources/html/admin/sql/account_repository/comment.sql delete mode 100644 sources/html/admin/sql/account_repository/constraint.sql delete mode 100644 sources/html/admin/sql/account_repository/data.sql delete mode 100644 sources/html/admin/sql/account_repository/function.sql delete mode 100644 sources/html/admin/sql/account_repository/index.sql delete mode 100755 sources/html/admin/sql/account_repository/make-sql delete mode 100644 sources/html/admin/sql/account_repository/schema.sql delete mode 100644 sources/html/admin/sql/account_repository/sequence.sql delete mode 100644 sources/html/admin/sql/account_repository/table.sql delete mode 100644 sources/html/admin/sql/account_repository/view.sql delete mode 100755 sources/html/admin/sql/make-sql delete mode 100644 sources/html/admin/sql/mod1/comment.sql delete mode 100644 sources/html/admin/sql/mod1/constraint.sql delete mode 100644 sources/html/admin/sql/mod1/data.sql delete mode 100644 sources/html/admin/sql/mod1/function.sql delete mode 100644 sources/html/admin/sql/mod1/index.sql delete mode 100755 sources/html/admin/sql/mod1/make-sql delete mode 100644 sources/html/admin/sql/mod1/schema.sql delete mode 100644 sources/html/admin/sql/mod1/sequence.sql delete mode 100644 sources/html/admin/sql/mod1/table.sql delete mode 100644 sources/html/admin/sql/mod1/view.sql delete mode 100644 sources/html/admin/sql/mod2/data.sql delete mode 100755 sources/html/admin/sql/mod2/make-sql delete mode 100644 sources/html/admin/sql/patch/ac-upgrade10.sql delete mode 100644 sources/html/admin/sql/patch/ac-upgrade11.sql delete mode 100644 sources/html/admin/sql/patch/ac-upgrade12.sql delete mode 100644 sources/html/admin/sql/patch/ac-upgrade13.sql delete mode 100644 sources/html/admin/sql/patch/ac-upgrade14.sql delete mode 100644 sources/html/admin/sql/patch/ac-upgrade15.sql delete mode 100644 sources/html/admin/sql/patch/ac-upgrade4.sql delete mode 100644 sources/html/admin/sql/patch/ac-upgrade5.sql delete mode 100644 sources/html/admin/sql/patch/ac-upgrade6.sql delete mode 100644 sources/html/admin/sql/patch/ac-upgrade7.sql delete mode 100644 sources/html/admin/sql/patch/ac-upgrade8.sql delete mode 100644 sources/html/admin/sql/patch/ac-upgrade9.sql delete mode 100644 sources/html/admin/sql/patch/downgrade7.sql delete mode 100644 sources/html/admin/sql/patch/upgrade10.sql delete mode 100644 sources/html/admin/sql/patch/upgrade100.sql delete mode 100644 sources/html/admin/sql/patch/upgrade101.sql delete mode 100644 sources/html/admin/sql/patch/upgrade102.sql delete mode 100644 sources/html/admin/sql/patch/upgrade103.sql delete mode 100644 sources/html/admin/sql/patch/upgrade104.sql delete mode 100644 sources/html/admin/sql/patch/upgrade105.sql delete mode 100644 sources/html/admin/sql/patch/upgrade106.sql delete mode 100644 sources/html/admin/sql/patch/upgrade107.sql delete mode 100644 sources/html/admin/sql/patch/upgrade108.sql delete mode 100644 sources/html/admin/sql/patch/upgrade109.sql delete mode 100644 sources/html/admin/sql/patch/upgrade11.sql delete mode 100644 sources/html/admin/sql/patch/upgrade110.sql delete mode 100644 sources/html/admin/sql/patch/upgrade111.sql delete mode 100644 sources/html/admin/sql/patch/upgrade112.sql delete mode 100644 sources/html/admin/sql/patch/upgrade113.sql delete mode 100644 sources/html/admin/sql/patch/upgrade114.sql delete mode 100644 sources/html/admin/sql/patch/upgrade115.sql delete mode 100644 sources/html/admin/sql/patch/upgrade116.sql delete mode 100644 sources/html/admin/sql/patch/upgrade117.sql delete mode 100644 sources/html/admin/sql/patch/upgrade118.sql delete mode 100644 sources/html/admin/sql/patch/upgrade119.sql delete mode 100644 sources/html/admin/sql/patch/upgrade12.sql delete mode 100644 sources/html/admin/sql/patch/upgrade120.sql delete mode 100644 sources/html/admin/sql/patch/upgrade13.sql delete mode 100644 sources/html/admin/sql/patch/upgrade14.sql delete mode 100644 sources/html/admin/sql/patch/upgrade15.sql delete mode 100644 sources/html/admin/sql/patch/upgrade16.sql delete mode 100644 sources/html/admin/sql/patch/upgrade17.sql delete mode 100644 sources/html/admin/sql/patch/upgrade18.sql delete mode 100644 sources/html/admin/sql/patch/upgrade19.sql delete mode 100644 sources/html/admin/sql/patch/upgrade20.sql delete mode 100644 sources/html/admin/sql/patch/upgrade21.sql delete mode 100644 sources/html/admin/sql/patch/upgrade22.sql delete mode 100644 sources/html/admin/sql/patch/upgrade23.sql delete mode 100644 sources/html/admin/sql/patch/upgrade24.sql delete mode 100644 sources/html/admin/sql/patch/upgrade25.sql delete mode 100644 sources/html/admin/sql/patch/upgrade26.sql delete mode 100644 sources/html/admin/sql/patch/upgrade27.sql delete mode 100644 sources/html/admin/sql/patch/upgrade28.sql delete mode 100644 sources/html/admin/sql/patch/upgrade29.sql delete mode 100644 sources/html/admin/sql/patch/upgrade30.sql delete mode 100644 sources/html/admin/sql/patch/upgrade31.sql delete mode 100644 sources/html/admin/sql/patch/upgrade32.sql delete mode 100644 sources/html/admin/sql/patch/upgrade33.sql delete mode 100644 sources/html/admin/sql/patch/upgrade34.sql delete mode 100644 sources/html/admin/sql/patch/upgrade35.sql delete mode 100644 sources/html/admin/sql/patch/upgrade36.BE.sql delete mode 100644 sources/html/admin/sql/patch/upgrade36.FR.sql delete mode 100644 sources/html/admin/sql/patch/upgrade36.sql delete mode 100644 sources/html/admin/sql/patch/upgrade37.sql delete mode 100644 sources/html/admin/sql/patch/upgrade38.sql delete mode 100644 sources/html/admin/sql/patch/upgrade39.sql delete mode 100644 sources/html/admin/sql/patch/upgrade4.sql delete mode 100644 sources/html/admin/sql/patch/upgrade40.sql delete mode 100644 sources/html/admin/sql/patch/upgrade41.sql delete mode 100644 sources/html/admin/sql/patch/upgrade42.sql delete mode 100644 sources/html/admin/sql/patch/upgrade43.sql delete mode 100644 sources/html/admin/sql/patch/upgrade44.sql delete mode 100644 sources/html/admin/sql/patch/upgrade45.sql delete mode 100644 sources/html/admin/sql/patch/upgrade46.sql delete mode 100644 sources/html/admin/sql/patch/upgrade47.sql delete mode 100644 sources/html/admin/sql/patch/upgrade48.sql delete mode 100644 sources/html/admin/sql/patch/upgrade49.sql delete mode 100644 sources/html/admin/sql/patch/upgrade5.sql delete mode 100644 sources/html/admin/sql/patch/upgrade50.sql delete mode 100644 sources/html/admin/sql/patch/upgrade51.sql delete mode 100644 sources/html/admin/sql/patch/upgrade52.sql delete mode 100644 sources/html/admin/sql/patch/upgrade53.sql delete mode 100644 sources/html/admin/sql/patch/upgrade54.sql delete mode 100644 sources/html/admin/sql/patch/upgrade55.sql delete mode 100644 sources/html/admin/sql/patch/upgrade56.sql delete mode 100644 sources/html/admin/sql/patch/upgrade57.sql delete mode 100644 sources/html/admin/sql/patch/upgrade58.sql delete mode 100644 sources/html/admin/sql/patch/upgrade59.sql delete mode 100644 sources/html/admin/sql/patch/upgrade6.sql delete mode 100644 sources/html/admin/sql/patch/upgrade60.sql delete mode 100644 sources/html/admin/sql/patch/upgrade61.BE.sql delete mode 100644 sources/html/admin/sql/patch/upgrade61.FR.sql delete mode 100644 sources/html/admin/sql/patch/upgrade61.sql delete mode 100644 sources/html/admin/sql/patch/upgrade62.sql delete mode 100644 sources/html/admin/sql/patch/upgrade63.sql delete mode 100644 sources/html/admin/sql/patch/upgrade64.sql delete mode 100644 sources/html/admin/sql/patch/upgrade65.sql delete mode 100644 sources/html/admin/sql/patch/upgrade66.sql delete mode 100644 sources/html/admin/sql/patch/upgrade67.sql delete mode 100644 sources/html/admin/sql/patch/upgrade68.sql delete mode 100644 sources/html/admin/sql/patch/upgrade69.sql delete mode 100644 sources/html/admin/sql/patch/upgrade7.sql delete mode 100644 sources/html/admin/sql/patch/upgrade70.sql delete mode 100644 sources/html/admin/sql/patch/upgrade71.sql delete mode 100644 sources/html/admin/sql/patch/upgrade72.sql delete mode 100644 sources/html/admin/sql/patch/upgrade73.sql delete mode 100644 sources/html/admin/sql/patch/upgrade74.sql delete mode 100644 sources/html/admin/sql/patch/upgrade75.sql delete mode 100644 sources/html/admin/sql/patch/upgrade76.sql delete mode 100644 sources/html/admin/sql/patch/upgrade77.sql delete mode 100644 sources/html/admin/sql/patch/upgrade78.sql delete mode 100644 sources/html/admin/sql/patch/upgrade79.sql delete mode 100644 sources/html/admin/sql/patch/upgrade8.sql delete mode 100644 sources/html/admin/sql/patch/upgrade80.sql delete mode 100644 sources/html/admin/sql/patch/upgrade81.sql delete mode 100644 sources/html/admin/sql/patch/upgrade82.sql delete mode 100644 sources/html/admin/sql/patch/upgrade83.sql delete mode 100644 sources/html/admin/sql/patch/upgrade84.sql delete mode 100644 sources/html/admin/sql/patch/upgrade85.sql delete mode 100644 sources/html/admin/sql/patch/upgrade86.sql delete mode 100644 sources/html/admin/sql/patch/upgrade87.sql delete mode 100644 sources/html/admin/sql/patch/upgrade88.sql delete mode 100644 sources/html/admin/sql/patch/upgrade89.sql delete mode 100644 sources/html/admin/sql/patch/upgrade9.sql delete mode 100644 sources/html/admin/sql/patch/upgrade90.sql delete mode 100644 sources/html/admin/sql/patch/upgrade91.sql delete mode 100644 sources/html/admin/sql/patch/upgrade92.sql delete mode 100644 sources/html/admin/sql/patch/upgrade93.sql delete mode 100644 sources/html/admin/sql/patch/upgrade94.sql delete mode 100644 sources/html/admin/sql/patch/upgrade95.sql delete mode 100644 sources/html/admin/sql/patch/upgrade96.sql delete mode 100644 sources/html/admin/sql/patch/upgrade97.sql delete mode 100644 sources/html/admin/sql/patch/upgrade98.sql delete mode 100644 sources/html/admin/sql/patch/upgrade99.sql delete mode 100644 sources/html/admin/template_config_form.php delete mode 100644 sources/html/admin_repo.php delete mode 100644 sources/html/ajax.php delete mode 100644 sources/html/ajax_card.php delete mode 100644 sources/html/ajax_history.php delete mode 100644 sources/html/ajax_ledger.php delete mode 100644 sources/html/ajax_misc.php delete mode 100644 sources/html/ajax_poste.php delete mode 100644 sources/html/ajax_todo_list.php delete mode 100644 sources/html/backup.php delete mode 100644 sources/html/calendar-blue.css delete mode 100644 sources/html/compute.php delete mode 100644 sources/html/direct.php delete mode 100644 sources/html/do.php delete mode 100644 sources/html/document/fr_be/bnb.form delete mode 100644 sources/html/document/fr_be/bnb.rtf delete mode 100644 sources/html/document/fr_fr/fr_plan_abrege_perso_bil10000.form delete mode 100644 sources/html/document/fr_fr/fr_plan_abrege_perso_bil10000.ods delete mode 100644 sources/html/document/fr_fr/fr_plan_abrege_perso_cr1000.form delete mode 100644 sources/html/document/fr_fr/fr_plan_abrege_perso_cr1000.rtf delete mode 100644 sources/html/export.php delete mode 100644 sources/html/extension.raw.php delete mode 100644 sources/html/favicon.ico delete mode 100644 sources/html/fid.php delete mode 100644 sources/html/fid_card.php delete mode 100644 sources/html/image/OpenSansRegular.eot delete mode 100644 sources/html/image/OpenSansRegular.ttf delete mode 100644 sources/html/image/OpenSansRegular.woff delete mode 100644 sources/html/image/bg-submit2.gif delete mode 100644 sources/html/image/bg-submit3.gif delete mode 100644 sources/html/image/bg-submit4.gif delete mode 100644 sources/html/image/bg-submit4.png delete mode 100644 sources/html/image/bg-submit5.png delete mode 100644 sources/html/image/bgcolor.gif delete mode 100644 sources/html/image/blackdot.gif delete mode 100644 sources/html/image/bold.gif delete mode 100644 sources/html/image/centre.gif delete mode 100644 sources/html/image/chrome_logo_2x.png delete mode 100644 sources/html/image/copy.gif delete mode 100644 sources/html/image/cut.gif delete mode 100644 sources/html/image/documents.png delete mode 100644 sources/html/image/down.gif delete mode 100644 sources/html/image/email.gif delete mode 100644 sources/html/image/empty.gif delete mode 100644 sources/html/image/go-next.png delete mode 100644 sources/html/image/go-previous.png delete mode 100644 sources/html/image/header-firefox.png delete mode 100644 sources/html/image/home.png delete mode 100644 sources/html/image/hr.gif delete mode 100644 sources/html/image/hyperlink.gif delete mode 100644 sources/html/image/image.gif delete mode 100644 sources/html/image/indent.gif delete mode 100644 sources/html/image/insert_table.gif delete mode 100644 sources/html/image/italic.gif delete mode 100644 sources/html/image/justifyfull.gif delete mode 100644 sources/html/image/left_just.gif delete mode 100644 sources/html/image/list.gif delete mode 100644 sources/html/image/load.gif delete mode 100644 sources/html/image/loading.gif delete mode 100644 sources/html/image/logo6720.png delete mode 100644 sources/html/image/logo6820.png delete mode 100644 sources/html/image/logo7.png delete mode 100644 sources/html/image/logout.png delete mode 100644 sources/html/image/magnifier13.png delete mode 100644 sources/html/image/numbered_list.gif delete mode 100644 sources/html/image/orange_flower.gif delete mode 100644 sources/html/image/outdent.gif delete mode 100644 sources/html/image/param.png delete mode 100644 sources/html/image/paste.gif delete mode 100644 sources/html/image/preference.png delete mode 100644 sources/html/image/print.png delete mode 100644 sources/html/image/redo.gif delete mode 100644 sources/html/image/right_just.gif delete mode 100644 sources/html/image/search.png delete mode 100644 sources/html/image/select1.gif delete mode 100644 sources/html/image/select2.gif delete mode 100644 sources/html/image/smiley.gif delete mode 100644 sources/html/image/spellcheck.gif delete mode 100644 sources/html/image/spirale2.gif delete mode 100644 sources/html/image/textcolor.gif delete mode 100644 sources/html/image/undefined.png delete mode 100644 sources/html/image/underline.gif delete mode 100644 sources/html/image/undo.gif delete mode 100644 sources/html/image/up.gif delete mode 100644 sources/html/image/x-office-calendar.png delete mode 100644 sources/html/index.html delete mode 100644 sources/html/index.php delete mode 100644 sources/html/js/acc_ledger.js delete mode 100644 sources/html/js/accounting_item.js delete mode 100644 sources/html/js/admin.js delete mode 100644 sources/html/js/ajax_fiche.js delete mode 100644 sources/html/js/anc_script.js delete mode 100644 sources/html/js/builder.js delete mode 100644 sources/html/js/calc.js delete mode 100644 sources/html/js/calendar-setup.js delete mode 100644 sources/html/js/calendar.js delete mode 100644 sources/html/js/card.js delete mode 100644 sources/html/js/compute.js delete mode 100644 sources/html/js/compute_direct.js delete mode 100644 sources/html/js/controls.js delete mode 100644 sources/html/js/dragdrop.js delete mode 100644 sources/html/js/effects.js delete mode 100644 sources/html/js/forecast.js delete mode 100644 sources/html/js/gestion.js delete mode 100644 sources/html/js/infobulle.js delete mode 100644 sources/html/js/jcalendar.js delete mode 100644 sources/html/js/lang/calendar-af.js delete mode 100644 sources/html/js/lang/calendar-al.js delete mode 100644 sources/html/js/lang/calendar-bg.js delete mode 100644 sources/html/js/lang/calendar-big5-utf8.js delete mode 100644 sources/html/js/lang/calendar-big5.js delete mode 100644 sources/html/js/lang/calendar-br.js delete mode 100644 sources/html/js/lang/calendar-ca.js delete mode 100644 sources/html/js/lang/calendar-cs-utf8.js delete mode 100644 sources/html/js/lang/calendar-cs-win.js delete mode 100644 sources/html/js/lang/calendar-da.js delete mode 100644 sources/html/js/lang/calendar-de.js delete mode 100644 sources/html/js/lang/calendar-du.js delete mode 100644 sources/html/js/lang/calendar-el.js delete mode 100644 sources/html/js/lang/calendar-en.js delete mode 100644 sources/html/js/lang/calendar-es.js delete mode 100644 sources/html/js/lang/calendar-fi.js delete mode 100644 sources/html/js/lang/calendar-fr.js delete mode 100644 sources/html/js/lang/calendar-he-utf8.js delete mode 100644 sources/html/js/lang/calendar-hr-utf8.js delete mode 100644 sources/html/js/lang/calendar-hr.js delete mode 100644 sources/html/js/lang/calendar-hu.js delete mode 100644 sources/html/js/lang/calendar-it.js delete mode 100644 sources/html/js/lang/calendar-jp.js delete mode 100644 sources/html/js/lang/calendar-ko-utf8.js delete mode 100644 sources/html/js/lang/calendar-ko.js delete mode 100644 sources/html/js/lang/calendar-lt-utf8.js delete mode 100644 sources/html/js/lang/calendar-lt.js delete mode 100644 sources/html/js/lang/calendar-lv.js delete mode 100644 sources/html/js/lang/calendar-nl.js delete mode 100644 sources/html/js/lang/calendar-no.js delete mode 100644 sources/html/js/lang/calendar-pl-utf8.js delete mode 100644 sources/html/js/lang/calendar-pl.js delete mode 100644 sources/html/js/lang/calendar-pt.js delete mode 100644 sources/html/js/lang/calendar-ro.js delete mode 100644 sources/html/js/lang/calendar-ru.js delete mode 100644 sources/html/js/lang/calendar-ru_win_.js delete mode 100644 sources/html/js/lang/calendar-si.js delete mode 100644 sources/html/js/lang/calendar-sk.js delete mode 100644 sources/html/js/lang/calendar-sp.js delete mode 100644 sources/html/js/lang/calendar-sv.js delete mode 100644 sources/html/js/lang/calendar-tr.js delete mode 100644 sources/html/js/lang/calendar-zh.js delete mode 100644 sources/html/js/lang/cn_utf8.js delete mode 100644 sources/html/js/modele_document.js delete mode 100644 sources/html/js/nicEdit.js delete mode 100644 sources/html/js/nicEditorIcons.gif delete mode 100644 sources/html/js/prototype.js delete mode 100644 sources/html/js/scriptaculous.js delete mode 100644 sources/html/js/scripts.js delete mode 100644 sources/html/js/slider.js delete mode 100644 sources/html/js/smoke.js delete mode 100644 sources/html/js/sorttable.js delete mode 100644 sources/html/js/sound.js delete mode 100644 sources/html/js/todo_list.js delete mode 100644 sources/html/js/unittest.js delete mode 100644 sources/html/lang/en_US/LC_MESSAGES/messages.mo delete mode 100644 sources/html/lang/en_US/LC_MESSAGES/messages.po delete mode 100644 sources/html/lang/messages.po delete mode 100644 sources/html/lang/nl_NL/LC_MESSAGES/messages.mo delete mode 100644 sources/html/lang/nl_NL/LC_MESSAGES/messages.po delete mode 100644 sources/html/login.php delete mode 100644 sources/html/logout.php delete mode 100644 sources/html/menuarrow.gif delete mode 100644 sources/html/not_implemented.php delete mode 100644 sources/html/palette.htm delete mode 100644 sources/html/popup.php delete mode 100644 sources/html/recherche.php delete mode 100644 sources/html/securimage/AHGBold.ttf delete mode 100644 sources/html/securimage/LICENSE.txt delete mode 100644 sources/html/securimage/README.FONT.txt delete mode 100644 sources/html/securimage/README.txt delete mode 100644 sources/html/securimage/backgrounds/bg3.jpg delete mode 100644 sources/html/securimage/backgrounds/bg4.jpg delete mode 100644 sources/html/securimage/backgrounds/bg5.jpg delete mode 100644 sources/html/securimage/backgrounds/bg6.png delete mode 100644 sources/html/securimage/backgrounds/bg7.jpg delete mode 100644 sources/html/securimage/database/.htaccess delete mode 100644 sources/html/securimage/database/index.html delete mode 100644 sources/html/securimage/database/securimage.sqlite delete mode 100644 sources/html/securimage/example_form.php delete mode 100644 sources/html/securimage/gdfonts/automatic.gdf delete mode 100644 sources/html/securimage/images/audio_icon.gif delete mode 100644 sources/html/securimage/images/refresh.gif delete mode 100644 sources/html/securimage/securimage.php delete mode 100644 sources/html/securimage/securimage_play.php delete mode 100644 sources/html/securimage/securimage_play.swf delete mode 100644 sources/html/securimage/securimage_show.php delete mode 100644 sources/html/securimage/securimage_show_example.php delete mode 100644 sources/html/securimage/securimage_show_example2.php delete mode 100644 sources/html/securimage/words/words.txt delete mode 100644 sources/html/show_document.php delete mode 100644 sources/html/show_document_modele.php delete mode 100644 sources/html/show_pj.php delete mode 100644 sources/html/style-classic.css delete mode 100644 sources/html/style-light.css delete mode 100644 sources/html/style-mandarine.css delete mode 100644 sources/html/style-mobile.css delete mode 100644 sources/html/style-print.css delete mode 100644 sources/html/style-test.css delete mode 100644 sources/html/test.php delete mode 100644 sources/html/tmp/.htaccess delete mode 100644 sources/html/user_login.php delete mode 100644 sources/include/ac_common.php delete mode 100644 sources/include/action.common.inc.php delete mode 100644 sources/include/action.inc.php delete mode 100644 sources/include/adm.inc.php delete mode 100644 sources/include/ajax_account_update.php delete mode 100644 sources/include/ajax_action_remove_concerned.php delete mode 100644 sources/include/ajax_action_save_concerned.php delete mode 100644 sources/include/ajax_add_concerned_card.php delete mode 100644 sources/include/ajax_add_menu.php delete mode 100644 sources/include/ajax_admin.php delete mode 100644 sources/include/ajax_anc_key_choice.php delete mode 100644 sources/include/ajax_anc_key_compute.php delete mode 100644 sources/include/ajax_anc_search.php delete mode 100644 sources/include/ajax_auto_anc_card.php delete mode 100644 sources/include/ajax_bank_saldo.php delete mode 100644 sources/include/ajax_bookmark.php delete mode 100644 sources/include/ajax_boxcard_search.php delete mode 100644 sources/include/ajax_calendar_zoom.php delete mode 100644 sources/include/ajax_create_menu.php delete mode 100644 sources/include/ajax_display_submenu.php delete mode 100644 sources/include/ajax_fiche_def_detail.php delete mode 100644 sources/include/ajax_gestion.php delete mode 100644 sources/include/ajax_get_menu_detail.php delete mode 100644 sources/include/ajax_get_profile.php delete mode 100644 sources/include/ajax_get_receipt.php delete mode 100644 sources/include/ajax_ledger_show.php delete mode 100644 sources/include/ajax_min_row.php delete mode 100644 sources/include/ajax_mod_document.php delete mode 100644 sources/include/ajax_mod_menu.php delete mode 100644 sources/include/ajax_mod_periode.php delete mode 100644 sources/include/ajax_mod_predf_op.php delete mode 100644 sources/include/ajax_mod_stock_repo.php delete mode 100644 sources/include/ajax_navigator.php delete mode 100644 sources/include/ajax_pcmn_update.php delete mode 100644 sources/include/ajax_plugin_detail.php delete mode 100644 sources/include/ajax_preference.php delete mode 100644 sources/include/ajax_remove_submenu.php delete mode 100644 sources/include/ajax_save_predf_op.php delete mode 100755 sources/include/ajax_search_action.php delete mode 100644 sources/include/ajax_search_add_tag.php delete mode 100644 sources/include/ajax_search_clear_tag.php delete mode 100644 sources/include/ajax_search_display_tag.php delete mode 100644 sources/include/ajax_tag_add_action.php delete mode 100644 sources/include/ajax_tag_detail.php delete mode 100644 sources/include/ajax_tag_list.php delete mode 100644 sources/include/ajax_tag_remove_action.php delete mode 100644 sources/include/ajax_tag_save.php delete mode 100644 sources/include/ajax_tag_select_search.php delete mode 100644 sources/include/ajax_update_payment.php delete mode 100644 sources/include/ajax_update_predef.php delete mode 100644 sources/include/ajax_view_action.php delete mode 100644 sources/include/ajax_view_mod_stock.php delete mode 100644 sources/include/anc_acc_balance.inc.php delete mode 100644 sources/include/anc_acc_table.inc.php delete mode 100644 sources/include/anc_balance_double.inc.php delete mode 100644 sources/include/anc_balance_simple.inc.php delete mode 100644 sources/include/anc_great_ledger.inc.php delete mode 100644 sources/include/anc_group.inc.php delete mode 100644 sources/include/anc_group_balance.inc.php delete mode 100644 sources/include/anc_history.inc.php delete mode 100644 sources/include/anc_key.inc.php delete mode 100644 sources/include/anc_od.inc.php delete mode 100644 sources/include/anc_pa.inc.php delete mode 100644 sources/include/audit_log.php delete mode 100644 sources/include/balance.inc.php delete mode 100644 sources/include/balance_age.inc.php delete mode 100644 sources/include/balance_card.inc.php delete mode 100644 sources/include/balance_card_ageing.inc.php delete mode 100644 sources/include/bank.inc.php delete mode 100644 sources/include/calendar.inc.php delete mode 100644 sources/include/card_attr.inc.php delete mode 100644 sources/include/cat_document.inc.php delete mode 100644 sources/include/category_card.inc.php delete mode 100644 sources/include/category_detail.inc.php delete mode 100644 sources/include/category_followup.inc.php delete mode 100644 sources/include/category_operation.inc.php delete mode 100644 sources/include/cfgfiche.inc.php delete mode 100644 sources/include/cfgledger.inc.php delete mode 100644 sources/include/cfgplugin.inc.php delete mode 100644 sources/include/cfgtags.inc.php delete mode 100644 sources/include/class_acc_account.php delete mode 100644 sources/include/class_acc_account_ledger.php delete mode 100644 sources/include/class_acc_balance.php delete mode 100644 sources/include/class_acc_bilan.php delete mode 100644 sources/include/class_acc_compute.php delete mode 100644 sources/include/class_acc_ledger.php delete mode 100644 sources/include/class_acc_ledger_fin.php delete mode 100644 sources/include/class_acc_ledger_info.php delete mode 100644 sources/include/class_acc_ledger_purchase.php delete mode 100644 sources/include/class_acc_ledger_sold.php delete mode 100644 sources/include/class_acc_operation.php delete mode 100644 sources/include/class_acc_parm_code.php delete mode 100644 sources/include/class_acc_payment.php delete mode 100644 sources/include/class_acc_reconciliation.php delete mode 100644 sources/include/class_acc_report.php delete mode 100644 sources/include/class_acc_report_row.php delete mode 100644 sources/include/class_acc_tva.php delete mode 100644 sources/include/class_admin.php delete mode 100644 sources/include/class_anc_acc_link.php delete mode 100644 sources/include/class_anc_acc_list.php delete mode 100644 sources/include/class_anc_account.php delete mode 100644 sources/include/class_anc_balance_double.php delete mode 100644 sources/include/class_anc_balance_simple.php delete mode 100644 sources/include/class_anc_grandlivre.php delete mode 100644 sources/include/class_anc_group.php delete mode 100644 sources/include/class_anc_group_operation.php delete mode 100644 sources/include/class_anc_key.php delete mode 100644 sources/include/class_anc_key_sql.php delete mode 100644 sources/include/class_anc_listing.php delete mode 100644 sources/include/class_anc_operation.php delete mode 100644 sources/include/class_anc_plan.php delete mode 100644 sources/include/class_anc_print.php delete mode 100644 sources/include/class_anc_table.php delete mode 100644 sources/include/class_anticipation.php delete mode 100644 sources/include/class_balance_age.php delete mode 100644 sources/include/class_bank.php delete mode 100644 sources/include/class_calendar.php delete mode 100644 sources/include/class_contact.php delete mode 100644 sources/include/class_customer.php delete mode 100644 sources/include/class_database.php delete mode 100644 sources/include/class_default_menu.php delete mode 100644 sources/include/class_default_menu_sql.php delete mode 100644 sources/include/class_document.php delete mode 100644 sources/include/class_document_export.php delete mode 100644 sources/include/class_document_modele.php delete mode 100644 sources/include/class_document_type.php delete mode 100644 sources/include/class_dossier.php delete mode 100644 sources/include/class_exercice.php delete mode 100644 sources/include/class_extension.php delete mode 100644 sources/include/class_fiche.php delete mode 100644 sources/include/class_fiche_attr.php delete mode 100644 sources/include/class_fiche_def.php delete mode 100644 sources/include/class_fiche_def_ref.php delete mode 100644 sources/include/class_filetosend.php delete mode 100644 sources/include/class_follow_up.php delete mode 100644 sources/include/class_follow_up_detail.php delete mode 100644 sources/include/class_forecast.php delete mode 100644 sources/include/class_forecast_cat.php delete mode 100644 sources/include/class_forecast_item.php delete mode 100644 sources/include/class_gestion_purchase.php delete mode 100644 sources/include/class_gestion_sold.php delete mode 100644 sources/include/class_gestion_table.php delete mode 100755 sources/include/class_html_input.php delete mode 100644 sources/include/class_html_table.php delete mode 100644 sources/include/class_iaction.php delete mode 100644 sources/include/class_ianccard.php delete mode 100644 sources/include/class_ibutton.php delete mode 100644 sources/include/class_icard.php delete mode 100644 sources/include/class_icheckbox.php delete mode 100644 sources/include/class_iconcerned.php delete mode 100644 sources/include/class_idate.php delete mode 100644 sources/include/class_ifile.php delete mode 100644 sources/include/class_ihidden.php delete mode 100644 sources/include/class_impress.php delete mode 100644 sources/include/class_inum.php delete mode 100644 sources/include/class_iperiod.php delete mode 100644 sources/include/class_ipopup.php delete mode 100644 sources/include/class_iposte.php delete mode 100644 sources/include/class_iradio.php delete mode 100644 sources/include/class_irelated_action.php delete mode 100644 sources/include/class_iselect.php delete mode 100644 sources/include/class_ispan.php delete mode 100644 sources/include/class_itext.php delete mode 100644 sources/include/class_itextarea.php delete mode 100644 sources/include/class_itva_popup.php delete mode 100644 sources/include/class_jrn_def_sql.php delete mode 100644 sources/include/class_lettering.php delete mode 100644 sources/include/class_manager.php delete mode 100644 sources/include/class_menu_ref.php delete mode 100644 sources/include/class_menu_ref_sql.php delete mode 100644 sources/include/class_noalyss_sql.php delete mode 100644 sources/include/class_own.php delete mode 100644 sources/include/class_pdf.php delete mode 100644 sources/include/class_periode.php delete mode 100644 sources/include/class_pre_op_ach.php delete mode 100644 sources/include/class_pre_op_advanced.php delete mode 100644 sources/include/class_pre_op_fin.php delete mode 100644 sources/include/class_pre_op_ods.php delete mode 100644 sources/include/class_pre_op_ven.php delete mode 100644 sources/include/class_pre_operation.php delete mode 100644 sources/include/class_print_ledger.php delete mode 100644 sources/include/class_print_ledger_detail.php delete mode 100644 sources/include/class_print_ledger_detail_item.php delete mode 100644 sources/include/class_print_ledger_fin.php delete mode 100644 sources/include/class_print_ledger_misc.php delete mode 100644 sources/include/class_print_ledger_simple.php delete mode 100644 sources/include/class_print_ledger_simple_without_vat.php delete mode 100644 sources/include/class_profile_menu.php delete mode 100644 sources/include/class_profile_menu_sql.php delete mode 100644 sources/include/class_profile_sql.php delete mode 100644 sources/include/class_sendmail.php delete mode 100644 sources/include/class_sort_table.php delete mode 100644 sources/include/class_stock.php delete mode 100644 sources/include/class_stock_goods.php delete mode 100644 sources/include/class_stock_goods_sql.php delete mode 100644 sources/include/class_stock_sql.php delete mode 100644 sources/include/class_supplier.php delete mode 100644 sources/include/class_tag.php delete mode 100644 sources/include/class_tag_sql.php delete mode 100644 sources/include/class_todo_list.php delete mode 100644 sources/include/class_tool_uos.php delete mode 100644 sources/include/class_user.php delete mode 100644 sources/include/class_zip_extended.php delete mode 100644 sources/include/company.inc.php delete mode 100644 sources/include/compta_ach.inc.php delete mode 100644 sources/include/compta_fin.inc.php delete mode 100644 sources/include/compta_fin_rec.inc.php delete mode 100644 sources/include/compta_fin_saldo.inc.php delete mode 100644 sources/include/compta_ods.inc.php delete mode 100644 sources/include/compta_ven.inc.php delete mode 100644 sources/include/config.inc delete mode 100644 sources/include/config_file.php delete mode 100644 sources/include/constant.php delete mode 100644 sources/include/constant.security.php delete mode 100644 sources/include/contact.inc.php delete mode 100644 sources/include/customer.inc.php delete mode 100644 sources/include/dashboard.inc.php delete mode 100644 sources/include/database.item.php delete mode 100644 sources/include/default_menu.inc.php delete mode 100644 sources/include/doc_state.inc.php delete mode 100644 sources/include/document_modele.inc.php delete mode 100644 sources/include/dossier.inc.php delete mode 100644 sources/include/export_anc_acc_list_csv.php delete mode 100644 sources/include/export_anc_balance_double_csv.php delete mode 100644 sources/include/export_anc_balance_double_pdf.php delete mode 100644 sources/include/export_anc_balance_group_csv.php delete mode 100644 sources/include/export_anc_balance_simple_csv.php delete mode 100644 sources/include/export_anc_balance_simple_pdf.php delete mode 100644 sources/include/export_anc_grandlivre_csv.php delete mode 100644 sources/include/export_anc_list_csv.php delete mode 100644 sources/include/export_anc_receipt_pdf.php delete mode 100644 sources/include/export_anc_table_csv.php delete mode 100644 sources/include/export_balance_age_csv.php delete mode 100644 sources/include/export_balance_csv.php delete mode 100644 sources/include/export_balance_pdf.php delete mode 100644 sources/include/export_bilan_oth.php delete mode 100644 sources/include/export_fiche_balance_csv.php delete mode 100644 sources/include/export_fiche_balance_pdf.php delete mode 100644 sources/include/export_fiche_csv.php delete mode 100644 sources/include/export_fiche_detail_csv.php delete mode 100644 sources/include/export_fiche_detail_pdf.php delete mode 100644 sources/include/export_fiche_pdf.php delete mode 100644 sources/include/export_follow_up_csv.php delete mode 100644 sources/include/export_form_csv.php delete mode 100644 sources/include/export_form_pdf.php delete mode 100644 sources/include/export_gl_csv.php delete mode 100644 sources/include/export_gl_pdf.php delete mode 100644 sources/include/export_histo_csv.php delete mode 100644 sources/include/export_ledger_csv.php delete mode 100644 sources/include/export_ledger_pdf.php delete mode 100644 sources/include/export_poste_detail_csv.php delete mode 100644 sources/include/export_poste_detail_pdf.php delete mode 100644 sources/include/export_rec_csv.php delete mode 100644 sources/include/export_reportinit_csv.php delete mode 100755 sources/include/export_security_pdf.php delete mode 100644 sources/include/export_stock_histo_csv.php delete mode 100644 sources/include/export_stock_resume_list.php delete mode 100755 sources/include/ext/dummy/dummy.php delete mode 100644 sources/include/extension_choice.inc.php delete mode 100644 sources/include/extension_get.inc.php delete mode 100644 sources/include/fiche.inc.php delete mode 100644 sources/include/fiche_def.inc.php delete mode 100644 sources/include/forecast.inc.php delete mode 100644 sources/include/function_javascript.php delete mode 100644 sources/include/header_print.php delete mode 100644 sources/include/history_operation.inc.php delete mode 100644 sources/include/impress_bilan.inc.php delete mode 100644 sources/include/impress_gl_comptes.inc.php delete mode 100644 sources/include/impress_jrn.inc.php delete mode 100644 sources/include/impress_poste.inc.php delete mode 100644 sources/include/impress_rapport.inc.php delete mode 100644 sources/include/impress_rec.inc.php delete mode 100644 sources/include/lettering.account.inc.php delete mode 100644 sources/include/lettering.card.inc.php delete mode 100644 sources/include/lettering.gestion.inc.php delete mode 100644 sources/include/manager.inc.php delete mode 100644 sources/include/menu.inc.php delete mode 100644 sources/include/modele.inc.php delete mode 100644 sources/include/opening.inc.php delete mode 100644 sources/include/operation_ods_confirm.inc.php delete mode 100644 sources/include/operation_ods_new.inc.php delete mode 100644 sources/include/param_pcmn.inc.php delete mode 100644 sources/include/param_sec.inc.php delete mode 100644 sources/include/payment_middle.inc.php delete mode 100644 sources/include/periode.inc.php delete mode 100644 sources/include/poste.inc.php delete mode 100644 sources/include/preod.inc.php delete mode 100644 sources/include/profile.inc.php delete mode 100644 sources/include/recover.php delete mode 100644 sources/include/report.inc.php delete mode 100644 sources/include/restore.inc.php delete mode 100644 sources/include/search.inc.php delete mode 100644 sources/include/stock_cfg.inc.php delete mode 100644 sources/include/stock_histo.inc.php delete mode 100644 sources/include/stock_inv.inc.php delete mode 100644 sources/include/stock_inv_histo.inc.php delete mode 100644 sources/include/stock_state.inc.php delete mode 100644 sources/include/supplier.inc.php delete mode 100644 sources/include/template/account_result.php delete mode 100644 sources/include/template/account_search.php delete mode 100644 sources/include/template/action_button.php delete mode 100644 sources/include/template/action_display_short.php delete mode 100644 sources/include/template/action_other_action.php delete mode 100644 sources/include/template/action_search.php delete mode 100644 sources/include/template/action_search_result.php delete mode 100644 sources/include/template/action_show.php delete mode 100644 sources/include/template/anc_balance_group.php delete mode 100644 sources/include/template/anc_key_display_choice.php delete mode 100644 sources/include/template/anc_key_display_list.php delete mode 100644 sources/include/template/anc_key_input.php delete mode 100644 sources/include/template/balance_aged_result.php delete mode 100644 sources/include/template/calendar-list.php delete mode 100644 sources/include/template/calendar.php delete mode 100644 sources/include/template/card_result.php delete mode 100644 sources/include/template/category_of_card.php delete mode 100644 sources/include/template/dashboard.php delete mode 100644 sources/include/template/detail-action.php delete mode 100644 sources/include/template/document_mod_change.php delete mode 100644 sources/include/template/fiche_def_input.php delete mode 100644 sources/include/template/fiche_def_list.php delete mode 100644 sources/include/template/fiche_list.php delete mode 100644 sources/include/template/folder_display.php delete mode 100644 sources/include/template/forecast-detail.php delete mode 100644 sources/include/template/forecast_cat.php delete mode 100644 sources/include/template/forecast_result.php delete mode 100644 sources/include/template/form_ledger_detail.php delete mode 100644 sources/include/template/form_ledger_fin.php delete mode 100644 sources/include/template/history_top.php delete mode 100644 sources/include/template/impress_cat_card.php delete mode 100644 sources/include/template/impress_reconciliation.php delete mode 100644 sources/include/template/impress_reconciliation_detail.php delete mode 100644 sources/include/template/ledger_detail_ach.php delete mode 100644 sources/include/template/ledger_detail_bottom.php delete mode 100644 sources/include/template/ledger_detail_file.php delete mode 100644 sources/include/template/ledger_detail_fin.php delete mode 100644 sources/include/template/ledger_detail_forbidden.php delete mode 100644 sources/include/template/ledger_detail_misc.php delete mode 100644 sources/include/template/ledger_detail_top.php delete mode 100644 sources/include/template/ledger_detail_ven.php delete mode 100644 sources/include/template/ledger_search.php delete mode 100644 sources/include/template/letter_all.php delete mode 100644 sources/include/template/letter_prop.php delete mode 100644 sources/include/template/list_category_document.php delete mode 100644 sources/include/template/list_mod_payment.php delete mode 100644 sources/include/template/menu.php delete mode 100644 sources/include/template/menu_detail.php delete mode 100644 sources/include/template/modele_document.php delete mode 100644 sources/include/template/module.php delete mode 100644 sources/include/template/new_mod_payment.php delete mode 100644 sources/include/template/operation_detail_ach.php delete mode 100644 sources/include/template/operation_detail_fin.php delete mode 100644 sources/include/template/operation_detail_misc.php delete mode 100644 sources/include/template/operation_detail_ven.php delete mode 100644 sources/include/template/param_jrn.php delete mode 100644 sources/include/template/pcmn_update.php delete mode 100644 sources/include/template/periode_add_exercice.php delete mode 100644 sources/include/template/predf_ledger_detail.php delete mode 100644 sources/include/template/print_ledger_simple.php delete mode 100644 sources/include/template/profile.php delete mode 100644 sources/include/template/profile_menu.php delete mode 100644 sources/include/template/profile_menu_display_module.php delete mode 100644 sources/include/template/profile_menu_display_submenu.php delete mode 100644 sources/include/template/profile_sec_repository.php delete mode 100644 sources/include/template/result_cat_card_summary.php delete mode 100644 sources/include/template/security_list_action.php delete mode 100644 sources/include/template/stock_histo.php delete mode 100644 sources/include/template/stock_histo_search.php delete mode 100644 sources/include/template/stock_inv.php delete mode 100644 sources/include/template/stock_state_search.php delete mode 100644 sources/include/template/stock_summary_list.php delete mode 100644 sources/include/template/stock_summary_table.php delete mode 100644 sources/include/template/tag_choose.php delete mode 100644 sources/include/template/tag_detail.php delete mode 100644 sources/include/template/tag_list.php delete mode 100644 sources/include/template/tag_search_select.php delete mode 100644 sources/include/template/tag_select.php delete mode 100644 sources/include/template/template.gif delete mode 100644 sources/include/template/todo_list_display.php delete mode 100644 sources/include/template/todo_list_list_user.php delete mode 100644 sources/include/template/user_sec_profile.php delete mode 100644 sources/include/tfpdf/font/courier.php delete mode 100755 sources/include/tfpdf/font/courierb.php delete mode 100755 sources/include/tfpdf/font/courierbi.php delete mode 100755 sources/include/tfpdf/font/courieri.php delete mode 100644 sources/include/tfpdf/font/helvetica.php delete mode 100644 sources/include/tfpdf/font/helveticab.php delete mode 100644 sources/include/tfpdf/font/helveticabi.php delete mode 100644 sources/include/tfpdf/font/helveticai.php delete mode 100644 sources/include/tfpdf/font/symbol.php delete mode 100644 sources/include/tfpdf/font/times.php delete mode 100644 sources/include/tfpdf/font/timesb.php delete mode 100644 sources/include/tfpdf/font/timesbi.php delete mode 100644 sources/include/tfpdf/font/timesi.php delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSans-Bold.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSans-BoldOblique.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSans-ExtraLight.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSans-Oblique.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSans.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSansCondensed-Bold.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSansCondensed-BoldOblique.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSansCondensed-Oblique.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSansCondensed.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSansMono-Bold.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSansMono-BoldOblique.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSansMono-Oblique.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSansMono.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSerif-Bold.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSerif-BoldItalic.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSerif-Italic.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSerif.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSerifCondensed-Bold.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSerifCondensed-BoldItalic.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSerifCondensed-Italic.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVuSerifCondensed.ttf delete mode 100644 sources/include/tfpdf/font/unifont/DejaVu_LICENSE.txt delete mode 100644 sources/include/tfpdf/font/unifont/ttfonts.php delete mode 100644 sources/include/tfpdf/font/zapfdingbats.php delete mode 100644 sources/include/tfpdf/tfpdf.php delete mode 100644 sources/include/tva.inc.php delete mode 100644 sources/include/user.inc.php delete mode 100644 sources/include/user_common.php delete mode 100644 sources/include/user_detail.inc.php delete mode 100644 sources/include/user_menu.php delete mode 100644 sources/include/verif_bilan.inc.php delete mode 100644 sources/license.txt create mode 100644 sources/patches/.gitignore delete mode 100644 sources/scenario/ajax-add-card-category.php delete mode 100644 sources/scenario/ajax-detail-operation1.php delete mode 100644 sources/scenario/ajax-detail-operation2.php delete mode 100644 sources/scenario/ajax-detail-operation3.php delete mode 100644 sources/scenario/ajax-detail-operation4.php delete mode 100644 sources/scenario/ajax-save-operation.php delete mode 100644 sources/scenario/readme.txt delete mode 100644 sources/scenario/scenario-1415994947.php delete mode 100644 sources/scenario/scenario-1415994966.php delete mode 100644 sources/scenario/scenario-1415995071.php delete mode 100644 sources/scenario/scenario-1415995185.php delete mode 100644 sources/scenario/scenario-1415995188.php delete mode 100644 sources/scenario/scenario-1415995192.php delete mode 100644 sources/scenario/scenario-1415995229.php delete mode 100644 sources/scenario/scenario-1415995238.php delete mode 100644 sources/scenario/scenario-1415995254.php delete mode 100644 sources/scenario/scenario-1415995260.php delete mode 100644 sources/scenario/scenario-1415995262.php delete mode 100644 sources/scenario/scenario-1415995277.php delete mode 100644 sources/scenario/scenario-1415995285.php delete mode 100644 sources/scenario/scenario-1415995301.php delete mode 100644 sources/scenario/scenario-1415995308.php delete mode 100644 sources/scenario/scenario-1415995317.php delete mode 100644 sources/scenario/scenario-1415995350.php delete mode 100644 sources/scenario/scenario-1415995352.php delete mode 100644 sources/scenario/scenario-1415995357.php delete mode 100644 sources/scenario/scenario-1415995424.php delete mode 100644 sources/scenario/scenario-1415995434.php delete mode 100644 sources/scenario/scenario-1415995437.php delete mode 100644 sources/scenario/scenario-1415995449.php delete mode 100644 sources/scenario/scenario-1415995545.php delete mode 100644 sources/scenario/scenario-1415995575.php delete mode 100644 sources/scenario/scenario-1415996970.php delete mode 100644 sources/scenario/scenario-1415996980.php delete mode 100644 sources/scenario/scenario-1415997148.php delete mode 100644 sources/scenario/scenario-1415997352.php delete mode 100644 sources/scenario/scenario-1415997358.php delete mode 100644 sources/scenario/scenario-1415997389.php delete mode 100644 sources/scenario/scenario-1415997404.php delete mode 100644 sources/scenario/scenario-1415997407.php delete mode 100644 sources/scenario/scenario-1415997877.php delete mode 100644 sources/scenario/scenario-1415997886.php delete mode 100644 sources/scenario/scenario-1415997889.php delete mode 100644 sources/scenario/scenario-1415998124.php delete mode 100644 sources/scenario/scenario-1415998134.php delete mode 100644 sources/scenario/scenario-1415998146.php delete mode 100644 sources/scenario/scenario-1416078146.php delete mode 100644 sources/scenario/scenario-ajax-add-card.php delete mode 100644 sources/scenario/scenario-historic.php delete mode 100644 sources/scenario/scenario-verif_bilan.php delete mode 100644 sources/sql/ac_upgrade.sql delete mode 100644 sources/sql/upgrade.sql delete mode 100644 sources/unit-test/README delete mode 100644 sources/unit-test/bootstrap.php.example delete mode 100644 sources/unit-test/global.example.php delete mode 100644 sources/unit-test/include/class_acc_accountTest.php delete mode 100644 sources/unit-test/include/class_acc_account_ledgerTest.php delete mode 100644 sources/unit-test/include/class_acc_balanceTest.php delete mode 100644 sources/unit-test/include/class_acc_bilanTest.php delete mode 100644 sources/unit-test/include/class_acc_computeTest.php delete mode 100644 sources/unit-test/include/class_acc_ledgerTest.php delete mode 100644 sources/unit-test/include/class_acc_ledger_finTest.php delete mode 100644 sources/unit-test/include/class_acc_ledger_purchaseTest.php delete mode 100644 sources/unit-test/include/class_acc_ledger_soldTest.php delete mode 100644 sources/unit-test/include/class_acc_parm_codeTest.php delete mode 100644 sources/unit-test/include/class_anc_accountTest.php delete mode 100644 sources/unit-test/include/class_anc_grandlivreTest.php delete mode 100644 sources/unit-test/include/class_anc_keyTest.php delete mode 100644 sources/unit-test/include/class_anc_key_sqlTest.php delete mode 100644 sources/unit-test/include/class_anc_operationTest.php delete mode 100644 sources/unit-test/include/class_databaseTest.php delete mode 100644 sources/unit-test/include/class_default_menu_sqlTest.php delete mode 100644 sources/unit-test/include/class_document_exportTest.php delete mode 100644 sources/unit-test/include/class_ficheTest.php delete mode 100644 sources/unit-test/include/class_follow_upTest.php delete mode 100644 sources/unit-test/include/class_follow_up_detailTest.php delete mode 100644 sources/unit-test/include/class_html_inputTest.php delete mode 100644 sources/unit-test/include/class_icardTest.php delete mode 100644 sources/unit-test/include/class_menu_ref_sqlTest.php delete mode 100644 sources/unit-test/include/class_profile_sqlTest.php delete mode 100644 sources/unit-test/include/class_stockTest.php delete mode 100644 sources/unit-test/include/class_stock_goods_sqlTest.php delete mode 100644 sources/unit-test/include/class_stock_sqlTest.php delete mode 100644 sources/unit-test/include/class_tagTest.php delete mode 100644 sources/unit-test/include/class_tag_sqlTest.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..783a4ae --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*~ +*.sw[op] diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f3cff84 --- /dev/null +++ b/LICENSE @@ -0,0 +1,4 @@ +File containing the license of your package. + +More information here: +https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-13---indiquer-la-licence-associ%C3%A9e-au-paquet---brouillon--auto--working- diff --git a/NOTES.md b/NOTES.md new file mode 100644 index 0000000..1948b1a --- /dev/null +++ b/NOTES.md @@ -0,0 +1,54 @@ +Noalyss pour YunoHost +--------------------- + +[noalyss](http://noalyss.eu) est une application de comptabilité que vous pourrez modifier suivant vos envies. + + * Report a bug: https://dev.yunohost.org/projects/apps/issues + * Nextcloud website: https://nextcloud.com/ + * YunoHost website: https://yunohost.org/ + +# Questions + +- comment fonctionnent les mails avec Noalyss ? + + +## PDF ? +voir : http://wiki.noalyss.eu/doku.php?id=installation:installation_sous_linux +- Pas de conversion en PDF (extension facturation et listing) +- Pas d'export en PDF des opérations de la comptabilité analytique avec les documents attachés + + +# Base de travail + +[example_ynh](https://github.com/YunoHost/example_ynh) a été utilisé comme source(s) d'inspiration. + +## Les helpers de YunoHost + +Dans yunohost/data/helpers.d + +- J'ai utilisé le `psql` pour en faire une copie en tant que `_psql.sh` pour pouvoir créer de user noalyss de postgress avec les droits de createdb. + +# Les sources de Noalyss + +**Version:** 7.0.15 (7015) + +Il faut les sources de Noalyss et différentes versions sont disponibles. + +http://download.noalyss.eu/version-6.9/ +http://download.noalyss.eu/version-6.9/noalyss-6.9.1.9.tar.gz +http://download.noalyss.eu/version-6.9/noalyss-6.9.2.0.tar.gz + +http://download.noalyss.eu/version-7.0/ +http://download.noalyss.eu/version-7.0/noalyss-7015.tar.gz + +Pour le moment elles sont extraites à la mains dans le dossier `sources`. + +Mais ont pourrait imaginer que le script + +- télécharge le .tar.gz +- l'extraire au bon endroit + +# Quid des mises à jours ? + +Pour Nextcloud par exemple il y a un dossier `upgrade.d` dans `scripts`. Mais si je ne me trompe, pour Noalyss il « suffit » de remplacer le dossier des sources. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..4cf70e0 --- /dev/null +++ b/README.md @@ -0,0 +1,84 @@ +# Usage of this package (REMOVE THIS SECTION BEFORE RELEASE) +- Copy this app before working on it. +- Edit `conf/nginx.conf` file to match application prerequisites. +- Edit `manifest.json` with application specific information. +- Edit the `install`, `upgrade`, `remove`, `backup`, and `restore` scripts. +- Add a `LICENSE` file for the package. +- Edit `README.md` and README_fr.md. + +# Example app for YunoHost + +[![Integration level](https://dash.yunohost.org/integration/REPLACEBYYOURAPP.svg)](https://dash.yunohost.org/appci/app/REPLACEBYYOURAPP) +[![Install REPLACEBYYOURAPP with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=REPLACEBYYOURAPP) + +*[Lire ce readme en français.](./README_fr.md)* + +> *This package allow you to install REPLACEBYYOURAPP quickly and simply on a YunoHost server. +If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* + +## Overview +Quick description of this app. + +**Shipped version:** 1.0 + +## Screenshots + +![](Link to an screenshot for this app) + +## Demo + +* [Official demo](Link to a demo site for this app) + +## Configuration + +How to configure this app: by an admin panel, a plain file with SSH, or any other way. + +## Documentation + + * Official documentation: Link to the official documentation of this app + * YunoHost documentation: If specific documentation is needed, feel free to contribute. + +## YunoHost specific features + +#### Multi-users support + +Are LDAP and HTTP auth supported? +Can the app be used by multiple users? + +#### Supported architectures + +* x86-64b - [![Build Status](https://ci-apps.yunohost.org/ci/logs/REPLACEBYYOURAPP%20%28Community%29.svg)](https://ci-apps.yunohost.org/ci/apps/REPLACEBYYOURAPP/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/REPLACEBYYOURAPP%20%28Community%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/REPLACEBYYOURAPP/) +* Jessie x86-64b - [![Build Status](https://ci-stretch.nohost.me/ci/logs/REPLACEBYYOURAPP%20%28Community%29.svg)](https://ci-stretch.nohost.me/ci/apps/REPLACEBYYOURAPP/) + +## Limitations + +* Any known limitations. + +## Additional information + +* Other information you would add about this application + +**More information on the documentation page:** +https://yunohost.org/packaging_apps + +## Links + + * Report a bug: https://github.com/YunoHost-Apps/REPLACEBYYOURAPP_ynh/issues + * App website: Link to the official website of this app + * YunoHost website: https://yunohost.org/ + +--- + +Developers info +---------------- + +**Only if you want to use a testing branch for coding, instead of merging directly into master.** +Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/REPLACEBYYOURAPP_ynh/tree/testing). + +To try the testing branch, please proceed like that. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/REPLACEBYYOURAPP_ynh/tree/testing --debug +or +sudo yunohost app upgrade REPLACEBYYOURAPP -u https://github.com/YunoHost-Apps/REPLACEBYYOURAPP_ynh/tree/testing --debug +``` diff --git a/README_fr.md b/README_fr.md new file mode 100644 index 0000000..747f706 --- /dev/null +++ b/README_fr.md @@ -0,0 +1,76 @@ +# App exemple pour YunoHost + +[![Integration level](https://dash.yunohost.org/integration/REPLACEBYYOURAPP.svg)](https://dash.yunohost.org/appci/app/REPLACEBYYOURAPP) +[![Install REPLACEBYYOURAPP with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=REPLACEBYYOURAPP) + +*[Read this readme in english.](./README.md)* + +> *Ce package vous permet d'installer REPLACEBYYOURAPP rapidement et simplement sur un serveur Yunohost. +Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* + +## Vue d'ensemble +Description rapide de cette application. + +**Version incluse:** 1.0 + +## Captures d'écran + +![](Lien vers une capture d'écran pour cette application) + +## Démo + +* [Démo officielle](Lien vers un site de démonstration pour cette application) + +## Configuration + +Comment configurer cette application: via le panneau d'administration, un fichier brut en SSH ou tout autre moyen. + +## Documentation + + * Documentation officielle: Lien vers la documentation officielle de cette application + * Documentation YunoHost: Si une documentation spécifique est nécessaire, n'hésitez pas à contribuer. + +## Caractéristiques spécifiques YunoHost + +#### Support multi-utilisateurs + +L'authentification LDAP et HTTP est-elle prise en charge? +L'application peut-elle être utilisée par plusieurs utilisateurs? + +#### Supported architectures + +* x86-64b - [![Build Status](https://ci-apps.yunohost.org/ci/logs/REPLACEBYYOURAPP%20%28Community%29.svg)](https://ci-apps.yunohost.org/ci/apps/REPLACEBYYOURAPP/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/REPLACEBYYOURAPP%20%28Community%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/REPLACEBYYOURAPP/) +* Jessie x86-64b - [![Build Status](https://ci-stretch.nohost.me/ci/logs/REPLACEBYYOURAPP%20%28Community%29.svg)](https://ci-stretch.nohost.me/ci/apps/REPLACEBYYOURAPP/) + +## Limitations + +* Limitations connues. + +## Informations additionnelles + +* Autres informations à ajouter sur cette application + +**Plus d'informations sur la page de documentation:** +https://yunohost.org/packaging_apps + +## Links + + * Signaler un bug: https://github.com/YunoHost-Apps/REPLACEBYYOURAPP_ynh/issues + * Site de l'application: Lien vers le site officiel de cette application + * Site web YunoHost: https://yunohost.org/ + +--- + +Informations pour les développeurs +---------------- + +**Seulement si vous voulez utiliser une branche de test pour le codage, au lieu de fusionner directement dans la banche principale.** +Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/REPLACEBYYOURAPP_ynh/tree/testing). + +Pour essayer la branche testing, procédez comme suit. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/REPLACEBYYOURAPP_ynh/tree/testing --debug +ou +sudo yunohost app upgrade REPLACEBYYOURAPP -u https://github.com/YunoHost-Apps/REPLACEBYYOURAPP_ynh/tree/testing --debug +``` diff --git a/check_process.default b/check_process.default new file mode 100644 index 0000000..cbf2d12 --- /dev/null +++ b/check_process.default @@ -0,0 +1,49 @@ +# See here for more information +# https://github.com/YunoHost/package_check#syntax-check_process-file + +# Move this file from check_process.default to check_process when you have filled it. + +;; Test complet + ; Manifest + domain="domain.tld" (DOMAIN) + path="/path" (PATH) + admin="john" (USER) + language="fr" + is_public=1 (PUBLIC|public=1|private=0) + password="pass" + port="666" (PORT) + ; Checks + pkg_linter=1 + setup_sub_dir=1 + setup_root=1 + setup_nourl=0 + setup_private=1 + setup_public=1 + upgrade=1 + upgrade=1 from_commit=CommitHash + backup_restore=1 + multi_instance=1 + incorrect_path=1 + port_already_use=0 + change_url=1 +;;; Levels + Level 1=auto + Level 2=auto + Level 3=auto +# Level 4: If the app supports LDAP and SSOwat, turn level 4 to '1' and add a link to an issue or a part of your code to show it. +# If the app does not use LDAP nor SSOwat, and can't use them, turn level 4 to 'na' and explain as well. + Level 4=0 + Level 5=auto + Level 6=auto + Level 7=auto + Level 8=0 + Level 9=0 + Level 10=0 +;;; Options +Email= +Notification=none +;;; Upgrade options + ; commit=CommitHash + name=Name and date of the commit. + manifest_arg=domain=DOMAIN&path=PATH&admin=USER&language=fr&is_public=1&password=pass&port=666& + diff --git a/conf/app.src b/conf/app.src new file mode 100644 index 0000000..c8c8448 --- /dev/null +++ b/conf/app.src @@ -0,0 +1,6 @@ +SOURCE_URL=http://download.noalyss.eu/version-7.0/noalyss-7015.tar.gz +SOURCE_FORMAT=tar.gz +SOURCE_IN_SUBDIR=true +SOURCE_FILENAME=noalyss-7015.tar.gz +SOURCE_SUM=586bd23eaa207a824b37eb94e6666e3992fb2d1846503d7f9cd85df84e18180c +SOURCE_SUM_PRG=sha256sum \ No newline at end of file diff --git a/conf/nginx.conf b/conf/nginx.conf index 3479a71..61f304a 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,20 +1,33 @@ -location PATHTOCHANGE/ { - alias ALIASTOCHANGE; +#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; +location __PATH__/ { - if ($scheme = http) { - rewrite ^ https://$server_name$request_uri? permanent; - } + # Path to source + alias __FINALPATH__/html/ ; - index index.php; - try_files $uri $uri/ index.php; + # Force usage of https + if ($scheme = http) { + rewrite ^ https://$server_name$request_uri? permanent; + } - location ~ [^/]\.php(/|$) { - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - fastcgi_pass unix:/var/run/php5-fpm-noalyss.sock; - fastcgi_index index.php; - include fastcgi_params; - fastcgi_param REMOTE_USER $remote_user; - fastcgi_param PATH_INFO $fastcgi_path_info; - fastcgi_param SCRIPT_FILENAME $request_filename; - } +### Example PHP configuration (remove it if not used) + index index.php; + + # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file + #client_max_body_size 50M; + + try_files $uri $uri/ index.php; + location ~ [^/]\.php(/|$) { + fastcgi_split_path_info ^(.+?\.php)(/.*)$; + fastcgi_pass unix:/var/run/php/php7.0-fpm-__NAME__.sock; + + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param REMOTE_USER $remote_user; + fastcgi_param PATH_INFO $fastcgi_path_info; + fastcgi_param SCRIPT_FILENAME $request_filename; + } +### End of PHP configuration part + + # Include SSOWAT user panel. + include conf.d/yunohost_panel.conf.inc; } diff --git a/conf/noalyss.conf b/conf/noalyss.conf index 3e51133..7d6c4a0 100644 --- a/conf/noalyss.conf +++ b/conf/noalyss.conf @@ -1,35 +1,34 @@ -}t tag +; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t +; %T: time the log has been written (the request has finished) +; it can accept a strftime(3) format: +; %d/%b/%Y:%H:%M:%S %z (default) +; The strftime(3) format must be encapsuled in a %{}t tag +; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t +; %u: remote user +; +; Default: "%R - %u %t \"%m %r\" %s" +;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%" + +; The log file for slow requests +; Default Value: not set +; Note: slowlog is mandatory if request_slowlog_timeout is set +;slowlog = log/$pool.log.slow ; The timeout for serving a single request after which a PHP backtrace will be ; dumped to the 'slowlog' file. A value of '0s' means 'off'. ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) ; Default Value: 0 -request_slowlog_timeout = 5s +;request_slowlog_timeout = 0 -; The log file for slow requests -; Default Value: not set -; Note: slowlog is mandatory if request_slowlog_timeout is set -slowlog = /var/log/nginx/NAMETOCHANGE.slow.log +; The timeout for serving a single request after which the worker process will +; be killed. This option should be used when the 'max_execution_time' ini option +; does not stop script execution for some reason. A value of '0' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +request_terminate_timeout = 1d ; Set open file descriptor rlimit. ; Default Value: system defined value -rlimit_files = 4096 +;rlimit_files = 1024 ; Set max core size rlimit. ; Possible Values: 'unlimited' or an integer greater or equal to 0 ; Default Value: system defined value -rlimit_core = 0 +;rlimit_core = 0 ; Chroot to this directory at the start. This value must be defined as an ; absolute path. When this value is not set, chroot is not used. @@ -195,14 +358,31 @@ rlimit_core = 0 ; Chdir to this directory at the start. ; Note: relative path can be used. ; Default Value: current directory or / when chroot -chdir = /var/www/NAMETOCHANGE +chdir = __FINALPATH__ ; Redirect worker stdout and stderr into main error log. If not set, stdout and ; stderr will be redirected to /dev/null according to FastCGI specs. ; Note: on highloaded environement, this can cause some delay in the page ; process time (several ms). ; Default Value: no -catch_workers_output = yes +;catch_workers_output = yes + +; Clear environment in FPM workers +; Prevents arbitrary environment variables from reaching FPM worker processes +; by clearing the environment in workers before env vars specified in this +; pool configuration are added. +; Setting to "no" will make all environment variables available to PHP code +; via getenv(), $_ENV and $_SERVER. +; Default Value: yes +;clear_env = no + +; Limits the extensions of the main script FPM will allow to parse. This can +; prevent configuration mistakes on the web server side. You should only limit +; FPM to .php extensions to prevent malicious users to use other extensions to +; execute php code. +; Note: set an empty value to allow all extensions. +; Default Value: .php +;security.limit_extensions = .php .php3 .php4 .php5 .php7 ; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from ; the current environment. @@ -238,6 +418,13 @@ catch_workers_output = yes ;php_admin_flag[log_errors] = on ;php_admin_value[memory_limit] = 32M -php_value[upload_max_filesize] = 10G -php_value[post_max_size] = 10G -php_value[mail.add_x_header] = Off +; Common values to change to increase file upload limit +; php_admin_value[upload_max_filesize] = 50M +; php_admin_value[post_max_size] = 50M +; php_admin_flag[mail.add_x_header] = Off + +; Other common parameters +; php_admin_value[max_execution_time] = 600 +; php_admin_value[max_input_time] = 300 +; php_admin_value[memory_limit] = 256M +; php_admin_flag[short_open_tag] = On diff --git a/manifest.json b/manifest.json index d8af73c..e817365 100644 --- a/manifest.json +++ b/manifest.json @@ -1,33 +1,66 @@ { "name": "NOALYSS (phpcompta)", "id": "noalyss", + "packaging_format": 1, "description": { "en": "Accounting free software (Beligum and French accounting)", "fr": "Logiciel libre de comptabilité (comptabilité Belge et Française)" }, - "license": "GPL-2", + "version": "7.0.15", + "url": "http://noalyss.be", + "license": "free", "maintainer": { "name": "bram", "email": "cortex@worlddomination.be", "url": "http://worlddomination.be" }, - "multi_instance": "false", + "requirements": { + "yunohost": ">= 3.0" + }, + "multi_instance": false, + "services": [ + "nginx", + "php7.0-fpm" + ], "arguments": { "install" : [ { "name": "domain", + "type": "domain", "ask": { - "en": "Choose a domain for NOALYSS" + "en": "Choose a domain name for Noalyss", + "fr": "Choisissez un nom de domaine pour Noalyss" }, - "example": "domain.org" + "example": "example.com" }, { "name": "path", + "type": "path", "ask": { - "en": "Choose a path for NOALYSS" + "en": "Choose a path for Noalyss", + "fr": "Choisissez un chemin pour Noalyss" }, "example": "/compta", "default": "/compta" + }, + { + "name": "is_public", + "type": "boolean", + "ask": { + "en": "Is it a public application?", + "fr": "Est-ce une application publique ?" + }, + "default": true + }, + { + "name": "language", + "type": "string", + "ask": { + "en": "Choose the application language", + "fr": "Choisissez la langue de l'application" + }, + "choices": ["fr", "en"], + "default": "fr" } ] } diff --git a/scripts/_common.sh b/scripts/_common.sh new file mode 100644 index 0000000..b3b9f3d --- /dev/null +++ b/scripts/_common.sh @@ -0,0 +1,17 @@ + +#================================================= +# COMMON VARIABLES +#================================================= +# TODO : remove p7zip-full if not needed +# for jessie +pkg_dependencies="postgresql php5 php5-pgsql php5-gd php-gettext p7zip-full libgd2-xpm-dev" + +if [ "$(lsb_release --codename --short)" != "jessie" ]; then + pkg_dependencies="postgresql php-pgsql php-gd php-gettext p7zip-full php-zip php-bcmath" +fi + +#================================================= +# COMMON HELPERS +#================================================= + +# None for the moment. \ No newline at end of file diff --git a/scripts/_psql.sh b/scripts/_psql.sh new file mode 100644 index 0000000..31d2b69 --- /dev/null +++ b/scripts/_psql.sh @@ -0,0 +1,155 @@ +#!/bin/bash + +# Create a master password and set up global settings +# Please always call this script in install and restore scripts +# usage: noalyss_psql_test_if_first_run + +noalyss_psql_test_if_first_run() { + if [ -f /etc/yunohost/psql ]; + then + echo "PostgreSQL is already installed, no need to create master password" + else + local pgsql="$(ynh_string_random)" + echo "$pgsql" > /etc/yunohost/psql + + if [ -e /etc/postgresql/9.4/ ] + then + local pg_hba=/etc/postgresql/9.4/main/pg_hba.conf + elif [ -e /etc/postgresql/9.6/ ] + then + local pg_hba=/etc/postgresql/9.6/main/pg_hba.conf + else + ynh_die "postgresql shoud be 9.4 or 9.6" + fi + + systemctl start postgresql + sudo --login --user=postgres psql -c"ALTER user postgres WITH PASSWORD '$pgsql'" postgres + + # force all user to connect to local database using passwords + # https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html#EXAMPLE-PG-HBA.CONF + # Note: we cant use peer since YunoHost create users with nologin + # See: https://github.com/YunoHost/yunohost/blob/unstable/data/helpers.d/user + sed -i '/local\s*all\s*all\s*peer/i \ + local all all password' "$pg_hba" + systemctl enable postgresql + systemctl reload postgresql + fi +} + +# Open a connection as a user +# +# example: noalyss_psql_connect_as 'user' 'pass' <<< "UPDATE ...;" +# example: noalyss_psql_connect_as 'user' 'pass' < /path/to/file.sql +# +# usage: noalyss_psql_connect_as user pwd [db] +# | arg: user - the user name to connect as +# | arg: pwd - the user password +# | arg: db - the database to connect to +noalyss_psql_connect_as() { + local user="$1" + local pwd="$2" + local db="$3" + sudo --login --user=postgres PGUSER="$user" PGPASSWORD="$pwd" psql "$db" +} + +# # Execute a command as root user +# +# usage: noalyss_psql_execute_as_root sql [db] +# | arg: sql - the SQL command to execute +noalyss_psql_execute_as_root () { + local sql="$1" + sudo --login --user=postgres psql <<< "$sql" +} + +# Execute a command from a file as root user +# +# usage: noalyss_psql_execute_file_as_root file [db] +# | arg: file - the file containing SQL commands +# | arg: db - the database to connect to +noalyss_psql_execute_file_as_root() { + local file="$1" + local db="$2" + sudo --login --user=postgres psql "$db" < "$file" +} + +# Create a database, an user and its password. Then store the password in the app s config +# +# After executing this helper, the password of the created database will be available in $db_pwd +# It will also be stored as "psqlpwd" into the app settings. +# +# usage: noalyss_psql_setup_db user name [pwd] +# | arg: user - Owner of the database +# | arg: name - Name of the database +# | arg: pwd - Password of the database. If not given, a password will be generated +noalyss_psql_setup_db () { + local db_user="$1" + local db_name="$2" + local new_db_pwd=$(ynh_string_random) # Generate a random password + # If $3 is not given, use new_db_pwd instead for db_pwd. + local db_pwd="${3:-$new_db_pwd}" + noalyss_psql_create_db "$db_name" "$db_user" "$db_pwd" # Create the database + + # sudo yunohost app setting "$app" "$key" --value="$value" --quiet + # sudo yunohost app setting noalyss psqlpwd -v=RhWNxNe6KdrncQdhbBvWsur6 --quiet + ynh_app_setting_set $app psqlpwd $db_pwd # Store the password in the app s config +} + +# Create a database and grant privilegies to a user +# +# usage: noalyss_psql_create_db db [user [pwd]] +# | arg: db - the database name to create +# | arg: user - the user to grant privilegies +# | arg: pwd - the user password +noalyss_psql_create_db() { + local db="$1" + local user="$2" + local pwd="$3" + noalyss_psql_create_user "$user" "$pwd" + sudo --login --user=postgres createdb --owner="$user" "$db" +} + +# Drop a database +# +# usage: noalyss_psql_remove_db user +# | arg: user - the user to drop +noalyss_psql_remove_db() { + local user="$1" + # because the user may have multiple databases + sudo su postgres --login -c "psql -l | grep \"\<$user\>\" | awk '{print \$1}' | xargs -l dropdb" + noalyss_psql_drop_user "$user" +} + +# Dump a database +# +# example: noalyss_psql_dump_db 'roundcube' > ./dump.sql +# +# usage: noalyss_psql_dump_db user +# | arg: db - the database name to dump +# | ret: the psqldump output +noalyss_psql_dump_db() { + local user="$1" + sudo su postgres --login -c "psql -l | grep \"\<$user\>\" | awk '{print \$1}' | xargs -l pg_dump -C" +} + + +# Create a user +# +# usage: noalyss_psql_create_user user pwd [host] +# | arg: user - the user name to create +# NOTICE : for Noalyss the user need to be able to createdb +noalyss_psql_create_user() { + local user="$1" + local pwd="$2" + sudo --login --user=postgres psql -c"CREATE USER $user createdb PASSWORD '$pwd'" postgres +} + +# Drop a user +# +# usage: noalyss_psql_drop_user user +# | arg: user - the user name to drop +noalyss_psql_drop_user() { + local user="$1" + sudo --login --user=postgres dropuser "$user" +} + + diff --git a/scripts/backup b/scripts/backup new file mode 100755 index 0000000..9605261 --- /dev/null +++ b/scripts/backup @@ -0,0 +1,92 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +#Keep this path for calling _common.sh inside the execution's context of backup and restore scripts +source ../settings/scripts/_common.sh +source /usr/share/yunohost/helpers +source ../settings/scripts/_psql.sh + +#================================================= +# MANAGE SCRIPT FAILURE +#================================================= + +ynh_clean_setup () { + ### Remove this function if there's nothing to clean before calling the remove script. + true +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_print_info "Loading installation settings..." + +app=$YNH_APP_INSTANCE_NAME + +final_path=$(ynh_app_setting_get $app final_path) +domain=$(ynh_app_setting_get $app domain) +db_name=$(ynh_app_setting_get $app db_name) + +#================================================= +# STANDARD BACKUP STEPS +#================================================= +# BACKUP THE APP MAIN DIR +#================================================= +ynh_print_info "Backing up the main app directory..." + +ynh_backup "$final_path" + +#================================================= +# BACKUP THE NGINX CONFIGURATION +#================================================= +ynh_print_info "Backing up nginx web server configuration..." + +ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" + +#================================================= +# BACKUP THE PHP-FPM CONFIGURATION +#================================================= +ynh_print_info "Backing up php-fpm configuration..." + +ynh_backup "/etc/php/7.0/fpm/pool.d/$app.conf" + +#================================================= +# BACKUP THE POSTGRES DATABASE +#================================================= +ynh_print_info "Backing up the Postgres database..." + +noalyss_psql_dump_db $app > db.sql + +#================================================= +# SPECIFIC BACKUP +#================================================= +# BACKUP LOGROTATE +#================================================= +#ynh_print_info "Backing up logrotate configuration..." + +#ynh_backup "/etc/logrotate.d/$app" + +#================================================= +# BACKUP SYSTEMD +#================================================= +#ynh_print_info "Backing up systemd configuration..." + +#ynh_backup "/etc/systemd/system/$app.service" + +#================================================= +# BACKUP A CRON FILE +#================================================= + +#ynh_backup "/etc/cron.d/$app" + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_print_info "Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." diff --git a/scripts/install b/scripts/install old mode 100644 new mode 100755 index 0905aeb..ba1edbd --- a/scripts/install +++ b/scripts/install @@ -1,63 +1,320 @@ -set -e +#!/bin/bash -# Retrieve arguments -domain=$1 -path=$2 +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= -# Check domain/path availability -sudo yunohost app checkurl $domain$path -a noalyss -if [[ ! $? -eq 0 ]]; then - exit 1 +source _common.sh +source /usr/share/yunohost/helpers +source _psql.sh + +#================================================= +# MANAGE SCRIPT FAILURE +#================================================= + +ynh_clean_setup () { + ### Remove this function if there's nothing to clean before calling the remove script. + true +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# RETRIEVE ARGUMENTS FROM THE MANIFEST +#================================================= + +domain=$YNH_APP_ARG_DOMAIN +path_url=$YNH_APP_ARG_PATH +#admin=$YNH_APP_ARG_ADMIN +is_public=$YNH_APP_ARG_IS_PUBLIC +language=$YNH_APP_ARG_LANGUAGE +#password=$YNH_APP_ARG_PASSWORD + +### If it's a multi-instance app, meaning it can be installed several times independently +### The id of the app as stated in the manifest is available as $YNH_APP_ID +### The instance number is available as $YNH_APP_INSTANCE_NUMBER (equals "1", "2", ...) +### The app instance name is available as $YNH_APP_INSTANCE_NAME +### - the first time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample +### - the second time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample__2 +### - ynhexample__{N} for the subsequent installations, with N=3,4, ... +### The app instance name is probably what interests you most, since this is +### guaranteed to be unique. This is a good unique identifier to define installation path, +### db names, ... +app=$YNH_APP_INSTANCE_NAME + +#================================================= +# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS +#================================================= +ynh_print_info "Validating installation parameters..." + +### If the app uses nginx as web server (written in HTML/PHP in most cases), the final path should be "/var/www/$app". +### If the app provides an internal web server (or uses another application server such as uwsgi), the final path should be "/opt/yunohost/$app" +### NOTICE : for Noalyss the .tgz contains a /html, a /include and other files. only the /html have to be exposed and it is specified in ./conf/nginx.conf +final_path=/var/www/$app +test ! -e "$final_path" || ynh_die "This path already contains a folder" + +# Normalize the url path syntax +path_url=$(ynh_normalize_url_path $path_url) + +# Register (book) web path +ynh_webpath_register $app $domain $path_url + +#================================================= +# STORE SETTINGS FROM MANIFEST +#================================================= +ynh_print_info "Storing installation settings..." + +ynh_app_setting_set $app domain $domain +ynh_app_setting_set $app path $path_url +#ynh_app_setting_set $app admin $admin +ynh_app_setting_set $app is_public $is_public +ynh_app_setting_set $app language $language + +#================================================= +# STANDARD MODIFICATIONS +#================================================= +# INSTALL DEPENDENCIES +#================================================= +ynh_print_info "Installing dependencies..." + +### `ynh_install_app_dependencies` allows you to add any "apt" dependencies to the package. +### Those deb packages will be installed as dependencies of this package. +### If you're not using this helper: +### - Remove the section "REMOVE DEPENDENCIES" in the remove script +### - As well as the section "REINSTALL DEPENDENCIES" in the restore script +### - And the section "UPGRADE DEPENDENCIES" in the upgrade script + +ynh_install_app_dependencies $pkg_dependencies + +#================================================= +# CREATE A MYSQL DATABASE +#================================================= +#ynh_print_info "Creating a MySQL database..." + +### Use these lines if you need a database for the application. +### `ynh_mysql_setup_db` will create a database, an associated user and a ramdom password. +### The password will be stored as 'mysqlpwd' into the app settings, +### and will be available as $db_pwd +### If you're not using these lines: +### done - Remove the section "BACKUP THE MYSQL DATABASE" in the backup script +### done - Remove also the section "REMOVE THE MYSQL DATABASE" in the remove script +### TODO - As well as the section "RESTORE THE MYSQL DATABASE" in the restore script + +#db_name=$(ynh_sanitize_dbid $app) +#ynh_app_setting_set $app db_name $db_name +#ynh_mysql_setup_db $db_name $db_name + +#================================================= +# CREATE A POSTGRESS DATABASE +#================================================= + +ynh_print_info "Testing if Postgress is installed..." +noalyss_psql_test_if_first_run + +ynh_print_info "Creating a Postgress database..." +db_name=$(ynh_sanitize_dbid $app) +ynh_app_setting_set $app db_name $db_name +noalyss_psql_setup_db $db_name $db_name + + +#================================================= +# DOWNLOAD, CHECK AND UNPACK SOURCE +#================================================= +ynh_print_info "Setting up source files..." + +### `ynh_setup_source` is used to install an app from a zip or tar.gz file, +### downloaded from an upstream source, like a git repository. +### `ynh_setup_source` use the file conf/app.src + +ynh_app_setting_set $app final_path $final_path +# Download, check integrity, uncompress and patch the source from app.src +ynh_setup_source "$final_path" + +#================================================= +# NGINX CONFIGURATION +#================================================= +ynh_print_info "Configuring nginx web server..." + +### `ynh_add_nginx_config` will use the file conf/nginx.conf + +# Create a dedicated nginx config +ynh_add_nginx_config + +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_print_info "Configuring system user..." + +# Create a system user +ynh_system_user_create $app + +#================================================= +# PHP-FPM CONFIGURATION +#================================================= +ynh_print_info "Configuring php-fpm..." + +### `ynh_add_fpm_config` is used to set up a PHP config. +### You can remove it if your app doesn't use PHP. +### `ynh_add_fpm_config` will use the files conf/php-fpm.conf and conf/php-fpm.ini +### If you're not using these lines: +### - You can remove these files in conf/. +### - Remove the section "BACKUP THE PHP-FPM CONFIGURATION" in the backup script +### - Remove also the section "REMOVE PHP-FPM CONFIGURATION" in the remove script +### - As well as the section "RESTORE THE PHP-FPM CONFIGURATION" in the restore script +### With the reload at the end of the script. +### - And the section "PHP-FPM CONFIGURATION" in the upgrade script + +# Create a dedicated php-fpm config +ynh_add_fpm_config + +#================================================= +# SPECIFIC SETUP +#================================================= +# ... +#================================================= + +#================================================= +# SETUP SYSTEMD +#================================================= +#ynh_print_info "Configuring a systemd service..." + +### `ynh_systemd_config` is used to configure a systemd script for an app. +### It can be used for apps that use sysvinit (with adaptation) or systemd. +### Have a look at the app to be sure this app needs a systemd script. +### `ynh_systemd_config` will use the file conf/systemd.service +### If you're not using these lines: +### - You can remove those files in conf/. +### - Remove the section "BACKUP SYSTEMD" in the backup script +### - Remove also the section "STOP AND REMOVE SERVICE" in the remove script +### - As well as the section "RESTORE SYSTEMD" in the restore script +### - And the section "SETUP SYSTEMD" in the upgrade script + +# Create a dedicated systemd config +#ynh_add_systemd_config + +#================================================= +# SETUP APPLICATION WITH CURL +#================================================= + +### Use these lines only if the app installation needs to be finalized through +### web forms. We generally don't want to ask the final user, +### so we're going to use curl to automatically fill the fields and submit the +### forms. + +# Set right permissions for curl install +chown -R $app: $final_path + +# Set the app as temporarily public for curl call +ynh_print_info "Configuring SSOwat..." +ynh_app_setting_set $app skipped_uris "/" +# Reload SSOwat config +yunohost app ssowatconf + +# Reload Nginx +systemctl reload nginx + +# Installation with curl +# ynh_print_info "Finalizing installation..." +# ynh_local_curl "/INSTALL_PATH" "key1=value1" "key2=value2" "key3=value3" + +# Remove the public access +if [ $is_public -eq 0 ] +then + ynh_app_setting_delete $app skipped_uris fi -path=${path%/} +#================================================= +# MODIFY A CONFIG FILE +#================================================= +ynh_print_info "Modifying $app config file..." +cp ../conf/noalyss.conf $final_path/include/config.inc.php -sudo apt-get install postgresql php5 php5-pgsql php5-gd php-gettext p7zip-full libgd2-xpm-dev -y +### `ynh_replace_string` is used to replace a string in a file. +### (It's compatible with sed regular expressions syntax) +#psqlpwd=$(ynh_app_setting_get $app psqlpwd) +#ynh_print_info "dbpass : $psqlpwd " +ynh_replace_string "DATABASE_PASSWORD" "$(ynh_app_setting_get $app psqlpwd)" "$final_path/include/config.inc.php" -final_path=/var/www/noalyss -sudo mkdir -p $final_path -sudo cp -a ../sources/html/ $final_path -sudo cp -a ../sources/include/ $final_path +#================================================= +# STORE THE CONFIG FILE CHECKSUM +#================================================= -sudo chown -R www-data: $final_path +### `ynh_store_file_checksum` is used to store the checksum of a file. +### That way, during the upgrade script, by using `ynh_backup_if_checksum_is_different`, +### you can make a backup of this file before modifying it again if the admin had modified it. -sudo yunohost app setting noalyss version -v "6.9.0.0" +# Calculate and store the config file checksum into the app settings +ynh_store_file_checksum "$final_path/include/config.inc.php" -if [[ "$path" == "" ]]; then - sed -i "s@PATHTOCHANGE@/@g" ../conf/nginx.conf -else - sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf +#================================================= +# GENERIC FINALIZATION +#================================================= +# SECURE FILES AND DIRECTORIES +#================================================= + +### For security reason, any app should set the permissions to root: before anything else. +### Then, if write authorization is needed, any access should be given only to directories +### that really need such authorization. + +# Set permissions to app files +# chown -R root: $final_path + +#================================================= +# SETUP LOGROTATE +#================================================= +ynh_print_info "Configuring log rotation..." + +### `ynh_use_logrotate` is used to configure a logrotate configuration for the logs of this app. +### Use this helper only if there is effectively a log file for this app. +### If you're not using this helper: +### - Remove the section "BACKUP LOGROTATE" in the backup script +### - Remove also the section "REMOVE LOGROTATE CONFIGURATION" in the remove script +### - As well as the section "RESTORE THE LOGROTATE CONFIGURATION" in the restore script +### - And the section "SETUP LOGROTATE" in the upgrade script + +# Use logrotate to manage application logfile(s) +ynh_use_logrotate + +#================================================= +# ADVERTISE SERVICE IN ADMIN PANEL +#================================================= + +### `yunohost service add` is a CLI yunohost command to add a service in the admin panel. +### You'll find the service in the 'services' section of YunoHost admin panel. +### This CLI command would be useless if the app does not have any services (systemd or sysvinit) +### If you're not using these lines: +### - You can remove these files in conf/. +### - Remove the section "REMOVE SERVICE FROM ADMIN PANEL" in the remove script +### - As well as the section "ADVERTISE SERVICE IN ADMIN PANEL" in the restore script + +# yunohost service add $app --log "/var/log/$app/$app.log" +# if using yunohost version 3.2 or more in the 'manifest.json', a description can be added +#yunohost service add $app --description "$app daemon for XXX" --log "/var/log/$app/$app.log" + +#================================================= +# SETUP SSOWAT +#================================================= +ynh_print_info "Configuring SSOwat..." + +# Make app public if necessary +if [ $is_public -eq 1 ] +then + # unprotected_uris allows SSO credentials to be passed anyway. + ynh_app_setting_set $app unprotected_uris "/" fi -sed -i "s@ALIASTOCHANGE@$final_path/html/@g" ../conf/nginx.conf +#================================================= +# RELOAD NGINX +#================================================= +ynh_print_info "Reloading nginx web server..." -sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/noalyss.conf +systemctl reload nginx -sed -i "s@NAMETOCHANGE@noalyss@g" ../conf/php-fpm.conf +#================================================= +# END OF SCRIPT +#================================================= -db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p') - -sudo su postgres -c "createuser -S -R --createdb noalyss" -sudo su postgres -c "psql -c \"ALTER USER noalyss with PASSWORD '$db_pwd';\"" - -sed -i "s@DATABASE_PASSWORD@$db_pwd@g" ../conf/noalyss.conf -sudo cp ../conf/noalyss.conf $final_path/include/config.inc.php - -finalphpconf=/etc/php5/fpm/pool.d/noalyss.conf - -sudo cp ../conf/php-fpm.conf $finalphpconf -sudo chown root: $finalphpconf -sudo chmod 644 $finalphpconf - -# Reload Nginx and regenerate SSOwat conf -sudo service php5-fpm restart -sudo service nginx reload -sudo yunohost app ssowatconf - -sudo yunohost app setting noalyss unprotected_uris -v "/" -sudo yunohost app ssowatconf -curl -kL -H "Host: $domain" -X POST https://127.0.0.1$path/admin/setup.php --data "go=yolo" > /dev/null 2>&1 -sudo yunohost app setting noalyss unprotected_uris -v "" -sudo yunohost app ssowatconf - -# su postgres -c "psql account_repository -c 'delete from ac_users;'" +ynh_print_info "Installation of $app completed" +ynh_print_info "Go to https://$domain$path_url/install.php to continue !" \ No newline at end of file diff --git a/scripts/remove b/scripts/remove old mode 100644 new mode 100755 index 4cfdcf8..42b98b7 --- a/scripts/remove +++ b/scripts/remove @@ -1,16 +1,134 @@ -set -e +#!/bin/bash -final_path=/var/www/noalyss +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= -sudo rm -rf $final_path +source _common.sh +source /usr/share/yunohost/helpers +source _psql.sh -sudo su postgres -c "psql -l | grep \"\\" | awk '{print \$1}' | xargs -l dropdb" +#================================================= +# LOAD SETTINGS +#================================================= +ynh_print_info "Loading installation settings..." -sudo su postgres -c 'dropuser noalyss' +app=$YNH_APP_INSTANCE_NAME -finalphpconf=/etc/php5/fpm/pool.d/noalyss.conf +domain=$(ynh_app_setting_get $app domain) +port=$(ynh_app_setting_get $app port) +db_name=$(ynh_app_setting_get $app db_name) +db_user=$db_name +final_path=$(ynh_app_setting_get $app final_path) -rm $finalphpconf -rm /etc/nginx/conf.d/$domain.d/noalyss.conf +#===============#================================== +# STANDARD REMOVE +#================================================= +# REMOVE SERVICE FROM ADMIN PANEL +#================================================= -domain=$(sudo yunohost app setting noalyss domain) +# Remove a service from the admin panel, added by `yunohost service add` +#if yunohost service status $app >/dev/null 2>&1 +#then +# ynh_print_info "Removing $app service" +# yunohost service remove $app +#fi + +#================================================= +# STOP AND REMOVE SERVICE +#================================================= +#ynh_print_info "Stopping and removing the systemd service" + +# Remove the dedicated systemd config +#ynh_remove_systemd_config + +#================================================= +# REMOVE THE POSTGRES DATABASE +#================================================= +ynh_print_info "Removing the Postgres database" + +# Remove a database if it exists, along with the associated user +noalyss_psql_remove_db $db_user + +#================================================= +# REMOVE DEPENDENCIES +#================================================= +ynh_print_info "Removing dependencies" + +# Remove metapackage and its dependencies +ynh_remove_app_dependencies + +#================================================= +# REMOVE APP MAIN DIR +#================================================= +ynh_print_info "Removing app main directory" + +# Remove the app directory securely +ynh_secure_remove "$final_path" + +#================================================= +# REMOVE NGINX CONFIGURATION +#================================================= +ynh_print_info "Removing nginx web server configuration" + +# Remove the dedicated nginx config +ynh_remove_nginx_config + +#================================================= +# REMOVE PHP-FPM CONFIGURATION +#================================================= +ynh_print_info "Removing php-fpm configuration" + +# Remove the dedicated php-fpm config +ynh_remove_fpm_config + +#================================================= +# REMOVE LOGROTATE CONFIGURATION +#================================================= +ynh_print_info "Removing logrotate configuration" + +# Remove the app-specific logrotate config +ynh_remove_logrotate + +#================================================= +# CLOSE A PORT +#================================================= + +#if yunohost firewall list | grep -q "\- $port$" +#then +# ynh_print_info "Closing port $port" +# ynh_exec_warn_less yunohost firewall disallow TCP $port +#fi + +#================================================= +# SPECIFIC REMOVE +#================================================= +# REMOVE THE CRON FILE +#================================================= + +# Remove a cron file +#ynh_secure_remove "/etc/cron.d/$app" + +# Remove a directory securely +#ynh_secure_remove "/etc/$app/" + +# Remove the log files +#ynh_secure_remove "/var/log/$app/"# +# +##================================================= +## GENERIC FINALIZATION +#================================================= +# REMOVE DEDICATED USER +#================================================= +ynh_print_info "Removing the dedicated system user" + +# Delete a system user +ynh_system_user_delete $app + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_print_info "Removal of $app completed" diff --git a/scripts/restore b/scripts/restore new file mode 100755 index 0000000..8af25e8 --- /dev/null +++ b/scripts/restore @@ -0,0 +1,143 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +#Keep this path for calling _common.sh inside the execution's context of backup and restore scripts +source ../settings/scripts/_common.sh +source /usr/share/yunohost/helpers +source ../settings/scripts/_psql.sh + +#================================================= +# MANAGE SCRIPT FAILURE +#================================================= + +ynh_clean_setup () { + #### Remove this function if there's nothing to clean before calling the remove script. + true +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_print_info "Loading settings..." + +app=$YNH_APP_INSTANCE_NAME + +domain=$(ynh_app_setting_get $app domain) +path_url=$(ynh_app_setting_get $app path) +final_path=$(ynh_app_setting_get $app final_path) +db_name=$(ynh_app_setting_get $app db_name) + +#================================================= +# CHECK IF THE APP CAN BE RESTORED +#================================================= +ynh_print_info "Validating restoration parameters..." + +ynh_webpath_available $domain $path_url \ + || ynh_die "Path not available: ${domain}${path_url}" +test ! -d $final_path \ + || ynh_die "There is already a directory: $final_path " + +#================================================= +# STANDARD RESTORATION STEPS +#================================================= +# RESTORE THE NGINX CONFIGURATION +#================================================= + +ynh_restore_file "/etc/nginx/conf.d/$domain.d/$app.conf" + +#================================================= +# RESTORE THE APP MAIN DIR +#================================================= +ynh_print_info "Restoring the app main directory..." + +ynh_restore_file "$final_path" + +#================================================= +# RECREATE THE DEDICATED USER +#================================================= +ynh_print_info "Recreating the dedicated system user..." + +# Create the dedicated user (if not existing) +ynh_system_user_create $app + +#================================================= +# RESTORE USER RIGHTS +#================================================= + +# Restore permissions on app files +chown -R $app: $final_path + +#================================================= +# RESTORE THE PHP-FPM CONFIGURATION +#================================================= + +ynh_restore_file "/etc/php/7.0/fpm/pool.d/$app.conf" + +#================================================= +# SPECIFIC RESTORATION +#================================================= +# REINSTALL DEPENDENCIES +#================================================= +ynh_print_info "Reinstalling dependencies..." + +# Define and install dependencies +ynh_install_app_dependencies $pkg_dependencies + +#================================================= +# RESTORE THE POSTGRES DATABASE +#================================================= +ynh_print_info "Restoring the Postgres database..." + +db_pwd=$(ynh_app_setting_get $app mysqlpwd) +noalyss_psql_test_if_first_run +noalyss_psql_setup_db $db_name $db_name $(ynh_app_setting_get $app psqlpwd) +noalyss_psql_execute_file_as_root ./db.sql $db_name + +#================================================= +# RESTORE SYSTEMD +#================================================= +#ynh_print_info "Restoring the systemd configuration..." + +#ynh_restore_file "/etc/systemd/system/$app.service" +#systemctl enable $app.service + +#================================================= +# ADVERTISE SERVICE IN ADMIN PANEL +#================================================= + +#yunohost service add $app --log "/var/log/$app/$app.log" + +#================================================= +# RESTORE THE CRON FILE +#================================================= + +#ynh_restore_file "/etc/cron.d/$app" + +#================================================= +# RESTORE THE LOGROTATE CONFIGURATION +#================================================= + +#ynh_restore_file "/etc/logrotate.d/$app" + +#================================================= +# GENERIC FINALIZATION +#================================================= +# RELOAD NGINX AND PHP-FPM +#================================================= +ynh_print_info "Reloading nginx web server and php-fpm..." + +systemctl reload php7.0-fpm +systemctl reload nginx + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_print_info "Restoration completed for $app" diff --git a/sources/AUTHORS b/sources/AUTHORS deleted file mode 100644 index d5ff049..0000000 --- a/sources/AUTHORS +++ /dev/null @@ -1,2 +0,0 @@ -Dany De Bontridder danydb@aevalys.eu, dany118@gmail.com -Stan Pinte stanpinte@sauvages.be diff --git a/sources/COPYING b/sources/COPYING deleted file mode 100644 index 295c64d..0000000 --- a/sources/COPYING +++ /dev/null @@ -1,138 +0,0 @@ -GNU GENERAL PUBLIC LICENSE - -Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. - -Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. - -Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and modification follow. -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: - - * a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. - - * b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. - -* c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. - -3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: - - * a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - - * b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - -* c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. - -If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. - -5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. - -This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. - -9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - -one line to give the program's name and an idea of what it does. -Copyright (C) yyyy name of author - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this when it starts in an interactive mode: - -Gnomovision version 69, Copyright (C) year name of author -Gnomovision comes with ABSOLUTELY NO WARRANTY; for details -type `show w'. This is free software, and you are welcome -to redistribute it under certain conditions; type `show c' -for details. - -The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: - -Yoyodyne, Inc., hereby disclaims all copyright -interest in the program `Gnomovision' -(which makes passes at compilers) written -by James Hacker. - -signature of Ty Coon, 1 April 1989 -Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. diff --git a/sources/README b/sources/README deleted file mode 100644 index 8403caf..0000000 --- a/sources/README +++ /dev/null @@ -1,4 +0,0 @@ -Si vous avez besoin d'aide pour l'installation -utilisez la mailing list -Pour souscrire ou faire des recherches - aller https://lists.nongnu.org/mailman/listinfo/noalyss-generale diff --git a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso.sql b/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso.sql deleted file mode 100644 index b930d53..0000000 --- a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso.sql +++ /dev/null @@ -1,175 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007/09/16 10:54 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tmp_pcmn; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_country) FROM stdin; -1 comptes de capitaux 0 FR -101 Capital 1 FR -105 Ecarts de réévaluation 1 FR -1061 Réserve légale 1 FR -1063 Réserves statutaires ou contractuelles 1 FR -1064 Réserves réglementées 1 FR -1068 Autres réserves 1 FR -108 Compte de l'exploitant 1 FR -12 résultat de l'exercice (bénéfice ou perte) 1 FR -145 Amortissements dérogatoires 1 FR -146 Provision spéciale de réévaluation 1 FR -147 Plus-values réinvesties 1 FR -148 Autres provisions réglementées 1 FR -15 Provisions pour risques et charges 1 FR -16 emprunts et dettes assimilees 1 FR -2 comptes d'immobilisations 0 FR -20 immobilisations incorporelles 2 FR -201 Frais d'établissement 20 FR -206 Droit au bail 20 FR -207 Fonds commercial 20 FR -208 Autres immobilisations incorporelles 20 FR -21 immobilisations corporelles 2 FR -23 immobilisations en cours 2 FR -27 autres immobilisations financieres 2 FR -280 Amortissements des immobilisations incorporelles 2 FR -281 Amortissements des immobilisations corporelles 2 FR -290 Provisions pour dépréciation des immobilisations incorporelles 2 FR -291 Provisions pour dépréciation des immobilisations corporelles (même ventilation que celle du compte 21) 2 FR -297 Provisions pour dépréciation des autres immobilisations financières 2 FR -3 comptes de stocks et en cours 0 FR -31 matieres premières (et fournitures) 3 FR -32 autres approvisionnements 3 FR -33 en-cours de production de biens 3 FR -34 en-cours de production de services 3 FR -35 stocks de produits 3 FR -37 stocks de marchandises 3 FR -391 Provisions pour dépréciation des matières premières (et fournitures) 3 FR -392 Provisions pour dépréciation des autres approvisionnements 3 FR -393 Provisions pour dépréciation des en-cours de production de biens 3 FR -394 Provisions pour dépréciation des en-cours de production de services 3 FR -395 Provisions pour dépréciation des stocks de produits 3 FR -397 Provisions pour dépréciation des stocks de marchandises 3 FR -4 comptes de tiers 0 FR -400 Fournisseurs et Comptes rattachés 4 FR -409 Fournisseurs débiteurs 4 FR -410 Clients et Comptes rattachés 4 FR -419 Clients créditeurs 4 FR -421 Personnel - Rémunérations dues 4 FR -428 Personnel - Charges à payer et produits à recevoir 4 FR -43 Sécurité sociale et autres organismes sociaux 4 FR -431 Sécurité sociale 43 FR -43731 Cotis.Sal.+Pat. Retraite salariés dûes 43 FR -43732 Cotis.Sal.+Pat. Retraite cadres dûes 43 FR -4374 Cotis.Sal.+Pat. ASSEDIC dûes 43 FR -444 Etat - Impôts sur les bénéfices 4 FR -445 Etat - Taxes sur le chiffre d'affaires 4 FR -44562 T.V.A. sur immobilisations 445 FR -445661 T.V.A. déductible 19,6% sur autres biens et services 445 FR -445662 T.V.A. déductible 5,5% sur autres biens et services 445 FR -445663 T.V.A. déductible 2,1% sur autres biens et services 445 FR -44571 T.V.A. collectée 19,6% 445 FR -44572 T.V.A. collectée 5,5% 445 FR -44573 T.V.A. collectée 2,1% 445 FR -447 Autres impôts, taxes et versements assimilés 4 FR -45 Groupe et associes 4 FR -455 Associés - Comptes courants 45 FR -46 Débiteurs divers et créditeurs divers 4 FR -47 comptes transitoires ou d'attente 4 FR -481 Charges à répartir sur plusieurs exercices 4 FR -486 Charges constatées d'avance 4 FR -487 Produits constatés d'avance 4 FR -491 Provisions pour dépréciation des comptes de clients 4 FR -496 Provisions pour dépréciation des comptes de débiteurs divers 4 FR -5 comptes financiers 0 FR -50 valeurs mobilières de placement 5 FR -51 banques, établissements financiers et assimilés 5 FR -53 Caisse 5 FR -54 régies d'avance et accréditifs 5 FR -58 virements internes 5 FR -590 Provisions pour dépréciation des valeurs mobilières de placement 5 FR -6 comptes de charges 0 FR -60 Achats (sauf 603) 6 FR -607 Achats de marchandises 6 FR -603 variations des stocks (approvisionnements et marchandises) 6 FR -6031 Variation des stocks de matières premières (et fournitures) 603 FR -6032 Variation des stocks des autres approvisionnements 603 FR -6037 Variation des stocks de marchandises 603 FR -61 autres charges externes - Services extérieurs 6 FR -62 autres charges externes - Autres services extérieurs 6 FR -63 Impôts, taxes et versements assimiles 6 FR -641 Rémunérations du personnel 6 FR -644 Rémunération du travail de l'exploitant 6 FR -645 Charges de sécurité sociale et de prévoyance 6 FR -6451 Cotisations à l'URSSAF 645 FR -6453 Cotisations aux caisses de retraites 645 FR -6454 Cotisations aux ASSEDIC 645 FR -646 Cotisations sociales personnelles de l'exploitant 6 FR -65 Autres charges de gestion courante 6 FR -66 Charges financières 6 FR -67 Charges exceptionnelles 6 FR -681 Dotations aux amortissements et aux provisions - Charges d'exploitation 6 FR -6811 Dotations aux amortissements sur immobilisations incorporelles et corporelles 681 FR -6815 Dotations aux provisions pour risques et charges d'exploitation 681 FR -6816 Dotations aux provisions pour dépréciation des immobilisations incorporelles et corporelles 681 FR -6817 Dotations aux provisions pour dépréciation des actifs circulants 681 FR -686 Dotations aux amortissements et aux provisions - Charges financières 6 FR -687 Dotations aux amortissements et aux provisions - Charges exceptionnelles 6 FR -691 Participation des salariés aux résultats 6 FR -695 Impôts sur les bénéfices 6 FR -697 Imposition forfaitaire annuelle des sociétés 6 FR -699 Produits - Reports en arrière des déficits 6 FR -7 comptes de produits 0 FR -701 Ventes de produits finis 7 FR -706 Prestations de services 7 FR -707 Ventes de marchandises 7 FR -708 Produits des activités annexes 7 FR -709 Rabais, remises et ristournes accordés par l'entreprise 7 FR -713 Variation des stocks (en-cours de production, produits) 7 FR -72 Production immobilisée 7 FR -74 Subventions d'exploitation 7 FR -75 Autres produits de gestion courante 7 FR -753 Jetons de présence et rémunérations d'administrateurs, gérants,... 75 FR -754 Ristournes perçues des coopératives (provenant des excédents) 75 FR -755 Quotes-parts de résultat sur opérations faites en commun 75 FR -76 Produits financiers 7 FR -77 Produits exceptionnels 7 FR -781 Reprises sur amortissements et provisions (à inscrire dans les produits d'exploitation) 7 FR -786 Reprises sur provisions pour risques (à inscrire dans les produits financiers) 7 FR -787 Reprises sur provisions (à inscrire dans les produits exceptionnels) 7 FR -79 Transferts de charges 7 FR -8 Comptes spéciaux 0 FR -80 Engagements hors bilan 8 FR -801 Engagements donnés par l'entité 80 FR -8011 Avals, cautions, garanties 801 FR -8014 Effets circulant sous l'endos de l'entité 801 FR -8016 Redevances crédit-bail restant à courir 801 FR -80161 Crédit-bail mobilier 8016 FR -80165 Crédit-bail immobilier 8016 FR -8018 Autres engagements donnés 801 FR -802 Engagements reçus par l'entité 80 FR -8021 Avals, cautions, garanties 802 FR -8024 Créances escomptées non échues 802 FR -8026 Engagements reçus pour utilisation en crédit-bail 802 FR -80261 Crédit-bail mobilier 8026 FR -80265 Crédit-bail immobilier 8026 FR -8028 Autres engagements reçus 802 FR -809 Contrepartie des engagements 80 FR -8091 Contrepartie 801 809 FR -8092 Contrepartie 802 809 FR -88 Résultat en instance d'affectation 8 FR -89 Bilan 8 FR -890 Bilan d'ouverture 89 FR -891 Bilan de clôture 89 FR -9 Comptes analytiques 0 FR -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_bil10000.form b/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_bil10000.form deleted file mode 100644 index 201a0b1..0000000 --- a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_bil10000.form +++ /dev/null @@ -1,179 +0,0 @@ -# Bilan (Système abrégé personnalisé) -# version 2007/10/23 02:55 (en compte) - -# Liste des comptes utilisés -$C101=round([101%],2) -$C105=round([105%],2) -$C1061=round([1061%],2) -$C1063=round([1063%],2) -$C1064=round([1064%],2) -$C1068=round([1068%],2) -$C108=round([108%],2) -### REPORT A NOUVEAU -$C11=round([11%],2) -$C12=round([12%],2) -### RESULTAT DE L'EXERCICE -$C145=round([145%],2) -$C146=round([146%],2) -$C147=round([147%],2) -$C148=round([148%],2) -$C15=round([15%],2) -$C16=round([16%],2) -$C201=round([201%],2) -$C206=round([206%],2) -$C207=round([207%],2) -$C208=round([208%],2) -$C21=round([21%],2) -$C23=round([23%],2) -$C27=round([27%],2) -$C280=round([280%],2) -$C281=round([281%],2) -$C290=round([290%],2) -$C291=round([291%],2) -$C297=round([297%],2) -$C31=round([31%],2) -$C33=round([33%],2) -$C34=round([34%],2) -$C35=round([35%],2) -$C37=round([37%],2) -$C391=round([391%],2) -$C393=round([393%],2) -$C394=round([394%],2) -$C395=round([395%],2) -$C397=round([397%],2) -$C400=round([400%],2) -$C409=round([409%],2) -$C410=round([410%],2) -$C419=round([419%],2) -$C421=round([421%],2) -$C428=round([428%],2) -$C43D=round([43%],2) -$C43C=round([43%],2) -$C444D=round([444%],2) -$C444C=round([444%],2) -$C445D=round([445%],2) -$C445C=round([445%],2) -$C447=round([447%],2) -$C487=round([487%],2) -$C455D=round([455%],2) -$C455C=round([455%],2) -$C46=round([46%],2) -$C486=round([486%],2) -$C491=round([491%],2) -$C496=round([496%],2) -$C50=round([50%],2) -$C51D=round([51%],2) -$C53=round([53%],2) -$C54=round([54%],2) -$C58=round([58%],2) -$C590=round([590%],2) - -# --- ACTIF --- -## Actif immobilisé -### immobilisations incorporelles -$S10001=$C206+$C207 -$S10002=$C201+$C208 -$S10003=$C280+$C290 -### immobilisations corporelles -$S10004=$C21+$C23 -$S10005=$C281+$C291 -### immobilisations financières -$S10006=$C27 -$S10007=$C297 -## Actif circulant -### Stock et en-cours (autres) -$S10011=$C31+$C33+$C34+$C35 -$S10012=$C391+$C393+$C394+$C395 -### Stock et en-cours (marchandises) -$S10013=$C37 -$S10014=$C397 -### Avances et acomptes versés -$S10015=$C409 -### Créances clients -$S10016=$C410 -$S10017=$C491 -### Créances autres -$S10018=$C428+$C43D+$C444D+$C445D+$C455D+$C46 -$S10019=$C496 -### Valeurs mobilières -$S10020=$C50 -$S10021=$C590 -### Disponibilités -$S10022=$C51D+$C54+$C58 -### Caisse -$S10023=$C53 -### Charges constatées d'avance -$S10031=$C486 - -## Total I -$S10111=$S10001+$S10002+$S10004+$S10006 -$S10112=$S10003+$S10005+$S10007 -$S10113=$S10111-$S10112 -# N-1 -$S10114=0 -## Total II -$S10121=$S10011+$S10013+$S10015+$S10016+$S10018+$S10020+$S10022+$S10023 -$S10122=$S10012+$S10014+$S10017+$S10019+$S10021 -$S10123=$S10121-$S10122 -# N-1 -$S10124=0 -## Total III -$S10131=$S10031 -## Total I+II+III -$S10991=$S10111+$S10121+$S10131 -$S10992=$S10112+$S10122 -$S10993=$S10113+$S10123 -# N-1 -$S10994=0 - - -# --- PASSIF --- -## Capitaux propres -### Capital -$S11001=$C101+$C108 -### Ecarts de réévaluation -$S11002=$C105 -### Réserves -### Réserve légale -$S11003=$C1061 -### Réserves réglementées -$S11004=$C1064 -### Autres réserves -$S11005=$C1063+$C1068 -### REPORT A NOUVEAU -$S11006=$C11 -# RESULTAT DE L'EXERCICE -$S11007=$C12 -### Provisions réglementées -$S11008=$C145+$C146+$C147+$C148 -## Provisions -$S11011=$C15 -## Dettes -### Emprunts et dettes assimilées -$S11021=$C16 -### Avances et acomptes reçus -$S11022=$C419 -### Fournisseurs et comptes rattachés -$S11023=$C400 -### Autres dettes -$S11024=$C421+$C428+$C43C+$C444C+$C445C+$C447+$C455C+$C46 -## Produits constatés d'avance -$S11031=$C487 - -## Total I -$S11111=$S11001+$S11002+$S11003+$S11004+$S11005+$S11007+$S11008 -$S11112=0 -# N-1 -## Total II -$S11121=$S11011 -$S11122=0 -# N-1 -## Total III -$S11131=$S11021+$S11022+$S11023+$S11024 -$S11132=0 -# N-1 -## Total IV -$S11141=$S11031 -## Total I+II+III+IV -$S11991=$S11111+$S11121+$S11131+$S11141 -$S11992=0 \ No newline at end of file diff --git a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_bil10000.ods b/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_bil10000.ods deleted file mode 100644 index a7f418384cd6764408b17eb3d8faaaccd875df7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20884 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 Wc}bgsa_=$*(lG}F0HSsG&i(@tHt6dB diff --git a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_bil10000.xls b/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_bil10000.xls deleted file mode 100644 index 16244f3ab960d8b1745418bf96c1b0ff6ae6c298..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28672 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 F{{g3QdXfMD diff --git a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_comptes-defaut.sql b/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_comptes-defaut.sql deleted file mode 100644 index cbaac1c..0000000 --- a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_comptes-defaut.sql +++ /dev/null @@ -1,26 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007-09-08 02:49 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: parm_code; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY parm_code (p_code, p_value, p_comment) FROM stdin; -BANQUE 51 Poste comptable par défaut pour les banques -CAISSE 53 Poste comptable par défaut pour les caisses -CUSTOMER 410 Poste comptable par défaut pour les clients -VENTE 707 Poste comptable par défaut pour les ventes -VIREMENT_INTERNE 58 Poste comptable par défaut pour les virements internes -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_cr1000.form b/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_cr1000.form deleted file mode 100644 index 9e1bc90..0000000 --- a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_cr1000.form +++ /dev/null @@ -1,129 +0,0 @@ -# Compte de résultat (Système abrégé personnalisé) -# version 2007/10/23 14:00 (en compte) - -# Liste des comptes utilisés -$C60=round([60],2) -$C607=round([607%],2) -$C6031=round([6031%],2) -$C6032=round([6032%],2) -$C6037=round([6037%],2) -$C61=round([61%],2) -$C62=round([62%],2) -$C63=round([63%],2) -$C641=round([641%],2) -$C644=round([644%],2) -$C645=round([645%],2) -$C646=round([646%],2) -$C65=round([65%],2) -$C66=round([66%],2) -$C67=round([67%],2) -$C6811=round([6811%],2) -$C6815=round([6815%],2) -$C6816=round([6816%],2) -$C6817=round([6817%],2) -$C686=round([686%],2) -$C687=round([687%],2) -$C691=round([691%],2) -$C695=round([695%],2) -$C697=round([697%],2) -$C701=round([701%],2) -$C706=round([706%],2) -$C707=round([707%],2) -$C708=round([708%],2) -$C709=round([709%],2) -$C713=round([713%],2) -$C72=round([72%],2) -$C74=round([74%],2) -$C75=round([75%],2) -$C76=round([76%],2) -$C77=round([77%],2) -$C781=round([781%],2) -$C786=round([786%],2) -$C787=round([787%],2) -$C79=round([79%],2) - -# --- CHARGES --- -## Charges d'exploitation -### Achats marchandises -$S10001=$C607 -### Variation stocks marchandises -$S10002=$C6037 -### Achats approvisionnements sauf 607 -$S10003=$C60 -### Variation stocks approvisionnements -$S10004=$C6031+$C6032 -### Autres charges externes -$S10005=$C61+$C62 -### Impôts et taxes assimilés -$S10006=$C63 -### Rémunérations du personnel -$S10007=$C641+$C644 -### Charges sociales -$S10008=$C645+$C646 -### Dotation amortissements -$S10009=$C6811 -### Dotation provisions -$S10010=$C6815+$C6816+$C6817 -### Autres charges -$S10011=$C65 -## Charges financières -$S10012=$C66+$C686 -## Charges exceptionnelles -$S10021=$C67+$C687+$C691 -## Impôts sur les bénéfices -$S10031=$C695+$C697 -### Bénéfice -$F1001=$S11131-$S10141 -$S10151=($F1001>=0)?$F1001:0 -$S10152=0 # N-1 - -## Total I -$S10111=$S10001+$S10002+$S10003+$S10004+$S10005+$S10006+$S10007+$S10008+$S10009+$S10010+$S10011+$S10012 -# N-1 -$S10112=0 -## Total II -$S10121=$S10021 -## Total III -$S10131=$S10031 -## Total I+II+III -$S10141=$S10111+$S10121+$S10131 -## Total -$S10991=$S10141+$S10151 -# N-1 -$S10992=0 - -# --- PRODUITS --- -## Produits d'exploitation -### Vente marchandises -$S11001=$C707-$C709 -### Production vendue -$S11002=$C701+$C706+$C708 -### Production stockée -$S11003=$C713 -### Production immobilisée -$S11004=$C72 -### Subventions -$S11005=$C74 -###Autres produits -$S11006=$C75+$C781 -## Produits financiers -$S11007=$C76+$C786 -## Produits exceptionnels -$S11021=$C77+$C787+$C79 -### Perte -$F1002=$S10141-$S11131 -$S11141=($F1002>=0)?$F1002:0 -$S11142=0 # N-1 - -## Total I -$S11111=$S11001+$S11002+$C11003+$C11004+$C11005+$S11006+$S11007 -# N-1 -$S11112=0 -## Total II -$S11121=$S11021 -## Total I+II -$S11131=$S11111+$S11121 -## Total -$S11991=$S11131+$S11141 -# N-1 -$S11992=0 diff --git a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_cr1000.odt b/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_cr1000.odt deleted file mode 100644 index 704a788f370d6a971437611c4ce0008e910818d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15301 zcmb7r1AOI4)^=>G)3I%*2tkS(t5zQa4C#CRW1TU-2h6z*SmX=8tZ!}Q z@UOWz)f~3k9zb2)r-Z;aaf!?#7V|V)!dZB+!8|xLt#JceWEL|J-GUj^D-MoNix~J4 zGD1>v$-w){`}Up?^adIn8H)e3t`=+JRAq?)0W%Z_>02PpbJ3` z0(?}Da=NT{hHIS+Ec2Yd!@FG_5Fi7i({th zpk|G33DnCELLg2FTtzo|q02XqI&=%zHBO(;XVbQ~x4$WIuqv58RoBysEE zJZ3^GGScH*E&1yznVFt%srPI$$WD8b608j&;`3$FwW>%eJL5j{y4pGN{9O=Ul*^-q z*Yj=0+so4(&+9`3&+E-{DtSTiIe4(gVX^cX^QI@p8Lnn*1-I!O_?JrVBI2*mx@l(h zAo(rm)|S&_3e`H{d^uPB0G?el*6ex8>|xW@3B>@g16)Uq8mEu}E&1({8OY{<=#7}M zOH{v9n^B_!A{G_2QOtwwqDB0DgRz}h#@HYX-=z480v!5&p~f3G%2>`&HviNw-{MGU zv%79_*>F3gS>RmZvS=FGp^<+gIDd%3o+w|cJn6H_Im~5tH4_ACFUU4lV^5}Cl~7nR z2po~G16hervv4Ig$7S@mvnao$FocMvOI8!mVr!1gZc&-sv?_^OYAq(-AGZ>yB1Nh-bQ;uiUw*R^K`)CNhT=UjtCtVmsEkx?QARRQ8Ch(D>=CjHg@b97N>2u6{?T%ZuhR&BDtv!bHQR^R!2qXXNTx?K)qIr^sXq(DvT z%C8*f+b5NSDZE4>G1So|mozQ%A3C4h1Oi2CZ4K2$C0ec%vlqns)J2N|BIcOYiB&n< z2{L$RQFpQP8FXu(g9J-x-!_sSOt~1j_Mu@kd~ik~@7cCp=r?owMOSbY3w^H1D4Q#P zX(@}1yNW%A&U2qJkv6)D8C_L1hP&d%W)gQIhf+f1vD(#%$CFDHoI|~pYTSD%?+RD7 z&|;uyE$V((PQmFW=^~xvEQ<F;X7b1p_7dut!D9G{L-?eFf$&*129a(zD717C zB601j(42w6^4jcd1|pqh$Un*mgx2V-glFGVAXEFgII; zW*W_hABNznD5F@XRYzClD2oUVMiiyp}m%@qnD*yK?3a0m}toJIYe^kAr`QOo~ z7Wf4%q0h%=#1j?*Uj1ZvP)%oN@oJp8nQU=XW>nzw6C!I{)sl%?8e& zd;C9i{yivI4Z{D6%Mw}SYz!A78+S9s8q8q3IrLtle%Hf$6dpwy10DqTyGwvKZXT}M>$>0TkvP=LVKXw)P&;^7lsL+N4unnEz&}pJ zxa$xqpks0F9g!)bL>4AQrc-3eDsB8Eiqs4!j%1`8>$t|X1M5+()-APIfw&%>txoZ7YqWciy%zSkVr<=_I(KCw z4~Gm{dH_~-1Y5MQsO(!;lVZK!(J^OV-S`z$w(H<4&0ZHTZ=a!{6)~+?*~u6z`c=6T zZX9Z^Z;W24y5gsZe%>WTNU6|w8cQu^Ju}l^#gm}oDaw+;%{8vG2Ie2xt*RPV>BXlI zFnq*lI}RmvepxSK(H+Dy#SHdUo(TuJ5U3JX4)F47t9fVB6ryPVua8!3?zWFV3lHed zo!p~Bh~_clk|;A9)kXPl)5#HCj$wu+*fJx3PTBVo8;gF>Qv4U{CGL& z+p=eniN&LDLvLogmiK%(%w1ccJaQB0Z0BNJTc+o&aw9rFKlWOCl_7qtR3xIMgi}_S zbWrS0CDLW0d%Rk0aYO0Ard``zqR7#rRok8N{ztR6ySEs7t!!!2t_j%Kx3|n#C78Zvl6#Fw* zF4|$?RJxr*Ei?q0pcvwh%~jSrf%$?@H;VB|+`XC=W>M=fzkb?nCX*nOMCDB*j;5uCTF=wcccj7L7U^XV9!^ zsB(Dp`6q7$1P}EZ#IcX6l<&u#iBhB1SzD1g&zj5y8uyS?ghp2ixY{=0TOh`eWv_{r zJ-Ab{C8~TsrK$o;DB4N+cIz>EtqX(xip%qI|5z|Qeh`h?uw(z(r6IWgGa_k$@`4Wo=9zF86~E1`180gS z{|v{yS(l^L0*C$6*ZezD{;t`GsC{UP^uhKq_&IJm2MWi^=}+IEXkD^XaURhfp-2f?s{<-zn$ujNPH@(bQ&sG zX`Pwu|D=d#X?7lx!gHq~JT@iC`fJA=!xggDX^fhpjM8D_hfZ-ja0;eGwS)teiwKsz z(`i9{C?Q6%B~Ja#51FN@HDp$=vwnWlctn`<0~UEEOo5v_4SW5A6+Z`-*sXGIMDe?t zyMfV+rz(}BK>XwT#a~tE(xh8OuWRO3oLu5W1zmO_ZUV&tR}j*PB;EUMw{Q&)_Tx8e zCAm2>?&)wNYeGv#bw)XbuTmCPD6KHtn_hYMEMCuqT*_j&VB_+#ArPB^o^&nUgM>`Br>vi*Gnm{`f)7#Iw)e5q= z-dRbxwUO&Zw7!8Vi#hyC=I#MjgM2-svO2-=6vebnZG1)}jyN z!o~{LG79Cg?KX{mGSoR{s#DqBNWbtI_axs6-}+a9E6c#)n;pxHw{OQXhPh%a-n*-{I!3^`4lRQl^t?sT{5cFZLD!Y}EwbEENvgrxE1{@6wnp+0U8rJlFPP zulw?8;F0^3bY6I)VL6tYye0Ifv<2#FxbDMO*q7b)k_h|vV<2)*^-GG;4Hs*?)*GF0Hgoi?HXnyeucsJ2T%7sLnUF ze=OVuw$!=;o25sb6b!ChKo`vSamG54xOM$HWSF@6QC z2TblNo!%F*s~u05zZTt&w?+e5Gsf1G+c2?Mi(4|- z07Ul#{_C9LuZ};U-hWoxJGfdH+JBsIoT^DzFV`Wq@5`Gkm`Y{6w(ehZ&5kEAg{3*9 z*2FZl8sQ;DZ+L@%0|*Y{X76J~i%U1|iM!^nXEy`z`Jj-?N{ciHDhQoqOvI4TSinn-x!+P z+cVJ33~dxH4I6g?D8or&(?dVuw>=|2FFE1|EdR|xj4kV=|&PcQYC!cR-k1?PbJ{Lo~VwMLJ4TI56+dcjA zM~Ew8>m(_pcjiu8lRB}EXl5JI63H*RUdYKgLEMzxwT*IMhrKsK-henn)5QoKLYg8| zr_~5kgDjM$M4F__M^vUwSGQ2?CVay5xJGd2dx$qfi_!t1vy*__cFSO4r`egN7QHz@ zjiSeHMf%pA4QGlQEm6pW`*Z11XGX?bzKdD1$Y6s@kuFc_^JRd=SAHYxWa{0V$zx7E zdRZdH1ar5yY1+4!@$qx7`@1JxuOpd7f_Wc?d_s{>>L{3!!$CoMfU5&@wa~Wj#JR0j zmY1*>MO3?7OEuEp!<^A~`lQ+Kfo5rm^VXN>>T2C`wI=~W3eEXWfdpQ~)}y_4b8w7R z&|NqM>?|voB&8Oa4ojGK8!RJIPw6$IQWGR&VlR#6|(;7QRr; z1oUJ>@U>-sS>XbizLW%UazePH&JOUP_G9r5pddtK!rv4UxrLJ;#ZujO7EY=+5po!S z;uw}G0x!j85U;mU5$?Pusj*CpZv^)V716`mY3`4Xcg@1f1aSJV&x}x1XP)D#KTX80n+3z4&0-xp4vTR{;!IyX^ zxNAy2G*=b}lE&cBXHrZh1jP+Jerzv^ML#w7IJH#Qgm{#f=t@D{yF;7Xx)fyJe*z0( zg{ENJSalbev`cpV)G1s6${uCCpjO7Bm2H(hM~$D-EN~&%2xPw8d}lb4sMsAFOAxBT zxO$w0$zMt~7oXHt!qB9Y4->BovP8)SMn*MV=u5pE)C7TMSz`a@`TUdAV3l z%<+uTBNP)o24K=T$P0)Km(8PdB^tp`Voqd-Cjp*@co;9JsR1fB)H9En+2vFA~iRJ|;Pf*m!?fyi;_)~n=qBfh`U&-m<8ORRA3#z9#c3E3ZCzgR& zkuss(iBG8y`QFxFZ9$$C&7DxrYg42f?qFRGnjfy4^MdZA$P~&$V?0#sL*4DHL3A>k zzCbnS%%kSE$)zJe5`O{!*>w)yt;SJ@D!U|u9PPD$%SFEVwSwgIa|y=j{8MbtTAl5W zV>ylF@d?x>;U{Nzj&}C5ZHgSpyZGd@unV7)S)Du9@a-~;Cs6rnX zg|BHG_4_+x<_nv+$cu#Ex5=(Be%K1hr6$3h;pn;i=sX3SfBFnjeaDgZzAYEBOs9N6 zC5zUWtTHZdQ3Pv3^W@7raJ*0rsehp}HW$f<$lXBANV{ZFPAh$7r?>s-r8tAb;7QM@4;QaW0dBf^VMRD<>*-^6;lCmkiw%C2aX*pnh z_+C+L?xfIw%sJ!I^`%qmLR<>otJnFfb?zc1qQQQuQr6E1pS?Ds99tDp`9Npd0pJqp z+5tny{5m3MdvqfpOw}lC1fq1qV;{6d$?>Y$gjgkhd&*yhTzX(nFL92Cd<9qP4cu$K zu*?u|Jn8Kd+ud9*ck>xia;*H=b|l$xZUc$@d6XUbDZ&E`*$YmXP-pY8X2MtY&9^LzQz zd*0%48FP;4VJ@Fv-rsFLxXj)Zheik$pDF^45})byi~*|-vfCOrx!!NzM3Mb~gkq&9 zk!Afh5uDB|eAVRAA7;0)BE?3qn>yEY#Tf6HW#Wf$#0;84QI!Y4Rgsx}{VUV>uRVsF z*S0f~rWSdqqSlT>u>_`gp(*!@K<3FOv`&!{9=?u!lt@U)2*L(m#8e@+MF9s)O@;Uo zAGq{6fA1_5s=kWly}Rv*Q+_O6d9CG5!jJP^~ZMv2!G>X6r32^Ua|>x90OgfzCV403nlf_|0aWY_+d)c?L2}_FJXh`P+vl zYT<2^tEM*Ul8@ z#Ny&!8_2#Qn_OZwSh;I(->&p zSM;BE`o5`n4k{`_g85Oh)Zj@@_++J1$8jZa_qM%PUscLyEu(hwVnBeR;w z(S${w`+L2A*+Ha@?_Z?)iOoY8s|KVtXQq~EupacursA9Eq)rfG>D9dN2Gs?^PFSMl z%&?iZ2Fd@9k%GT5!)q$A2F?bx)lJ_=BnH7f;^;=RZy{%q zVNAheSA!_@E5_%d!pn8;?Fe0!bd8TY3g&g~?%iaTcfNG1&7oW&`N*n>92Z+oEL5wU|OmP#O02?J&ECz=l6O0_NDA>Eu0hI4sf*x9-LeT300S8%} zebpB&@h-A54-cI-+^WM=#mRc9-tTFC(;o<`~CF+XYr9GW|e zXB+q9#g$6*)%Q)y01k~-00BT!*356@`UouSDmt16EO$?9h-kQad&Twmm9{xUbi!|4 ztw1ID4C{Cq`pq+qex_RBI0;9q_jU1Tjs9}lLu!ZHaj(|koE3>9x@b9u<^JW2?WM_U zsjcF}ZnI$4tQrn{+zaKbl;6Bqgq-V6S8G#>!~ny>vMeM=C;27wwe$(Zo?>JW_gdos zR~JG8zDN}*zB$>kMT8iZ zDw{-lYoQCj(00Y5lL0L6Vbb`;pc@{eW3+0Ff#w3S;arGy%sPB)VwA&YWfcm@n=&Wu z3HJNmZ66*FB`oX33$gOsod!FX*4(<_rqxF~KlZC4#P?q`Z1Z#(Z+MyCc3-B`L(wJ` z-kvN6O%}5$1UPGbg) zRb7Pi%3=*n0AtaMF-YxMja9UEySLv28+on~*B}{@A}0WjBP*HLaH}yCaEyz%mTW1| zk`gw*XtuJp9)|*vo4y6fJOj0{_b#&K_eJ{7QlrOs<}(iLzA#Z3|{J+fXHx8`fJ9GtQ-q_ zLrMu4TPJ+P5YjIwc>q?*fF()Vh#3k#x=PK%9_)p6BHT=;4NFeADw;2*a7yFG!K1UO z^QZdNBj)B{oq~U8JTxCUzs$k}w##X!nm zYU=XzT8habMA%A!HwUfqvz^E|kf;{OofTr*M8K4;G4x9SGGc z1j^_jPsr22e5O4EMg|LsKV*o;V;UbDUw!nzZH};Ti1^GxTcDyl#fHFd-AB=Ccij6~ zq+TxQNuALHS%Al4I_(85u1Be$PuL5YwXcMdD_jBw?J)HFfDU@O7K7bh9X5(eCDtI3 zj*eraL&(jF^jW85(Hu7JPCzS-8{Kini-5v;)=i?`Yv8Y7X#&;>L1Vxj5&N)fUD02s zy5XWG6)l^dl`EqR@R`vlJ3(^ZHptk03lBPOV*nJ7uV%|`^)X4kXXAQ{VAJ2Pd5TNY z;mY_6(vj%tpesX{qYfOon2C3hkKk?N6IRAjN32XzYXrLGqR6MCf@dg&QfsAx`B`{U zw}VCJC<|kxxpo^4o|3HGSC{T!FQ#mzUq+ zvd1uIOH6+Z74}Awo+BJ(6S$6$pB}wR&J^6~X-7t;(y&SQ`U{W0a&|QW`2e;YO zW;`JKvNvh*=%pNNm$v;p&iHlLIn$8fWrwRr<1{5HWSYvZ#NLt5 zi8q@)m-g0-r3WZvc(kP9SQ_V7GMKSeIQhTkr|( zQA025Pc~nz<@`cTk2qSCz(MoQtjl-i+lGQ5>VSK?w7hVSe*y;#o(boTGMLxG*}xDJ z2@p{7dP-hRNI!VGKy_ULQZNhQ8jE-X5Qc5jDk^h8qG1la?8!>$3VC*5%Y zzAusi6GAoZ@Gnt=2JXl2J~QZ!H2&t`%niK&p=x!hTD{|0g0Z*@i!-DOfQ;BJ)xOxH z>*?mT+B|fAucHe$PLK<~oturCNZk&l5p=N!i^x{wOEBZr{+&Xji0AOKm&;(kmZ*G~ zYayU-3N4xc@-srGW1(j8RgRIHOBxOBMk}kqvg;;_)2{jZ=6nG~*tuM@od=X@^`sG3z(lPjd6F=Hn!?7!d1fiD|t-KbLlqVk5$8 zL@z}}KXq>E@sR3bqnGprDMj`DFzGXv)QH~e+Zh39@N7`xFjH9vyAk=aU<*L^{piOJ zJtE$=`!52^$CT9&fc688r@C-HPZi%v0(HsS7PQOfz=z8qks!^xd(SfFENFco%ht~8 zDk;Wrm8~$tMeel>%8sCd_;hO9op7O^nu+FxILpk|!BM`LiC~*NOYE3kOrjXt4WsQO z?-qY$eH%mR#iD-sdY55A;F73y>k-vJD(bw^(NQAxiaE}0HJ&>OY)+IV0_e({s#h>z zV@RPUvYm>o>kA@P&15D=SJGTK7Fc+eO^dVOj+y%fB``0ffowD^#E+Y!*ed=oDspt? zXx+y^1g|Dm6XTNV>e&%=cc0#OidWhbw~it~S1MXI8kK@qF9)dOD@6%?&T3po1BI3VCX0_P7;Dm)41ValL&I=`D2-tT5|+zbcmG zH|}v1e#VJWL$Xq{1Zw!>tO&UW*vr?t53H~>AdPUK;i_76#Tvwek+3|bTU0#L<@I67 z=G)FOj7Gr{MXs0g1%)D$2I2h^1D8vrN={gmT!Q*MAV=KGZ58T^e$8wx_NOkfoLmL4 zFtyz)6P@jlh<#22G)^0`v!>ZBTn|sv)ee)y{pyUuO$G;8&yC!ED?J~%>CT|`^eE}I z(}LrlR=uSY>Ppy!-t6~6;DetAMvVzOz0IG)Dh*^gVPwQrweeeL1Lu2@CyV`Q1rq5J z3XzF@8_u7ix=bQhA}2($Io2br0mm^D%922U*xi^ay45-W`qz1j~Mn1PeDnMz{5s@`wi+t?j5}CBFSfqalX2S_k7Xz&|9pYje1H1Hr z`~>;Af!uiY6P-*qkG4?yo_-9Z%S=ucGGwi$sjxQ+LhWPM&H5CbZWA{^sr#+B4a2FT zcht5Rm4Nnk(pcGHj?Wr~zom&+TjSS&x#mpM?}wvB0ZeNenuwL)yqcjIW-c!P!A*qd zpsLR?ICU1vEV);+9FZW?9a~o*r;n;Kq(R3W%h0L_GFZ%-pvgq=`l?{6fb^vwFZ|LxIxy z>^pJmYS)1dbOfVW=*Ua5WG)so7Yp5a7^c@T+pV|y2et{?=9H*)zlfbc`wN9{6`B%O zc!!hPaY*P_a1xmT{Y(4RKeO>RCW&*i6G+n~^E;xUw^P;k9m}5rRs}$K)mP}KP?M2b zt)%bnb3?W6vWfs9i!59f;Wm8dsPw9*I5OywD0vA3ZV4HR((wS|2FNY&ZC?I*`oNn! zOq^uP@)qW)&lZW8sIOpi*3&9_LFugdoq5ve%sDlAUgfq?+&rX=mo1_+JoHzg?0Q@B zpzSL3K`TgF0m4|=*ql;bPPb+qZe7~=BJl`K82P6K#|%m->_*;Wu-y9*d&4GLhlznV zD)*IQFUT$H9?WX0%Zu?MX@veC7}IHaII{R>P326?QEBjApyHcfx2)T)Wk%n3-8t|?UH|X71Afo*@>z9I=cneH(lTcUG^ht z5-_LYnt5;^){t^Y-V1wHn8K0lny11zFTwqBKg6s!)v`Zu54GG}dS*0eSVmMz!W6(H z@yrd?Ce6GYsAq27_a*buIXcx21WkEry8xarp$;_=VVd4LecdV=dIP8{fubt=bFLQz zE+0{Ug_qPG$^2N`>`X)nsqv_|n_rq{nHnIw9*T9yUMaxH-!l>+-ZI4deT1K2i{-7_l;PebK5@z+@#0ghx z4yNAINUgi_Tb~GWLo+*$xJ?qDBI>d$P}cz^(bBZS+Q&6WAV3YT3ZERTZ+#8VwTdy` zLPYMX35VrtOXsi!T#=qUI`)F_0w;X!062hMAeidwF|qi$GC64DzcF<4dU+S<8;mpX z$0r*<(eVreV=|S#E$37=gaoj=Y59@F6xO6yDEe-j*JSkUQO{mAlVuEei9QMRG*<`qtWljwzr96Kw-CK(R z$?pU9Sb$v#e5354&Kf5<#%q^RB5dWkPf{zb~4VCJWm$VUmWloH>j(On61 znkyYuyKJ9Q!MuhaTl5Va5HPltt&$oCp-%a+y~_5Alhp6@+&DAL^JFUW(?M+p1eMz4Z%01khpRgYK7eB+eq6Q{z`VQgHmXvoTZ%OF)w= zgg}eI!AF~4Kmka1jc!Ck3(FOkJG!AFPPE9$4kRi>oDnpddArAX9k>$CYq`GxUV~kF zEG)^`H}tN%Qk^8=hcQxsqh(oSe|Ze_JMkUVwGl~+^N?fpS=ce(AQtX#1X8y`pfaPib&R~<>sR(71WGlha4QC|18pJXuVKtUa9%~WcG5e#fE~4bTt$V zZet2RLqOW!<9?QKRSaxj{Hh2yg*L&BH%;yrdIvhjO3eokzORO?)(PKUYC>8O7UX01 zd;(~1GAN#b@*<~>f&$^E>bbzl8=g8s+PE`-4g5->-BVgQ6cdQ=f9t`{G|%w{B?r__ zaL#MmmDwR}7zwonV|T5Jv>3_7CvTYf(1N{bs#ye^Z9iqR;zqJH15h(Y8-esDf#~gA zif#3ZwyALOy7rWLWdCH&Cf!G84v5P1CfE+z1k9bR_!JCjnF&Br6w_kD#hxq($8*)> z6e1oymau?yzw2N+x|ZLnJuja;J}HeLaCs4_+zQs=IdwMD7wf5F+5Jr@1dybH%k2k;Ap$WE67Z zR^J{7Z=t}hR55nmXf{=>ZTYpC5|&4pvxkOOZ8^9sinyO;x{#&D*mob zuREWMu2M2L{7G(1)_c=CzMdc>wV%QcM21RYjxBRE^GNx^m zVpaQF_W8<;?6`a_#N+$bcyNdbXzpYJQ~-bywEuR_3iA=uH*|0?wKD!kRKHeL(|+j- zf=7G1&m{*wu4OVEB({JUEi5cdq>>TIDO1QW#he>3}O2w5Hzz7 z<&=NT*Yo8YpeF4#QK$knnPpSt<0(%UR|qSoRX-1E*s!<4lJw=yiW#z`q>a!>$%IiF z&(F`J-Z?Qd@w0DjduZrLOQM<&$);wnsb1#8a>D5v1y$Je)3fe{OU=A*bHpk+}2eckQ5GC;Q@O1CaPG z1wq30rq&o}Zc21Zhi;PX4MU0#YxL0tx-hCNPwws^(9YEmT;)>`_Z&0j0OUQk0Bf1ETlRKxiuf?HafdT9)7{_9fUjbpcyz`4;u8Q zD(klJDR!YMog@i?DLyqCmx9KyI^>23g6WYIgom1N8Sb7>UAg)8euw}}mT{8t{R%uu zFW_oXSWXtbUo(Hf8xiG^JfsxnWT9PFl`rbVps&~lGoA0bpReZ;Upydl&DP1A$a%2* z@Vn$$C5=OW<$Au)E`3`` zM|;n*COXO5^B7n|qz63a%|IG{T?x1sos^kHflhdK@2QF+7wk8nH+GzSy``6*44B(F zy~VL}4TLwrpkhw);pjC=+k9&xv{bvPbnm~%89M`XipK^gjS3uvGk>#T!<1y<8GzUo z9o3fsPD~-~oeIw_M8e>*T)a6;hsuh#s>W|Q@XZ*hUc(K@w=Puq@@gegQG_Pa5eMvL zDg=Lss$``EAo6l=yK)K`x4`0)ML!h(Wd@Xaa#(hE)R#X^PWEK@)j4?HPZ*~X3+g-L zzHf2~SPUWre9>kZzx=0Ey3f{!-tdhz_TX=X(*Y4^XhV-bQU;|-7)g$x7G_BEMTZWq zl^bWbL7~Z(=a(ZG>gaT#N9O43n-tO`0pd|jP?9v|H({N=p1dp#966*3PFHnFoV9R% zVR?lc4y>cGsrT@_`owHHIU^Py5qu~+23e2z4CX(x`JC7IumM}z%vWaNK3j6~xTgB_ zk3b^6j)PG7dn}0_`@gMo?+YP-q@V&HwWyR3t);G&sga@mKZshjapGp(bO^k6T>g`5 zO3RA$wm{U^Acue?R||*-fkr6N%gS&&(=4(1DjblxcS3}tCRI!7@~3psx8=yvqdA2W zsNKNPm_v0O?A_0>w@lyGM=S}FOKawd1+kVj-)3a4Z?9}0;L-PU0l^c-8L+ujg z5z4h=e@6X51>l3`_Pa>FXa7u<`y+GjpRNBflKdO} z?t{DcyZFCn|7_=Pn0)`uxsNF2@3Qiq{j<^Ed3^slFu$V!{?tXJ_o4i=l|S-{tP}JB#&S z*BSnd`s04>Kga(9^Y3Hff41_+)$n6)_q(Xj|L0Ec&&WUi8-J{pzY8zR->jW7;-Fw3 RYVhx`GhhIK&VR6F{~tf&s7n9< diff --git a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_cr1000.rtf b/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_cr1000.rtf deleted file mode 100644 index 2696850..0000000 --- a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_cr1000.rtf +++ /dev/null @@ -1,259 +0,0 @@ -{\rtf1\ansi\deff1\adeflang1025 -{\fonttbl{\f0\froman\fprq2\fcharset0 Nimbus Roman No9 L{\*\falt Times New Roman};}{\f1\fnil\fprq0\fcharset0 Avant Garde Gothic;}{\f2\fnil\fprq2\fcharset0 FreeSans;}{\f3\fnil\fprq0\fcharset0 Avant Garde Gothic;}{\f4\froman\fprq2\fcharset0 Times New Roman;}{\f5\fnil\fprq2\fcharset0 \u26481 ?\u39080 ?\u26126 ?\u26397 ?;}{\f6\fswiss\fprq2\fcharset0 Arial;}{\f7\fnil\fprq2\fcharset0 Tahoma{\*\falt Lucidasans};}{\f8\fnil\fprq0\fcharset0 Tahoma{\*\falt Lucidasans};}} -{\colortbl;\red0\green0\blue0;\red128\green128\blue128;} -{\stylesheet{\s1\rtlch\af7\afs24\lang255\ltrch\dbch\af5\afs24\langfe1041\loch\fs24\lang1036\snext1 Default;} -{\s2\sa120\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1041\loch\fs24\lang1036\sbasedon1\snext2 Text body;} -{\s3\rtlch\af8\afs24\lang255\ltrch\dbch\afs24\langfe1041\loch\f1\fs24\lang1036\sbasedon2\snext3 List;} -{\s4\sb120\sa120\rtlch\af8\afs20\lang255\ai\ltrch\dbch\afs20\langfe1041\ai\loch\f1\fs20\lang1036\i\sbasedon1\snext4 Caption;} -{\s5\rtlch\af8\afs24\lang255\ltrch\dbch\afs24\langfe1041\loch\f1\fs24\lang1036\sbasedon1\snext5 Index;} -{\s6\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f4\fs24\lang1036\sbasedon1\snext6 Normal;} -{\s7\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1041\loch\fs24\lang1036\sbasedon2\snext7 Table Contents;} -{\s8\qc\rtlch\af1\afs24\lang255\ai\ab\ltrch\dbch\af1\afs24\langfe1041\ai\ab\loch\fs24\lang1036\i\b\sbasedon7\snext8 Table Heading;} -} -{\info{\creatim\yr2007\mo10\dy25\hr17\min55}{\revtim\yr1601\mo1\dy1\hr0\min0}{\printim\yr1601\mo1\dy1\hr0\min0}{\comment StarWriter}{\vern6450}}\deftab709 -{\*\pgdsctbl -{\pgdsc0\pgdscuse195\lndscpsxn\pgwsxn16837\pghsxn11905\marglsxn567\margrsxn567\margtsxn567\margbsxn567\pgdscnxt0 Default;}} -{\*\pgdscno0}\landscape\paperh11905\paperw16837\margl567\margr567\margt567\margb567\sectd\sbknone\lndscpsxn\pgwsxn16837\pghsxn11905\marglsxn567\margrsxn567\margtsxn567\margbsxn567\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc -\pard\plain \ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Soci\'e9t\'e9 : LaMule} -\par \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b -\par \pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Compte de r\'e9sultat (Syst\'e8me abr\'e9g\'e9 personnalis\'e9)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ai\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 P\'e9riode du :__/__/____ au : __/__/____} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\ai\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 version 2007/09/10 21:25 (en compte) } -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f4\fs24\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f4\fs24\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b CHARGES (hors taxes)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Exercice N} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Exercice N-1} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b PRODUITS (hors taxes)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Exercice N} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Exercice N-1} -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Charges d'exploitation :} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Produits d'exploitation :} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh204\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Achat de marchandises} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\afs16\lang255\ltrch\dbch\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10001>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\afs16\lang255\ltrch\dbch\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Vente de marchandises} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11001>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Variation de stocks (marchandises)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10002>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Production vendue (B et S)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11002>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Achats d'approvisionnements} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10003>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Production stock\'e9e} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11003>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Variation de stocks (approvisionnements)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10004>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Production immobilis\'e9e} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11004>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Autres charges externes} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10005>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Subvention d'exploitation} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11005>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Imp\'f4ts, taxes et versements assimil\'e9s} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10006>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Autres produits} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11006>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 R\'e9mun\'e9rations du personnel} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10007>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Charges sociales} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10008>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Dotation aux amortissements} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10009>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Dotation aux provisions} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10010>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Autres charges } -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10011>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Charges financi\'e8res} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang2057 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10012>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang2057 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang2057 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang2057\b {\loch\f2\fs16\lang2057\i0\b Produits financiers} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11007>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang2057 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang2057\b {\loch\f2\fs16\lang2057\i0\b Total (I)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f4\fs24\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang2057 {\loch\f2\fs16\lang2057\i0\b0 <<$S10111>>} -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang2057 {\loch\f2\fs16\lang2057\i0\b0 <<$S10112>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang2057 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang2057\b {\loch\f2\fs16\lang2057\i0\b Total (I)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang2057\b -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11111>>} -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11112>>} -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Charges exceptionnelles (II)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10121>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Produits exceptionnels (II)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11121>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Imp\'f4ts sur les b\'e9n\'e9fices (III)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10131>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Total des charges (I+II+III)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10141>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang1036\b {\loch\f2\fs16\lang1036\i0\b Total des produits (I+II)} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11131>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Solde cr\'e9diteur : B\'e9n\'e9fice} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10151>>} -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S10152>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 Solde d\'e9biteur : Perte} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 (<<$S11141>>)} -\cell\pard\plain \intbl\ltrpar\s6\qc\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 (<<$S11142>>)} -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f4\fs24\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f4\fs24\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang2057 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang2057 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s6\ql\rtlch\af6\afs16\lang255\ab\ltrch\dbch\af6\afs16\langfe1036\ab\loch\f2\fs16\lang2057\b {\loch\f2\fs16\lang2057\i0\b TOTAL GENERAL} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f2\fs16\lang2057 {\loch\f2\fs16\lang2057\i0\b0 <<$S10991>>} -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f2\fs16\lang2057 {\loch\f2\fs16\lang2057\i0\b0 <<$S10992>>} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f4\fs24\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f2\fs16\lang2057\b {\loch\f2\fs16\lang2057\i0\b TOTAL GENERAL} -\cell\pard\plain \intbl\ltrpar\s6\ql\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11991>>} -\cell\pard\plain \intbl\ltrpar\s6\qr\rtlch\af6\afs16\lang255\ltrch\dbch\af6\afs16\langfe1036\loch\f2\fs16\lang1036 {\loch\f2\fs16\lang1036\i0\b0 <<$S11992>>} -\cell\row\pard \pard\plain \ltrpar\s1\ql\rtlch\af7\afs24\lang255\ltrch\dbch\af5\afs24\langfe1041\loch\fs24\lang1036 -\par } \ No newline at end of file diff --git a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_tva.sql b/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_tva.sql deleted file mode 100644 index b2b6dd6..0000000 --- a/sources/contrib/comptabilite-francaise/abrege-perso/fr_plan_abrege_perso_tva.sql +++ /dev/null @@ -1,44 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007/10/23 22:23 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tva_rate; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) FROM stdin; -101 TVAFranceNormal 0.196 TVA 19,6% - France métropolitaine - Taux normal 445661,44571 -102 TVAFranceRéduit 0.055 TVA 5,5% - France métropolitaine - Taux réduit 445662,44572 -103 TVAFranceSuperRéduit 0.021 TVA 2,1% - France métropolitaine - Taux super réduit 445663,44573 -104 TVAFranceImmos 0.196 TVA 19,6% - France métropolitaine - Taux immobilisations 44562,0 -105 TVAFranceAnciens 0 TVA x% - France métropolitaine - Taux anciens 445,445 -201 TVADomNormal 0.085 TVA 8,5% - DOM - Taux normal 445,445 -202 TVADomNPR 0.085 TVA 8,5% - DOM - Taux normal NPR 445,445 -203 TVADomRéduit 0.021 TVA 2,1% - DOM - Taux réduit 445,445 -204 TVADom-I 0.0175 TVA 1,75% - DOM - Taux I 445,445 -205 TVADomPresse 0.0105 TVA 1,05% - DOM - Taux publications de presse 445,445 -206 TVADomOctroi 0 TVA x% - DOM - Taux octroi de mer 445,445 -207 TVADomImmos 0 TVA x% - DOM - Taux immobilisations 445,0 -301 TVACorse-I 0.13 TVA 13% - Corse - Taux I 445,445 -302 TVACorse-II 0.08 TVA 8% - Corse - Taux II 445,445 -303 TVACorse-III 0.021 TVA 2,1% - Corse - Taux III 445,445 -304 TVACorse-IV 0.009 TVA 0,9% - Corse - Taux IV 445,445 -305 TVACorseImmos 0 TVA x% - Corse - Taux immobilisations 445,0 -401 TVAacquisIntracom 0 TVA x% - Acquisitions intracommunautaires/Pays 445,445 -402 TVAacquisIntracomImmos 0 TVA x% - Acquisitions intracommunautaires immobilisations/Pays 445,0 -501 TVAfranchise 0 TVA x% - Non imposable : Achats en franchise -502 TVAexport 0 TVA x% - Non imposable : Exports hors CE/Pays -503 TVAautres 0 TVA x% - Non imposable : Autres opérations -504 TVAlivrIntracom 0 TVA x% - Non imposable : Livraisons intracommunautaires/Pays -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/abrege-strict/fr_plan_abrege.sql b/sources/contrib/comptabilite-francaise/abrege-strict/fr_plan_abrege.sql deleted file mode 100644 index a276a0c..0000000 --- a/sources/contrib/comptabilite-francaise/abrege-strict/fr_plan_abrege.sql +++ /dev/null @@ -1,132 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007-09-08 01:10 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tmp_pcmn; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_country) FROM stdin; -1 comptes de capitaux 0 FR -101 Capital 1 FR -105 Ecarts de réévaluation 1 FR -1061 Réserve légale 1 FR -1063 Réserves statutaires ou contractuelles 1 FR -1064 Réserves réglementées 1 FR -1068 Autres réserves 1 FR -108 Compte de l'exploitant 1 FR -12 résultat de l'exercice (bénéfice ou perte) 1 FR -145 Amortissements dérogatoires 1 FR -146 Provision spéciale de réévaluation 1 FR -147 Plus-values réinvesties 1 FR -148 Autres provisions réglementées 1 FR -15 Provisions pour risques et charges 1 FR -16 emprunts et dettes assimilees 1 FR -2 comptes d'immobilisations 0 FR -20 immobilisations incorporelles 2 FR -201 Frais d'établissement 20 FR -206 Droit au bail 20 FR -207 Fonds commercial 20 FR -208 Autres immobilisations incorporelles 20 FR -21 immobilisations corporelles 2 FR -23 immobilisations en cours 2 FR -27 autres immobilisations financieres 2 FR -280 Amortissements des immobilisations incorporelles 2 FR -281 Amortissements des immobilisations corporelles 2 FR -290 Provisions pour dépréciation des immobilisations incorporelles 2 FR -291 Provisions pour dépréciation des immobilisations corporelles (même ventilation que celle du compte 21) 2 FR -297 Provisions pour dépréciation des autres immobilisations financières 2 FR -3 comptes de stocks et en cours 0 FR -31 matieres premières (et fournitures) 3 FR -32 autres approvisionnements 3 FR -33 en-cours de production de biens 3 FR -34 en-cours de production de services 3 FR -35 stocks de produits 3 FR -37 stocks de marchandises 3 FR -391 Provisions pour dépréciation des matières premières (et fournitures) 3 FR -392 Provisions pour dépréciation des autres approvisionnements 3 FR -393 Provisions pour dépréciation des en-cours de production de biens 3 FR -394 Provisions pour dépréciation des en-cours de production de services 3 FR -395 Provisions pour dépréciation des stocks de produits 3 FR -397 Provisions pour dépréciation des stocks de marchandises 3 FR -4 comptes de tiers 0 FR -400 Fournisseurs et Comptes rattachés 4 FR -409 Fournisseurs débiteurs 4 FR -410 Clients et Comptes rattachés 4 FR -419 Clients créditeurs 4 FR -421 Personnel - Rémunérations dues 4 FR -428 Personnel - Charges à payer et produits à recevoir 4 FR -43 Sécurité sociale et autres organismes sociaux 4 FR -444 Etat - Impôts sur les bénéfices 4 FR -445 Etat - Taxes sur le chiffre d'affaires 4 FR -447 Autres impôts, taxes et versements assimilés 4 FR -45 Groupe et associes 4 FR -455 Associés - Comptes courants 45 FR -46 Débiteurs divers et créditeurs divers 4 FR -47 comptes transitoires ou d'attente 4 FR -481 Charges à répartir sur plusieurs exercices 4 FR -486 Charges constatées d'avance 4 FR -487 Produits constatés d'avance 4 FR -491 Provisions pour dépréciation des comptes de clients 4 FR -496 Provisions pour dépréciation des comptes de débiteurs divers 4 FR -5 comptes financiers 0 FR -50 valeurs mobilières de placement 5 FR -51 banques, établissements financiers et assimilés 5 FR -53 Caisse 5 FR -54 régies d'avance et accréditifs 5 FR -58 virements internes 5 FR -590 Provisions pour dépréciation des valeurs mobilières de placement 5 FR -6 comptes de charges 0 FR -60 Achats (sauf 603) 6 FR -603 variations des stocks (approvisionnements et marchandises) 6 FR -61 autres charges externes - Services extérieurs 6 FR -62 autres charges externes - Autres services extérieurs 6 FR -63 Impôts, taxes et versements assimiles 6 FR -641 Rémunérations du personnel 6 FR -644 Rémunération du travail de l'exploitant 6 FR -645 Charges de sécurité sociale et de prévoyance 6 FR -646 Cotisations sociales personnelles de l'exploitant 6 FR -65 Autres charges de gestion courante 6 FR -66 Charges financières 6 FR -67 Charges exceptionnelles 6 FR -681 Dotations aux amortissements et aux provisions - Charges d'exploitation 6 FR -686 Dotations aux amortissements et aux provisions - Charges financières 6 FR -687 Dotations aux amortissements et aux provisions - Charges exceptionnelles 6 FR -691 Participation des salariés aux résultats 6 FR -695 Impôts sur les bénéfices 6 FR -697 Imposition forfaitaire annuelle des sociétés 6 FR -699 Produits - Reports en arrière des déficits 6 FR -7 comptes de produits 0 FR -701 Ventes de produits finis 7 FR -706 Prestations de services 7 FR -707 Ventes de marchandises 7 FR -708 Produits des activités annexes 7 FR -709 Rabais, remises et ristournes accordés par l'entreprise 7 FR -713 Variation des stocks (en-cours de production, produits) 7 FR -72 Production immobilisée 7 FR -73 Produits nets partiels sur opérations à long terme 7 FR -74 Subventions d'exploitation 7 FR -75 Autres produits de gestion courante 7 FR -753 Jetons de présence et rémunérations d'administrateurs, gérants,... 75 FR -754 Ristournes perçues des coopératives (provenant des excédents) 75 FR -755 Quotes-parts de résultat sur opérations faites en commun 75 FR -76 Produits financiers 7 FR -77 Produits exceptionnels 7 FR -781 Reprises sur amortissements et provisions (à inscrire dans les produits d'exploitation) 7 FR -786 Reprises sur provisions pour risques (à inscrire dans les produits financiers) 7 FR -787 Reprises sur provisions (à inscrire dans les produits exceptionnels) 7 FR -79 Transferts de charges 7 FR -8 Comptes spéciaux 0 FR -9 Comptes analytiques 0 FR -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/abrege-strict/fr_plan_abrege_tva.sql b/sources/contrib/comptabilite-francaise/abrege-strict/fr_plan_abrege_tva.sql deleted file mode 100644 index 4d3a75d..0000000 --- a/sources/contrib/comptabilite-francaise/abrege-strict/fr_plan_abrege_tva.sql +++ /dev/null @@ -1,44 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007/10/23 22:23 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tva_rate; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) FROM stdin; -101 TVAFranceNormal 0.196 TVA 19,6% - France métropolitaine - Taux normal 445,445 -102 TVAFranceRéduit 0.055 TVA 5,5% - France métropolitaine - Taux réduit 445,445 -103 TVAFranceSuperRéduit 0.021 TVA 2,1% - France métropolitaine - Taux super réduit 445,445 -104 TVAFranceImmos 0.196 TVA 19,6% - France métropolitaine - Taux immobilisations 445,445 -105 TVAFranceAnciens 0 TVA x% - France métropolitaine - Taux anciens 445,445 -201 TVADomNormal 0.085 TVA 8,5% - DOM - Taux normal 445,445 -202 TVADomNPR 0.085 TVA 8,5% - DOM - Taux normal NPR 445,445 -203 TVADomRéduit 0.021 TVA 2,1% - DOM - Taux réduit 445,445 -204 TVADom-I 0.0175 TVA 1,75% - DOM - Taux I 445,445 -205 TVADomPresse 0.0105 TVA 1,05% - DOM - Taux publications de presse 445,445 -206 TVADomOctroi 0 TVA x% - DOM - Taux octroi de mer 445,445 -207 TVADomImmos 0 TVA x% - DOM - Taux immobilisations 445,445 -301 TVACorse-I 0.13 TVA 13% - Corse - Taux I 445,445 -302 TVACorse-II 0.08 TVA 8% - Corse - Taux II 445,445 -303 TVACorse-III 0.021 TVA 2,1% - Corse - Taux III 445,445 -304 TVACorse-IV 0.009 TVA 0,9% - Corse - Taux IV 445,445 -305 TVACorseImmos 0 TVA x% - Corse - Taux immobilisations 445,445 -401 TVAacquisIntracom 0 TVA x% - Acquisitions intracommunautaires/Pays 445,445 -402 TVAacquisIntracomImmos 0 TVA x% - Acquisitions intracommunautaires immobilisations/Pays 445,445 -501 TVAfranchise 0 TVA x% - Non imposable : Achats en franchise -502 TVAexport 0 TVA x% - Non imposable : Exports hors CE/Pays -503 TVAautres 0 TVA x% - Non imposable : Autres opérations -504 TVAlivrIntracom 0 TVA x% - Non imposable : Livraisons intracommunautaires/Pays -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/base-perso/fr_plan_base_perso.sql b/sources/contrib/comptabilite-francaise/base-perso/fr_plan_base_perso.sql deleted file mode 100644 index 71ef054..0000000 --- a/sources/contrib/comptabilite-francaise/base-perso/fr_plan_base_perso.sql +++ /dev/null @@ -1,405 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007-09-08 01:10 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tmp_pcmn; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_country) FROM stdin; -1 comptes de capitaux 0 FR -10 capital et réserves 1 FR -104 Primes liées au capital social 10 FR -106 Réserves 10 FR -1062 Réserves indisponibles 106 FR -107 Ecart d'équivalence 10 FR -109 Actionnaires : Capital souscrit - non appelé 10 FR -11 report a nouveau (solde créditeur ou débiteur) 1 FR -13 subventions d'investissement 1 FR -131 Subventions d'équipement 13 FR -138 Autres subventions d'investissement (même ventilation que celle du compte 131) 13 FR -139 Subventions d'investissement inscrites au compte de résultat 13 FR -1391 Subventions d'équipement 139 FR -1398 Autres subventions d'investissement (même ventilation que celle du compte 1391) 139 FR -14 provisions reglementees 1 FR -142 Provisions réglementées relatives aux immobilisations 14 FR -143 Provisions réglementées relatives aux stocks 14 FR -144 Provisions réglementées relatives aux autres éléments de l'actif 14 FR -151 Provisions pour risques 1 FR -153 Provisions pour pensions et obligations similaires 1 FR -155 Provisions pour impôts 1 FR -156 Provisions pour renouvellement des immobilisations (entreprises concessionnaires) 1 FR -157 Provisions pour charges à répartir sur plusieurs exercices 1 FR -158 Autres provisions pour charges 1 FR -161 Emprunts obligataires convertibles 1 FR -163 Autres emprunts obligataires 1 FR -164 Emprunts auprès des établissements de crédit 1 FR -165 Dépôts et cautionnements reçus 1 FR -166 Participation des salariés aux résultats 1 FR -167 Emprunts et dettes assortis de conditions particulières 1 FR -1671 Emissions de titres participatifs 167 FR -1674 Avances conditionnées de l'Etat 167 FR -1675 Emprunts participatifs 167 FR -168 Autres emprunts et dettes assimilées 1 FR -169 Primes de remboursement des obligations 1 FR -17 dettes rattachées a des participations 1 FR -171 Dettes rattachées à des participations (groupe) 17 FR -174 Dettes rattachées à des participations (hors groupe) 17 FR -178 Dettes rattachées à des sociétés en participation 17 FR -18 comptes de liaison des établissements et societes en participation 1 FR -2 comptes d'immobilisations 0 FR -203 Frais de recherche et de développement 2 FR -205 Concessions et droits similaires, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires 2 FR -211 Terrains 2 FR -2111 Terrains nus 211 FR -2112 Terrains aménagés 211 FR -2113 Sous-sols et sur-sols 211 FR -2114 Terrains de gisement 211 FR -2115 Terrains bâtis 211 FR -2116 Compte d'ordre sur immobilisations (art. 6 du décret n° 78-737 du 11 juillet 1978) 211 FR -212 Agencements et aménagements de terrains (même ventilation que celle du compte 211) 2 FR -213 Constructions 2 FR -2131 Bâtiments 213 FR -2135 Installations générales - agencements - aménagements des constructions (même ventilation que celle du compte 2131) 213 FR -2138 Ouvrages d'infrastructure 213 FR -214 Constructions sur sol d'autrui (même ventilation que celle du compte 213) 2 FR -215 Installations techniques, matériels et outillage industriels 2 FR -2151 Installations complexes spécialisées 215 FR -2153 Installations à caractère spécifique 215 FR -2154 Matériel industriel 215 FR -2155 Outillage industriel 215 FR -2157 Agencements et aménagements du matériel et outillage industriels 215 FR -218 Autres immobilisations corporelles 2 FR -2181 Installations générales, agencements, aménagements divers 218 FR -2182 Matériel de transport 218 FR -2183 Matériel de bureau et matériel informatique 218 FR -2184 Mobilier 218 FR -2185 Cheptel 218 FR -2186 Emballages récupérables 218 FR -22 immobilisations mises en concession 2 FR -231 Immobilisations corporelles en cours 2 FR -232 Immobilisations incorporelles en cours 2 FR -237 Avances et acomptes versés sur immobilisations incorporelles 2 FR -238 Avances et acomptes versés sur commandes d'immobilisations corporelles 2 FR -25 Parts dans des entreprises liées et créances sur des entreprises liées 2 FR -26 Participations et créances rattachées à des participations 2 FR -261 Titres de participation 26 FR -266 Autres formes de participation 26 FR -267 Créances rattachées à des participations 26 FR -268 Créances rattachées à des sociétés en participation 26 FR -269 Versements restant à effectuer sur titres de participation non libérés 26 FR -271 Titres immobilisés autres que les titres immobilisés de l'activité de portefeuille (droit de propriété) 2 FR -272 Titres immobilisés (droit de créance) 2 FR -273 Titres immobilisés de l'activité de portefeuille 2 FR -274 Prêts 2 FR -275 Dépôts et cautionnements versés 2 FR -276 Autres créances immobilisées 2 FR -277 (Actions propres ou parts propres) 2 FR -279 Versements restant à effectuer sur titres immobilisés non libérés 2 FR -28 amortissements des immobilisations 2 FR -2801 Frais d'établissement (même ventilation que celle du compte 201) 28 FR -2803 Frais de recherche et de développement 28 FR -2805 Concessions et droits similaires, brevets, licences, logiciels, droits et valeurs similaires 28 FR -2807 Fonds commercial 28 FR -2808 Autres immobilisations incorporelles 28 FR -2811 Terrains de gisement 28 FR -2812 Agencements, aménagements de terrains (même ventilation que celle du compte 212) 2 FR -2813 Constructions (même ventilation que celle du compte 213) 2 FR -2814 Constructions sur sol d'autrui (même ventilation que celle du compte 214) 2 FR -2815 Installations, matériel et outillage industriels (même ventilation que celle du compte 215) 2 FR -2818 Autres immobilisations corporelles (même ventilation que celle du compte 218) 2 FR -282 Amortissements des immobilisations mises en concession 28 FR -29 provisions pour dépréciation des immobilisations 2 FR -2905 Marques, procédés, droits et valeurs similaires 29 FR -2906 Droit au bail 29 FR -2907 Fonds commercial 29 FR -2908 Autres immobilisations incorporelles 29 FR -2911 Terrains (autres que terrains de gisement) 29 FR -292 Provisions pour dépréciation des immobilisations mises en concession 29 FR -293 Provisions pour dépréciation des immobilisations en cours 29 FR -2931 Immobilisations corporelles en cours 293 FR -2932 Immobilisations incorporelles en cours 293 FR -296 Provisions pour dépréciation des participations et créances rattachées à des participations 29 FR -2961 Titres de participation 296 FR -2966 Autres formes de participation 296 FR -2967 Créances rattachées à des participations (même ventilation que celle du compte 267) 26 FR -2968 Créances rattachées à des sociétés en participation (même ventilation que celle du compte 268) 26 FR -2971 Titres immobilisés autres que les titres immobilisés de l'activité de portefeuille -droit de propriété (même ventilation que celle du compte 271) 2 FR -2972 Titres immobilisés - droit de créance (même ventilation que celle du compte 272) 2 FR -2973 Titres immobilisés de l'activité de portefeuille 29 FR -2974 Prêts (même ventilation que celle du compte 274) 2 FR -2975 Dépôts et cautionnements versés (même ventilation que celle du compte 275) 2 FR -2976 Autres créances immobilisées (même ventilation que celle du compte 276) 2 FR -3 comptes de stocks et en cours 0 FR -321 Matières consommables 3 FR -322 Fournitures consommables 3 FR -326 Emballages 3 FR -331 Produits en cours 3 FR -335 Travaux en cours 3 FR -341 Etudes en cours 3 FR -345 Prestations de services en cours 3 FR -351 Produits intermédiaires 3 FR -355 Produits finis 3 FR -358 Produits résiduels (ou matières de récupération) 3 FR -36 (compte à ouvrir, le cas échéant, sous l'intitulé " stocks provenant d'immobilisations ") 3 FR -38 (lorsque l'entité tient un inventaire permanent en comptabilité générale, le compte 38 peut être utilisé pour comptabiliser les stocks en voie d'acheminement, mis en dépôt ou donnés en consignation) 3 FR -39 provisions pour dépréciation des stocks et en-cours 3 FR -4 comptes de tiers 0 FR -40 fournisseurs et comptes rattaches 4 FR -401 Fournisseurs 40 FR -403 Fournisseurs - Effets à payer 40 FR -404 Fournisseurs d'immobilisations 40 FR -405 Fournisseurs d'immobilisations - Effets à payer 40 FR -408 Fournisseurs - Factures non parvenues 40 FR -4091 Fournisseurs - Avances et acomptes versés sur commandes 40 FR -4096 Fournisseurs - Créances pour emballages et matériel à rendre 40 FR -4097 Fournisseurs - Autres avoirs 40 FR -4098 Rabais, remises, ristournes à obtenir et autres avoirs non encore reçus 40 FR -41 clients et comptes rattaches 4 FR -411 Clients 41 FR -413 Clients - Effets à recevoir 41 FR -416 Clients douteux ou litigieux 41 FR -417 " Créances " sur travaux non encore facturables 41 FR -418 Clients - Produits non encore facturés 41 FR -4191 Clients - Avances et acomptes reçus sur commandes 41 FR -4196 Clients - Dettes sur emballages et matériels consignés 41 FR -4197 Clients - Autres avoirs 41 FR -4198 Rabais, remises, ristournes à accorder et autres avoirs à établir 41 FR -42 Personnel et comptes rattaches 4 FR -422 Comités d'entreprises, d'établissement,... 42 FR -424 Participation des salariés aux résultats 42 FR -425 Personnel - Avances et acomptes 42 FR -426 Personnel - Dépôts 42 FR -427 Personnel - Oppositions 42 FR -431 Sécurité sociale 4 FR -437 Autres organismes sociaux 4 FR -43731 Cotis.Sal.+Pat. Retraite salariés dûes 437 FR -43732 Cotis.Sal.+Pat. Retraite cadres dûes 437 FR -4374 Cotis.Sal.+Pat. ASSEDIC dûes 437 FR -438 Organismes sociaux - Charges à payer et produits à recevoir 4 FR -44 État et autres collectivités publiques 4 FR -441 État - Subventions à recevoir 44 FR -442 Etat - Impôts et taxes recouvrables sur des tiers 44 FR -443 Opérations particulières avec l'Etat les collectivités publiques, les organismes internationaux 44 FR -4431 Créances sur l'Etat résultant de la suppression de la règle du décalage d'un mois en matière de T.V.A. 443 FR -4438 Intérêts courus sur créances figurant au 4431 443 FR -4452 T.V.A. due intracommunautaire 44 FR -4455 Taxes sur le chiffre d'affaires à décaisser 44 FR -4456 Taxes sur le chiffre d'affaires déductibles 44 FR -445661 T.V.A. déductible 19,6% sur autres biens et services 4456 FR -445662 T.V.A. déductible 5,5% sur autres biens et services 4456 FR -445663 T.V.A. déductible 2,1% sur autres biens et services 4456 FR -4457 Taxes sur le chiffre d'affaires collectées par l'entreprise 44 FR -4458 Taxes sur le chiffre d'affaires à régulariser ou en attente 44 FR -446 Obligations cautionnées 44 FR -448 Etat - Charges à payer et produits à recevoir 44 FR -451 Groupe 4 FR -456 Associés - Opérations sur le capital 4 FR -457 Associés - Dividendes à payer 4 FR -458 Associés - Opérations faites en commun et en G.I.E. 4 FR -471 Comptes d'attente 4 FR -472 Comptes d'attente 4 FR -473 Comptes d'attente 4 FR -474 Comptes d'attente 4 FR -475 Comptes d'attente 4 FR -476 Différence de conversion - Actif 4 FR -477 Différences de conversion - Passif 4 FR -478 Autres comptes transitoires 4 FR -48 comptes de régularisation 4 FR -4811 Charges différées 48 FR -4812 Frais d'acquisition des immobilisations 48 FR -4816 Frais d'émission des emprunts 48 FR -4818 Charges à étaler 48 FR -488 Comptes de répartition périodique des charges et des produits 48 FR -49 provisions pour dépréciation des comptes de tiers 4 FR -495 Provisions pour dépréciation des comptes du groupe et des associés 49 FR -4951 Comptes du groupe 495 FR -4955 Comptes courants des associés 495 FR -4958 Opérations faites en commun et en G.I.E. 495 FR -5 comptes financiers 0 FR -501 Parts dans des entreprises liées 5 FR -502 Actions propres 5 FR -503 Actions 5 FR -504 Autres titres conférant un droit de propriété 5 FR -505 Obligations et bons émis par la société et rachetés par elle 5 FR -506 Obligations 5 FR -507 Bons du Trésor et bons de caisse à court terme 5 FR -508 Autres valeurs mobilières de placement et autres créances assimilées 5 FR -509 Versements restant à effectuer sur valeurs mobilières de placement non libérées 5 FR -511 Valeurs à l'encaissement 5 FR -512 Banques 5 FR -514 Chèques postaux 5 FR -515 " Caisses " du Trésor et des établissements publics 5 FR -516 Sociétés de bourse 5 FR -517 Autres organismes financiers 5 FR -518 Intérêts courus 5 FR -519 Concours bancaires courants 5 FR -52 Instruments de trésorerie 5 FR -53 Caisse 5 FR -58 virements internes 5 FR -59 provisions pour dépréciation des comptes financiers 5 FR -5903 Actions 59 FR -5904 Autres titres conférant un droit de propriété 59 FR -5906 Obligations 59 FR -5908 Autres valeurs mobilières de placement et créances assimilées 59 FR -6 comptes de charges 0 FR -601 Achats stockés - Matières premières (et fournitures) 6 FR -602 Achats stockés - Autres approvisionnements 6 FR -6021 Matières consommables 602 FR -6022 Fournitures consommables 602 FR -6026 Emballages 602 FR -604 Achats d'études et prestations de services 6 FR -605 Achats de matériel, équipements et travaux 6 FR -606 Achats non stockés de matière et fournitures 6 FR -607 Achats de marchandises 6 FR -608 (Compte réservé, le cas échéant, à la récapitulation des frais accessoires incorporés aux achats) 6 FR -609 Rabais, remises et ristournes obtenus sur achats 6 FR -6031 Variation des stocks de matières premières (et fournitures) 6 FR -6032 Variation des stocks des autres approvisionnements 6 FR -6037 Variation des stocks de marchandises 6 FR -61 autres charges externes - Services extérieurs 6 FR -611 Sous-traitance générale 61 FR -612 Redevances de crédit-bail 61 FR -6122 Crédit-bail mobilier 612 FR -6125 Crédit-bail immobilier 612 FR -613 Locations 61 FR -614 Charges locatives et de copropriété 61 FR -615 Entretien et réparations 61 FR -616 Primes d'assurances 61 FR -617 Etudes et recherches 61 FR -618 Divers 61 FR -619 Rabais, remises et ristournes obtenus sur services extérieurs 61 FR -62 autres charges externes - Autres services extérieurs 6 FR -621 Personnel extérieur à l'entreprise 62 FR -622 Rémunérations d'intermédiaires et honoraires 62 FR -623 Publicité, publications, relations publiques 62 FR -624 Transports de biens et transports collectifs du personnel 62 FR -625 Déplacements, missions et réceptions 62 FR -626 Frais postaux et de télécommunications 62 FR -627 Services bancaires et assimilés 62 FR -628 Divers 62 FR -629 Rabais, remises et ristournes obtenus sur autres services extérieurs 62 FR -631 Impôts, taxes et versements assimilés sur rémunérations (administrations des impôts) 6 FR -633 Impôts, taxes et versements assimilés sur rémunérations (autres organismes) 6 FR -635 Autres impôts, taxes et versements assimilés (administrations des impôts) 6 FR -637 Autres impôts, taxes et versements assimilés (autres organismes) 6 FR -64 Charges de personnel 6 FR -647 Autres charges sociales 64 FR -648 Autres charges de personnel 64 FR -651 Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires 6 FR -653 Jetons de présence 6 FR -654 Pertes sur créances irrécouvrables 6 FR -655 Quotes-parts de résultat sur opérations faites en commun 6 FR -658 Charges diverses de gestion courante 6 FR -661 Charges d'intérêts 6 FR -664 Pertes sur créances liées à des participations 6 FR -665 Escomptes accordés 6 FR -666 Pertes de change 6 FR -667 Charges nettes sur cessions de valeurs mobilières de placement 6 FR -668 Autres charges financières 6 FR -671 Charges exceptionnelles sur opérations de gestion 6 FR -672 (Compte à la disposition des entités pour enregistrer, en cours d'exercice, les charges sur exercices antérieurs) 6 FR -675 Valeurs comptables des éléments d'actif cédés 6 FR -678 Autres charges exceptionnelles 6 FR -68 Dotations aux amortissements et aux provisions 6 FR -6811 Dotations aux amortissements sur immobilisations incorporelles et corporelles 68 FR -6812 Dotations aux amortissements des charges d'exploitation à répartir 68 FR -6815 Dotations aux provisions pour risques et charges d'exploitation 68 FR -6816 Dotations aux provisions pour dépréciation des immobilisations incorporelles et corporelles 68 FR -6817 Dotations aux provisions pour dépréciation des actifs circulants 68 FR -6861 Dotations aux amortissements des primes de remboursement des obligations 68 FR -6865 Dotations aux provisions pour risques et charges financiers 68 FR -6866 Dotations aux provisions pour dépréciation des éléments financiers 68 FR -6868 Autres dotations 68 FR -6871 Dotations aux amortissements exceptionnels des immobilisations 68 FR -6872 Dotations aux provisions réglementées (immobilisations) 68 FR -6873 Dotations aux provisions réglementées (stocks) 68 FR -6874 Dotations aux autres provisions réglementées 68 FR -6875 Dotations aux provisions pour risques et charges exceptionnels 68 FR -6876 Dotations aux provisions pour dépréciations exceptionnelles 68 FR -69 participation des salaries - impôts sur les benefices et assimiles 6 FR -696 Suppléments d'impôt sur les sociétés liés aux distributions 69 FR -698 Intégration fiscale 69 FR -6981 Intégration fiscale - Charges 698 FR -6989 Intégration fiscale - Produits 698 FR -7 comptes de produits 0 FR -70 ventes de produits fabriques, prestations de services, marchandises 7 FR -702 Ventes de produits intermédiaires 70 FR -703 Ventes de produits résiduels 70 FR -704 Travaux 70 FR -705 Etudes 70 FR -71 production stockée (ou déstockage) 7 FR -7133 Variation des en-cours de production de biens 71 FR -7134 Variation des en-cours de production de services 71 FR -7135 Variation des stocks de produits 71 FR -721 Immobilisations incorporelles 7 FR -722 Immobilisations corporelles 7 FR -731 Produits nets partiels sur opérations en cours (à subdiviser par opération) 7 FR -739 Produits nets partiels sur opérations terminées 7 FR -751 Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires 7 FR -752 Revenus des immeubles non affectés à des activités professionnelles 7 FR -758 Produits divers de gestion courante 7 FR -761 Produits de participations 7 FR -762 Produits des autres immobilisations financières 7 FR -763 Revenus des autres créances 7 FR -764 Revenus des valeurs mobilières de placement 7 FR -765 Escomptes obtenus 7 FR -766 Gains de change 7 FR -767 Produits nets sur cessions de valeurs mobilières de placement 7 FR -768 Autres produits financiers 7 FR -771 Produits exceptionnels sur opérations de gestion 7 FR -772 (Compte à la disposition des entités pour enregistrer, en cours d'exercice, les produits sur exercices antérieurs) 7 FR -775 Produits des cessions d'éléments d'actif 7 FR -777 Quote-part des subventions d'investissement virée au résultat de l'exercice 7 FR -778 Autres produits exceptionnels 7 FR -78 Reprises sur amortissements et provisions 7 FR -7811 Reprises sur amortissements des immobilisations incorporelles et corporelles 78 FR -7815 Reprises sur provisions pour risques et charges d'exploitation 78 FR -7816 Reprises sur provisions pour dépréciation des immobilisations incorporelles et corporelles 78 FR -7817 Reprises sur provisions pour dépréciation des actifs circulants 78 FR -7865 Reprises sur provisions pour risques et charges financiers 78 FR -7866 Reprises sur provisions pour dépréciation des éléments financiers 78 FR -7872 Reprises sur provisions réglementées (immobilisations) 78 FR -7873 Reprises sur provisions réglementées (stocks) 78 FR -7874 Reprises sur autres provisions réglementées 78 FR -7875 Reprises sur provisions pour risques et charges exceptionnels 78 FR -7876 Reprises sur provisions pour dépréciations exceptionnelles 78 FR -791 Transferts de charges d'exploitation 7 FR -796 Transferts de charges financières 7 FR -797 Transferts de charges exceptionnelles 7 FR -8 Comptes spéciaux 0 FR -80 Engagements hors bilan 8 FR -801 Engagements donnés par l'entité 80 FR -8011 Avals, cautions, garanties 801 FR -8014 Effets circulant sous l'endos de l'entité 801 FR -8016 Redevances crédit-bail restant à courir 801 FR -80161 Crédit-bail mobilier 8016 FR -80165 Crédit-bail immobilier 8016 FR -8018 Autres engagements donnés 801 FR -802 Engagements reçus par l'entité 80 FR -8021 Avals, cautions, garanties 802 FR -8024 Créances escomptées non échues 802 FR -8026 Engagements reçus pour utilisation en crédit-bail 802 FR -80261 Crédit-bail mobilier 8026 FR -80265 Crédit-bail immobilier 8026 FR -8028 Autres engagements reçus 802 FR -809 Contrepartie des engagements 80 FR -8091 Contrepartie 801 809 FR -8092 Contrepartie 802 809 FR -88 Résultat en instance d'affectation 8 FR -89 Bilan 8 FR -890 Bilan d'ouverture 89 FR -891 Bilan de clôture 89 FR -9 Comptes analytiques 0 FR -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/base-perso/fr_plan_base_perso_comptes-defaut.sql b/sources/contrib/comptabilite-francaise/base-perso/fr_plan_base_perso_comptes-defaut.sql deleted file mode 100644 index 51a572f..0000000 --- a/sources/contrib/comptabilite-francaise/base-perso/fr_plan_base_perso_comptes-defaut.sql +++ /dev/null @@ -1,27 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007-09-08 02:49 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: parm_code; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY parm_code (p_code, p_value, p_comment) FROM stdin; -BANQUE 512 Poste comptable par défaut pour les banques -COMPTE_COURANT 514 Poste comptable par défaut pour le compte courant -CAISSE 53 Poste comptable par défaut pour les caisses -CUSTOMER 411 Poste comptable par défaut pour les clients -VENTE 70 Poste comptable par défaut pour les ventes -VIREMENT_INTERNE 58 Poste comptable par défaut pour les virements internes -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/base-perso/fr_plan_base_perso_tva.sql b/sources/contrib/comptabilite-francaise/base-perso/fr_plan_base_perso_tva.sql deleted file mode 100644 index 9a6fb1d..0000000 --- a/sources/contrib/comptabilite-francaise/base-perso/fr_plan_base_perso_tva.sql +++ /dev/null @@ -1,44 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007/10/23 22:23 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tva_rate; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) FROM stdin; -101 TVAFranceNormal 0.196 TVA 19,6% - France métropolitaine - Taux normal 4456,4457 -102 TVAFranceRéduit 0.055 TVA 5,5% - France métropolitaine - Taux réduit 4456,4457 -103 TVAFranceSuperRéduit 0.021 TVA 2,1% - France métropolitaine - Taux super réduit 4456,4457 -104 TVAFranceImmos 0.196 TVA 19,6% - France métropolitaine - Taux immobilisations 4456,4457 -105 TVAFranceAnciens 0 TVA x% - France métropolitaine - Taux anciens 4456,4457 -201 TVADomNormal 0.085 TVA 8,5% - DOM - Taux normal 4456,4457 -202 TVADomNPR 0.085 TVA 8,5% - DOM - Taux normal NPR 4456,4457 -203 TVADomRéduit 0.021 TVA 2,1% - DOM - Taux réduit 4456,4457 -204 TVADom-I 0.0175 TVA 1,75% - DOM - Taux I 4456,4457 -205 TVADomPresse 0.0105 TVA 1,05% - DOM - Taux publications de presse 4456,4457 -206 TVADomOctroi 0 TVA x% - DOM - Taux octroi de mer 4456,4457 -207 TVADomImmos 0 TVA x% - DOM - Taux immobilisations 4456,4457 -301 TVACorse-I 0.13 TVA 13% - Corse - Taux I 4456,4457 -302 TVACorse-II 0.08 TVA 8% - Corse - Taux II 4456,4457 -303 TVACorse-III 0.021 TVA 2,1% - Corse - Taux III 4456,4457 -304 TVACorse-IV 0.009 TVA 0,9% - Corse - Taux IV 4456,4457 -305 TVACorseImmos 0 TVA x% - Corse - Taux immobilisations 4456,4457 -401 TVAacquisIntracom 0 TVA x% - Acquisitions intracommunautaires/Pays 4456,4457 -402 TVAacquisIntracomImmos 0 TVA x% - Acquisitions intracommunautaires immobilisations/Pays 4456,4457 -501 TVAfranchise 0 TVA x% - Non imposable : Achats en franchise -502 TVAexport 0 TVA x% - Non imposable : Exports hors CE/Pays -503 TVAautres 0 TVA x% - Non imposable : Autres opérations -504 TVAlivrIntracom 0 TVA x% - Non imposable : Livraisons intracommunautaires/Pays -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/base-strict/fr_plan_base.sql b/sources/contrib/comptabilite-francaise/base-strict/fr_plan_base.sql deleted file mode 100644 index 24ed450..0000000 --- a/sources/contrib/comptabilite-francaise/base-strict/fr_plan_base.sql +++ /dev/null @@ -1,397 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007-09-08 01:10 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tmp_pcmn; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_country) FROM stdin; -1 comptes de capitaux 0 FR -10 capital et réserves 1 FR -104 Primes liées au capital social 10 FR -106 Réserves 10 FR -1062 Réserves indisponibles 106 FR -107 Ecart d'équivalence 10 FR -109 Actionnaires : Capital souscrit - non appelé 10 FR -11 report a nouveau (solde créditeur ou débiteur) 1 FR -13 subventions d'investissement 1 FR -131 Subventions d'équipement 13 FR -138 Autres subventions d'investissement (même ventilation que celle du compte 131) 13 FR -139 Subventions d'investissement inscrites au compte de résultat 13 FR -1391 Subventions d'équipement 139 FR -1398 Autres subventions d'investissement (même ventilation que celle du compte 1391) 139 FR -14 provisions reglementees 1 FR -142 Provisions réglementées relatives aux immobilisations 14 FR -143 Provisions réglementées relatives aux stocks 14 FR -144 Provisions réglementées relatives aux autres éléments de l'actif 14 FR -151 Provisions pour risques 1 FR -153 Provisions pour pensions et obligations similaires 1 FR -155 Provisions pour impôts 1 FR -156 Provisions pour renouvellement des immobilisations (entreprises concessionnaires) 1 FR -157 Provisions pour charges à répartir sur plusieurs exercices 1 FR -158 Autres provisions pour charges 1 FR -161 Emprunts obligataires convertibles 1 FR -163 Autres emprunts obligataires 1 FR -164 Emprunts auprès des établissements de crédit 1 FR -165 Dépôts et cautionnements reçus 1 FR -166 Participation des salariés aux résultats 1 FR -167 Emprunts et dettes assortis de conditions particulières 1 FR -1671 Emissions de titres participatifs 167 FR -1674 Avances conditionnées de l'Etat 167 FR -1675 Emprunts participatifs 167 FR -168 Autres emprunts et dettes assimilées 1 FR -169 Primes de remboursement des obligations 1 FR -17 dettes rattachées a des participations 1 FR -171 Dettes rattachées à des participations (groupe) 17 FR -174 Dettes rattachées à des participations (hors groupe) 17 FR -178 Dettes rattachées à des sociétés en participation 17 FR -18 comptes de liaison des établissements et societes en participation 1 FR -2 comptes d'immobilisations 0 FR -203 Frais de recherche et de développement 2 FR -205 Concessions et droits similaires, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires 2 FR -211 Terrains 2 FR -2111 Terrains nus 211 FR -2112 Terrains aménagés 211 FR -2113 Sous-sols et sur-sols 211 FR -2114 Terrains de gisement 211 FR -2115 Terrains bâtis 211 FR -2116 Compte d'ordre sur immobilisations (art. 6 du décret n° 78-737 du 11 juillet 1978) 211 FR -212 Agencements et aménagements de terrains (même ventilation que celle du compte 211) 2 FR -213 Constructions 2 FR -2131 Bâtiments 213 FR -2135 Installations générales - agencements - aménagements des constructions (même ventilation que celle du compte 2131) 213 FR -2138 Ouvrages d'infrastructure 213 FR -214 Constructions sur sol d'autrui (même ventilation que celle du compte 213) 2 FR -215 Installations techniques, matériels et outillage industriels 2 FR -2151 Installations complexes spécialisées 215 FR -2153 Installations à caractère spécifique 215 FR -2154 Matériel industriel 215 FR -2155 Outillage industriel 215 FR -2157 Agencements et aménagements du matériel et outillage industriels 215 FR -218 Autres immobilisations corporelles 2 FR -2181 Installations générales, agencements, aménagements divers 218 FR -2182 Matériel de transport 218 FR -2183 Matériel de bureau et matériel informatique 218 FR -2184 Mobilier 218 FR -2185 Cheptel 218 FR -2186 Emballages récupérables 218 FR -22 immobilisations mises en concession 2 FR -231 Immobilisations corporelles en cours 2 FR -232 Immobilisations incorporelles en cours 2 FR -237 Avances et acomptes versés sur immobilisations incorporelles 2 FR -238 Avances et acomptes versés sur commandes d'immobilisations corporelles 2 FR -25 Parts dans des entreprises liées et créances sur des entreprises liées 2 FR -26 Participations et créances rattachées à des participations 2 FR -261 Titres de participation 26 FR -266 Autres formes de participation 26 FR -267 Créances rattachées à des participations 26 FR -268 Créances rattachées à des sociétés en participation 26 FR -269 Versements restant à effectuer sur titres de participation non libérés 26 FR -271 Titres immobilisés autres que les titres immobilisés de l'activité de portefeuille (droit de propriété) 2 FR -272 Titres immobilisés (droit de créance) 2 FR -273 Titres immobilisés de l'activité de portefeuille 2 FR -274 Prêts 2 FR -275 Dépôts et cautionnements versés 2 FR -276 Autres créances immobilisées 2 FR -277 (Actions propres ou parts propres) 2 FR -279 Versements restant à effectuer sur titres immobilisés non libérés 2 FR -28 amortissements des immobilisations 2 FR -2801 Frais d'établissement (même ventilation que celle du compte 201) 28 FR -2803 Frais de recherche et de développement 28 FR -2805 Concessions et droits similaires, brevets, licences, logiciels, droits et valeurs similaires 28 FR -2807 Fonds commercial 28 FR -2808 Autres immobilisations incorporelles 28 FR -2811 Terrains de gisement 28 FR -2812 Agencements, aménagements de terrains (même ventilation que celle du compte 212) 2 FR -2813 Constructions (même ventilation que celle du compte 213) 2 FR -2814 Constructions sur sol d'autrui (même ventilation que celle du compte 214) 2 FR -2815 Installations, matériel et outillage industriels (même ventilation que celle du compte 215) 2 FR -2818 Autres immobilisations corporelles (même ventilation que celle du compte 218) 2 FR -282 Amortissements des immobilisations mises en concession 28 FR -29 provisions pour dépréciation des immobilisations 2 FR -2905 Marques, procédés, droits et valeurs similaires 29 FR -2906 Droit au bail 29 FR -2907 Fonds commercial 29 FR -2908 Autres immobilisations incorporelles 29 FR -2911 Terrains (autres que terrains de gisement) 29 FR -292 Provisions pour dépréciation des immobilisations mises en concession 29 FR -293 Provisions pour dépréciation des immobilisations en cours 29 FR -2931 Immobilisations corporelles en cours 293 FR -2932 Immobilisations incorporelles en cours 293 FR -296 Provisions pour dépréciation des participations et créances rattachées à des participations 29 FR -2961 Titres de participation 296 FR -2966 Autres formes de participation 296 FR -2967 Créances rattachées à des participations (même ventilation que celle du compte 267) 26 FR -2968 Créances rattachées à des sociétés en participation (même ventilation que celle du compte 268) 26 FR -2971 Titres immobilisés autres que les titres immobilisés de l'activité de portefeuille -droit de propriété (même ventilation que celle du compte 271) 2 FR -2972 Titres immobilisés - droit de créance (même ventilation que celle du compte 272) 2 FR -2973 Titres immobilisés de l'activité de portefeuille 29 FR -2974 Prêts (même ventilation que celle du compte 274) 2 FR -2975 Dépôts et cautionnements versés (même ventilation que celle du compte 275) 2 FR -2976 Autres créances immobilisées (même ventilation que celle du compte 276) 2 FR -3 comptes de stocks et en cours 0 FR -321 Matières consommables 3 FR -322 Fournitures consommables 3 FR -326 Emballages 3 FR -331 Produits en cours 3 FR -335 Travaux en cours 3 FR -341 Etudes en cours 3 FR -345 Prestations de services en cours 3 FR -351 Produits intermédiaires 3 FR -355 Produits finis 3 FR -358 Produits résiduels (ou matières de récupération) 3 FR -36 (compte à ouvrir, le cas échéant, sous l'intitulé " stocks provenant d'immobilisations ") 3 FR -38 (lorsque l'entité tient un inventaire permanent en comptabilité générale, le compte 38 peut être utilisé pour comptabiliser les stocks en voie d'acheminement, mis en dépôt ou donnés en consignation) 3 FR -39 provisions pour dépréciation des stocks et en-cours 3 FR -4 comptes de tiers 0 FR -40 fournisseurs et comptes rattaches 4 FR -401 Fournisseurs 40 FR -403 Fournisseurs - Effets à payer 40 FR -404 Fournisseurs d'immobilisations 40 FR -405 Fournisseurs d'immobilisations - Effets à payer 40 FR -408 Fournisseurs - Factures non parvenues 40 FR -4091 Fournisseurs - Avances et acomptes versés sur commandes 40 FR -4096 Fournisseurs - Créances pour emballages et matériel à rendre 40 FR -4097 Fournisseurs - Autres avoirs 40 FR -4098 Rabais, remises, ristournes à obtenir et autres avoirs non encore reçus 40 FR -41 clients et comptes rattaches 4 FR -411 Clients 41 FR -413 Clients - Effets à recevoir 41 FR -416 Clients douteux ou litigieux 41 FR -417 " Créances " sur travaux non encore facturables 41 FR -418 Clients - Produits non encore facturés 41 FR -4191 Clients - Avances et acomptes reçus sur commandes 41 FR -4196 Clients - Dettes sur emballages et matériels consignés 41 FR -4197 Clients - Autres avoirs 41 FR -4198 Rabais, remises, ristournes à accorder et autres avoirs à établir 41 FR -42 Personnel et comptes rattaches 4 FR -422 Comités d'entreprises, d'établissement,... 42 FR -424 Participation des salariés aux résultats 42 FR -425 Personnel - Avances et acomptes 42 FR -426 Personnel - Dépôts 42 FR -427 Personnel - Oppositions 42 FR -431 Sécurité sociale 4 FR -437 Autres organismes sociaux 4 FR -438 Organismes sociaux - Charges à payer et produits à recevoir 4 FR -44 État et autres collectivités publiques 4 FR -441 État - Subventions à recevoir 44 FR -442 Etat - Impôts et taxes recouvrables sur des tiers 44 FR -443 Opérations particulières avec l'Etat les collectivités publiques, les organismes internationaux 44 FR -4431 Créances sur l'Etat résultant de la suppression de la règle du décalage d'un mois en matière de T.V.A. 443 FR -4438 Intérêts courus sur créances figurant au 4431 443 FR -4452 T.V.A. due intracommunautaire 44 FR -4455 Taxes sur le chiffre d'affaires à décaisser 44 FR -4456 Taxes sur le chiffre d'affaires déductibles 44 FR -4457 Taxes sur le chiffre d'affaires collectées par l'entreprise 44 FR -4458 Taxes sur le chiffre d'affaires à régulariser ou en attente 44 FR -446 Obligations cautionnées 44 FR -448 Etat - Charges à payer et produits à recevoir 44 FR -451 Groupe 4 FR -456 Associés - Opérations sur le capital 4 FR -457 Associés - Dividendes à payer 4 FR -458 Associés - Opérations faites en commun et en G.I.E. 4 FR -471 Comptes d'attente 4 FR -472 Comptes d'attente 4 FR -473 Comptes d'attente 4 FR -474 Comptes d'attente 4 FR -475 Comptes d'attente 4 FR -476 Différence de conversion - Actif 4 FR -477 Différences de conversion - Passif 4 FR -478 Autres comptes transitoires 4 FR -48 comptes de régularisation 4 FR -4811 Charges différées 48 FR -4812 Frais d'acquisition des immobilisations 48 FR -4816 Frais d'émission des emprunts 48 FR -4818 Charges à étaler 48 FR -488 Comptes de répartition périodique des charges et des produits 48 FR -49 provisions pour dépréciation des comptes de tiers 4 FR -495 Provisions pour dépréciation des comptes du groupe et des associés 49 FR -4951 Comptes du groupe 495 FR -4955 Comptes courants des associés 495 FR -4958 Opérations faites en commun et en G.I.E. 495 FR -5 comptes financiers 0 FR -501 Parts dans des entreprises liées 5 FR -502 Actions propres 5 FR -503 Actions 5 FR -504 Autres titres conférant un droit de propriété 5 FR -505 Obligations et bons émis par la société et rachetés par elle 5 FR -506 Obligations 5 FR -507 Bons du Trésor et bons de caisse à court terme 5 FR -508 Autres valeurs mobilières de placement et autres créances assimilées 5 FR -509 Versements restant à effectuer sur valeurs mobilières de placement non libérées 5 FR -511 Valeurs à l'encaissement 5 FR -512 Banques 5 FR -514 Chèques postaux 5 FR -515 " Caisses " du Trésor et des établissements publics 5 FR -516 Sociétés de bourse 5 FR -517 Autres organismes financiers 5 FR -518 Intérêts courus 5 FR -519 Concours bancaires courants 5 FR -52 Instruments de trésorerie 5 FR -59 provisions pour dépréciation des comptes financiers 5 FR -5903 Actions 59 FR -5904 Autres titres conférant un droit de propriété 59 FR -5906 Obligations 59 FR -5908 Autres valeurs mobilières de placement et créances assimilées 59 FR -6 comptes de charges 0 FR -601 Achats stockés - Matières premières (et fournitures) 6 FR -602 Achats stockés - Autres approvisionnements 6 FR -6021 Matières consommables 602 FR -6022 Fournitures consommables 602 FR -6026 Emballages 602 FR -604 Achats d'études et prestations de services 6 FR -605 Achats de matériel, équipements et travaux 6 FR -606 Achats non stockés de matière et fournitures 6 FR -607 Achats de marchandises 6 FR -608 (Compte réservé, le cas échéant, à la récapitulation des frais accessoires incorporés aux achats) 6 FR -609 Rabais, remises et ristournes obtenus sur achats 6 FR -6031 Variation des stocks de matières premières (et fournitures) 6 FR -6032 Variation des stocks des autres approvisionnements 6 FR -6037 Variation des stocks de marchandises 6 FR -61 autres charges externes - Services extérieurs 6 FR -611 Sous-traitance générale 61 FR -612 Redevances de crédit-bail 61 FR -6122 Crédit-bail mobilier 612 FR -6125 Crédit-bail immobilier 612 FR -613 Locations 61 FR -614 Charges locatives et de copropriété 61 FR -615 Entretien et réparations 61 FR -616 Primes d'assurances 61 FR -617 Etudes et recherches 61 FR -618 Divers 61 FR -619 Rabais, remises et ristournes obtenus sur services extérieurs 61 FR -62 autres charges externes - Autres services extérieurs 6 FR -621 Personnel extérieur à l'entreprise 62 FR -622 Rémunérations d'intermédiaires et honoraires 62 FR -623 Publicité, publications, relations publiques 62 FR -624 Transports de biens et transports collectifs du personnel 62 FR -625 Déplacements, missions et réceptions 62 FR -626 Frais postaux et de télécommunications 62 FR -627 Services bancaires et assimilés 62 FR -628 Divers 62 FR -629 Rabais, remises et ristournes obtenus sur autres services extérieurs 62 FR -631 Impôts, taxes et versements assimilés sur rémunérations (administrations des impôts) 6 FR -633 Impôts, taxes et versements assimilés sur rémunérations (autres organismes) 6 FR -635 Autres impôts, taxes et versements assimilés (administrations des impôts) 6 FR -637 Autres impôts, taxes et versements assimilés (autres organismes) 6 FR -64 Charges de personnel 6 FR -647 Autres charges sociales 64 FR -648 Autres charges de personnel 64 FR -651 Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires 6 FR -653 Jetons de présence 6 FR -654 Pertes sur créances irrécouvrables 6 FR -655 Quotes-parts de résultat sur opérations faites en commun 6 FR -658 Charges diverses de gestion courante 6 FR -661 Charges d'intérêts 6 FR -664 Pertes sur créances liées à des participations 6 FR -665 Escomptes accordés 6 FR -666 Pertes de change 6 FR -667 Charges nettes sur cessions de valeurs mobilières de placement 6 FR -668 Autres charges financières 6 FR -671 Charges exceptionnelles sur opérations de gestion 6 FR -672 (Compte à la disposition des entités pour enregistrer, en cours d'exercice, les charges sur exercices antérieurs) 6 FR -675 Valeurs comptables des éléments d'actif cédés 6 FR -678 Autres charges exceptionnelles 6 FR -68 Dotations aux amortissements et aux provisions 6 FR -6811 Dotations aux amortissements sur immobilisations incorporelles et corporelles 68 FR -6812 Dotations aux amortissements des charges d'exploitation à répartir 68 FR -6815 Dotations aux provisions pour risques et charges d'exploitation 68 FR -6816 Dotations aux provisions pour dépréciation des immobilisations incorporelles et corporelles 68 FR -6817 Dotations aux provisions pour dépréciation des actifs circulants 68 FR -6861 Dotations aux amortissements des primes de remboursement des obligations 68 FR -6865 Dotations aux provisions pour risques et charges financiers 68 FR -6866 Dotations aux provisions pour dépréciation des éléments financiers 68 FR -6868 Autres dotations 68 FR -6871 Dotations aux amortissements exceptionnels des immobilisations 68 FR -6872 Dotations aux provisions réglementées (immobilisations) 68 FR -6873 Dotations aux provisions réglementées (stocks) 68 FR -6874 Dotations aux autres provisions réglementées 68 FR -6875 Dotations aux provisions pour risques et charges exceptionnels 68 FR -6876 Dotations aux provisions pour dépréciations exceptionnelles 68 FR -69 participation des salaries - impôts sur les benefices et assimiles 6 FR -696 Suppléments d'impôt sur les sociétés liés aux distributions 69 FR -698 Intégration fiscale 69 FR -6981 Intégration fiscale - Charges 698 FR -6989 Intégration fiscale - Produits 698 FR -7 comptes de produits 0 FR -70 ventes de produits fabriques, prestations de services, marchandises 7 FR -702 Ventes de produits intermédiaires 70 FR -703 Ventes de produits résiduels 70 FR -704 Travaux 70 FR -705 Etudes 70 FR -71 production stockée (ou déstockage) 7 FR -7133 Variation des en-cours de production de biens 71 FR -7134 Variation des en-cours de production de services 71 FR -7135 Variation des stocks de produits 71 FR -721 Immobilisations incorporelles 7 FR -722 Immobilisations corporelles 7 FR -731 Produits nets partiels sur opérations en cours (à subdiviser par opération) 7 FR -739 Produits nets partiels sur opérations terminées 7 FR -751 Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires 7 FR -752 Revenus des immeubles non affectés à des activités professionnelles 7 FR -758 Produits divers de gestion courante 7 FR -761 Produits de participations 7 FR -762 Produits des autres immobilisations financières 7 FR -763 Revenus des autres créances 7 FR -764 Revenus des valeurs mobilières de placement 7 FR -765 Escomptes obtenus 7 FR -766 Gains de change 7 FR -767 Produits nets sur cessions de valeurs mobilières de placement 7 FR -768 Autres produits financiers 7 FR -771 Produits exceptionnels sur opérations de gestion 7 FR -772 (Compte à la disposition des entités pour enregistrer, en cours d'exercice, les produits sur exercices antérieurs) 7 FR -775 Produits des cessions d'éléments d'actif 7 FR -777 Quote-part des subventions d'investissement virée au résultat de l'exercice 7 FR -778 Autres produits exceptionnels 7 FR -78 Reprises sur amortissements et provisions 7 FR -7811 Reprises sur amortissements des immobilisations incorporelles et corporelles 78 FR -7815 Reprises sur provisions pour risques et charges d'exploitation 78 FR -7816 Reprises sur provisions pour dépréciation des immobilisations incorporelles et corporelles 78 FR -7817 Reprises sur provisions pour dépréciation des actifs circulants 78 FR -7865 Reprises sur provisions pour risques et charges financiers 78 FR -7866 Reprises sur provisions pour dépréciation des éléments financiers 78 FR -7872 Reprises sur provisions réglementées (immobilisations) 78 FR -7873 Reprises sur provisions réglementées (stocks) 78 FR -7874 Reprises sur autres provisions réglementées 78 FR -7875 Reprises sur provisions pour risques et charges exceptionnels 78 FR -7876 Reprises sur provisions pour dépréciations exceptionnelles 78 FR -791 Transferts de charges d'exploitation 7 FR -796 Transferts de charges financières 7 FR -797 Transferts de charges exceptionnelles 7 FR -8 Comptes spéciaux 0 FR -80 Engagements hors bilan 8 FR -801 Engagements donnés par l'entité 80 FR -8011 Avals, cautions, garanties 801 FR -8014 Effets circulant sous l'endos de l'entité 801 FR -8016 Redevances crédit-bail restant à courir 801 FR -80161 Crédit-bail mobilier 8016 FR -80165 Crédit-bail immobilier 8016 FR -8018 Autres engagements donnés 801 FR -802 Engagements reçus par l'entité 80 FR -8021 Avals, cautions, garanties 802 FR -8024 Créances escomptées non échues 802 FR -8026 Engagements reçus pour utilisation en crédit-bail 802 FR -80261 Crédit-bail mobilier 8026 FR -80265 Crédit-bail immobilier 8026 FR -8028 Autres engagements reçus 802 FR -809 Contrepartie des engagements 80 FR -8091 Contrepartie 801 809 FR -8092 Contrepartie 802 809 FR -88 Résultat en instance d'affectation 8 FR -89 Bilan 8 FR -890 Bilan d'ouverture 89 FR -891 Bilan de clôture 89 FR -9 Comptes analytiques 0 FR -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/base-strict/fr_plan_base_tva.sql b/sources/contrib/comptabilite-francaise/base-strict/fr_plan_base_tva.sql deleted file mode 100644 index 9a6fb1d..0000000 --- a/sources/contrib/comptabilite-francaise/base-strict/fr_plan_base_tva.sql +++ /dev/null @@ -1,44 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007/10/23 22:23 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tva_rate; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) FROM stdin; -101 TVAFranceNormal 0.196 TVA 19,6% - France métropolitaine - Taux normal 4456,4457 -102 TVAFranceRéduit 0.055 TVA 5,5% - France métropolitaine - Taux réduit 4456,4457 -103 TVAFranceSuperRéduit 0.021 TVA 2,1% - France métropolitaine - Taux super réduit 4456,4457 -104 TVAFranceImmos 0.196 TVA 19,6% - France métropolitaine - Taux immobilisations 4456,4457 -105 TVAFranceAnciens 0 TVA x% - France métropolitaine - Taux anciens 4456,4457 -201 TVADomNormal 0.085 TVA 8,5% - DOM - Taux normal 4456,4457 -202 TVADomNPR 0.085 TVA 8,5% - DOM - Taux normal NPR 4456,4457 -203 TVADomRéduit 0.021 TVA 2,1% - DOM - Taux réduit 4456,4457 -204 TVADom-I 0.0175 TVA 1,75% - DOM - Taux I 4456,4457 -205 TVADomPresse 0.0105 TVA 1,05% - DOM - Taux publications de presse 4456,4457 -206 TVADomOctroi 0 TVA x% - DOM - Taux octroi de mer 4456,4457 -207 TVADomImmos 0 TVA x% - DOM - Taux immobilisations 4456,4457 -301 TVACorse-I 0.13 TVA 13% - Corse - Taux I 4456,4457 -302 TVACorse-II 0.08 TVA 8% - Corse - Taux II 4456,4457 -303 TVACorse-III 0.021 TVA 2,1% - Corse - Taux III 4456,4457 -304 TVACorse-IV 0.009 TVA 0,9% - Corse - Taux IV 4456,4457 -305 TVACorseImmos 0 TVA x% - Corse - Taux immobilisations 4456,4457 -401 TVAacquisIntracom 0 TVA x% - Acquisitions intracommunautaires/Pays 4456,4457 -402 TVAacquisIntracomImmos 0 TVA x% - Acquisitions intracommunautaires immobilisations/Pays 4456,4457 -501 TVAfranchise 0 TVA x% - Non imposable : Achats en franchise -502 TVAexport 0 TVA x% - Non imposable : Exports hors CE/Pays -503 TVAautres 0 TVA x% - Non imposable : Autres opérations -504 TVAlivrIntracom 0 TVA x% - Non imposable : Livraisons intracommunautaires/Pays -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/copropriete/fr_plan_syndiccoprop.sql b/sources/contrib/comptabilite-francaise/copropriete/fr_plan_syndiccoprop.sql deleted file mode 100644 index 0dd612d..0000000 --- a/sources/contrib/comptabilite-francaise/copropriete/fr_plan_syndiccoprop.sql +++ /dev/null @@ -1,133 +0,0 @@ --- --- PostgreSQL database dump --- Version 2008/02/10 09:19 --- - --- --- Name: TABLE tmp_pcmn; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON TABLE tmp_pcmn IS 'Plan comptable - Syndicat des copropriétaires : strict'; - --- --- Data for Name: tmp_pcmn; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent) FROM stdin; -1 Classe 1 - Provisions, avances, subventions et emprunts 0 -10 Provisions et avances : 1 -102 Provisions pour travaux décidés 10 -103 Avances 10 -1031 Avances de trésorerie 103 -1032 Avances travaux au titre de l'article 18, 6e alinéa de la loi susvisée 103 -1033 Autres avances 103 -12 Solde en attente sur travaux et opérations exceptionnelles 1 -13 Subventions : 1 -131 Subventions accordées en instance de versement 13 -4 Classe 4 - Copropriétaires et tiers 0 -40 Fournisseurs : 4 -401 Factures parvenues 40 -408 Factures non parvenues 40 -409 Fournisseurs débiteurs 40 -42 Personnel : 4 -421 Rémunérations dues 42 -43 Sécurité sociale et autres organismes sociaux : 4 -431 Sécurité sociale 43 -432 Autres organismes sociaux 43 -44 Etat et collectivités territoriales : 4 -441 Etat et autres organismes - subventions à recevoir 44 -442 Etat - impôts et versements assimilés 44 -443 Collectivités territoriales - aides 44 -45 Collectivité des copropriétaires : 4 -450 Copropriétaire individualisé 45 -4501 Sur décision AG : Copropriétaire - budget prévisionnel 450 -4502 Sur décision AG : Copropriétaire - travaux de l'article 14-2 de la loi susvisée et opérations exceptionnelles 450 -4503 Sur décision AG : Copropriétaire - avances 450 -4504 Sur décision AG : Copropriétaire - emprunts 450 -459 Copropriétaire - créances douteuses 45 -46 Débiteurs et créditeurs divers : 4 -461 Débiteurs divers 46 -462 Créditeurs divers 46 -47 Compte d'attente : 4 -471 Compte en attente d'imputation débiteur 47 -472 Compte en attente d'imputation créditeur 47 -48 Compte de régularisation : 4 -486 Charges payées d'avance 48 -487 Produits encaissés d'avance 48 -49 Dépréciation des comptes de tiers : 4 -491 Copropriétaires 49 -492 Personnes autres que les copropriétaires 49 -5 Classe 5 - Comptes financiers 0 -50 Fonds placés : 5 -501 Compte à terme 50 -502 Autre compte 50 -51 Banques, ou fonds disponibles en banque pour le syndicat : 5 -512 Banques 51 -514 Chèques postaux 51 -53 Caisse. 5 -6 Classe 6 - Comptes de charges 0 -60 Achats de matières et fournitures : 6 -601 Eau 60 -602 Electricié 60 -603 Chauffage, énergie et combustibles 60 -604 Achats produits d'entretien et petits équipements 60 -605 Matériel 60 -606 Fournitures 60 -61 Services extérieurs : 6 -611 Nettoyage des locaux 5 -612 Locations immobiliéres 61 -613 Locations mobiliéres 61 -614 Contrats de maintenance 61 -615 Entretien et petites réparations 61 -616 Primes d'assurances 61 -62 Frais d'administration et honoraires : 6 -621 Rémunérations du syndic sur gestion copropriété 62 -6211 Rémunération du syndic 621 -6212 Débours 621 -6213 Frais postaux 621 -622 Autres honoraires du syndic 62 -6221 Honoraires travaux 622 -6222 Prestations particulières 622 -6223 Autres honoraires 622 -623 Rémunérations de tiers intervenants 62 -624 Frais du conseil syndical 62 -63 Impôts - taxes et versements assimilés : 6 -632 Taxe de balayage 63 -633 Taxe foncière 63 -634 Autres impôts et taxes 63 -64 Frais de personnel : 6 -641 Salaires 64 -642 Charges sociales et organismes sociaux 64 -643 Taxe sur les salaires 64 -644 Autres (médecine du travail, mutuelles, etc.) 64 -66 Charges financières des emprunts, agios ou autres : 6 -661 Remboursement d'annuités d'emprunt 66 -662 Autres charges financières et agios 66 -67 Charges pour travaux et opérations exceptionnelles : 6 -671 Travaux décidés par l'assemblée générale 67 -672 Travaux urgents 67 -673 Etudes techniques, diagnostic, consultation 67 -677 Pertes sur créances irrécouvrables 67 -678 Charges exceptionnelles 67 -68 Dotations aux dépréciations sur créances douteuses. 6 -7 Classe 7 - Comptes de produits 0 -70 Appels de fonds : 7 -701 Provisions sur opérations courantes 70 -702 Provisions sur travaux de l'article 14-2 et opérations exceptionnelles 70 -703 Avances 70 -704 Remboursements d'annuités d'emprunts 70 -71 Autres produits : 7 -711 Subventions 71 -712 Emprunts 71 -713 Indemnités d'assurances 71 -714 Produits divers (dont intérêts légaux dus par les copropriétaires) 71 -716 Produits financiers 71 -718 Produits exceptionnels 71 -78 Reprises de dépréciations sur créances douteuses. 7 -8 Comptes spéciaux 0 -9 Comptes analytique 0 -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/developpe-perso/fr_plan_developpe_perso.sql b/sources/contrib/comptabilite-francaise/developpe-perso/fr_plan_developpe_perso.sql deleted file mode 100644 index 72f9beb..0000000 --- a/sources/contrib/comptabilite-francaise/developpe-perso/fr_plan_developpe_perso.sql +++ /dev/null @@ -1,911 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007-09-08 01:10 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tmp_pcmn; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_country) FROM stdin; -1 comptes de capitaux 0 FR -10 capital et réserves 1 FR -1011 Capital souscrit - non appelé 10 FR -1012 Capital souscrit - appelé, non versé 10 FR -1013 Capital souscrit - appelé, versé 10 FR -10131 Capital non amorti 1013 FR -10132 Capital amorti 1013 FR -1018 Capital souscrit soumis à des réglementations particulières 10 FR -104 Primes liées au capital social 10 FR -1041 Primes d'émission 104 FR -1042 Primes de fusion 104 FR -1043 Primes d'apport 104 FR -1044 Primes de conversion d'obligations en actions 104 FR -1045 Bons de souscription d'actions 104 FR -1051 Réserve spéciale de réévaluation 10 FR -1052 Ecart de réévaluation libre 10 FR -1053 Réserve de réévaluation 10 FR -1055 Ecarts de rééavaluation (autres opérations légales) 10 FR -1057 Autres écarts de réévaluation en France 10 FR -1058 Autres écarts de réévaluation à l'Etranger 10 FR -106 Réserves 10 FR -10611 Réserve légale proprement dite 106 FR -10612 Plus-values nettes à long terme 106 FR -1062 Réserves indisponibles 106 FR -10641 Plus-values nettes à long terme 106 FR -10643 Réserves consécutives à l'octroi de subventions d'investissement 106 FR -10648 Autres réserves réglementées 106 FR -10681 Réserve de propre assureur 106 FR -10688 Réserves diverses 106 FR -107 Ecart d'équivalence 10 FR -109 Actionnaires : Capital souscrit - non appelé 10 FR -11 report a nouveau (solde créditeur ou débiteur) 1 FR -110 Report à nouveau (solde créditeur) 11 FR -119 Report à nouveau (solde débiteur) 11 FR -120 Résultat de l'exercice (bénéfice) 1 FR -129 Résultat de l'exercice (perte) 1 FR -13 subventions d'investissement 1 FR -131 Subventions d'équipement 13 FR -1311 Etat 131 FR -1312 Régions 131 FR -1313 Départements 131 FR -1314 Communes 131 FR -1315 Collectivités publiques 131 FR -1316 Entreprises publiques 131 FR -1317 Entreprises et organismes privés 131 FR -1318 Autres 131 FR -138 Autres subventions d'investissement (même ventilation que celle du compte 131) 13 FR -139 Subventions d'investissement inscrites au compte de résultat 13 FR -1391 Subventions d'équipement 139 FR -13911 Etat 1391 FR -13912 Régions 1391 FR -13913 Départements 1391 FR -13914 Communes 1391 FR -13915 Collectivités publiques 1391 FR -13916 Entreprises publiques 1391 FR -13917 Entreprises et organismes privés 1391 FR -13918 Autres 1391 FR -1398 Autres subventions d'investissement (même ventilation que celle du compte 1391) 139 FR -14 provisions reglementees 1 FR -142 Provisions réglementées relatives aux immobilisations 14 FR -1423 Provisions pour reconstitution des gisements miniers et pétroliers 142 FR -1424 Provisions pour investissement (participation des salariés) 142 FR -143 Provisions réglementées relatives aux stocks 14 FR -1431 Hausse des prix 143 FR -1432 Fluctuation des cours 143 FR -144 Provisions réglementées relatives aux autres éléments de l'actif 14 FR -151 Provisions pour risques 1 FR -1511 Provisions pour litiges 151 FR -1512 Provisions pour garanties données aux clients 151 FR -1513 Provisions pour pertes sur marchés à terme 151 FR -1514 Provisions pour amendes et pénalités 151 FR -1515 Provisions pour pertes de change 151 FR -1518 Autres provisions pour risques 151 FR -153 Provisions pour pensions et obligations similaires 1 FR -155 Provisions pour impôts 1 FR -156 Provisions pour renouvellement des immobilisations (entreprises concessionnaires) 1 FR -157 Provisions pour charges à répartir sur plusieurs exercices 1 FR -1572 Provisions pour grosses réparations 157 FR -158 Autres provisions pour charges 1 FR -1582 Provisions pour charges sociales et fiscales sur congés à payer 158 FR -161 Emprunts obligataires convertibles 1 FR -163 Autres emprunts obligataires 1 FR -164 Emprunts auprès des établissements de crédit 1 FR -165 Dépôts et cautionnements reçus 1 FR -1651 Dépôts 165 FR -1655 Cautionnements 165 FR -166 Participation des salariés aux résultats 1 FR -1661 Comptes bloqués 166 FR -1662 Fonds de participation 166 FR -167 Emprunts et dettes assortis de conditions particulières 1 FR -1671 Emissions de titres participatifs 167 FR -1674 Avances conditionnées de l'Etat 167 FR -1675 Emprunts participatifs 167 FR -168 Autres emprunts et dettes assimilées 1 FR -1681 Autres emprunts 168 FR -1685 Rentes viagères capitalisées 168 FR -1687 Autres dettes 168 FR -1688 Intérêts courus 168 FR -16881 Sur emprunts obligataires convertibles 168 FR -16883 Sur autres emprunts obligataires 168 FR -16884 Sur emprunts auprès des établissements de crédit 168 FR -16885 Sur dépôts et cautionnements reçus 168 FR -16886 Sur participation des salariés aux résultats 168 FR -16887 Sur emprunts et dettes assortis de conditions particulières 168 FR -16888 Sur autres emprunts et dettes assimilées 168 FR -169 Primes de remboursement des obligations 1 FR -17 dettes rattachées a des participations 1 FR -171 Dettes rattachées à des participations (groupe) 17 FR -174 Dettes rattachées à des participations (hors groupe) 17 FR -178 Dettes rattachées à des sociétés en participation 17 FR -1781 Principal 178 FR -1788 Intérêts courus 178 FR -18 comptes de liaison des établissements et societes en participation 1 FR -181 Comptes de liaison des établissements 18 FR -186 Biens et prestations de services échangés entre établissements (charges) 18 FR -187 Biens et prestations de services échangés entre établissements (produits) 18 FR -188 Comptes de liaison des sociétés en participation 18 FR -2 comptes d'immobilisations 0 FR -2011 Frais de constitution 2 FR -2012 Frais de premier établissement 2 FR -20121 Frais de prospection 2 FR -20122 Frais de publicité 2 FR -2013 Frais d'augmentation de capital et d'opérations diverses (fusions, scissions, transformations) 2 FR -203 Frais de recherche et de développement 2 FR -205 Concessions et droits similaires, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires 2 FR -211 Terrains 2 FR -2111 Terrains nus 211 FR -2112 Terrains aménagés 211 FR -2113 Sous-sols et sur-sols 211 FR -2114 Terrains de gisement 211 FR -21141 Carrières 2114 FR -2115 Terrains bâtis 211 FR -21151 Ensembles immobiliers industriels (A, B...) 2115 FR -21155 Ensembles immobiliers administratifs et commerciaux (A, B...) 2115 FR -21158 Autres ensembles immobiliers 2115 FR -211581 affectés aux opérations professionnelles (A, B...) 21158 FR -211588 affectés aux opérations non professionnelles (A, B...) 21158 FR -2116 Compte d'ordre sur immobilisations (art. 6 du décret n° 78-737 du 11 juillet 1978) 211 FR -212 Agencements et aménagements de terrains (même ventilation que celle du compte 211) 2 FR -213 Constructions 2 FR -2131 Bâtiments 213 FR -21311 Ensembles immobiliers industriels (A, B...) 2131 FR -21315 Ensembles immobiliers administratifs et commerciaux (A, B...) 2131 FR -21318 Autres ensembles immobiliers 2131 FR -213181 affectés aux opérations professionnelles (A, B...) 21318 FR -213188 affectés aux opérations non professionnelles (A, B...) 21318 FR -2135 Installations générales - agencements - aménagements des constructions (même ventilation que celle du compte 2131) 213 FR -2138 Ouvrages d'infrastructure 213 FR -21381 Voies de terre 2138 FR -21382 Voies de fer 2138 FR -21383 Voies d'eau 2138 FR -21384 Barrages 2138 FR -21385 Pistes d'aérodromes 2138 FR -214 Constructions sur sol d'autrui (même ventilation que celle du compte 213) 2 FR -215 Installations techniques, matériels et outillage industriels 2 FR -2151 Installations complexes spécialisées 215 FR -21511 sur sol propre 2151 FR -21514 sur sol d'autrui 2151 FR -2153 Installations à caractère spécifique 215 FR -21531 sur sol propre 2153 FR -21534 sur sol d'autrui 2153 FR -2154 Matériel industriel 215 FR -2155 Outillage industriel 215 FR -2157 Agencements et aménagements du matériel et outillage industriels 215 FR -218 Autres immobilisations corporelles 2 FR -2181 Installations générales, agencements, aménagements divers 218 FR -2182 Matériel de transport 218 FR -2183 Matériel de bureau et matériel informatique 218 FR -2184 Mobilier 218 FR -2185 Cheptel 218 FR -2186 Emballages récupérables 218 FR -22 immobilisations mises en concession 2 FR -231 Immobilisations corporelles en cours 2 FR -2312 Terrains 231 FR -2313 Constructions 231 FR -2315 Installations techniques, matériel et outillage industriels 231 FR -2318 Autres immobilisations corporelles 231 FR -232 Immobilisations incorporelles en cours 2 FR -237 Avances et acomptes versés sur immobilisations incorporelles 2 FR -238 Avances et acomptes versés sur commandes d'immobilisations corporelles 2 FR -2382 Terrains 238 FR -2383 Constructions 238 FR -2385 Installations techniques, matériel et outillage industriels 238 FR -2388 Autres immobilisations corporelles 238 FR -25 Parts dans des entreprises liées et créances sur des entreprises liées 2 FR -26 Participations et créances rattachées à des participations 2 FR -261 Titres de participation 26 FR -2611 Actions 261 FR -2618 Autres titres 261 FR -266 Autres formes de participation 26 FR -267 Créances rattachées à des participations 26 FR -2671 Créances rattachées à des participations (groupe) 267 FR -2674 Créances rattachées à des participations (hors groupe) 267 FR -2675 Versements représentatifs d'apports non capitalisés (appel de fonds) 267 FR -2676 Avances consolidables 267 FR -2677 Autres créances rattachées à des participations 267 FR -2678 Intérêts courus 267 FR -268 Créances rattachées à des sociétés en participation 26 FR -2681 Principal 268 FR -2688 Intérêts courus 268 FR -269 Versements restant à effectuer sur titres de participation non libérés 26 FR -271 Titres immobilisés autres que les titres immobilisés de l'activité de portefeuille (droit de propriété) 2 FR -2711 Actions 271 FR -2718 Autres titres 271 FR -272 Titres immobilisés (droit de créance) 2 FR -2721 Obligations 272 FR -2722 Bons 272 FR -273 Titres immobilisés de l'activité de portefeuille 2 FR -274 Prêts 2 FR -2741 Prêts participatifs 274 FR -2742 Prêts aux associés 274 FR -2743 Prêts au personnel 274 FR -2748 Autres prêts 274 FR -275 Dépôts et cautionnements versés 2 FR -2751 Dépôts 275 FR -2755 Cautionnements 275 FR -276 Autres créances immobilisées 2 FR -2761 Créances diverses 276 FR -2768 Intérêts courus 276 FR -27682 Sur titres immobilisés (droit de créance) 2768 FR -27684 Sur prêts 2768 FR -27685 Sur dépôts et cautionnements 2768 FR -27688 Sur créances diverses 2768 FR -277 (Actions propres ou parts propres) 2 FR -2771 Actions propres ou parts propres 277 FR -2772 Actions propres ou parts propres en voie d’annulation 277 FR -279 Versements restant à effectuer sur titres immobilisés non libérés 2 FR -28 amortissements des immobilisations 2 FR -2801 Frais d'établissement (même ventilation que celle du compte 201) 28 FR -2803 Frais de recherche et de développement 28 FR -2805 Concessions et droits similaires, brevets, licences, logiciels, droits et valeurs similaires 28 FR -2807 Fonds commercial 28 FR -2808 Autres immobilisations incorporelles 28 FR -2811 Terrains de gisement 28 FR -2812 Agencements, aménagements de terrains (même ventilation que celle du compte 212) 28 FR -2813 Constructions (même ventilation que celle du compte 213) 28 FR -2814 Constructions sur sol d'autrui (même ventilation que celle du compte 214) 28 FR -2815 Installations, matériel et outillage industriels (même ventilation que celle du compte 215) 28 FR -2818 Autres immobilisations corporelles (même ventilation que celle du compte 218) 28 FR -282 Amortissements des immobilisations mises en concession 28 FR -29 provisions pour dépréciation des immobilisations 2 FR -2905 Marques, procédés, droits et valeurs similaires 29 FR -2906 Droit au bail 29 FR -2907 Fonds commercial 29 FR -2908 Autres immobilisations incorporelles 29 FR -2911 Terrains (autres que terrains de gisement) 29 FR -292 Provisions pour dépréciation des immobilisations mises en concession 29 FR -293 Provisions pour dépréciation des immobilisations en cours 29 FR -2931 Immobilisations corporelles en cours 293 FR -2932 Immobilisations incorporelles en cours 293 FR -296 Provisions pour dépréciation des participations et créances rattachées à des participations 29 FR -2961 Titres de participation 296 FR -2966 Autres formes de participation 296 FR -2967 Créances rattachées à des participations (même ventilation que celle du compte 267) 296 FR -2968 Créances rattachées à des sociétés en participation (même ventilation que celle du compte 268) 296 FR -2971 Titres immobilisés autres que les titres immobilisés de l'activité de portefeuille -droit de propriété (même ventilation que celle du compte 271) 29 FR -2972 Titres immobilisés - droit de créance (même ventilation que celle du compte 272) 29 FR -2973 Titres immobilisés de l'activité de portefeuille 29 FR -2974 Prêts (même ventilation que celle du compte 274) 29 FR -2975 Dépôts et cautionnements versés (même ventilation que celle du compte 275) 29 FR -2976 Autres créances immobilisées (même ventilation que celle du compte 276) 29 FR -3 comptes de stocks et en cours 0 FR -311 Matières (ou groupe) A 3 FR -312 Matières (ou groupe) B 3 FR -317 Fournitures A, B, C, ... 3 FR -321 Matières consommables 3 FR -3211 Matières (ou groupe) C 321 FR -3212 Matières (ou groupe) D 321 FR -322 Fournitures consommables 3 FR -3221 Combustibles 322 FR -3222 Produits d'entretien 322 FR -3223 Fournitures d'atelier et d'usine 322 FR -3224 Fournitures de magasin 322 FR -3225 Fournitures de bureau 322 FR -326 Emballages 3 FR -3261 Emballages perdus 326 FR -3265 Emballages récupérables non identifiables 326 FR -3267 Emballages à usage mixte 326 FR -331 Produits en cours 3 FR -3311 Produits en cours P 1 331 FR -3312 Produits en cours P 2 331 FR -335 Travaux en cours 3 FR -3351 avaux en cours T 1 335 FR -3352 Travaux en cours T 2 335 FR -341 Etudes en cours 3 FR -3411 Etudes en cours E 1 341 FR -3412 Etudes en cours E 2 341 FR -345 Prestations de services en cours 3 FR -3451 Prestations de services S 1 345 FR -3452 Prestations de services S 2 345 FR -351 Produits intermédiaires 3 FR -3511 Produits intermédiaires (ou groupe) A 351 FR -3512 Produits intermédiaires (ou groupe) B 351 FR -355 Produits finis 3 FR -3551 Produits finis (ou groupe) A 355 FR -3552 Produits finis (ou groupe) B 355 FR -358 Produits résiduels (ou matières de récupération) 3 FR -3581 Déchets 358 FR -3585 Rebuts 358 FR -3586 Matières de récupération 358 FR -36 (compte à ouvrir, le cas échéant, sous l'intitulé " stocks provenant d'immobilisations ") 3 FR -371 Marchandises (ou groupe) A 3 FR -372 Marchandises (ou groupe) B 3 FR -38 (lorsque l'entité tient un inventaire permanent en comptabilité générale, le compte 38 peut être utilisé pour comptabiliser les stocks en voie d'acheminement, mis en dépôt ou donnés en consignation) 3 FR -39 provisions pour dépréciation des stocks et en-cours 3 FR -3911 Matières (ou groupe) A 39 FR -3912 Matières (ou groupe) B 39 FR -3917 Fournitures A, B, C, ... 39 FR -3921 Matières consommables (même ventilation que celle du compte 321) 39 FR -3922 Fournitures consommables (même ventilation que celle ducompte 322) 39 FR -3926 Emballages (même ventilation que celle du compte 326) 39 FR -3931 Produits en cours (même ventilation que celle du compte 331) 39 FR -3935 Travaux en cours (même ventilation que celle du compte 335) 39 FR -3941 Etudes en cours (même ventilation que celle du compte 341) 39 FR -3945 Prestations de services en cours (même ventilation que celle du compte 345) 39 FR -3951 Produits intermédiaires (même ventilation que celle du compte 351) 39 FR -3955 Produits finis (même ventilation que celle du compte 355) 39 FR -3971 Marchandise (ou groupe) A 39 FR -3972 Marchandise (ou groupe) B 39 FR -4 comptes de tiers 0 FR -40 fournisseurs et comptes rattaches 4 FR -401 Fournisseurs 40 FR -4011 Fournisseurs - Achats de biens et prestations de services 401 FR -4017 Fournisseurs - Retenues de garantie 401 FR -403 Fournisseurs - Effets à payer 40 FR -404 Fournisseurs d'immobilisations 40 FR -4041 Fournisseurs - Achats d'immobilisations 404 FR -4047 Fournisseurs d'immobilisations - Retenues de garantie 404 FR -405 Fournisseurs d'immobilisations - Effets à payer 40 FR -408 Fournisseurs - Factures non parvenues 40 FR -4081 Fournisseurs 408 FR -4084 Fournisseurs d'immobilisations 408 FR -4088 Fournisseurs - Intérêts courus 408 FR -4091 Fournisseurs - Avances et acomptes versés sur commandes 40 FR -4096 Fournisseurs - Créances pour emballages et matériel à rendre 40 FR -4097 Fournisseurs - Autres avoirs 40 FR -40971 Fournisseurs d'exploitation 4097 FR -40974 Fournisseurs d'immobilisations 4097 FR -4098 Rabais, remises, ristournes à obtenir et autres avoirs non encore reçus 40 FR -41 clients et comptes rattaches 4 FR -411 Clients 41 FR -4111 Clients - Ventes de biens ou de prestations de services 411 FR -4117 Clients - Retenues de garantie 411 FR -413 Clients - Effets à recevoir 41 FR -416 Clients douteux ou litigieux 41 FR -417 " Créances " sur travaux non encore facturables 41 FR -418 Clients - Produits non encore facturés 41 FR -4181 Clients - Factures à établir 418 FR -4188 Clients - Intérêts courus 418 FR -4191 Clients - Avances et acomptes reçus sur commandes 41 FR -4196 Clients - Dettes sur emballages et matériels consignés 41 FR -4197 Clients - Autres avoirs 41 FR -4198 Rabais, remises, ristournes à accorder et autres avoirs à établir 41 FR -42 Personnel et comptes rattaches 4 FR -422 Comités d'entreprises, d'établissement,... 42 FR -424 Participation des salariés aux résultats 42 FR -4246 Réserve spéciale (art. L. 442-2 du Code du travail) 424 FR -4248 Comptes courants 424 FR -425 Personnel - Avances et acomptes 42 FR -426 Personnel - Dépôts 42 FR -427 Personnel - Oppositions 42 FR -4282 Dettes provisionnées pour congés à payer 42 FR -4284 Dettes provisionnées pour participation des salariés aux résultats 42 FR -4286 Autres charges à payer 42 FR -4287 Produits à recevoir 42 FR -431 Sécurité sociale 4 FR -43731 Cotis.Sal.+Pat. Retraite salariés dûes 4 FR -43732 Cotis.Sal.+Pat. Retraite cadres dûes 4 FR -4374 Cotis.Sal.+Pat. ASSEDIC dûes 4 FR -438 Organismes sociaux - Charges à payer et produits à recevoir 4 FR -4382 Charges sociales sur congés à payer 438 FR -4386 Autres charges à payer 438 FR -4387 Produits à recevoir 438 FR -44 État et autres collectivités publiques 4 FR -441 État - Subventions à recevoir 44 FR -4411 Subventions d'investissement 441 FR -4417 Subventions d'exploitation 441 FR -4418 Subventions d'équilibre 441 FR -4419 Avances sur subventions 441 FR -442 Etat - Impôts et taxes recouvrables sur des tiers 44 FR -4424 Obligataires 442 FR -4425 Associés 442 FR -443 Opérations particulières avec l'Etat les collectivités publiques, les organismes internationaux 44 FR -4431 Créances sur l'Etat résultant de la suppression de la règle du décalage d'un mois en matière de T.V.A. 443 FR -4438 Intérêts courus sur créances figurant au 4431 443 FR -4452 T.V.A. due intracommunautaire 44 FR -4455 Taxes sur le chiffre d'affaires à décaisser 44 FR -44551 T.V.A. à décaisser 4455 FR -44558 Taxes assimilées à la T.V.A. 4455 FR -4456 Taxes sur le chiffre d'affaires déductibles 44 FR -44562 T.V.A. sur immobilisations 4456 FR -44563 T.V.A. transférée par d'autres entreprises 4456 FR -445661 T.V.A. déductible 19,6% sur autres biens et services 4456 FR -445662 T.V.A. déductible 5,5% sur autres biens et services 4456 FR -445663 T.V.A. déductible 2,1% sur autres biens et services 4456 FR -44567 Crédit de T.V.A. à reporter 4456 FR -44568 Taxes assimilées à la T.V.A. 4456 FR -4457 Taxes sur le chiffre d'affaires collectées par l'entreprise 44 FR -44571 T.V.A. collectée 4457 FR -44578 Taxes assimilées à la T.V.A. 4457 FR -4458 Taxes sur le chiffre d'affaires à régulariser ou en attente 44 FR -44581 Acomptes - Régime simplifié d'imposition 4458 FR -44582 Acomptes - Régime de forfait 4458 FR -44583 Remboursement de taxes sur le chiffre d'affaires demandé 4458 FR -44584 T.V.A. récupérée d'avance 4458 FR -44586 Taxes sur le chiffre d'affaires sur factures non parvenues 4458 FR -44587 Taxes sur le chiffres d'affaires sur factures à établir 4458 FR -446 Obligations cautionnées 44 FR -448 Etat - Charges à payer et produits à recevoir 44 FR -4482 Charges fiscales sur congés à payer 448 FR -4486 Charges à payer 448 FR -4487 Produits à recevoir 448 FR -451 Groupe 4 FR -4551 Principal 4 FR -4558 Intérêts courus 4 FR -456 Associés - Opérations sur le capital 4 FR -4561 Associés - Comptes d'apport en société 456 FR -45611 Apports en nature 4561 FR -45615 Apports en numéraire 4561 FR -4562 Apporteurs - Capital appelé, non versé 456 FR -45621 Actionnaires - Capital souscrit et appelé, non versé 4562 FR -45625 Associés - Capital appelé, non versé 4562 FR -4563 Associés - Versements reçus sur augmentation de capital 456 FR -4564 Associés - Versements anticipés 456 FR -4566 Actionnaires défaillants 456 FR -4567 Associés - Capital à rembourser 456 FR -457 Associés - Dividendes à payer 4 FR -458 Associés - Opérations faites en commun et en G.I.E. 4 FR -4581 Opérations courantes 458 FR -4588 Intérêts courus 458 FR -462 Créances sur cessions d'immobilisations 4 FR -464 Dettes sur acquisitions de valeurs mobilières de placement 4 FR -465 Créances sur cessions de valeurs mobilières de placement 4 FR -467 Autres comptes débiteurs ou créditeurs 4 FR -468 Divers - Charges à payer et produits à recevoir 4 FR -4686 Charges à payer 468 FR -4687 Produits à recevoir 468 FR -471 Comptes d'attente 4 FR -472 Comptes d'attente 4 FR -473 Comptes d'attente 4 FR -474 Comptes d'attente 4 FR -475 Comptes d'attente 4 FR -476 Différence de conversion - Actif 4 FR -4761 Diminution des créances 476 FR -4762 Augmentation des dettes 476 FR -4768 Différences compensées par couverture de change 476 FR -477 Différences de conversion - Passif 4 FR -4771 Augmentation des créances 477 FR -4772 Diminution des dettes 477 FR -4778 Différences compensées par couverture de change 477 FR -478 Autres comptes transitoires 4 FR -48 comptes de régularisation 4 FR -4811 Charges différées 48 FR -4812 Frais d'acquisition des immobilisations 481 FR -4816 Frais d'émission des emprunts 481 FR -4818 Charges à étaler 481 FR -488 Comptes de répartition périodique des charges et des produits 48 FR -4886 Charges 48 FR -4887 Produits 48 FR -49 provisions pour dépréciation des comptes de tiers 4 FR -495 Provisions pour dépréciation des comptes du groupe et des associés 49 FR -4951 Comptes du groupe 495 FR -4955 Comptes courants des associés 495 FR -4958 Opérations faites en commun et en G.I.E. 495 FR -4962 Créances sur cessions d'immobilisations 49 FR -4965 Créances sur cessions de valeurs mobilières de placement 49 FR -4967 Autres comptes débiteurs 49 FR -5 comptes financiers 0 FR -501 Parts dans des entreprises liées 5 FR -502 Actions propres 5 FR -503 Actions 5 FR -5031 Titres cotés 503 FR -5035 Titres non cotés 503 FR -504 Autres titres conférant un droit de propriété 5 FR -505 Obligations et bons émis par la société et rachetés par elle 5 FR -506 Obligations 5 FR -5061 Titres cotés 506 FR -5065 Titres non cotés 506 FR -507 Bons du Trésor et bons de caisse à court terme 5 FR -508 Autres valeurs mobilières de placement et autres créances assimilées 5 FR -5081 Autres valeurs mobilières 508 FR -5082 Bons de souscription 508 FR -5088 Intérêts courus sur obligations, bons et valeurs assimilés 508 FR -509 Versements restant à effectuer sur valeurs mobilières de placement non libérées 5 FR -511 Valeurs à l'encaissement 5 FR -5111 Coupons échus à l'encaissement 511 FR -5112 Chèques à encaisser 511 FR -5113 Effets à l'encaissement 511 FR -5114 Effets à l'escompte 511 FR -512 Banques 5 FR -5121 Comptes en monnaie nationale 512 FR -5124 Comptes en devises 512 FR -514 Chèques postaux 5 FR -515 " Caisses " du Trésor et des établissements publics 5 FR -516 Sociétés de bourse 5 FR -517 Autres organismes financiers 5 FR -518 Intérêts courus 5 FR -5181 Intérêts courus à payer 518 FR -5188 Intérêts courus à recevoir 518 FR -519 Concours bancaires courants 5 FR -5191 Crédit de mobilisation de créances commerciales (CMCC) 519 FR -5193 Mobilisation de créances nées à l'étranger 519 FR -5198 Intérêts courus sur concours bancaires courants 519 FR -52 Instruments de trésorerie 5 FR -531 Caisse siège social 5 FR -5311 Caisse en monnaie nationale 531 FR -5314 Caisse en devises 531 FR -532 Caisse succursale (ou usine) A 5 FR -533 Caisse succursale (ou usine) B 5 FR -58 virements internes 5 FR -59 provisions pour dépréciation des comptes financiers 5 FR -5903 Actions 59 FR -5904 Autres titres conférant un droit de propriété 59 FR -5906 Obligations 59 FR -5908 Autres valeurs mobilières de placement et créances assimilées 59 FR -6 comptes de charges 0 FR -601 Achats stockés - Matières premières (et fournitures) 6 FR -6011 Matières (ou groupe) A 601 FR -6012 Matières (ou groupe) B 601 FR -6017 Fournitures A, B, C, ... 601 FR -602 Achats stockés - Autres approvisionnements 6 FR -6021 Matières consommables 602 FR -60211 Matières (ou groupe) C 6021 FR -60212 Matières (ou groupe) D 6021 FR -6022 Fournitures consommables 602 FR -60221 Combustibles 6022 FR -60222 Produits d'entretien 6022 FR -60223 Fournitures d'atelier et d'usine 6022 FR -60224 Fournitures de magasin 6022 FR -60225 Fourniture de bureau 6022 FR -6026 Emballages 602 FR -60261 Emballages perdus 6026 FR -60265 ballages récupérables non identifiables 6026 FR -60267 Emballages à usage mixte 6026 FR -604 Achats d'études et prestations de services 6 FR -605 Achats de matériel, équipements et travaux 6 FR -606 Achats non stockés de matière et fournitures 6 FR -6061 Fournitures non stockables (eau, énergie, ...) 606 FR -6063 Fournitures d'entretien et de petit équipement 606 FR -6064 Fournitures administratives 606 FR -6068 Autres matières et fournitures 606 FR -607 Achats de marchandises 6 FR -6071 Marchandise (ou groupe) A 607 FR -6072 Marchandise (ou groupe) B 607 FR -608 (Compte réservé, le cas échéant, à la récapitulation des frais accessoires incorporés aux achats) 6 FR -609 Rabais, remises et ristournes obtenus sur achats 6 FR -6091 de matières premières (et fournitures) 609 FR -6092 d'autres approvisionnements stockés 609 FR -6094 d'études et prestations de services 609 FR -6095 de matériel, équipements et travaux 609 FR -6096 d'approvisionnements non stockés 609 FR -6097 de marchandises 609 FR -6098 Rabais, remises et ristournes non affectés 609 FR -6031 Variation des stocks de matières premières (et fournitures) 6 FR -6032 Variation des stocks des autres approvisionnements 6 FR -6037 Variation des stocks de marchandises 6 FR -61 autres charges externes - Services extérieurs 6 FR -611 Sous-traitance générale 61 FR -612 Redevances de crédit-bail 61 FR -6122 Crédit-bail mobilier 612 FR -6125 Crédit-bail immobilier 612 FR -613 Locations 61 FR -6132 Locations immobilières 613 FR -6135 Locations mobilières 613 FR -6136 Malis sur emballages 613 FR -614 Charges locatives et de copropriété 61 FR -615 Entretien et réparations 61 FR -6152 sur biens immobiliers 615 FR -6155 sur biens mobiliers 615 FR -6156 Maintenance 615 FR -616 Primes d'assurances 61 FR -6161 Multirisques 616 FR -6162 Assurance obligatoire dommage construction 616 FR -6163 Assurance-transport 616 FR -61636 sur achats 6163 FR -61637 sur ventes 6163 FR -61638 sur autres biens 6163 FR -6164 Risques d'exploitation 616 FR -6165 Insolvabilité clients 616 FR -617 Etudes et recherches 61 FR -618 Divers 61 FR -6181 Documentation générale 618 FR -6183 Documentation technique 618 FR -6185 Frais de colloques, séminaires, conférences 618 FR -619 Rabais, remises et ristournes obtenus sur services extérieurs 61 FR -62 autres charges externes - Autres services extérieurs 6 FR -621 Personnel extérieur à l'entreprise 62 FR -6211 Personnel intérimaire 621 FR -6214 Personnel détaché ou prêté à l'entreprise 621 FR -622 Rémunérations d'intermédiaires et honoraires 62 FR -6221 Commissions et courtages sur achats 622 FR -6222 Commissions et courtages sur ventes 622 FR -6224 Rémunérations des transitaires 622 FR -6225 Rémunérations d'affacturage 622 FR -6226 Honoraires 622 FR -6227 Frais d'actes et de contentieux 622 FR -6228 Divers 622 FR -623 Publicité, publications, relations publiques 62 FR -6231 Annonces et insertions 623 FR -6232 Echantillons 623 FR -6233 Foires et expositions 623 FR -6234 Cadeaux à la clientèle 623 FR -6235 Primes 623 FR -6236 Catalogues et imprimés 623 FR -6237 Publications 623 FR -6238 Divers (pourboires, dont courant, ...) 623 FR -624 Transports de biens et transports collectifs du personnel 62 FR -6241 Transports sur achats 624 FR -6242 Transports sur ventes 624 FR -6243 Transports entre établissements ou chantiers 624 FR -6244 Transports administratifs 624 FR -6247 Transports collectifs du personnel 624 FR -6248 Divers 624 FR -625 Déplacements, missions et réceptions 62 FR -6251 Voyages et déplacements 625 FR -6255 Frais de déménagement 625 FR -6256 Missions 625 FR -6257 Réceptions 625 FR -626 Frais postaux et de télécommunications 62 FR -627 Services bancaires et assimilés 62 FR -6271 Frais sur titres (achat, vente, garde) 627 FR -6272 Commissions et frais sur émission d'emprunts 627 FR -6275 Frais sur effets 627 FR -6276 Location de coffres 627 FR -6278 Autres frais et commissions sur prestations de services 627 FR -628 Divers 62 FR -6281 Concours divers (cotisations, ...) 628 FR -6284 Frais de recrutement de personnel 628 FR -629 Rabais, remises et ristournes obtenus sur autres services extérieurs 62 FR -631 Impôts, taxes et versements assimilés sur rémunérations (administrations des impôts) 6 FR -6311 Taxe sur les salaires 631 FR -6312 Taxe d'apprentissage 631 FR -6313 Participation des employeurs à la formation professionnelle continue 631 FR -6314 Cotisation pour défaut d'investissement obligatoire dans la construction 631 FR -6318 Autres 631 FR -633 Impôts, taxes et versements assimilés sur rémunérations (autres organismes) 6 FR -6331 Versement de transport 633 FR -6332 Allocations logement 633 FR -6333 Participation des employeurs à la formation professionnelle continue 633 FR -6334 Participation des employeurs à l'effort de construction 633 FR -6335 Versements libératoires ouvrant droit à l'exonération de la taxe d'apprentissage 633 FR -6338 Autres 633 FR -635 Autres impôts, taxes et versements assimilés (administrations des impôts) 6 FR -6351 Impôts directs (sauf impôts sur les bénéfices) 635 FR -63511 Taxe professionnelle 6351 FR -63512 Taxes foncières 6351 FR -63513 Autres impôts locaux 6351 FR -63514 Taxe sur les véhicules des sociétés 6351 FR -6352 Taxe sur le chiffre d'affaires non récupérables 635 FR -6353 Impôts indirects 635 FR -6354 Droits d'enregistrement et de timbre 635 FR -63541 Droits de mutation 6354 FR -6358 Autres droits 635 FR -637 Autres impôts, taxes et versements assimilés (autres organismes) 6 FR -6371 Contribution sociale de solidarité à la charge des sociétés 637 FR -6372 Taxes perçues par les organismes publics internationaux 637 FR -6374 Impôts et taxes exigibles à l'Etranger 637 FR -6378 Taxes diverses 637 FR -64 Charges de personnel 6 FR -6411 Salaires, appointements 64 FR -6412 Congés payés 641 FR -6413 Primes et gratifications 641 FR -6414 Indemnités et avantages divers 641 FR -6415 Supplément familial 641 FR -6451 Cotisations à l'URSSAF 64 FR -6452 Cotisations aux mutuelles 64 FR -6453 Cotisations aux caisses de retraites 64 FR -6454 Cotisations aux ASSEDIC 64 FR -6458 Cotisations aux autres organismes sociaux 64 FR -647 Autres charges sociales 64 FR -6471 Prestations directes 647 FR -6472 Versements aux comités d'entreprise et d'établissement 647 FR -6473 Versements aux comités d'hygiène et de sécurité 647 FR -6474 Versements aux autres œuvres sociales 647 FR -6475 Médecine du travail, pharmacie 647 FR -648 Autres charges de personnel 64 FR -651 Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires 6 FR -6511 Redevances pour concessions, brevets, licences, marques, procédés, logiciels 651 FR -6516 Droits d'auteur et de reproduction 651 FR -6518 Autres droits et valeurs similaires 651 FR -653 Jetons de présence 6 FR -654 Pertes sur créances irrécouvrables 6 FR -6541 Créances de l'exercice 654 FR -6544 Créances des exercices antérieurs 654 FR -655 Quotes-parts de résultat sur opérations faites en commun 6 FR -6551 Quote-part de bénéfice transférée (comptabilité du gérant) 655 FR -6555 Quote-part de perte supportée (comptabilité des associés non gérants) 655 FR -658 Charges diverses de gestion courante 6 FR -661 Charges d'intérêts 6 FR -6611 Intérêts des emprunts et dettes 661 FR -66116 des emprunts et dettes assimilées 6611 FR -66117 des dettes rattachées à des participations 6611 FR -6615 Intérêts des comptes courants et des dépôts créditeurs 661 FR -6616 Intérêts bancaires et sur opérations de financement (escompte,...) 661 FR -6617 Intérêts des obligations cautionnées 661 FR -6618 Intérêts des autres dettes 661 FR -66181 des dettes commerciales 6618 FR -66188 des dettes diverses 66188 FR -664 Pertes sur créances liées à des participations 6 FR -665 Escomptes accordés 6 FR -666 Pertes de change 6 FR -667 Charges nettes sur cessions de valeurs mobilières de placement 6 FR -668 Autres charges financières 6 FR -671 Charges exceptionnelles sur opérations de gestion 6 FR -6711 Pénalités sur marchés (et dédits payés sur achats et ventes) 671 FR -6712 Pénalités, amendes fiscales et pénales 671 FR -6713 Dons, libéralités 671 FR -6714 Créances devenues irrécouvrables dans l'exercice 671 FR -6715 Subventions accordées 671 FR -6717 Rappel d'impôts (autres qu'impôts sur les bénéfices) 671 FR -6718 Autres charges exceptionnelles sur opérations de gestion 671 FR -672 (Compte à la disposition des entités pour enregistrer, en cours d'exercice, les charges sur exercices antérieurs) 6 FR -675 Valeurs comptables des éléments d'actif cédés 6 FR -6751 Immobilisations incorporelles 675 FR -6752 Immobilisations corporelles 675 FR -6756 Immobilisations financières 675 FR -6758 Autres éléments d'actif 675 FR -678 Autres charges exceptionnelles 6 FR -6781 Malis provenant de clauses d'indexation 678 FR -6782 Lots 678 FR -6783 Malis provenant du rachat par l'entreprise d'actions et obligations émises par elle-même 678 FR -6788 Charges exceptionnelles diverses 678 FR -68 Dotations aux amortissements et aux provisions 6 FR -6811 Dotations aux amortissements sur immobilisations incorporelles et corporelles 68 FR -68111 Immobilisations incorporelles 6811 FR -68112 Immobilisations corporelles 6811 FR -6812 Dotations aux amortissements des charges d'exploitation à répartir 68 FR -6815 Dotations aux provisions pour risques et charges d'exploitation 68 FR -6816 Dotations aux provisions pour dépréciation des immobilisations incorporelles et corporelles 68 FR -68161 Immobilisations incorporelles 6816 FR -68162 Immobilisations corporelles 6816 FR -6817 Dotations aux provisions pour dépréciation des actifs circulants 68 FR -68173 Stocks et en-cours 6817 FR -68174 Créances 6817 FR -6861 Dotations aux amortissements des primes de remboursement des obligations 68 FR -6865 Dotations aux provisions pour risques et charges financiers 68 FR -6866 Dotations aux provisions pour dépréciation des éléments financiers 68 FR -68662 Immobilisations financières 6866 FR -68665 Valeurs mobilières de placement 6866 FR -6868 Autres dotations 68 FR -6871 Dotations aux amortissements exceptionnels des immobilisations 68 FR -6872 Dotations aux provisions réglementées (immobilisations) 68 FR -68725 Amortissements dérogatoires 6872 FR -6873 Dotations aux provisions réglementées (stocks) 68 FR -6874 Dotations aux autres provisions réglementées 68 FR -6875 Dotations aux provisions pour risques et charges exceptionnels 68 FR -6876 Dotations aux provisions pour dépréciations exceptionnelles 68 FR -69 participation des salaries - impôts sur les benefices et assimiles 6 FR -6951 Impôts dus en France 69 FR -6952 Contribution additionnelle à l'impôt sur les bénéfices 69 FR -6954 Impôts dus à l'étranger 69 FR -696 Suppléments d'impôt sur les sociétés liés aux distributions 69 FR -698 Intégration fiscale 69 FR -6981 Intégration fiscale - Charges 698 FR -6989 Intégration fiscale - Produits 698 FR -7 comptes de produits 0 FR -70 ventes de produits fabriques, prestations de services, marchandises 7 FR -7011 Produits finis (ou groupe) A 70 FR -7012 Produits finis (ou groupe) B 70 FR -702 Ventes de produits intermédiaires 70 FR -703 Ventes de produits résiduels 70 FR -704 Travaux 70 FR -7041 Travaux de catégorie (ou activité) A 704 FR -7042 Travaux de catégorie (ou activité) B 704 FR -705 Etudes 7 FR -7071 Marchandises (ou groupe) A 70 FR -7072 Marchandises (ou groupe) B 70 FR -7081 Produits des services exploités dans l'intérêt du personnel 70 FR -7082 Commissions et courtages 70 FR -7083 Locations diverses 70 FR -7084 Mise à disposition de personnel facturée 70 FR -7085 Ports et frais accessoires facturés 70 FR -7086 Bonis sur reprises d'emballages consignés 70 FR -7087 Bonifications obtenues des clients et primes sur ventes 70 FR -7088 Autres produits d'activités annexes (cessions d'approvisionnements,...) 70 FR -7091 sur ventes de produits finis 70 FR -7092 sur ventes de produits intermédiaires 70 FR -7094 sur travaux 70 FR -7095 sur études 70 FR -7096 sur prestations de services 70 FR -7097 sur ventes de marchandises 70 FR -7098 sur produits des activités annexes 70 FR -71 production stockée (ou déstockage) 7 FR -7133 Variation des en-cours de production de biens 71 FR -71331 Produits en cours 7133 FR -71335 Travaux en cours 7133 FR -7134 Variation des en-cours de production de services 71 FR -71341 Etudes en cours 7134 FR -71345 Prestations de services en cours 7134 FR -7135 Variation des stocks de produits 71 FR -71351 Produits intermédiaires 7135 FR -71355 Produits finis 7135 FR -71358 Produits résiduels 7135 FR -721 Immobilisations incorporelles 7 FR -722 Immobilisations corporelles 7 FR -731 Produits nets partiels sur opérations en cours (à subdiviser par opération) 7 FR -739 Produits nets partiels sur opérations terminées 7 FR -751 Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires 7 FR -7511 Redevances pour concessions, brevets, licences, marques, procédés, logiciels 751 FR -7516 Droits d'auteur et de reproduction 751 FR -7518 Autres droits et valeurs similaires 751 FR -752 Revenus des immeubles non affectés à des activités professionnelles 7 FR -7551 Quote-part de perte transférée (comptabilité du gérant) 7 FR -7555 Quote-part de bénéfice attribuée (comptabilité des associés non-gérants) 7 FR -758 Produits divers de gestion courante 7 FR -761 Produits de participations 7 FR -7611 Revenus des titres de participation 761 FR -7616 Revenus sur autres formes de participation 761 FR -7617 Revenus des créances rattachées à des participations 761 FR -762 Produits des autres immobilisations financières 7 FR -7621 Revenus des titres immobilisés 762 FR -7626 Revenus des prêts 762 FR -7627 Revenus des créances immobilisées 762 FR -763 Revenus des autres créances 7 FR -7631 Revenus des créances commerciales 763 FR -7638 Revenus des créances diverses 763 FR -764 Revenus des valeurs mobilières de placement 7 FR -765 Escomptes obtenus 7 FR -766 Gains de change 7 FR -767 Produits nets sur cessions de valeurs mobilières de placement 7 FR -768 Autres produits financiers 7 FR -771 Produits exceptionnels sur opérations de gestion 7 FR -7711 Dédits et pénalités perçus sur achats et sur ventes 771 FR -7713 Libéralités reçues 771 FR -7714 Rentrées sur créances amorties 771 FR -7715 Subventions d'équilibre 771 FR -7717 Dégrèvements d'impôts autres qu'impôts sur les bénéfices 771 FR -7718 Autres produits exceptionnels sur opérations de gestion 771 FR -772 (Compte à la disposition des entités pour enregistrer, en cours d'exercice, les produits sur exercices antérieurs) 7 FR -775 Produits des cessions d'éléments d'actif 7 FR -7751 Immobilisations incorporelles 775 FR -7752 Immobilisations corporelles 775 FR -7756 Immobilisations financières 775 FR -7758 Autres éléments d'actif 775 FR -777 Quote-part des subventions d'investissement virée au résultat de l'exercice 7 FR -778 Autres produits exceptionnels 7 FR -7781 Bonis provenant de clauses d'indexation 778 FR -7782 Lots 778 FR -7783 Bonis provenant du rachat par l'entreprise d'actions et d'obligations émises par elle-même 778 FR -7788 Produits exceptionnels divers 778 FR -78 Reprises sur amortissements et provisions 7 FR -7811 Reprises sur amortissements des immobilisations incorporelles et corporelles 78 FR -78111 Immobilisations incorporelles 7811 FR -78112 Immobilisations corporelles 7811 FR -7815 Reprises sur provisions pour risques et charges d'exploitation 78 FR -7816 Reprises sur provisions pour dépréciation des immobilisations incorporelles et corporelles 78 FR -78161 Immobilisations incorporelles 7816 FR -78162 Immobilisations corporelles 7816 FR -7817 Reprises sur provisions pour dépréciation des actifs circulants 78 FR -78173 Stocks et en-cours 7817 FR -78174 Créances 7817 FR -7865 Reprises sur provisions pour risques et charges financiers 78 FR -7866 Reprises sur provisions pour dépréciation des éléments financiers 78 FR -78662 Immobilisations financières 7866 FR -78665 Valeurs mobilières de placements 7866 FR -7872 Reprises sur provisions réglementées (immobilisations) 78 FR -78725 Amortissements dérogatoires 7872 FR -78726 Provision spéciale de réévaluation 7872 FR -78727 Plus-values réinvesties 7872 FR -7873 Reprises sur provisions réglementées (stocks) 78 FR -7874 Reprises sur autres provisions réglementées 78 FR -7875 Reprises sur provisions pour risques et charges exceptionnels 78 FR -7876 Reprises sur provisions pour dépréciations exceptionnelles 78 FR -791 Transferts de charges d'exploitation 7 FR -796 Transferts de charges financières 7 FR -797 Transferts de charges exceptionnelles 7 FR -8 Comptes spéciaux 0 FR -80 Engagements hors bilan 8 FR -801 Engagements donnés par l'entité 80 FR -8011 Avals, cautions, garanties 801 FR -8014 Effets circulant sous l'endos de l'entité 801 FR -8016 Redevances crédit-bail restant à courir 801 FR -80161 Crédit-bail mobilier 8016 FR -80165 Crédit-bail immobilier 8016 FR -8018 Autres engagements donnés 801 FR -802 Engagements reçus par l'entité 80 FR -8021 Avals, cautions, garanties 802 FR -8024 Créances escomptées non échues 802 FR -8026 Engagements reçus pour utilisation en crédit-bail 802 FR -80261 Crédit-bail mobilier 8026 FR -80265 Crédit-bail immobilier 8026 FR -8028 Autres engagements reçus 802 FR -809 Contrepartie des engagements 80 FR -8091 Contrepartie 801 809 FR -8092 Contrepartie 802 809 FR -88 Résultat en instance d'affectation 8 FR -89 Bilan 8 FR -890 Bilan d'ouverture 89 FR -891 Bilan de clôture 89 FR -9 Comptes analytiques 0 FR -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/developpe-perso/fr_plan_developpe_perso_comptes-defaut.sql b/sources/contrib/comptabilite-francaise/developpe-perso/fr_plan_developpe_perso_comptes-defaut.sql deleted file mode 100644 index 0f56384..0000000 --- a/sources/contrib/comptabilite-francaise/developpe-perso/fr_plan_developpe_perso_comptes-defaut.sql +++ /dev/null @@ -1,27 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007-09-08 02:49 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: parm_code; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY parm_code (p_code, p_value, p_comment) FROM stdin; -BANQUE 512 Poste comptable par défaut pour les banques -COMPTE_COURANT 514 Poste comptable par défaut pour le compte courant -CAISSE 531 Poste comptable par défaut pour les caisses -CUSTOMER 411 Poste comptable par défaut pour les clients -VENTE 7071 Poste comptable par défaut pour les ventes -VIREMENT_INTERNE 58 Poste comptable par défaut pour les virements internes -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/developpe-perso/fr_plan_developpe_perso_tva.sql b/sources/contrib/comptabilite-francaise/developpe-perso/fr_plan_developpe_perso_tva.sql deleted file mode 100644 index 9a3adda..0000000 --- a/sources/contrib/comptabilite-francaise/developpe-perso/fr_plan_developpe_perso_tva.sql +++ /dev/null @@ -1,44 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007/10/23 22:23 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tva_rate; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) FROM stdin; -101 TVAFranceNormal 0.196 TVA 19,6% - France métropolitaine - Taux normal 445661,44571 -102 TVAFranceRéduit 0.055 TVA 5,5% - France métropolitaine - Taux réduit 445662,44571 -103 TVAFranceSuperRéduit 0.021 TVA 2,1% - France métropolitaine - Taux super réduit 445663,44571 -104 TVAFranceImmos 0.196 TVA 19,6% - France métropolitaine - Taux immobilisations 44562,44571 -105 TVAFranceAnciens 0 TVA x% - France métropolitaine - Taux anciens 4456,44571 -201 TVADomNormal 0.085 TVA 8,5% - DOM - Taux normal 4456,44571 -202 TVADomNPR 0.085 TVA 8,5% - DOM - Taux normal NPR 4456,44571 -203 TVADomRéduit 0.021 TVA 2,1% - DOM - Taux réduit 4456,44571 -204 TVADom-I 0.0175 TVA 1,75% - DOM - Taux I 4456,44571 -205 TVADomPresse 0.0105 TVA 1,05% - DOM - Taux publications de presse 4456,44571 -206 TVADomOctroi 0 TVA x% - DOM - Taux octroi de mer 4456,44571 -207 TVADomImmos 0 TVA x% - DOM - Taux immobilisations 44562,44571 -301 TVACorse-I 0.13 TVA 13% - Corse - Taux I 4456,44571 -302 TVACorse-II 0.08 TVA 8% - Corse - Taux II 4456,44571 -303 TVACorse-III 0.021 TVA 2,1% - Corse - Taux III 4456,44571 -304 TVACorse-IV 0.009 TVA 0,9% - Corse - Taux IV 4456,44571 -305 TVACorseImmos 0 TVA x% - Corse - Taux immobilisations 44562,44571 -401 TVAacquisIntracom 0 TVA x% - Acquisitions intracommunautaires/Pays 4456,44571 -402 TVAacquisIntracomImmos 0 TVA x% - Acquisitions intracommunautaires immobilisations/Pays 44562,44571 -501 TVAfranchise 0 TVA x% - Non imposable : Achats en franchise -502 TVAexport 0 TVA x% - Non imposable : Exports hors CE/Pays -503 TVAautres 0 TVA x% - Non imposable : Autres opérations -504 TVAlivrIntracom 0 TVA x% - Non imposable : Livraisons intracommunautaires/Pays -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/developpe-strict/fr_plan_developpe.sql b/sources/contrib/comptabilite-francaise/developpe-strict/fr_plan_developpe.sql deleted file mode 100644 index fac6ca8..0000000 --- a/sources/contrib/comptabilite-francaise/developpe-strict/fr_plan_developpe.sql +++ /dev/null @@ -1,906 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007-09-08 01:10 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tmp_pcmn; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_country) FROM stdin; -1 comptes de capitaux 0 FR -10 capital et réserves 1 FR -1011 Capital souscrit - non appelé 10 FR -1012 Capital souscrit - appelé, non versé 10 FR -1013 Capital souscrit - appelé, versé 10 FR -10131 Capital non amorti 1013 FR -10132 Capital amorti 1013 FR -1018 Capital souscrit soumis à des réglementations particulières 10 FR -104 Primes liées au capital social 10 FR -1041 Primes d'émission 104 FR -1042 Primes de fusion 104 FR -1043 Primes d'apport 104 FR -1044 Primes de conversion d'obligations en actions 104 FR -1045 Bons de souscription d'actions 104 FR -1051 Réserve spéciale de réévaluation 10 FR -1052 Ecart de réévaluation libre 10 FR -1053 Réserve de réévaluation 10 FR -1055 Ecarts de rééavaluation (autres opérations légales) 10 FR -1057 Autres écarts de réévaluation en France 10 FR -1058 Autres écarts de réévaluation à l'Etranger 10 FR -106 Réserves 10 FR -10611 Réserve légale proprement dite 106 FR -10612 Plus-values nettes à long terme 106 FR -1062 Réserves indisponibles 106 FR -10641 Plus-values nettes à long terme 106 FR -10643 Réserves consécutives à l'octroi de subventions d'investissement 106 FR -10648 Autres réserves réglementées 106 FR -10681 Réserve de propre assureur 106 FR -10688 Réserves diverses 106 FR -107 Ecart d'équivalence 10 FR -109 Actionnaires : Capital souscrit - non appelé 10 FR -11 report a nouveau (solde créditeur ou débiteur) 1 FR -110 Report à nouveau (solde créditeur) 11 FR -119 Report à nouveau (solde débiteur) 11 FR -120 Résultat de l'exercice (bénéfice) 1 FR -129 Résultat de l'exercice (perte) 1 FR -13 subventions d'investissement 1 FR -131 Subventions d'équipement 13 FR -1311 Etat 131 FR -1312 Régions 131 FR -1313 Départements 131 FR -1314 Communes 131 FR -1315 Collectivités publiques 131 FR -1316 Entreprises publiques 131 FR -1317 Entreprises et organismes privés 131 FR -1318 Autres 131 FR -138 Autres subventions d'investissement (même ventilation que celle du compte 131) 13 FR -139 Subventions d'investissement inscrites au compte de résultat 13 FR -1391 Subventions d'équipement 139 FR -13911 Etat 1391 FR -13912 Régions 1391 FR -13913 Départements 1391 FR -13914 Communes 1391 FR -13915 Collectivités publiques 1391 FR -13916 Entreprises publiques 1391 FR -13917 Entreprises et organismes privés 1391 FR -13918 Autres 1391 FR -1398 Autres subventions d'investissement (même ventilation que celle du compte 1391) 139 FR -14 provisions reglementees 1 FR -142 Provisions réglementées relatives aux immobilisations 14 FR -1423 Provisions pour reconstitution des gisements miniers et pétroliers 142 FR -1424 Provisions pour investissement (participation des salariés) 142 FR -143 Provisions réglementées relatives aux stocks 14 FR -1431 Hausse des prix 143 FR -1432 Fluctuation des cours 143 FR -144 Provisions réglementées relatives aux autres éléments de l'actif 14 FR -151 Provisions pour risques 1 FR -1511 Provisions pour litiges 151 FR -1512 Provisions pour garanties données aux clients 151 FR -1513 Provisions pour pertes sur marchés à terme 151 FR -1514 Provisions pour amendes et pénalités 151 FR -1515 Provisions pour pertes de change 151 FR -1518 Autres provisions pour risques 151 FR -153 Provisions pour pensions et obligations similaires 1 FR -155 Provisions pour impôts 1 FR -156 Provisions pour renouvellement des immobilisations (entreprises concessionnaires) 1 FR -157 Provisions pour charges à répartir sur plusieurs exercices 1 FR -1572 Provisions pour grosses réparations 157 FR -158 Autres provisions pour charges 1 FR -1582 Provisions pour charges sociales et fiscales sur congés à payer 158 FR -161 Emprunts obligataires convertibles 1 FR -163 Autres emprunts obligataires 1 FR -164 Emprunts auprès des établissements de crédit 1 FR -165 Dépôts et cautionnements reçus 1 FR -1651 Dépôts 165 FR -1655 Cautionnements 165 FR -166 Participation des salariés aux résultats 1 FR -1661 Comptes bloqués 166 FR -1662 Fonds de participation 166 FR -167 Emprunts et dettes assortis de conditions particulières 1 FR -1671 Emissions de titres participatifs 167 FR -1674 Avances conditionnées de l'Etat 167 FR -1675 Emprunts participatifs 167 FR -168 Autres emprunts et dettes assimilées 1 FR -1681 Autres emprunts 168 FR -1685 Rentes viagères capitalisées 168 FR -1687 Autres dettes 168 FR -1688 Intérêts courus 168 FR -16881 Sur emprunts obligataires convertibles 168 FR -16883 Sur autres emprunts obligataires 168 FR -16884 Sur emprunts auprès des établissements de crédit 168 FR -16885 Sur dépôts et cautionnements reçus 168 FR -16886 Sur participation des salariés aux résultats 168 FR -16887 Sur emprunts et dettes assortis de conditions particulières 168 FR -16888 Sur autres emprunts et dettes assimilées 168 FR -169 Primes de remboursement des obligations 1 FR -17 dettes rattachées a des participations 1 FR -171 Dettes rattachées à des participations (groupe) 17 FR -174 Dettes rattachées à des participations (hors groupe) 17 FR -178 Dettes rattachées à des sociétés en participation 17 FR -1781 Principal 178 FR -1788 Intérêts courus 178 FR -18 comptes de liaison des établissements et societes en participation 1 FR -181 Comptes de liaison des établissements 18 FR -186 Biens et prestations de services échangés entre établissements (charges) 18 FR -187 Biens et prestations de services échangés entre établissements (produits) 18 FR -188 Comptes de liaison des sociétés en participation 18 FR -2 comptes d'immobilisations 0 FR -2011 Frais de constitution 2 FR -2012 Frais de premier établissement 2 FR -20121 Frais de prospection 2 FR -20122 Frais de publicité 2 FR -2013 Frais d'augmentation de capital et d'opérations diverses (fusions, scissions, transformations) 2 FR -203 Frais de recherche et de développement 2 FR -205 Concessions et droits similaires, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires 2 FR -211 Terrains 2 FR -2111 Terrains nus 211 FR -2112 Terrains aménagés 211 FR -2113 Sous-sols et sur-sols 211 FR -2114 Terrains de gisement 211 FR -21141 Carrières 2114 FR -2115 Terrains bâtis 211 FR -21151 Ensembles immobiliers industriels (A, B...) 2115 FR -21155 Ensembles immobiliers administratifs et commerciaux (A, B...) 2115 FR -21158 Autres ensembles immobiliers 2115 FR -211581 affectés aux opérations professionnelles (A, B...) 21158 FR -211588 affectés aux opérations non professionnelles (A, B...) 21158 FR -2116 Compte d'ordre sur immobilisations (art. 6 du décret n° 78-737 du 11 juillet 1978) 211 FR -212 Agencements et aménagements de terrains (même ventilation que celle du compte 211) 2 FR -213 Constructions 2 FR -2131 Bâtiments 213 FR -21311 Ensembles immobiliers industriels (A, B...) 2131 FR -21315 Ensembles immobiliers administratifs et commerciaux (A, B...) 2131 FR -21318 Autres ensembles immobiliers 2131 FR -213181 affectés aux opérations professionnelles (A, B...) 21318 FR -213188 affectés aux opérations non professionnelles (A, B...) 21318 FR -2135 Installations générales - agencements - aménagements des constructions (même ventilation que celle du compte 2131) 213 FR -2138 Ouvrages d'infrastructure 213 FR -21381 Voies de terre 2138 FR -21382 Voies de fer 2138 FR -21383 Voies d'eau 2138 FR -21384 Barrages 2138 FR -21385 Pistes d'aérodromes 2138 FR -214 Constructions sur sol d'autrui (même ventilation que celle du compte 213) 2 FR -215 Installations techniques, matériels et outillage industriels 2 FR -2151 Installations complexes spécialisées 215 FR -21511 sur sol propre 2151 FR -21514 sur sol d'autrui 2151 FR -2153 Installations à caractère spécifique 215 FR -21531 sur sol propre 2153 FR -21534 sur sol d'autrui 2153 FR -2154 Matériel industriel 215 FR -2155 Outillage industriel 215 FR -2157 Agencements et aménagements du matériel et outillage industriels 215 FR -218 Autres immobilisations corporelles 2 FR -2181 Installations générales, agencements, aménagements divers 218 FR -2182 Matériel de transport 218 FR -2183 Matériel de bureau et matériel informatique 218 FR -2184 Mobilier 218 FR -2185 Cheptel 218 FR -2186 Emballages récupérables 218 FR -22 immobilisations mises en concession 2 FR -231 Immobilisations corporelles en cours 2 FR -2312 Terrains 231 FR -2313 Constructions 231 FR -2315 Installations techniques, matériel et outillage industriels 231 FR -2318 Autres immobilisations corporelles 231 FR -232 Immobilisations incorporelles en cours 2 FR -237 Avances et acomptes versés sur immobilisations incorporelles 2 FR -238 Avances et acomptes versés sur commandes d'immobilisations corporelles 2 FR -2382 Terrains 238 FR -2383 Constructions 238 FR -2385 Installations techniques, matériel et outillage industriels 238 FR -2388 Autres immobilisations corporelles 238 FR -25 Parts dans des entreprises liées et créances sur des entreprises liées 2 FR -26 Participations et créances rattachées à des participations 2 FR -261 Titres de participation 26 FR -2611 Actions 261 FR -2618 Autres titres 261 FR -266 Autres formes de participation 26 FR -267 Créances rattachées à des participations 26 FR -2671 Créances rattachées à des participations (groupe) 267 FR -2674 Créances rattachées à des participations (hors groupe) 267 FR -2675 Versements représentatifs d'apports non capitalisés (appel de fonds) 267 FR -2676 Avances consolidables 267 FR -2677 Autres créances rattachées à des participations 267 FR -2678 Intérêts courus 267 FR -268 Créances rattachées à des sociétés en participation 26 FR -2681 Principal 268 FR -2688 Intérêts courus 268 FR -269 Versements restant à effectuer sur titres de participation non libérés 26 FR -271 Titres immobilisés autres que les titres immobilisés de l'activité de portefeuille (droit de propriété) 2 FR -2711 Actions 271 FR -2718 Autres titres 271 FR -272 Titres immobilisés (droit de créance) 2 FR -2721 Obligations 272 FR -2722 Bons 272 FR -273 Titres immobilisés de l'activité de portefeuille 2 FR -274 Prêts 2 FR -2741 Prêts participatifs 274 FR -2742 Prêts aux associés 274 FR -2743 Prêts au personnel 274 FR -2748 Autres prêts 274 FR -275 Dépôts et cautionnements versés 2 FR -2751 Dépôts 275 FR -2755 Cautionnements 275 FR -276 Autres créances immobilisées 2 FR -2761 Créances diverses 276 FR -2768 Intérêts courus 276 FR -27682 Sur titres immobilisés (droit de créance) 2768 FR -27684 Sur prêts 2768 FR -27685 Sur dépôts et cautionnements 2768 FR -27688 Sur créances diverses 2768 FR -277 (Actions propres ou parts propres) 2 FR -2771 Actions propres ou parts propres 277 FR -2772 Actions propres ou parts propres en voie d’annulation 277 FR -279 Versements restant à effectuer sur titres immobilisés non libérés 2 FR -28 amortissements des immobilisations 2 FR -2801 Frais d'établissement (même ventilation que celle du compte 201) 28 FR -2803 Frais de recherche et de développement 28 FR -2805 Concessions et droits similaires, brevets, licences, logiciels, droits et valeurs similaires 28 FR -2807 Fonds commercial 28 FR -2808 Autres immobilisations incorporelles 28 FR -2811 Terrains de gisement 28 FR -2812 Agencements, aménagements de terrains (même ventilation que celle du compte 212) 28 FR -2813 Constructions (même ventilation que celle du compte 213) 28 FR -2814 Constructions sur sol d'autrui (même ventilation que celle du compte 214) 28 FR -2815 Installations, matériel et outillage industriels (même ventilation que celle du compte 215) 28 FR -2818 Autres immobilisations corporelles (même ventilation que celle du compte 218) 28 FR -282 Amortissements des immobilisations mises en concession 28 FR -29 provisions pour dépréciation des immobilisations 2 FR -2905 Marques, procédés, droits et valeurs similaires 29 FR -2906 Droit au bail 29 FR -2907 Fonds commercial 29 FR -2908 Autres immobilisations incorporelles 29 FR -2911 Terrains (autres que terrains de gisement) 29 FR -292 Provisions pour dépréciation des immobilisations mises en concession 29 FR -293 Provisions pour dépréciation des immobilisations en cours 29 FR -2931 Immobilisations corporelles en cours 293 FR -2932 Immobilisations incorporelles en cours 293 FR -296 Provisions pour dépréciation des participations et créances rattachées à des participations 29 FR -2961 Titres de participation 296 FR -2966 Autres formes de participation 296 FR -2967 Créances rattachées à des participations (même ventilation que celle du compte 267) 296 FR -2968 Créances rattachées à des sociétés en participation (même ventilation que celle du compte 268) 296 FR -2971 Titres immobilisés autres que les titres immobilisés de l'activité de portefeuille -droit de propriété (même ventilation que celle du compte 271) 29 FR -2972 Titres immobilisés - droit de créance (même ventilation que celle du compte 272) 29 FR -2973 Titres immobilisés de l'activité de portefeuille 29 FR -2974 Prêts (même ventilation que celle du compte 274) 29 FR -2975 Dépôts et cautionnements versés (même ventilation que celle du compte 275) 29 FR -2976 Autres créances immobilisées (même ventilation que celle du compte 276) 29 FR -3 comptes de stocks et en cours 0 FR -311 Matières (ou groupe) A 3 FR -312 Matières (ou groupe) B 3 FR -317 Fournitures A, B, C, ... 3 FR -321 Matières consommables 3 FR -3211 Matières (ou groupe) C 321 FR -3212 Matières (ou groupe) D 321 FR -322 Fournitures consommables 3 FR -3221 Combustibles 322 FR -3222 Produits d'entretien 322 FR -3223 Fournitures d'atelier et d'usine 322 FR -3224 Fournitures de magasin 322 FR -3225 Fournitures de bureau 322 FR -326 Emballages 3 FR -3261 Emballages perdus 326 FR -3265 Emballages récupérables non identifiables 326 FR -3267 Emballages à usage mixte 326 FR -331 Produits en cours 3 FR -3311 Produits en cours P 1 331 FR -3312 Produits en cours P 2 331 FR -335 Travaux en cours 3 FR -3351 avaux en cours T 1 335 FR -3352 Travaux en cours T 2 335 FR -341 Etudes en cours 3 FR -3411 Etudes en cours E 1 341 FR -3412 Etudes en cours E 2 341 FR -345 Prestations de services en cours 3 FR -3451 Prestations de services S 1 345 FR -3452 Prestations de services S 2 345 FR -351 Produits intermédiaires 3 FR -3511 Produits intermédiaires (ou groupe) A 351 FR -3512 Produits intermédiaires (ou groupe) B 351 FR -355 Produits finis 3 FR -3551 Produits finis (ou groupe) A 355 FR -3552 Produits finis (ou groupe) B 355 FR -358 Produits résiduels (ou matières de récupération) 3 FR -3581 Déchets 358 FR -3585 Rebuts 358 FR -3586 Matières de récupération 358 FR -36 (compte à ouvrir, le cas échéant, sous l'intitulé " stocks provenant d'immobilisations ") 3 FR -371 Marchandises (ou groupe) A 3 FR -372 Marchandises (ou groupe) B 3 FR -38 (lorsque l'entité tient un inventaire permanent en comptabilité générale, le compte 38 peut être utilisé pour comptabiliser les stocks en voie d'acheminement, mis en dépôt ou donnés en consignation) 3 FR -39 provisions pour dépréciation des stocks et en-cours 3 FR -3911 Matières (ou groupe) A 39 FR -3912 Matières (ou groupe) B 39 FR -3917 Fournitures A, B, C, ... 39 FR -3921 Matières consommables (même ventilation que celle du compte 321) 39 FR -3922 Fournitures consommables (même ventilation que celle ducompte 322) 39 FR -3926 Emballages (même ventilation que celle du compte 326) 39 FR -3931 Produits en cours (même ventilation que celle du compte 331) 39 FR -3935 Travaux en cours (même ventilation que celle du compte 335) 39 FR -3941 Etudes en cours (même ventilation que celle du compte 341) 39 FR -3945 Prestations de services en cours (même ventilation que celle du compte 345) 39 FR -3951 Produits intermédiaires (même ventilation que celle du compte 351) 39 FR -3955 Produits finis (même ventilation que celle du compte 355) 39 FR -3971 Marchandise (ou groupe) A 39 FR -3972 Marchandise (ou groupe) B 39 FR -4 comptes de tiers 0 FR -40 fournisseurs et comptes rattaches 4 FR -401 Fournisseurs 40 FR -4011 Fournisseurs - Achats de biens et prestations de services 401 FR -4017 Fournisseurs - Retenues de garantie 401 FR -403 Fournisseurs - Effets à payer 40 FR -404 Fournisseurs d'immobilisations 40 FR -4041 Fournisseurs - Achats d'immobilisations 404 FR -4047 Fournisseurs d'immobilisations - Retenues de garantie 404 FR -405 Fournisseurs d'immobilisations - Effets à payer 40 FR -408 Fournisseurs - Factures non parvenues 40 FR -4081 Fournisseurs 408 FR -4084 Fournisseurs d'immobilisations 408 FR -4088 Fournisseurs - Intérêts courus 408 FR -4091 Fournisseurs - Avances et acomptes versés sur commandes 40 FR -4096 Fournisseurs - Créances pour emballages et matériel à rendre 40 FR -4097 Fournisseurs - Autres avoirs 40 FR -40971 Fournisseurs d'exploitation 4097 FR -40974 Fournisseurs d'immobilisations 4097 FR -4098 Rabais, remises, ristournes à obtenir et autres avoirs non encore reçus 40 FR -41 clients et comptes rattaches 4 FR -411 Clients 41 FR -4111 Clients - Ventes de biens ou de prestations de services 411 FR -4117 Clients - Retenues de garantie 411 FR -413 Clients - Effets à recevoir 41 FR -416 Clients douteux ou litigieux 41 FR -417 " Créances " sur travaux non encore facturables 41 FR -418 Clients - Produits non encore facturés 41 FR -4181 Clients - Factures à établir 418 FR -4188 Clients - Intérêts courus 418 FR -4191 Clients - Avances et acomptes reçus sur commandes 41 FR -4196 Clients - Dettes sur emballages et matériels consignés 41 FR -4197 Clients - Autres avoirs 41 FR -4198 Rabais, remises, ristournes à accorder et autres avoirs à établir 41 FR -42 Personnel et comptes rattaches 4 FR -422 Comités d'entreprises, d'établissement,... 42 FR -424 Participation des salariés aux résultats 42 FR -4246 Réserve spéciale (art. L. 442-2 du Code du travail) 424 FR -4248 Comptes courants 424 FR -425 Personnel - Avances et acomptes 42 FR -426 Personnel - Dépôts 42 FR -427 Personnel - Oppositions 42 FR -4282 Dettes provisionnées pour congés à payer 42 FR -4284 Dettes provisionnées pour participation des salariés aux résultats 42 FR -4286 Autres charges à payer 42 FR -4287 Produits à recevoir 42 FR -431 Sécurité sociale 4 FR -437 Autres organismes sociaux 4 FR -438 Organismes sociaux - Charges à payer et produits à recevoir 4 FR -4382 Charges sociales sur congés à payer 438 FR -4386 Autres charges à payer 438 FR -4387 Produits à recevoir 438 FR -44 État et autres collectivités publiques 4 FR -441 État - Subventions à recevoir 44 FR -4411 Subventions d'investissement 441 FR -4417 Subventions d'exploitation 441 FR -4418 Subventions d'équilibre 441 FR -4419 Avances sur subventions 441 FR -442 Etat - Impôts et taxes recouvrables sur des tiers 44 FR -4424 Obligataires 442 FR -4425 Associés 442 FR -443 Opérations particulières avec l'Etat les collectivités publiques, les organismes internationaux 44 FR -4431 Créances sur l'Etat résultant de la suppression de la règle du décalage d'un mois en matière de T.V.A. 443 FR -4438 Intérêts courus sur créances figurant au 4431 443 FR -4452 T.V.A. due intracommunautaire 44 FR -4455 Taxes sur le chiffre d'affaires à décaisser 44 FR -44551 T.V.A. à décaisser 4455 FR -44558 Taxes assimilées à la T.V.A. 4455 FR -4456 Taxes sur le chiffre d'affaires déductibles 44 FR -44562 T.V.A. sur immobilisations 4456 FR -44563 T.V.A. transférée par d'autres entreprises 4456 FR -44566 T.V.A. sur autres biens et services 4456 FR -44567 Crédit de T.V.A. à reporter 4456 FR -44568 Taxes assimilées à la T.V.A. 4456 FR -4457 Taxes sur le chiffre d'affaires collectées par l'entreprise 44 FR -44571 T.V.A. collectée 4457 FR -44578 Taxes assimilées à la T.V.A. 4457 FR -4458 Taxes sur le chiffre d'affaires à régulariser ou en attente 44 FR -44581 Acomptes - Régime simplifié d'imposition 4458 FR -44582 Acomptes - Régime de forfait 4458 FR -44583 Remboursement de taxes sur le chiffre d'affaires demandé 4458 FR -44584 T.V.A. récupérée d'avance 4458 FR -44586 Taxes sur le chiffre d'affaires sur factures non parvenues 4458 FR -44587 Taxes sur le chiffres d'affaires sur factures à établir 4458 FR -446 Obligations cautionnées 44 FR -448 Etat - Charges à payer et produits à recevoir 44 FR -4482 Charges fiscales sur congés à payer 448 FR -4486 Charges à payer 448 FR -4487 Produits à recevoir 448 FR -451 Groupe 4 FR -4551 Principal 4 FR -4558 Intérêts courus 4 FR -456 Associés - Opérations sur le capital 4 FR -4561 Associés - Comptes d'apport en société 456 FR -45611 Apports en nature 4561 FR -45615 Apports en numéraire 4561 FR -4562 Apporteurs - Capital appelé, non versé 456 FR -45621 Actionnaires - Capital souscrit et appelé, non versé 4562 FR -45625 Associés - Capital appelé, non versé 4562 FR -4563 Associés - Versements reçus sur augmentation de capital 456 FR -4564 Associés - Versements anticipés 456 FR -4566 Actionnaires défaillants 456 FR -4567 Associés - Capital à rembourser 456 FR -457 Associés - Dividendes à payer 4 FR -458 Associés - Opérations faites en commun et en G.I.E. 4 FR -4581 Opérations courantes 458 FR -4588 Intérêts courus 458 FR -462 Créances sur cessions d'immobilisations 4 FR -464 Dettes sur acquisitions de valeurs mobilières de placement 4 FR -465 Créances sur cessions de valeurs mobilières de placement 4 FR -467 Autres comptes débiteurs ou créditeurs 4 FR -468 Divers - Charges à payer et produits à recevoir 4 FR -4686 Charges à payer 468 FR -4687 Produits à recevoir 468 FR -471 Comptes d'attente 4 FR -472 Comptes d'attente 4 FR -473 Comptes d'attente 4 FR -474 Comptes d'attente 4 FR -475 Comptes d'attente 4 FR -476 Différence de conversion - Actif 4 FR -4761 Diminution des créances 476 FR -4762 Augmentation des dettes 476 FR -4768 Différences compensées par couverture de change 476 FR -477 Différences de conversion - Passif 4 FR -4771 Augmentation des créances 477 FR -4772 Diminution des dettes 477 FR -4778 Différences compensées par couverture de change 477 FR -478 Autres comptes transitoires 4 FR -48 comptes de régularisation 4 FR -4811 Charges différées 48 FR -4812 Frais d'acquisition des immobilisations 481 FR -4816 Frais d'émission des emprunts 481 FR -4818 Charges à étaler 481 FR -488 Comptes de répartition périodique des charges et des produits 48 FR -4886 Charges 48 FR -4887 Produits 48 FR -49 provisions pour dépréciation des comptes de tiers 4 FR -495 Provisions pour dépréciation des comptes du groupe et des associés 49 FR -4951 Comptes du groupe 495 FR -4955 Comptes courants des associés 495 FR -4958 Opérations faites en commun et en G.I.E. 495 FR -4962 Créances sur cessions d'immobilisations 49 FR -4965 Créances sur cessions de valeurs mobilières de placement 49 FR -4967 Autres comptes débiteurs 49 FR -5 comptes financiers 0 FR -501 Parts dans des entreprises liées 5 FR -502 Actions propres 5 FR -503 Actions 5 FR -5031 Titres cotés 503 FR -5035 Titres non cotés 503 FR -504 Autres titres conférant un droit de propriété 5 FR -505 Obligations et bons émis par la société et rachetés par elle 5 FR -506 Obligations 5 FR -5061 Titres cotés 506 FR -5065 Titres non cotés 506 FR -507 Bons du Trésor et bons de caisse à court terme 5 FR -508 Autres valeurs mobilières de placement et autres créances assimilées 5 FR -5081 Autres valeurs mobilières 508 FR -5082 Bons de souscription 508 FR -5088 Intérêts courus sur obligations, bons et valeurs assimilés 508 FR -509 Versements restant à effectuer sur valeurs mobilières de placement non libérées 5 FR -511 Valeurs à l'encaissement 5 FR -5111 Coupons échus à l'encaissement 511 FR -5112 Chèques à encaisser 511 FR -5113 Effets à l'encaissement 511 FR -5114 Effets à l'escompte 511 FR -512 Banques 5 FR -5121 Comptes en monnaie nationale 512 FR -5124 Comptes en devises 512 FR -514 Chèques postaux 5 FR -515 " Caisses " du Trésor et des établissements publics 5 FR -516 Sociétés de bourse 5 FR -517 Autres organismes financiers 5 FR -518 Intérêts courus 5 FR -5181 Intérêts courus à payer 518 FR -5188 Intérêts courus à recevoir 518 FR -519 Concours bancaires courants 5 FR -5191 Crédit de mobilisation de créances commerciales (CMCC) 519 FR -5193 Mobilisation de créances nées à l'étranger 519 FR -5198 Intérêts courus sur concours bancaires courants 519 FR -52 Instruments de trésorerie 5 FR -531 Caisse siège social 5 FR -5311 Caisse en monnaie nationale 531 FR -5314 Caisse en devises 531 FR -532 Caisse succursale (ou usine) A 5 FR -533 Caisse succursale (ou usine) B 5 FR -59 provisions pour dépréciation des comptes financiers 5 FR -5903 Actions 59 FR -5904 Autres titres conférant un droit de propriété 59 FR -5906 Obligations 59 FR -5908 Autres valeurs mobilières de placement et créances assimilées 59 FR -6 comptes de charges 0 FR -601 Achats stockés - Matières premières (et fournitures) 6 FR -6011 Matières (ou groupe) A 601 FR -6012 Matières (ou groupe) B 601 FR -6017 Fournitures A, B, C, ... 601 FR -602 Achats stockés - Autres approvisionnements 6 FR -6021 Matières consommables 602 FR -60211 Matières (ou groupe) C 6021 FR -60212 Matières (ou groupe) D 6021 FR -6022 Fournitures consommables 602 FR -60221 Combustibles 6022 FR -60222 Produits d'entretien 6022 FR -60223 Fournitures d'atelier et d'usine 6022 FR -60224 Fournitures de magasin 6022 FR -60225 Fourniture de bureau 6022 FR -6026 Emballages 602 FR -60261 Emballages perdus 6026 FR -60265 ballages récupérables non identifiables 6026 FR -60267 Emballages à usage mixte 6026 FR -604 Achats d'études et prestations de services 6 FR -605 Achats de matériel, équipements et travaux 6 FR -606 Achats non stockés de matière et fournitures 6 FR -6061 Fournitures non stockables (eau, énergie, ...) 606 FR -6063 Fournitures d'entretien et de petit équipement 606 FR -6064 Fournitures administratives 606 FR -6068 Autres matières et fournitures 606 FR -607 Achats de marchandises 6 FR -6071 Marchandise (ou groupe) A 607 FR -6072 Marchandise (ou groupe) B 607 FR -608 (Compte réservé, le cas échéant, à la récapitulation des frais accessoires incorporés aux achats) 6 FR -609 Rabais, remises et ristournes obtenus sur achats 6 FR -6091 de matières premières (et fournitures) 609 FR -6092 d'autres approvisionnements stockés 609 FR -6094 d'études et prestations de services 609 FR -6095 de matériel, équipements et travaux 609 FR -6096 d'approvisionnements non stockés 609 FR -6097 de marchandises 609 FR -6098 Rabais, remises et ristournes non affectés 609 FR -6031 Variation des stocks de matières premières (et fournitures) 6 FR -6032 Variation des stocks des autres approvisionnements 6 FR -6037 Variation des stocks de marchandises 6 FR -61 autres charges externes - Services extérieurs 6 FR -611 Sous-traitance générale 61 FR -612 Redevances de crédit-bail 61 FR -6122 Crédit-bail mobilier 612 FR -6125 Crédit-bail immobilier 612 FR -613 Locations 61 FR -6132 Locations immobilières 613 FR -6135 Locations mobilières 613 FR -6136 Malis sur emballages 613 FR -614 Charges locatives et de copropriété 61 FR -615 Entretien et réparations 61 FR -6152 sur biens immobiliers 615 FR -6155 sur biens mobiliers 615 FR -6156 Maintenance 615 FR -616 Primes d'assurances 61 FR -6161 Multirisques 616 FR -6162 Assurance obligatoire dommage construction 616 FR -6163 Assurance-transport 616 FR -61636 sur achats 6163 FR -61637 sur ventes 6163 FR -61638 sur autres biens 6163 FR -6164 Risques d'exploitation 616 FR -6165 Insolvabilité clients 616 FR -617 Etudes et recherches 61 FR -618 Divers 61 FR -6181 Documentation générale 618 FR -6183 Documentation technique 618 FR -6185 Frais de colloques, séminaires, conférences 618 FR -619 Rabais, remises et ristournes obtenus sur services extérieurs 61 FR -62 autres charges externes - Autres services extérieurs 6 FR -621 Personnel extérieur à l'entreprise 62 FR -6211 Personnel intérimaire 621 FR -6214 Personnel détaché ou prêté à l'entreprise 621 FR -622 Rémunérations d'intermédiaires et honoraires 62 FR -6221 Commissions et courtages sur achats 622 FR -6222 Commissions et courtages sur ventes 622 FR -6224 Rémunérations des transitaires 622 FR -6225 Rémunérations d'affacturage 622 FR -6226 Honoraires 622 FR -6227 Frais d'actes et de contentieux 622 FR -6228 Divers 622 FR -623 Publicité, publications, relations publiques 62 FR -6231 Annonces et insertions 623 FR -6232 Echantillons 623 FR -6233 Foires et expositions 623 FR -6234 Cadeaux à la clientèle 623 FR -6235 Primes 623 FR -6236 Catalogues et imprimés 623 FR -6237 Publications 623 FR -6238 Divers (pourboires, dont courant, ...) 623 FR -624 Transports de biens et transports collectifs du personnel 62 FR -6241 Transports sur achats 624 FR -6242 Transports sur ventes 624 FR -6243 Transports entre établissements ou chantiers 624 FR -6244 Transports administratifs 624 FR -6247 Transports collectifs du personnel 624 FR -6248 Divers 624 FR -625 Déplacements, missions et réceptions 62 FR -6251 Voyages et déplacements 625 FR -6255 Frais de déménagement 625 FR -6256 Missions 625 FR -6257 Réceptions 625 FR -626 Frais postaux et de télécommunications 62 FR -627 Services bancaires et assimilés 62 FR -6271 Frais sur titres (achat, vente, garde) 627 FR -6272 Commissions et frais sur émission d'emprunts 627 FR -6275 Frais sur effets 627 FR -6276 Location de coffres 627 FR -6278 Autres frais et commissions sur prestations de services 627 FR -628 Divers 62 FR -6281 Concours divers (cotisations, ...) 628 FR -6284 Frais de recrutement de personnel 628 FR -629 Rabais, remises et ristournes obtenus sur autres services extérieurs 62 FR -631 Impôts, taxes et versements assimilés sur rémunérations (administrations des impôts) 6 FR -6311 Taxe sur les salaires 631 FR -6312 Taxe d'apprentissage 631 FR -6313 Participation des employeurs à la formation professionnelle continue 631 FR -6314 Cotisation pour défaut d'investissement obligatoire dans la construction 631 FR -6318 Autres 631 FR -633 Impôts, taxes et versements assimilés sur rémunérations (autres organismes) 6 FR -6331 Versement de transport 633 FR -6332 Allocations logement 633 FR -6333 Participation des employeurs à la formation professionnelle continue 633 FR -6334 Participation des employeurs à l'effort de construction 633 FR -6335 Versements libératoires ouvrant droit à l'exonération de la taxe d'apprentissage 633 FR -6338 Autres 633 FR -635 Autres impôts, taxes et versements assimilés (administrations des impôts) 6 FR -6351 Impôts directs (sauf impôts sur les bénéfices) 635 FR -63511 Taxe professionnelle 6351 FR -63512 Taxes foncières 6351 FR -63513 Autres impôts locaux 6351 FR -63514 Taxe sur les véhicules des sociétés 6351 FR -6352 Taxe sur le chiffre d'affaires non récupérables 635 FR -6353 Impôts indirects 635 FR -6354 Droits d'enregistrement et de timbre 635 FR -63541 Droits de mutation 6354 FR -6358 Autres droits 635 FR -637 Autres impôts, taxes et versements assimilés (autres organismes) 6 FR -6371 Contribution sociale de solidarité à la charge des sociétés 637 FR -6372 Taxes perçues par les organismes publics internationaux 637 FR -6374 Impôts et taxes exigibles à l'Etranger 637 FR -6378 Taxes diverses 637 FR -64 Charges de personnel 6 FR -6411 Salaires, appointements 64 FR -6412 Congés payés 641 FR -6413 Primes et gratifications 641 FR -6414 Indemnités et avantages divers 641 FR -6415 Supplément familial 641 FR -6451 Cotisations à l'URSSAF 64 FR -6452 Cotisations aux mutuelles 64 FR -6453 Cotisations aux caisses de retraites 64 FR -6454 Cotisations aux ASSEDIC 64 FR -6458 Cotisations aux autres organismes sociaux 64 FR -647 Autres charges sociales 64 FR -6471 Prestations directes 647 FR -6472 Versements aux comités d'entreprise et d'établissement 647 FR -6473 Versements aux comités d'hygiène et de sécurité 647 FR -6474 Versements aux autres œuvres sociales 647 FR -6475 Médecine du travail, pharmacie 647 FR -648 Autres charges de personnel 64 FR -651 Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires 6 FR -6511 Redevances pour concessions, brevets, licences, marques, procédés, logiciels 651 FR -6516 Droits d'auteur et de reproduction 651 FR -6518 Autres droits et valeurs similaires 651 FR -653 Jetons de présence 6 FR -654 Pertes sur créances irrécouvrables 6 FR -6541 Créances de l'exercice 654 FR -6544 Créances des exercices antérieurs 654 FR -655 Quotes-parts de résultat sur opérations faites en commun 6 FR -6551 Quote-part de bénéfice transférée (comptabilité du gérant) 655 FR -6555 Quote-part de perte supportée (comptabilité des associés non gérants) 655 FR -658 Charges diverses de gestion courante 6 FR -661 Charges d'intérêts 6 FR -6611 Intérêts des emprunts et dettes 661 FR -66116 des emprunts et dettes assimilées 6611 FR -66117 des dettes rattachées à des participations 6611 FR -6615 Intérêts des comptes courants et des dépôts créditeurs 661 FR -6616 Intérêts bancaires et sur opérations de financement (escompte,...) 661 FR -6617 Intérêts des obligations cautionnées 661 FR -6618 Intérêts des autres dettes 661 FR -66181 des dettes commerciales 6618 FR -66188 des dettes diverses 66188 FR -664 Pertes sur créances liées à des participations 6 FR -665 Escomptes accordés 6 FR -666 Pertes de change 6 FR -667 Charges nettes sur cessions de valeurs mobilières de placement 6 FR -668 Autres charges financières 6 FR -671 Charges exceptionnelles sur opérations de gestion 6 FR -6711 Pénalités sur marchés (et dédits payés sur achats et ventes) 671 FR -6712 Pénalités, amendes fiscales et pénales 671 FR -6713 Dons, libéralités 671 FR -6714 Créances devenues irrécouvrables dans l'exercice 671 FR -6715 Subventions accordées 671 FR -6717 Rappel d'impôts (autres qu'impôts sur les bénéfices) 671 FR -6718 Autres charges exceptionnelles sur opérations de gestion 671 FR -672 (Compte à la disposition des entités pour enregistrer, en cours d'exercice, les charges sur exercices antérieurs) 6 FR -675 Valeurs comptables des éléments d'actif cédés 6 FR -6751 Immobilisations incorporelles 675 FR -6752 Immobilisations corporelles 675 FR -6756 Immobilisations financières 675 FR -6758 Autres éléments d'actif 675 FR -678 Autres charges exceptionnelles 6 FR -6781 Malis provenant de clauses d'indexation 678 FR -6782 Lots 678 FR -6783 Malis provenant du rachat par l'entreprise d'actions et obligations émises par elle-même 678 FR -6788 Charges exceptionnelles diverses 678 FR -68 Dotations aux amortissements et aux provisions 6 FR -6811 Dotations aux amortissements sur immobilisations incorporelles et corporelles 68 FR -68111 Immobilisations incorporelles 6811 FR -68112 Immobilisations corporelles 6811 FR -6812 Dotations aux amortissements des charges d'exploitation à répartir 68 FR -6815 Dotations aux provisions pour risques et charges d'exploitation 68 FR -6816 Dotations aux provisions pour dépréciation des immobilisations incorporelles et corporelles 68 FR -68161 Immobilisations incorporelles 6816 FR -68162 Immobilisations corporelles 6816 FR -6817 Dotations aux provisions pour dépréciation des actifs circulants 68 FR -68173 Stocks et en-cours 6817 FR -68174 Créances 6817 FR -6861 Dotations aux amortissements des primes de remboursement des obligations 68 FR -6865 Dotations aux provisions pour risques et charges financiers 68 FR -6866 Dotations aux provisions pour dépréciation des éléments financiers 68 FR -68662 Immobilisations financières 6866 FR -68665 Valeurs mobilières de placement 6866 FR -6868 Autres dotations 68 FR -6871 Dotations aux amortissements exceptionnels des immobilisations 68 FR -6872 Dotations aux provisions réglementées (immobilisations) 68 FR -68725 Amortissements dérogatoires 6872 FR -6873 Dotations aux provisions réglementées (stocks) 68 FR -6874 Dotations aux autres provisions réglementées 68 FR -6875 Dotations aux provisions pour risques et charges exceptionnels 68 FR -6876 Dotations aux provisions pour dépréciations exceptionnelles 68 FR -69 participation des salaries - impôts sur les benefices et assimiles 6 FR -6951 Impôts dus en France 69 FR -6952 Contribution additionnelle à l'impôt sur les bénéfices 69 FR -6954 Impôts dus à l'étranger 69 FR -696 Suppléments d'impôt sur les sociétés liés aux distributions 69 FR -698 Intégration fiscale 69 FR -6981 Intégration fiscale - Charges 698 FR -6989 Intégration fiscale - Produits 698 FR -7 comptes de produits 0 FR -70 ventes de produits fabriques, prestations de services, marchandises 7 FR -7011 Produits finis (ou groupe) A 70 FR -7012 Produits finis (ou groupe) B 70 FR -702 Ventes de produits intermédiaires 70 FR -703 Ventes de produits résiduels 70 FR -704 Travaux 70 FR -7041 Travaux de catégorie (ou activité) A 704 FR -7042 Travaux de catégorie (ou activité) B 704 FR -705 Etudes 7 FR -7071 Marchandises (ou groupe) A 70 FR -7072 Marchandises (ou groupe) B 70 FR -7081 Produits des services exploités dans l'intérêt du personnel 70 FR -7082 Commissions et courtages 70 FR -7083 Locations diverses 70 FR -7084 Mise à disposition de personnel facturée 70 FR -7085 Ports et frais accessoires facturés 70 FR -7086 Bonis sur reprises d'emballages consignés 70 FR -7087 Bonifications obtenues des clients et primes sur ventes 70 FR -7088 Autres produits d'activités annexes (cessions d'approvisionnements,...) 70 FR -7091 sur ventes de produits finis 70 FR -7092 sur ventes de produits intermédiaires 70 FR -7094 sur travaux 70 FR -7095 sur études 70 FR -7096 sur prestations de services 70 FR -7097 sur ventes de marchandises 70 FR -7098 sur produits des activités annexes 70 FR -71 production stockée (ou déstockage) 7 FR -7133 Variation des en-cours de production de biens 71 FR -71331 Produits en cours 7133 FR -71335 Travaux en cours 7133 FR -7134 Variation des en-cours de production de services 71 FR -71341 Etudes en cours 7134 FR -71345 Prestations de services en cours 7134 FR -7135 Variation des stocks de produits 71 FR -71351 Produits intermédiaires 7135 FR -71355 Produits finis 7135 FR -71358 Produits résiduels 7135 FR -721 Immobilisations incorporelles 7 FR -722 Immobilisations corporelles 7 FR -731 Produits nets partiels sur opérations en cours (à subdiviser par opération) 7 FR -739 Produits nets partiels sur opérations terminées 7 FR -751 Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires 7 FR -7511 Redevances pour concessions, brevets, licences, marques, procédés, logiciels 751 FR -7516 Droits d'auteur et de reproduction 751 FR -7518 Autres droits et valeurs similaires 751 FR -752 Revenus des immeubles non affectés à des activités professionnelles 7 FR -7551 Quote-part de perte transférée (comptabilité du gérant) 7 FR -7555 Quote-part de bénéfice attribuée (comptabilité des associés non-gérants) 7 FR -758 Produits divers de gestion courante 7 FR -761 Produits de participations 7 FR -7611 Revenus des titres de participation 761 FR -7616 Revenus sur autres formes de participation 761 FR -7617 Revenus des créances rattachées à des participations 761 FR -762 Produits des autres immobilisations financières 7 FR -7621 Revenus des titres immobilisés 762 FR -7626 Revenus des prêts 762 FR -7627 Revenus des créances immobilisées 762 FR -763 Revenus des autres créances 7 FR -7631 Revenus des créances commerciales 763 FR -7638 Revenus des créances diverses 763 FR -764 Revenus des valeurs mobilières de placement 7 FR -765 Escomptes obtenus 7 FR -766 Gains de change 7 FR -767 Produits nets sur cessions de valeurs mobilières de placement 7 FR -768 Autres produits financiers 7 FR -771 Produits exceptionnels sur opérations de gestion 7 FR -7711 Dédits et pénalités perçus sur achats et sur ventes 771 FR -7713 Libéralités reçues 771 FR -7714 Rentrées sur créances amorties 771 FR -7715 Subventions d'équilibre 771 FR -7717 Dégrèvements d'impôts autres qu'impôts sur les bénéfices 771 FR -7718 Autres produits exceptionnels sur opérations de gestion 771 FR -772 (Compte à la disposition des entités pour enregistrer, en cours d'exercice, les produits sur exercices antérieurs) 7 FR -775 Produits des cessions d'éléments d'actif 7 FR -7751 Immobilisations incorporelles 775 FR -7752 Immobilisations corporelles 775 FR -7756 Immobilisations financières 775 FR -7758 Autres éléments d'actif 775 FR -777 Quote-part des subventions d'investissement virée au résultat de l'exercice 7 FR -778 Autres produits exceptionnels 7 FR -7781 Bonis provenant de clauses d'indexation 778 FR -7782 Lots 778 FR -7783 Bonis provenant du rachat par l'entreprise d'actions et d'obligations émises par elle-même 778 FR -7788 Produits exceptionnels divers 778 FR -78 Reprises sur amortissements et provisions 7 FR -7811 Reprises sur amortissements des immobilisations incorporelles et corporelles 78 FR -78111 Immobilisations incorporelles 7811 FR -78112 Immobilisations corporelles 7811 FR -7815 Reprises sur provisions pour risques et charges d'exploitation 78 FR -7816 Reprises sur provisions pour dépréciation des immobilisations incorporelles et corporelles 78 FR -78161 Immobilisations incorporelles 7816 FR -78162 Immobilisations corporelles 7816 FR -7817 Reprises sur provisions pour dépréciation des actifs circulants 78 FR -78173 Stocks et en-cours 7817 FR -78174 Créances 7817 FR -7865 Reprises sur provisions pour risques et charges financiers 78 FR -7866 Reprises sur provisions pour dépréciation des éléments financiers 78 FR -78662 Immobilisations financières 7866 FR -78665 Valeurs mobilières de placements 7866 FR -7872 Reprises sur provisions réglementées (immobilisations) 78 FR -78725 Amortissements dérogatoires 7872 FR -78726 Provision spéciale de réévaluation 7872 FR -78727 Plus-values réinvesties 7872 FR -7873 Reprises sur provisions réglementées (stocks) 78 FR -7874 Reprises sur autres provisions réglementées 78 FR -7875 Reprises sur provisions pour risques et charges exceptionnels 78 FR -7876 Reprises sur provisions pour dépréciations exceptionnelles 78 FR -791 Transferts de charges d'exploitation 7 FR -796 Transferts de charges financières 7 FR -797 Transferts de charges exceptionnelles 7 FR -8 Comptes spéciaux 0 FR -80 Engagements hors bilan 8 FR -801 Engagements donnés par l'entité 80 FR -8011 Avals, cautions, garanties 801 FR -8014 Effets circulant sous l'endos de l'entité 801 FR -8016 Redevances crédit-bail restant à courir 801 FR -80161 Crédit-bail mobilier 8016 FR -80165 Crédit-bail immobilier 8016 FR -8018 Autres engagements donnés 801 FR -802 Engagements reçus par l'entité 80 FR -8021 Avals, cautions, garanties 802 FR -8024 Créances escomptées non échues 802 FR -8026 Engagements reçus pour utilisation en crédit-bail 802 FR -80261 Crédit-bail mobilier 8026 FR -80265 Crédit-bail immobilier 8026 FR -8028 Autres engagements reçus 802 FR -809 Contrepartie des engagements 80 FR -8091 Contrepartie 801 809 FR -8092 Contrepartie 802 809 FR -88 Résultat en instance d'affectation 8 FR -89 Bilan 8 FR -890 Bilan d'ouverture 89 FR -891 Bilan de clôture 89 FR -9 Comptes analytiques 0 FR -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/developpe-strict/fr_plan_developpe_tva.sql b/sources/contrib/comptabilite-francaise/developpe-strict/fr_plan_developpe_tva.sql deleted file mode 100644 index f314258..0000000 --- a/sources/contrib/comptabilite-francaise/developpe-strict/fr_plan_developpe_tva.sql +++ /dev/null @@ -1,44 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007/10/23 22:23 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tva_rate; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) FROM stdin; -101 TVAFranceNormal 0.196 TVA 19,6% - France métropolitaine - Taux normal 44566,44571 -102 TVAFranceRéduit 0.055 TVA 5,5% - France métropolitaine - Taux réduit 44566,44571 -103 TVAFranceSuperRéduit 0.021 TVA 2,1% - France métropolitaine - Taux super réduit 44566,44571 -104 TVAFranceImmos 0.196 TVA 19,6% - France métropolitaine - Taux immobilisations 44562,44571 -105 TVAFranceAnciens 0 TVA x% - France métropolitaine - Taux anciens 44566,44571 -201 TVADomNormal 0.085 TVA 8,5% - DOM - Taux normal 44566,44571 -202 TVADomNPR 0.085 TVA 8,5% - DOM - Taux normal NPR 44566,44571 -203 TVADomRéduit 0.021 TVA 2,1% - DOM - Taux réduit 44566,44571 -204 TVADom-I 0.0175 TVA 1,75% - DOM - Taux I 44566,44571 -205 TVADomPresse 0.0105 TVA 1,05% - DOM - Taux publications de presse 44566,44571 -206 TVADomOctroi 0 TVA x% - DOM - Taux octroi de mer 44566,44571 -207 TVADomImmos 0 TVA x% - DOM - Taux immobilisations 44562,44571 -301 TVACorse-I 0.13 TVA 13% - Corse - Taux I 44566,44571 -302 TVACorse-II 0.08 TVA 8% - Corse - Taux II 44566,44571 -303 TVACorse-III 0.021 TVA 2,1% - Corse - Taux III 44566,44571 -304 TVACorse-IV 0.009 TVA 0,9% - Corse - Taux IV 44566,44571 -305 TVACorseImmos 0 TVA x% - Corse - Taux immobilisations 44562,44571 -401 TVAacquisIntracom 0 TVA x% - Acquisitions intracommunautaires/Pays 44566,44571 -402 TVAacquisIntracomImmos 0 TVA x% - Acquisitions intracommunautaires immobilisations/Pays 44562,44571 -501 TVAfranchise 0 TVA x% - Non imposable : Achats en franchise -502 TVAexport 0 TVA x% - Non imposable : Exports hors CE/Pays -503 TVAautres 0 TVA x% - Non imposable : Autres opérations -504 TVAlivrIntracom 0 TVA x% - Non imposable : Livraisons intracommunautaires/Pays -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/lisez-moi.txt b/sources/contrib/comptabilite-francaise/lisez-moi.txt deleted file mode 100644 index f0fb394..0000000 --- a/sources/contrib/comptabilite-francaise/lisez-moi.txt +++ /dev/null @@ -1 +0,0 @@ -Pour plus d'informatoin http://www.vaugham.eu/ diff --git a/sources/contrib/comptabilite-francaise/loi-1901/fr_plan_loi1901.sql b/sources/contrib/comptabilite-francaise/loi-1901/fr_plan_loi1901.sql deleted file mode 100644 index 7af6aa2..0000000 --- a/sources/contrib/comptabilite-francaise/loi-1901/fr_plan_loi1901.sql +++ /dev/null @@ -1,535 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007-09-08 01:18 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tmp_pcmn; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_country) FROM stdin; -1 CLASSE 1. Comptes de capitaux 0 FR -10 FONDS ASSOCIATIF ET RESERVES (pour les fondations : "fonds propres et réserves") 1 FR -102 Fonds associatif sans droit de reprise 10 FR -1021 Valeur du patrimoine intégré 102 FR -1022 Fonds statutaire (à éclater en fonction des statuts) 102 FR -1023 Subventions d'investissement non renouvelables 102 FR -1024 Apports sans droit de reprise 102 FR -1025 Legs et donations avec contrepartie d'actifs immobilisés 102 FR -1026 Subventions d'investissement affectées à des biens renouvelables 102 FR -103 Fonds associatif avec droit de reprise 10 FR -1031 Valeur des biens affectés repris à la fin du contrat d'apport 103 FR -1032 Valeur des biens affectés repris à la dissolution de l'association 103 FR -1033 Valeur des biens non affectés repris à la fin du contrat d'apport 103 FR -1034 Apports avec droit de reprise 103 FR -1035 Legs et donations avec contrepartie d'actifs immobilisés assortis d'une obligation ou d'une condition 103 FR -1036 Subventions d'investissement affectées à des biens renouvelables 103 FR -1039 Fonds associatif avec doit de reprise inscrit au compte de résultat 103 FR -105 Ecarts de réévaluation 10 FR -1051 Ecarts de réévaluation sur des biens sans droit de reprise 105 FR -1052 Ecarts de réévaluation (immobilisations non grevées d'un droit de reprise) 105 FR -1053 Ecarts de réévaluation (immobilisations grevées d'un droit de reprise) 105 FR -10531 Ecarts de réévaluation (immobilisations grevées d'un droit de reprise avant dissolution de l'association) 1053 FR -10532 Ecarts de réévaluation (immobilisations grevées d'un droit de reprise à la dissolution de l'association) 1053 FR -106 Réserves 10 FR -1062 Réserves indisponibles 106 FR -1063 Réserves statutaires ou contractuelles 106 FR -1064 Réserves réglementées 106 FR -1068 Autres réserves (dont réserves pour projet associatif) 106 FR -10682 Réserves pour investissements 1068 FR -10683 Réserves de trésorerie (provenant du résultat) 1068 FR -10688 Réserves diverses 1068 FR -11 ELEMENTS EN INSTANCE D'AFFECTATION 1 FR -110 Report à nouveau (solde créditeur) 11 FR -115 Résultats sous contrôle de tiers financeurs 11 FR -119 Report à nouveau (solde débiteur) 11 FR -12 RESULTAT NET DE L'EXERCICE 1 FR -120 Résultat de l'exercice (excédent) 12 FR -129 Résultat de l'exercice (déficit) 12 FR -13 SUBVENTIONS D'INVESTISSEMENT (affectés à des biens renouvelables) 1 FR -131 Subventions d'investissement (renouvelables) 13 FR -139 Subventions d'investissement inscrites au compte de résultat 13 FR -15 PROVISIONS POUR RISQUES ET CHARGES 1 FR -151 Provisions pour risques 15 FR -1516 Provisions pour risques d'emploi 151 FR -1518 Autres provisions pour risques 151 FR -157 Provisions pour charges à répartir sur plusieurs exercices 15 FR -1572 Provisions pour grosses réparations 157 FR -16 EMPRUNTS ET DETTES ASSIMILEES 1 FR -164 Emprunts auprès des établissements de crédit 16 FR -1641 Emprunts (à détailler) 164 FR -167 Emprunts et dettes assorties de conditions particulières 16 FR -1672 Titres associatifs 167 FR -168 Autres emprunts et dettes assimilées 16 FR -1681 Autres emprunts (à détailler) 168 FR -1685 Rentes viagères capitalisées 168 FR -1687 Autres dettes (à détailler) 168 FR -1688 Intérêts courus (à détailler) 168 FR -18 COMPTES DE LIAISON DES ETABLISSEMENTS 1 FR -181 Apports permanents entre siège social et établissements 18 FR -185 Biens et prestations de services échangés entre établissements et siège social 18 FR -186 Biens et prestations de services échangés entre établissements (charges) 18 FR -187 Biens et prestations de services échangés entre établissements (produits) 18 FR -19 FONDS DEDIES 1 FR -194 Fonds dédiés sur subventions de fonctionnement 19 FR -195 Fonds dédiés sur dons manuels affectés 19 FR -197 Fonds dédiés sur legs et donations affectés 19 FR -198 Excédent disponible après affectation au projet associatif 19 FR -199 Reprise des fonds affectés au projet associatif 19 FR -2 CLASSE 2. Comptes d'immobilisations 0 FR -20 IMMOBILISATIONS INCORPORELLES 2 FR -201 Frais d'établissement 20 FR -2012 Frais de premier établissement 201 FR -206 Droit au bail 20 FR -208 Autres immobilisations incorporelles 20 FR -21 IMMOBILISATIONS CORPORELLES 2 FR -211 Terrains 21 FR -212 Agencements et aménagements des constructions 21 FR -213 Constructions 21 FR -2131 Bâtiments 213 FR -2135 Installations générales, agencements, aménagements des constructions 213 FR -214 Constructions sur sol d'autrui 21 FR -215 Installations techniques, matériel et outillage industriels 21 FR -2151 Installations complexes spécialisées 215 FR -2154 Matériel industriel 215 FR -2155 Outillage industriel 215 FR -218 Autres immobilisations corporelles 21 FR -2181 Installations générales, agencements, aménagements divers 218 FR -2182 Matériel de transport 218 FR -2183 Matériel de bureau et matériel informatique 218 FR -2184 Mobilier 218 FR -2185 Cheptel 218 FR -228 Immobilisations grevées de droits 2 FR -229 Droits des propriétaires 2 FR -23 IMMOBILISATIONS EN COURS 2 FR -231 Immobilisations corporelles en cours 23 FR -2313 Constructions 231 FR -2315 Installations techniques, matériel et outillage industriels 231 FR -2318 Autres immobilisations corporelles 231 FR -238 Avances et acomptes versés sur commande d'immobilisations corporelles 23 FR -26 PARTICIPATIONS ET CREANCES RATTACHEES A DES PARTICIPATIONS 2 FR -261 Titres de participation 26 FR -266 Autres formes de participation 26 FR -267 Créances rattachées à des participations 26 FR -269 Versements restant à effectuer sur titres de participation non libérés 26 FR -27 AUTRES IMMOBILISATIONS FINANCIERES 2 FR -271 Titres immobilisés (droit de propriété) 27 FR -2711 Actions 271 FR -272 Titres immobilisés (droit de créance) 27 FR -2721 Obligations 272 FR -2722 Bons 272 FR -2728 Autres 272 FR -274 Prêts 27 FR -2743 Prêts au personnel 274 FR -2748 Autres prêts 274 FR -275 Dépôts et cautionnements versés 27 FR -2751 Dépôts 275 FR -2755 Cautionnements 275 FR -276 Autres créances immobilisées 27 FR -2761 Créances diverses 276 FR -2768 Intérêts courus (à détailler) 276 FR -279 Versement restant à effectuer sur titres immobilisés non libérés 27 FR -28 AMORTISSEMENTS DES IMMOBILISATIONS 2 FR -280 Amortissements des immobilisations incorporelles 28 FR -2801 Frais d'établissement (même ventilation que celle du compte 201) 280 FR -2808 Autres immobilisations incorporelles 280 FR -281 Amortissements des immobilisations corporelles 28 FR -2812 Agencements, aménagements de terrains (même ventilation que celle du compte 212) 281 FR -2813 Constructions (même ventilation que celle du compte 213) 281 FR -2814 Constructions sur sol d'autrui (même ventilation que celle du compte 214) 281 FR -2815 Installations techniques, matériel et outillage industriels (même ventilation que celle du compte 215) 281 FR -2818 Autres immobilisations corporelles (même ventilation que celle du compte 218) 281 FR -29 PROVISIONS POUR DEPRECIATION DES IMMOBILISATIONS 2 FR -290 Provisions pour dépréciation des immobilisations incorporelles 29 FR -2906 Droit au bail 290 FR -2908 Autres immobilisations incorporelles 290 FR -291 Provisions pour dépréciation des autres immobilisations corporelles 29 FR -2911 Terrains 291 FR -296 Provisions pour dépréciation des participations et créances rattachées à des participations 29 FR -2961 Titres de participation 296 FR -2966 Autres formes de participation 296 FR -2967 Créances rattachées à des participations (même ventilation que celle du compte 267) 296 FR -297 Provisions pour dépréciation des autres immobilisations financières 29 FR -2971 Titres immobilisés (droit de propriété) (même ventilation que celle du compte 271) 297 FR -2972 Titres immobilisés (droit de créance) (même ventilation que celle du compte 272) 297 FR -2974 Prêts (même ventilation que celle du compte 274) 297 FR -2975 Dépôts et cautionnements versés (même ventilation que celle du compte 275) 297 FR -2976 Autres créances immobilisées (même ventilation que celle du compte 276) 297 FR -3 CLASSE 3. Comptes de stocks et en-cours 0 FR -31 MATIERES PREMIERES ET FOURNITURES 3 FR -32 AUTRES APPROVISIONNEMENTS 3 FR -33 EN-COURS DE PRODUCTION DE BIENS 3 FR -34 EN-COURS DE PRODUCTION DE SERVICES 3 FR -35 STOCKS DE PRODUITS 3 FR -37 STOCKS DE MARCHANDISES 3 FR -39 PROVISIONS POUR DEPRECIATION DES STOCKS ET EN-COURS 3 FR -391 Provisions pour dépréciation des matières premières et fournitures 39 FR -392 Provisions pour dépréciation des autres approvisionnements 39 FR -393 Provisions pour dépréciation des en-cours de production de biens 39 FR -394 Provisions pour dépréciation des en-cours de production de services 39 FR -395 Provisions pour dépréciation des stocks de produits 39 FR -397 Provisions pour dépréciation des stocks de marchandises 39 FR -4 CLASSE 4. Comptes de tiers 0 FR -40 FOURNISSEURS ET COMPTES RATTACHES 4 FR -401 Fournisseurs 40 FR -4011 Fournisseurs - Achats de biens ou de prestations de services 401 FR -404 Fournisseurs d'immobilisations 40 FR -4041 Fournisseurs - achats d'immobilisations 404 FR -4047 Fournisseurs d'immobilisations - Retenues de garantie 404 FR -408 Fournisseurs - Factures non parvenues 40 FR -4081 Fournisseurs - Achats de biens ou de prestations de services 408 FR -4084 Fournisseurs - achats d'immobilisations 408 FR -409 Fournisseurs débiteurs 40 FR -4091 Fournisseurs - Avances et acomptes versés sur commandes 409 FR -4096 Fournisseurs - Créances pour emballage et matériel à rendre 409 FR -41 USAGERS ET COMPTES RATTACHES 4 FR -411 Usagers (et organismes de prise en charge) 41 FR -416 Créances douteuses ou litigieuses 41 FR -418 Usagers - Produits non encore facturés 41 FR -419 Usagers créditeurs 41 FR -42 PERSONNEL ET COMPTES RATTACHES 4 FR -421 Personnel - Rémunérations dues 42 FR -422 Comités d'entreprises, d'établissement... 42 FR -425 Personnel - Avances et acomptes 42 FR -427 Personnel - Oppositions 42 FR -428 Personnel - Charges à payer et produits à recevoir 42 FR -4282 Dettes provisionnées pour congés à payer 428 FR -4286 Autres charges à payer 428 FR -4287 Produits à recevoir 428 FR -43 SECURITE SOCIALE ET AUTRES ORGANISMES SOCIAUX 4 FR -431 Sécurité sociale 43 FR -437 Autres organismes sociaux 43 FR -4372 Mutuelles 437 FR -4373 Caisses de retraites et de prévoyance 437 FR -4374 Caisses d'allocations de chômage - ASSEDIC 437 FR -4378 Autres organismes sociaux - divers 437 FR -438 Organismes sociaux - Charges à payer et produits à recevoir 43 FR -4382 Charges sociales sur congés à payer 438 FR -4386 Autres charges à payer 438 FR -4387 Produits à recevoir 438 FR -44 ETAT ET AUTRES COLLECTIVITES PUBLIQUES 4 FR -441 Etat - Subventions à recevoir 44 FR -4411 Subventions d'investissement 441 FR -4417 Subventions d'exploitation 441 FR -4419 Avances sur subventions 441 FR -444 Etat - Impôts sur les bénéfices 44 FR -4445 Etat - Impôt sur les société (organismes sans but lucratif) 444 FR -445 Etat - Taxes sur le chiffre d'affaires 44 FR -447 Autres impôts, taxes et versements assimilés 44 FR -4471 Impôts, taxes et versements assimilés sur rémunérations (administration des impôts) 447 FR -44711 Taxe sur les salaires 4471 FR -44713 Participation des employeurs à la formation professionnelle continue 4471 FR -44714 Cotisation pour défaut d'investissement obligatoire dans la construction 4471 FR -44718 Autres impôts, taxes et versements assimilés 4471 FR -4473 Impôts, taxes et versements assimilés sur rémunérations (autres organismes) 447 FR -44733 Participation des employeurs à la formation professionnelle continue 4473 FR -44734 Participation des employeurs à l'effort de construction (versements à fonds perdus) 4473 FR -4475 Autres impôts, taxes et versements assimilés (administration des impôts) 447 FR -4477 Autres impôts, taxes et versements assimilés (autres organismes) 447 FR -448 Etat - Charges à payer et produits à recevoir 44 FR -4482 Charges fiscales sur congés à payer 448 FR -4486 Autres charges à payer 448 FR -4487 Produits à recevoir 448 FR -45 CONFEDERATION, FEDERATION, UNION, ASSOCIATIONS AFFILIEES ET SOCIETAIRES 4 FR -451 Confédération, fédération, union et associations affiliées - Compte courant 45 FR -455 Sociétaires - Comptes courants 45 FR -46 DEBITEURS DIVERS ET CREDITEURS DIVERS 4 FR -467 Autres comptes débiteurs ou créditeurs 46 FR -468 Divers - Charges à payer et produits à recevoir 46 FR -4686 Charges à payer 468 FR -4687 Produits à recevoir 468 FR -47 COMPTES D'ATTENTE 4 FR -471 Recettes à classer 47 FR -472 Dépenses à classer et à régulariser 47 FR -475 Legs et donations en cours de réalisation 47 FR -48 COMPTE DE REGULARISATION 4 FR -481 Charges à répartir sur plusieurs exercices 48 FR -4812 Frais d'acquisition des immobilisations 481 FR -4818 Charges à étaler 481 FR -486 Charges constatées d'avance 48 FR -487 Produits constatés d'avance 48 FR -49 PROVISIONS POUR DEPRECIATION DES COMPTES DE TIERS 4 FR -491 Provisions pour dépréciation des comptes d'usagers (et organismes de prise en charge) 49 FR -496 Provisions pour dépréciation des comptes de débiteurs divers 49 FR -5 CLASSE 5. Comptes financiers 0 FR -50 VALEURS MOBILIERES DE PLACEMENT 5 FR -503 Actions 50 FR -5031 Titres cotés 503 FR -5035 Titres non cotés 503 FR -506 Obligations 50 FR -5061 Titres cotés 506 FR -5065 Titres non cotés 506 FR -507 Bons du Trésor et bons de caisse à court terme 50 FR -508 Autres valeurs mobilières et créances assimilées 50 FR -5081 Autres valeurs mobilières 508 FR -5088 Intérêts courus sur obligations, bons et valeurs assimilées 508 FR -51 BANQUES, ETABLISSEMENTS FINANCIERS ET ASSIMILES 5 FR -512 Banques 51 FR -514 Chèques postaux 51 FR -515 Caisses 51 FR -517 Autres organismes financiers 51 FR -5171 Caisse d'épargne 517 FR -518 Intérêts courus 51 FR -5186 Intérêts courus à payer 518 FR -5187 Intérêts courus à recevoir 518 FR -53 CAISSE 5 FR -531 Caisse du siège 53 FR -532 Caisses des lieux d'activités 53 FR -54 REGIES D'AVANCES ET ACCREDITIFS 5 FR -541 Régies d'avances 54 FR -542 Accréditifs 54 FR -58 VIREMENTS INTERNES 5 FR -581 Virements de fonds 58 FR -59 PROVISIONS POUR DEPRECIATION DES COMPTES FINANCIERS 5 FR -590 Provisions pour dépréciation des valeurs mobilières de placement 59 FR -6 CLASSE 6. Comptes de charges 0 FR -60 ACHATS (sauf 603) 6 FR -601 Achats stockés - Matières premières et fournitures (*1 Structure laissée libre en vue de répondre à la diversité des actions entreprises par le secteur associatif) 60 FR -602 Achats stockés - Autres approvisionnements (*1 Structure laissée libre en vue de répondre à la diversité des actions entreprises par le secteur associatif) 60 FR -604 Achats d'études et prestations de services (*2 Incorporés directement aux produits et prestations de services) 60 FR -606 Achats non stockés de matières et fournitures (*1 Structure laissée libre en vue de répondre à la diversité des actions entreprises par le secteur associatif) 60 FR -6061 Fournitures non stockables (eau, énergie...) 606 FR -6063 Fournitures d'entretien et de petit équipement 606 FR -6064 Fournitures administratives 606 FR -6068 Autres matières et fournitures 606 FR -607 Achats de marchandises 60 FR -6071 Marchandise A 607 FR -6072 Marchandise B 607 FR -609 Rabais, remises et ristournes obtenues sur achats 60 FR -603 Variation des stocks (approvisionnements et marchandises) 6 FR -6031 Variation des stocks de matières premières et fournitures 6 FR -6032 Variation des stocks des autres approvisionnements 6 FR -6037 Variation des stocks de marchandises 6 FR -61 AUTRES CHARGES EXTERNES - Services extérieurs 6 FR -611 Sous-traitance générale 61 FR -612 Redevances de crédit-bail 61 FR -6122 Crédit-bail mobilier 612 FR -613 Locations 61 FR -6132 Locations immobilières 613 FR -6135 Locations mobilières 613 FR -614 Charges locatives et de co-propriété 61 FR -615 Entretien et réparations 61 FR -6152 ... sur biens immobiliers 615 FR -6155 ... sur biens mobiliers 615 FR -6156 Maintenance 615 FR -616 Primes d'assurances 61 FR -6161 Multirisques 616 FR -6162 Assurance obligatoire dommage-construction 616 FR -6168 Autres assurances 616 FR -617 Etudes et recherches 61 FR -618 Divers 61 FR -6181 Documentation générale 618 FR -6183 Documentation technique 618 FR -6185 Frais de colloques, séminaires, conférences 618 FR -619 Rabais, remises et ristournes obtenues sur services extérieurs 61 FR -62 AUTRES CHARGES EXTERNES - AUTRES SERVICES EXTERIEURS 6 FR -621 Personnel extérieur à l'association 62 FR -622 Rémunérations d'intermédiaires et honoraires 62 FR -6226 Honoraires 622 FR -6227 Frais d'actes et de contentieux 622 FR -623 Publicité, publications, relations publiques 62 FR -6231 Annonces et insertions 623 FR -6233 Foires et expositions 623 FR -6236 Catalogues et imprimés 623 FR -6237 Publications 623 FR -6238 Divers (pourboires, dons courants...) 623 FR -624 Transports de biens et transports collectifs du personnel 62 FR -6241 Transports sur achats 624 FR -6243 Transports entre établissements 624 FR -6247 Transports collectifs du personnel 624 FR -6248 Divers 624 FR -625 Déplacements, missions et réceptions 62 FR -6251 Voyages et déplacements 625 FR -6256 Missions 625 FR -6257 Réceptions 625 FR -626 Frais postaux et frais de télécommunications 62 FR -627 Services bancaires et assimilés 62 FR -628 Divers 62 FR -6281 Cotisations (liées à l'activité économique) 628 FR -6284 Frais de recrutement du personnel 628 FR -629 Rabais, remises et ristournes obtenus sur autres services extérieurs 62 FR -63 IMPOTS, TAXES ET VERSEMENTS ASSIMILES 6 FR -631 Impôts, taxes et versements assimilés sur rémunérations (administration des impôts) 63 FR -6311 Taxe sur les salaires 631 FR -6313 Participation des employeurs à la formation professionnelle continue 631 FR -6314 Cotisation pour défaut d'investissement obligatoire dans la construction 631 FR -633 Impôts, taxes et versements assimilés sur rémunérations (autres organismes) 63 FR -6331 Versement de transport 633 FR -6333 Participation des employeurs à la formation professionnelle continue 633 FR -6334 Participation des employeurs à l'effort de construction (versements à fonds perdus) 633 FR -635 Autres impôts, taxes et versements assimilés (administration des impôts) 63 FR -6351 Impôts directs 635 FR -63512 Taxes foncières 6351 FR -63513 Autres impôts locaux 6351 FR -63518 Autres impôts directs 6351 FR -6353 Impôts indirects 635 FR -6354 Droits d'enregistrement et de timbre 635 FR -6358 Autres droits 635 FR -637 Autres impôts, taxes et versements assimilés (autres organismes) 63 FR -64 CHARGES DE PERSONNEL 6 FR -641 Rémunérations du personnel 64 FR -6411 Salaires, appointements 641 FR -6412 Congés payés 641 FR -6413 Primes et gratifications 641 FR -6414 Indemnités et avantages divers 641 FR -6415 Supplément familial 641 FR -645 Charges de sécurité sociale et de prévoyance 64 FR -6451 Cotisations à l'URSSAF 645 FR -6452 Cotisations aux mutuelles 645 FR -6453 Cotisations aux caisses de retraites et de prévoyance 645 FR -6454 Cotisations aux ASSEDIC 645 FR -6458 Cotisations aux autres organismes sociaux 645 FR -647 Autres charges sociales 64 FR -6472 Versements aux comités d'entreprise et d'établissement 647 FR -6475 Médecine du travail, pharmacie 647 FR -648 Autres charges de personnel 64 FR -65 AUTRES CHARGES DE GESTION COURANTE 6 FR -651 Redevances pour concessions, brevets, licences, marques, procédés, droits et valeurs similaires 65 FR -6511 Redevances pour concessions, brevets, licences, marques, procédés 651 FR -6516 Droits d'auteur et de reproduction (SACEM) 651 FR -6518 Autres droits et valeurs similaires 651 FR -654 Pertes sur créances irrécouvrables 65 FR -6541 Créances de l'exercice 654 FR -6544 Créances des exercices antérieurs 654 FR -657 Subventions versées par l'association 65 FR -6571 Bourses accordées aux usagers 657 FR -658 Charges diverses de gestion courante 65 FR -6586 Cotisations (liées à la vie statutaire) 658 FR -66 CHARGES FINANCIERES 6 FR -661 Charges d'intérêts 66 FR -6611 Intérêts des emprunts et dettes 661 FR -6616 Intérêts bancaires 661 FR -6618 Intérêts des autres dettes 661 FR -666 Pertes de change 66 FR -667 Charges nettes sur cessions de valeurs mobilières de placement 66 FR -67 CHARGES EXCEPTIONNELLES 6 FR -671 Charges exceptionnelles sur opérations de gestion 67 FR -6712 Pénalités et amendes fiscales ou pénales 671 FR -6713 Dons, libéralités 671 FR -6714 Créances devenues irrécouvrables dans l'exercice 671 FR -6717 Rappels d'impôts (autres qu'impôts sur les bénéfices) 671 FR -6718 Autres charges exceptionnelles sur opérations de gestion 671 FR -672 Charges sur exercices antérieurs (à reclasser) 67 FR -675 Valeurs comptables des éléments d'actif cédés 67 FR -6751 Immobilisations incorporelles 675 FR -6752 Immobilisations corporelles 675 FR -6756 Immobilisations financières 675 FR -678 Autres charges exceptionnelles 67 FR -68 DOTATIONS AUX AMORTISSEMENTS, PROVISIONS ET ENGAGEMENTS 6 FR -681 Dotations aux amortissements, provisions et engagements 68 FR -6811 Dotations aux amortissements des immobilisations incorporelles et corporelles 681 FR -68111 Dotations aux amortissements des immobilisations incorporelles 6811 FR -68112 Dotations aux amortissements des immobilisations corporelles 6811 FR -6812 Dotations aux amortissements des charges d'exploitation à répartir 681 FR -6815 Dotations aux provisions pour risques et charges d'exploitation 681 FR -6816 Dotations aux provisions pour dépréciation des immobilisations incorporelles et corporelles 681 FR -6817 Dotations aux provisions pour dépréciation des actifs circulants (autres que les valeurs mobilières de placement) 681 FR -686 Dotations aux amortissements et aux provisions - Charges financières 68 FR -6866 Dotations aux provisions pour dépréciation des éléments financiers 686 FR -68662 Dotations aux provisions financières 6866 FR -68665 Valeurs mobilières de placement 6866 FR -687 Dotations aux amortissements et aux provisions - Charges exceptionnelles 68 FR -6871 Dotations aux amortissements exceptionnels des immobilisations 687 FR -6876 Dotations aux provisions pour dépréciations exceptionnelles 687 FR -689 Engagements à réaliser sur ressources affectées 68 FR -6894 Engagements à réaliser sur subventions attribuées 689 FR -6895 Engagements à réaliser sur dons manuels affectés 689 FR -6897 Engagements à réaliser sur legs et donations affectés 689 FR -69 IMPOTS SUR LES BENEFICES 6 FR -695 Impôts sur les sociétés 69 FR -7 CLASSE 7. Comptes de produits 0 FR -70 VENTES DE PRODUITS FINIS, PRESTATIONS DE SERVICES, MARCHANDISES 7 FR -701 Ventes de produits finis 70 FR -706 Prestations de services 70 FR -707 Ventes de marchandises 70 FR -708 Produits des activités annexes 70 FR -7081 Produits des prestations fournies au personnel 708 FR -7083 Locations diverses 708 FR -7084 Mise à disposition de personnel facturée 708 FR -7088 Autres produits d'activités annexes 708 FR -709 Rabais, remises et ristournes accordés par l'association 70 FR -71 PRODUCTION STOCKEE (OU DESTOCKAGE) 7 FR -713 Variation des stocks (en-cours de production, produits) 71 FR -7133 Variation des en-cours de production de biens 713 FR -7134 Variation des en-cours de production de services 713 FR -7135 Variation des stocks de produits 713 FR -72 PRODUCTION IMMOBILISEE 7 FR -74 SUBVENTIONS D'EXPLOITATION 7 FR -75 AUTRES PRODUITS DE GESTION COURANTE 7 FR -751 Redevances pour concessions, brevets, licences, marques, procédés, droits et valeurs similaires 75 FR -754 Collectes 75 FR -756 Cotisations 75 FR -757 Quote-part d'éléments du fonds associatif virée au compte de résultat 75 FR -7571 Quote-part de subventions d'investissement (renouvelables) virée au compte de résultat 757 FR -7573 Quote-part des apports virée au compte de résultat 757 FR -758 Produits divers de gestion courante 75 FR -7585 Contributions volontaires 758 FR -7586 Contributions volontaires 758 FR -7587 Contributions volontaires 758 FR -7588 Contributions volontaires 758 FR -76 PRODUITS FINANCIERS 7 FR -761 Produits des participations 76 FR -762 Produits des autres immobilisations financières 76 FR -7621 Revenus des titres immobilisés 762 FR -7624 Revenus des prêts 762 FR -764 Revenus des valeurs mobilières de placement 76 FR -765 Escomptes obtenus 76 FR -766 Gains de change 76 FR -767 Produits nets sur cessions de valeurs mobilières de placement 76 FR -768 Autres produits financiers 76 FR -7681 Intérêts des comptes financiers débiteurs 768 FR -77 PRODUITS EXCEPTIONNELS 7 FR -771 Produits exceptionnels sur opérations de gestion 77 FR -7713 Libéralités perçues 771 FR -7714 Rentrées sur créances amorties 771 FR -7715 Subvention d'équilibre 771 FR -7717 Dégrèvements d'impôts (autres qu'impôts sur les bénéfices) 771 FR -7718 Autres produits exceptionnels sur opérations de gestion 771 FR -772 Produits sur exercices antérieurs (à reclasser) 77 FR -775 Produits des cessions d'éléments d'actif 77 FR -7751 Immobilisations incorporelles 775 FR -7752 Immobilisations corporelles 775 FR -7756 Immobilisations financières 775 FR -777 Quote-part des subventions d'investissement virée au résultat de l'exercice 77 FR -778 Autres produits exceptionnels 77 FR -78 REPRISES SUR AMORTISSEMENTS ET PROVISIONS 7 FR -781 Reprises sur amortissements et provisions (à inscrire dans les produits d'exploitation) 78 FR -7811 Reprises sur amortissements des immobilisations incorporelles et corporelles 781 FR -7815 Reprises sur provisions pour risques et charges d'exploitation 781 FR -7816 Reprises sur provisions pour dépréciation des immobilisations incorporelles et corporelles 781 FR -7817 Reprises sur provisions pour dépréciation des actifs circulants (autres que les valeurs mobilières de placement) 781 FR -786 Reprises sur provisions (à inscrire dans les produits financiers) 78 FR -7866 Reprises sur provisions pour dépréciation des éléments financiers 786 FR -78662 Immobilisations financières 7866 FR -78665 Valeurs mobilières de placement 7866 FR -787 Reprises sur provisions (à inscrire dans les produits exceptionnels) 78 FR -7876 Reprise sur provisions pour dépréciations exceptionnelles 787 FR -789 Report des ressources non utilisées des exercices antérieurs 78 FR -79 TRANSFERTS DE CHARGES 7 FR -791 Transferts de charges d'exploitation 79 FR -796 Transferts de charges financières 79 FR -797 Transferts de charges exceptionnelles 79 FR -8 CLASSE 8. CONTRIBUTIONS VOLONTAIRES 0 FR -86 EMPLOIS DES CONTRIBUTIONS VOLONTAIRES EN NATURE - Répartition par nature de charges 8 FR -860 Secours en nature, alimentaires, vestimentaires, ... 86 FR -861 Mise à disposition gratuite de biens 86 FR -8611 Mise à disposition gratuite de locaux 861 FR -8612 Mise à disposition gratuite de matériels 861 FR -862 Prestations 86 FR -864 Personnel bénévole 86 FR -87 CONTRIBUTIONS VOLONTAIRES EN NATURE - Répartition par nature de ressources 8 FR -870 Bénévolat 87 FR -871 Prestations en nature 87 FR -875 Dons en nature 87 FR -9 Comptes analytiques 0 FR -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/loi-1901/fr_plan_loi1901_comptes-defaut.sql b/sources/contrib/comptabilite-francaise/loi-1901/fr_plan_loi1901_comptes-defaut.sql deleted file mode 100644 index f423be4..0000000 --- a/sources/contrib/comptabilite-francaise/loi-1901/fr_plan_loi1901_comptes-defaut.sql +++ /dev/null @@ -1,27 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007-09-08 02:49 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: parm_code; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY parm_code (p_code, p_value, p_comment) FROM stdin; -BANQUE 512 Poste comptable par défaut pour les banques -COMPTE_COURANT 514 Poste comptable par défaut pour le compte courant -CAISSE 531 Poste comptable par défaut pour les caisses -CUSTOMER 41 Poste comptable par défaut pour les clients -VENTE 70 Poste comptable par défaut pour les ventes -VIREMENT_INTERNE 581 Poste comptable par défaut pour les virements internes -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/loi-1901/fr_plan_loi1901_tva.sql b/sources/contrib/comptabilite-francaise/loi-1901/fr_plan_loi1901_tva.sql deleted file mode 100644 index 4d3a75d..0000000 --- a/sources/contrib/comptabilite-francaise/loi-1901/fr_plan_loi1901_tva.sql +++ /dev/null @@ -1,44 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007/10/23 22:23 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tva_rate; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) FROM stdin; -101 TVAFranceNormal 0.196 TVA 19,6% - France métropolitaine - Taux normal 445,445 -102 TVAFranceRéduit 0.055 TVA 5,5% - France métropolitaine - Taux réduit 445,445 -103 TVAFranceSuperRéduit 0.021 TVA 2,1% - France métropolitaine - Taux super réduit 445,445 -104 TVAFranceImmos 0.196 TVA 19,6% - France métropolitaine - Taux immobilisations 445,445 -105 TVAFranceAnciens 0 TVA x% - France métropolitaine - Taux anciens 445,445 -201 TVADomNormal 0.085 TVA 8,5% - DOM - Taux normal 445,445 -202 TVADomNPR 0.085 TVA 8,5% - DOM - Taux normal NPR 445,445 -203 TVADomRéduit 0.021 TVA 2,1% - DOM - Taux réduit 445,445 -204 TVADom-I 0.0175 TVA 1,75% - DOM - Taux I 445,445 -205 TVADomPresse 0.0105 TVA 1,05% - DOM - Taux publications de presse 445,445 -206 TVADomOctroi 0 TVA x% - DOM - Taux octroi de mer 445,445 -207 TVADomImmos 0 TVA x% - DOM - Taux immobilisations 445,445 -301 TVACorse-I 0.13 TVA 13% - Corse - Taux I 445,445 -302 TVACorse-II 0.08 TVA 8% - Corse - Taux II 445,445 -303 TVACorse-III 0.021 TVA 2,1% - Corse - Taux III 445,445 -304 TVACorse-IV 0.009 TVA 0,9% - Corse - Taux IV 445,445 -305 TVACorseImmos 0 TVA x% - Corse - Taux immobilisations 445,445 -401 TVAacquisIntracom 0 TVA x% - Acquisitions intracommunautaires/Pays 445,445 -402 TVAacquisIntracomImmos 0 TVA x% - Acquisitions intracommunautaires immobilisations/Pays 445,445 -501 TVAfranchise 0 TVA x% - Non imposable : Achats en franchise -502 TVAexport 0 TVA x% - Non imposable : Exports hors CE/Pays -503 TVAautres 0 TVA x% - Non imposable : Autres opérations -504 TVAlivrIntracom 0 TVA x% - Non imposable : Livraisons intracommunautaires/Pays -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/profession-liberale/fr_plan_proflib.sql b/sources/contrib/comptabilite-francaise/profession-liberale/fr_plan_proflib.sql deleted file mode 100644 index 6e3d0d0..0000000 --- a/sources/contrib/comptabilite-francaise/profession-liberale/fr_plan_proflib.sql +++ /dev/null @@ -1,66 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007-09-08 01:26 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tmp_pcmn; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_country) FROM stdin; -1 Comptes de capitaux 0 FR -2 Comptes d'immobilisations 0 FR -21 Immobilisations corporelles 2 FR -3 Comptes de stocks et en-cours 0 FR -4 Comptes de tiers 0 FR -445 T.V.A. collectée 19,6% sur honoraires 4 FR -4456 T.V.A. déductible 4 FR -445661 T.V.A. déductible 19,6% 4456 FR -445662 T.V.A. déductible 5,5% 4456 FR -445663 T.V.A. déductible 2,1% 4456 FR -455 Apports et prélèvements de l'exploitant 4 FR -5 Comptes financiers 0 FR -512001 Banque 1 5 FR -512002 Banque 2 5 FR -53 Caisse 4 FR -58 Virements internes 5 FR -6 Comptes de charges 0 FR -62 Honoraires rétrocédés 6 FR -60 Achats 6 FR -641 Rémunération du personnel 6 FR -645 Charges sociales sur salaires (pat.+sal.) 6 FR -63 Taxe professionnelle et autres impôts 6 FR -610 Loyer et charges locatives 6 FR -613 Location de matériel et de mobilier 6 FR -615 T.F.S.E. Entretien et réparation 6 FR -621 T.F.S.E. Personnel intérimaire 6 FR -618 T.F.S.E. Petit outillage 6 FR -610001 T.F.S.E. Chauffage électricité 610 FR -622 T.F.S.E. Honoraires non rétrocédés 6 FR -616 T.F.S.E. Primes d'assurances 6 FR -625 Transports et déplacements 6 FR -647 Loi Madelin 6 FR -646 Charges sociales personnelles 6 FR -6257 Frais de réception, représentation et de congrès 625 FR -626 Frais divers de gestion : Frais postaux et télécommunications 6 FR -658001 Frais divers de gestion : Actes et contentieux 6 FR -628 Frais divers de gestion : Cotis. syndic. et prof. 6 FR -658 Frais divers de gestion : Autres 6 FR -66 Frais financiers 6 FR -635 Charges non déductibles : CSG 6 FR -7 Comptes de produits 0 FR -706 Honoraires 7 FR -708 Autres recettes diverses 7 FR -8 Comptes spéciaux 0 FR -9 Comptabilité analytique 0 FR -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/profession-liberale/fr_plan_proflib_comptes-defaut.sql b/sources/contrib/comptabilite-francaise/profession-liberale/fr_plan_proflib_comptes-defaut.sql deleted file mode 100644 index 21ded8b..0000000 --- a/sources/contrib/comptabilite-francaise/profession-liberale/fr_plan_proflib_comptes-defaut.sql +++ /dev/null @@ -1,26 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007-09-08 02:49 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: parm_code; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY parm_code (p_code, p_value, p_comment) FROM stdin; -BANQUE 512001 Poste comptable par défaut pour les banques -COMPTE_COURANT 512002 Poste comptable par défaut pour le compte courant -CAISSE 53 Poste comptable par défaut pour les caisses -VENTE 706 Poste comptable par défaut pour les ventes -VIREMENT_INTERNE 58 Poste comptable par défaut pour les virements internes -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/comptabilite-francaise/profession-liberale/fr_plan_proflib_tva.sql b/sources/contrib/comptabilite-francaise/profession-liberale/fr_plan_proflib_tva.sql deleted file mode 100644 index 38810b8..0000000 --- a/sources/contrib/comptabilite-francaise/profession-liberale/fr_plan_proflib_tva.sql +++ /dev/null @@ -1,44 +0,0 @@ --- --- PostgreSQL database dump --- Version 2007/10/23 22:23 --- - -SET client_encoding = 'LATIN1'; -SET check_function_bodies = false; -SET client_min_messages = warning; - -SET search_path = public, pg_catalog; - --- --- Data for Name: tva_rate; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -COPY tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) FROM stdin; -101 TVAFranceNormal 0.196 TVA 19,6% - France métropolitaine - Taux normal 4456,445 -102 TVAFranceRéduit 0.055 TVA 5,5% - France métropolitaine - Taux réduit 4456,445 -103 TVAFranceSuperRéduit 0.021 TVA 2,1% - France métropolitaine - Taux super réduit 4456,445 -104 TVAFranceImmos 0.196 TVA 19,6% - France métropolitaine - Taux immobilisations 4456,445 -105 TVAFranceAnciens 0 TVA x% - France métropolitaine - Taux anciens 4456,445 -201 TVADomNormal 0.085 TVA 8,5% - DOM - Taux normal 4456,445 -202 TVADomNPR 0.085 TVA 8,5% - DOM - Taux normal NPR 4456,445 -203 TVADomRéduit 0.021 TVA 2,1% - DOM - Taux réduit 4456,445 -204 TVADom-I 0.0175 TVA 1,75% - DOM - Taux I 4456,445 -205 TVADomPresse 0.0105 TVA 1,05% - DOM - Taux publications de presse 4456,445 -206 TVADomOctroi 0 TVA x% - DOM - Taux octroi de mer 4456,445 -207 TVADomImmos 0 TVA x% - DOM - Taux immobilisations 4456,445 -301 TVACorse-I 0.13 TVA 13% - Corse - Taux I 4456,445 -302 TVACorse-II 0.08 TVA 8% - Corse - Taux II 4456,445 -303 TVACorse-III 0.021 TVA 2,1% - Corse - Taux III 4456,445 -304 TVACorse-IV 0.009 TVA 0,9% - Corse - Taux IV 4456,445 -305 TVACorseImmos 0 TVA x% - Corse - Taux immobilisations 4456,445 -401 TVAacquisIntracom 0 TVA x% - Acquisitions intracommunautaires/Pays 4456,445 -402 TVAacquisIntracomImmos 0 TVA x% - Acquisitions intracommunautaires immobilisations/Pays 4456,445 -501 TVAfranchise 0 TVA x% - Non imposable : Achats en franchise -502 TVAexport 0 TVA x% - Non imposable : Exports hors CE/Pays -503 TVAautres 0 TVA x% - Non imposable : Autres opérations -504 TVAlivrIntracom 0 TVA x% - Non imposable : Livraisons intracommunautaires/Pays -\. - --- --- PostgreSQL database dump complete --- diff --git a/sources/contrib/document_test/all_tags.odt b/sources/contrib/document_test/all_tags.odt deleted file mode 100644 index 1b6afbb8ff01d129ff10347f6f4a88bd98463b1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41045 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 - - - Facture - - - - - -

- Client <>
- Adresse <>
- <> <>
-

-

FACTURE

-
-

Détail

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
marchandises
ArticlePrix unitaireQuantitéCode TVAMontant TVAMontant TVAC
<> <> <><> <> <><>
<> <> <><> <> <><>
<> <> <><> <> <><>
<> <> <><> <> <><>
<> <> <><> <> <><>
<> <> <><> <> <><>
-
-
-

-Prix total HTVA = <> -

-

-Total TVA = <> -

- -

-Prix total TVAC = <> -

- -
- - diff --git a/sources/contrib/document_test/facture.odt b/sources/contrib/document_test/facture.odt deleted file mode 100644 index 64496bdd82d645d4c9e9ba5a05f1c1d1469f24cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41338 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 yr^@eR{6EWtl=#m@@1L2!k1cm|z^|Z5{a>} -\par\pard\plain\s0\ql\fi0\f0\fs20\i0\b0\cf1\ul0\strike0 {<> <>} -\par\pard\plain\s0\ql\fi0\f0\fs20\i0\b0\cf1\ul0\strike0 {<><>} -\par\pard\plain\s0\ql\fi0\f0\fs20\i0\b0\cf1\ul0\strike0 {<>} -\par\pard\plain\par\pard\plain\par\pard\plain\par\pard\plain\par\pard\plain\par\pard\plain\s0\ql\fi0\tx4200\f0\fs20\i0\b0\cf1\ul0\strike0 {\tab \tab \tab Bruxelles le <>} -\par\pard\plain\par\pard\plain\s0\ql\fi0\tx3080\f0\fs20\i0\b0\cf1\ul0\strike0 {\tab {\fs28\b\ul0 Facture n\'b0 <>}} -\par\pard\plain\par\pard\plain\par\pard\plain\s0\ql\fi0\tx4200\f0\fs20\i0\b0\cf1\ul0\strike0 {\tab <>} -\par\pard\plain\s0\ql\fi0\tx4200\f0\fs20\i0\b0\cf1\ul0\strike0 {\tab <>} -\par\pard\plain\s0\ql\fi0\tx4200\f0\fs20\i0\b0\cf1\ul0\strike0 {\tab <> <>} -\par\pard\plain\par\pard\plain\par\pard\plain\s0\ql\fi0\tx2640\f0\fs20\i0\b0\cf1\ul0\strike0 {<> \tab <> <> <>} -\par\pard\plain\par\pard\plain\s0\ql\fi0\tx2640\f0\fs20\i0\b0\cf1\ul0\strike0 {<> \tab <> <> <>} -\par\pard\plain\par\pard\plain\s0\ql\fi0\tx2640\f0\fs20\i0\b0\cf1\ul0\strike0 {<> \tab <> <> <>} -\par\pard\plain\par\pard\plain\s0\ql\fi0\tx2640\f0\fs20\i0\b0\cf1\ul0\strike0 {<> \tab <> <> <>} -\par\pard\plain\par\pard\plain\s0\ql\fi0\tx2640\f0\fs20\i0\b0\cf1\ul0\strike0 {<> \tab <> <> <>} -\par\pard\plain\par\pard\plain\par\pard\plain\par\pard\plain\par\pard\plain\par\pard\plain\s0\ql\fi0\tx2980\f0\fs20\i0\b0\cf1\ul0\strike0 {TOTAL A PAYER : <>} -\par\pard\plain\par\pard\plain\par\pard\plain\s0\ql\fi0\tx2980\f0\fs20\i0\b0\cf1\ul0\strike0 {Si t'es pas d'accord appel-moi au <>} -} diff --git a/sources/contrib/document_test/logo.png b/sources/contrib/document_test/logo.png deleted file mode 100644 index 75a022af0b92a590e85dfb4c6f2d5a55b4f9dd74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49982 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
  • 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 diff --git a/sources/contrib/document_test/logo.svg b/sources/contrib/document_test/logo.svg deleted file mode 100644 index ed1b517..0000000 --- a/sources/contrib/document_test/logo.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/sources/contrib/document_test/modele-facture.ods b/sources/contrib/document_test/modele-facture.ods deleted file mode 100644 index 7fc70d555917c958f7f4fddd9b0602a97362d397..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72842 zcma&N19W9g*De}$%{uP!wr$%+$J(*&q~o*uegFU5d;js>GtL^L z_F5aWYT}ts%~iXWyfh>fI@sSsp_GF+(26UJ9(4V;!GfB#xwWyAo1L+~ot>4rp}v#3 ztqp^VjS;=AzN5J#y{(ll=duPf$1i`}hXB61KH5 zF*kK~_@_5VW(G$meJ5u}1APaEf8}67BmdRqe+z*wDE@<-zM-M9l`*IrTL%V1X9tJB zO1N5EL4wIk!~E494C3z#==lFv2OIS5|5V4s%2waW_`j9;EB`;0`AA88{5#nHTU1cK=8;|$74`n4QNQ}A)BU~? zpe%wWQt-GTNok(G!M^q~k?{ygEINkjQcrdG_-SNninrbBp!;wl)e&_F8`d8-?;cho zZr02X(+pEz6Y*zSlD_7iUlFQ2w%Io#8N(d2Y+r2M?-7K=-%x*J6G4ZEK=-hU5{2~< zN22C2LIf~@K||%i!h-n|Cm9o17JN1YUk@iS;>#6nRBL=p-Ze^_!6h-5-~IX5@r%3DLO!QWwE zV(@alDo;#>1>iJ{5J6bxS62;3U(Cqn?iim%ywef5D-rME_H4 z)V<=jRNr}KKSd^9MHXA1zhX0XsJJKyk>L_DFwurX&}Bn? zQFm%X_z)w3%zJ=(#G8>hRl>(wTsmSXbyRRSs(^K=uP!9900iEfZ-~q&*m75q?jLY@iNt==4Sa014Qn)N zaO%oXzAD@h4PinOp{OHJ5oR3Ip=`Q^@)wJtgFiCO94wx8>3`WxSnT0-;6nDS5V_fG zWzNDwJXY^!zTI{|e9D6rDz|Rg%>l5lI({NRjuwHFWALMw3;zV-Bz01e#3mw$0u%!75|3a(`BUpoUso|TntFd?-IRV86yNS9h{o#%~qPV()OAgQ=VVAa`ThIY~T z5~y?Vr^iIvq32Y*Sm3U>Z`TPdt5fN7iyC^%PHHql-|;#4_etpAjVt$c-l0fgRrc%} zJehh!^4NxmE`>4;jEHrqR@A1&KZ4}|b6-Rd#6XtiqSm34m!XXxS$Qw|g5B{J9UC;q zZW=~oxhxLfYFQn7w@3HdJ+pY9 zqU=Wv=J~l~^}$i=M$LP}M6Fl~lDWV~Lc`76B(^@&fkB8XbigYmOzo&)Q++!YLChF6 z+<5tmE2-~>EYWvl?lI_`BHDO$M?lLtOC24R%$ny z&MX8qMbxk=uHFB5{YjUg$AwG!jTyb=~777?-u3!Sx3y z?{qRU`HPuMnMoFbZqpzvIAA@#Mtxp5PHz)L&X zU}wJazyarmc}{B=FDQM$HqKKNKh}Ap>E86>m>>)5(EX6c`;5|b-TTSNhfH6?KZ~TAVYyKNtrYJs7&!TYIw-`IQqUs?Lh( zmLIT*<1nCi;`qAH-w6ih`@@ZfROYK)wAn>3!L;iZQz>)ev3pjepQdORV?Z6T$b-dV8ZR^QB*w^&~)%wLbQHS@M7a1MBB$ zT^1jj$8INeZD2)GWur)@Wl0*&k~T&h5hWPlGpQ_t@enLzqwC zVJpQ*_g`Y{mFm}H?QPYpIf#JM6(L?#pd+3+eidfNpV#bE8>I` zjuEbFVugH>6m7Y{%P&b(3J`p!3}~bkS6!X!d`nZ1qN4hW@B5#;E{t?LdPZZQ=;44( zxGkm^A5*#PgX{ehLw85MX+rYDb_S{Rwev_&*I1uhpuVf{T0cw&D#0P8 zZM?sK5rN;Tjz@;m{@g-p$AI7B(>a}^W^nhqC$(N;W0NmNiU|oC*EfUsju?}damQ~n|HEj`f z8yH6F|8rRh38^X=I&CdUbWPwVt=Uo#=U>zRf zk>1*JfQXDCWL0`}i!Wo^-y1YZ?X;+*74n9V+mKBJ3%&YzLq8T)`K}%%(F{Mg6#oSd zP7#O)_`X27p8lx6SnY~Z{|bqp_8A`0+}H>$P&EX~hGv&uc5wkAEh@1?;Yn&;M8A>c zaBtSoGz(pFD+|OXpdd{W+R5>C*=cqj4E0W_7vjR8)6x^NXf)D;hKCb3ubVkjbEZWz zFsf#i+2&|xmZRVCK9CFmA>^+tx1HSE%dxrY0$qPb?YFNe%*YsKaWY8X8(cxsoNDF{ zMx8kquJhR=UCJDxo4c1i*1FSe^YW7;&I-vemFJpG0JiH z>jDIsX|8;tQ5j6$AaV1jMhRHj!cwLt-@JZsAFSuXpwmAjT_T&K@g}a+VMcgozn%qx zitQKT$4XoT-mNZl@w22rC8+BuN9RlB=3U@pq|1n@ObvxNbR3HjExJXVl%<>(0f{E^ z=N3A6A?Lx;S{ophVL3y%`#Nu`z*O^XuYgveY*F%TLAz?BzP~~Z;%3WCrOel=yABmL z3&Ul2;t{;BK~zoR{3Lksi!m33YbM=^+IvgJ911yQb@ zb)myM=Pddo=i7qsrKotYrr{5oyIlc-W{=9Nr&I68TJ0w5zwYiYN zy9D|iyNDi_*ytWSX;suxF*%o(aJK$Vu_%KFSPulo_E;BX6pmWd=S;2~ozr`?Z72C^ z{NAx^G(&2L?_}7C7L*iP*&~7BT@4iASty#V$Ej@<#sEjat1X(aykhqXgqmT0bNk-= z(Hcxguso`Fzws*x3RUSd7v^DUyv&r{lGy7PIN(7M(J!VIBfQgqfTPxf_CK9n5nuu4 zP9mnpsqWvJFUlmW@M~QfrSBJ|nt>K?hyE1kpX}C2E8qA$F6tN)BvGw57Cpai8melK z`k$Vc!3^^_zEZ?h48g9zF=lP`>)_abg9DmC3R>H{`{R`}V{(y)X7h+W*J5W$Gn24B zDHxVaa*RMk(F=SW{jOL!GJfqs02rd2P#mr^uP5y;nlaPi2?orJ3z+Ftf8>nly|%E` z`I!0$ET*Yf$kJ33lBA`>fO5gNkyFqzaEi;4Z++SHtoc(#$IX0XjDG2%rpf(lG=G`g zO6_nkJ=Z%LIMA+h=)KWnB#xXaiZCR6#|$|LEZS2JJQY7N7LGGcURRo`mDHsOJfZ6jeC47ZPTdeAgURN1d1fFu4>s zOK$KAexS9}6x}v)6n6}fCV}07m-W(B+9cC4fBK`K#Va;?&CJb}O&j&Q0R(R}aTQ+E z>u+^3o|*&NYmlD&*%KVia0WK=Rnu?QrP6ebWlXJ7rc6uTZW7_du*7D_n6pBc!6Z_q zI=k|`4w)QtYAJgL34Qjm+JOzWD+3rrI%7n^^2YY6Qi%*EzgZsE5O;BO9}W?yCNB&q zenFwrs7C8_ZuCp7WSOAeozXvfX>(lJl~|I%61QwTNnS{Hj>dFvgPq>Ar}8(&?UBw- z;<^_E;s_xth2`QO8Zq1=|I~E>V%zyaq@7;9z7Q`S;4Yu5v;k*NPS-R0*$dXUG4~7{ zy=0*TwSn`8jRzG*GdF_};+}aa^U;M$Q5JF1wA)qXjl_O9@cW@oaJD1#nA~C$jq42P zu%VugD1{GQhDy3R7s}G>-hG^n*2OVzrj(W-yYFsf6P91_jaMR0-)>fxUReI*kv9AF zKgGx|(n32lkrzmFjnEE;t_p2%UO6wZ_KTc``#})Zt~e89TLzFbteW1EqNf+gO64yQ zhsbSd3uw5f3Tb~6M3voJC*ZVwW}Tc_A2yTwm3?AK^UC8Pq1V_wkygWGPAI%P|%~zS)ui`hF z)bckg+;~$sICrexmJr3Ow4s!`IHnER?bA`R{0{L5zalk9QohpS=cqH67|la~`r5;K z8Qyr_3rOM^pOtLhf(K;RId4+nYlPvXTf`CBe+vDjyJV5Y=Y(tqgm^>nyVR7w(!qBa(RA_M8aA#z2&j!U7 zzw5KwogUjUVSfNUF>%dkk@oZ1mJ_{5^)w9=i_q?l$Wc5sd5$FhrhQ)OT4wY>L+OqG z`BTG!#r=I_GU?G@*MlONhf2+G0wf}6zGND`rhXn3$QuM|c~CWrT8(VfZ;pq3uI2}f z>-UmVKDO6X3^t#^`NKwCJ1##5>WxLYdny+d5|;9%MnCOHZ0Y(I6ARiqa?>B)A-Rcsa_b4#A&r>gKt*p?U4Ru75!_tR9{0;X#>n z1f-LrD8wW0Hz~z@ska%(B9DXd?CT8*Xw)@gaUwklC~H%dt*HqC`bwVET~s4uhc1Q* z$mrk}R)0dx91EIAp7k=u%4MNM4=*PMH4R1O7E6mL&<%Nh87T`FO7UTYeRnVi{JNG( z`9p#hVtV`8^0{#V{qR~lPH?4qbLOy9`SXq-s)*hCO#D$;_f@{ z=w3qUA?X0ajCE^HYPY>tp-@;f#pjKL7}>sl8*%h&k;mGM)iQomL~iI>$b5a2n#@1J zDD_cXTCa{7RS-1}Jw=4+jr%~|nXhJXXQ0Z>ZH3g*7m8jzZ1!tn+QkdLPyV~)N56q| z)`(D8dSiN<&HAx%p$o<1DH+y@U^i8R3L4bR>YrCw?v0+L3`)@|*TVebLdwp`&FZxx z$R(w()iu9Qz!5r7Xxe z60w6@ex_3<{Fme^msM^t4)hjtg}S3Jw#y{U>JiqOM|-R(B_pXHDDKjB+>p+GhzO~ z2FF6!FFdECLHd9m$YmJ!K?n5Jy0jKJj3+HmX6j&QEl2=OqspY8EbvS>j>pVk{}M(6 z(dHYn=Y`C3&2V&Hg{bvuQ!YDN3n)4XqX~1nYWfnd=dVID2zBfjAWf9mv^=a^9 zT$@i_b(76!w|S7b_<_$PbNs%t;-mF=PbdD?JQ`-d7LPu*E`YA-pf#3+BC zVDXzZ`dQNb_?>h+^LDwPz3u%asA=VIF!DBlmb)g+dnh+GMDTivyw}n4iz28{_G2~e z0ndqA0mRwSC+2iEoy|y%V?B-NWEK`BExL1mI7)O3ex#@T-Z3x$8k2BX#p1UJ!%zY@ zSD`QA|I!?)Y1=hZjn6C27>vxmde~>S?J5d%O`WaP@h>XQPEMCNPihKiq>aZ(bYS11 z)e8Ig^|VD33C&*~s1W~{yGgcg9wGb<2&!r73;gBNAC3e$qWMAHEJ`=Aj-))5Pd37W z{vAIePP~Gzh(-Gz3M^ID+^v^s-!|5^g)uIe-B!o`wSve|Z<|k`>T~oq*vX>&@3yMr zrnDYs%mI5<^192nJ{B2#qlPD&JtYG#kP$Yq?Ct16U~ld;p4se(e5faFu>OSfds&CQ zt=?Gtf(lM3rh?k#8eNqtP*sJLnWe^tFZ}-5KLNW|vvqIMMHSkU?Osd^Y_o0gJkCbF zfeCKNf<)GwEFj_uk#R>q<3SD+<(+&mqiaTNeC?r=E2wNJy8PlAWkqsFuI~|KiJ|pe zu|^6q0jN)HO0?vy@)rvJF&1ZtHTcxujnU!nd~Za!f%n>_n0S9Nsa%UX<3Yq*qE3ZO zs_zj+X)AhhPzf5`{9BF|R_dkYY0j(sk|-(^(Lzjn?UM*xRTH%QV-i1!3IaVoQDEBf z6MdKH8wtK}-vjQ7L;TR?jrhVMD6=n;NFaI49@^c$w!X`viqy}(xF~BWkfiM=2RjU*z}6=xIwLNTq9QqTC}z#3n5tSJLg&_sOd#kfDm{~xVq z)Kd-l3Nc~em&4-g`gEiX8(MnUQXROf{Qa01wt_Ve)H29_3+q+@cwWWoMKv$&s;h9> z4c{J6lR+li4=Regg=N~vtjS28_v?)BTPXNxsV2oYVYrj?2H}(Fd!QM%;(0Aq0VF}G z$ERq$DeJ6(GnNL5w|`;3O4b(}4#gE&$6KKB6BV$FATfD!fG%nhJ)MjOEpEdR8#8= zZtX0B+poq$hUxP5YL1B*7&&RZe+^PwJ2`A-In??w+aTI&fFLiZqAIu@`v~vG8@*c* zC|SE*B_3vyt$UDnHzGvcdTTwOonV+lu$LQ~@Y2v=N|IGv6e9*g*Zq1flJp zx?r341$H7(5)NsK#CcC(9*O%}UiuHnb$o9}=j?<=?ujgT-fA&A914 z#VTZYRpu*Mmz;uN2ODUN^JzPAI)KEV(uDmHBPh*wYtfYXUP!sRU7yGr8WK(m?s+uo zTjhc8)IrRH3(^S>+5f5JR z>8+@oC{io3Z=>g5Yuq!HZu%x$Nt7QFH@dWhG`@hcMJa_h9*|OIpSpg0F{@26WR~P- zNqstdZHk?*6DAhio`6XcLZ4j#*F{1?DQ}^1Ya>@i_mBTs18tTN*jy+cmSsXG zZ}8Vmuv!|8@eHHGN<*jTSkeyF5=<;Ys0He}rmF2Z3uRrHjB@()=;TOgAVE`V*wL9*%78N3Q0Ywjf>Vm~o*(3t97hRD#lp5uVa``~lka?1T1gOWXhBAsY)3D6 z+rM}-$)Vf3NJ?6$voKV^9L5s8@IC)nQIH_fUz2#d?&`H%Y;{s>GS+}v$=u&ypc9S? z{KsVn2Cq6l)G|M*d=(r)G{w_L0FKq2rSO&+-W^WdZ&T;0gzTL{pKlx{&f{&C;{?+s zc=JS?-+T%t3}G*Pv(pkK1aoMoBIDL(3m~&Qm8D{)nRU*h^58#PiqWdGWLt|14}X=a zmRo%=6fZyLDZMbdF!Co{EqLsL+k+fB2MN^K;R+!71X8Cr@(a|=!TNPTb4s3k1xR2eVc5E_ zNAzb<$c5u_v6+CKEMQrcdcn;Tn09X?8BRAWGM6(ycKX;dNB6JNty+y63(vr+li} z1nm`~p`o(Q6Xb9}ccriih}DR|Gg@Y9F4&@x#Rr|{8M0Oyqh-{UWQKttfLzjy8`F#-I+eVzpH0LiC7Ef`SG?>jr1IV1Gp5%H zQTp$_0PhU6B*_0_GU=pU<<&kyp{2pmXh?=plxn{q$H4@Ai0QyBftLRGb#loGuord)23bQXs~+(^u1waS&shUC)ZSSup-=tY_80D>DqBwJTRpPNvwGW6WLk z(VCxZ_L-*+T_1)2SxmJ1<9UI`N-`WqSdJNCBX6UH&pM<8@4 zL`MSVTHB=nsWtU*7oTxnD!UEbKWtMewt4!7ED-(XqGX^<`9Sd6vp$EQQ4;b4!8m$W za1(&zl5V5(kkzT%I$w%A9HqFnwC!EMlS&A?!)ygarv!@~^X2RG=l`Vg8?u>rHTfBd zCAC~Iw!j%jglfugSG78xeMM9T9jQ&i?af{7uE z`ZFiaY(W=8`!Cubs3IT`_TFU8_kGr#eaLrA%u;k)t@}5u)RR7=nqib>nfb&-C0{;Z z*z8XKj7%iAeyxZG2`VeKuz4-n*ijW&Nh^Q}LsRo*uQ&q!<>bYqa0XnVOi@;Fxk4Dn zZb1ZXar?Bgu&_wop(vz9`q1u%+oY(CniUfBs%d;3POD-kkBU6a)iG!g5C;Sb01VZb zqQ5!A=KR?y?0-Wv2eBLR6{ld$YH+XSd50N_1uvLZlqa(T1{c)K&(@BzjHtyyoJgar zL4ppxvj$`7BM7H0uHau57d3ZjhND zNQJ`^I--+76(-^&^i=8_vgpO}328P9ijkn@1+M050bI%61R`wN{!6SWuStyZ zbLp1$c<0VPWkOkr`kPA;miapL3SQbm<|DxsrRV2^w(qcnfR?e_NRPe6-)ds0pk-;N zBQoBcWHQbg)1E&LNpbRrD7Zfv4oV-eXKkhC&BXiI%SOKqUE7E9P3uGK& zSvgu*tlfSkkOp2`OCzo>Eo#Qr@Fix^I>vc7%&B88UR{y;d}9r6cfRSDw%Tl_3@Q|w z(bqR>9LArmAoiNw6UK57_0tN@XVFWTCaPRR#YQ=GRI5l}SC`5ci%Ft)^f4t+M*pXL zUnO?Tlox?J3e#+jMAp_aud54+Vz)AMj|UAlBOx*)G?qy=GA}Znb3XCk{r-52^UO&@+>|7Ef3w6X}NKeMxF&$#e~iSF^<1mJSw; z5?>Hmz`4H3kIEZ(8fLA9^oWiKQ^k2F=zNJAJY8$EEV(D~*4zIrv7$;O9+OG;=(&yU z&HB%DjS4odx=hU!=E%if%K zhuox4U7DX^PUl}hi&vmOxR(RJgK3==?UjssT^PgI@L|MW=f1MfX5vC{lrI|L@$V_P zb<8#q2#B4l6Cvv2td@a_>JXMhCy0JOv@6-;v(~u=x4#WoU0v5i|mltaGixzySxuIwj5JJ^)#zR|G?fHKW zWs#0lX^k4?c|)8+#S%lM%gFe$^_-z8yo3%Ai4Y4B^6lL&#KWXGr?l9@P5*I(J6yK+ z*@TuNWR4eKyGZe76fB0~o@*AendsN`&hin`#CI@>ia1VimYw34xbl7-xtfT{rc#@8odxj&K;$-d2L4sJ_Aixy zG6TO=?a6U4FycGqo}A)8-tO>22dX~<{crw2IiWk&Wez&ubYLZmC$n;LITVr5n_aQ( z-+QQ0GzJGDLPt=LHYSk5*d%5~eJHX;_WJsg+FT7nm5EsaPjU;bcuWFj^?J$Qq5b65 zL>t(}0+YSVKDP0X!=6huF{W}*55OSV_zzOd4ZTioFE5VeF)zO1kc=J~>fw4=btFCL zoIAlOlqb8XoU*s>4%R4@|4;#rG_(lkwfc)wcD-p`dmL`1azF6M~aU zhEBMgewyv7dxrvXw`Egt{BBKg51Uu>RIP5KRB0QV7#Eb6R9F1|ZC(M~sauxK*R3#l zYE&8Q@{X6L(ymjRW7XD2`N->CisXUBpe-^~I(2M<*XuPEu`;O|}eQn`(osoxMAwJs*h*Ty3wCn7)dgzNuoV{OSIMcgVn> zr3pBB#119S>MS~J0*GA%{eZqTgwy2EvQc7v>53Qm742pGS{rIH#$$aw{o@TFo#7B2 zz)+#s%7=~lab^H&VMptkIBbXdT}#y{8qFVBSWnr2C9#xWE`)iarz}OYmNZi6ohrxh zZrZtrifhvFz!P8gYn%mEW_4;PZULz`( zZ<}SiPVv9A7eUx&a@6yy+W)s+S6i>zQi13?i$aGCFpFJDPy(QfpZ+yZ1 zY9{)f(6gV8N-u~u)zk|~A=7i(T&EvKb*{X&=N{e-Cp z<}=6ZaZ-2pXg+J=4PlsRvp*;1RgQNPReW_*R7Of`epOo3+tay!*V<`EnaO6MJJXlh z@rcKQOP}Oi!6#GalM2xn?$iPqAya2xVL=#&2q}hztt1ZXG#!y?*Wj~Szb8Pb?q&)_ zcKx>pyt`m)D{n&I?KxZA8=V)=ueP1O0%L8{x3AU&MQ6xrd?J4$Gc~8y!s3BdVNjLS zU9WkjhtkkCWCIjlG~HRB9C{g#E@G;WY60cq`wn`~m25}m64J>UAG^4UPPIu=T5Kcg zMkz(>ELH}wbzQws%bgmAqbqeDm*XcrTBFCG-P-a_81 z)y(J601PY&lW^TEUX-R2>s(S0c017$xatz&CNrn(p+6l#Eu-Ob`+ySmu*AoGezCfI z>0`sM?-8~_++&ThczROK2cY$CAw9eNipIa`Nx2BQ6(UV%W;cUbHJ4ze%|IXngZgDw z5YBprZLD&1VYoAPp)r|1+>W+qOOSe4sp^_%LV;;X5g=$a}2OaYh8l(KOYTI+%o-oyWcKm zT&4`Xe!Yy^HRDdL)R)r|Ua5DvwaXp-&bp>(F!U|@jt)-QgY63bYk_#D{|WqJM4`JV zhtgL{>eE)>@62`x-k{^#$<^u)@yYi;7qev^{E{}9e2^k@X}7Aau8$L>;UG6CQ}lll zuhnC<8$WW96c{Iu34|BQX|^0rkV{%6o1|qc>DI0=%vWQsrX7@glO6xr_Ld zKu-24`Ak*H}sY>PBs=<+i+N=HP4Ibhxc3S;0shtIJS}VkB8HX{s@?8 z+0*#zS#H299X>85XB?^{D>b_#o^ho~pD06&AfsM}V%R+p0 zoGeke@h%W82h@>o2-uy>1IBEYh@XG^7YM)7LH>bqM*+p=&v z{bFOeTxtU?(j+pJPk3J3_M5XQLd)t$yfP#AW}ou4!SHY(!uW!2_`FTs+`eqc=&zS%2u20b1v`7i~anV6iU$fi~VusTc&VugWV7;=30E6=%K?JHcM< z1A#+7Dr4~&?#3O0%cDHqDEBYEb{m~rPB2|OaT`uA5CFQTDT&((mVN&hJV3cn+-=Eull+d$2F!UA8J;I-Y$IpEV- zm7pA-B?~^Ey^FN<4OC&Z4q~N)N9{+YFdwECufw&&^Q!1~-LJtp8xgr}X=)pBO1Sq6 zx$|v5yOF_sKV*65i-il`rhFxm>8GSy^m-x~iCT^H^=lcnw>hkt!$ku`8N`>B(QdMf z-VMSl$^6<~r1-5y3(g{AV8A54i8AS1fo3b?#I({1GFROsI23g6Cw?MH}Y z0+doCwIM7lA^1xUjZi;jT&;)K?s1*N#$ zv~6m8Y3>EwL>3x&%_Ce3$h5&%d!64eS=Q@%&*gz!)oYfsRV#isrKTHFHZt~ek4ClC z7@jL{I3h+knx6S*%I^qD8oJ%>NYSK{mmPKij5tVb2x+*Z$*$Ak3Cr&7{_5@$JfFu1 z_uUzPun25gECElRxai0t{h9IDrqg24s;XM~r}oDuqes(29Tx-@^w{j(AMalG?#(W) zo+`g>VYdlY0hLSMglq7-h0^LG8Z&-I8k9U*MSNWiX&-k{yg zAO-In>~5f`WwltAO`xc^3&=>DC0&Aj7nn=$eY|$B`3LK&z2uiyCimW0CLbv4;bg|@ zwJzj!jKTUPTc_cPm)R-@4@RRVQ~h_^PCjmk+U_c+aeh~tvV(x`^>l#MS?go|dpE;! zUH|xcqIo7P*eU&?I(DYjHUyZ}#XO)bE8FN+`^+9iz^?d_xX zj}4{$n?02q!=>6fOK<0gwik|MMun|-wfrrQ`E|dC@vTCTZAXBt>^vt>Uqe!$GyV?LZ7-L9C-Re29 zYldG-EEUG;!r(b6z|SzkvlybeOcM-#pyg*rQnL7=vGeRApRQ8>@G581YhuAt{H+`CyBr`> z9bQ(|T9@^+SUNzi+y2OOL*8SJAefZ^x>P1F5S6K_*o^5jSlN`?Wr@FkE|xs3sEGe zlP~Yp330mBfxo+RFk;YbDOJ%_ZvvkR>wC9OBSuX4&if_Hy(YhWbuw$-Oo71dT3W-@>G5wO3t%B(*ryiDfYF*HosQFC!|`*TvUI!_UV z>$8cKb24@|_9z_&8RTJ_>bzdZb)971=ASz5(E(gGWM7=PjE_zS1`YFj^7K{A={^A( zE|XfgzQK@haI^_x1>A&Sid+ff1rnWjMrR(z2crH|0E8TamfltqVu4vMNt$vI3G_7Z z;1M{LE?)i7I%^=*RXixH*zfRXW}96b@X-c zXqlJvtlJ2O7ll!Vd!3@`RqnlM$48=?3YGk#tCL84)$q(@wwG85qRUjjbif3|C8ka? zFlC9EJ74v7^LlMVqiulOWRyACVbyun5QdJadiv7wXtQ&bZ9-iG^`-h-wR>iDul?|w z<3!LhHhfk_d9|ml-0<*N=C;P9`7?*)Fm8_9b$>H)g~Ljsmo5Z2qV30YZuWBP_B&ys zcmwK^fV>Gz0NY`@^9h09X<5k9nQ@y!ii|nB@~^jaayku*sP>9RylvP09PPj{|~QQ6`vhI5D>>v4~I9)JUgZ zc3nl(ZGGBz>mSyPHTQ$%rWW+BM?yE%+RdXdp+%4V0UE!|-WRK3P(SV2sSJGVKIHg# zqT;IC0w?Y%njt?az!b?$x}B}SL`kF{8Qh3eTI2CF49ZX~W9LVR=U>cKc^)rtoW?hw zU1hN)5duQA|7`Ni9Ap6Jr)dU9jL{OjjJk@~)iQI;X4U&+vDSIDZmVY{Z{JHM6P(7! zZbc2*X?97HdpWXo)Yr~e)M&p2fxEhA z;a{{U(0Se@3cD>JHHMk$Su+j|vs^6PfBi_SH{McB&hFeAlx@#;{N|KE0QU1!cym{QifLC|7b&i f6;vU|R{FRdZ2kX=Dm*6>hs#tMIG{)@UeV31Zj{ z(#BZ~@M9Ubfcj)_X?&6Y;6>p5Eb6!&j7s<8@)jZq95;!D>XNbQL_7IiPdcz(j zgnCZj&LVVi?hGt?aSJ+5I+OwqjemRNsS`idwsM!oRvPGJ3G+k z#sfWh4BFSV&kEkYXJag)0G`IbUaz8x2KFiVOCkS9x1mdvapu7%z>n(iqZwIpdUvWm z4NKESZx7P^?~sVK75LE_Dw+(FQ=iNypKL9Xa2bkfQ%73=HQRYtJx}_!2FA8SM*&V~FZ=X^>EemP zMItfCPkLUL0Ud_kMI$&*gS>O|43Gx9?nhb7I=9aar%pw>I;}ML@0v>E!uGWc4kn9P z5ktHmRmg5|Zz>d7*|$cWwM7?BT*C+uHKrfOmrx`@BarKDnwRKRS^^ z!N3aldF2fVsdRUf<_!bEGZ*?Wpun<*!0BY;cE&Kd-st~Q-h+o;>`YYTp!;n%IB z0!Z%nnRLfK({!)B1HT}{5P*6*oz;)L1Ix{!o93qPDday>t=jK`rxiVX% zZ9UP}059LCU}c#tv1U9yue@5n5Zy(ObD3tgYLk`LIZ!8kW@xk^AX?F>(|fT6?kGN! z-H}_e!7}qu;p(-B9RzpPUAaePyBA)Y{KJY5ItYbLWFTE`IMV|!mvv>sc<|*nvVFxmFH=efF zh&F439($D#z~m9~*eiUJOC=enVc_Mbuzegg zb)KG1x-)`zea@&3#MW~!D?1e11B3|PBbd;e{dV)hF4`==P2sy4bX0X-aXxT4R|YS_ zvrK)O7YfG*fs7)8J%0G=IVf+-=^kb+%c37AdU{dEj@X?FG?4_~K-5L!msrhXvE&)M zAAAKvT)w21xwJUP zQyfcus5rmz^p@zSlMSjO+h_B7MuVU}xQB<}JAG{F<809T$ux;;X>b0E!jcHC>;ARr zqykwX);s1<9jvbB>T=EK;`@_l_}#@ViAkqgDd(G|*H(;N;jpUYQV3yrKg@U_aJ#JIMfKt74rr~1?QAzuO#|c(RthK=qxthkWMwMY z=eR>l%6j|ilI(h)8?xQePGALNJ+0X(a6G2uAreVdM`WDPpe9V6vs~+`La&;doZA9x zE*{Dz21xqCay!6Oy=c+tghDP1iAYf7QbFr)h4djZ_*d$+C) zu=&-e@@4(=4PlMSEs<_*$IR;QeSGwW>~89!ZaG)hT?hd1+e(*uSaeAbDcg27)GMxwI`HyS&o@LD z6kWW_d@@yxj`+>1;#*FDZE&y6j8 zdG_PxsOnk~k`ic`JKa$8?!hik`}nh`V~kXL=t#zW%U3@*6_F7%OutuG|IVJyZ(iOj zYkJG`;{NmKbe$PpL8srA?LNd(!qDJVMYIS4vH}Gc4qTuZ!+x%7lh)Ll<+%1vS-MQx zsz3w#$^{D(vBe^2LbGURm`#sc*ZJT9cVt0P0InIQ^xtt?M8QJybqfwT+BxSW{5ec3 z7jz9?*>TQRJ7LL}32L0BUnrQm;6it;?0&pyrG-DJ7B+xWE z>)Rnl7jEM|+Wp|eAAV+wE-c{zA%JHW7_9s3u}^I%GW=tyjaP;r9<_Xx%iwg1@bo;r zt;}b9ePfZfS#~9#>7z}?21>^MK7OR4(f0;>d>9If0?IdUu97?ejcEDI7RHJYoOLVc z-+`N#mrc1q!8t+M^p!PJa?01}@3n*2gV8RFJHDh;TElG8)f&gIRPOS|9(+nSBuOAbPsey`SE z$S1sK^EGm{nKMFC5CObiQKn}vJ!lV$NTBJnSLHz$=v01w_>oLoy>IZ+O?K>|X55v0uFXY;pQc=+x}p)wTX*?X9TSB1 z!K#U9{?dCD2^a&FmzVu_j{N=0pQ5pAzGp|a>DexZP!E@)_LNS z;u&G+sEC8}t8RMbfw+y`(uKmCOA38auPnA}PMp)l`p`Xk+bU15cX*Ks+0>S=n}+}K zTJDe6ee;7;=Jz-5FjxertrxgqG3EO8)$x||Z8IjJ*ccBr_usR~roGhuI<#jYtCOw~2Kp2S#onCjO#KcoKWR%^X6=o}#g90Kf)tM&SA}quIxHZIcsT+{CTS>SWzL#na%9 z`+1o|bMUYa&O8A#3_zDo=9rPWwY^6st@c#PlU99%r>=2g`FWeKDNLd-R;pnvBaUOI?qJ$-Evq^ z>J`U-s_0sAIqSJzt~#G8U;)kA+#$9pzpwT*x;JC@KA&pz*ut#!)$v=;eT=09baU+P zC!c@O65(=P`da>+>3YjXTgNL3BwhrbWzpZC;lkp8qF1IR9sn*HxFSXZ&7R$*Or6uk z3;?ijz|Nb$`N0ugQGN2`|JW>@z1(M9w71IOJ>P-@JtC_|eEGRsH=vIUbb4<8>p!KH zH~!UyM?j=E_w6OSY5itTqn=+=D?q>}qy)DrqPY_S;1pS;hI0eA78&&?=rjsKd4_9d z9z@>^N_8Kfcw)a>{q72^_{MT+1@!74gsp4-VSN!2rNmck|?BWHNe!S}zoqb)P$7fAZ-;Z@Ym)>%%b=2>x|DV0{ zj*g=G9{7E4+VSA-&h_ zeW$$N9{~&!lHE-L3GU|{kB8kUcV;tl-|em|iqw7O#7Q?dV2H6h09>JP-);Zrty{L( zlTMxW*1Gr_&_^aJb@GE>9Bh+cm&cG0;Mpn)SCRl>Aho)bC5e!#7Op~p003PUk8P&6 zvuflXz2eu(5tBW-a3m#Fe(tulov*m|i>N5?&^`M-=+niari}#&p9Fec*OM~0a?9vp z&e7X<2ljVTQYHe0rP%tGD@fyp2hqV1e5s1zlERgM(PYxi{u9c!Ey~hPbuN44%n?)K zyfrq3*>bs}>)%%{Jo0~Pa`=QmK3HO*r7A|4(?wwAuQqPe7DvRb6P(lE?3OleucH5F zzk2#-0|3aen~LTOhi=>H^2u8;W|YdAC2P3`8h!dmVB8bBdw94Uap%s1IAunu!c&Xu zwo^L>l$WgAhG&l{$#Q3?{A8C7Z2u!C0&7B5SS*5!;;(4(Kdt$hILdAu|K<1AS`#B^ z8o|T&>dapkcm6yeA*vt&2vvI`(+m)S;98RjLh4`QiIQ=&##P1`{5p|x2mh& zAIc3PFf@eLzhprgGcEx;I2t8g{P(5D5@RAO$Kf~p!1-y?>aMA_Bh$Y4%A`AS`f`_V zL>L8k-L7_pXb}7St0p=-m%pmgwAm#1>U)cF6_ zeATHxER7@yklzVdk>MCbioVSK8%o=6Tl2e%0|2=9F16EvRm*-k5ofsCtdpS$B?Eq6 z=~O>5Lu39fJ^2fNWoRrIZH(lV@R@dP*oc#7{9l-fB7h`gw6D~Es zs8qNG@st&{xuFxLB9MuF!14LLhV=3dbH6ex9gcrq{%RG1$>Y`Tp#x+juTT^hyiq}U zd{CGG07WGtytL4u>D}Gl`~E3kr^@6Y&DrGeDb;&Wf4NY`L~U{LoOq*p^5gk}Q6DZb zYaGtnuTQVV5F5is2|yIcWktPDw>{VSoGA*3AmUoDjHL#cEKY2F=R>2)S7lq3eFr`G)6b0|2$1yj6MA#A z#G0!=5CGgfT4i4WBdgtVcioy!NbQ0D#0e8Z;qn-rC$|6#)xS1p?q@tN3OZ1`$z&S`{vX zMb7DxF5QHvai?0lvG8a0ODL*$lc zwszQdwPQ_4Dbh{vn0>!mg@i(<`jcHbx+b5cu<4}EC6}Rqr%fqj2<<%2H2M1w#6Khn z95h8K0WP?d%W;_QJZ?_G4d&N;!o74XU648I#g9yCyS-A8c52VUop)%hPIctIkL9`mUVmYs7!s1@<`3P2G64X#;V$zZ?zXbm+igzY^~KjF-I3#$ zTX~ZwYAoB?erq7$^>X88SV&s9-Rz0ZE%2@JM@mZuct)OIu}}h z`@?ZXEY=r_N_aN8nJrAic}kj5#WNoI&bM)lG7dqX9&-DPV_gHTyZtv3fVXPW6w6@Z z6;Z9eZNiJHs<{U-Q4}oC2rB~sc)DMD%Hd-k769Px+mwz9QT?6G%}D=t5kJ*8E1`R6 z!99|P?@T-(Tc4l!z~Vj43YxMjxhfbVFUFN&1b?AuB;}RKMX24`5ab4eNZ0{L(gIvi zxGvzdS##2_yml1jcyQ z-}1{!t6HqXdw%RFl`B)$`d6s3{{57nyuU5i`OG~tRzBSOq`AeH-&vF{7eI0%4Jy5& zaI33xNu4jWkur?=d(7%}HlJLo006zZ%RFUl%vCL>hGs=UYT=R=M*@BmIvj+SAzt=U zo1MeA?r?+{489#|@Ble)BFarpFC*30LW3a6%T}>)BO@sBh)q>{Qx#ECR1K%7)L1%R zT3K5gLmLKvy3?&zt1#R&Olf&wTgNR`cYSx{@y-d1@&78yz431^vV|Nt>>+Euk1GH8 zU~-eIxvdF70Gn2eArMa(MMJ&y0}s-45Qykt0L21aP`C_|WQ929`bt%g+>Exgkd@{Q z{rnq?LX-do^pQzZCaVOK6(n1^JzaZ?e?9Ol1e$7vD4p&18?If;}G=h zCU?x^$Nv5A@6L$H*171Jw`O)(*8lC6=cl~!u0c0xyvBAy)@kL9S_-70T(p*0`tCm9 z`#tT^Rp$D})c$ls%2gA*go%W(F+@j&naqLdT?!-|g$z^XF1P#KAN95gO3U*6)C~ch z@G2mT+)R}$kr1(I%bX#@ltlZoI^m+KQ*{Yn(uk&mctUqkH;Co95zB28KaEGvM+F6g0&$psOK>V9@I*zZGt%4g*H0+D>Fa zZfx?l6gXSolpq7Rpm0TkC;{CVA>0I1tmtdm{?PpY88sIz*1ZQjc;{X>3jiz-LRc1Q zQ(9C+4(M0ZYi4Io+;rHfs*8C)WT2cc!Ej$Jot4`jbM_s{1LMLB1? zhMl{?JouM*C~|AhT{~O~LGbPR6mkp-73DZt6mwmBZFwcCJS-Hq3RL07C>*V}Zg43t zhA(Q}K8glT!4_;g9dE8rm#c)pOVj@xkYkZ(=4E1SiVp$EE-KuZXbQXnE(QRY(l#f& ztW=Ow6oRqCmF6!p;`e!sQ`a z|JUZJDGcxuKG^^w1!?4Tdk}~BjPUmk5iT{H-=Ui|9Jrj;^i-X zub04yGd%pT+^V#?u&cv>*nMv<2)DFI_J7fVFulxB}2Q002W0N_uYI;nLiBtJ0~}V&VUq zo&55*m1WZ=-BTL={!;4|$`$}1IgtUvvS;h-ni>rl1@t%4A(e9@IahCS`XEgUgpdS) z5O(AwvE^8Qz2&JF`oiHzFjjQjbHL-%Oy3D()UFIw+m)}%o?5yiX5wp)&5B8T{NWIL zh|c$sz&*QglAR4XoF_%r>L8AyjI5S7^?2@OgQ~k}*HgF2wzl;7L`{U7^(SI0N<5(@ z<-S{q-Mh-|`E*RZD;|F#tfDwHK!vN2Bg$qK!V3z057Tw-z}a%#A@%M?M}){OHW`Tw zr@$+qa$okNC?a!T$U%sUrUikO=KugGMf=cWr@VA(Ynplabz}U*yURkCuXZpl*VR23 zt(r4Vt0+&eMK8?$4^o+3n zG5zcB%|3MtVieSjczj{n={^BFiR>Q(fkkyBZTGXsjD$ z!+-VVoKw;7gEwuqD@w~nSn!5H*VDD{$!^TK8)LO|fqwY#_*HA|e)XH})Sl&6mUT{R zD4Bf4Lga>sa5|u-1c|Xo{p)(CUkwr3r?SGbtkzk9oUbM@l4M@bKMGeMv`=j^F%a3s zq^YDt+F9z97e^`G3`kO3X0`xN%r!Avce{}<$%SoNGwx%>Avc^$S@ej_iv3tj0str# z2*M*M%l|fq1!K7XRS@#>gy%3rQEV|46}TU*kuV1DOe)E>$7f{uW?}T`!bufupHJ04k0q{1($MU1eORV^GWeh6tEXv%83b# zaI9EcJgfV;HV2QoSzqJv7m1CgrEibKl-0gv(}KoQQem-w3b%K6jtCOHqk%*U(gZ*N z9)_Y=ECO%^R7{i4nCfcUdF$#m7N2S#0RV0qp|)+458hJUcMebp?@|x^woEr|-fh$4 z55D|-s4Y6`N;mW5i5kmZdEb@3obMiPeV4;WT&k)g+R`$3_+^DLdNzFZn6Gj-W+sLo zN;-4ii~Xrl?9i4WW=ebA-N^s|1rDu6ug89;)V5Dy*vxDmIb6P{-8|pPQEe0MHBqnno^Q$2KQxE z8@IYCNg_Tg-1co*kAu}U$aNzi+{GAfLOks`Z&3SG?~O5H1c3m9>tBK~jJoRz zU-q9M+nrpP=MF8sO6=#WA1n$eEF3vQwzjLUGBrljUQ^f8XMO9Ne37I?TKKi1{WTp{ za5X4Op!^+PfG|K}9L1(*@*qmSTez_?th?ByYLLb!6h)Yevv6agDA<%2=Tp*@C{~s( zB*jzU;!!RD07nUlzP6~mNOA%NBEIo5l<(_TrZX5Nzy7}4r?TJ`&`F2;#eL|(9sTaia#T>diIdJe;62P19nba-qr)G?hA8C>uNH~f|EC^90W&XXKWgM1_ywbOk zIt>g>BrN&a3n(^;e00abx?}gP`6%s34@&;*rf&ngBxC%KIaxE&K9u85gY^MCw{9cCDBvksi49Z%wOLyw4of#v`omZfboZkby=vRO zJ9|zq+8oW#XV!c=hm*iti;N+oynj90oGxy1Kgf99k;IH_-tXi)Of{ayvJ?g+0rAUy z+9HW&vU2>tZj~BAsY}rygDYqZjMqy*E<->7d^$&$XrtWWtTfQuv|=45UYVX8Vq+an z$?xelN);Ad0(HZ636D~^yB;{~@hfC9bfC=j+2)1`9Rz7QctuJ8LTC(#U@vN#NwP}f zp+flbZu<`T-a@c#8&)zYqmBf6&KO+IX?a7>+0R!fv^giH&q7~~scHL>-p%7zuf4i; zTa|)h0Y3lI5dJXy_>3F}-fHrC(2mP%d+4ysua^G~ZTX&8yYmFD0#iX=iy?gURb0@Scj?T#! z{m$=DtFYkqq8m=(G7>+0*FLw;&t-fp4J?a`Hyl^paQ7mJe=vwhfDp!%L?|}|JS6A3 zG7&bmJ$ls5`I8mfrHjIT5~l{-Y~Xg`w_zLqw5gm<30`~0pmv`qyMJ zF`i=c3k2Xr{~FVC9D)q1w%$vE001Pha_nYQ1O+^%eTt9AX`EVvNu&S(qN6BjMOtD- z3%xBiBZK$3W7tKMN-WvE>`vH$>Zf}>eho>%7Y`85h88l2P(HJW2mCsUtITb(|aM^O~OxKRq{g0+#`8&Iqu zO@z3(0uc~k3;>8U!C{rrs6s|NZHYPgzQ4C(qiJw}yif!jP{!bN>et?T_c>J;n*#t; z_Gx}=u~E~`dhnqE?9s@JpUaUOM|%rKY~JqjI|c>-@WB$ZD%6;D+Z5&YR)Oq)Eg7pj z5tE%K`0WDMYB2~jThS0Q1%ie+q6-UopA}48G))(kNQkD9jI?`LAjj^sAE@Sg_gXdw(fHKycp}> zOHKrW_Z&)>H;5M_NK=CV03a+O-1M|90E`nhcH6br<(IoFCJKXt4ap4joXO7f6aLuf zxZ$}t zt<}GfbMr;`?mJ_|Bm6hBSj6LIuC!Zz-(dG!301{pmSEBQhS1x^b#o#qbE6HkD=D|i zWETCFPalGL2gn*t43`5w#-Fk#jzQq|5TGaog6LniwbLb0Ng7MN|E4{{%GDOD2p9t> z@)2gM2*U=+9GkLY4+8*TfJ^gn{Xs5AaJo$1Xp-UT%8TPlI_=)?yLB5L zh9NnLHa-4Lbij-IAU7tMG(iiOLmo^Co=}6)&mqvEwAT#UfEtLW+K=3}W}U6Zc=5hN z9%|2aW3xBek7nm(xpn@^R~_lu0xVl*jDCvx_Q^UQtbt%W&QPn(zlHz+04^t?Su8f1 z1Ogc&>iwxXUTWx5NaKrGi`mZi?~S ze$v6%tZe_<%>e*}>S?}2()(>ujimP`R1`WRib`sKhy1+CCKt@sl#{1je)XTNiS4`H z^pSmrHuGd(-CAGAtWU7u(OYf)TS7*&gc+|Rq5(wm8wN{A5PtDS>J(L#$Z!fU$5xEHSyz%6U$~e)=l}p907*naRDUxezWvE67YmC< zJ|JJ)t=?OQfHeM9qg2BUxRN{&NVB0zW^`RzU}EE42l za#y`uxH_3fYcNV|YHP-22JIPN_hV?#bm_p^a$KRi0RY;B+PFa6$p8S<4Ww{CzB8}q z_FXQ8uhWuxcIAKoKKlD%%?(u+6{LQ^7)X=r@u{^IwolItpu3L>K^BR(`?F7X`ix$( z+MAtA_sxhIKSt#^D{uev8rjWnKmBB=Nv*D*7`Z3{yt&wD(n$? z`TjL|;26M?1i%aaWhesxoIJ~e5}ZB#-LE!?*Aro}NGLLb64zzN`JAtyRfF0iQW{< z6f102A)p7^WR_4%oa^%oJ_#2qR9<7}gU38Rt=LBlReB0!i5o_ z2+VzIFo@uGiTdv0rS%r;2LQkVAFfto;3e$y@PN+IMma+x+60o?fcz9iDHEP~-fl+GWdaXYGh{*H9tZ>e4NXNC=w*V{y#1BX3$^(sU1 z%k1Y1+OT=``oazbQ3x!X6#zgKNu#iaSizZCQtIEcAmfk_5`qJ6@UVTCOL0f?x$c4P zUmY}-Lb`P1cq^@2@9RFDBTPE4fJ$H9-*L~y&(xg2Ib0+l-;BvDLDyKDHjsTA3o&{( zmeazBzqb3vs~~MRxCZb2{EoukAY-ifFra zV%^`Twb|$EK7GQ92AA3B!zQQf(uzYt^D?K?znJz#j7EuyQ#pN};MEv;cT!=GtvlVS zi*to*>5exvNDaCQsl2u`|1@B|F0 zGYH0xQaOIYw^Td#(je))zpxYDdh*dwV~DQ)8jT!2?!gP+ERP)R+O%MnYQ=zhJFuTn zbnQ(aXbiMQ30l1xF3ZdvNaY?V()$#~XcKDXB9)HGUSKZkFV4{-=WvpMo->0XwjU>z3+?Ya}6z5kfsU(03etUL|D>vn!>2Ssjyn4Kx4STd91Zs zgA|A;(U~=F!{#g7I9A7y{&K;*nqdBwmR+_HAB+l$y0cOuF z(^(Ino&K)ugBLonIoI5k$4l6uR9tyY2moXp$n+`_rq@Ve97E(*7hI;GcJ6j)yRm2c zTq{|tV@lkK#PlrxvfjszRCvlI?W*XgfW7Ge0I>UjNA`5PeSPb6kSZwTNMWTkKD(3W zbUOH?%_=EvlDx3$=Q4)K9ge`BGlNm&RGiRc74Ea6iz7@XAwE0TwjeqZS?6^biOXe+2 zAs9bKZT|^P_@lOMmwSh$*&>>)eq@H$uhOL2aJd2gx74g$@^MM~yZN8rdPVWYJw3Rz zYgTTX}x757CcodNw#S4GM4SS~~G?YTC4ecAq< zfrq*k<~n<2=8E=Qi~O>drx*fgpLGGFNn#n`ea@9=Z1jmYJig>>n@=^;Es_~XP2uwH zT@n}Y$j=}*K57YLfk zG|M7(=Sh)1x$qVVcW+8;AAWT7a7DeZa!#J{qDP-9)35$Id(_R=HE+JnefZoI?Ve`! zeV%{g1=gt7Vc=LI)2T?9MoGd2UQ!y3A|(n0WHQW~?O+h4D_zeHrv#;?ym~}fT6jat zc{P+?ORr-my*^vGJ-czliDZALTlH>&uw7A&b?+-Civ+9I*>&?$cTEcTAQza_A}7+x zQyG7kgw;COesas4utd6S)~oNBG;vXsw67?twCeX(H)9P8p#pj_7>puF9&f$Z7+(us zyQMJEW)ZsV*i(Bh9L4}|yreUy88mNR1JQysVR(Wt5F%j-kf0*9KA(*SGt!yEBiMj5 zL(gaMco04mf3@!?(py>-SUF9w=-oW0Dx6e z9O%}Gty2=jieH_aMzY;JEVi&tHOWImGwv~%NUaOG+gfFZ-`VW!qL*GXMp!Hos5Kb& z=Ibwe36wb*t6on9lv$sa!GoLgp-3F-{ zmJ(?|NWhqg?l8%4z2)(lQlvLUM$!RWho{fDRL%J8tInA1ZrgX)FDtD+DW<+XWs;TE zAIKD9{aUfuiCp-Gy8Z3P9@ZPeLmO^dQ+gH;uP-uco|#h;cWBMoyJzq}zW1*3qj`^o zZtSeao`8doG?L)q$Zc)k(=VMjomu-K%ey-2GzeR55*7pk6b8`iutWem%ywiXfNE4o z`wx0>h-4fTs62IHO6>8(^BKI)vC3ZEI7uHVPx~pWZ6N?a8Xv!FP=95eCLZxTfww<2 z>F!PXdtpk5DWHt)d)uYOgsX)Cyo8N4ZFg7OtcW|3&Mkg!z9Hu1Sst-00s`oY78iLI zg;gIC*xYE7SppzL&(UI&>NxeuUAZZF`9iCsCu)Da#K+Qb&s0^}>=ntMT?5gAG;xrG zIUwN0D#`9_N(wheiZw@sQ2|>N=@~rII7{1C_uXWAbE|?}M`Uh(?d2gfjbPF(8p{fH z{OUmDI3*-mb}0rep7&g+Ss&7{BN8oE34UAeWMhLMSN2$c{#KStnm!*9!CCGf1-XW`P3d7g6Bl+QD zUh31O=Hz)P+g}fpyZug98m!BBc>8V_4V*0RYTHa}pB;5e%(=zSy<8D}`W%k{0HPu& z@CfLNnZ!rR^;VrW@QcdI;nBmra$*BMz;z%|X?^DH56!jyEy!dDK6q1a%CTx*N-t*o z9~d0uKZisR3qU-y7TH`8QdyI!3(CTYcC9w>%+S(u5oD4pPLIs2kz772w5x63UGM(l zn{_*CxYA=(#&1d&{OiqJl{KzDIaCP$?!p&$&wBlxiqL|hhJSXma|KxXrCGHU0Aix3 zkj@^taNsPf5&HMTqy^ZDMgc+15GQ@lhGx5S=JX~~42O{-g2e)CQjt<~aI zi*Mib(ql(P&bPQZpZwgf_1xF9u)vdAS|Pb2L`AhD`KGnWj2atxX3?`R86vCp1&@lL zz)P+i<9EJ7>y>v1JR$7xF^}q|NtRXsP*Cf}jexJGW%f9B(jA+TRkIfzV}SQx)7vPy z{Now_i#d1Wbd3(ukWg6SB!WCN1>lJjiv)nC(f?E=n9ww;lV;kz*D1ea)E_-QfvLMM zes(+F)FwaE5s_b5`=Qlp3?oOVEU%!c8|qrZywWu=)1*`{d~xo^Ig3812tS|U|4@cN zDJl`6sKiPCvC*N!7$7W^3X6`UQe&fv#KZ)~)gy}LSq2fB1_;w5PN%|zU~IM9ko)Zq zEQ&oBhH}S5Q9{>_tgvh~;*B;GkbAYfv&0#a|{e9MBw&@G&_e!g0s(%0EpMJ7w zeHq`;qbnz+v{Rj#adOC>e}7j&hwbRw%iQ&BnzznvDp##@urz}@etOILPxjf8-}>lO zr>vT`pO%sll}MG%n(?Ml{oE5eV~$l-^6zb)=z1oxuQu!TXI?T!r2T6MM|2cLkW8Lk z-LWwR0Y7J_&U)E#9%oko*c#|Dt`%}tL=iIE6VH5VsWnr5&J#LEe6sAeDYRs+V3f zgv^;=p~~X`0vJD9;dx_zc!^vq%MbzADVDkWfCryF zX>Btvc5S_OU#gB)8iPzl?1Q%Mbk%ydwOR~MJRD;9ytwas)qVeccDtiP2P!-?Q$Oa; z^3`_P?78L1DcSUdd5! zOVc^@_zSa#|2VN%x8h-o{%6z`_+V`}Bs7KK{^=UWsG%}u=Y9|Q@;j@_WU9R9Es_~{ z@)4cctJQCvXPU75DeaoO+O{^1J$STkZq@&NW>J3hPT^f+!p@xhqawAe_B{gQzQ|qU zSFW;a#9ID@7zV*x^FwXtA?f`C<*~NvT!?4Qp>A8EX2Zm>_Q}7jvDZtR%G?40?w?hm z8#lr+`v1o59PnroU17tjt>bc*bzM#VAC*^jwH3F^*F40)gN2k``{r zjWNfn9n9-pcFoF6v-h6;u36=DSO2$~5KDVmh-NaY(Z`y2w@q-c(5`l#~Uuy znAq6pDAKezo6<&Br#Rn=HCD}F`{ro?0G(_H@A`R_Z`SR7_voxUlmox4%ek+HOXQ^2 zJom2LA3FGrmtKg>d-7qOBc_g>i~=P*6vNxE>OHMnFyyHh4D7ofm{cZ{2nsoZM`map zbLT{+ZC4GR_d@x!A1Zh?pGU_Y?Au3C=Y}30FTh)iO(8eSb}yI^dBW#pE`MmJt5Af3 zW%PzE&YHt02w>jRI)_UY_T!u9`W>rj(|5A^t(ZJPWvQ?E#{d9?0Ic2QV*hVux&Gl< zWv$l!RCvEE>&#o8v+1v=YRX@5Vfn$BI4(!VB6{9yCfaC5hL4V>=G>W@9kICkwoiWf z#W?VVg{G@2TL6IAXo_sfjl9AQ4FKQ;IyWIM@JLhId7gfvM{cc+X08`W;a;YDY{hF& zzi14(S_@Z%0G@wR>%4iiddJ=0ws$+gx@we@h4x|G;Lb5yi;WM zvmX2CPd+y#-*#`QIwwy+E*=*z>btl9O}bMb&UvXKY4tist>YV2DlDBW(^Xs7&a=v6 zsVPjr&)NFF93d^0<>La~zoGeX;`ztFTV{*N$f{n4VhZ5(c_EH|{Z$)p{k+vHMqAzL zt%Lk`A%tK6QaOH$LPVrV(^i<~uR z&v))9^Qp9}I`$v(fQ;gM#VEYj$4yfMEABlr^~4G1uN*uiJAxW~9;d3c7_QLJsb>V(uH;Bjn$vfMr}{TY7ttJ@-OnRnA&&DMUrII{fF2X&5?%^J?? z)oC%@caO&T;k!|#Erz!K`dQOMkG@iV>qeuXysAR|+179KEo0SouAUYI4i|x!UN@?C zZ7do3Uc!%WPmMlOr*?s(qte2oh2rV&e`>jugrpCl;HgJ6(5lM49Nb?nPM@aBeIxg# zg)V{dIsWM68R@%{-Y?91MqiecP`^q4o!hh0l0~83^h_S^m{BhKV5wDZcSxXAV0io? zt^LJkw6+hIT2-&UYxb!JI6!4dkekO>P2l+IL{fgMW^};uS5XAmvfZUvFzigPK#$Q7 z{5bvWO=Sg+JD-2WRBeWOhz`RS?}yqFn<>7X_*t7zuf2ppZX^c-tl|natq%0=QQAH;+gf9?!_|lkr(nQ9wee;0$XB;UuJ8E9f+P2S^r=Cc zo_VD{88cGpiESHs@D+6TwmJ)52X;DB%Xgx-%P1l&ySvBc)JNN$9m9#P<_C|sxV`&b z@^k54AazJjK?oqVH3K7uDy{9>${cxY;_|1BH|=$bGEws3z^5HC_7Zi>iU;p?PyKL- zrOqWX0F`mf<*Oa+iBsN|_e|Zl@Uz4tWjS=h^7nEE9CC}kD?=6Q!4oz6pMUKQliuYf zkeoonEn}6Qlok~C%`!Wjzfga9`$V;8>^N=O{G3tqa~wLazlm|1ixW&yGV2R(&OiC~ zqtBGaMijg2nOZV{;5T zv6`QzXEzzVGDlZl=2pFS>u1S-Uwa9I+-T5?02WRMPd({IzcMF{KJ-X#+?~oP?9)4`?{c_0_ckG0lTl%$y z1psKKPMy&$W1t!wDQC}lnWM*? z>fC$*6%>iU^R?fbgg6?84pg}M_LjSyNOAHEld|zq!+`S_zV_?pzFIPI!$(~|>(#xp ztL@)MJoWbXboM+CbLJbgF;Q4MdAxnrC*89h6-d8+y{Y|<-R5RSL8`e8;Twr-W*$D| zOh`_o#U~!p*%D&0V)?HQcyx{hydDBHjbP>sjk8mC?ZH`T;}_XPE?`ahLw38u@D%53 z@4hO%H2VdE)@TeYoBkpKPhidh69oW-p%4rnz)5%At~O(Ze9t@SJ-;|oqI3Pwf8DsE zQvba9NeML1bBgquws8qmTB{aJ^6^uFWuNEd3*fK`aS!#(i(IldwzT#=8jc^Qof|7y zZ4W*8lp)0Pue24KLh$5+8t3q#%JZv^hrjUk-iT}N$qI5~g0Q3ng#J;uf+#xL@uvik z!!?Kw)(;-UNk%U6?`~bpBljQlFTU5ihfGpLg`WIP9FloapD=`{Fi7;Nb6&h`rHusu zhzO(L;Ro~;U&`-XOY)Bfal+Jy_@!IS*XQYzZD@x#UgyT#G?H2JDYO!aNE?O-Ac#b5knK20*_mw%00m4@iJ95 zEqFp0!4=0LK2oP7I*bS#)>mO1J6xvUcgRD%{Dze+EfWX;K-<;~JoUKFj7S^A#r>({M+a=B~n{T(ETKVS?>K@<%D z7Zk3JL5>tYqsje|ZBq^ZYt)Fs-un-_eV($SP+*vHo7S>aG39%Z0AeYFY?|}?+h}8X zkB`1KX)<#J074*CPr>uggqpXgN4%HDCkC82axD=FMSiyR%LJ)U<@6FBKn)IhNQ;xv z(QVASSnQU|kyn9Mf2mPZ0l7=PD;$w{>IRd#fZ z$s4CCwCSBYlv$Upa`-eKwmJ@<@WPS9uB2}!9UV1&b(al+9w!i@6mI<49cN$Mx8K?4 z)LD=0hb3X+_T6sSy30*@y#ywVQ3wy;t0_Kf(!KEXR|y%Fdo|j!;UG;AOpsE;AP2z3 zc8+oRqNcD{lT)~dNUC9+URlyS(X7kN@y#%sdYjsnqfS|sN1~h$i9hyFww;@_a*b8H zbGM5k7v5O0F*MA1I@GjJJLJ7he4qUKduciy8Zfx zgB3-9Fg=F*?$+4aca)bL6Ag#ywhPn?2%A@TE$|k=2cIVAQzy3rv_2enHa>cI> z?YZ+;chM#%GSIyX>+RP|ZjXs(EX9)khlh{#*kf^BbaP*>5Jo5EhnAH2@3z)yu(Yo* zw8q-$Z%!uVFX@+4=RcLVKeDPn|A2Yu2^IkBb>qK$V8*f+UYK956NH-I2%S5yV*4)I!aa0C-a_lbSC1aFg)docl{;Pk z?ANjx1G662m;bI9|IT*4bJJ?U)yR0?GGXcSxBe0t7D^?5^OH?>t(Gkq15BTycHJ>i zNp0Qf5|?~s2{&5_sFWD)yjA5K*k55vm*T&eac=Oz%0)=Szi6L5GITQlY@XBM@6;Eb z&%X^k-d3480?sSoS+`rF^g7BL8%6UiTQHJaq_XXdcIU3L*dr_Uw=Dlh(^Y>5+lH8; z@=ox6xqMYh3BbPMNx8J`Vx9rY9> z$W_QY7cV0OE=@MMF3hUcHsxs?h;9(&fnre*Lf%OJRYqRKsC zjM7pFQ9sYj7`(-wa-aI-&EwtA0Cb<L`Jw(# zY{v+e)ABv5ylL4lhW$@Ym(tFUHf8*X_j%0+Z<#m0!XzNcs5mKtFi>BG}S)$D5h# zuN}=FS6E7Q!y4W6eri{vbv%S=Z}P3?z8#3>wghw+E?lCV_;D0$D(;bQQDwS>8?gsw=|BvTgYU4ux{pFyeymVCX0u~SISDeaM3L8 zgC@A?EwN6r*%J)$%88&P6TBl6I!@NR1mxijU}`TMHKjEW1B6Dd>tbAMw1VOXGb28A&99Jmhbq1nFD1d%1;i}9$2oRdR-M4%T-M*f7`wOIA(gwW zLnkmuH2K8@>qHM=$I?mY8w|{PV0?i7J62oZ#`y= z)hxWP}x<{o?eiKEBB)%m&>yr3 zzKDjt5hQJ4mkOJ$3>sCjzW6Sus?kff%yA#att*de?d+-Ip{PJWfTV{Bq8MAZh3ZJy zl!AcCO{c?J-15P1NE-=YzIcaH>(Mz4-gHu__%Nz_C0006 zeHnRvw^K@2uhuY%bRMs`N{@!l+E&NMLD0Fby$C9^t4r{u7Qg!a+q$Zq7%G@(49G+s zV|mO9fM2^)iwSg5GiD01ljE)rKi6SIlb}t`o2ZTYV8wU4$vA)}NnUh37R-%fa=bXl zg^slzLQREA|LNQifh5gHX#{mZOl1a04Su$&exzYVZ4rubxBMRFk3W?znv)Xs)P38& zHOD8|QI^_!`VB=2(u#0jtdOyzxcL}&YKO)DxKciiv~7TOprzs>fIzKL zxP}vBHV7iE38qtS*H|p$-TOJ}nuf@34vtf5{ve%w%6$UQ1C8R80;CEIBz~k@{~Q~v z>!bj79cSxpIYDU&wVQwad^tbjw-y{9Sq}clE74oSatX1-we8bG;oOOb0L$`tV3ZIH za{tYYYg2Uqacf=7vMw+ z_{lZ!0~6y7yWcK#f=edbIWJRRH`Xfat^2F{Z$O;hlBoMMFLAo)6PqDficF-@fT2Q% z8xUERX2h|i>x{>k7+Q3)t1vFmFpHS)W-gs*MMf~~RBM$0qys8jDS}u;Y5?J2Hh-L` z69lSn4EuZ2ux%Z@Jr`*uH&4hYzJGs@+t$}HFEc((-}W0ix7@q!9VL)gUPzmooAHed@30}qOq95!{ram8W0w7i&H!TbzuX1|YD(xf3? z`vO#0&P;LIOFqRs?rU{3b9g|J97t`N?hEpc@wUrvP_n+C1H&^Y#In+pNw|{H6l+=O zJt!?wgd>i>tBG2wym+Lr^@fC(oq$hmkc5-d@2?esDi~W4(Mbz7K?4J$z!^qFE1G3t zgN_kau=L{>}jtDOH$GqTM-ZT>drR5})m3NgES}ka>?P7|OTGj~) zZ7L?xp$Eh}6C~_hgfgk5iUv`@BCPfzDzR)xVERN@B8^o1HxCBM64}T#&WCOynC@7WqrfGdM(J&~aP`-O%LQ!Eg)!y~oh|d!1y%<*bb`$H2 zDB;m4qUhA-NuxVfWJNxyt3vN{!DO{UiEd`HfVBJkl3IEf8j^` zp&d^md9Vb7D0Eft;RQV;^%*zr&#q^O~&V2i(6K-j5uW0$p9*4pcSF%SX`=3KV6 zj3s6EVtd951f&{D_C2bf0FhKRp5)sN2dNL@@7oK55F#9BkymatVSt2jL;zzY3DCOv zz)hk}>RrUT+jz^9abR}nWH5svU{yS@rla~{P|c+7J1PZC*aiNPDGk;1&Az4416RR~ zOxYxQa^miVyD<=|Md*+{Sxz|kBQ3+3c$O4U->#-^tp>O?R^DRB-43C$k0*&m7}~c? zNMd?fG^1rq1q(Wy!6S%kO9_Fn(w#|c(e_Ws z6NN{^ZIM?wV2cq0&fuZVM~6f%C!!YF%AWePfCf$mK}vnebWyFi`k%~_rZE`mz?w%9 zfHuqi7+ZNXo>UQVmIgULkZ@2EQ9JN98~L_~puP^8E6iToLlR*;Sb9p*URl$EylN}s zLYjJh!TKtrBDlNn%T0?wRrNLKo8yhttrAMrBsmjvOWKIC2uye|tbgYf=WXq6PmEE< z*ENs^?PWIFbybLvgAxv+86x;4=5KOTo!dUs@1V*&qjD@($IoVIq|ZmB=6BPr&wR%y zr?OO#;NtM%pDaErJ?aN7yu-iGyfEVxz=EY9Ebw*e+umOy(jGKvY3fQ8kK@GUArfk^ z7^n?Vz*@<=H@yJEVT&3)yN1K3L3v^NxWXu+?qbdCwRJQYv%hH~AwWq;jAT)iIsEC1 zp@sN&`8cY2*#9Yv7k4R+n3)Ajfk0){=GReTD9gr^WqVJ0W0~3!p-uk?J zSGpVVwr1V!4M|t?6G`^uf<;Q6rbf)EkMS%~r4J{WX(LJIRHT_rgkbu%40tYjCe`5y zH6a9cQN^0Ic!W`A#Z|R94dX7_9gGC_8$u}#5?O@Bq^)Q`#zksmC?oxML?pnO#J{%C zz3M|yga_bdVNnpGQ03EsZ$N2H!DGSC{!zIDiAp`kyBJ5ndfZ1WVcwlp#h!y6gl+a8 zw^~LHXo4e>XdrWV&I567b))#eA&a2XND3sWL_{f^ZHdHtk}*rh`6 zcqPo?!yaXZ;ztzDC3|*&C4<}Y)|YRfpDT~8hTgRNG9*LN1&J{$sI}ABv6&+iD+)!$ ztGvia*v|12SB_=gYMSw#S=q#1B^zt?#`7HbWvqrKT$FOE%I*ate7ws+%Y|b8Q?U#~ z&n^Jb*U~$$oqBII5h8)UhN+wpSDbxfY#H*0XRz9^;@>&;+nUJ2myWC42yjgdE@@dg zII;*f@Vzk++b|D(C5HEw)O_%b3FOWhj*^q#o_Wa z8k7_y;#x0Rj~~EQ@D6-ZHYCEavZIukN)n7y5F=-b1#$-E^N|m(sk(5s*b>`9I9@wn zTQHoY%$VRxyQs0c=vApW8uoR{>j90mw`)iW}zzwK;l(h=g` z0-Qi(z~n*~9J1D7^hb~^is(!uBNMpMfhxWZG{1@GOb|Rse5`lN zliq0CoU+=!T;vJ<>m{fDVL@I;)n*-?nj)_0eL9$S2{x(P);~i_b^^UM+rzaCp8yAf_bhP87ND`!- zqKlyzIu?zM?Z$bF^yd`W&T@{3=WGklMM~Q3WYz^8V#~}o%Vn25_#AA+Z0^qz%_CU?;ZQ*jJ7@#>ms&Zc;2_;?JuC-w z;vrfu#sP0i&&@vIO!4xF5x*0e8eD2q{XHFY+>QrZwoEpeY!SVoj`)+z8Z6QcI&97x znfBGpSGc04&#z)H1Z;shMsWpTsxAtK?D6pA)K~@sztE|MG|mweL~Zagw*#nlSYNlN zUvFgtgk&gI`;8NX+G%Dro|a$lPaDMkPnRC;h4nFm$QwzsEs4aRBUy-&9F%hhWg&l2 zHF)(BAnlb&_fMabh;)N-Vi+p#Trq@%)HjGyyik;3b%DJ_4AKg4u_R_e+VNC z3C7sS{!nUaAol9ZY%+WPT;rD$(C9OG_Rw4Y(QI;Uu%Nn?htS}mEh7|i+RH#|D9U?5 z>x`U60!6B*hz)KY=6mhlQl_f{wbJBfP_weh%il=-tCS)lV$-0*b1r@62--etGtV#o zU+0N$$~W=%$i}VfapO9cTblO1^1fkq>UKGy8gfl;@F2tMXI)t&iHi3A5E!_45ZxTZ z3le2T;jC>*z&d|#T0?-Lf;kwk4`?<0>#ahKOfbM9PqoE? za%NMDt>E)Eqj2I&{~A9+GqfgS;Q&$^-|xK+3QA#$r0x%Kaf@?m@}GVAOL79~WwHP1 z{q<59(Vg7@+mrLwAp(_#Jn8;lZTgqX^Pi?o)+@h}io3Tb|M$^inB4TNQx@Wk`^87Z zG=Vf*Blw$l0l+1xHpMXY0R~LE^I!#4u#~#ub|ph!!Akj*OVWJ&o1kAYq6YsY`QclrR2T0efZY+!pb*7Fa*kcp_) zdzgOG?GKk4c-D2ltc!1b_DTKC-#L|JxnzjCDCY&z+u23jsQR}=UWKnr#IuI zh@sF}-ND+@C>evt=ny~BHO(UHf{d_mJQ2~U`AF>AnI_8)47|3od!N$C3sBd)!p+dR{}d(RaoOeaOx&G;0o{Uhldh zM_wBb5xWF_>_CK%BRss8VxFRiJ1kkm&)A{!Ye->3y ztWMs757p5_V_mL0Y6U9?>%W1lR$!i<&A|S-kHq{7e2-~d$vAEym%R-1h9Za@46Wg^ zC`OiV$|aJ48)F3;9#y&I=Kp~$jaJJ9QU}UdPqUT)Vgl6_^^23Qc>dSby7}{Yo6mC| znUFHb^X6YSnkeTlkAQn__Q$__Sw)8Pi2dSI?I1d^davQ--d}(+|b)){b<% zq{TeD)0hruO#sQ!f>ni^5XikdQ1DyUEBHel`P+@|;ivSf@f23q6)Fv~oTn8;M z&hZtrnV^QOvJV!1WWt`ZvKa{~EDc(E(OM zySF2`jm`8VDG>9WxLR~683u9I>SGv!c0Id{fDjkBQNUnV3g7KL44)jHD*b`BMBWO|`0FiezR_HCC;oaIzh=?%S4IJ6*ENIUt87VOz3rQZY((q> z*IbA!%6pbibaMI6!g`VdYtWm223E16J6D-aRfB)t(!g9ss?31A0bk}?8p4QLrCrYn z=kcE<V3y}#I&lBCfEU`}~W$N1mo)YMv5 zrL@29OjIlv4~h`RslHGn6kXnaI%xp6-bFF!rH0!%I%j)w@Eh*<>AN_Hz5k4%!}A)U zk->6e^*;$$UZbh<%zA4%ng=e&v^K!7K>~Z5+wgzC2Ekd9J-f`WxUF3~1Uxe6XgGZT zW%8Whk|lZ=Z7%qFFo(Eu6v_f?K#?HbH;H! z8x@~6i>|lk`+v{W-(ImpO_&o74-jfJt(gnGFu~M^uOt5K6%tZ>yj8R;eUvaDp3lnC zxZ;1^fw)Px)ieNHY!Em&j+Shy8rR&=0P?~OHqyVr3$P1AI>df!C9q*ggw*6R+SIjb zY=So2)!yl2vM`dS$Rjz736T!~WAxZ=OSYEb0^k8ig^y)jkLjE_pZ*Jd58hG)f)OO} zkB6Ednm32mA04TalAv~%E`j}0gN@bHKm8sxAD1$*Cfb${>-|a^BHRMQ1uc#6sGoo4 zFaqTiAaw|3>a+0^mIQpn$vKZn(V2b%Zw_WH1F#!=68dq~=i7VN7z;u?cq*&Z;^A{W z&l7J4F3(0S*_G55q@qkVU;o}uQjMq?{-&$ji@NCiEU`!q% zO5QJ{%`C8X9gKyYkIVfDw5xm;_IAXw+ONqOy>zg-f~<-fl@G_q4`hNhp`Dv&s_!T4 zSQA{qqZ}h@y4{hw;gu~?DKhRMwE-a%C#Rf9X_VWd>E4?id0otYk;1WsY^B1M-*7-= z%I>?|#8hiA`*XvRA(j%%IPuE?0Rb??pm!>G;Zs{51Dd11^x*UiXxw-VLwcRe(MyQjMKIzSN>z5m#Qg2YEG z>KmA1d&fW`d{xaZVE!kfk>4#^Aq$?;-(NJfxKj+zWC{5|eQK}2(6>2!t~=(%!*Zat zNh`=eCTQEXyMBcOOM)T0c63urntq;jYAvUfO);~ZyFK2Ze)`w5foTMPaOAPopU*%f z99*@fnk(YQ(NZgHAZV|nnI|rEp>aBb3h5c%nufn|bpO~Q9YfWQq|Mkge%W0~spK=V zE2@cCHDpW$2wvpQpuLZw&5McF*7^G=;f*qfLbAPxG*W7?ql%Gb3S^XAcSR9Nt1fW3 z1r4HKdm~Z){qHPo0MvDh*;WS_bjTk#{$gNBX2GEdOmJvFnE&=V*yZ!Tb3$_pocds1 za-(F4Jtz{Y_W_3yqg&R$dCNX!js*dEx zmAa^^zj8&PeZHs+UP(2^I19xLR1u6Dy)g%Yi7{V_CK7&r@~M zO8iL-yGijgc-v_(9Dc(n)*co3a$Ebzr~Q4UiJ6h^?<5N+1_wtd+1us>`wR-kXyPBS zGn+4EbB(cteCB3K)7s0w6na2B#EE5hYcQ;P#7b_~BbVNl)641V{*jJ)1$8z^1qIf_ z?)J)V)p_#;)3mA9&5yE_mb_Up#!ZlKhHtEnE=&<@7i}uegK5rw)LfKJfOETK5D6Mm z2V>V&fjHDIRO1D0o-jM|bb|W-wE*^DJPE6=XPmMdM%A=H*GPFNicwl(EgTBp^^dLX z-m26eT#w%atEdZ$|CvEVOPd3QSD2iVwOp!vWZS>NU5Y~(59}B}`>r>MhaexUUvl2A z=t@vr3R+DZA77`;g+*66K_861))6%`6>^Gj~ey_H?8<(L$%=p)5%O-DmHpc&J|U)K^|G<3eRyv>yE z>XguM@NJG*Fsrd+8?;-h z`G8zyx*$!Mw+#b3Dt!|KGPUU2R_d!KR4;4!_;=fKM<5Y$tfU)->%N>wI5nbs+`1C_ z*O=iUB?1@3YAQ}@3P#C+wuJ2p#wwg@Azf==p1S(*f4U53$^(C7HYqcffU%P*l0OJ1 zqXgQMkoFqp!riBhe(CX@`b<2_ca7--kZegEpX0r_1Lf=RAOSNmP|sZI9adFli^E?v z#{g@TdH+wMcZCnjC`_6ZuEQkgp|oTni!ufWwQRdei4AFSFim0OW}f_GwNF|u1C}U0 z?&(mZ@;`!h-(sfv=2W<;_AT`lg38Rq(8ME2dz%Q`$s1#G@~-aAY@nA$v%A`kyIM70 zjv6tT#Uit=YOOCK1IgHP&5Horc`jgn)d&1=QPA9|u#yoGa=PeXHzbo^OvhUJ&Mv(m zwNKvt-7N7b(jhQv21@yf?nhL@7f%fx=|1do?2PO^GJsdQ+baP-N9gOR;AvU&o6oQLr>A>+UX5iySXLJ^F-*#a}M%tXq!* zGGkD{ql&(Jv-WV4E-&BUPG2%WM8pFpCZPp;dFhqBEud0a6$M3k>?<);cFbpZ(E%~^ zQ=phSFp4ELpxWJ37Gaz$B7N=SZ+w6$H;ds!P10fM692kivFi@lg*C2odno(zEWEAa zPbM0Xn_aB+;{|MpB*w{4v4 z4OEJT@7(h$c+`IdAW=#$tNfX$S(Kg$!?jaV2HAXFh9d6qkB>(#$5B%0svkNUsaIWT za+ec}<}b>WmBmM}yG-y?=C&`GI4)}H9x9^urfjQI87fJ3?;ucNckESgnhLoP{s zC8xuluj^u{=$wd7b1QUk}O8tBOq!Z9>;><%=!70%!I&)xB z-1U7$zmD@?SQm>?06slWA5CJEYonCGelwv89~D7j&2Qu|v$;7|NS=NBA7>D(TjES? zfyim#!X+xXzhWc~2&hc^^ImR||1fitPO#B6N|7?T61C;E6#@wAKWBXDR{1#oxLJuguGS{N8HX?klJD9u!dNeBB~%D+l4X-f)x!uH!&tW_~a z+7PJh@Oe*Wxh^b>yA*v;;{IpNp9BhP|Ffvt{!;V}y1eABy?5wm@n79ov+?5Xi%X!) z1+nv>?(&&vuMdbDh3uEZ-yIW`aL>0GU}bo{a7+#r)=_495U7YY+i*vOf>^j9D^2ws zNCq9}k)@5uxOz_H*G}*@_J#t@fKpArv;? zlCYyu%9vfOy+q6-qxEW}nC{c)Isn)X!0N|n=lz*PZ8T5^%v!7pVCJtjy|l%07phrv zl|YH5cCN^m8>^e(*q0bnw*#r>@kh_mgGiJ*l0`$_sMgJ4Wz>XyoPY{&<>~c48(Z|Z z0>lw(_XZQQ>SSJ=!L;YVl06BeU(R><5DWgI>6gcApuAl3M+%1+12s+0e2)TbrQDk; zz8}kM=W7vsy)~cGlhl(cumF0h%aMa*T>r$m%SXl(LQ)ip9^#A)e270!ID`xDsfs$)p{JccQQUFUs* zl%c9|7BF>G{K13&l8`z};b3DdUzdsTa{89H!A~FfE1W<2BbQET8cr_GhvX8}S-T1O z`!9tt&sNbSq&Vgz`Rg6Q`|x(b?o;fbQB?8^r^*SDqV;)9hu2@VlPQrVMXb9P+wp?- zeZHmVO6`OR+gZ0{rQ{wWk8L@1)OaRp6g1jX@|M}@hv*dI`tHgevcGU z5cYyS&(Y*9;T|eR9U$fRQI&fAZ0MckVShM}(%}@A5M6s-4vYRR@%t`jojz1|IrBL= z?v7I$d&cx{OsAJu^Kd?~?w&CS&@DD*Vy@zpXsH-*skcAIH3&GK{r&zjIxG#@UPjW{ zBDUd(5Vpv~dtbwipT(5{khZb6i}R2l4THEMDTAjcs@2qTiv7sSoo0V#=C%x+F#ggD zOl&#Ah3cNXyHnSn)T((+r%p|dXB+Vwt5^T}*PStuPV4bu%*~%l(Kv8hvcp66vLp=#tS%(~kd4>NMXXg^rsUr>kItcnKbX#3%m4-Dg*D>q z%tS)i4Qi!ScgV@3HFj2t@n6{I_7-F5e;WPtI9sE#c^FtvB2_^^Dwp2Ojx98aaXTx} z!ozOoooRpii^_Xqg92ZOHnJXES=bDJqV3PY>>+bb!AUK5S>b2oF#uSjbShJd^-P0a zsioEpBLom$hpOcV%iKP}CJ8>UPYW752QG%@><)`jujih_2W2~0$Q@d#qbMn3c;i+a z2gca_BXN$R=1X%)P<6GQ8i3{3#GV8HUY@Kxo-W2e&FJZt&L>i_>am<3;(KCQa#r`~ zji59({=N)6rMPqG$mq;nu@lAPRt*11MR*giSIh&+vhl_Bz+&L0&2*y-=BsYYx7k2GfV2FP}`LHf~Z2Xv{Gpgoy`<|ID!F zh_h&R_@FldCeQBdBtTCaw1yo1j4_}O$##lz55E)hs+$2`$1E3oiW$hel69^BYowquQT5`oxC}=@!#sX6lv)8;xYZA?{#a_&U24D_%%Js65 zttqm2)qQ+#zGk`Fr9Dke28LvDJ`<&fW%{r~Yln~Nr>Ini}2K5mjYtEyiR zxY^R>b-(Y~O+1F$7|A|2_~wDJk`WEBy_NXjq8ND^PKxq?#^%+PI?aQD0xfjArF4$q$7auu(Z_)89QQ zs8c3pDiA;NNIV4FPEXY9YNDlx;g10ISb|2CEavd;IjwH79c7EC*O_yOup59LuH}wS zhOByqZk@;3p1lhnz^tw6*yi@7kxKyABgJaI1&~?bK?ic>UvE~zMBxU_D??lSxPf{L zdq>cKw(0>XzJ}j9jMV4=rt!#C+YFtCKkx^_jU{ZvUco-UXgKG|>DQx1X zEmNkg?ybM-M<_OnzDZLIrjEo=JuGMAz3+{Ihf18Yh554X%hzztKaEsl z%fRR<&DJe@zF^yaNrX{mauL_ZaX;}E{T(_LsTT%Z%2aQ8<@5L>brexiFiud*$xDT# zR{ue^)w3MI?XkbH&d?AmN|%#>;l_g#%S8^|ipEcs z$Q@pz)3Y03=KfQSn>gRJTjSX*X>d1E*a!!~V4}{m}OUDaiY!U zLqO(|{P%-w8eF(CM?VSRO{M9ca6Ex{u#1HZbJHbAb(X8U_6{&cl2yL1Q5nrZXj)u0 zknli!Li3|Ah%@v2j1KVRc752<)1CMkU`ur=w>Ca;DQx#IZ|c?jEnc#fjNV{(G~MRI z+`7>^x=D^h=sbS^;@bZq%uU(v%&I;fdemQcG37kU%}&gkyN0F5*0XNhb(}lbH-*5O zb!@FUF?JUn8FmArnBLkAf3m4kLDPQYR(6a3VqW`R8$2cZ{c7qwuio-a8!kYWrNq{n}m0T*!XHe!V|C~M~-be&fod~VyER+HmP>u0zZ%{hBb#Fc!- z&Ly06h@b0J3u_5&7~2>k6f@s_fxJhq?;#-q8rm28jOaIIUcf1mO;#_i#h8e_5+sw?8oyNKAV&tL8L zH-$Q>;*O*ADf=lyw|PjSR$^%F#`T(Qw}<-kHp@D)(ayiOfRL5)%f$vdMn}(phTCE^*u6?u%VP3DxG!!!((~mV zqx50OYHEW%c0^jsQVmnvd(^b-KvV)C4I5HZRz9qz(tW`uF2DK1OL2etE-y7EiH+hR z!XwvhZ12>9M$dV5M#XHo*sT4^_i*g}-t-UYRKTAuAIWN*cDG8Vmd^c~?Vtr(IL6#! z=Ls9WFxy_qi{m9L_t#WS9$BKU34N_}%4YMF#u^pOro?~pDin@M*#%`y+m)^ThMgcq_R%uqvNs4{#vGv`t`oAht14J z;i&q%qRg#Ft<7u^LVJE_8L<{JfK7m&U%o3N)rwviQ6l;{u)#J6Q&xJLI3 z=QYNumtC2fftHA%>0!lfaqHp=*bm5ln2@wrz3_ndTATBAc|}u#B4n8HOq0FSnx_3r z&Z1eL(sr8GPN$OAn)02r6b21IBcZ==M$NKZO(@K%*=?A9{W-}e$swwj^Rssya|UXy z_vUpmt-P>aeGdPc$IMS2yp+%O<88t++kyJPHiEWIPZuZ|O7ScU@Ts!iJFy~<~z zp(c@aWntHV7y6;*~0ULC( zS800rdV|Waj@QStS1#C!>1B;-DafBbAW(slc}+CxS2g4IboxBzCyR(%*<)ru81;51 zad5akPM+527WMI~b#B~rq_=-2OHh!64V^67w7D_VwrJ=&cgU8jz-2Ya=y04xF_`Wq zVTglq4weJmRn^hdShKO9MPzd($127QhHuFs!YMDygzFZ11br} zr2=iObd|4%B~kZO-bESKjie2Y#S(gkr2H#1NJjOts=sd8ux0r$(yk9rgC{}BJLUuG zZyJ0KY6!)CLQ!0`oG?Lwpm==yKEI1&FoRs28Lu8&w0}C42*!QhCOsr#0z4 z9KBCrB16 zbAfrJI!R8k9kv~Rdy6`RO?w2sJ#ifyFsZ-B36j58o-fPie7~Pc@02+1q-93zD6eDO9i`bAzXb5F8vIm0Jz7K`yanz;sg zn>=7o^WTXDc-i^w^ehht2p(6tV18w=x;1e+aM{$5Q=s|_^22Um!0T2M6iQBAFUWEC zW&KTrB`J1n|25_zYL64UDkei7BzrMvM3cztS*+ZX{KdHpW90um`XN!95T_1|#BXFh zUz%1l-L63swa|zo{9NeSd?dhOG52)EEdT*|*LN-PLFva}hYH$}nru=?R zRrN1hGoMm=VM;HqZnwK{gsv7=SlNG-+9{FR(f2D5b)S@8ib>3lPZXIMb}SGFCchzr zUkG7!_efBjn=wqa#bZZDWij&*2>JsIb1(>CM%@Gci8BBfNHFDjSG{SxecJQhFO42A zsQrC9#f*N#r`2TsATBCqYK#9xp4H}bFb*ZIRQc&3@9 z?PjaDkR_7wYi(j!U8%F4>JjWR?s;CfVNFjrG^7t_jepc|44=>eg=nWS5Wtdyni}7! zOI55FX1#xdS;+VAiU$FXYLMd0-a+FepqzVppo*NFqTM|#xBnLfwTnGD*VgY;cYSOaF(rg(LT04HRdOY1gMne)W) zp-+e+Xn=Uvpm8OfO&|BXyAN3R9DTw>M})I{%3cL^dr1_SJrt=OG}PN>T=ve6IUKZ% zn9wKYkM+%@V1}S7y*w#V7+@&5&{fFUV5xMP?@P^Kc8T!s=J17H4+)q@%a}7%O}m7R zrrAid?={a^b#42Y4>Uf2N!`zD@Q&Df>T^0kub!W%efck|#Rxd|)SO*=!`B2izrL4a z?Jy9O+j{t0$NIONB@~C!!SXUodTS2E;I*@ZBOqXPjg{8c;jJL2PjU+SRtS}xw^xT@ zwvl2GuWpV$5(*Na7!47ASb3Q0)4rdUzY{f^H@V#?BW`R8@>(N=*R}&2-5w+o@;4fd zwpUBqS>Bd``y>O7ncpGznkW~Kl)u^}Yq|@8EJvllVzqrY{1D6MS9V~=eY?a3FJ_G0 zrCHvqb(jwM5;M%_g9*5>Cq4W&jnVBF=>m_+gZe2l!F9=)^a@bV7#Lb35Y%MG6poRk z_a2zzy8bghV&$a2aZjBk>ux@KwEQDG$#6iZ{wvT;&*-H2MlfF#b;d-X>)3bAH@* z0No5SM|KvW@9c%YTy8O{>NUu;R&dZ-Sl*@ti*%EAQDe?UVsB(YvSON=0+$H&8Q{Tv zf&bEH52mrYh;bPF7X^7%h-TnG!jW}R#JPCe^#gKkU&-V6tR}aXP~I9gsbqrQ-}Am- zgmZJl_WvaOhPzt{)D?z><3_`DhH%CWR1*P}2iKqznsQ8b=^0-oK5D3)iNP)4&oQoC7Svq4|^A{)TGGzgVdR%3wj_rp%G;-%L%{hiDnDxfr% z`p{y#Vt141;N37t^=ojMD3ZkRCsv)~{`R7RUsvO9(%0?xSKX#5{|-=;A%4g4`i_OB zAFh=O)E+eVi^4QRJIT_H$U`F)?3X^D(dEsCZ4FrUU z{^M;yPIDO3C9m**fc>AOEGq2ACoyk!5O3YeXs)_diXv_ExNJj+v(Qe0%ZzAfnSj}-!W_Bm0Ptua zyZwlYAJ-~#3DjjWE&>OYju0E1qj@jAmIR1 z6;fdX+I1=Y-pN8Wuxo#y(^U%Lwz|a8wL;w>6q@xRE zj#Yq2TqEBw-QuVST0V)8(JWQ5Q(ncQaY)igIDUc_&|suNf+}eYf@ow+;Kx`jp;!il zPA2@J*)Jcz!xjuaDU{raLqz-Xk}`n6YEF)bomYxt5U?zdxB|&_>sju3X|TY-S*ZUY za(^(L#lHs9^R<3Y_}_vQq5%fALEo~+h)w|_;Z-WvDW;XdDiG8VIO~`yy?;atMAbKT zS3jLm#R`Dio`UALt-M5kpdMiTXy8Y{YmQ>OziRxM3(F3S^U9S)Tn$(557L|XE2 z%)w3U_smLyNZrwAuE~~;34`MmY6OL&2?l_B48={sEX}oGl$5aiS?XadFuCL(2n=^o zqv0@_`-u#_y)$yElmrkhi;mB!f4V;Iz<+?IE4NS<0h`-7EIm;LX;53jDZ^xgLJ@!> z@qQqH;wo@QT7Vvy|llO)=|DwfvNicq5z>OY`l&Gm7 z5m{;q6*1sY>-R)F-DR)rr@>$9$F5u~MO53fclQ^fH?OmLVlxd2fj!6dOvXdcDz~~f zlg$riHWDor-Oqc6#*J#+(M#TAgbHCWKY>H#W%ujjK`_Nq=jon32X z>y;G}jMIQHf5`l~;gIKt&D?7`SX20@CZuH!TaR;N1d5?B#6c;_(-`GSwAdEi%}DLM zv~T?EjieyEFbdF-B{ROf3~i)}D8>*S7r`0zCDlM3NX~|$?}x$BFX|nhHx?>#63YLV zXHjQhD&`OYme*tK5#K8i1c^LtOgtTNMH13U_M`1Ha5ET!*DLbmiMfDvz{n>MT~FBk zI*?y#r=pc)&Kb1m5KL+iG9m0yl{PXk87)ZVC!Y!nsm$2#_+VI4$RB};hY88Bq_`mo z$$K<3KS+>ZlasMfha)iLBLh+P>LUCQVmr_<9_kV9B0F|m97hxxztO}@fl3o={EUjP zE=$L<3^GS88AK_uf-MmzvV;Q-4JtwHV}pu9f{ECL1lC;_fP%)N8vl#11d&t4D4?dF zgCT`0)U)9?6e5Xge+tO|KgPZRy0T?!H@2;gZQC8&HaoVRj&0kvZQHiZj?*uF&OP_t z`@iwV_%~P0`AyU;?AldptwI=r0L1U{1<*${L_|QM_YGk{0tg3+q>mP+rl;Pc2mpnQ zbOXurWk5oJ@DC9vz(5E9Kq5zjB!~df$N|;XjOTw%h>)+R@nBk=E79^77ld{W|L}uWtW*XRdZ8 zN%4X!>x-!U7HLlBG*X$O%*=1_Qi4dV#J!;6x_2yZZ8mSP>v);~!~!>@@p&awK`gr-g#Z?2D>oY!71cg5(gtwLbjjJ1d> zGq=jXT)ZDjKP-m1pe&+20PUjaZ(>{y0IJs&(2Md9ZK~XpZb?4~uP= zXt1B{?d_kNCDEhiIW%bDfYqoF*g#XTA%nS6h5$4pVE14ey4V9XtPcXp?-&&kamXud zF-j(|Hv%$cw0^jtxd)7c6-%)jq=mZ8p{Gl5#OWm z@sJ=lRv@ea#u0Faoe}5BGgxyFC_9WP=^{cH`l!ru;QP!0FH#G&f7`p=_NslyChj@0 z(?jLRg3kzGk_4$#(+A0orQYd;hBPn$Ks$sa0!x=%12sl5r(&V|QtNnu zV|3puTZz5HjS@jlc`#HVp)C*`mWk!-63ksax`Q6#ZhA$M2;XxnaXQt5D%a_-pwsK) zFWYOhP6-^KQ$tCRP$HJf%zzUCZ(qI7EG#{=x z7FZ?;i;jdRAgjKYj}6po`Us{_{GH3_`!J8lj?0LVqW{)%F;oB1v*d|opY%4KHItV- zeDmz5ZTk769QL(*LA)8y2C2t@bUDS`>8Guxl*JzFI-d2sJPi|xF>Sz3JB&et&=6&X zL7>G*QQ7`h4Id^$;97+3jsR*qZ=GM^Sfv+I52tH#OLFB6uIxkSuJ)dLQ@;o68rC&Q zO@~HEGJ8=aLUwdxCqu`8nN{GE(l+`QFFET(%S_R^nwS!LMGn?5lO%$gcMy4K4t=Q} z;dEoq_W;=iY|VFk)5108J)SFdp+}p$k|4>;AA^-g^4{f7jQkQ0LclmvaGW)Or*pw; z)=Gv%!PTTH4Wh`EF|rmcypFv;@?6>?f`uU_Nb~lI!}t3B@$~HzlB<6o1*t|mNI-6yBsX?h<@;x%8MB%P2^j`nBcv$(oYEwW{McpADwts$2f(`iXl5`N^9;C6X&&-tj)wqny=hmz70z^`Jxrq)N^|59ejkXIxkueeYE1wEwSzwm) zn;gEmU3B0%m*lT6A6i>Uq+aNiOV%~UO9m?h114OlL>hb3I)bf~ierlUY8C=T+)k&C zXXa7n^*atfuW?lFKJ7~3VF}8ADEY^!ip^2LPhs$Cm*B!dc$6B2UhQiDX+snw={H5# zokam8AG@r4l6su*aDqd^`Jx8unhwO`+i%=^@(cQ{_*TRqmz$-`(Iov)8>^FX8DY51 z95coYl;jAr+tD2H^Cv6~ODz9P3(_oiA`f9^a_df=T#4X>C32D|Mtbfel_2u`tz(W7 zEnunl2twDvLceO#$<11wqmNIFGmhe{{uud2Wr=ChlA;xhywgK<%#T^1_Y;a6Bx7%L z6C}=#GzjJeS!IYi?7V9O`Y=2Nb@{*u0V}j5u{05*7SPvldW)xa$7^@U70e4zL(I2? z247$y5rJSaIaVI14;0MG1y*o#9F{*PaK}D;rucACXUosAXfxH>bnT7)lJy>|9geE4 zC-|q z?)>n8Qn6#Z!Dx_L;Tzh56Qz57he2uJBx$HKTGYBpm$e5`rLp`BgXH(Tv3HxKAgU)@ zqRUg)7WZ|*^_GswctukFa-yy#g?P=7>VWV}?(>m)b$b)^yNdMZZT}II@dX9KM_|HQ z^@@#*fuCvnnqhe_>t2n&ipS7@8ZR2eD!a`8SXc^b*U<%U3vFxyj7}5Y<3iPCtG(jS zqN!wZe)=4j(NQ;#^qNeP^w85yr`!PITi0;5>Ye`9Ejc&E<(%Jy#>vdS8bhuYyTRS# zg~2a)T##4Isg z&vZkIZ=z%j%4)w->Pnf-2W>k{)^lH&hgxIRQ@5HIz^_6{o>wGd3EhzLs{XYq(Hq3oFlJtDO)Cf=@xF5=58i(CcH*zaJ&%Q z>oF_+#5L9oMU~H}JhiyJ|DfJH@5TTWj(&9co~Ml-FtHTT!{Y1K8%62?^`?NsbX8KJ z#Jdh)VtLg7tvInxcSclk>A%y?Q{|#!Qc1ALM;ZZNCS=3pX(g>pLx~9?PErORbKyio z8VUw5A90=`V7TsVelffl!%b1eq#9B|7| zTha|t?68MuSgKJo5$DqV9;-7)EK5)Ke^_ue3Rkvv<&kLSwZd-KC^sokH$7^+IbPcj zsb>~?nrgDoi!&#(Al@i@ABuT+Fw5S8$IL5x!>R-`sp>_p8uMef2$K6MMpC8gg5f6U zs30kC=-m^vz6=*KHJw%xJjm(<49C1&pNQFueLT_U=)`|(hmky_Psk2}3-4EThqP6> zAhz2m@hSTj+N~Rn#&a4+V8EnVhDL{ThtQY$5ZK@>(q26=em9R!5) zVnvN8u$y~`u%Osa3=EC(h|veLe`Wh9j}oJb*BHqwO7p;BojWZK?IojmqG*vjy-Khv ze)IJsec>ECvC_~TkFFmfL@u=u5@_T}j@5v0G8*(@zZLJBB7128?K~W+G-hb;Mch|S zM`WYRwbj$L_ z6_!sF=Eh%gV}TUC6wqn#0Eg+#4~hGOI$<&R-LRyS6PnMI4*mYN{B+e|%Vo9pxu*2@ zPMs@eEe9#>{gP#q|H5U89b%5QVzt9Y{}d<~DKbcV+?;V2w*Z;<&Rh<>o4&Cm?!8@p zMi)t>!rD-D%K+ODV4H#p(U|Aio+{9GylR7PnA)=(aQ}neg>V?uPcOrl?YeB$V%6jA zij(aJ)AU}+Ri>kOvmxg)%y=C=sc6_@*k-)y5m&tIU8n-x={=tmV``oJrb<-xcgrNU z7yVqf^TMOb;t9?CPFgheH#G5pm995v=T!lN{SO8kl-W`6*50RD1&Vi~eWg5!X;7K2 ztf3Jyn+#2r!Zrps&a!U(4j8f~{ee9f z5o*}hMC#+|nC5&HM5>2~z)d>JNhMRXJgVy>WFoFkbzUt7<%vu7Qc!6Ses!uv^B1?r zi~Zp8^XB4YCsI}5Z9yRE#<1+Q^$ty#Ecmz5vs}~*rsbnozVU1bBNAq(^vIlSZc7XE+Cs!7QfLh@NZI7v2M@iPq&6% zIRK)f-?u;O`Oa$Ksg1Ll?+{%$-%dQ#pixY1lF-1s+ei>YV zXl^Igyp{FYH+dkc?X(Pc)$g6K4;`R!F8e+&)8@7emsn;P?oDESmWWKepIyo(kGVkR z?%u;CG_Dbn6$N39JPw|Y--na#DvIQn8RON*eZ1_Su5;cW8J<0+;FOkkg0XU;dbkSW zoT4VgNTUV&zHV)(D)SYRDV23of3tay4P4CjS@NPH?fs!7|hE9A~{3qSnDu8fTq2*Zgkdn`Sf0C64Ct z$|ru5Rhk^jU&oxo&h&y8IGV`Atdb>ZJTAjaG{RiNOB_w#@^uyqMB2SAy32yo$qpvD z;FsN6rux4{AY=yxb1lqR#mY6F{L%J*H59=Xve^V@TAXXGPibj3_Cs2=vsOA-O;0qU zVmo)fK~0J5wc*$aj~dmHx76^bpS(arhg}n4ChDlsOK7XnUrrabzCjInS*5jA=`m*% zRZ(F?HNHE6-c}|L=!=f{hOVHBS6l}42PsgujPrL~soEz48ozVh=zSknl{x`N!Q&m> z&_?iv3;5LmJfh@T@oZ7D0dQOo1oL?)w~BVV^D~}}PIjB}yEI-T+5DF5-Jwu?@29p@qhyLm_{V*xJ>P-QOM zdfEEC!TVMe^Od~4GE8gz?o?1V^nN+s#s`QeC`S-#%8aKo>Ew}#`O?sR z>6LT%=5y?WFd;>OW7?QVPpA>*sVa}-2#=33lt~vaAP^4_dYPP(G+nPDLf0(%)}4&P-)@RQ0}zN_!~9Xkw@jj zeMcjqD;XszmD&Gn;m)J(3L!RDH|}=A{}l0s3G?WX=_D>G5#c@`P}=Pr|3#OwRY3Ku zN?G8BthVGawx1G)ZGM(29aB9>JFpUlSB) zpWU*(`t6yHMJRN2mXeVNqpXw8oZ`jttRL|42!S+^w)``7uk|+dOmAp!q+W4*f`T34 zO(!dL@u}<}Q-E+?_nE*q_V2G}tWgozVv0gHbB<(DX8afN0K2wk-mj0DPG&llpSNih z%OkCq$8!_pItVd&j(!3#^Pu7|TTdrTw&@b^pPI^%d-G~Mr< z7+5|0{pFB>6zIF-s2w=0a_Yr>)#h#!CUVyKQcti7zz4Z@rwaGtWKbI# z2F>I)J}dxOQLngC$N>4;rN_l5;FcT+;Xbkm_iw@demWW=FHod7Z%uTi$|89zZh?v8 zidI0a1g4jn1-|$7XWyD`f*}tS>y%r=;|FCsVp1o3uBA9)2-}x!0*UQ+azlWYcJ+ZKCCX$RQ}iSfy!r z39~bZReTk|YS=?tkgxlqpVkbvZ79bcl_^?C!y$I)feCE16jyiRVVK5L@2~RJmm6H8 zKw5ab3yc^v2%d*8t!5LWH6Qf+^&LEGF@(ZSBIZgV>eY0AAM8 zUz{*C?dH@Aun}S^2O;AHO>RRoM-#XTDjifE;qDr3iAONRk@0aNfy5HXL*ih`mokl3 zOj9FNEXLb8?qm7+e+JPvR8fGu?<6qdVpW_Va>4Nxt22nYnUUhGgvlbn<*a}YVyeLr zUc{IlvVuO@RLZ_33U3iS74jFE+WnBp|BS#+iErz6dq1%=43-lI422!uj7 zbe}*)W{#;Cy=$6q_g1F8u2kjlQmu3l%nrIcpYTz8M@yQ&}Z zPa$w{xR|#1Hb8kWU9S)2kuGiXIX~i1`-(~^ic2CMr_cA0kLv5mMO~lIYrhh&&%IJF zgl+i|FK_Nv?I-%yuhqWV*4H|ZO8ATZ{Ukn48lBejF#;!I`Wm5A47_*CW1 z)9|sfr#=@Hds$KZr;91|MXP*`=x7$4X!_J#;fg9*V zF&^F$2j2WsQ;oSW41T@qzkj<#(la9QM~d;FPqTB9gTk0RU^2ZkA-M2{v;c~>EvoCB zj%rBJuP-c_HCHnMwCnqGK{SvZOh_^jvQwvbG+SYGcL2J$%LW5Qe|k<~JDR5OE%P=4 zcrZ>McOYI7^ISKCeym=9eGALK&0Z0cFhr9)h4PWUT!{ME%oxU*e!mjsdi5aUCcT}K z3EhAnS*^c~{v;c_ndaZ9M+|v0$hvl8azOZ*HDxZkI|2cJ*@GipS{Lg9yX1nGKk<^=0_!&6AQ)HEL zW^*vl*}2E#5DWtXK{tjhlqtKfQX)5bYJw2?3Bqa~|JRKX1S8=>Gs^81UVeKq^r3|z zr4^2Lq9%0h@cC8%4Y#9nD(eaJnC}~&@OHlg_?0B%4m0o^%9lNp2of|Y#L3J5t`lhk z@(;!Z0g}QkAbeF4knoX*4ffYGB)KwOE9P*zDBcxx^sNyR#= zBZH@$PMtV*ke5<+w6u@td^ym18t@I`HfD+ov2VGr*LY*mmr@$Jt1=e_S(f@F^i^-n zEaTA9O@=Sx-DzR$yG{LYkWGUP_VHm-Gt)%wdr{U*Ur`G~Wk+7NTfeZ=h_qWnkWm}=%dT5OVHUM5HOA`D_?6qIyyN5 z0XcKw{$c3*yM3k5PVT@&1W-oV(=05h;Mp6m4{QSVxq%2#T{pu)`ZB` za&MB-Iw7mIqr#n(Ze#r?kKM+&Oi%aCw_6vOnqkrpyPQK9pSh54Ma7$`d-qWo1@0k^ zJ~IiC1_fR5dK^z|E?~x;TlEUwBU_h}GKV%S;&<7nV1g_IXJ3y-ZJP1pfP2QI5=k*( z8&?O1O*6rzy*(ENlRB^w-#X9LqAWs}@3$75wKN+JR3Lg6*+lf|o44-Ks_Ij+%<|Vg zbsB9@2v3YZsXbG4A$&@?3KBIjT)^)H7Ada1s0cTx>N4h&sHz(ESi7U4OVrwd z^KTXpp_9Eer;WaYnFFV_zLl{9r=uaKjjgfuKO&s}iRS#v(BBkSOEYT=9>O1vj<%e1 zbS^F~v@T4vHuk1;3>+LBbboOP|7FU^@ZUIFCwt4kP)3Gy#+Jr^oN}OJpk<)@2m8mv z|E*Jhu>a|jjg8H}4gJZ(-&y?293wqFGu_{5Li~S4alveR2Jun`M7nOPdqa4<2@ zbJP6~jelD(v^Umw{3=2kBYj6>-Y+LvXy_Se=$Vul={e~+I2qagCHLPrZX-j^zbIdx z8R=WQant<=;Scj)+8F5nXk+}+#>mM)&&kC67w|9U-{x)Y&A!(9jA#tpc!mDb^OuwV zLH!Tdzg=Xfp=bQ#A_E&IGZQBR!@peoOX_dX-%`d#W{zLgk;c%?@N2Zr%fQO=FXaDV z{5RUj=_}%25#g0nVqg$sVwGm3SNtDx|Azc6>1b?aYxxyE{J-iPr=y##F%O}G*%#6H zt5W@`rJVYPj!s_)9zq*y1!FrWV+Y57I6v%-O?U`tY3cs``U;Oe-B&r97(4uFT>6%D z|6Rskm6eu}&dI^pp6(yZbRvHY*c+2D($hLP8vdi((ah2E%jUnB_=Na>MfXqmc?kdC zqGlze`&YI5qnpOa*u>1**ywMWKP{7oP~6(Y2A|=72V?x-!I=JcFy?>5{^=HI92~!j z$-&Xg@NW+t^$jeIX$)^7P=ZMX-ziKAmO(lQzL9_RuZ(d zw`)SsMlvJeU_l^d43V&l`|k8YR{8B*EeT*9J9Rl+b6iK+4ZHH`{66I|S6$R;T+*_b zRIg1tgId8jz<_{&Sdj>;Tf6xU2?8P%kX&*@Mku_-4gwN|L9*K1*0T}M{os6&dE84| zJwNb_Q=fngnl=&!?(W&XLRX5{XeM&T+(>vQ&Q8h8dWgKbh`759Be_?P1zTLuQO~}~ z@C5DIc2kYI`fd6?4dHf8`)FO0x4j$b5gTvvKKS`M?D(xXTN~t%Ypw%f)U^0^!9>Ni z!D(bZ@YZdwjs*eHC+?6r$Cx9+gjHmlVLvf^dsz!QPz&eaLH=412>?~5h6pr*8q|MEF4F%J5`a>3$0A(cS~p*SmF#)d&Hb%<{kPNi7rMFsv*_Wyp*N8AoSkM zQCA14#e!8%b&m6mV&Q_^yk}4h{R%fawGd3rJX}rZV7AyXc0y#>tl+GEyTLVcXnm{F$cN`xas9 zCUF*1tGk)_gtRbw>>vXeq&KCt44$^GQkr#s!1D2(X?U>2tFRzfnh`_@iR|~t7Nu7F z;RUGdVboBgytnk#qk&qequcP0#A>T?fYIqGP{mliu4y>xj9^d(O4LrVrH7DOxajU~ z!bDPLx?-;}i*g2+@ha;`BO>Hk!zKCqu+0m$I3Q?#3gxWFC{YVpQ;jjZp)Ld=v~ZBD zBg&x?1}s;@_#eCQEdmaUODA5L0s;q_wJR0;$UYrSd&S5Cxz^j7E`JHrcU+n>02k%zg! z!RouW0xziB^Uf9LDn8twKRrKp;KSb-iCE|AQhtjGN{iwq-PrgjW>9ZCg)4V;08Bg~ zd*7@t6`=G(v0q+;XPjnzqF6&LhhSLix13}l7F_46_3+TcJf7zC7orD(*90GWhEfp2 zeL1%3gY^8FBzMS-*K`sa@0uw=gu`hu=?T`CWc41pDUbaOH47Bbh_5zS*Lo{2`9qdE z_BdHc3iuOp5M-5)!J{dchtG#s3e_TN#e}i*{vv zH|XY$QeD?B%RhoJljJd}`1%F2o{qS#_Ew$Yq4P)y<&w$2C#$B#CjsX1lrD_4tha(1 z6kkeNU>j8KFv9j&Z3Da2y?Qhwuhzrq#>%c`mBxQF1#ww2IhsK#+u7JjoQjw#)($hf zErI_QS7SeLWBT;|QcU`06RbOpyS_0Nbkd1)4!a2T!8*4uGFJ- z7=e8H!lIblXle?m=UB`TQ8Ozn_{gmLJiineAZ{e6ZqGbBpk2hBw`H@Hx)Uu~7iYW- z*BXtWRB?SOJva|Eb?kDGWLGD-3bYdm!Q{*UUcssC0Y+2fP`8jTx z54G>sel&4O=UX&6l?*8S4Z%6zNS$X|lkJKtugynXjQvZ*xZW-|U7-as6qH!NFWsh+ z;6=UxMn2Wg*Pb->grtaxw2BIHno-I&&(k&31Yw0 z39PMcais9WHP|X)y{gNIzK1&t0t?Zx9QW12c>Y`vJx@Ai3l={HSN%zu{1|k1UTU0Q z`Ei&8&chnSI4y(CjWg_<>e4%|!QTb}hmD^~ydbradR5C*;p)RKWKB97anYa(jE}!C z5r2}AU9jx5wp*(3k!~?eLlHlGr`3P|$(%gEXLqBF{x+b9%xc-@e0YDj$GCZz;WtPV zt5;3%vz7+A=$CDdP=7s$^=J5z}<7*+H{I+{;8rVf2sZXdEsnaZY;TH01Q*YCKBZjIl;|-Rrz>S|wkX%MD z^Bu=lU{r-B=t`>Ux9#FJ1<8`TcaOUgZ~)KmAq!m88>~8_1XsVw?yY%CdN7Y45JM#! z6*@8MCYA!%2~qZ#WNvjL_V2PfCSqg0vwHC=^VWKOBK@$8U;^_5+7KA;&RSc6(MjS= zaJsrxVyoUd)Pw-ENoiE-ZJrLTUK|V7-1Cuvgg_l=9_9mibL8$2X^sZ$hS%x6*bMgm z+<6@SWrm+ah0!oypiPORw|~BT=4`z-=cIBR=j9U0?|s`Te5-1^b;bRQU$-r}S3ICb zFyq&WVR8^}yv%c~DY~ZB`x4$(6s^`PL%g>P7#smm)n1f~^EX%hm} zr1cfC7wwvW161C6+E3Sq?TauI4ec>FN+bCg$pXr+%kOndrIw-|+4!~$<9=kNx=?S2 zzi=uUIpw5g$wqbAFGb;Crbu`w{I^A){)2~;Xb?w|`ou^>jc5I7Ln0BoV zWd>H#TI433{~+wNIv)-=3G?{l2!eTTdSbl zl`3-20LxkOwXo5fuoVOpbLj%lZiLf@-G*PNGC0{z^Xm;2DfqKy^bNX9P)N%Gwn=wg z+B{U*VH2Oh?UJhLjt3E1N@rHkF=%>0_?B_2>RY7S1$dscImtd*KNBdnl}!0CL38P^ zJe_r3n&>T&I6F#OGA>$q?w^NwlKJ2!GH>6Nu!J!&n zJ;Y+|8n)l4Sjr|zvOmbN`lBC7ua*D2Ln*07tC(sw@u3srYZp0D8>z$iYTe=qtdiA? z{K1BJ-fdu;TOuB0Gn5d1V2!-0@e^XgU8`LoTGx|ASZs9Qm@y<(^X<2I?CqxuqUw#T z$TTt0ekAC2yJ^o-;BTUnz|M6$f!pxK`#~YoEqJOP(~X7b zD7G&ZQQ8wTfF%OPdNWkA#%)>tzP~6lnlh+1x#%#w$K@GTPv_JFxLLjV$j4*hY5;n~ z)?Q?{ntgxifWyt4sor}6aeHbNc}X_$#&QySUT>QrTd+}y)!nB}UaQL|U$pW|21#2? zYgzM(?nlx~*VZr0Jb6yCG(@M%#Api6ls`6v;J#IseAe|21wGBuLniUSbehjX%m-1y zMY&p#BG%!cEzJveuyCw95n`c|%U8Re)rJcW+5n3*qJ}@3HtDiie zL)Nqqo0(_JtaZ7qd%;VPzdMkF%m`02$@JaFR zMF3oi#*7yZ^>M{h|7ccr;@ZRV>q_Br-~obX+ayqTj(moDQ&S-dg0H0Xflc4owkz}pGB>@xL|Q{aaG1TM*Tc$+%Z6{g46zV=~faTfMdEbU2T=<+^faO zP3=L|Kb`Y+}NcKA|ibJZ;HBc^cd>DEXdr5052!VZPv5_nmJj zPW{4j6ooh}VOF9TgTd&8t|Jmsr+l{D;NW4J>KH~%BClE?7V^p_ zMVF_yDpCz*}(q1)lsq}MKEtW!0gdJLLtpgQ140S&jV zwc8>r$j=m#J!=X3MKre%dDQqi<*Op<3qSGuW3SmrO)%_SgG}tr!!$KTgeX{ncF12h z3iI&HYcS7(x=*hHLb1ZEPCnlf&R|JWaX2+)R$kc{HZr1@-Jq#%Jf7s|tfikT60HM0 z8X4r9+}7J+(G#iqri1^eurzK{$z70hf04jzxOXH=gJj1q(0XpGZXJ~_sv9oN%pq|2 z+>~cNE!>G4g+QreiV(6DnEI}GhE8PkZKdu#u|(`xPqh^!J4*1HU!nTGsQScq`yraJ zt*y5swF^B?1MvJk9}L;@``|mGJ~UjZ(<5oTjO}+Nq1_8$4asWU`@I+%tAX17z)Z(} z18o+v%^nLPEOqWHbp0Gfj^vly6&qm&u-EcQX!EW*VB6Wu=SIYox7~O@L?udW?khhX zh)U%kUM9rUB;Y#|mX5L68L@?Gx z{E}oD8@`9rn0e&QX1#ObAF#H;Yj6KSz7z_{y$whBD=^(5$Y7DBGyP&`WSFGewrORGkGxq|Bz`)1ZYVQ~ zH)})mnvP9)@!Z!(EgU*{zpIA3+o2}z7VAfTry;!0&Hbb)5DrrFnox)KjZy)+g}e%r zIGq7*Y(vOp7fs~hyAYQF=GBrM?tkodHsjU|6-ew_yLKIfz5SejGb;I`)6d=j$ywNN2Jo;r| zBN3?>vHVeb`k^pmMq|E83N6#p+Tpp|RKzw8PS)jU;C3zM=B~g2c_BtFrG_Hk5Mr$`wsSI!biK@MXWK&5Hfz%)WdZsMVbGIC1R$#^|S}(oW-`F=2jbL>Bh~~* zjgsAtYvtDNsSWJbjRFG*LNex3s_SQ?uWGp=(>q9Sllnkb?Wd>n@x2}1a<3+X3k^yH z@);^!Due3m;bsVlTTl+BSLmUl=J50ASie;|G`owYbr4KPpiSY+YPdrlv_x6=Td2Z2Ar;(pFj}#|ESp6yb*Q=GTzc)&X zH?=bxe_p#Ew_MknV~X57VIXOQI_)BBVD(bZQ~cT>v^|w|X|E(|s%?#Luhv(0In?gL zi@bK#Nsbm$Xv|wz%0ue-Eih16Em4tlV~3hb4?v-5R{QOw*06O1(&@(--|LSKD=fM4 z?0F2Wiq=t4TgT*jaa(e&H>;nniW*15Qas7H+ftu4I4*kT z+y=`ie$oWF%>{2qXG4#v7Cb$O(P zD6$pChH_RujnpA*Y0fcf0T*dxr<_`&gkCC0z0{GSmV92IA-Q$~v=b0dP_0Wp<2Kvn zSH=FpKk%_?LC07@f3v1f85Z8wqw~XGG!Jv(=zP_=r2ZFFx%jI4Lj<`gqk|Q?<;^aA z4kIBpPw*B};cAngA7IU|jz-~v4VF-EUUxHWxhIqoO|v%AF3}gy={ftl31o}1MoBeC ztsJcJ>^$#Z_o4bU79~RWxuwP`k5AIm(GW&SF)1|pNzl%|yDo~4A*o&rPlEd^$8x^% zYT-iRI_p&7%Ep3aaJH4{ipgkvlLV(^i{{yV%xLXB*sVr>F5L!wF|$D*pp4sFRznW3 z<%Y{0bRN!$@S=lP=`o%~#QG2vDDfp#4a<0na4z07)!^4a>K$4ckLHsWTLLV5u;wG(Gvdh`4IVUUR$C7Gn>Pkm!rAYxSEI+6@YJnv+Kz+`3139Bl%p- zT$pGZer*>by01B67}?+~PSNI%<(_Lt0?OSoNQPRfT9WK}q9|WChU2Q4Z1^yyxiuuG zg8fPS);wC^!I#4Xrh|vBAPxc$YD+p^;J#T95jol}&rUIWd3mW$W#e8D=o6Chns(`F zfN?9FtDX%)SgX<}E_r6YlR6+NZ1)3?fUhGGOgxyB!za3Wf%;vJXOo8@k+&;;a4duF z3SGDh9r@ea9FAk5i>-ec(G5s^N6h$o34c-CIy**7EJ&WvuRSP3_mDb8*b_Q$2TE_> zc{U0*@SzEPi6naxePT%-`cz zC3ftv-Q$tjUS}au{s<3L@nfud0Su-V$AuV7LinxCDAY{+MA(hVLQvRLqbEM55?kRA z$ljpbckuJk8vr^SDO_Cf@j#uf@)TW@L{n7=mu&oLAaecrxSk<1#}KM*CizjI922b< z{FU+UPM(i)vI#66#+mG{)s@390_b++jdFnwKIi8G*jZ~IbFr1FZ-1dll@=bTgIWwaRl8IL49k6vWoaR`-y-=GOwl_+;QQBr~~3n^vD)SZX@E%9?= zRxp%2m2KMSSj0UGD9xrg2Fbw-qO)CJvH4>Wo_gK*4OT4H+pSq{Z_%#g&*PWZ^-_1L zRJ4K#T2Cr81{S-1aRZ}v-*n%@;-xxO){~F1JGp9l>Z4%ZW+x&oB*^HI$xI0;X;I&xYP&;ACe&A$Z4>I- zEJs00@hx-~BN6;!e0yrifHD_Gl@o*&E2sw+o2j!&>iLNzhHi{GG8&V5D8osa(Y^GG zsS3V9mYoBD);2ESd<>V9EhdCNY=Wf=EY-wyuYX*)l0=+%`*2kOEl^gy;|Js;{Py>!AbqS9&R$9vGXk|8-{_{cg&Er_H$@hPrN}r~CcX+Q?|&y0M%RN#UxNMUJtl?_R%wpReHBe2dVB?%th* zY{SdTUuR(QbeT3OR-+y~&X^kT=lA?k7 zJaiSWZi7ndGxYR=j%UZgfYJRA`N_#@2t|KggZHB7)MVtcC&BVUT371}`OvY2q9(lk zb|7!fVizYbg$S2Rd;{5;i-s}nwv`W8dRL`$SHN)`ERJ68R~0T;=$2?Bh1AxN@}yzy z{9tNiexIxJIUX^h-42KQJpdn@qTGz16eHfQ#UtyqXCNvBa)!4ED3oLG>};~wOrtkT zkq+b5rAu|PE#Z5tY-72ra?@o}(m%YQgb5{p?n)v!8D{v}qDp925E|Vb>Kauy_dK;@ zTSvbklrfpJq$$ObJq*@3>qcwMvJ*m-zD+UME-|6ct-4XRc2dqwd~h`fS*0-^TCods z0YDoweq08#w&Wjt15*w4JuADb)ke$|x>X*sLszPt57$3CH{j;i^UC0F#~99lZw0F! zR7(!b+F08%jkRuUHn=4ssM4;L&wI>JSlH;v_BI`^EW13q7Dt`Q$83`cctY5Oqfz$^ zOib~ibIfK@gWlAdQCN=5lBya!R$}BPXT%fGc zETEW?S7*y=Bftc0{%c%vX=$Fp8J$Ooiis`5&^2SWJnt)- z(s&@;y0u{v6q~(5W+giveFHR>E9YoPnfxdKtG zh*ZN!B55$>RH#fLwfC}{XX(A!J!>a{B?sQtz13O>hud2muNt6nhp*y6WG;a|CD9j; zJ(uDrWwD7K6<1!`e#G$nx*$@m!1i)5Y1pJBieDjh^RXA>(3a#HSe}TB#pO`yKiV5j zz`o#|rT$pX^b~+jGvfDDResrxr^>jo9}Cun8ZXKL&0&bK_h8!b-S@etRyj9q@GY?G z7(Q4ZSE08;I9^hPrMy93cuzhE&s_rsmzM5(kAKNF#q*e*n{64}24;4c=j~!2{*~%6 zhl+hDz_pCaWUY>|QqEM++9#kWsKNJHHFgOaKCM3b(it*(0pB@b$Y49!^3+?ya{kSpvS>b41SKF4ZPcC}yxMNfAYoSk1~^NO z`#~h~tMq~Lg%q?bo!$7C2fGzhR828L@lb74i9C2M&n$u{RJ(x+ukjzmdJ>*()eG=<1>KW*dC$9&k6@O$M|Rmm{N(a5_v)3!NF z9Sbbh*EXnooqg-$75Bz!=PAD30=h&mmbJ+kr;<}wF6KZt)~p3?XpMdTEDMb!%UI5P zxSsqL9L97r9%EStTLx=J`W-ceK5L9)FG^h{!iJPsuT|kNg_icMEe-iZ!X?sz*%sLf ztmYtu1wX&^^fclT52WS-7Ef#?AzII&L>SL}8*@v;Y1~EJKH9ba6pI<4x$0cJ0hp72 zSN-t&Ly>#o)1YjFbs9xUr$*XOi9&E!M zZ7kL3D7-l+482*WWeRKcwdE2sJH9m|00fatEt>UEz&z0#aKdEe8qv$i{c`#N1_Vhb zG*RuWklIIz?c6kk%F}u!i^Wc?BXMhzI$!ZfQYtY5>}Z>51~4B6Joor+6gQP94TJ^sT&g(Z`ZX)UsO%Vqf{f>*Oqn$>HDi&FjS)B zr3bhfQpeST+d;QlX1Tay{GIqJV#-@^RGJ^Izo18OCjQ{il}+~z@`?~whTBLU*Wse_ zR5Hi@z6ZS>QQ{kqB~(d%I>ksZCIJ1l$PC0D_%=~Y?i*plveZo`&Ri# z82)J0G34GX5=>Mf)hh2*UA3ehb0~{dy84LvkrdlsD5}FP)$ut!1+h*T^FkHfb}I-f zE>JGLuop9}hs16N70AuX>g?L4RA|^ZC5A&%SH=|mJS+M^#s{?*L~;~#*#4l+E|;2b zS33M*?rGtsa`6<u5hJ&y&7zIN^v>_7r@6J9mHl-~dX zMGztCZpZL-(j`UBlHNO2m0k4!x7#_0t3!w~ij-ZH7(f@n@LuZE_wMGR?pIS&#AHzG z*mBi4vviMj6i-%EZqB95lLN&mO%c$}5KabeF)@$kCHUmi-a-8WU05^xB%@lO_dzKX ziR##>Ql|BB;*RD0_)xLhP0rE5+`-Q8Q$nGFv$qJgm%im6i5jRW5wczN3Be(0yMe2` z2W7vHeD@iss3g}eCw(E6OGS8Es;fR^Gg8X*!hXPX2$*ljdT&PJ` z0jwZneJEBlK7i&|#ZSH;X5@ffWOg?5lQ~}1;4`z(%1+3-MGw6w{?5f{`<(4Z4yifXa{K>m@02I4Bj)j%ayo!DgB4O%Tjy$Rid}Uy|woDVjbCv)y zbmmv$@hzLGx`f~JWD2y_Wk76PiYbQt5cSdT3Xb1tf9Ps?-xHRFq$hE-cisPfB9A-h zX;t&rLpt+Wl7Sk3eNYD=+Oj6LujZohr7;Qz0RUlY61-4CVer!1Q!A!J@!`Ppa@tmP z?T73afK!ij$ZgJdDDx2qoJ@paC`P#rc(UqEpc{QRvsGJ+hH4(uQeI>wE+$EMw}RL$ z(+RGpZvI9(S>=;QbE-z3V3dGnfHH(5TU(aKzm5V4NkaRu0;A%nv_i0ufFjY2I=bqy zFt~UMS+gIq1#3Yb~+@`Zoj;6(>Zi@BR2{Vrd#{F{Vgw0$0GB1dhz} z%|%5O`AO7oj9nBfejSf!DahNdxnvahCyZ9NRb+?8i|HKT&0}cWP`e`NPIw&~=KoXK zc}F$1e0w~A^cHCX0zo=b#LxwVPz97Oof|_H2)$fD1ZmQHmtHS|fMNj=h=3rW%LRhe zKv1fb08$Mvx%YZ4&-Z@ox3kWgndI#6nmIFTXa1PaKJJ<<7jrEGRFQJfUKmap7#q>y zpnU<&x>ZlheoA>LDqU*-W>WFQfLrNVKtPFJVkT`P&TRM0wk>i3_W|6bXBh)o1J3Oa zTa+HM_^utIq^K%9nGdQg)^IMzFo!WLI(*^r$uog4bY;wOP?a;8Aqzt_pLHB%rFz9E z22&Te;LP!*+Tw6X3LJaSL)>Z2C3EKV!J=MDWMn}6A+#>-oSD-JsID4!t_`=%m^r0$ z=}p?8bA&ardOB{yXVZRb(Q-@4e`^GKlWZRX@t*9B6*?xR;Ik>~?h| z|3>Pk6S$q5Ti@-SkFAPa! z*S0V=va9Er&%iI%fPBqIJo}4n1lxsU&mKm6ITOiCdBl+0OQp{i5~39cA|vj-cA8rS zu(Y))&-nv~a^&0ckT~0oYd(Zx#o4%eH5_f5Qbg{%Ci9e3MKZjmKV0!^LUlfhG4)2< za*v6M?9Kt1p=LS``Qh%gIOsg3>p?o~to4NdD!)17&dht zHtnV^9ajj@QSk$(A8g?64~TN*Rh2fiwppFQ*JBKSa_%Y3YJOA_qcz zMqYlA-r0Pl*4d@H+Ael-E{TE+!=wpL}bf`8*}*M*g+f7)uM}OogB{U zwNv>EwdTKj3Dh7DRsv#?L*nCi{4}4h&)G3@Qg1z|A2s&MC@M{jWgk(E=u!BRlDz2a zAGj_!Q`@+DH*CyB5}+r(>eOhnyg(OlKDj@}OykYB@Y&&+MiA&B*pP0i`g0xNQ=%U>He;FTVMer&HFO7p(k$rMW65k5 zy;z~WBOD=0BWJkjtL)k*=Dj$gDyn?B?6z1&crMqL@+2cty4p)UPAyWkFnmMr0qVsz z>$o1Zm|HNKW}h)11WRikf6mqLc`U(^x@z4+`vcex^+-+r<(pVCu|ux8Q=3Y<7buz!Nw>$HT?M9id=PkN`qUXrLAIWc(WI_7PKHhIq{@( z=P`oYN3&JRLZOGDG83$0&Pp9doAp(UZ5gJCWdj`91{`54bkrzC{=p*`m#}J zRuUw$4DU@(uP_Gf$J?j{sF+J)Yp|*`j3=^0DStG=it;X+P7w9*TJQ|h3t4fVud22+ zEb1aXP;CBC#+x&u`d2Wai`qk?FZmsE&NwSzwMrkT3q-#ZpX-6ZVc|VTg`b ztPf9TAcuprvImVjzS{56jDEl)2Y{VR^bQ4LjR?9&x`#W^KzF&UEN@2U&~Il(mO*~*c=)|W(F0W?PS;kO)l z)DC(c1P2Ez(1HT=2W5i_x_vZ!r^1GdTU9Z)+xZ|9DU=^nS_7QZ$n_R#%CYYbT;VGB z95L5N4WF3KSYS+c$HUA;1ogfBAZYs-)u$A%+t7SqN@!=qvuv}j1+hob6ac7TV9O*7 zoD}?c*dX6^xO3(Pbo8A2pi$@K+nE9LQB)siEbg>v(`tdOevKuI2zm>Lokc}1HTD%t zyqM^?UP7Z2EY*Bl_RNxWO-a)#-;wmm^KpOZ<+rA?XPtf*4`#J9q5G}ZSUh8JFSOrM z+FyaA*_i9*&Ab=4$?56dgOt_CAL<*6;|sese8Z4JY*x!#w^3H*Cc%`7lpWRx1#id2Wk?nYOW2`>|ErdwyNLf zvoTe9Mq4eA4DJPOEo7_b1E$TMdgzJeggk#6(vtsf3vQcIt7%fK2zpy^YpCDH<(w@j zMsA5q{b{v~yNOKlRaRbmBmMKSxU+=-H@9F}<^DJ$fsAekn7EFTAO4Viaf?<(jN@QJ zbb}=_-wf5D8}dr^;u(oHjEuG#Jtfa;CDAs>D{WT_6?P}k7-GGBq)LFA z{EwxN4Z5NO<2e-kM2Nuc(DD)(u5dJ>+>T!0Lu!&*bn88x+*wjnHd#}KCx|Bb%`Uf^ zGN5VvQ@|sG9nt!c{V6#C`bb9A^=F9!0PSL5p^slBbF$`uqwvQg1=_2p){in97o9j%j);NsU*fX*ZWSVN4EN12G){( z?Njz8GnzDn9bYkM?c;4}j(GoyYgrY-;qPk3Gj8~9ItRt@o>xnU43~s86f*6o=<)Dm zGz3{3P+0joGlN(q>@7xbFD=QJ6*OW(X90~Q3F;Be5_gHY9PXIQ+Y`%2tLkeb#tjO8 zJ2J(Qp!1ScjGNRO0c=iHT646)VjhF3uC%TWQJG3!JBeu5Q7Y!}BY9$a;XMTgezW)_ z$Q?km^C+Kn&8t;F0*nI^8Xxk4H(;vFu%N_u@r7^~5Lh8$H9~LUf}&Mw@yb2Hk;ld zg!{WGwCqDUrd@aU12*pj%Zi)^CaKCNjLt_EhN#f|51w`8!@Xi?qupUamPGdpo*%v} za$le1id5}>KvF!n{nnsIffGJ-H_vwV{z`csb-D}@B--*Gb+8y8s@`JWn_Hyw3cy*{WPpd@uJW^5#y=J&|bl&J0)o4Ev$LpmV|CdPb3B)W7f;v z{N+{g%_^H`l}UAhbWb#Eqa;17^G^Gqx@*syd{vG0y>Xm$+#-3;~m}gox6ony0t>6w7Pq((rE>zg7RU~8d+)OOf8okro9(BM2%DAW+ce$pZho<6es$AvxUuD8 zU4U9Eis%bKSiZB&8RhgkvUfm&()yKDW``zH{@Tbq~joJtocwp#iwydooBoTq%h zNh{q8Uu;e>QF?ukcY&sPbFGtv8v_i6zpk5xzww99{3-FVXzX5t|GEyzeSr4TG_%XR z&k+>|FOP11!i;;Er`q(~$fi|qXfo;kq|wxVlTx!h^vS5z@1+eH3Yl`vOiZ!Sar z=SOa6$@1R+iyI|4N}@c0`w_x~3snelP*hK315Oj}R$k{it38ISM$ zmBR3OrlCg%H}Kxv7iQW`7U{mq#4+`O!hLiIpbVv>8s-`OE>w9H?3ZWp(ddYnZ|m+` zNb(_ecok01l_|}Ceu+0LEcJy^rSSW;&w+9deONR}sj}laHWMA1mE~gl4*A;hVphSqyo<^& zv920PgArApkL>I?&;$9>pZ zHvQStbEh-a4O~Si7}^W`+Pm_A4D+pSinp56H&pe>1YP~WO)eTFJ!Wy1^AZm+dY|_j z!rFa9^|?&M@vm}-pVvDSw%@q!lZPwiiwY<^2w*}Wmq!!2^Y*lkpFOw%l1W~BFSQB0 zySNK)N!Rq`o@Fk`8_l_P1ig7w5bryBuhq_q`<)f(%!cZ*W8_HB%G0SSFPrw`8=}B2 za$NqT{ONYvrCB1vq(NunDZGgQ0CqgIXrN0(%miS{2F>u0a;?_&SH0WiV0)I8iBot^$c$9%w-2y~L4k1fpm(pR1D|6K9!5&z2s|0(}2 z67a>(Ixsst!}K=;c*)Ms+xwrqm|sN+jz6c+B+y9T41=%!Eb0jNz%yXqx<ygi(}@vPhT4~yXNbB}%;SNt!O2%Y)w zRN8-`;_Kl7|4%BQe@8^9?EgZ=*$w98;B!gU+1Cx`>GQuH(dyCT;;Wqi0O7*#zrHgm z{NgZh{tM^BgQ*gD155l>NL*G|BQzy0%c{!DNvX@I$;%N4v#)F6>jL{ejR_&0>Njic z`XRaM&yL?yz=SL(-wZnbea@4weuUo%lk_tq{LRl|?i(@u)$40Fzu$iTIJMr3|2Ize zvunXpy;W_o9de%QGF?D>6!AO!Dk=FdX(>rif>OG-w#4T%5XPn!TlSn(4N_#bnM B#_Rw9 diff --git a/sources/contrib/document_test/note-de-frais.odt b/sources/contrib/document_test/note-de-frais.odt deleted file mode 100644 index 3112083c266c22939bfa01488c4223b2fc7b136e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42435 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 diff --git a/sources/contrib/mono-dossier/mono-belge.sql b/sources/contrib/mono-dossier/mono-belge.sql deleted file mode 100644 index a03d3ff..0000000 --- a/sources/contrib/mono-dossier/mono-belge.sql +++ /dev/null @@ -1,9345 +0,0 @@ --- --- PostgreSQL database dump --- - -SET statement_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = off; -SET check_function_bodies = false; -SET client_min_messages = warning; -SET escape_string_warning = off; - --- --- Name: comptaproc; Type: SCHEMA; Schema: -; Owner: - --- - -CREATE SCHEMA comptaproc; - - --- --- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: - --- - -CREATE PROCEDURAL LANGUAGE plpgsql; - - -SET search_path = public, pg_catalog; - --- --- Name: account_type; Type: DOMAIN; Schema: public; Owner: - --- - -CREATE DOMAIN account_type AS character varying(40); - - --- --- Name: anc_table_account_type; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE anc_table_account_type AS ( - po_id bigint, - pa_id bigint, - po_name text, - po_description text, - sum_amount numeric(25,4), - card_account text, - name text -); - - --- --- Name: anc_table_card_type; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE anc_table_card_type AS ( - po_id bigint, - pa_id bigint, - po_name text, - po_description text, - sum_amount numeric(25,4), - f_id bigint, - card_account text, - name text -); - - --- --- Name: menu_tree; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE menu_tree AS ( - code text, - description text -); - - -SET search_path = comptaproc, pg_catalog; - --- --- Name: account_add(public.account_type, character varying); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_add(p_id public.account_type, p_name character varying) RETURNS text - LANGUAGE plpgsql - AS $$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - nCount integer; - sReturn text; -begin - sReturn:= format_account(p_id); - select count(*) into nCount from tmp_pcmn where pcm_val=sReturn; - if nCount = 0 then - nParent=account_parent(p_id); - insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent) - values (p_id, p_name,nParent) returning pcm_val into sReturn; - end if; -return sReturn; -end ; -$$; - - --- --- Name: account_alphanum(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_alphanum() RETURNS boolean - LANGUAGE plpgsql - AS $$ -declare - l_auto bool; -begin - l_auto := true; - select pr_value into l_auto from parameter where pr_id='MY_ALPHANUM'; - if l_auto = 'N' or l_auto is null then - l_auto:=false; - end if; - return l_auto; -end; -$$; - - --- --- Name: account_auto(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_auto(p_fd_id integer) RETURNS boolean - LANGUAGE plpgsql - AS $$ -declare - l_auto bool; -begin - - select fd_create_account into l_auto from fiche_def where fd_id=p_fd_id; - if l_auto is null then - l_auto:=false; - end if; - return l_auto; -end; -$$; - - --- --- Name: account_compute(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_compute(p_f_id integer) RETURNS public.account_type - LANGUAGE plpgsql - AS $$ -declare - class_base fiche_def.fd_class_base%type; - maxcode numeric; - sResult account_type; - bAlphanum bool; - sName text; -begin - select fd_class_base into class_base - from - fiche_def join fiche using (fd_id) - where - f_id=p_f_id; - raise notice 'account_compute class base %',class_base; - bAlphanum := account_alphanum(); - if bAlphanum = false then - select count (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - if maxcode = 0 then - maxcode:=class_base::numeric; - else - select max (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - maxcode:=maxcode::numeric; - end if; - if maxcode::text = class_base then - maxcode:=class_base::numeric*1000; - end if; - maxcode:=maxcode+1; - raise notice 'account_compute Max code %',maxcode; - sResult:=maxcode::account_type; - else - -- if alphanum, use name - select ad_value into sName from fiche_detail where f_id=p_f_id and ad_id=1; - if sName is null then - raise exception 'Cannot compute an accounting without the name of the card for %',p_f_id; - end if; - sResult := class_base||sName; - end if; - return sResult; -end; -$$; - - --- --- Name: account_insert(integer, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_insert(p_f_id integer, p_account text) RETURNS text - LANGUAGE plpgsql - AS $$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - sNew tmp_pcmn.pcm_val%type; - bAuto bool; - nFd_id integer; - sClass_Base fiche_def.fd_class_base%TYPE; - nCount integer; - first text; - second text; -begin - - if p_account is not null and length(trim(p_account)) != 0 then - -- if there is coma in p_account, treat normally - if position (',' in p_account) = 0 then - raise info 'p_account is not empty'; - select count(*) into nCount from tmp_pcmn where pcm_val=p_account::account_type; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise info 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,p_account); - else - -- account doesn't exist, create it - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account::account_type); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::account_type,sName,nParent); - perform attribut_insert(p_f_id,5,p_account); - - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - perform attribut_insert(p_f_id,5,p_account); - end if; - else - raise info 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - - select fd_class_base into sClass_base from fiche_def where fd_id=nFd_id; -raise info 'sClass_Base : %',sClass_base; - if bAuto = true and sClass_base similar to '[[:digit:]]*' then - raise info 'account generated automatically'; - sNew:=account_compute(p_f_id); - raise info 'sNew %', sNew; - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(sNew); - sNew := account_add (sNew,sName); - perform attribut_insert(p_f_id,5,sNew); - - else - -- if there is an account_base then it is the default - select fd_class_base::account_type into sNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if sNew is null or length(trim(sNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,sNew); - end if; - end if; - end if; - -return 0; -end; -$$; - - --- --- Name: account_parent(public.account_type); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_parent(p_account public.account_type) RETURNS public.account_type - LANGUAGE plpgsql - AS $$ -declare - sSubParent tmp_pcmn.pcm_val_parent%type; - sResult tmp_pcmn.pcm_val_parent%type; - nCount integer; -begin - if p_account is NULL then - return NULL; - end if; - sSubParent:=p_account; - while true loop - select count(*) into nCount - from tmp_pcmn - where - pcm_val = sSubParent; - if nCount != 0 then - sResult:= sSubParent; - exit; - end if; - sSubParent:= substr(sSubParent,1,length(sSubParent)-1); - if length(sSubParent) <= 0 then - raise exception 'Impossible de trouver le compte parent pour %',p_account; - end if; - raise notice 'sSubParent % % ',sSubParent,length(sSubParent); - end loop; - raise notice 'account_parent : Parent is %',sSubParent; - return sSubParent; -end; -$$; - - --- --- Name: account_update(integer, public.account_type); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_update(p_f_id integer, p_account public.account_type) RETURNS integer - LANGUAGE plpgsql - AS $$ -declare - nMax fiche.f_id%type; - nCount integer; - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - first text; - second text; -begin - - if length(trim(p_account)) != 0 then - -- 2 accounts in card separated by comma - if position (',' in p_account) = 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - -- check that both account are in PCMN - - end if; - else - -- account is null - update fiche_detail set ad_value=null where f_id=p_f_id and ad_id=5 ; - end if; - - update fiche_detail set ad_value=p_account where f_id=p_f_id and ad_id=5 ; - -return 0; -end; -$$; - - --- --- Name: action_gestion_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION action_gestion_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -begin -NEW.ag_title := substr(trim(NEW.ag_title),1,70); -NEW.ag_hour := substr(trim(NEW.ag_hour),1,5); -return NEW; -end; -$$; - - --- --- Name: action_get_tree(bigint); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION action_get_tree(p_id bigint) RETURNS SETOF bigint - LANGUAGE plpgsql - AS $$ - -declare - e bigint; - i bigint; -begin - for e in select ag_id from action_gestion where ag_ref_ag_id=p_id - loop - for i in select action_get_tree from comptaproc.action_get_tree(e) - loop - raise notice ' == i %', i; - return next i; - end loop; - raise notice ' = e %', e; - return next e; - end loop; - return; - -end; -$$; - - --- --- Name: attribut_insert(integer, integer, character varying); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION attribut_insert(p_f_id integer, p_ad_id integer, p_value character varying) RETURNS void - LANGUAGE plpgsql - AS $$ -begin - insert into fiche_detail (f_id,ad_id, ad_value) values (p_f_id,p_ad_id,p_value); - -return; -end; -$$; - - --- --- Name: attribute_correct_order(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION attribute_correct_order() RETURNS void - LANGUAGE plpgsql - AS $$ -declare - crs_correct cursor for select A.jnt_id,A.jnt_order from jnt_fic_attr as A join jnt_fic_attr as B using (fd_id) where A.jnt_order=B.jnt_order and A.jnt_id > B.jnt_id; - rec record; -begin - open crs_correct; - loop - fetch crs_correct into rec; - if NOT FOUND then - close crs_correct; - return; - end if; - update jnt_fic_attr set jnt_order=jnt_order + 1 where jnt_id = rec.jnt_id; - end loop; - close crs_correct; - perform attribute_correct_order (); -end; -$$; - - --- --- Name: card_after_delete(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION card_after_delete() RETURNS trigger - LANGUAGE plpgsql - AS $$ - -begin - - delete from action_gestion where f_id_dest = OLD.f_id; - return OLD; - -end; -$$; - - --- --- Name: card_class_base(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION card_class_base(p_f_id integer) RETURNS text - LANGUAGE plpgsql - AS $$ -declare - n_poste fiche_def.fd_class_base%type; -begin - - select fd_class_base into n_poste from fiche_def join fiche using -(fd_id) - where f_id=p_f_id; - if not FOUND then - raise exception 'Invalid fiche card_class_base(%)',p_f_id; - end if; -return n_poste; -end; -$$; - - --- --- Name: check_balance(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION check_balance(p_grpt integer) RETURNS numeric - LANGUAGE plpgsql - AS $$ -declare - amount_jrnx_debit numeric; - amount_jrnx_credit numeric; - amount_jrn numeric; -begin - select sum (j_montant) into amount_jrnx_credit - from jrnx - where - j_grpt=p_grpt - and j_debit=false; - - select sum (j_montant) into amount_jrnx_debit - from jrnx - where - j_grpt=p_grpt - and j_debit=true; - - select jr_montant into amount_jrn - from jrn - where - jr_grpt_id=p_grpt; - - if ( amount_jrnx_debit != amount_jrnx_credit ) - then - return abs(amount_jrnx_debit-amount_jrnx_credit); - end if; - if ( amount_jrn != amount_jrnx_credit) - then - return -1*abs(amount_jrn - amount_jrnx_credit); - end if; - return 0; -end; -$$; - - --- --- Name: correct_sequence(text, text, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION correct_sequence(p_sequence text, p_col text, p_table text) RETURNS integer - LANGUAGE plpgsql - AS $$ -declare -last_sequence int8; -max_sequence int8; -n integer; -begin - select count(*) into n from pg_class where relkind='S' and relname=lower(p_sequence); - if n = 0 then - raise exception ' Unknow sequence % ',p_sequence; - end if; - select count(*) into n from pg_class where relkind='r' and relname=lower(p_table); - if n = 0 then - raise exception ' Unknow table % ',p_table; - end if; - - execute 'select last_value from '||p_sequence into last_sequence; - raise notice 'Last value of the sequence is %', last_sequence; - - execute 'select max('||p_col||') from '||p_table into max_sequence; - if max_sequence is null then - max_sequence := 0; - end if; - raise notice 'Max value of the sequence is %', max_sequence; - max_sequence:= max_sequence +1; - execute 'alter sequence '||p_sequence||' restart with '||max_sequence; -return 0; - -end; -$$; - - --- --- Name: FUNCTION correct_sequence(p_sequence text, p_col text, p_table text); Type: COMMENT; Schema: comptaproc; Owner: - --- - -COMMENT ON FUNCTION correct_sequence(p_sequence text, p_col text, p_table text) IS ' Often the primary key is a sequence number and sometimes the value of the sequence is not synchronized with the primary key ( p_sequence : sequence name, p_col : col of the pk,p_table : concerned table'; - - --- --- Name: create_missing_sequence(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION create_missing_sequence() RETURNS integer - LANGUAGE plpgsql - AS $$ -declare -p_sequence text; -nSeq integer; -c1 cursor for select jrn_def_id from jrn_def; -begin - open c1; - loop - fetch c1 into nSeq; - if not FOUND THEN - close c1; - return 0; - end if; - p_sequence:='s_jrn_pj'||nSeq::text; - execute 'create sequence '||p_sequence; - end loop; -close c1; -return 0; - -end; -$$; - - --- --- Name: drop_index(character varying); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION drop_index(p_constraint character varying) RETURNS void - LANGUAGE plpgsql - AS $$ -declare - nCount integer; -begin - select count(*) into nCount from pg_indexes where indexname=p_constraint; - if nCount = 1 then - execute 'drop index '||p_constraint ; - end if; -end; -$$; - - --- --- Name: drop_it(character varying); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION drop_it(p_constraint character varying) RETURNS void - LANGUAGE plpgsql - AS $$ -declare - nCount integer; -begin - select count(*) into nCount from pg_constraint where conname=p_constraint; - if nCount = 1 then - execute 'alter table parm_periode drop constraint '||p_constraint ; - end if; -end; -$$; - - --- --- Name: extension_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION extension_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - sCode text; - sFile text; -begin -sCode:=trim(upper(NEW.ex_code)); -sCode:=replace(sCode,' ','_'); -sCode:=substr(sCode,1,15); -sCode=upper(sCode); -NEW.ex_code:=sCode; -sFile:=NEW.ex_file; -sFile:=replace(sFile,';','_'); -sFile:=replace(sFile,'<','_'); -sFile:=replace(sFile,'>','_'); -sFile:=replace(sFile,'..',''); -sFile:=replace(sFile,'&',''); -sFile:=replace(sFile,'|',''); - - - -return NEW; - -end; - -$$; - - --- --- Name: fiche_account_parent(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION fiche_account_parent(p_f_id integer) RETURNS public.account_type - LANGUAGE plpgsql - AS $$ -declare -ret tmp_pcmn.pcm_val%TYPE; -begin - select fd_class_base into ret from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if not FOUND then - raise exception '% N''existe pas',p_f_id; - end if; - return ret; -end; -$$; - - --- --- Name: fiche_attribut_synchro(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION fiche_attribut_synchro(p_fd_id integer) RETURNS void - LANGUAGE plpgsql - AS $$ -declare - -- this sql gives the f_id and the missing attribute (ad_id) - list_missing cursor for select f_id,fd_id,ad_id,jnt_order from jnt_fic_attr join fiche as A using (fd_id) where fd_id=p_fd_id and ad_id not in (select ad_id from fiche join fiche_detail using (f_id) where fd_id=jnt_fic_attr.fd_id and A.f_id=f_id); - rec record; -begin - open list_missing; - loop - - fetch list_missing into rec; - IF NOT FOUND then - exit; - end if; - - -- now we insert into attr_value - insert into fiche_detail (f_id,ad_id,ad_value) values (rec.f_id,rec.ad_id,null); - end loop; - close list_missing; -end; -$$; - - --- --- Name: fiche_def_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION fiche_def_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -begin - -if position (',' in NEW.fd_class_base) != 0 then - NEW.fd_create_account='f'; - -end if; -return NEW; -end;$$; - - --- --- Name: fill_quant_fin(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION fill_quant_fin() RETURNS void - LANGUAGE plpgsql - AS $$ -declare - sBank text; - sCassa text; - sCustomer text; - sSupplier text; - rec record; - recBank record; - recSupp_Cust record; - nCount integer; - nAmount numeric; - nBank integer; - nOther integer; - nSupp_Cust integer; -begin - select p_value into sBank from parm_code where p_code='BANQUE'; - select p_value into sCassa from parm_code where p_code='CAISSE'; - select p_value into sSupplier from parm_code where p_code='SUPPLIER'; - select p_value into sCustomer from parm_code where p_code='CUSTOMER'; - - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') - and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nBank := 0; nOther:=0; - for recBank in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recBank.j_poste like sBank||'%' then - -- retrieve f_id for bank - select f_id into nBank from vw_poste_qcode where j_qcode=recBank.j_qcode; - if recBank.j_debit = false then - nAmount=recBank.j_montant*(-1); - else - nAmount=recBank.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recBank.j_qcode; - end if; - end loop; - if nBank != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nBank,nOther,nAmount); - end if; - end loop; - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nBank := 0; nOther:=0; - for recBank in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recBank.j_poste like sCassa||'%' then - -- retrieve f_id for bank - select f_id into nBank from vw_poste_qcode where j_qcode=recBank.j_qcode; - if recBank.j_debit = false then - nAmount=recBank.j_montant*(-1); - else - nAmount=recBank.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recBank.j_qcode; - end if; - end loop; - if nBank != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nBank,nOther,nAmount); - end if; - end loop; - - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nSupp_Cust := 0; nOther:=0; - for recSupp_Cust in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recSupp_Cust.j_poste like sSupplier||'%' then - -- retrieve f_id for bank - select f_id into nSupp_Cust from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - if recSupp_Cust.j_debit = true then - nAmount=recSupp_Cust.j_montant*(-1); - else - nAmount=recSupp_Cust.j_montant; - end if; - else if recSupp_Cust.j_poste like sCustomer||'%' then - select f_id into nSupp_Cust from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - if recSupp_Cust.j_debit = false then - nAmount=recSupp_Cust.j_montant*(-1); - else - nAmount=recSupp_Cust.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - - end if; - end if; - end loop; - if nSupp_Cust != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nOther,nSupp_Cust,nAmount); - end if; - end loop; - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nSupp_Cust := 0; nOther:=0; - for recSupp_Cust in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recSupp_Cust.j_poste like '441%' then - -- retrieve f_id for bank - select f_id into nSupp_Cust from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - if recSupp_Cust.j_debit = false then - nAmount=recSupp_Cust.j_montant*(-1); - else - nAmount=recSupp_Cust.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - - - end if; - end loop; - if nSupp_Cust != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nOther,nSupp_Cust,nAmount); - end if; - end loop; - return; -end; -$$; - - --- --- Name: find_pcm_type(public.account_type); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION find_pcm_type(pp_value public.account_type) RETURNS text - LANGUAGE plpgsql - AS $$ -declare - str_type parm_poste.p_type%TYPE; - str_value parm_poste.p_type%TYPE; - nLength integer; -begin - str_value:=pp_value; - nLength:=length(str_value::text); - while nLength > 0 loop - select p_type into str_type from parm_poste where p_value=str_value; - if FOUND then - return str_type; - end if; - nLength:=nLength-1; - str_value:=substring(str_value::text from 1 for nLength)::account_type; - end loop; -return 'CON'; -end; -$$; - - --- --- Name: find_periode(text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION find_periode(p_date text) RETURNS integer - LANGUAGE plpgsql - AS $$ - -declare n_p_id int4; -begin - -select p_id into n_p_id - from parm_periode - where - p_start <= to_date(p_date,'DD.MM.YYYY') - and - p_end >= to_date(p_date,'DD.MM.YYYY'); - -if NOT FOUND then - return -1; -end if; - -return n_p_id; - -end;$$; - - --- --- Name: format_account(public.account_type); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION format_account(p_account public.account_type) RETURNS public.account_type - LANGUAGE plpgsql - AS $_$ - -declare - -sResult account_type; - -begin -sResult := lower(p_account); - -sResult := translate(sResult,'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); -sResult := translate(sResult,' $€µ£%.+-/\!(){}(),;_&|"#''^<>*',''); - -return upper(sResult); - -end; -$_$; - - --- --- Name: FUNCTION format_account(p_account public.account_type); Type: COMMENT; Schema: comptaproc; Owner: - --- - -COMMENT ON FUNCTION format_account(p_account public.account_type) IS 'format the accounting : -- upper case -- remove space and special char. -'; - - --- --- Name: get_letter_jnt(bigint); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION get_letter_jnt(a bigint) RETURNS bigint - LANGUAGE plpgsql - AS $$ -declare - nResult bigint; -begin - select jl_id into nResult from jnt_letter join letter_deb using (jl_id) where j_id = a; - if NOT FOUND then - select jl_id into nResult from jnt_letter join letter_cred using (jl_id) where j_id = a; - if NOT found then - return null; - end if; - end if; -return nResult; -end; -$$; - - --- --- Name: get_menu_tree(text, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION get_menu_tree(p_code text, login text) RETURNS SETOF public.menu_tree - LANGUAGE plpgsql - AS $$ -declare - i menu_tree; - e menu_tree; - a text; - x v_all_menu%ROWTYPE; -begin - for x in select * from v_all_menu where me_code_dep=p_code::text and user_name=login::text - loop - if x.me_code_dep is not null then - i.code := x.me_code_dep||'/'||x.me_code; - else - i.code := x.me_code; - end if; - - i.description := x.me_description; - - return next i; - - for e in select * from get_menu_tree(x.me_code,login) - loop - e.code:=x.me_code_dep||'/'||e.code; - return next e; - end loop; - - end loop; - return; -end; -$$; - - --- --- Name: get_pcm_tree(public.account_type); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION get_pcm_tree(source public.account_type) RETURNS SETOF public.account_type - LANGUAGE plpgsql - AS $$ -declare - i account_type; - e account_type; -begin - for i in select pcm_val from tmp_pcmn where pcm_val_parent=source - loop - return next i; - for e in select get_pcm_tree from get_pcm_tree(i) - loop - return next e; - end loop; - - end loop; - return; -end; -$$; - - --- --- Name: get_profile_menu(text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION get_profile_menu(login text) RETURNS SETOF public.menu_tree - LANGUAGE plpgsql - AS $$ -declare - a menu_tree; - e menu_tree; -begin -for a in select me_code,me_description from v_all_menu where user_name=login - and me_code_dep is null and me_type <> 'PR' and me_type <>'SP' -loop - return next a; - - for e in select * from get_menu_tree(a.code,login) - loop - return next e; - end loop; - - end loop; -return; -end; -$$; - - --- --- Name: group_analytic_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION group_analytic_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -name text; -begin -name:=upper(NEW.ga_id); -name:=trim(name); -name:=replace(name,' ',''); -NEW.ga_id:=name; -return NEW; -end;$$; - - --- --- Name: group_analytique_del(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION group_analytique_del() RETURNS trigger - LANGUAGE plpgsql - AS $$ -begin -update poste_analytique set ga_id=null -where ga_id=OLD.ga_id; -return OLD; -end;$$; - - --- --- Name: html_quote(text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION html_quote(p_string text) RETURNS text - LANGUAGE plpgsql - AS $$ -declare - r text; -begin - r:=p_string; - r:=replace(r,'<','<'); - r:=replace(r,'>','>'); - r:=replace(r,'''','"'); - return r; -end;$$; - - --- --- Name: FUNCTION html_quote(p_string text); Type: COMMENT; Schema: comptaproc; Owner: - --- - -COMMENT ON FUNCTION html_quote(p_string text) IS 'remove harmfull HTML char'; - - --- --- Name: info_def_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION info_def_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - row_info_def info_def%ROWTYPE; - str_type text; -begin -row_info_def:=NEW; -str_type:=upper(trim(NEW.id_type)); -str_type:=replace(str_type,' ',''); -str_type:=replace(str_type,',',''); -str_type:=replace(str_type,';',''); -if length(str_type) =0 then - raise exception 'id_type cannot be null'; -end if; -row_info_def.id_type:=str_type; -return row_info_def; -end; -$$; - - --- --- Name: insert_jrnx(character varying, numeric, public.account_type, integer, integer, boolean, text, integer, text, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION insert_jrnx(p_date character varying, p_montant numeric, p_poste public.account_type, p_grpt integer, p_jrn_def integer, p_debit boolean, p_tech_user text, p_tech_per integer, p_qcode text, p_comment text) RETURNS void - LANGUAGE plpgsql - AS $$ -begin - insert into jrnx - ( - j_date, - j_montant, - j_poste, - j_grpt, - j_jrn_def, - j_debit, - j_text, - j_tech_user, - j_tech_per, - j_qcode - ) values - ( - to_date(p_date,'DD.MM.YYYY'), - p_montant, - p_poste, - p_grpt, - p_jrn_def, - p_debit, - p_comment, - p_tech_user, - p_tech_per, - p_qcode - ); - -return; -end; -$$; - - --- --- Name: insert_quant_purchase(text, numeric, character varying, numeric, numeric, numeric, integer, numeric, numeric, numeric, numeric, character varying, numeric); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION insert_quant_purchase(p_internal text, p_j_id numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric, p_dep_priv numeric, p_client character varying, p_tva_sided numeric) RETURNS void - LANGUAGE plpgsql - AS $$ -declare - fid_client integer; - fid_good integer; -begin - select f_id into fid_client from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_client)); - select f_id into fid_good from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche)); - insert into quant_purchase - (qp_internal, - j_id, - qp_fiche, - qp_quantite, - qp_price, - qp_vat, - qp_vat_code, - qp_nd_amount, - qp_nd_tva, - qp_nd_tva_recup, - qp_supplier, - qp_dep_priv, - qp_vat_sided) - values - (p_internal, - p_j_id, - fid_good, - p_quant, - p_price, - p_vat, - p_vat_code, - p_nd_amount, - p_nd_tva, - p_nd_tva_recup, - fid_client, - p_dep_priv, - p_tva_sided); - return; -end; - $$; - - --- --- Name: insert_quant_sold(text, numeric, character varying, numeric, numeric, numeric, integer, character varying, numeric); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION insert_quant_sold(p_internal text, p_jid numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_client character varying, p_tva_sided numeric) RETURNS void - LANGUAGE plpgsql - AS $$ -declare - fid_client integer; - fid_good integer; -begin - - select f_id into fid_client from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_client)); - select f_id into fid_good from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche)); - insert into quant_sold - (qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client,qs_valid,qs_vat_sided) - values - (p_internal,p_jid,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client,'Y',p_tva_sided); - return; -end; - $$; - - --- --- Name: insert_quick_code(integer, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION insert_quick_code(nf_id integer, tav_text text) RETURNS integer - LANGUAGE plpgsql - AS $$ - declare - ns integer; - nExist integer; - tText text; - begin - tText := upper(trim(tav_text)); - tText := replace(tText,' ',''); - - loop - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - if length (tText) = 0 or tText is null then - tText := 'FID'||ns; - end if; - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=upper(tText); - - if nExist = 0 then - exit; - end if; - tText:='FID'||ns; - end loop; - - - insert into fiche_detail(jft_id,f_id,ad_id,ad_value) values (ns,nf_id,23,upper(tText)); - return ns; - end; -$$; - - --- --- Name: is_closed(integer, integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION is_closed(p_periode integer, p_jrn_def_id integer) RETURNS boolean - LANGUAGE plpgsql - AS $$ -declare -bClosed bool; -str_status text; -begin -select p_closed into bClosed from parm_periode - where p_id=p_periode; - -if bClosed = true then - return bClosed; -end if; - -select status into str_status from jrn_periode - where p_id =p_periode and jrn_def_id=p_jrn_def_id; - -if str_status <> 'OP' then - return bClosed; -end if; -return false; -end; -$$; - - --- --- Name: jnt_fic_attr_ins(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jnt_fic_attr_ins() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - r_record jnt_fic_attr%ROWTYPE; - i_max integer; -begin -r_record=NEW; -perform comptaproc.fiche_attribut_synchro(r_record.fd_id); -select coalesce(max(jnt_order),0) into i_max from jnt_fic_attr where fd_id=r_record.fd_id; -i_max := i_max + 10; -NEW.jnt_order=i_max; -return NEW; -end; -$$; - - --- --- Name: jrn_add_note(bigint, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrn_add_note(p_jrid bigint, p_note text) RETURNS void - LANGUAGE plpgsql - AS $$ -declare - tmp bigint; -begin - if length(trim(p_note)) = 0 then - delete from jrn_note where jr_id= p_jrid; - return; - end if; - - select n_id into tmp from jrn_note where jr_id = p_jrid; - - if FOUND then - update jrn_note set n_text=trim(p_note) where jr_id = p_jrid; - else - insert into jrn_note (jr_id,n_text) values ( p_jrid, p_note); - - end if; - - return; -end; -$$; - - --- --- Name: jrn_check_periode(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrn_check_periode() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -bClosed bool; -str_status text; -ljr_tech_per jrn.jr_tech_per%TYPE; -ljr_def_id jrn.jr_def_id%TYPE; -lreturn jrn%ROWTYPE; -begin -if TG_OP='UPDATE' then - ljr_tech_per :=OLD.jr_tech_per ; - NEW.jr_tech_per := comptaproc.find_periode(to_char(NEW.jr_date,'DD.MM.YYYY')); - ljr_def_id :=OLD.jr_def_id; - lreturn :=NEW; - if NEW.jr_date = OLD.jr_date then - return NEW; - end if; - if comptaproc.is_closed(NEW.jr_tech_per,NEW.jr_def_id) = true then - raise exception 'Periode fermee'; - end if; -end if; - -if TG_OP='INSERT' then - NEW.jr_tech_per := comptaproc.find_periode(to_char(NEW.jr_date,'DD.MM.YYYY')); - ljr_tech_per :=NEW.jr_tech_per ; - ljr_def_id :=NEW.jr_def_id; - lreturn :=NEW; -end if; - -if TG_OP='DELETE' then - ljr_tech_per :=OLD.jr_tech_per; - ljr_def_id :=OLD.jr_def_id; - lreturn :=OLD; -end if; - -if comptaproc.is_closed (ljr_def_id,ljr_def_id) = true then - raise exception 'Periode fermee'; -end if; - -return lreturn; -end;$$; - - --- --- Name: jrn_def_add(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrn_def_add() RETURNS trigger - LANGUAGE plpgsql - AS $$begin -execute 'insert into jrn_periode(p_id,jrn_def_id,status) select p_id,'||NEW.jrn_def_id||', - case when p_central=true then ''CE'' - when p_closed=true then ''CL'' - else ''OP'' - end -from -parm_periode '; -return NEW; -end;$$; - - --- --- Name: jrn_def_delete(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrn_def_delete() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -nb numeric; -begin -select count(*) into nb from jrn where jr_def_id=OLD.jrn_def_id; - -if nb <> 0 then - raise exception 'EFFACEMENT INTERDIT: JOURNAL UTILISE'; -end if; -return OLD; -end;$$; - - --- --- Name: jrn_del(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrn_del() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -row jrn%ROWTYPE; -begin -row:=OLD; -insert into del_jrn ( jr_id, - jr_def_id, - jr_montant, - jr_comment, - jr_date, - jr_grpt_id, - jr_internal, - jr_tech_date, - jr_tech_per, - jrn_ech, - jr_ech, - jr_rapt, - jr_valid, - jr_opid, - jr_c_opid, - jr_pj, - jr_pj_name, - jr_pj_type, - jr_pj_number, - del_jrn_date) - select jr_id, - jr_def_id, - jr_montant, - jr_comment, - jr_date, - jr_grpt_id, - jr_internal, - jr_tech_date, - jr_tech_per, - jrn_ech, - jr_ech, - jr_rapt, - jr_valid, - jr_opid, - jr_c_opid, - jr_pj, - jr_pj_name, - jr_pj_type, - jr_pj_number - ,now() from jrn where jr_id=row.jr_id; -return row; -end; -$$; - - --- --- Name: jrnx_del(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrnx_del() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -row jrnx%ROWTYPE; -begin -row:=OLD; - - -insert into del_jrnx( - j_id, j_date, j_montant, j_poste, j_grpt, j_rapt, j_jrn_def, - j_debit, j_text, j_centralized, j_internal, j_tech_user, j_tech_date, - j_tech_per, j_qcode, f_id) SELECT j_id, j_date, j_montant, j_poste, j_grpt, j_rapt, j_jrn_def, - j_debit, j_text, j_centralized, j_internal, j_tech_user, j_tech_date, - j_tech_per, j_qcode, f_id from jrnx where j_id=row.j_id; -return row; -end; -$$; - - --- --- Name: jrnx_ins(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrnx_ins() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -n_fid bigint; -begin - -NEW.j_tech_per := comptaproc.find_periode(to_char(NEW.j_date,'DD.MM.YYYY')); -if NEW.j_tech_per = -1 then - raise exception 'Période invalide'; -end if; - -if NEW.j_qcode is NULL then - return NEW; -end if; - -NEW.j_qcode=trim(upper(NEW.j_qcode)); - -if length (NEW.j_qcode) = 0 then - NEW.j_qcode=NULL; - else - select f_id into n_fid from fiche_detail where ad_id=23 and ad_value=NEW.j_qcode; - if NOT FOUND then - raise exception 'La fiche dont le quick code est % n''existe pas',NEW.j_qcode; - end if; -end if; -NEW.f_id:=n_fid; -return NEW; -end; -$$; - - --- --- Name: jrnx_letter_del(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrnx_letter_del() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -row jrnx%ROWTYPE; -begin -row:=OLD; -delete from jnt_letter - where (jl_id in (select jl_id from letter_deb) and jl_id not in(select jl_id from letter_cred )) - or (jl_id not in (select jl_id from letter_deb ) and jl_id in(select jl_id from letter_cred )); -return row; -end; -$$; - - --- --- Name: plan_analytic_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION plan_analytic_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - name text; -begin - name:=upper(NEW.pa_name); - name:=trim(name); - name:=replace(name,' ',''); - NEW.pa_name:=name; -return NEW; -end; -$$; - - --- --- Name: poste_analytique_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION poste_analytique_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$declare -name text; -rCount record; - -begin -name:=upper(NEW.po_name); -name:=trim(name); -name:=replace(name,' ',''); -NEW.po_name:=name; - -if NEW.ga_id is NULL then -return NEW; -end if; - -if length(trim(NEW.ga_id)) = 0 then - NEW.ga_id:=NULL; - return NEW; -end if; -perform 'select ga_id from groupe_analytique where ga_id='||NEW.ga_id; -if NOT FOUND then - raise exception' Inexistent Group Analytic %',NEW.ga_id; -end if; -return NEW; -end;$$; - - --- --- Name: proc_check_balance(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION proc_check_balance() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - diff numeric; - tt integer; -begin - if TG_OP = 'INSERT' or TG_OP='UPDATE' then - tt=NEW.jr_grpt_id; - diff:=check_balance(tt); - if diff != 0 then - raise exception 'balance error %',diff ; - end if; - return NEW; - end if; -end; -$$; - - --- --- Name: quant_purchase_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION quant_purchase_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ - begin - if NEW.qp_price < 0 OR NEW.qp_quantite <0 THEN - NEW.qp_price := abs (NEW.qp_price)*(-1); - NEW.qp_quantite := abs (NEW.qp_quantite)*(-1); - end if; -return NEW; -end; -$$; - - --- --- Name: quant_sold_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION quant_sold_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ - begin - if NEW.qs_price < 0 OR NEW.qs_quantite <0 THEN - NEW.qs_price := abs (NEW.qs_price)*(-1); - NEW.qs_quantite := abs (NEW.qs_quantite)*(-1); - end if; -return NEW; -end; -$$; - - --- --- Name: t_document_modele_validate(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION t_document_modele_validate() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - lText text; - modified document_modele%ROWTYPE; -begin - modified:=NEW; - - modified.md_filename:=replace(NEW.md_filename,' ','_'); - return modified; -end; -$$; - - --- --- Name: t_document_type_insert(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION t_document_type_insert() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -nCounter integer; - BEGIN -select count(*) into nCounter from pg_class where relname='seq_doc_type_'||NEW.dt_id; -if nCounter = 0 then - execute 'create sequence seq_doc_type_'||NEW.dt_id; -end if; - RETURN NEW; - END; -$$; - - --- --- Name: t_document_validate(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION t_document_validate() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - lText text; - modified document%ROWTYPE; -begin - modified:=NEW; - modified.d_filename:=replace(NEW.d_filename,' ','_'); - return modified; -end; -$$; - - --- --- Name: t_jrn_def_sequence(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION t_jrn_def_sequence() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -nCounter integer; - - BEGIN - select count(*) into nCounter - from pg_class where relname='s_jrn_'||NEW.jrn_def_id; - if nCounter = 0 then - execute 'create sequence s_jrn_'||NEW.jrn_def_id; - raise notice 'Creating sequence s_jrn_%',NEW.jrn_def_id; - end if; - - RETURN NEW; - END; -$$; - - --- --- Name: table_analytic_account(text, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION table_analytic_account(p_from text, p_to text) RETURNS SETOF public.anc_table_account_type - LANGUAGE plpgsql - AS $$ -declare - ret ANC_table_account_type%ROWTYPE; - sql_from text:=''; - sql_to text:=''; - sWhere text:=''; - sAnd text:=''; - sResult text:=''; -begin -if p_from <> '' and p_from is not null then - sql_from:='oa_date >= to_date('''||p_from::text||''',''DD.MM.YYYY'')'; - sWhere:=' where '; -end if; - -if p_to <> '' and p_to is not null then - sql_to=' oa_date <= to_date('''||p_to::text||''',''DD.MM.YYYY'')'; - sWhere := ' where '; -end if; - -if sql_to <> '' and sql_from <> '' then - sAnd:=' and '; -end if; - -sResult := sWhere || sql_from || sAnd || sql_to; - -for ret in EXECUTE 'SELECT po.po_id, - po.pa_id, po.po_name, - po.po_description,sum( - CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount - END) AS sum_amount, jrnx.j_poste, tmp_pcmn.pcm_lib AS name - FROM operation_analytique - JOIN poste_analytique po USING (po_id) - JOIN jrnx USING (j_id) - JOIN tmp_pcmn ON jrnx.j_poste::text = tmp_pcmn.pcm_val::text -'|| sResult ||' - GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.j_poste, tmp_pcmn.pcm_lib, po.po_description - HAVING sum( -CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount -END) <> 0::numeric ' - loop - return next ret; -end loop; -end; -$$; - - --- --- Name: table_analytic_card(text, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION table_analytic_card(p_from text, p_to text) RETURNS SETOF public.anc_table_card_type - LANGUAGE plpgsql - AS $$ -declare - ret ANC_table_card_type%ROWTYPE; - sql_from text:=''; - sql_to text:=''; - sWhere text:=''; - sAnd text:=''; - sResult text:=''; -begin -if p_from <> '' and p_from is not null then - sql_from:='oa_date >= to_date('''||p_from::text||''',''DD.MM.YYYY'')'; - sWhere:=' where '; -end if; - -if p_to <> '' and p_to is not null then - sql_to=' oa_date <= to_date('''||p_to::text||''',''DD.MM.YYYY'')'; - sWhere := ' where '; -end if; - -if sql_to <> '' and sql_from <> '' then - sAnd :=' and '; -end if; - -sResult := sWhere || sql_from || sAnd || sql_to; - -for ret in EXECUTE ' SELECT po.po_id, po.pa_id, po.po_name, po.po_description, sum( - CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount - END) AS sum_amount, jrnx.f_id, jrnx.j_qcode, ( SELECT fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id) AS name - FROM operation_analytique - JOIN poste_analytique po USING (po_id) - JOIN jrnx USING (j_id)'|| sResult ||' - GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.f_id, jrnx.j_qcode, ( SELECT fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id), po.po_description - HAVING sum( -CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount -END) <> 0::numeric;' - - - loop - return next ret; -end loop; -end; -$$; - - --- --- Name: tmp_pcmn_alphanum_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION tmp_pcmn_alphanum_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - r_record tmp_pcmn%ROWTYPE; -begin -r_record := NEW; -r_record.pcm_val:=format_account(NEW.pcm_val); - -return r_record; -end; -$$; - - --- --- Name: tmp_pcmn_ins(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION tmp_pcmn_ins() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - r_record tmp_pcmn%ROWTYPE; -begin -r_record := NEW; -if length(trim(r_record.pcm_type))=0 or r_record.pcm_type is NULL then - r_record.pcm_type:=find_pcm_type(NEW.pcm_val); - return r_record; -end if; -return NEW; -end; -$$; - - --- --- Name: trim_cvs_quote(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION trim_cvs_quote() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - modified import_tmp%ROWTYPE; -begin - modified:=NEW; - modified.devise=replace(new.devise,'"',''); - modified.poste_comptable=replace(new.poste_comptable,'"',''); - modified.compte_ordre=replace(NEW.COMPTE_ORDRE,'"',''); - modified.detail=replace(NEW.DETAIL,'"',''); - modified.num_compte=replace(NEW.NUM_COMPTE,'"',''); - return modified; -end; -$$; - - --- --- Name: trim_space_format_csv_banque(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION trim_space_format_csv_banque() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - modified format_csv_banque%ROWTYPE; -begin - modified.name=trim(NEW.NAME); - modified.include_file=trim(new.include_file); - if ( length(modified.name) = 0 ) then - modified.name=null; - end if; - if ( length(modified.include_file) = 0 ) then - modified.include_file=null; - end if; - - return modified; -end; -$$; - - --- --- Name: tva_delete(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION tva_delete(integer) RETURNS void - LANGUAGE plpgsql - AS $_$ -declare - p_tva_id alias for $1; - nCount integer; -begin - nCount=0; - select count(*) into nCount from quant_sold where qs_vat_code=p_tva_id; - if nCount != 0 then - return; - - end if; - select count(*) into nCount from quant_purchase where qp_vat_code=p_tva_id; - if nCount != 0 then - return; - - end if; - -delete from tva_rate where tva_id=p_tva_id; - return; -end; -$_$; - - --- --- Name: tva_insert(text, numeric, text, text, integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION tva_insert(text, numeric, text, text, integer) RETURNS integer - LANGUAGE plpgsql - AS $_$ -declare - l_tva_id integer; - p_tva_label alias for $1; - p_tva_rate alias for $2; - p_tva_comment alias for $3; - p_tva_poste alias for $4; - p_tva_both_side alias for $5; - debit text; - credit text; - nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::account_type; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::account_type; - if nCount = 0 then return 4; end if; - -end if; -select into l_tva_id nextval('s_tva') ; -insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste,tva_both_side) - values (l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste,p_tva_both_side); -return 0; -end; -$_$; - - --- --- Name: tva_modify(integer, text, numeric, text, text, integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION tva_modify(integer, text, numeric, text, text, integer) RETURNS integer - LANGUAGE plpgsql - AS $_$ -declare - p_tva_id alias for $1; - p_tva_label alias for $2; - p_tva_rate alias for $3; - p_tva_comment alias for $4; - p_tva_poste alias for $5; - p_tva_both_side alias for $6; - debit text; - credit text; - nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::account_type; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::account_type; - if nCount = 0 then return 4; end if; - -end if; -update tva_rate set tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste,tva_both_side=p_tva_both_side - where tva_id=p_tva_id; -return 0; -end; -$_$; - - --- --- Name: update_quick_code(integer, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION update_quick_code(njft_id integer, tav_text text) RETURNS integer - LANGUAGE plpgsql - AS $$ - declare - ns integer; - nExist integer; - tText text; - old_qcode varchar; - begin - -- get current value - select ad_value into old_qcode from fiche_detail where jft_id=njft_id; - -- av_text didn't change so no update - if tav_text = upper( trim(old_qcode)) then - return 0; - end if; - - tText := trim(upper(tav_text)); - tText := replace(tText,' ',''); - if length ( tText) = 0 or tText is null then - return 0; - end if; - - ns := njft_id; - - loop - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=tText; - - if nExist = 0 then - exit; - end if; - if tText = 'FID'||ns then - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - end if; - tText :='FID'||ns; - - end loop; - update fiche_detail set ad_value = tText where jft_id=njft_id; - - -- update also the contact - update fiche_detail set ad_value = tText - where jft_id in - ( select jft_id - from fiche_detail - where ad_id=25 and ad_value=old_qcode); - - - update jrnx set j_qcode=tText where j_qcode = old_qcode; - return ns; - end; -$$; - - -SET search_path = public, pg_catalog; - --- --- Name: bud_card_ins_upd(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION bud_card_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$declare - sCode text; -begin - -sCode:=trim(upper(NEW.bc_code)); -sCode:=replace(sCode,' ','_'); -sCode:=substr(sCode,1,10); -NEW.bc_code:=sCode; -return NEW; -end;$$; - - --- --- Name: bud_detail_ins_upd(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION bud_detail_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$declare -mline bud_detail%ROWTYPE; -begin -mline:=NEW; -if mline.po_id = -1 then - mline.po_id:=NULL; -end if; -return mline; -end;$$; - - --- --- Name: correct_quant_purchase(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION correct_quant_purchase() RETURNS void - LANGUAGE plpgsql - AS $$ -declare - r_invalid quant_purchase; - s_QuickCode text; - b_j_debit bool; - r_new record; - r_jrnx record; -begin - -for r_invalid in select * from quant_purchase where qp_valid='A' -loop - -select j_qcode into s_QuickCode from vw_poste_qcode where f_id=r_invalid.qp_fiche; -raise notice 'qp_id % Quick code is %',r_invalid.qp_id,s_QuickCode; - -select j_debit,j_grpt,j_jrn_def,j_montant into r_jrnx from jrnx where j_id=r_invalid.j_id; -if NOT FOUND then - raise notice 'error not found jrnx %',r_invalid.j_id; - update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id; - continue; -end if; -raise notice 'j_debit % , j_grpt % ,j_jrn_def % qp_price %',r_jrnx.j_debit,r_jrnx.j_grpt,r_jrnx.j_jrn_def ,r_invalid.qp_price; - -select jr_internal,j_id,j_montant into r_new - from jrnx join jrn on (j_grpt=jr_grpt_id) - where - j_jrn_def=r_jrnx.j_jrn_def - and j_id not in (select j_id from quant_purchase) - and j_qcode=s_QuickCode - and j_montant=r_jrnx.j_montant - and j_debit != r_jrnx.j_debit; - -if NOT FOUND then - raise notice 'error not found %', r_invalid.j_id; - update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id; - continue; -end if; -raise notice 'j_id % found amount %',r_new.j_id,r_new.j_montant; - -insert into quant_purchase (qp_internal,j_id,qp_fiche,qp_quantite,qp_price,qp_vat,qp_nd_amount,qp_nd_tva_recup,qp_valid,qp_dep_priv,qp_supplier,qp_vat_code) -values (r_new.jr_internal,r_invalid.j_id,r_invalid.qp_fiche,(r_invalid.qp_quantite * (-1)),r_invalid.qp_price * (-1),r_invalid.qp_vat*(-1),r_invalid.qp_nd_amount*(-1),r_invalid.qp_nd_tva_recup*(-1) ,'Y',r_invalid.qp_dep_priv*(-1),r_invalid.qp_supplier,r_invalid.qp_vat_code); - -update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id; -end loop; -return; -end; -$$; - - --- --- Name: correct_quant_sale(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION correct_quant_sale() RETURNS void - LANGUAGE plpgsql - AS $$ -declare - r_invalid quant_sold; - s_QuickCode text; - b_j_debit bool; - r_new record; - r_jrnx record; -begin - -for r_invalid in select * from quant_sold where qs_valid='A' -loop - -select j_qcode into s_QuickCode from vw_poste_qcode where f_id=r_invalid.qs_fiche; -raise notice 'qp_id % Quick code is %',r_invalid.qs_id,s_QuickCode; - -select j_debit,j_grpt,j_jrn_def,j_montant into r_jrnx from jrnx where j_id=r_invalid.j_id; -if NOT FOUND then - update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id; - raise notice 'error not found jrnx %',r_invalid.j_id; - continue; -end if; -raise notice 'j_debit % , j_grpt % ,j_jrn_def % qs_price %',r_jrnx.j_debit,r_jrnx.j_grpt,r_jrnx.j_jrn_def ,r_invalid.qs_price; - -select jr_internal,j_id,j_montant into r_new - from jrnx join jrn on (j_grpt=jr_grpt_id) - where - j_jrn_def=r_jrnx.j_jrn_def - and j_id not in (select j_id from quant_sold) - and j_qcode=s_QuickCode - and j_montant=r_jrnx.j_montant - and j_debit != r_jrnx.j_debit; - -if NOT FOUND then - update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id; - raise notice 'error not found %', r_invalid.j_id; - continue; -end if; -raise notice 'j_id % found amount %',r_new.j_id,r_new.j_montant; - - - insert into quant_sold (qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_valid,qs_client,qs_vat_code) - values (r_new.jr_internal,r_invalid.j_id,r_invalid.qs_fiche,(r_invalid.qs_quantite * (-1)),r_invalid.qs_price * (-1),r_invalid.qs_vat*(-1),'Y',r_invalid.qs_client,r_invalid.qs_vat_code); - update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id; -end loop; -return; -end; -$$; - - -SET default_tablespace = ''; - -SET default_with_oids = true; - --- --- Name: action; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE action ( - ac_id integer NOT NULL, - ac_description text NOT NULL, - ac_module text, - ac_code character varying(9) -); - - --- --- Name: TABLE action; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE action IS 'The different privileges'; - - --- --- Name: COLUMN action.ac_code; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action.ac_code IS 'this code will be used in the code with the function User::check_action '; - - -SET default_with_oids = false; - --- --- Name: action_detail; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE action_detail ( - ad_id integer NOT NULL, - f_id bigint, - ad_text text, - ad_pu numeric(20,4) DEFAULT 0, - ad_quant numeric(20,4) DEFAULT 0, - ad_tva_id integer DEFAULT 0, - ad_tva_amount numeric(20,4) DEFAULT 0, - ad_total_amount numeric(20,4) DEFAULT 0, - ag_id integer DEFAULT 0 NOT NULL -); - - --- --- Name: TABLE action_detail; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE action_detail IS 'Detail of action_gestion, see class Action_Detail'; - - --- --- Name: COLUMN action_detail.f_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.f_id IS 'the concerned card'; - - --- --- Name: COLUMN action_detail.ad_text; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.ad_text IS ' Description '; - - --- --- Name: COLUMN action_detail.ad_pu; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.ad_pu IS ' price per unit '; - - --- --- Name: COLUMN action_detail.ad_quant; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.ad_quant IS 'quantity '; - - --- --- Name: COLUMN action_detail.ad_tva_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.ad_tva_id IS ' tva_id '; - - --- --- Name: COLUMN action_detail.ad_tva_amount; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.ad_tva_amount IS ' tva_amount '; - - --- --- Name: COLUMN action_detail.ad_total_amount; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.ad_total_amount IS ' total amount'; - - --- --- Name: action_detail_ad_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE action_detail_ad_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: action_detail_ad_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE action_detail_ad_id_seq OWNED BY action_detail.ad_id; - - --- --- Name: action_detail_ad_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('action_detail_ad_id_seq', 1, false); - - --- --- Name: action_gestion_ag_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE action_gestion_ag_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: action_gestion_ag_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('action_gestion_ag_id_seq', 1, false); - - -SET default_with_oids = true; - --- --- Name: action_gestion; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE action_gestion ( - ag_id integer DEFAULT nextval('action_gestion_ag_id_seq'::regclass) NOT NULL, - ag_type integer, - f_id_dest integer NOT NULL, - ag_title character varying(70), - ag_timestamp timestamp without time zone DEFAULT now(), - ag_cal character(1) DEFAULT 'C'::bpchar, - ag_ref_ag_id integer, - ag_comment text, - ag_ref text, - ag_hour text, - ag_priority integer DEFAULT 2, - ag_dest text, - ag_owner text, - ag_contact bigint, - ag_state integer -); - - --- --- Name: TABLE action_gestion; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE action_gestion IS 'Contains the details for the follow-up of customer, supplier, administration'; - - --- --- Name: COLUMN action_gestion.ag_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_type IS ' type of action: see document_type '; - - --- --- Name: COLUMN action_gestion.f_id_dest; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.f_id_dest IS ' third party '; - - --- --- Name: COLUMN action_gestion.ag_title; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_title IS ' title '; - - --- --- Name: COLUMN action_gestion.ag_timestamp; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_timestamp IS ' '; - - --- --- Name: COLUMN action_gestion.ag_cal; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_cal IS ' visible in the calendar if = C'; - - --- --- Name: COLUMN action_gestion.ag_ref_ag_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_ref_ag_id IS ' concerning the action '; - - --- --- Name: COLUMN action_gestion.ag_comment; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_comment IS ' comment of the action'; - - --- --- Name: COLUMN action_gestion.ag_ref; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_ref IS 'its reference '; - - --- --- Name: COLUMN action_gestion.ag_priority; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_priority IS 'Low, medium, important '; - - --- --- Name: COLUMN action_gestion.ag_dest; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_dest IS ' is the person who has to take care of this action '; - - --- --- Name: COLUMN action_gestion.ag_owner; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_owner IS ' is the owner of this action '; - - --- --- Name: COLUMN action_gestion.ag_contact; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_contact IS ' contact of the third part '; - - --- --- Name: COLUMN action_gestion.ag_state; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_state IS 'state of the action same as document_state '; - - --- --- Name: attr_def; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE attr_def ( - ad_id integer DEFAULT nextval(('s_attr_def'::text)::regclass) NOT NULL, - ad_text text, - ad_type text, - ad_size text NOT NULL -); - - --- --- Name: TABLE attr_def; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE attr_def IS 'The available attributs for the cards'; - - --- --- Name: attr_min; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE attr_min ( - frd_id integer NOT NULL, - ad_id integer NOT NULL -); - - --- --- Name: TABLE attr_min; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE attr_min IS 'The value of attributs for the cards'; - - --- --- Name: bilan_b_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE bilan_b_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: bilan_b_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('bilan_b_id_seq', 4, true); - - -SET default_with_oids = false; - --- --- Name: bilan; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE bilan ( - b_id integer DEFAULT nextval('bilan_b_id_seq'::regclass) NOT NULL, - b_name text NOT NULL, - b_file_template text NOT NULL, - b_file_form text, - b_type text NOT NULL -); - - --- --- Name: TABLE bilan; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE bilan IS 'contains the template and the data for generating different documents '; - - --- --- Name: COLUMN bilan.b_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN bilan.b_id IS 'primary key'; - - --- --- Name: COLUMN bilan.b_name; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN bilan.b_name IS 'Name of the document'; - - --- --- Name: COLUMN bilan.b_file_template; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN bilan.b_file_template IS 'path of the template (document/...)'; - - --- --- Name: COLUMN bilan.b_file_form; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN bilan.b_file_form IS 'path of the file with forms'; - - --- --- Name: COLUMN bilan.b_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN bilan.b_type IS 'type = ODS, RTF...'; - - --- --- Name: bud_card_bc_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE bud_card_bc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: bud_card_bc_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('bud_card_bc_id_seq', 1, false); - - --- --- Name: bud_detail_bd_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE bud_detail_bd_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: bud_detail_bd_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('bud_detail_bd_id_seq', 1, false); - - --- --- Name: bud_detail_periode_bdp_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE bud_detail_periode_bdp_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: bud_detail_periode_bdp_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('bud_detail_periode_bdp_id_seq', 1, false); - - -SET default_with_oids = true; - --- --- Name: centralized; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE centralized ( - c_id integer DEFAULT nextval(('s_centralized'::text)::regclass) NOT NULL, - c_j_id integer, - c_date date NOT NULL, - c_internal text NOT NULL, - c_montant numeric(20,4) NOT NULL, - c_debit boolean DEFAULT true, - c_jrn_def integer NOT NULL, - c_poste account_type, - c_description text, - c_grp integer NOT NULL, - c_comment text, - c_rapt text, - c_periode integer, - c_order integer -); - - --- --- Name: TABLE centralized; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE centralized IS 'The centralized journal'; - - -SET default_with_oids = false; - --- --- Name: del_action; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE del_action ( - del_id integer NOT NULL, - del_name text NOT NULL, - del_time timestamp without time zone -); - - --- --- Name: del_action_del_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE del_action_del_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: del_action_del_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE del_action_del_id_seq OWNED BY del_action.del_id; - - --- --- Name: del_action_del_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('del_action_del_id_seq', 1, false); - - --- --- Name: del_jrn; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE del_jrn ( - jr_id integer NOT NULL, - jr_def_id integer, - jr_montant numeric(20,4), - jr_comment text, - jr_date date, - jr_grpt_id integer, - jr_internal text, - jr_tech_date timestamp without time zone, - jr_tech_per integer, - jrn_ech date, - jr_ech date, - jr_rapt text, - jr_valid boolean, - jr_opid integer, - jr_c_opid integer, - jr_pj oid, - jr_pj_name text, - jr_pj_type text, - del_jrn_date timestamp without time zone, - jr_pj_number text, - dj_id integer NOT NULL -); - - --- --- Name: del_jrn_dj_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE del_jrn_dj_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: del_jrn_dj_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE del_jrn_dj_id_seq OWNED BY del_jrn.dj_id; - - --- --- Name: del_jrn_dj_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('del_jrn_dj_id_seq', 1, false); - - --- --- Name: del_jrnx; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE del_jrnx ( - j_id integer NOT NULL, - j_date date, - j_montant numeric(20,4), - j_poste account_type, - j_grpt integer, - j_rapt text, - j_jrn_def integer, - j_debit boolean, - j_text text, - j_centralized boolean, - j_internal text, - j_tech_user text, - j_tech_date timestamp without time zone, - j_tech_per integer, - j_qcode text, - djx_id integer NOT NULL, - f_id bigint -); - - --- --- Name: del_jrnx_djx_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE del_jrnx_djx_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: del_jrnx_djx_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE del_jrnx_djx_id_seq OWNED BY del_jrnx.djx_id; - - --- --- Name: del_jrnx_djx_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('del_jrnx_djx_id_seq', 1, false); - - --- --- Name: document_d_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE document_d_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: document_d_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('document_d_id_seq', 1, false); - - -SET default_with_oids = true; - --- --- Name: document; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE document ( - d_id integer DEFAULT nextval('document_d_id_seq'::regclass) NOT NULL, - ag_id integer NOT NULL, - d_lob oid, - d_number bigint NOT NULL, - d_filename text, - d_mimetype text -); - - --- --- Name: TABLE document; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE document IS 'This table contains all the documents : summary and lob files'; - - --- --- Name: document_modele_md_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE document_modele_md_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: document_modele_md_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('document_modele_md_id_seq', 1, false); - - --- --- Name: document_modele; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE document_modele ( - md_id integer DEFAULT nextval('document_modele_md_id_seq'::regclass) NOT NULL, - md_name text NOT NULL, - md_lob oid, - md_type integer NOT NULL, - md_filename text, - md_mimetype text, - md_affect character varying(3) NOT NULL -); - - --- --- Name: TABLE document_modele; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE document_modele IS ' contains all the template for the documents'; - - --- --- Name: document_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE document_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: SEQUENCE document_seq; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON SEQUENCE document_seq IS 'Sequence for the sequence bound to the document modele'; - - --- --- Name: document_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('document_seq', 1, false); - - --- --- Name: document_state_s_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE document_state_s_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: document_state_s_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('document_state_s_id_seq', 3, true); - - --- --- Name: document_state; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE document_state ( - s_id integer DEFAULT nextval('document_state_s_id_seq'::regclass) NOT NULL, - s_value character varying(50) NOT NULL -); - - --- --- Name: TABLE document_state; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE document_state IS 'State of the document'; - - --- --- Name: document_type_dt_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE document_type_dt_id_seq - START WITH 25 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: document_type_dt_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('document_type_dt_id_seq', 25, false); - - --- --- Name: document_type; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE document_type ( - dt_id integer DEFAULT nextval('document_type_dt_id_seq'::regclass) NOT NULL, - dt_value character varying(80) -); - - --- --- Name: TABLE document_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE document_type IS 'Type of document : meeting, invoice,...'; - - -SET default_with_oids = false; - --- --- Name: extension; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE extension ( - ex_id integer NOT NULL, - ex_name character varying(30) NOT NULL, - ex_code character varying(15) NOT NULL, - ex_desc character varying(250), - ex_file character varying NOT NULL, - ex_enable "char" DEFAULT 'Y'::"char" NOT NULL -); - - --- --- Name: TABLE extension; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE extension IS 'Content the needed information for the extension'; - - --- --- Name: COLUMN extension.ex_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN extension.ex_id IS 'Primary key'; - - --- --- Name: COLUMN extension.ex_name; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN extension.ex_name IS 'code of the extension '; - - --- --- Name: COLUMN extension.ex_code; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN extension.ex_code IS 'code of the extension '; - - --- --- Name: COLUMN extension.ex_desc; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN extension.ex_desc IS 'Description of the extension '; - - --- --- Name: COLUMN extension.ex_file; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN extension.ex_file IS 'path to the extension to include'; - - --- --- Name: COLUMN extension.ex_enable; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN extension.ex_enable IS 'Y : enabled N : disabled '; - - --- --- Name: extension_ex_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE extension_ex_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: extension_ex_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE extension_ex_id_seq OWNED BY extension.ex_id; - - --- --- Name: extension_ex_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('extension_ex_id_seq', 1, true); - - -SET default_with_oids = true; - --- --- Name: fiche; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE fiche ( - f_id integer DEFAULT nextval(('s_fiche'::text)::regclass) NOT NULL, - fd_id integer -); - - --- --- Name: TABLE fiche; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE fiche IS 'Cards'; - - --- --- Name: fiche_def; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE fiche_def ( - fd_id integer DEFAULT nextval(('s_fdef'::text)::regclass) NOT NULL, - fd_class_base text, - fd_label text NOT NULL, - fd_create_account boolean DEFAULT false, - frd_id integer NOT NULL -); - - --- --- Name: TABLE fiche_def; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE fiche_def IS 'Cards definition'; - - --- --- Name: fiche_def_ref; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE fiche_def_ref ( - frd_id integer DEFAULT nextval(('s_fiche_def_ref'::text)::regclass) NOT NULL, - frd_text text, - frd_class_base account_type -); - - --- --- Name: TABLE fiche_def_ref; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE fiche_def_ref IS 'Family Cards definition'; - - --- --- Name: fiche_detail; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE fiche_detail ( - jft_id integer DEFAULT nextval(('s_jnt_fic_att_value'::text)::regclass) NOT NULL, - f_id integer, - ad_id integer, - ad_value text -); - - --- --- Name: TABLE fiche_detail; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE fiche_detail IS 'join between the card and the attribut definition'; - - -SET default_with_oids = false; - --- --- Name: forecast; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE forecast ( - f_id integer NOT NULL, - f_name text NOT NULL, - f_start_date bigint, - f_end_date bigint -); - - --- --- Name: TABLE forecast; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE forecast IS 'contains the name of the forecast'; - - --- --- Name: forecast_cat; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE forecast_cat ( - fc_id integer NOT NULL, - fc_desc text NOT NULL, - f_id bigint, - fc_order integer DEFAULT 0 NOT NULL -); - - --- --- Name: COLUMN forecast_cat.fc_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_cat.fc_id IS 'primary key'; - - --- --- Name: COLUMN forecast_cat.fc_desc; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_cat.fc_desc IS 'text of the category'; - - --- --- Name: COLUMN forecast_cat.f_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_cat.f_id IS 'Foreign key, it is the parent from the table forecast'; - - --- --- Name: COLUMN forecast_cat.fc_order; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_cat.fc_order IS 'Order of the category, used when displaid'; - - --- --- Name: forecast_cat_fc_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE forecast_cat_fc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: forecast_cat_fc_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE forecast_cat_fc_id_seq OWNED BY forecast_cat.fc_id; - - --- --- Name: forecast_cat_fc_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('forecast_cat_fc_id_seq', 1, false); - - --- --- Name: forecast_f_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE forecast_f_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: forecast_f_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE forecast_f_id_seq OWNED BY forecast.f_id; - - --- --- Name: forecast_f_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('forecast_f_id_seq', 1, false); - - --- --- Name: forecast_item; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE forecast_item ( - fi_id integer NOT NULL, - fi_text text, - fi_account text, - fi_card integer, - fi_order integer, - fc_id integer, - fi_amount numeric(20,4) DEFAULT 0, - fi_debit "char" DEFAULT 'd'::"char" NOT NULL, - fi_pid integer -); - - --- --- Name: COLUMN forecast_item.fi_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_id IS 'Primary key'; - - --- --- Name: COLUMN forecast_item.fi_text; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_text IS 'Label of the i tem'; - - --- --- Name: COLUMN forecast_item.fi_account; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_account IS 'Accountancy entry'; - - --- --- Name: COLUMN forecast_item.fi_card; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_card IS 'Card (fiche.f_id)'; - - --- --- Name: COLUMN forecast_item.fi_order; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_order IS 'Order of showing (not used)'; - - --- --- Name: COLUMN forecast_item.fi_amount; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_amount IS 'Amount'; - - --- --- Name: COLUMN forecast_item.fi_debit; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_debit IS 'possible values are D or C'; - - --- --- Name: COLUMN forecast_item.fi_pid; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_pid IS '0 for every month, or the value parm_periode.p_id '; - - --- --- Name: forecast_item_fi_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE forecast_item_fi_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: forecast_item_fi_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE forecast_item_fi_id_seq OWNED BY forecast_item.fi_id; - - --- --- Name: forecast_item_fi_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('forecast_item_fi_id_seq', 1, false); - - -SET default_with_oids = true; - --- --- Name: form; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE form ( - fo_id integer DEFAULT nextval(('s_form'::text)::regclass) NOT NULL, - fo_fr_id integer, - fo_pos integer, - fo_label text, - fo_formula text -); - - --- --- Name: TABLE form; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE form IS 'Forms content'; - - --- --- Name: formdef; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE formdef ( - fr_id integer DEFAULT nextval(('s_formdef'::text)::regclass) NOT NULL, - fr_label text -); - - -SET default_with_oids = false; - --- --- Name: groupe_analytique; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE groupe_analytique ( - ga_id character varying(10) NOT NULL, - pa_id integer, - ga_description text -); - - --- --- Name: historique_analytique_ha_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE historique_analytique_ha_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: historique_analytique_ha_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('historique_analytique_ha_id_seq', 1, false); - - --- --- Name: info_def; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE info_def ( - id_type text NOT NULL, - id_description text -); - - --- --- Name: TABLE info_def; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE info_def IS 'Contains the types of additionnal info we can add to a operation'; - - --- --- Name: s_jnt_id; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jnt_id - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jnt_id; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jnt_id', 53, true); - - -SET default_with_oids = true; - --- --- Name: jnt_fic_attr; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jnt_fic_attr ( - fd_id integer, - ad_id integer, - jnt_id bigint DEFAULT nextval('s_jnt_id'::regclass) NOT NULL, - jnt_order integer NOT NULL -); - - --- --- Name: TABLE jnt_fic_attr; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jnt_fic_attr IS 'join between the family card and the attribut definition'; - - -SET default_with_oids = false; - --- --- Name: jnt_letter; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jnt_letter ( - jl_id integer NOT NULL, - jl_amount_deb numeric(20,4) -); - - --- --- Name: jnt_letter_jl_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE jnt_letter_jl_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: jnt_letter_jl_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE jnt_letter_jl_id_seq OWNED BY jnt_letter.jl_id; - - --- --- Name: jnt_letter_jl_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('jnt_letter_jl_id_seq', 1, false); - - -SET default_with_oids = true; - --- --- Name: jrn; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn ( - jr_id integer DEFAULT nextval(('s_jrn'::text)::regclass) NOT NULL, - jr_def_id integer NOT NULL, - jr_montant numeric(20,4) NOT NULL, - jr_comment text, - jr_date date, - jr_grpt_id integer NOT NULL, - jr_internal text, - jr_tech_date timestamp without time zone DEFAULT now() NOT NULL, - jr_tech_per integer NOT NULL, - jrn_ech date, - jr_ech date, - jr_rapt text, - jr_valid boolean DEFAULT true, - jr_opid integer, - jr_c_opid integer, - jr_pj oid, - jr_pj_name text, - jr_pj_type text, - jr_pj_number text, - jr_mt text -); - - --- --- Name: TABLE jrn; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrn IS 'Journal: content one line for a group of accountancy writing'; - - --- --- Name: jrn_action; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_action ( - ja_id integer DEFAULT nextval(('s_jrnaction'::text)::regclass) NOT NULL, - ja_name text NOT NULL, - ja_desc text, - ja_url text NOT NULL, - ja_action text NOT NULL, - ja_lang text DEFAULT 'FR'::text, - ja_jrn_type character(3) -); - - --- --- Name: TABLE jrn_action; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrn_action IS 'Possible action when we are in journal (menu)'; - - --- --- Name: jrn_def; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_def ( - jrn_def_id integer DEFAULT nextval(('s_jrn_def'::text)::regclass) NOT NULL, - jrn_def_name text NOT NULL, - jrn_def_class_deb text, - jrn_def_class_cred text, - jrn_def_fiche_deb text, - jrn_def_fiche_cred text, - jrn_deb_max_line integer DEFAULT 1, - jrn_cred_max_line integer DEFAULT 1, - jrn_def_ech boolean DEFAULT false, - jrn_def_ech_lib text, - jrn_def_type character(3) NOT NULL, - jrn_def_code text NOT NULL, - jrn_def_pj_pref text, - jrn_def_bank bigint, - jrn_def_num_op integer -); - - --- --- Name: TABLE jrn_def; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrn_def IS 'Definition of a journal, his properties'; - - -SET default_with_oids = false; - --- --- Name: jrn_info; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_info ( - ji_id integer NOT NULL, - jr_id integer NOT NULL, - id_type text NOT NULL, - ji_value text -); - - --- --- Name: jrn_info_ji_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE jrn_info_ji_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: jrn_info_ji_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE jrn_info_ji_id_seq OWNED BY jrn_info.ji_id; - - --- --- Name: jrn_info_ji_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('jrn_info_ji_id_seq', 1, false); - - --- --- Name: jrn_note; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_note ( - n_id integer NOT NULL, - n_text text, - jr_id bigint NOT NULL -); - - --- --- Name: TABLE jrn_note; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrn_note IS 'Note about operation'; - - --- --- Name: jrn_note_n_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE jrn_note_n_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: jrn_note_n_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE jrn_note_n_id_seq OWNED BY jrn_note.n_id; - - --- --- Name: jrn_note_n_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('jrn_note_n_id_seq', 1, false); - - --- --- Name: jrn_periode; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_periode ( - jrn_def_id integer NOT NULL, - p_id integer NOT NULL, - status text -); - - -SET default_with_oids = true; - --- --- Name: jrn_rapt; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_rapt ( - jra_id integer DEFAULT nextval(('s_jrn_rapt'::text)::regclass) NOT NULL, - jr_id integer NOT NULL, - jra_concerned integer NOT NULL -); - - --- --- Name: TABLE jrn_rapt; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrn_rapt IS 'Rapprochement between operation'; - - --- --- Name: jrn_type; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_type ( - jrn_type_id character(3) NOT NULL, - jrn_desc text -); - - --- --- Name: TABLE jrn_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrn_type IS 'Type of journal (Sell, Buy, Financial...)'; - - --- --- Name: jrnx; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrnx ( - j_id integer DEFAULT nextval(('s_jrn_op'::text)::regclass) NOT NULL, - j_date date DEFAULT now(), - j_montant numeric(20,4) DEFAULT 0, - j_poste account_type NOT NULL, - j_grpt integer NOT NULL, - j_rapt text, - j_jrn_def integer NOT NULL, - j_debit boolean DEFAULT true, - j_text text, - j_centralized boolean DEFAULT false, - j_internal text, - j_tech_user text NOT NULL, - j_tech_date timestamp without time zone DEFAULT now() NOT NULL, - j_tech_per integer NOT NULL, - j_qcode text, - f_id bigint -); - - --- --- Name: TABLE jrnx; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrnx IS 'Journal: content one line for each accountancy writing'; - - -SET default_with_oids = false; - --- --- Name: letter_cred; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE letter_cred ( - lc_id integer NOT NULL, - j_id bigint NOT NULL, - jl_id bigint NOT NULL -); - - --- --- Name: letter_cred_lc_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE letter_cred_lc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: letter_cred_lc_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE letter_cred_lc_id_seq OWNED BY letter_cred.lc_id; - - --- --- Name: letter_cred_lc_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('letter_cred_lc_id_seq', 1, false); - - --- --- Name: letter_deb; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE letter_deb ( - ld_id integer NOT NULL, - j_id bigint NOT NULL, - jl_id bigint NOT NULL -); - - --- --- Name: letter_deb_ld_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE letter_deb_ld_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: letter_deb_ld_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE letter_deb_ld_id_seq OWNED BY letter_deb.ld_id; - - --- --- Name: letter_deb_ld_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('letter_deb_ld_id_seq', 1, false); - - --- --- Name: menu_ref; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE menu_ref ( - me_code text NOT NULL, - me_menu text, - me_file text, - me_url text, - me_description text, - me_parameter text, - me_javascript text, - me_type character varying(2) -); - - --- --- Name: COLUMN menu_ref.me_code; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN menu_ref.me_code IS 'Menu Code '; - - --- --- Name: COLUMN menu_ref.me_menu; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN menu_ref.me_menu IS 'Label to display'; - - --- --- Name: COLUMN menu_ref.me_file; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN menu_ref.me_file IS 'if not empty file to include'; - - --- --- Name: COLUMN menu_ref.me_url; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN menu_ref.me_url IS 'url '; - - --- --- Name: COLUMN menu_ref.me_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN menu_ref.me_type IS 'ME for menu -PR for Printing -SP for special meaning (ex: return to line) -PL for plugin'; - - --- --- Name: mod_payment; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE mod_payment ( - mp_id integer NOT NULL, - mp_lib text NOT NULL, - mp_jrn_def_id integer NOT NULL, - mp_fd_id bigint, - mp_qcode text, - jrn_def_id bigint -); - - --- --- Name: TABLE mod_payment; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE mod_payment IS 'Contains the different media of payment and the corresponding ledger'; - - --- --- Name: COLUMN mod_payment.jrn_def_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN mod_payment.jrn_def_id IS 'Ledger using this payment method'; - - --- --- Name: mod_payment_mp_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE mod_payment_mp_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: mod_payment_mp_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE mod_payment_mp_id_seq OWNED BY mod_payment.mp_id; - - --- --- Name: mod_payment_mp_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('mod_payment_mp_id_seq', 10, true); - - --- --- Name: op_def_op_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE op_def_op_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: op_def_op_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('op_def_op_seq', 1, false); - - --- --- Name: op_predef; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE op_predef ( - od_id integer DEFAULT nextval('op_def_op_seq'::regclass) NOT NULL, - jrn_def_id integer NOT NULL, - od_name text NOT NULL, - od_item integer NOT NULL, - od_jrn_type text NOT NULL, - od_direct boolean NOT NULL -); - - --- --- Name: TABLE op_predef; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE op_predef IS 'predefined operation'; - - --- --- Name: COLUMN op_predef.jrn_def_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN op_predef.jrn_def_id IS 'jrn_id'; - - --- --- Name: COLUMN op_predef.od_name; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN op_predef.od_name IS 'name of the operation'; - - --- --- Name: op_predef_detail_opd_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE op_predef_detail_opd_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: op_predef_detail_opd_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('op_predef_detail_opd_id_seq', 1, false); - - --- --- Name: op_predef_detail; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE op_predef_detail ( - opd_id integer DEFAULT nextval('op_predef_detail_opd_id_seq'::regclass) NOT NULL, - od_id integer NOT NULL, - opd_poste text NOT NULL, - opd_amount numeric(20,4), - opd_tva_id integer, - opd_quantity numeric(20,4), - opd_debit boolean NOT NULL, - opd_tva_amount numeric(20,4), - opd_comment text, - opd_qc boolean -); - - --- --- Name: TABLE op_predef_detail; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE op_predef_detail IS 'contains the detail of predefined operations'; - - --- --- Name: s_oa_group; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_oa_group - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_oa_group; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_oa_group', 1, true); - - --- --- Name: operation_analytique; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE operation_analytique ( - oa_id integer DEFAULT nextval('historique_analytique_ha_id_seq'::regclass) NOT NULL, - po_id integer NOT NULL, - oa_amount numeric(20,4) NOT NULL, - oa_description text, - oa_debit boolean DEFAULT true NOT NULL, - j_id integer, - oa_group integer DEFAULT nextval('s_oa_group'::regclass) NOT NULL, - oa_date date NOT NULL, - oa_row integer, - CONSTRAINT operation_analytique_oa_amount_check CHECK ((oa_amount >= (0)::numeric)) -); - - --- --- Name: TABLE operation_analytique; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE operation_analytique IS 'History of the analytic account'; - - -SET default_with_oids = true; - --- --- Name: parameter; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE parameter ( - pr_id text NOT NULL, - pr_value text -); - - --- --- Name: TABLE parameter; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE parameter IS 'parameter of the company'; - - --- --- Name: parm_code; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE parm_code ( - p_code text NOT NULL, - p_value text, - p_comment text -); - - --- --- Name: parm_money; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE parm_money ( - pm_id integer DEFAULT nextval(('s_currency'::text)::regclass), - pm_code character(3) NOT NULL, - pm_rate numeric(20,4) -); - - --- --- Name: TABLE parm_money; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE parm_money IS 'Currency conversion'; - - --- --- Name: parm_periode; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE parm_periode ( - p_id integer DEFAULT nextval(('s_periode'::text)::regclass) NOT NULL, - p_start date NOT NULL, - p_end date NOT NULL, - p_exercice text DEFAULT to_char(now(), 'YYYY'::text) NOT NULL, - p_closed boolean DEFAULT false, - p_central boolean DEFAULT false, - CONSTRAINT parm_periode_check CHECK ((p_end >= p_start)) -); - - --- --- Name: TABLE parm_periode; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE parm_periode IS 'Periode definition'; - - -SET default_with_oids = false; - --- --- Name: parm_poste; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE parm_poste ( - p_value account_type NOT NULL, - p_type text NOT NULL -); - - --- --- Name: TABLE parm_poste; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE parm_poste IS 'Contains data for finding is the type of the account (asset)'; - - --- --- Name: plan_analytique_pa_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE plan_analytique_pa_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: plan_analytique_pa_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('plan_analytique_pa_id_seq', 1, false); - - --- --- Name: plan_analytique; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE plan_analytique ( - pa_id integer DEFAULT nextval('plan_analytique_pa_id_seq'::regclass) NOT NULL, - pa_name text DEFAULT 'Sans Nom'::text NOT NULL, - pa_description text -); - - --- --- Name: TABLE plan_analytique; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE plan_analytique IS 'Plan Analytique (max 5)'; - - --- --- Name: poste_analytique_po_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE poste_analytique_po_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: poste_analytique_po_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('poste_analytique_po_id_seq', 1, false); - - --- --- Name: poste_analytique; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE poste_analytique ( - po_id integer DEFAULT nextval('poste_analytique_po_id_seq'::regclass) NOT NULL, - po_name text NOT NULL, - pa_id integer NOT NULL, - po_amount numeric(20,4) DEFAULT 0.0 NOT NULL, - po_description text, - ga_id character varying(10) -); - - --- --- Name: TABLE poste_analytique; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE poste_analytique IS 'Poste Analytique'; - - --- --- Name: profile; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE profile ( - p_name text NOT NULL, - p_id integer NOT NULL, - p_desc text, - with_calc boolean DEFAULT true, - with_direct_form boolean DEFAULT true -); - - --- --- Name: TABLE profile; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE profile IS 'Available profile '; - - --- --- Name: COLUMN profile.p_name; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile.p_name IS 'Name of the profile'; - - --- --- Name: COLUMN profile.p_desc; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile.p_desc IS 'description of the profile'; - - --- --- Name: COLUMN profile.with_calc; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile.with_calc IS 'show the calculator'; - - --- --- Name: COLUMN profile.with_direct_form; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile.with_direct_form IS 'show the direct form'; - - --- --- Name: profile_menu; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE profile_menu ( - pm_id integer NOT NULL, - me_code text, - me_code_dep text, - p_id integer, - p_order integer, - p_type_display text NOT NULL, - pm_default integer -); - - --- --- Name: TABLE profile_menu; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE profile_menu IS 'Join between the profile and the menu '; - - --- --- Name: COLUMN profile_menu.me_code_dep; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_menu.me_code_dep IS 'menu code dependency'; - - --- --- Name: COLUMN profile_menu.p_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_menu.p_id IS 'link to profile'; - - --- --- Name: COLUMN profile_menu.p_order; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_menu.p_order IS 'order of displaying menu'; - - --- --- Name: COLUMN profile_menu.p_type_display; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_menu.p_type_display IS 'M is a module -E is a menu -S is a select (for plugin)'; - - --- --- Name: COLUMN profile_menu.pm_default; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_menu.pm_default IS 'default menu'; - - --- --- Name: profile_menu_pm_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE profile_menu_pm_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: profile_menu_pm_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE profile_menu_pm_id_seq OWNED BY profile_menu.pm_id; - - --- --- Name: profile_menu_pm_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('profile_menu_pm_id_seq', 779, true); - - --- --- Name: profile_menu_type; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE profile_menu_type ( - pm_type text NOT NULL, - pm_desc text -); - - --- --- Name: profile_p_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE profile_p_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: profile_p_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE profile_p_id_seq OWNED BY profile.p_id; - - --- --- Name: profile_p_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('profile_p_id_seq', 11, true); - - --- --- Name: profile_user; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE profile_user ( - user_name text NOT NULL, - pu_id integer NOT NULL, - p_id integer -); - - --- --- Name: TABLE profile_user; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE profile_user IS 'Contains the available profile for users'; - - --- --- Name: COLUMN profile_user.user_name; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_user.user_name IS 'fk to available_user : login'; - - --- --- Name: COLUMN profile_user.p_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_user.p_id IS 'fk to profile'; - - --- --- Name: profile_user_pu_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE profile_user_pu_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: profile_user_pu_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE profile_user_pu_id_seq OWNED BY profile_user.pu_id; - - --- --- Name: profile_user_pu_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('profile_user_pu_id_seq', 6, true); - - --- --- Name: quant_fin; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE quant_fin ( - qf_id bigint NOT NULL, - qf_bank bigint, - jr_id bigint, - qf_other bigint, - qf_amount numeric(20,4) DEFAULT 0 -); - - --- --- Name: TABLE quant_fin; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE quant_fin IS 'Simple operation for financial'; - - --- --- Name: quant_fin_qf_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE quant_fin_qf_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: quant_fin_qf_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE quant_fin_qf_id_seq OWNED BY quant_fin.qf_id; - - --- --- Name: quant_fin_qf_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('quant_fin_qf_id_seq', 1, false); - - --- --- Name: quant_purchase; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE quant_purchase ( - qp_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL, - qp_internal text, - j_id integer NOT NULL, - qp_fiche integer NOT NULL, - qp_quantite numeric(20,4) NOT NULL, - qp_price numeric(20,4), - qp_vat numeric(20,4) DEFAULT 0.0, - qp_vat_code integer, - qp_nd_amount numeric(20,4) DEFAULT 0.0, - qp_nd_tva numeric(20,4) DEFAULT 0.0, - qp_nd_tva_recup numeric(20,4) DEFAULT 0.0, - qp_supplier integer NOT NULL, - qp_valid character(1) DEFAULT 'Y'::bpchar NOT NULL, - qp_dep_priv numeric(20,4) DEFAULT 0.0, - qp_vat_sided numeric(20,4) DEFAULT 0.0 -); - - --- --- Name: COLUMN quant_purchase.qp_vat_sided; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN quant_purchase.qp_vat_sided IS 'amount of the VAT which avoid VAT, case of the VAT which add the same amount at the deb and cred'; - - -SET default_with_oids = true; - --- --- Name: quant_sold; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE quant_sold ( - qs_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL, - qs_internal text, - qs_fiche integer NOT NULL, - qs_quantite numeric(20,4) NOT NULL, - qs_price numeric(20,4), - qs_vat numeric(20,4), - qs_vat_code integer, - qs_client integer NOT NULL, - qs_valid character(1) DEFAULT 'Y'::bpchar NOT NULL, - j_id integer NOT NULL, - qs_vat_sided numeric(20,4) DEFAULT 0.0 -); - - --- --- Name: TABLE quant_sold; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE quant_sold IS 'Contains about invoice for customer'; - - --- --- Name: s_attr_def; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_attr_def - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_attr_def; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_attr_def', 9001, false); - - --- --- Name: s_cbc; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_cbc - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_cbc; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_cbc', 1, false); - - --- --- Name: s_central; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_central - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_central; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_central', 1, false); - - --- --- Name: s_central_order; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_central_order - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_central_order; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_central_order', 1, false); - - --- --- Name: s_centralized; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_centralized - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_centralized; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_centralized', 1, false); - - --- --- Name: s_currency; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_currency - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_currency; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_currency', 1, true); - - --- --- Name: s_fdef; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_fdef - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_fdef; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_fdef', 6, true); - - --- --- Name: s_fiche; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_fiche - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_fiche; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_fiche', 20, true); - - --- --- Name: s_fiche_def_ref; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_fiche_def_ref - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_fiche_def_ref; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_fiche_def_ref', 16, true); - - --- --- Name: s_form; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_form - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_form; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_form', 1, false); - - --- --- Name: s_formdef; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_formdef - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_formdef; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_formdef', 1, false); - - --- --- Name: s_grpt; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_grpt - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_grpt; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_grpt', 2, true); - - --- --- Name: s_idef; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_idef - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_idef; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_idef', 1, false); - - --- --- Name: s_internal; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_internal - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_internal; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_internal', 1, false); - - --- --- Name: s_invoice; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_invoice - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_invoice; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_invoice', 1, false); - - --- --- Name: s_isup; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_isup - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_isup; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_isup', 1, false); - - --- --- Name: s_jnt_fic_att_value; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jnt_fic_att_value - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jnt_fic_att_value; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jnt_fic_att_value', 371, true); - - --- --- Name: s_jrn; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn', 1, false); - - --- --- Name: s_jrn_1; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_1 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_1; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_1', 1, false); - - --- --- Name: s_jrn_2; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_2 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_2; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_2', 1, false); - - --- --- Name: s_jrn_3; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_3 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_3; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_3', 1, false); - - --- --- Name: s_jrn_4; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_4 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_4; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_4', 1, false); - - --- --- Name: s_jrn_def; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_def - START WITH 5 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_def; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_def', 5, false); - - --- --- Name: s_jrn_op; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_op - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_op; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_op', 1, false); - - --- --- Name: s_jrn_pj1; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_pj1 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_pj1; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_pj1', 1, false); - - --- --- Name: s_jrn_pj2; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_pj2 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_pj2; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_pj2', 1, false); - - --- --- Name: s_jrn_pj3; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_pj3 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_pj3; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_pj3', 1, false); - - --- --- Name: s_jrn_pj4; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_pj4 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_pj4; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_pj4', 1, false); - - --- --- Name: s_jrn_rapt; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_rapt - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_rapt; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_rapt', 1, false); - - --- --- Name: s_jrnaction; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrnaction - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrnaction; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrnaction', 5, true); - - --- --- Name: s_jrnx; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrnx - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrnx; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrnx', 1, false); - - --- --- Name: s_periode; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_periode - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_periode; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_periode', 91, true); - - --- --- Name: s_quantity; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_quantity - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_quantity; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_quantity', 7, true); - - --- --- Name: s_stock_goods; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_stock_goods - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_stock_goods; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_stock_goods', 1, false); - - --- --- Name: s_tva; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_tva - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_tva; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_tva', 1001, true); - - --- --- Name: s_user_act; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_user_act - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_user_act; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_user_act', 1, false); - - --- --- Name: s_user_jrn; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_user_jrn - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_user_jrn; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_user_jrn', 1, false); - - --- --- Name: seq_bud_hypothese_bh_id; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_bud_hypothese_bh_id - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_bud_hypothese_bh_id; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_bud_hypothese_bh_id', 1, false); - - --- --- Name: seq_doc_type_1; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_1 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_1; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_1', 1, false); - - --- --- Name: seq_doc_type_10; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_10 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_10; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_10', 1, false); - - --- --- Name: seq_doc_type_2; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_2 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_2; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_2', 1, false); - - --- --- Name: seq_doc_type_20; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_20 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_20; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_20', 1, false); - - --- --- Name: seq_doc_type_21; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_21 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_21; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_21', 1, false); - - --- --- Name: seq_doc_type_22; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_22 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_22; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_22', 1, false); - - --- --- Name: seq_doc_type_3; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_3 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_3; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_3', 1, false); - - --- --- Name: seq_doc_type_4; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_4 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_4; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_4', 1, false); - - --- --- Name: seq_doc_type_5; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_5 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_5; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_5', 1, false); - - --- --- Name: seq_doc_type_6; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_6 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_6; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_6', 1, false); - - --- --- Name: seq_doc_type_7; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_7 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_7; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_7', 1, false); - - --- --- Name: seq_doc_type_8; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_8 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_8; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_8', 1, false); - - --- --- Name: seq_doc_type_9; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_9 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_9; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_9', 1, false); - - --- --- Name: stock_goods; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE stock_goods ( - sg_id integer DEFAULT nextval(('s_stock_goods'::text)::regclass) NOT NULL, - j_id integer, - f_id integer, - sg_code text, - sg_quantity numeric(8,4) DEFAULT 0, - sg_type character(1) DEFAULT 'c'::bpchar NOT NULL, - sg_date date, - sg_tech_date date DEFAULT now(), - sg_tech_user text, - sg_comment character varying(80), - sg_exercice character varying(4), - CONSTRAINT stock_goods_sg_type CHECK (((sg_type = 'c'::bpchar) OR (sg_type = 'd'::bpchar))) -); - - --- --- Name: TABLE stock_goods; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE stock_goods IS 'About the goods'; - - --- --- Name: tmp_pcmn; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE tmp_pcmn ( - pcm_val account_type NOT NULL, - pcm_lib text, - pcm_val_parent account_type DEFAULT 0, - pcm_type text -); - - --- --- Name: TABLE tmp_pcmn; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE tmp_pcmn IS 'Plan comptable minimum normalisé'; - - --- --- Name: todo_list_tl_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE todo_list_tl_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: todo_list_tl_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('todo_list_tl_id_seq', 1, false); - - -SET default_with_oids = false; - --- --- Name: todo_list; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE todo_list ( - tl_id integer DEFAULT nextval('todo_list_tl_id_seq'::regclass) NOT NULL, - tl_date date NOT NULL, - tl_title text NOT NULL, - tl_desc text, - use_login text NOT NULL -); - - --- --- Name: TABLE todo_list; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE todo_list IS 'Todo list'; - - -SET default_with_oids = true; - --- --- Name: tva_rate; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE tva_rate ( - tva_id integer DEFAULT nextval('s_tva'::regclass) NOT NULL, - tva_label text NOT NULL, - tva_rate numeric(8,4) DEFAULT 0.0 NOT NULL, - tva_comment text, - tva_poste text, - tva_both_side integer DEFAULT 0 -); - - --- --- Name: TABLE tva_rate; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE tva_rate IS 'Rate of vat'; - - --- --- Name: user_local_pref; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE user_local_pref ( - user_id text NOT NULL, - parameter_type text NOT NULL, - parameter_value text -); - - --- --- Name: TABLE user_local_pref; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE user_local_pref IS 'The user''s local parameter '; - - --- --- Name: COLUMN user_local_pref.user_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN user_local_pref.user_id IS 'user''s login '; - - --- --- Name: COLUMN user_local_pref.parameter_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN user_local_pref.parameter_type IS 'the type of parameter '; - - --- --- Name: COLUMN user_local_pref.parameter_value; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN user_local_pref.parameter_value IS 'the value of parameter '; - - --- --- Name: user_sec_act; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE user_sec_act ( - ua_id integer DEFAULT nextval(('s_user_act'::text)::regclass) NOT NULL, - ua_login text, - ua_act_id integer -); - - -SET default_with_oids = false; - --- --- Name: user_sec_extension; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE user_sec_extension ( - use_id integer NOT NULL, - ex_id integer NOT NULL, - use_login text NOT NULL, - use_access character(1) DEFAULT 0 NOT NULL -); - - --- --- Name: TABLE user_sec_extension; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE user_sec_extension IS 'Security for extension'; - - --- --- Name: user_sec_extension_use_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE user_sec_extension_use_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: user_sec_extension_use_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE user_sec_extension_use_id_seq OWNED BY user_sec_extension.use_id; - - --- --- Name: user_sec_extension_use_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('user_sec_extension_use_id_seq', 1, true); - - -SET default_with_oids = true; - --- --- Name: user_sec_jrn; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE user_sec_jrn ( - uj_id integer DEFAULT nextval(('s_user_jrn'::text)::regclass) NOT NULL, - uj_login text, - uj_jrn_id integer, - uj_priv text -); - - --- --- Name: v_all_menu; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW v_all_menu AS - SELECT pm.me_code, pm.pm_id, pm.me_code_dep, pm.p_order, pm.p_type_display, pu.user_name, pu.pu_id, p.p_name, p.p_desc, mr.me_menu, mr.me_file, mr.me_url, mr.me_parameter, mr.me_javascript, mr.me_type, pm.p_id, mr.me_description FROM (((profile_menu pm JOIN profile_user pu ON ((pu.p_id = pm.p_id))) JOIN profile p ON ((p.p_id = pm.p_id))) JOIN menu_ref mr USING (me_code)) ORDER BY pm.p_order; - - --- --- Name: version; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE version ( - val integer -); - - --- --- Name: vw_client; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_client AS - SELECT fiche.f_id, a1.ad_value AS name, a.ad_value AS quick_code, b.ad_value AS tva_num, c.ad_value AS poste_comptable, d.ad_value AS rue, e.ad_value AS code_postal, f.ad_value AS pays, g.ad_value AS telephone, h.ad_value AS email FROM (((((((((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 1)) a1 USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 13)) b USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 23)) a USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 5)) c USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 14)) d USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 15)) e USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 16)) f USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 17)) g USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 18)) h USING (f_id)) WHERE (fiche_def_ref.frd_id = 9); - - --- --- Name: vw_fiche_attr; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_fiche_attr AS - SELECT a.f_id, a.fd_id, a.ad_value AS vw_name, k.ad_value AS vw_first_name, b.ad_value AS vw_sell, c.ad_value AS vw_buy, d.ad_value AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.ad_value AS vw_addr, f.ad_value AS vw_cp, j.ad_value AS quick_code, h.ad_value AS vw_description, i.ad_value AS tva_num, fiche_def.frd_id FROM ((((((((((((SELECT fiche.f_id, fiche.fd_id, fiche_detail.ad_value FROM (fiche LEFT JOIN fiche_detail USING (f_id)) WHERE (fiche_detail.ad_id = 1)) a LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 6)) b ON ((a.f_id = b.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 7)) c ON ((a.f_id = c.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 2)) d ON ((a.f_id = d.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 14)) e ON ((a.f_id = e.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 15)) f ON ((a.f_id = f.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 23)) j ON ((a.f_id = j.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 9)) h ON ((a.f_id = h.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 13)) i ON ((a.f_id = i.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 32)) k ON ((a.f_id = k.f_id))) LEFT JOIN tva_rate ON ((d.ad_value = (tva_rate.tva_id)::text))) JOIN fiche_def USING (fd_id)); - - --- --- Name: vw_fiche_def; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_fiche_def AS - SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, attr_def.ad_text, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def.frd_id FROM ((fiche_def JOIN jnt_fic_attr USING (fd_id)) JOIN attr_def ON ((attr_def.ad_id = jnt_fic_attr.ad_id))); - - --- --- Name: VIEW vw_fiche_def; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family'; - - --- --- Name: vw_fiche_min; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_fiche_min AS - SELECT attr_min.frd_id, attr_min.ad_id, attr_def.ad_text, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base FROM ((attr_min JOIN attr_def USING (ad_id)) JOIN fiche_def_ref USING (frd_id)); - - --- --- Name: vw_fiche_name; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_fiche_name AS - SELECT fiche_detail.f_id, fiche_detail.ad_value AS name FROM fiche_detail WHERE (fiche_detail.ad_id = 1); - - --- --- Name: vw_poste_qcode; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_poste_qcode AS - SELECT c.f_id, a.ad_value AS j_poste, b.ad_value AS j_qcode FROM ((fiche c LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 5)) a USING (f_id)) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 23)) b USING (f_id)); - - --- --- Name: vw_supplier; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_supplier AS - SELECT fiche.f_id, a1.ad_value AS name, a.ad_value AS quick_code, b.ad_value AS tva_num, c.ad_value AS poste_comptable, d.ad_value AS rue, e.ad_value AS code_postal, f.ad_value AS pays, g.ad_value AS telephone, h.ad_value AS email FROM (((((((((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 1)) a1 USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 13)) b USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 23)) a USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 5)) c USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 14)) d USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 15)) e USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 16)) f USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 17)) g USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 18)) h USING (f_id)) WHERE (fiche_def_ref.frd_id = 8); - - --- --- Name: ad_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY action_detail ALTER COLUMN ad_id SET DEFAULT nextval('action_detail_ad_id_seq'::regclass); - - --- --- Name: del_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY del_action ALTER COLUMN del_id SET DEFAULT nextval('del_action_del_id_seq'::regclass); - - --- --- Name: dj_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY del_jrn ALTER COLUMN dj_id SET DEFAULT nextval('del_jrn_dj_id_seq'::regclass); - - --- --- Name: djx_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY del_jrnx ALTER COLUMN djx_id SET DEFAULT nextval('del_jrnx_djx_id_seq'::regclass); - - --- --- Name: ex_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY extension ALTER COLUMN ex_id SET DEFAULT nextval('extension_ex_id_seq'::regclass); - - --- --- Name: f_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast ALTER COLUMN f_id SET DEFAULT nextval('forecast_f_id_seq'::regclass); - - --- --- Name: fc_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast_cat ALTER COLUMN fc_id SET DEFAULT nextval('forecast_cat_fc_id_seq'::regclass); - - --- --- Name: fi_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast_item ALTER COLUMN fi_id SET DEFAULT nextval('forecast_item_fi_id_seq'::regclass); - - --- --- Name: jl_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jnt_letter ALTER COLUMN jl_id SET DEFAULT nextval('jnt_letter_jl_id_seq'::regclass); - - --- --- Name: ji_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_info ALTER COLUMN ji_id SET DEFAULT nextval('jrn_info_ji_id_seq'::regclass); - - --- --- Name: n_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_note ALTER COLUMN n_id SET DEFAULT nextval('jrn_note_n_id_seq'::regclass); - - --- --- Name: lc_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY letter_cred ALTER COLUMN lc_id SET DEFAULT nextval('letter_cred_lc_id_seq'::regclass); - - --- --- Name: ld_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY letter_deb ALTER COLUMN ld_id SET DEFAULT nextval('letter_deb_ld_id_seq'::regclass); - - --- --- Name: mp_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY mod_payment ALTER COLUMN mp_id SET DEFAULT nextval('mod_payment_mp_id_seq'::regclass); - - --- --- Name: p_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile ALTER COLUMN p_id SET DEFAULT nextval('profile_p_id_seq'::regclass); - - --- --- Name: pm_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile_menu ALTER COLUMN pm_id SET DEFAULT nextval('profile_menu_pm_id_seq'::regclass); - - --- --- Name: pu_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile_user ALTER COLUMN pu_id SET DEFAULT nextval('profile_user_pu_id_seq'::regclass); - - --- --- Name: qf_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_fin ALTER COLUMN qf_id SET DEFAULT nextval('quant_fin_qf_id_seq'::regclass); - - --- --- Name: use_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY user_sec_extension ALTER COLUMN use_id SET DEFAULT nextval('user_sec_extension_use_id_seq'::regclass); - - --- --- Data for Name: action; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO action VALUES (800, 'Ajout de fiche', 'fiche', 'FICADD'); -INSERT INTO action VALUES (805, 'Création, modification et effacement de fiche', 'fiche', 'FIC'); -INSERT INTO action VALUES (910, 'création, modification et effacement de catégorie de fiche', 'fiche', 'FICCAT'); -INSERT INTO action VALUES (1020, 'Effacer les documents du suivi', 'followup', 'RMDOC'); -INSERT INTO action VALUES (1010, 'Voir les documents du suivi', 'followup', 'VIEWDOC'); -INSERT INTO action VALUES (1050, 'Modifier le type de document', 'followup', 'PARCATDOC'); - - --- --- Data for Name: action_detail; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: action_gestion; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: attr_def; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO attr_def VALUES (20, 'Partie fiscalement non déductible', 'numeric', '22'); -INSERT INTO attr_def VALUES (10, 'Date début', 'date', '8'); -INSERT INTO attr_def VALUES (6, 'Prix vente', 'numeric', '6'); -INSERT INTO attr_def VALUES (7, 'Prix achat', 'numeric', '6'); -INSERT INTO attr_def VALUES (8, 'Durée Amortissement', 'numeric', '6'); -INSERT INTO attr_def VALUES (11, 'Montant initial', 'numeric', '6'); -INSERT INTO attr_def VALUES (21, 'TVA non déductible', 'numeric', '6'); -INSERT INTO attr_def VALUES (22, 'TVA non déductible récupérable par l''impôt', 'numeric', '6'); -INSERT INTO attr_def VALUES (1, 'Nom', 'text', '22'); -INSERT INTO attr_def VALUES (2, 'Taux TVA', 'text', '22'); -INSERT INTO attr_def VALUES (3, 'Numéro de compte', 'text', '22'); -INSERT INTO attr_def VALUES (4, 'Nom de la banque', 'text', '22'); -INSERT INTO attr_def VALUES (5, 'Poste Comptable', 'text', '22'); -INSERT INTO attr_def VALUES (9, 'Description', 'text', '22'); -INSERT INTO attr_def VALUES (12, 'Personne de contact ', 'text', '22'); -INSERT INTO attr_def VALUES (13, 'numéro de tva ', 'text', '22'); -INSERT INTO attr_def VALUES (14, 'Adresse ', 'text', '22'); -INSERT INTO attr_def VALUES (16, 'pays ', 'text', '22'); -INSERT INTO attr_def VALUES (17, 'téléphone ', 'text', '22'); -INSERT INTO attr_def VALUES (18, 'email ', 'text', '22'); -INSERT INTO attr_def VALUES (19, 'Gestion stock', 'text', '22'); -INSERT INTO attr_def VALUES (23, 'Quick Code', 'text', '22'); -INSERT INTO attr_def VALUES (24, 'Ville', 'text', '22'); -INSERT INTO attr_def VALUES (25, 'Société', 'text', '22'); -INSERT INTO attr_def VALUES (26, 'Fax', 'text', '22'); -INSERT INTO attr_def VALUES (27, 'GSM', 'text', '22'); -INSERT INTO attr_def VALUES (15, 'code postal', 'text', '22'); -INSERT INTO attr_def VALUES (30, 'Numero de client', 'text', '22'); -INSERT INTO attr_def VALUES (32, 'Prénom', 'text', '22'); -INSERT INTO attr_def VALUES (31, 'Dépense charge du grant (partie privé) ', 'text', '22'); -INSERT INTO attr_def VALUES (50, 'Contrepartie pour TVA récup par impot', 'poste', '22'); -INSERT INTO attr_def VALUES (51, 'Contrepartie pour TVA non Ded.', 'poste', '22'); -INSERT INTO attr_def VALUES (52, 'Contrepartie pour dépense à charge du gérant', 'poste', '22'); -INSERT INTO attr_def VALUES (53, 'Contrepartie pour dépense fiscal. non déd.', 'poste', '22'); - - --- --- Data for Name: attr_min; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO attr_min VALUES (1, 1); -INSERT INTO attr_min VALUES (1, 2); -INSERT INTO attr_min VALUES (2, 1); -INSERT INTO attr_min VALUES (2, 2); -INSERT INTO attr_min VALUES (3, 1); -INSERT INTO attr_min VALUES (3, 2); -INSERT INTO attr_min VALUES (4, 1); -INSERT INTO attr_min VALUES (4, 3); -INSERT INTO attr_min VALUES (4, 4); -INSERT INTO attr_min VALUES (4, 12); -INSERT INTO attr_min VALUES (4, 13); -INSERT INTO attr_min VALUES (4, 14); -INSERT INTO attr_min VALUES (4, 15); -INSERT INTO attr_min VALUES (4, 16); -INSERT INTO attr_min VALUES (4, 17); -INSERT INTO attr_min VALUES (4, 18); -INSERT INTO attr_min VALUES (8, 1); -INSERT INTO attr_min VALUES (8, 12); -INSERT INTO attr_min VALUES (8, 13); -INSERT INTO attr_min VALUES (8, 14); -INSERT INTO attr_min VALUES (8, 15); -INSERT INTO attr_min VALUES (8, 16); -INSERT INTO attr_min VALUES (8, 17); -INSERT INTO attr_min VALUES (8, 18); -INSERT INTO attr_min VALUES (9, 1); -INSERT INTO attr_min VALUES (9, 12); -INSERT INTO attr_min VALUES (9, 13); -INSERT INTO attr_min VALUES (9, 14); -INSERT INTO attr_min VALUES (9, 16); -INSERT INTO attr_min VALUES (9, 17); -INSERT INTO attr_min VALUES (9, 18); -INSERT INTO attr_min VALUES (1, 6); -INSERT INTO attr_min VALUES (1, 7); -INSERT INTO attr_min VALUES (2, 6); -INSERT INTO attr_min VALUES (2, 7); -INSERT INTO attr_min VALUES (3, 7); -INSERT INTO attr_min VALUES (1, 19); -INSERT INTO attr_min VALUES (2, 19); -INSERT INTO attr_min VALUES (14, 1); -INSERT INTO attr_min VALUES (5, 1); -INSERT INTO attr_min VALUES (5, 4); -INSERT INTO attr_min VALUES (5, 10); -INSERT INTO attr_min VALUES (5, 12); -INSERT INTO attr_min VALUES (6, 1); -INSERT INTO attr_min VALUES (6, 4); -INSERT INTO attr_min VALUES (6, 10); -INSERT INTO attr_min VALUES (6, 12); -INSERT INTO attr_min VALUES (10, 1); -INSERT INTO attr_min VALUES (10, 12); -INSERT INTO attr_min VALUES (11, 1); -INSERT INTO attr_min VALUES (11, 12); -INSERT INTO attr_min VALUES (12, 1); -INSERT INTO attr_min VALUES (12, 12); -INSERT INTO attr_min VALUES (13, 1); -INSERT INTO attr_min VALUES (13, 9); -INSERT INTO attr_min VALUES (7, 1); -INSERT INTO attr_min VALUES (7, 8); -INSERT INTO attr_min VALUES (7, 9); -INSERT INTO attr_min VALUES (7, 10); -INSERT INTO attr_min VALUES (5, 11); -INSERT INTO attr_min VALUES (6, 11); -INSERT INTO attr_min VALUES (1, 15); -INSERT INTO attr_min VALUES (9, 15); -INSERT INTO attr_min VALUES (15, 1); -INSERT INTO attr_min VALUES (15, 9); -INSERT INTO attr_min VALUES (1, 23); -INSERT INTO attr_min VALUES (2, 23); -INSERT INTO attr_min VALUES (3, 23); -INSERT INTO attr_min VALUES (4, 23); -INSERT INTO attr_min VALUES (5, 23); -INSERT INTO attr_min VALUES (6, 23); -INSERT INTO attr_min VALUES (8, 23); -INSERT INTO attr_min VALUES (9, 23); -INSERT INTO attr_min VALUES (10, 23); -INSERT INTO attr_min VALUES (11, 23); -INSERT INTO attr_min VALUES (12, 23); -INSERT INTO attr_min VALUES (13, 23); -INSERT INTO attr_min VALUES (14, 23); -INSERT INTO attr_min VALUES (15, 23); -INSERT INTO attr_min VALUES (7, 23); -INSERT INTO attr_min VALUES (9, 24); -INSERT INTO attr_min VALUES (8, 24); -INSERT INTO attr_min VALUES (14, 24); -INSERT INTO attr_min VALUES (16, 1); -INSERT INTO attr_min VALUES (16, 17); -INSERT INTO attr_min VALUES (16, 18); -INSERT INTO attr_min VALUES (16, 25); -INSERT INTO attr_min VALUES (16, 26); -INSERT INTO attr_min VALUES (16, 27); -INSERT INTO attr_min VALUES (16, 23); -INSERT INTO attr_min VALUES (25, 1); -INSERT INTO attr_min VALUES (25, 4); -INSERT INTO attr_min VALUES (25, 3); -INSERT INTO attr_min VALUES (25, 5); -INSERT INTO attr_min VALUES (25, 15); -INSERT INTO attr_min VALUES (25, 16); -INSERT INTO attr_min VALUES (25, 24); -INSERT INTO attr_min VALUES (25, 23); -INSERT INTO attr_min VALUES (2, 30); - - --- --- Data for Name: bilan; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO bilan VALUES (1, 'Bilan Belge complet', 'document/fr_be/bnb.rtf', 'document/fr_be/bnb.form', 'RTF'); - - --- --- Data for Name: centralized; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: del_action; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: del_jrn; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: del_jrnx; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: document; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: document_modele; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: document_state; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO document_state VALUES (1, 'Clôturé'); -INSERT INTO document_state VALUES (2, 'A suivre'); -INSERT INTO document_state VALUES (3, 'A faire'); -INSERT INTO document_state VALUES (4, 'Abandonné'); - - --- --- Data for Name: document_type; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO document_type VALUES (1, 'Document Interne'); -INSERT INTO document_type VALUES (2, 'Bons de commande client'); -INSERT INTO document_type VALUES (3, 'Bon de commande Fournisseur'); -INSERT INTO document_type VALUES (4, 'Facture'); -INSERT INTO document_type VALUES (5, 'Lettre de rappel'); -INSERT INTO document_type VALUES (6, 'Courrier'); -INSERT INTO document_type VALUES (7, 'Proposition'); -INSERT INTO document_type VALUES (8, 'Email'); -INSERT INTO document_type VALUES (9, 'Divers'); -INSERT INTO document_type VALUES (10, 'Note de frais'); -INSERT INTO document_type VALUES (20, 'Réception commande Fournisseur'); -INSERT INTO document_type VALUES (21, 'Réception commande Client'); -INSERT INTO document_type VALUES (22, 'Réception magazine'); - - --- --- Data for Name: extension; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO extension VALUES (1, 'Module de TVA', 'TVA', 'Cette extension permet de faire les listings et declarations TVA', 'tva/index.php', 'Y'); - - --- --- Data for Name: fiche; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: fiche_def; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO fiche_def VALUES (2, '400', 'Client', true, 9); -INSERT INTO fiche_def VALUES (1, '604', 'Marchandises', true, 2); -INSERT INTO fiche_def VALUES (3, '5500', 'Banque', true, 4); -INSERT INTO fiche_def VALUES (4, '440', 'Fournisseur', true, 8); -INSERT INTO fiche_def VALUES (5, '61', 'S & B D', true, 3); -INSERT INTO fiche_def VALUES (6, '700', 'Vente', true, 1); - - --- --- Data for Name: fiche_def_ref; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO fiche_def_ref VALUES (1, 'Vente Service', '700'); -INSERT INTO fiche_def_ref VALUES (2, 'Achat Marchandises', '604'); -INSERT INTO fiche_def_ref VALUES (3, 'Achat Service et biens divers', '61'); -INSERT INTO fiche_def_ref VALUES (4, 'Banque', '5500'); -INSERT INTO fiche_def_ref VALUES (5, 'Prêt > a un an', '17'); -INSERT INTO fiche_def_ref VALUES (6, 'Prêt < a un an', '430'); -INSERT INTO fiche_def_ref VALUES (8, 'Fournisseurs', '440'); -INSERT INTO fiche_def_ref VALUES (9, 'Clients', '400'); -INSERT INTO fiche_def_ref VALUES (10, 'Salaire Administrateur', '6200'); -INSERT INTO fiche_def_ref VALUES (11, 'Salaire Ouvrier', '6203'); -INSERT INTO fiche_def_ref VALUES (12, 'Salaire Employé', '6202'); -INSERT INTO fiche_def_ref VALUES (13, 'Dépenses non admises', '674'); -INSERT INTO fiche_def_ref VALUES (14, 'Administration des Finances', NULL); -INSERT INTO fiche_def_ref VALUES (15, 'Autres fiches', NULL); -INSERT INTO fiche_def_ref VALUES (7, 'Matériel à amortir', '2400'); -INSERT INTO fiche_def_ref VALUES (16, 'Contact', NULL); -INSERT INTO fiche_def_ref VALUES (25, 'Compte Salarié / Administrateur', NULL); - - --- --- Data for Name: fiche_detail; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: forecast; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: forecast_cat; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: forecast_item; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: form; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO form VALUES (3000398, 3000000, 1, 'Prestation [ case 03 ]', '[700%]-[7000005]'); -INSERT INTO form VALUES (3000399, 3000000, 2, 'Prestation intra [ case 47 ]', '[7000005]'); -INSERT INTO form VALUES (3000400, 3000000, 3, 'Tva due [case 54]', '[4513]+[4512]+[4511] FROM=01.2005'); -INSERT INTO form VALUES (3000401, 3000000, 4, 'Marchandises, matière première et auxiliaire [case 81 ]', '[60%]'); -INSERT INTO form VALUES (3000402, 3000000, 7, 'Service et bien divers [case 82]', '[61%]'); -INSERT INTO form VALUES (3000403, 3000000, 8, 'bien d''invest [ case 83 ]', '[2400%]'); -INSERT INTO form VALUES (3000404, 3000000, 9, 'TVA déductible [ case 59 ]', 'abs([4117]-[411%])'); -INSERT INTO form VALUES (3000405, 3000000, 8, 'TVA non ded -> voiture', '[610022]*0.21/2'); -INSERT INTO form VALUES (3000406, 3000000, 9, 'Acompte TVA', '[4117]'); - - --- --- Data for Name: formdef; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO formdef VALUES (3000000, 'TVA déclaration Belge'); - - --- --- Data for Name: groupe_analytique; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: info_def; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO info_def VALUES ('BON_COMMANDE', 'Numero de bon de commande'); -INSERT INTO info_def VALUES ('OTHER', 'Info diverses'); - - --- --- Data for Name: jnt_fic_attr; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO jnt_fic_attr VALUES (3, 1, 16, 0); -INSERT INTO jnt_fic_attr VALUES (4, 1, 27, 0); -INSERT INTO jnt_fic_attr VALUES (5, 1, 36, 0); -INSERT INTO jnt_fic_attr VALUES (6, 1, 40, 0); -INSERT INTO jnt_fic_attr VALUES (3, 4, 18, 2); -INSERT INTO jnt_fic_attr VALUES (3, 12, 19, 3); -INSERT INTO jnt_fic_attr VALUES (6, 19, 44, 2); -INSERT INTO jnt_fic_attr VALUES (2, 13, 9, 31); -INSERT INTO jnt_fic_attr VALUES (3, 13, 20, 31); -INSERT INTO jnt_fic_attr VALUES (4, 13, 29, 31); -INSERT INTO jnt_fic_attr VALUES (1, 2, 3, 1); -INSERT INTO jnt_fic_attr VALUES (2, 12, 8, 1); -INSERT INTO jnt_fic_attr VALUES (3, 3, 17, 1); -INSERT INTO jnt_fic_attr VALUES (4, 12, 28, 1); -INSERT INTO jnt_fic_attr VALUES (5, 2, 37, 1); -INSERT INTO jnt_fic_attr VALUES (6, 2, 41, 1); -INSERT INTO jnt_fic_attr VALUES (1, 6, 4, 120); -INSERT INTO jnt_fic_attr VALUES (6, 6, 42, 120); -INSERT INTO jnt_fic_attr VALUES (1, 7, 5, 130); -INSERT INTO jnt_fic_attr VALUES (5, 7, 38, 130); -INSERT INTO jnt_fic_attr VALUES (6, 7, 43, 130); -INSERT INTO jnt_fic_attr VALUES (2, 14, 10, 40); -INSERT INTO jnt_fic_attr VALUES (3, 14, 21, 40); -INSERT INTO jnt_fic_attr VALUES (4, 14, 30, 40); -INSERT INTO jnt_fic_attr VALUES (2, 16, 12, 70); -INSERT INTO jnt_fic_attr VALUES (3, 16, 23, 70); -INSERT INTO jnt_fic_attr VALUES (4, 16, 32, 70); -INSERT INTO jnt_fic_attr VALUES (2, 17, 13, 80); -INSERT INTO jnt_fic_attr VALUES (3, 17, 24, 80); -INSERT INTO jnt_fic_attr VALUES (4, 17, 33, 80); -INSERT INTO jnt_fic_attr VALUES (2, 18, 14, 90); -INSERT INTO jnt_fic_attr VALUES (3, 18, 25, 90); -INSERT INTO jnt_fic_attr VALUES (4, 18, 34, 90); -INSERT INTO jnt_fic_attr VALUES (2, 23, 45, 400); -INSERT INTO jnt_fic_attr VALUES (1, 23, 46, 400); -INSERT INTO jnt_fic_attr VALUES (3, 23, 47, 400); -INSERT INTO jnt_fic_attr VALUES (4, 23, 48, 400); -INSERT INTO jnt_fic_attr VALUES (5, 23, 49, 400); -INSERT INTO jnt_fic_attr VALUES (6, 23, 50, 400); -INSERT INTO jnt_fic_attr VALUES (2, 24, 51, 60); -INSERT INTO jnt_fic_attr VALUES (4, 24, 52, 60); -INSERT INTO jnt_fic_attr VALUES (2, 15, 11, 50); -INSERT INTO jnt_fic_attr VALUES (3, 15, 22, 50); -INSERT INTO jnt_fic_attr VALUES (4, 15, 31, 50); -INSERT INTO jnt_fic_attr VALUES (1, 5, 1, 30); -INSERT INTO jnt_fic_attr VALUES (2, 5, 6, 30); -INSERT INTO jnt_fic_attr VALUES (3, 5, 15, 30); -INSERT INTO jnt_fic_attr VALUES (4, 5, 26, 30); -INSERT INTO jnt_fic_attr VALUES (5, 5, 35, 30); -INSERT INTO jnt_fic_attr VALUES (6, 5, 39, 30); -INSERT INTO jnt_fic_attr VALUES (1, 1, 2, 0); -INSERT INTO jnt_fic_attr VALUES (2, 1, 7, 0); - - --- --- Data for Name: jnt_letter; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: jrn; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: jrn_action; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO jrn_action VALUES (2, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'VEN'); -INSERT INTO jrn_action VALUES (4, 'Voir Impayés', 'Voir toutes les factures non payées', 'user_jrn.php', 'action=voir_jrn_non_paye', 'FR', 'VEN'); -INSERT INTO jrn_action VALUES (1, 'Nouvelle', 'Création d''une facture', 'user_jrn.php', 'action=insert_vente&blank', 'FR', 'VEN'); -INSERT INTO jrn_action VALUES (10, 'Nouveau', 'Encode un nouvel achat (matériel, marchandises, services et biens divers)', 'user_jrn.php', 'action=new&blank', 'FR', 'ACH'); -INSERT INTO jrn_action VALUES (12, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'ACH'); -INSERT INTO jrn_action VALUES (14, 'Voir Impayés', 'Voir toutes les factures non payées', 'user_jrn.php', 'action=voir_jrn_non_paye', 'FR', 'ACH'); -INSERT INTO jrn_action VALUES (20, 'Nouveau', 'Encode un nouvel achat (matériel, marchandises, services et biens divers)', 'user_jrn.php', 'action=new&blank', 'FR', 'FIN'); -INSERT INTO jrn_action VALUES (22, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'FIN'); -INSERT INTO jrn_action VALUES (30, 'Nouveau', NULL, 'user_jrn.php', 'action=new&blank', 'FR', 'ODS'); -INSERT INTO jrn_action VALUES (32, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'ODS'); -INSERT INTO jrn_action VALUES (40, 'Soldes', 'Voir les soldes des comptes en banques', 'user_jrn.php', 'action=solde', 'FR', 'FIN'); - - --- --- Data for Name: jrn_def; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO jrn_def VALUES (4, 'Opération Diverses', NULL, NULL, NULL, NULL, 5, 5, false, NULL, 'ODS', 'O01', 'ODS', NULL, NULL); -INSERT INTO jrn_def VALUES (1, 'Financier', '5* ', '5*', '3,2,4', '3,2,4', 5, 5, false, NULL, 'FIN', 'F01', 'FIN', NULL, NULL); -INSERT INTO jrn_def VALUES (3, 'Achat', '6*', '4*', '5', '4', 1, 3, true, 'échéance', 'ACH', 'A01', 'ACH', NULL, NULL); -INSERT INTO jrn_def VALUES (2, 'Vente', '4*', '7*', '2', '6', 2, 1, true, 'échéance', 'VEN', 'V01', 'VEN', NULL, NULL); - - --- --- Data for Name: jrn_info; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: jrn_note; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: jrn_periode; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO jrn_periode VALUES (4, 79, 'OP'); -INSERT INTO jrn_periode VALUES (1, 79, 'OP'); -INSERT INTO jrn_periode VALUES (3, 79, 'OP'); -INSERT INTO jrn_periode VALUES (2, 79, 'OP'); -INSERT INTO jrn_periode VALUES (4, 80, 'OP'); -INSERT INTO jrn_periode VALUES (1, 80, 'OP'); -INSERT INTO jrn_periode VALUES (3, 80, 'OP'); -INSERT INTO jrn_periode VALUES (2, 80, 'OP'); -INSERT INTO jrn_periode VALUES (4, 81, 'OP'); -INSERT INTO jrn_periode VALUES (1, 81, 'OP'); -INSERT INTO jrn_periode VALUES (3, 81, 'OP'); -INSERT INTO jrn_periode VALUES (2, 81, 'OP'); -INSERT INTO jrn_periode VALUES (4, 82, 'OP'); -INSERT INTO jrn_periode VALUES (1, 82, 'OP'); -INSERT INTO jrn_periode VALUES (3, 82, 'OP'); -INSERT INTO jrn_periode VALUES (2, 82, 'OP'); -INSERT INTO jrn_periode VALUES (4, 83, 'OP'); -INSERT INTO jrn_periode VALUES (1, 83, 'OP'); -INSERT INTO jrn_periode VALUES (3, 83, 'OP'); -INSERT INTO jrn_periode VALUES (2, 83, 'OP'); -INSERT INTO jrn_periode VALUES (4, 84, 'OP'); -INSERT INTO jrn_periode VALUES (1, 84, 'OP'); -INSERT INTO jrn_periode VALUES (3, 84, 'OP'); -INSERT INTO jrn_periode VALUES (2, 84, 'OP'); -INSERT INTO jrn_periode VALUES (4, 85, 'OP'); -INSERT INTO jrn_periode VALUES (1, 85, 'OP'); -INSERT INTO jrn_periode VALUES (3, 85, 'OP'); -INSERT INTO jrn_periode VALUES (2, 85, 'OP'); -INSERT INTO jrn_periode VALUES (4, 86, 'OP'); -INSERT INTO jrn_periode VALUES (1, 86, 'OP'); -INSERT INTO jrn_periode VALUES (3, 86, 'OP'); -INSERT INTO jrn_periode VALUES (2, 86, 'OP'); -INSERT INTO jrn_periode VALUES (4, 87, 'OP'); -INSERT INTO jrn_periode VALUES (1, 87, 'OP'); -INSERT INTO jrn_periode VALUES (3, 87, 'OP'); -INSERT INTO jrn_periode VALUES (2, 87, 'OP'); -INSERT INTO jrn_periode VALUES (4, 88, 'OP'); -INSERT INTO jrn_periode VALUES (1, 88, 'OP'); -INSERT INTO jrn_periode VALUES (3, 88, 'OP'); -INSERT INTO jrn_periode VALUES (2, 88, 'OP'); -INSERT INTO jrn_periode VALUES (4, 89, 'OP'); -INSERT INTO jrn_periode VALUES (1, 89, 'OP'); -INSERT INTO jrn_periode VALUES (3, 89, 'OP'); -INSERT INTO jrn_periode VALUES (2, 89, 'OP'); -INSERT INTO jrn_periode VALUES (4, 90, 'OP'); -INSERT INTO jrn_periode VALUES (1, 90, 'OP'); -INSERT INTO jrn_periode VALUES (3, 90, 'OP'); -INSERT INTO jrn_periode VALUES (2, 90, 'OP'); -INSERT INTO jrn_periode VALUES (4, 91, 'OP'); -INSERT INTO jrn_periode VALUES (1, 91, 'OP'); -INSERT INTO jrn_periode VALUES (3, 91, 'OP'); -INSERT INTO jrn_periode VALUES (2, 91, 'OP'); - - --- --- Data for Name: jrn_rapt; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: jrn_type; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO jrn_type VALUES ('FIN', 'Financier'); -INSERT INTO jrn_type VALUES ('VEN', 'Vente'); -INSERT INTO jrn_type VALUES ('ACH', 'Achat'); -INSERT INTO jrn_type VALUES ('ODS', 'Opérations Diverses'); - - --- --- Data for Name: jrnx; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: letter_cred; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: letter_deb; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: menu_ref; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO menu_ref VALUES ('ACH', 'Achat', 'compta_ach.inc.php', NULL, 'Nouvel achat ou dépense', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCHOP', 'Historique', 'anc_history.inc.php', NULL, 'Historique des imputations analytiques', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCGL', 'Grand''Livre', 'anc_great_ledger.inc.php', NULL, 'Grand livre d''plan analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCBS', 'Balance simple', 'anc_balance_simple.inc.php', NULL, 'Balance simple des imputations analytiques', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCBC2', 'Balance croisée double', 'anc_balance_double.inc.php', NULL, 'Balance double croisées des imputations analytiques', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCTAB', 'Tableau', 'anc_acc_table.inc.php', NULL, 'Tableau lié à la comptabilité', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCBCC', 'Balance Analytique/comptabilité', 'anc_acc_balance.inc.php', NULL, 'Lien entre comptabilité et Comptabilité analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCGR', 'Groupe', 'anc_group_balance.inc.php', NULL, 'Balance par groupe', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CSV:AncGrandLivre', 'Impression Grand-Livre', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncBalGroup', 'Export Balance groupe analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('OTH:Bilan', 'Export Bilan', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:ledger', 'Export Journaux', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:postedetail', 'Export Poste détail', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:postedetail', 'Export Poste détail', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:fichedetail', 'Export Fiche détail', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('SEARCH', 'Recherche', NULL, NULL, 'Recherche', NULL, 'popup_recherche()', 'ME'); -INSERT INTO menu_ref VALUES ('DIVPARM', 'Divers', NULL, NULL, 'Paramètres divers', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGTVA', 'TVA', 'tva.inc.php', NULL, 'Config. de la tva', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CARD', 'Fiche', 'fiche.inc.php', NULL, 'Fiche', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('STOCK', 'Stock', 'stock.inc.php', NULL, 'Stock', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('MOD', 'Menu et profile', NULL, NULL, 'Menu ', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGPRO', 'Profile', 'profile.inc.php', NULL, 'Configuration profile', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGPAY', 'Moyen de paiement', 'payment_middle.inc.php', NULL, 'Config. des méthodes de paiement', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGACC', 'Poste', 'poste.inc.php', NULL, 'Config. poste comptable de base', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('VEN', 'Vente', 'compta_ven.inc.php', NULL, 'Nouvelle vente ou recette', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGMENU', 'Config. Menu', 'menu.inc.php', NULL, 'Configuration des menus et plugins', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('COMPANY', 'Sociétés', 'company.inc.php', NULL, 'Parametre societe', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PERIODE', 'Période', 'periode.inc.php', NULL, 'Gestion des périodes', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PDF:fichedetail', 'Export Fiche détail', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:fiche_balance', 'Export Fiche balance', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:fiche_balance', 'Export Fiche balance', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:report', 'Export report', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:report', 'Export report', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:fiche', 'Export Fiche', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:fiche', 'Export Fiche', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:glcompte', 'Export Grand Livre', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:glcompte', 'Export Grand Livre', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:sec', 'Export Sécurité', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncList', 'Export Comptabilité analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncBalSimple', 'Export Comptabilité analytique balance simple', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:AncBalSimple', 'Export Comptabilité analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncBalDouble', 'Export Comptabilité analytique balance double', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:AncBalDouble', 'Export Comptabilité analytique balance double', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:balance', 'Export Balance comptable', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:balance', 'Export Balance comptable', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:histo', 'Export Historique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:ledger', 'Export Journaux', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncTable', 'Export Tableau Analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncAccList', 'Export Historique Compt. Analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('SUPPL', 'Fournisseur', 'supplier.inc.php', NULL, 'Suivi fournisseur', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('LET', 'Lettrage', NULL, NULL, 'Lettrage', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCODS', 'Opérations diverses', 'anc_od.inc.php', NULL, 'OD analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('VERIFBIL', 'Vérification ', 'verif_bilan.inc.php', NULL, 'Vérification de la comptabilité', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('REPORT', 'Création de rapport', 'report.inc.php', NULL, 'Création de rapport', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('OPEN', 'Ecriture Ouverture', 'opening.inc.php', NULL, 'Ecriture d''ouverture', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ACHIMP', 'Historique achat', 'history_operation.inc.php', NULL, 'Historique achat', 'ledger_type=ACH', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FOLLOW', 'Courrier', 'action.inc.php', NULL, 'Suivi, courrier, devis', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FORECAST', 'Prévision', 'forecast.inc.php', NULL, 'Prévision', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('EXT', 'Extension', 'extension_choice.inc.php', NULL, 'Extensions (plugins)', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGDOC', 'Document', 'document_modele.inc.php', NULL, 'Config. modèle de document', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGLED', 'journaux', 'cfgledger.inc.php', NULL, 'Configuration des journaux', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PREDOP', 'Ecriture prédefinie', 'preod.inc.php', NULL, 'Gestion des opérations prédéfinifies', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ADV', 'Avancé', NULL, NULL, 'Menu avancé', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANC', 'Compta Analytique', NULL, NULL, 'Module comptabilité analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGSEC', 'Sécurité', 'param_sec.inc.php', NULL, 'configuration de la sécurité', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PLANANC', 'Plan Compt. analytique', 'anc_pa.inc.php', NULL, 'Plan analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCGROUP', 'Groupe', 'anc_group.inc.php', NULL, 'Groupe analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ODSIMP', 'Historique opérations diverses', 'history_operation.inc.php', NULL, 'Historique opérations diverses', 'ledger_type=ODS', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('VENMENU', 'Vente / Recette', NULL, NULL, 'Menu ventes et recettes', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PREFERENCE', 'Préférence', 'pref.inc.php', NULL, 'Préférence', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('HIST', 'Historique', 'history_operation.inc.php', NULL, 'Historique', 'ledger_type=ALL', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('MENUFIN', 'Financier', NULL, NULL, 'Menu Financier', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FIMP', 'Historique financier', 'history_operation.inc.php', NULL, 'Historique financier', 'ledger_type=FIN', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('MENUACH', 'Achat', NULL, NULL, 'Menu achat', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('MENUODS', 'Opérations diverses', NULL, NULL, 'Menu opérations diverses', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ODS', 'Opérations Diverses', 'compta_ods.inc.php', NULL, 'Nouvelle opérations diverses', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FREC', 'Rapprochement', 'compta_fin_rec.inc.php', NULL, 'Rapprochement bancaire', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ADM', 'Administration', 'adm.inc.php', NULL, 'Suivi administration, banque', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FIN', 'Nouvel extrait', 'compta_fin.inc.php', NULL, 'Nouvel extrait bancaire', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGATCARD', 'Attribut de fiche', 'card_attr.inc.php', NULL, 'Gestion des modèles de fiches', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FSALDO', 'Soldes', 'compta_fin_saldo.inc.php', NULL, 'Solde des comptes en banques, caisse...', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('JSSEARCH', 'Recherche', NULL, NULL, 'Recherche', NULL, 'search_reconcile()', 'ME'); -INSERT INTO menu_ref VALUES ('LETACC', 'Lettrage par Poste', 'lettering.account.inc.php', NULL, 'lettrage par poste comptable', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CARDBAL', 'Balance', 'balance_card.inc.php', NULL, 'Balance par catégorie de fiche', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CUST', 'Client', 'client.inc.php', NULL, 'Suivi client', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGCARDCAT', 'Catégorie de fiche', 'fiche_def.inc.php', NULL, 'Gestion catégorie de fiche', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGCATDOC', 'Catégorie de documents', 'cat_document.inc.php', NULL, 'Config. catégorie de documents', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('VENIMP', 'Historique vente', 'history_operation.inc.php', NULL, 'Historique des ventes', 'ledger_type=VEN', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('LETCARD', 'Lettrage par Fiche', 'lettering.card.inc.php', NULL, 'Lettrage par fiche', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGPCMN', 'Plan Comptable', 'param_pcmn.inc.php', NULL, 'Config. du plan comptable', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('LOGOUT', 'Sortie', NULL, 'logout.php', 'Sortie', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('DASHBOARD', 'Tableau de bord', 'dashboard.inc.php', NULL, 'Tableau de bord', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('COMPTA', 'Comptabilité', NULL, NULL, 'Module comptabilité', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('GESTION', 'Gestion', NULL, NULL, 'Module gestion', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PARAM', 'Paramètre', NULL, NULL, 'Module paramètre', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTJRN', 'Historique', 'impress_jrn.inc.php', NULL, 'Impression historique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTREC', 'Rapprochement', 'impress_rec.inc.php', NULL, 'Impression des rapprochements', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTPOSTE', 'Poste', 'impress_poste.inc.php', NULL, 'Impression du détail d''un poste comptable', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTREPORT', 'Rapport', 'impress_rapport.inc.php', NULL, 'Impression de rapport', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTBILAN', 'Bilan', 'impress_bilan.inc.php', NULL, 'Impression de bilan', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTGL', 'Grand Livre', 'impress_gl_comptes.inc.php', NULL, 'Impression du grand livre', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTBAL', 'Balance', 'balance.inc.php', NULL, 'Impression des balances comptables', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTCARD', 'Catégorie de Fiches', 'impress_fiche.inc.php', NULL, 'Impression catégorie de fiches', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINT', 'Impression', NULL, NULL, 'Menu impression', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ACCESS', 'Accueil', NULL, 'user_login.php', 'Accueil', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCIMP', 'Impression', NULL, NULL, 'Impression compta. analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('new_line', 'saut de ligne', NULL, NULL, 'Saut de ligne', NULL, NULL, 'SP'); -INSERT INTO menu_ref VALUES ('TVA', 'Module de TVA', 'tva/index.php', NULL, 'Cette extension permet de faire les listings et declarations TVA', 'plugin_code=TVA', NULL, 'PL'); - - --- --- Data for Name: mod_payment; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO mod_payment VALUES (2, 'Caisse', 1, NULL, NULL, 2); -INSERT INTO mod_payment VALUES (1, 'Paiement électronique', 1, NULL, NULL, 2); -INSERT INTO mod_payment VALUES (4, 'Caisse', 1, NULL, NULL, 3); -INSERT INTO mod_payment VALUES (3, 'Par gérant ou administrateur', 2, NULL, NULL, 3); - - --- --- Data for Name: op_predef; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: op_predef_detail; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: operation_analytique; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: parameter; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO parameter VALUES ('MY_NAME', NULL); -INSERT INTO parameter VALUES ('MY_CP', NULL); -INSERT INTO parameter VALUES ('MY_COMMUNE', NULL); -INSERT INTO parameter VALUES ('MY_TVA', NULL); -INSERT INTO parameter VALUES ('MY_STREET', NULL); -INSERT INTO parameter VALUES ('MY_NUMBER', NULL); -INSERT INTO parameter VALUES ('MY_TEL', NULL); -INSERT INTO parameter VALUES ('MY_PAYS', NULL); -INSERT INTO parameter VALUES ('MY_FAX', NULL); -INSERT INTO parameter VALUES ('MY_ANALYTIC', 'nu'); -INSERT INTO parameter VALUES ('MY_COUNTRY', 'BE'); -INSERT INTO parameter VALUES ('MY_STRICT', 'Y'); -INSERT INTO parameter VALUES ('MY_TVA_USE', 'Y'); -INSERT INTO parameter VALUES ('MY_PJ_SUGGEST', 'Y'); -INSERT INTO parameter VALUES ('MY_DATE_SUGGEST', 'Y'); -INSERT INTO parameter VALUES ('MY_ALPHANUM', 'N'); -INSERT INTO parameter VALUES ('MY_CHECK_PERIODE', 'N'); - - --- --- Data for Name: parm_code; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO parm_code VALUES ('DNA', '6740', 'Dépense non déductible'); -INSERT INTO parm_code VALUES ('CUSTOMER', '400', 'Poste comptable de base pour les clients'); -INSERT INTO parm_code VALUES ('COMPTE_TVA', '451', 'TVA à payer'); -INSERT INTO parm_code VALUES ('BANQUE', '550', 'Poste comptable de base pour les banques'); -INSERT INTO parm_code VALUES ('VIREMENT_INTERNE', '58', 'Poste Comptable pour les virements internes'); -INSERT INTO parm_code VALUES ('COMPTE_COURANT', '56', 'Poste comptable pour le compte courant'); -INSERT INTO parm_code VALUES ('CAISSE', '57', 'Poste comptable pour la caisse'); -INSERT INTO parm_code VALUES ('TVA_DNA', '6740', 'Tva non déductible s'); -INSERT INTO parm_code VALUES ('TVA_DED_IMPOT', '619000', 'Tva déductible par l''impôt'); -INSERT INTO parm_code VALUES ('VENTE', '70', 'Poste comptable de base pour les ventes'); -INSERT INTO parm_code VALUES ('DEP_PRIV', '4890', 'Depense a charge du gerant'); -INSERT INTO parm_code VALUES ('SUPPLIER', '440', 'Poste par défaut pour les fournisseurs'); - - --- --- Data for Name: parm_money; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO parm_money VALUES (1, 'EUR', 1.0000); - - --- --- Data for Name: parm_periode; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO parm_periode VALUES (79, '2010-01-01', '2010-01-31', '2010', false, false); -INSERT INTO parm_periode VALUES (80, '2010-02-01', '2010-02-28', '2010', false, false); -INSERT INTO parm_periode VALUES (81, '2010-03-01', '2010-03-31', '2010', false, false); -INSERT INTO parm_periode VALUES (82, '2010-04-01', '2010-04-30', '2010', false, false); -INSERT INTO parm_periode VALUES (83, '2010-05-01', '2010-05-31', '2010', false, false); -INSERT INTO parm_periode VALUES (84, '2010-06-01', '2010-06-30', '2010', false, false); -INSERT INTO parm_periode VALUES (85, '2010-07-01', '2010-07-31', '2010', false, false); -INSERT INTO parm_periode VALUES (86, '2010-08-01', '2010-08-31', '2010', false, false); -INSERT INTO parm_periode VALUES (87, '2010-09-01', '2010-09-30', '2010', false, false); -INSERT INTO parm_periode VALUES (88, '2010-10-01', '2010-10-31', '2010', false, false); -INSERT INTO parm_periode VALUES (89, '2010-11-01', '2010-11-30', '2010', false, false); -INSERT INTO parm_periode VALUES (90, '2010-12-01', '2010-12-30', '2010', false, false); -INSERT INTO parm_periode VALUES (91, '2010-12-31', '2010-12-31', '2010', false, false); - - --- --- Data for Name: parm_poste; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO parm_poste VALUES ('1', 'PAS'); -INSERT INTO parm_poste VALUES ('101', 'PASINV'); -INSERT INTO parm_poste VALUES ('141', 'PASINV'); -INSERT INTO parm_poste VALUES ('42', 'PAS'); -INSERT INTO parm_poste VALUES ('43', 'PAS'); -INSERT INTO parm_poste VALUES ('44', 'PAS'); -INSERT INTO parm_poste VALUES ('45', 'PAS'); -INSERT INTO parm_poste VALUES ('46', 'PAS'); -INSERT INTO parm_poste VALUES ('47', 'PAS'); -INSERT INTO parm_poste VALUES ('48', 'PAS'); -INSERT INTO parm_poste VALUES ('492', 'PAS'); -INSERT INTO parm_poste VALUES ('493', 'PAS'); -INSERT INTO parm_poste VALUES ('2', 'ACT'); -INSERT INTO parm_poste VALUES ('2409', 'ACTINV'); -INSERT INTO parm_poste VALUES ('3', 'ACT'); -INSERT INTO parm_poste VALUES ('5', 'ACT'); -INSERT INTO parm_poste VALUES ('491', 'ACT'); -INSERT INTO parm_poste VALUES ('490', 'ACT'); -INSERT INTO parm_poste VALUES ('6', 'CHA'); -INSERT INTO parm_poste VALUES ('7', 'PRO'); -INSERT INTO parm_poste VALUES ('4', 'ACT'); -INSERT INTO parm_poste VALUES ('40', 'ACT'); -INSERT INTO parm_poste VALUES ('5501', 'ACTINV'); -INSERT INTO parm_poste VALUES ('5511', 'ACTINV'); -INSERT INTO parm_poste VALUES ('5521', 'ACTINV'); -INSERT INTO parm_poste VALUES ('5531', 'ACTINV'); -INSERT INTO parm_poste VALUES ('5541', 'ACTINV'); -INSERT INTO parm_poste VALUES ('5551', 'ACTINV'); -INSERT INTO parm_poste VALUES ('5561', 'ACTINV'); -INSERT INTO parm_poste VALUES ('5571', 'ACTINV'); -INSERT INTO parm_poste VALUES ('5581', 'ACTINV'); -INSERT INTO parm_poste VALUES ('5591', 'ACTINV'); -INSERT INTO parm_poste VALUES ('6311', 'CHAINV'); -INSERT INTO parm_poste VALUES ('6321', 'CHAINV'); -INSERT INTO parm_poste VALUES ('6331', 'CHAINV'); -INSERT INTO parm_poste VALUES ('6341', 'CHAINV'); -INSERT INTO parm_poste VALUES ('6351', 'CHAINV'); -INSERT INTO parm_poste VALUES ('6361', 'CHAINV'); -INSERT INTO parm_poste VALUES ('6371', 'CHAINV'); -INSERT INTO parm_poste VALUES ('649', 'CHAINV'); -INSERT INTO parm_poste VALUES ('6511', 'CHAINV'); -INSERT INTO parm_poste VALUES ('6701', 'CHAINV'); -INSERT INTO parm_poste VALUES ('608', 'CHAINV'); -INSERT INTO parm_poste VALUES ('709', 'PROINV'); - - --- --- Data for Name: plan_analytique; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: poste_analytique; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: profile; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO profile VALUES ('Administrateur', 1, 'Profil par défaut pour les adminstrateurs', true, true); -INSERT INTO profile VALUES ('Utilisateur', 2, 'Profil par défaut pour les utilisateurs', true, true); - - --- --- Data for Name: profile_menu; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO profile_menu VALUES (59, 'CFGPAY', 'DIVPARM', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (68, 'CFGATCARD', 'DIVPARM', 1, 9, 'E', 0); -INSERT INTO profile_menu VALUES (61, 'CFGACC', 'DIVPARM', 1, 6, 'E', 0); -INSERT INTO profile_menu VALUES (54, 'COMPANY', 'PARAM', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (651, 'ANCHOP', 'ANCIMP', 1, 10, 'E', 0); -INSERT INTO profile_menu VALUES (173, 'COMPTA', NULL, 1, 40, 'M', 0); -INSERT INTO profile_menu VALUES (55, 'PERIODE', 'PARAM', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (56, 'DIVPARM', 'PARAM', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (652, 'ANCGL', 'ANCIMP', 1, 20, 'E', 0); -INSERT INTO profile_menu VALUES (60, 'CFGTVA', 'DIVPARM', 1, 5, 'E', 0); -INSERT INTO profile_menu VALUES (653, 'ANCBS', 'ANCIMP', 1, 30, 'E', 0); -INSERT INTO profile_menu VALUES (654, 'ANCBC2', 'ANCIMP', 1, 40, 'E', 0); -INSERT INTO profile_menu VALUES (655, 'ANCTAB', 'ANCIMP', 1, 50, 'E', 0); -INSERT INTO profile_menu VALUES (656, 'ANCBCC', 'ANCIMP', 1, 60, 'E', 0); -INSERT INTO profile_menu VALUES (657, 'ANCGR', 'ANCIMP', 1, 70, 'E', 0); -INSERT INTO profile_menu VALUES (658, 'CSV:AncGrandLivre', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (662, 'new_line', NULL, 1, 35, 'M', 0); -INSERT INTO profile_menu VALUES (67, 'CFGCATDOC', 'DIVPARM', 1, 8, 'E', 0); -INSERT INTO profile_menu VALUES (69, 'CFGPCMN', 'PARAM', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (526, 'PRINTGL', 'PRINT', 1, 20, 'E', 0); -INSERT INTO profile_menu VALUES (23, 'LET', 'COMPTA', 1, 8, 'E', 0); -INSERT INTO profile_menu VALUES (523, 'PRINTBAL', 'PRINT', 1, 50, 'E', 0); -INSERT INTO profile_menu VALUES (529, 'PRINTREPORT', 'PRINT', 1, 85, 'E', 0); -INSERT INTO profile_menu VALUES (72, 'PREDOP', 'PARAM', 1, 7, 'E', 0); -INSERT INTO profile_menu VALUES (75, 'PLANANC', 'ANC', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (65, 'CFGCARDCAT', 'DIVPARM', 1, 7, 'E', 0); -INSERT INTO profile_menu VALUES (76, 'ANCODS', 'ANC', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (77, 'ANCGROUP', 'ANC', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (78, 'ANCIMP', 'ANC', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (45, 'PARAM', NULL, 1, 20, 'M', 0); -INSERT INTO profile_menu VALUES (527, 'PRINTJRN', 'PRINT', 1, 10, 'E', 0); -INSERT INTO profile_menu VALUES (530, 'PRINTREC', 'PRINT', 1, 100, 'E', 0); -INSERT INTO profile_menu VALUES (524, 'PRINTBILAN', 'PRINT', 1, 90, 'E', 0); -INSERT INTO profile_menu VALUES (79, 'PREFERENCE', NULL, 1, 15, 'M', 0); -INSERT INTO profile_menu VALUES (37, 'CUST', 'GESTION', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (38, 'SUPPL', 'GESTION', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (39, 'ADM', 'GESTION', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (36, 'CARD', 'GESTION', 1, 6, 'E', 0); -INSERT INTO profile_menu VALUES (40, 'STOCK', 'GESTION', 1, 5, 'E', 0); -INSERT INTO profile_menu VALUES (41, 'FORECAST', 'GESTION', 1, 7, 'E', 0); -INSERT INTO profile_menu VALUES (42, 'FOLLOW', 'GESTION', 1, 8, 'E', 0); -INSERT INTO profile_menu VALUES (29, 'VERIFBIL', 'ADV', 1, 21, 'E', 0); -INSERT INTO profile_menu VALUES (30, 'STOCK', 'ADV', 1, 22, 'E', 0); -INSERT INTO profile_menu VALUES (31, 'PREDOP', 'ADV', 1, 23, 'E', 0); -INSERT INTO profile_menu VALUES (32, 'OPEN', 'ADV', 1, 24, 'E', 0); -INSERT INTO profile_menu VALUES (33, 'REPORT', 'ADV', 1, 25, 'E', 0); -INSERT INTO profile_menu VALUES (5, 'CARD', 'COMPTA', 1, 7, 'E', 0); -INSERT INTO profile_menu VALUES (43, 'HIST', 'COMPTA', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (28, 'ADV', 'COMPTA', 1, 20, 'E', 0); -INSERT INTO profile_menu VALUES (53, 'ACCESS', NULL, 1, 25, 'M', 0); -INSERT INTO profile_menu VALUES (123, 'CSV:histo', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (20, 'LOGOUT', NULL, 1, 30, 'M', 0); -INSERT INTO profile_menu VALUES (35, 'PRINT', 'GESTION', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (124, 'CSV:ledger', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (125, 'PDF:ledger', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (6, 'PRINT', 'COMPTA', 1, 6, 'E', 0); -INSERT INTO profile_menu VALUES (126, 'CSV:postedetail', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (3, 'MENUACH', 'COMPTA', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (86, 'ACHIMP', 'MENUACH', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (34, 'GESTION', NULL, 1, 45, 'M', 0); -INSERT INTO profile_menu VALUES (18, 'MENUODS', 'COMPTA', 1, 5, 'E', 0); -INSERT INTO profile_menu VALUES (88, 'ODS', 'MENUODS', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (89, 'ODSIMP', 'MENUODS', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (2, 'ANC', NULL, 1, 50, 'M', 0); -INSERT INTO profile_menu VALUES (4, 'VENMENU', 'COMPTA', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (90, 'VEN', 'VENMENU', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (91, 'VENIMP', 'VENMENU', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (19, 'FIN', 'MENUFIN', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (73, 'CFGDOC', 'PARAM', 1, 8, 'E', 0); -INSERT INTO profile_menu VALUES (74, 'CFGLED', 'PARAM', 1, 9, 'E', 0); -INSERT INTO profile_menu VALUES (71, 'CFGSEC', 'PARAM', 1, 6, 'E', 0); -INSERT INTO profile_menu VALUES (82, 'EXT', NULL, 1, 55, 'M', 0); -INSERT INTO profile_menu VALUES (95, 'FREC', 'MENUFIN', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (94, 'FSALDO', 'MENUFIN', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (27, 'LETACC', 'LET', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (24, 'LETCARD', 'LET', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (167, 'MOD', 'PARAM', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (92, 'MENUFIN', 'COMPTA', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (93, 'FIMP', 'MENUFIN', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (151, 'SEARCH', NULL, 1, 60, 'M', 0); -INSERT INTO profile_menu VALUES (85, 'ACH', 'MENUACH', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (127, 'PDF:postedetail', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (128, 'CSV:fichedetail', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (129, 'PDF:fichedetail', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (130, 'CSV:fiche_balance', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (131, 'PDF:fiche_balance', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (132, 'CSV:report', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (133, 'PDF:report', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (134, 'CSV:fiche', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (135, 'PDF:fiche', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (136, 'CSV:glcompte', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (137, 'PDF:glcompte', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (138, 'PDF:sec', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (139, 'CSV:AncList', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (140, 'CSV:AncBalSimple', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (141, 'PDF:AncBalSimple', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (142, 'CSV:AncBalDouble', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (143, 'PDF:AncBalDouble', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (144, 'CSV:balance', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (145, 'PDF:balance', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (146, 'CSV:AncTable', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (147, 'CSV:AncAccList', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (148, 'CSV:AncBalGroup', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (149, 'OTH:Bilan', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (528, 'PRINTPOSTE', 'PRINT', 1, 30, 'E', 0); -INSERT INTO profile_menu VALUES (525, 'PRINTCARD', 'PRINT', 1, 40, 'E', 0); -INSERT INTO profile_menu VALUES (1, 'DASHBOARD', NULL, 1, 10, 'M', 1); -INSERT INTO profile_menu VALUES (172, 'CFGPRO', 'MOD', 1, NULL, 'E', 0); -INSERT INTO profile_menu VALUES (171, 'CFGMENU', 'MOD', 1, NULL, 'E', 0); -INSERT INTO profile_menu VALUES (663, 'CFGPAY', 'DIVPARM', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (664, 'CFGATCARD', 'DIVPARM', 2, 9, 'E', 0); -INSERT INTO profile_menu VALUES (665, 'CFGACC', 'DIVPARM', 2, 6, 'E', 0); -INSERT INTO profile_menu VALUES (668, 'ANCHOP', 'ANCIMP', 2, 10, 'E', 0); -INSERT INTO profile_menu VALUES (669, 'COMPTA', NULL, 2, 40, 'M', 0); -INSERT INTO profile_menu VALUES (672, 'ANCGL', 'ANCIMP', 2, 20, 'E', 0); -INSERT INTO profile_menu VALUES (673, 'CFGTVA', 'DIVPARM', 2, 5, 'E', 0); -INSERT INTO profile_menu VALUES (674, 'ANCBS', 'ANCIMP', 2, 30, 'E', 0); -INSERT INTO profile_menu VALUES (675, 'ANCBC2', 'ANCIMP', 2, 40, 'E', 0); -INSERT INTO profile_menu VALUES (676, 'ANCTAB', 'ANCIMP', 2, 50, 'E', 0); -INSERT INTO profile_menu VALUES (677, 'ANCBCC', 'ANCIMP', 2, 60, 'E', 0); -INSERT INTO profile_menu VALUES (678, 'ANCGR', 'ANCIMP', 2, 70, 'E', 0); -INSERT INTO profile_menu VALUES (679, 'CSV:AncGrandLivre', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (680, 'new_line', NULL, 2, 35, 'M', 0); -INSERT INTO profile_menu VALUES (681, 'CFGCATDOC', 'DIVPARM', 2, 8, 'E', 0); -INSERT INTO profile_menu VALUES (683, 'PRINTGL', 'PRINT', 2, 20, 'E', 0); -INSERT INTO profile_menu VALUES (684, 'LET', 'COMPTA', 2, 8, 'E', 0); -INSERT INTO profile_menu VALUES (685, 'PRINTBAL', 'PRINT', 2, 50, 'E', 0); -INSERT INTO profile_menu VALUES (686, 'PRINTREPORT', 'PRINT', 2, 85, 'E', 0); -INSERT INTO profile_menu VALUES (688, 'PLANANC', 'ANC', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (689, 'CFGCARDCAT', 'DIVPARM', 2, 7, 'E', 0); -INSERT INTO profile_menu VALUES (690, 'ANCODS', 'ANC', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (717, 'CSV:ledger', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (718, 'PDF:ledger', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (719, 'PRINT', 'COMPTA', 2, 6, 'E', 0); -INSERT INTO profile_menu VALUES (720, 'CSV:postedetail', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (721, 'MENUACH', 'COMPTA', 2, 3, 'E', 0); -INSERT INTO profile_menu VALUES (722, 'ACHIMP', 'MENUACH', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (723, 'GESTION', NULL, 2, 45, 'M', 0); -INSERT INTO profile_menu VALUES (724, 'MENUODS', 'COMPTA', 2, 5, 'E', 0); -INSERT INTO profile_menu VALUES (725, 'ODS', 'MENUODS', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (726, 'ODSIMP', 'MENUODS', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (727, 'ANC', NULL, 2, 50, 'M', 0); -INSERT INTO profile_menu VALUES (728, 'VENMENU', 'COMPTA', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (729, 'VEN', 'VENMENU', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (730, 'VENIMP', 'VENMENU', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (731, 'FIN', 'MENUFIN', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (735, 'EXT', NULL, 2, 55, 'M', 0); -INSERT INTO profile_menu VALUES (736, 'FREC', 'MENUFIN', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (737, 'FSALDO', 'MENUFIN', 2, 3, 'E', 0); -INSERT INTO profile_menu VALUES (738, 'LETACC', 'LET', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (691, 'ANCGROUP', 'ANC', 2, 3, 'E', 0); -INSERT INTO profile_menu VALUES (692, 'ANCIMP', 'ANC', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (694, 'PRINTJRN', 'PRINT', 2, 10, 'E', 0); -INSERT INTO profile_menu VALUES (695, 'PRINTREC', 'PRINT', 2, 100, 'E', 0); -INSERT INTO profile_menu VALUES (696, 'PRINTBILAN', 'PRINT', 2, 90, 'E', 0); -INSERT INTO profile_menu VALUES (697, 'PREFERENCE', NULL, 2, 15, 'M', 0); -INSERT INTO profile_menu VALUES (698, 'CUST', 'GESTION', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (699, 'SUPPL', 'GESTION', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (700, 'ADM', 'GESTION', 2, 3, 'E', 0); -INSERT INTO profile_menu VALUES (701, 'CARD', 'GESTION', 2, 6, 'E', 0); -INSERT INTO profile_menu VALUES (702, 'STOCK', 'GESTION', 2, 5, 'E', 0); -INSERT INTO profile_menu VALUES (703, 'FORECAST', 'GESTION', 2, 7, 'E', 0); -INSERT INTO profile_menu VALUES (704, 'FOLLOW', 'GESTION', 2, 8, 'E', 0); -INSERT INTO profile_menu VALUES (705, 'VERIFBIL', 'ADV', 2, 21, 'E', 0); -INSERT INTO profile_menu VALUES (706, 'STOCK', 'ADV', 2, 22, 'E', 0); -INSERT INTO profile_menu VALUES (707, 'PREDOP', 'ADV', 2, 23, 'E', 0); -INSERT INTO profile_menu VALUES (708, 'OPEN', 'ADV', 2, 24, 'E', 0); -INSERT INTO profile_menu VALUES (709, 'REPORT', 'ADV', 2, 25, 'E', 0); -INSERT INTO profile_menu VALUES (710, 'CARD', 'COMPTA', 2, 7, 'E', 0); -INSERT INTO profile_menu VALUES (711, 'HIST', 'COMPTA', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (712, 'ADV', 'COMPTA', 2, 20, 'E', 0); -INSERT INTO profile_menu VALUES (713, 'ACCESS', NULL, 2, 25, 'M', 0); -INSERT INTO profile_menu VALUES (714, 'CSV:histo', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (715, 'LOGOUT', NULL, 2, 30, 'M', 0); -INSERT INTO profile_menu VALUES (716, 'PRINT', 'GESTION', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (739, 'LETCARD', 'LET', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (742, 'MENUFIN', 'COMPTA', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (743, 'FIMP', 'MENUFIN', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (744, 'SEARCH', NULL, 2, 60, 'M', 0); -INSERT INTO profile_menu VALUES (745, 'ACH', 'MENUACH', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (746, 'PDF:postedetail', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (747, 'CSV:fichedetail', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (748, 'PDF:fichedetail', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (749, 'CSV:fiche_balance', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (750, 'PDF:fiche_balance', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (751, 'CSV:report', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (752, 'PDF:report', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (753, 'CSV:fiche', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (754, 'PDF:fiche', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (755, 'CSV:glcompte', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (756, 'PDF:glcompte', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (757, 'PDF:sec', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (758, 'CSV:AncList', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (759, 'CSV:AncBalSimple', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (760, 'PDF:AncBalSimple', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (761, 'CSV:AncBalDouble', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (762, 'PDF:AncBalDouble', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (763, 'CSV:balance', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (764, 'PDF:balance', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (765, 'CSV:AncTable', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (766, 'CSV:AncAccList', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (767, 'CSV:AncBalGroup', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (768, 'OTH:Bilan', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (769, 'PRINTPOSTE', 'PRINT', 2, 30, 'E', 0); -INSERT INTO profile_menu VALUES (770, 'PRINTCARD', 'PRINT', 2, 40, 'E', 0); -INSERT INTO profile_menu VALUES (777, 'CFGPRO', 'MOD', 2, NULL, 'E', 0); -INSERT INTO profile_menu VALUES (778, 'CFGMENU', 'MOD', 2, NULL, 'E', 0); -INSERT INTO profile_menu VALUES (772, 'DASHBOARD', NULL, 2, 10, 'M', 1); -INSERT INTO profile_menu VALUES (779, 'TVA', 'EXT', 1, NULL, 'S', NULL); - - --- --- Data for Name: profile_menu_type; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO profile_menu_type VALUES ('P', 'Impression'); -INSERT INTO profile_menu_type VALUES ('S', 'Extension'); -INSERT INTO profile_menu_type VALUES ('E', 'Menu'); -INSERT INTO profile_menu_type VALUES ('M', 'Module'); - - --- --- Data for Name: profile_user; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO profile_user VALUES ('phpcompta', 1, 1); - - --- --- Data for Name: quant_fin; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: quant_purchase; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: quant_sold; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: stock_goods; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: tmp_pcmn; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO tmp_pcmn VALUES ('794', 'Intervention d''associés (ou du propriétaire) dans la perte', '79', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('1', 'Fonds propres, provisions pour risques et charges à plus d''un an', '0', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('2', 'Frais d''établissement, actifs immobilisés et créances à plus d''un an', '0', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('3', 'Stocks et commandes en cours d''éxécution', '0', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4', 'Créances et dettes à un an au plus', '0', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5', 'Placements de trésorerie et valeurs disponibles', '0', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('6', 'Charges', '0', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('7', 'Produits', '0', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('4000001', 'Client 1', '400', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4000002', 'Client 2', '400', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4000003', 'Client 3', '400', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('6040001', 'Electricité', '604', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6040002', 'Loyer', '604', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('55000002', 'Banque 1', '5500', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('55000003', 'Banque 2', '5500', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4400001', 'Fournisseur 1', '440', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4400002', 'Fournisseur 2', '440', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4400003', 'Fournisseur 4', '440', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('610001', 'Electricité', '61', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('610002', 'Loyer', '61', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('610003', 'Assurance', '61', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('610004', 'Matériel bureau', '61', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('7000002', 'Marchandise A', '700', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('7000001', 'Prestation', '700', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('7000003', 'Déplacement', '700', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('101', 'Capital non appelé', '10', 'PASINV'); -INSERT INTO tmp_pcmn VALUES ('6190', 'TVA récupérable par l''impôt', '61', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6740', 'Dépense non admise', '67', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('9', 'Comptes hors Compta', '0', 'CON'); -INSERT INTO tmp_pcmn VALUES ('100', 'Capital souscrit', '10', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1311', 'Autres réserves indisponibles', '131', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('132', ' Réserves immunisées', '13', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('6711', 'Suppléments d''impôts estimés', '671', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6712', 'Provisions fiscales constituées', '671', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('672', 'Impôts étrangers sur le résultat de l''exercice', '67', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('673', 'Impôts étrangers sur le résultat d''exercice antérieures', '67', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('68', 'Transferts aux réserves immunisées', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('69', 'Affectations et prélévements', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('690', 'Perte reportée de l''exercice précédent', '69', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('691', 'Dotation à la réserve légale', '69', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('692', 'Dotation aux autres réserves', '69', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('693', 'Bénéfice à reporter', '69', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('694', 'Rémunération du capital', '69', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('695', 'Administrateurs ou gérants', '69', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('696', 'Autres allocataires', '69', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('70', 'Chiffre d''affaire', '7', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('700', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('701', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('702', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('703', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('704', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('706', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('707', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('709', 'Remises, ristournes et rabais accordés(-)', '70', 'PROINV'); -INSERT INTO tmp_pcmn VALUES ('71', 'Variations des stocks et commandes en cours d''éxécution', '7', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('712', 'des en-cours de fabrication', '71', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('713', 'des produits finis', '71', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('715', 'des immeubles construits destinés à la vente', '71', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('717', ' des commandes en cours d''éxécution', '71', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('7170', 'Valeur d''acquisition', '717', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('7171', 'Bénéfice pris en compte', '717', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('72', 'Production immobilisée', '7', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('74', 'Autres produits d''exploitation', '7', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('740', 'Subsides d'' exploitation et montants compensatoires', '74', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('741', 'Plus-values sur réalisation courantes d'' immobilisations corporelles', '74', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('742', 'Plus-values sur réalisations de créances commerciales', '74', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('743', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('744', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('745', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('746', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('747', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('748', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('75', 'Produits financiers', '7', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('750', 'Produits sur immobilisations financières', '75', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('751', 'Produits des actifs circulants', '75', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('752', 'Plus-value sur réalisations d''actis circulants', '75', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('753', 'Subsides en capital et intérêts', '75', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('754', 'Différences de change', '75', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('755', 'Ecarts de conversion des devises', '75', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('221', 'Construction', '22', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('756', 'Produits financiers divers', '75', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('757', 'Produits financiers divers', '75', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('758', 'Produits financiers divers', '75', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('759', 'Produits financiers divers', '75', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('76', 'Produits exceptionnels', '7', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('760', 'Reprise d''amortissements et de réductions de valeur', '76', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('7601', 'sur immobilisations corporelles', '760', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('7602', 'sur immobilisations incorporelles', '760', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('761', 'Reprises de réductions de valeur sur immobilisations financières', '76', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('762', 'Reprises de provisions pour risques et charges exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('763', 'Plus-value sur réalisation d''actifs immobilisé', '76', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('764', 'Autres produits exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('765', 'Autres produits exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('766', 'Autres produits exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('767', 'Autres produits exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('768', 'Autres produits exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('769', 'Autres produits exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('77', 'Régularisations d''impôts et reprises de provisions fiscales', '7', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('771', 'impôts belges sur le résultat', '77', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('7710', 'Régularisations d''impôts dus ou versé', '771', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('7711', 'Régularisations d''impôts estimés', '771', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('7712', 'Reprises de provisions fiscales', '771', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('773', 'Impôts étrangers sur le résultats', '77', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('79', 'Affectations et prélévements', '7', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('790', 'Bénéfice reporté de l''exercice précédent', '79', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('791', 'Prélévement sur le capital et les primes d''émission', '79', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('792', 'Prélévement sur les réserves', '79', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('793', 'Perte à reporter', '79', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('6301', 'Dotations aux amortissements sur immobilisations incorporelles', '630', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6302', 'Dotations aux amortissements sur immobilisations corporelles', '630', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6308', 'Dotations aux réductions de valeur sur immobilisations incorporelles', '630', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6309', 'Dotations aux réductions de valeur sur immobilisations corporelles', '630', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('631', 'Réductions de valeur sur stocks', '63', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6310', 'Dotations', '631', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6311', 'Reprises(-)', '631', 'CHAINV'); -INSERT INTO tmp_pcmn VALUES ('632', 'Réductions de valeur sur commande en cours d''éxécution', '63', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6320', 'Dotations', '632', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6321', 'Reprises(-)', '632', 'CHAINV'); -INSERT INTO tmp_pcmn VALUES ('633', 'Réductions de valeurs sur créances commerciales à plus d''un an', '63', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6330', 'Dotations', '633', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6331', 'Reprises(-)', '633', 'CHAINV'); -INSERT INTO tmp_pcmn VALUES ('634', 'Réductions de valeur sur créances commerciales à un an au plus', '63', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6340', 'Dotations', '634', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6341', 'Reprise', '634', 'CHAINV'); -INSERT INTO tmp_pcmn VALUES ('635', 'Provisions pour pensions et obligations similaires', '63', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6350', 'Dotations', '635', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6351', 'Utilisation et reprises', '635', 'CHAINV'); -INSERT INTO tmp_pcmn VALUES ('636', 'Provisions pour grosses réparations et gros entretien', '63', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6360', 'Dotations', '636', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6361', 'Reprises(-)', '636', 'CHAINV'); -INSERT INTO tmp_pcmn VALUES ('637', 'Provisions pour autres risques et charges', '63', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6370', 'Dotations', '637', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6371', 'Reprises(-)', '637', 'CHAINV'); -INSERT INTO tmp_pcmn VALUES ('64', 'Autres charges d''exploitation', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('640', 'Charges fiscales d''exploitation', '64', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('641', 'Moins-values sur réalisations courantes d''immobilisations corporelles', '64', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('642', 'Moins-value sur réalisation de créances commerciales', '64', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('643', 'Charges d''exploitations', '64', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('644', 'Charges d''exploitations', '64', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('645', 'Charges d''exploitations', '64', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('646', 'Charges d''exploitations', '64', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('647', 'Charges d''exploitations', '64', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('648', 'Charges d''exploitations', '64', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('649', 'Charges d''exploitation portées à l''actif au titre de frais de restructuration(-)', '64', 'CHAINV'); -INSERT INTO tmp_pcmn VALUES ('65', 'Charges financières', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('650', 'Charges des dettes', '65', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6500', 'Intérêts, commmissions et frais afférents aux dettes', '650', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6501', 'Amortissements des frais d''émissions d''emrunts et des primes de remboursement', '650', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6502', 'Autres charges des dettes', '650', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6503', 'Intérêts intercalaires portés à l''actif(-)', '650', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('651', 'Réductions de valeur sur actifs circulants', '65', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6510', 'Dotations', '651', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6511', 'Reprises(-)', '651', 'CHAINV'); -INSERT INTO tmp_pcmn VALUES ('652', 'Moins-value sur réalisation d''actifs circulants', '65', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('653', 'Charges d''escompte de créances', '65', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('654', 'Différences de changes', '65', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('655', 'Ecarts de conversion des devises', '65', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('656', 'Charges financières diverses', '65', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('657', 'Charges financières diverses', '65', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('658', 'Charges financières diverses', '65', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('659', 'Charges financières diverses', '65', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('66', 'Charges exceptionnelles', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('660', 'Amortissements et réductions de valeur exceptionnels (dotations)', '66', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6600', 'sur frais d''établissement', '660', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6601', 'sur immobilisations incorporelles', '660', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6602', 'sur immobilisations corporelles', '660', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('661', 'Réductions de valeur sur immobilisations financières (dotations)', '66', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('662', 'Provisions pour risques et charges exceptionnels', '66', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('663', 'Moins-values sur réalisations d''actifs immobilisés', '66', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('664', 'Autres charges exceptionnelles', '66', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('665', 'Autres charges exceptionnelles', '66', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('666', 'Autres charges exceptionnelles', '66', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('667', 'Autres charges exceptionnelles', '66', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('668', 'Autres charges exceptionnelles', '66', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('669', ' Charges exceptionnelles portées à l''actif au titre de frais de restructuration', '66', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('67', 'impôts sur le résultat', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('670', 'Impôts belge sur le résultat de l''exercice', '67', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6700', 'Impôts et précomptes dus ou versés', '670', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6701', 'Excédents de versement d''impôts et de précomptes portés à l''actifs (-)', '670', 'CHAINV'); -INSERT INTO tmp_pcmn VALUES ('6702', 'Charges fiscales estimées', '670', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('671', 'Impôts belges sur le résultats d''exercices antérieures', '67', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6710', 'Suppléments d''impôt dus ou versés', '671', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('50', 'Actions propres', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('51', 'Actions et parts', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('510', 'Valeur d''acquisition', '51', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('511', 'Montant non appelés', '51', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('519', 'Réductions de valeur actées', '51', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('52', 'Titres à revenu fixe', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('520', 'Valeur d''acquisition', '52', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('529', 'Réductions de valeur actées', '52', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('53', 'Dépôts à terme', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('530', 'de plus d''un an', '53', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('531', 'de plus d''un mois et d''un an au plus', '53', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('532', 'd''un mois au plus', '53', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('539', 'Réductions de valeur actées', '53', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('54', 'Valeurs échues à l''encaissement', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('55', 'Etablissement de crédit', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('550', 'Banque 1', '55', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5500', 'Comptes courants', '550', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5501', 'Chèques émis (-)', '550', 'ACTINV'); -INSERT INTO tmp_pcmn VALUES ('5509', 'Réduction de valeur actée', '550', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5510', 'Comptes courants', '551', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5511', 'Chèques émis (-)', '551', 'ACTINV'); -INSERT INTO tmp_pcmn VALUES ('5519', 'Réduction de valeur actée', '551', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5520', 'Comptes courants', '552', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5521', 'Chèques émis (-)', '552', 'ACTINV'); -INSERT INTO tmp_pcmn VALUES ('5529', 'Réduction de valeur actée', '552', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5530', 'Comptes courants', '553', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5531', 'Chèques émis (-)', '553', 'ACTINV'); -INSERT INTO tmp_pcmn VALUES ('5539', 'Réduction de valeur actée', '553', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5540', 'Comptes courants', '554', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5541', 'Chèques émis (-)', '554', 'ACTINV'); -INSERT INTO tmp_pcmn VALUES ('5549', 'Réduction de valeur actée', '554', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5550', 'Comptes courants', '555', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5551', 'Chèques émis (-)', '555', 'ACTINV'); -INSERT INTO tmp_pcmn VALUES ('5559', 'Réduction de valeur actée', '555', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5560', 'Comptes courants', '556', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5561', 'Chèques émis (-)', '556', 'ACTINV'); -INSERT INTO tmp_pcmn VALUES ('5569', 'Réduction de valeur actée', '556', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5570', 'Comptes courants', '557', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5571', 'Chèques émis (-)', '557', 'ACTINV'); -INSERT INTO tmp_pcmn VALUES ('5579', 'Réduction de valeur actée', '557', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5580', 'Comptes courants', '558', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5581', 'Chèques émis (-)', '558', 'ACTINV'); -INSERT INTO tmp_pcmn VALUES ('5589', 'Réduction de valeur actée', '558', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5590', 'Comptes courants', '559', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('5591', 'Chèques émis (-)', '559', 'ACTINV'); -INSERT INTO tmp_pcmn VALUES ('5599', 'Réduction de valeur actée', '559', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('56', 'Office des chèques postaux', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('560', 'Compte courant', '56', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('561', 'Chèques émis', '56', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('578', 'Caisse timbre', '57', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('58', 'Virement interne', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('60', 'Approvisionnement et marchandises', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('600', 'Achats de matières premières', '60', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('601', 'Achats de fournitures', '60', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('602', 'Achats de services, travaux et études', '60', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('603', 'Sous-traitances générales', '60', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('604', 'Achats de marchandises', '60', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('605', 'Achats d''immeubles destinés à la vente', '60', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('608', 'Remises, ristournes et rabais obtenus(-)', '60', 'CHAINV'); -INSERT INTO tmp_pcmn VALUES ('609', 'Variation de stock', '60', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6090', 'de matières premières', '609', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6091', 'de fournitures', '609', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6094', 'de marchandises', '609', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6095', 'immeubles achetés destinés à la vente', '609', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('61', 'Services et biens divers', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('62', 'Rémunérations, charges sociales et pensions', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('620', 'Rémunérations et avantages sociaux directs', '62', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6200', 'Administrateurs ou gérants', '620', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6201', 'Personnel de directions', '620', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6202', 'Employés,620', '6202', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6203', 'Ouvriers', '620', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6204', 'Autres membres du personnel', '620', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('621', 'Cotisations patronales d''assurances sociales', '62', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('622', 'Primes partonales pour assurances extra-légales', '62', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('623', 'Autres frais de personnel', '62', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('624', 'Pensions de retraite et de survie', '62', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6240', 'Administrateurs ou gérants', '624', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6241', 'Personnel', '624', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('63', 'Amortissements, réductions de valeurs et provisions pour risques et charges', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('630', 'Dotations aux amortissements et réduction de valeurs sur immobilisations', '63', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('6300', ' Dotations aux amortissements sur frais d''établissement', '630', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('705', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('414', 'Produits à recevoir', '41', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('416', 'Créances diverses', '41', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4160', 'Comptes de l''exploitant', '416', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('417', 'Créances douteuses', '41', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('418', 'Cautionnements versés en numéraires', '41', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('419', 'Réductions de valeur actées', '41', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('42', 'Dettes à plus dun an échéant dans l''année', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('420', 'Emprunts subordonnés', '42', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4200', 'convertibles', '420', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4201', 'non convertibles', '420', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('421', 'Emprunts subordonnés', '42', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4210', 'convertibles', '420', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4211', 'non convertibles', '420', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('422', ' Dettes de locations financement', '42', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('423', ' Etablissement de crédit', '42', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4230', 'Dettes en comptes', '423', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4231', 'Promesses', '423', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4232', 'Crédits d''acceptation', '423', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('424', 'Autres emprunts', '42', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('425', 'Dettes commerciales', '42', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4250', 'Fournisseurs', '425', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4251', 'Effets à payer', '425', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('426', 'Acomptes reçus sur commandes', '42', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('428', 'Cautionnement reçus en numéraires', '42', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('429', 'Dettes diverses', '42', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('43', 'Dettes financières', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('430', 'Etablissements de crédit - Emprunts à compte à terme fixe', '43', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('431', 'Etablissements de crédit - Promesses', '43', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('432', ' Etablissements de crédit - Crédits d''acceptation', '43', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('433', 'Etablissements de crédit -Dettes en comptes courant', '43', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('439', 'Autres emprunts', '43', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44', 'Dettes commerciales', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('440', 'Fournisseurs', '44', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('441', 'Effets à payer', '44', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('444', 'Factures à recevoir', '44', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('45', 'Dettes fiscales, salariales et sociales', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('450', 'Dettes fiscales estimées', '45', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4500', 'Impôts belges sur le résultat', '450', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4501', 'Impôts belges sur le résultat', '450', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4502', 'Impôts belges sur le résultat', '450', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4503', 'Impôts belges sur le résultat', '450', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4504', 'Impôts belges sur le résultat', '450', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4505', 'Autres impôts et taxes belges', '450', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4506', 'Autres impôts et taxes belges', '450', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4507', 'Autres impôts et taxes belges', '450', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4508', 'Impôts et taxes étrangers', '450', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('451', 'TVA à payer', '45', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4511', 'TVA à payer 21%', '451', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4512', 'TVA à payer 12%', '451', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4513', 'TVA à payer 6%', '451', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4514', 'TVA à payer 0%', '451', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('452', 'Impôts et taxes à payer', '45', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4520', 'Impôts belges sur le résultat', '452', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4521', 'Impôts belges sur le résultat', '452', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4522', 'Impôts belges sur le résultat', '452', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4523', 'Impôts belges sur le résultat', '452', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4524', 'Impôts belges sur le résultat', '452', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4525', 'Autres impôts et taxes belges', '452', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('55000001', 'Caisse', '5500', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4526', 'Autres impôts et taxes belges', '452', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4527', 'Autres impôts et taxes belges', '452', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4528', 'Impôts et taxes étrangers', '452', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('453', 'Précomptes retenus', '45', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('454', 'Office National de la Sécurité Sociales', '45', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('455', 'Rémunérations', '45', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('456', 'Pécules de vacances', '45', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('459', 'Autres dettes sociales', '45', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('46', 'Acomptes reçus sur commandes', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('47', 'Dettes découlant de l''affectation du résultat', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('470', 'Dividendes et tantièmes d''exercices antérieurs', '47', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('471', 'Dividendes de l''exercice', '47', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('472', 'Tantièmes de l''exercice', '47', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('473', 'Autres allocataires', '47', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('48', 'Dettes diverses', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('480', 'Obligations et coupons échus', '48', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('488', 'Cautionnements reçus en numéraires', '48', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('489', 'Autres dettes diverses', '48', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4890', 'Compte de l''exploitant', '489', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('49', 'Comptes de régularisation', '4', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('490', 'Charges à reporter', '49', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('491', 'Produits acquis', '49', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('492', 'Charges à imputer', '49', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('493', 'Produits à reporter', '49', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('499', 'Comptes d''attentes', '49', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2821', 'Montants non-appelés(-)', '282', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2828', 'Plus-values actées', '282', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2829', 'Réductions de valeurs actées', '282', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('283', 'Créances sur des entreprises avec lesquelles existe un lien de participation', '28', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2830', 'Créance en compte', '283', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2831', 'Effets à recevoir', '283', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('57', 'Caisse', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2832', 'Titre à revenu fixe', '283', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2837', 'Créances douteuses', '283', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2839', 'Réduction de valeurs actées', '283', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('284', 'Autres actions et parts', '28', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2840', 'Valeur d''acquisition', '284', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2841', 'Montants non-appelés(-)', '284', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2848', 'Plus-values actées', '284', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2849', 'Réductions de valeurs actées', '284', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('285', 'Autres créances', '28', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2850', 'Créance en compte', '285', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2851', 'Effets à recevoir', '285', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2852', 'Titre à revenu fixe', '285', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2857', 'Créances douteuses', '285', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2859', 'Réductions de valeurs actées', '285', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('288', 'Cautionnements versés en numéraires', '28', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('29', 'Créances à plus d''un an', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('290', 'Créances commerciales', '29', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2900', 'Clients', '290', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2901', 'Effets à recevoir', '290', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2906', 'Acomptes versés', '290', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2907', 'Créances douteuses', '290', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2909', 'Réductions de valeurs actées', '290', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('291', 'Autres créances', '29', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2910', 'Créances en comptes', '291', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2911', 'Effets à recevoir', '291', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2917', 'Créances douteuses', '291', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2919', 'Réductions de valeurs actées(-)', '291', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('30', 'Approvisionements - Matières premières', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('300', 'Valeur d''acquisition', '30', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('309', 'Réductions de valeur actées', '30', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('31', 'Approvisionnements - fournitures', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('310', 'Valeur d''acquisition', '31', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('319', 'Réductions de valeurs actées(-)', '31', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('32', 'En-cours de fabrication', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('320', 'Valeurs d''acquisition', '32', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('329', 'Réductions de valeur actées', '32', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('33', 'Produits finis', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('330', 'Valeur d''acquisition', '33', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('339', 'Réductions de valeur actées', '33', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('34', 'Marchandises', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('340', 'Valeur d''acquisition', '34', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('349', 'Réductions de valeur actées', '34', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('35', 'Immeubles destinés à la vente', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('350', 'Valeur d''acquisition', '35', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('359', 'Réductions de valeur actées', '35', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('36', 'Acomptes versés sur achats pour stocks', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('360', 'Valeur d''acquisition', '36', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('369', 'Réductions de valeur actées', '36', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('37', 'Commandes en cours éxécution', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('370', 'Valeur d''acquisition', '37', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('371', 'Bénéfice pris en compte ', '37', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('379', 'Réductions de valeur actées', '37', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('40', 'Créances commerciales', '4', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('400', 'Clients', '40', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('401', 'Effets à recevoir', '40', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('404', 'Produits à recevoir', '40', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('406', 'Acomptes versés', '40', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('407', 'Créances douteuses', '40', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('409', 'Réductions de valeur actées', '40', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('41', 'Autres créances', '4', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('410', 'Capital appelé non versé', '41', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('411', 'TVA à récupérer', '41', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4111', 'TVA à récupérer 21%', '411', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4112', 'TVA à récupérer 12%', '411', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4113', 'TVA à récupérer 6% ', '411', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4114', 'TVA à récupérer 0%', '411', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('412', 'Impôts et précomptes à récupérer', '41', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4120', 'Impôt belge sur le résultat', '412', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4121', 'Impôt belge sur le résultat', '412', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4122', 'Impôt belge sur le résultat', '412', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4123', 'Impôt belge sur le résultat', '412', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4124', 'Impôt belge sur le résultat', '412', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4125', 'Autres impôts et taxes belges', '412', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4126', 'Autres impôts et taxes belges', '412', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4127', 'Autres impôts et taxes belges', '412', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4128', 'Impôts et taxes étrangers', '412', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('10', 'Capital ', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('6040003', 'Petit matériel', '604', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('11', 'Prime d''émission ', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('12', 'Plus Value de réévaluation ', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('13', 'Réserve ', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('130', 'Réserve légale', '13', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('131', 'Réserve indisponible', '13', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1310', 'Réserve pour actions propres', '131', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('6040004', 'Assurance', '604', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('133', 'Réserves disponibles', '13', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('14', 'Bénéfice ou perte reportée', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('140', 'Bénéfice reporté', '14', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('141', 'Perte reportée', '14', 'PASINV'); -INSERT INTO tmp_pcmn VALUES ('15', 'Subside en capital', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('16', 'Provisions pour risques et charges', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('160', 'Provisions pour pensions et obligations similaires', '16', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('161', 'Provisions pour charges fiscales', '16', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('749', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn VALUES ('162', 'Provisions pour grosses réparation et gros entretien', '16', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('17', ' Dettes à plus d''un an', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('170', 'Emprunts subordonnés', '17', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1700', 'convertibles', '170', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1701', 'non convertibles', '170', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('171', 'Emprunts subordonnés', '17', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1710', 'convertibles', '170', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1711', 'non convertibles', '170', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('172', ' Dettes de locations financement', '17', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('173', ' Etablissement de crédit', '17', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1730', 'Dettes en comptes', '173', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1731', 'Promesses', '173', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1732', 'Crédits d''acceptation', '173', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('174', 'Autres emprunts', '17', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('175', 'Dettes commerciales', '17', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1750', 'Fournisseurs', '175', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1751', 'Effets à payer', '175', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('176', 'Acomptes reçus sur commandes', '17', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('178', 'Cautionnement reçus en numéraires', '17', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('179', 'Dettes diverses', '17', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('20', 'Frais d''établissement', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('200', 'Frais de constitution et d''augmentation de capital', '20', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('201', ' Frais d''émission d''emprunts et primes de remboursement', '20', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('202', 'Autres frais d''établissement', '20', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('204', 'Frais de restructuration', '20', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('21', 'Immobilisations incorporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('210', 'Frais de recherche et de développement', '21', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('211', 'Concessions, brevet, licence savoir faire, marque et droit similaires', '21', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('212', 'Goodwill', '21', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('213', 'Acomptes versés', '21', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('22', 'Terrains et construction', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('220', 'Terrains', '22', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('222', 'Terrains bâtis', '22', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('223', 'Autres droits réels sur des immeubles', '22', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('23', ' Installations, machines et outillages', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('24', 'Mobilier et Matériel roulant', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('25', 'Immobilisations détenus en location-financement et droits similaires', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('250', 'Terrains', '25', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('251', 'Construction', '25', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('252', 'Terrains bâtis', '25', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('253', 'Mobilier et matériels roulants', '25', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('26', 'Autres immobilisations corporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('27', 'Immobilisations corporelles en cours et acomptes versés', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('28', 'Immobilisations financières', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('280', 'Participation dans des entreprises liées', '28', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2800', 'Valeur d''acquisition', '280', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2801', 'Montants non-appelés(-)', '280', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2808', 'Plus-values actées', '280', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2809', 'Réductions de valeurs actées', '280', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('281', 'Créance sur des entreprises liées', '28', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2810', 'Créance en compte', '281', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2811', 'Effets à recevoir', '281', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2812', 'Titre à reveny fixe', '281', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2817', 'Créances douteuses', '281', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2819', 'Réduction de valeurs actées', '281', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('282', 'Participations dans des entreprises avec lesquelles il existe un lien de participation', '28', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('2820', 'Valeur d''acquisition', '282', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4516', 'Tva Export 0%', '451', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4115', 'Tva Intracomm 0%', '411', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4116', 'Tva Export 0%', '411', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('41141', 'TVA pour l\\''export', '4114', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('41142', 'TVA sur les opérations intracommunautaires', '4114', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('45141', 'TVA pour l\\''export', '451', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('45142', 'TVA sur les opérations intracommunautaires', '4514', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('41143', 'TVA sur les opérations avec des assujettis art 44 Code TVA', '4114', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('45143', 'TVA sur les opérations avec des assujettis art 44 Code TVA', '4514', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('41144', 'TVA sur les opérations avec des cocontractants', '4114', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('45144', 'TVA sur les opérations avec des cocontractants', '4514', 'PAS'); - - --- --- Data for Name: todo_list; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: tva_rate; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO tva_rate VALUES (1, '21%', 0.2100, 'Tva applicable à tout ce qui bien et service divers', '4111,4511', 0); -INSERT INTO tva_rate VALUES (2, '12%', 0.1200, 'Tva ', '4112,4512', 0); -INSERT INTO tva_rate VALUES (3, '6%', 0.0600, 'Tva applicable aux journaux et livres', '4113,4513', 0); -INSERT INTO tva_rate VALUES (4, '0%', 0.0000, 'Aucune tva n''est applicable', '4114,4514', 0); -INSERT INTO tva_rate VALUES (6, 'EXPORT', 0.0000, 'Tva pour les exportations', '41141,45144', 0); -INSERT INTO tva_rate VALUES (5, 'INTRA', 0.0000, 'Tva pour les livraisons / acquisition intra communautaires', '41142,45142', 0); -INSERT INTO tva_rate VALUES (7, 'COC', 0.0000, 'Opérations avec des cocontractants', '41144,45144', 0); -INSERT INTO tva_rate VALUES (8, 'ART44', 0.0000, 'Opérations pour les opérations avec des assujettis à l\\''art 44 Code TVA', '41143,45143', 0); - - --- --- Data for Name: user_local_pref; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO user_local_pref VALUES ('1', 'MINIREPORT', '0'); -INSERT INTO user_local_pref VALUES ('1', 'PERIODE', '79'); - - --- --- Data for Name: user_sec_act; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: user_sec_extension; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO user_sec_extension VALUES (1, 1, 'phpcompta', 'Y'); - - --- --- Data for Name: user_sec_jrn; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: version; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO version VALUES (99); - - --- --- Name: action_detail_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY action_detail - ADD CONSTRAINT action_detail_pkey PRIMARY KEY (ad_id); - - --- --- Name: action_gestion_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY action_gestion - ADD CONSTRAINT action_gestion_pkey PRIMARY KEY (ag_id); - - --- --- Name: action_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY action - ADD CONSTRAINT action_pkey PRIMARY KEY (ac_id); - - --- --- Name: attr_def_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY attr_def - ADD CONSTRAINT attr_def_pkey PRIMARY KEY (ad_id); - - --- --- Name: bilan_b_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY bilan - ADD CONSTRAINT bilan_b_name_key UNIQUE (b_name); - - --- --- Name: bilan_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY bilan - ADD CONSTRAINT bilan_pkey PRIMARY KEY (b_id); - - --- --- Name: centralized_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY centralized - ADD CONSTRAINT centralized_pkey PRIMARY KEY (c_id); - - --- --- Name: del_action_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY del_action - ADD CONSTRAINT del_action_pkey PRIMARY KEY (del_id); - - --- --- Name: dj_id; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY del_jrn - ADD CONSTRAINT dj_id PRIMARY KEY (dj_id); - - --- --- Name: djx_id; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY del_jrnx - ADD CONSTRAINT djx_id PRIMARY KEY (djx_id); - - --- --- Name: document_modele_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY document_modele - ADD CONSTRAINT document_modele_pkey PRIMARY KEY (md_id); - - --- --- Name: document_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY document - ADD CONSTRAINT document_pkey PRIMARY KEY (d_id); - - --- --- Name: document_state_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY document_state - ADD CONSTRAINT document_state_pkey PRIMARY KEY (s_id); - - --- --- Name: document_type_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY document_type - ADD CONSTRAINT document_type_pkey PRIMARY KEY (dt_id); - - --- --- Name: fiche_def_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY fiche_def - ADD CONSTRAINT fiche_def_pkey PRIMARY KEY (fd_id); - - --- --- Name: fiche_def_ref_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY fiche_def_ref - ADD CONSTRAINT fiche_def_ref_pkey PRIMARY KEY (frd_id); - - --- --- Name: fiche_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY fiche - ADD CONSTRAINT fiche_pkey PRIMARY KEY (f_id); - - --- --- Name: forecast_cat_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY forecast_cat - ADD CONSTRAINT forecast_cat_pk PRIMARY KEY (fc_id); - - --- --- Name: forecast_item_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY forecast_item - ADD CONSTRAINT forecast_item_pkey PRIMARY KEY (fi_id); - - --- --- Name: forecast_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY forecast - ADD CONSTRAINT forecast_pk PRIMARY KEY (f_id); - - --- --- Name: form_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY form - ADD CONSTRAINT form_pkey PRIMARY KEY (fo_id); - - --- --- Name: formdef_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY formdef - ADD CONSTRAINT formdef_pkey PRIMARY KEY (fr_id); - - --- --- Name: frd_ad_attr_min_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY attr_min - ADD CONSTRAINT frd_ad_attr_min_pk PRIMARY KEY (frd_id, ad_id); - - --- --- Name: historique_analytique_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY operation_analytique - ADD CONSTRAINT historique_analytique_pkey PRIMARY KEY (oa_id); - - --- --- Name: idx_ex_code; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY extension - ADD CONSTRAINT idx_ex_code UNIQUE (ex_code); - - --- --- Name: info_def_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY info_def - ADD CONSTRAINT info_def_pkey PRIMARY KEY (id_type); - - --- --- Name: jnt_fic_att_value_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY fiche_detail - ADD CONSTRAINT jnt_fic_att_value_pkey PRIMARY KEY (jft_id); - - --- --- Name: jnt_letter_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jnt_letter - ADD CONSTRAINT jnt_letter_pk PRIMARY KEY (jl_id); - - --- --- Name: jrn_action_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_action - ADD CONSTRAINT jrn_action_pkey PRIMARY KEY (ja_id); - - --- --- Name: jrn_def_jrn_def_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_def - ADD CONSTRAINT jrn_def_jrn_def_name_key UNIQUE (jrn_def_name); - - --- --- Name: jrn_def_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_def - ADD CONSTRAINT jrn_def_pkey PRIMARY KEY (jrn_def_id); - - --- --- Name: jrn_info_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_info - ADD CONSTRAINT jrn_info_pkey PRIMARY KEY (ji_id); - - --- --- Name: jrn_periode_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_periode - ADD CONSTRAINT jrn_periode_pk PRIMARY KEY (jrn_def_id, p_id); - - --- --- Name: jrn_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn - ADD CONSTRAINT jrn_pkey PRIMARY KEY (jr_id, jr_def_id); - - --- --- Name: jrn_rapt_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_rapt - ADD CONSTRAINT jrn_rapt_pkey PRIMARY KEY (jra_id); - - --- --- Name: jrn_type_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_type - ADD CONSTRAINT jrn_type_pkey PRIMARY KEY (jrn_type_id); - - --- --- Name: jrnx_note_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_note - ADD CONSTRAINT jrnx_note_pkey PRIMARY KEY (n_id); - - --- --- Name: jrnx_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrnx - ADD CONSTRAINT jrnx_pkey PRIMARY KEY (j_id); - - --- --- Name: letter_cred_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY letter_cred - ADD CONSTRAINT letter_cred_pk PRIMARY KEY (lc_id); - - --- --- Name: letter_deb_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY letter_deb - ADD CONSTRAINT letter_deb_pk PRIMARY KEY (ld_id); - - --- --- Name: menu_ref_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY menu_ref - ADD CONSTRAINT menu_ref_pkey PRIMARY KEY (me_code); - - --- --- Name: mod_payment_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_pkey PRIMARY KEY (mp_id); - - --- --- Name: op_def_op_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY op_predef - ADD CONSTRAINT op_def_op_name_key UNIQUE (od_name, jrn_def_id); - - --- --- Name: op_def_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY op_predef - ADD CONSTRAINT op_def_pkey PRIMARY KEY (od_id); - - --- --- Name: op_predef_detail_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY op_predef_detail - ADD CONSTRAINT op_predef_detail_pkey PRIMARY KEY (opd_id); - - --- --- Name: parameter_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY parameter - ADD CONSTRAINT parameter_pkey PRIMARY KEY (pr_id); - - --- --- Name: parm_code_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY parm_code - ADD CONSTRAINT parm_code_pkey PRIMARY KEY (p_code); - - --- --- Name: parm_money_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY parm_money - ADD CONSTRAINT parm_money_pkey PRIMARY KEY (pm_code); - - --- --- Name: parm_periode_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY parm_periode - ADD CONSTRAINT parm_periode_pkey PRIMARY KEY (p_id); - - --- --- Name: parm_poste_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY parm_poste - ADD CONSTRAINT parm_poste_pkey PRIMARY KEY (p_value); - - --- --- Name: pk_extension; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY extension - ADD CONSTRAINT pk_extension PRIMARY KEY (ex_id); - - --- --- Name: pk_ga_id; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY groupe_analytique - ADD CONSTRAINT pk_ga_id PRIMARY KEY (ga_id); - - --- --- Name: pk_jnt_fic_attr; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jnt_fic_attr - ADD CONSTRAINT pk_jnt_fic_attr PRIMARY KEY (jnt_id); - - --- --- Name: pk_user_local_pref; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY user_local_pref - ADD CONSTRAINT pk_user_local_pref PRIMARY KEY (user_id, parameter_type); - - --- --- Name: plan_analytique_pa_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY plan_analytique - ADD CONSTRAINT plan_analytique_pa_name_key UNIQUE (pa_name); - - --- --- Name: plan_analytique_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY plan_analytique - ADD CONSTRAINT plan_analytique_pkey PRIMARY KEY (pa_id); - - --- --- Name: poste_analytique_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY poste_analytique - ADD CONSTRAINT poste_analytique_pkey PRIMARY KEY (po_id); - - --- --- Name: profile_menu_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY profile_menu - ADD CONSTRAINT profile_menu_pkey PRIMARY KEY (pm_id); - - --- --- Name: profile_menu_type_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY profile_menu_type - ADD CONSTRAINT profile_menu_type_pkey PRIMARY KEY (pm_type); - - --- --- Name: profile_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY profile - ADD CONSTRAINT profile_pkey PRIMARY KEY (p_id); - - --- --- Name: profile_user_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY profile_user - ADD CONSTRAINT profile_user_pkey PRIMARY KEY (pu_id); - - --- --- Name: profile_user_user_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY profile_user - ADD CONSTRAINT profile_user_user_name_key UNIQUE (user_name, p_id); - - --- --- Name: qp_id_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT qp_id_pk PRIMARY KEY (qp_id); - - --- --- Name: qs_id_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY quant_sold - ADD CONSTRAINT qs_id_pk PRIMARY KEY (qs_id); - - --- --- Name: quant_fin_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY quant_fin - ADD CONSTRAINT quant_fin_pk PRIMARY KEY (qf_id); - - --- --- Name: stock_goods_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY stock_goods - ADD CONSTRAINT stock_goods_pkey PRIMARY KEY (sg_id); - - --- --- Name: tmp_pcmn_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY tmp_pcmn - ADD CONSTRAINT tmp_pcmn_pkey PRIMARY KEY (pcm_val); - - --- --- Name: todo_list_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY todo_list - ADD CONSTRAINT todo_list_pkey PRIMARY KEY (tl_id); - - --- --- Name: tva_id_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY tva_rate - ADD CONSTRAINT tva_id_pk PRIMARY KEY (tva_id); - - --- --- Name: user_sec_act_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY user_sec_act - ADD CONSTRAINT user_sec_act_pkey PRIMARY KEY (ua_id); - - --- --- Name: user_sec_extension_ex_id_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY user_sec_extension - ADD CONSTRAINT user_sec_extension_ex_id_key UNIQUE (ex_id, use_login); - - --- --- Name: user_sec_extension_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY user_sec_extension - ADD CONSTRAINT user_sec_extension_pkey PRIMARY KEY (use_id); - - --- --- Name: user_sec_jrn_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY user_sec_jrn - ADD CONSTRAINT user_sec_jrn_pkey PRIMARY KEY (uj_id); - - --- --- Name: ux_internal; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn - ADD CONSTRAINT ux_internal UNIQUE (jr_internal); - - --- --- Name: fd_id_ad_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX fd_id_ad_id_x ON jnt_fic_attr USING btree (fd_id, ad_id); - - --- --- Name: fiche_detail_f_id_ad_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX fiche_detail_f_id_ad_id ON fiche_detail USING btree (f_id, ad_id); - - --- --- Name: fk_stock_goods_f_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fk_stock_goods_f_id ON stock_goods USING btree (f_id); - - --- --- Name: fk_stock_goods_j_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fk_stock_goods_j_id ON stock_goods USING btree (j_id); - - --- --- Name: fki_f_end_date; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fki_f_end_date ON forecast USING btree (f_end_date); - - --- --- Name: fki_f_start_date; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fki_f_start_date ON forecast USING btree (f_start_date); - - --- --- Name: fki_jrnx_f_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fki_jrnx_f_id ON jrnx USING btree (f_id); - - --- --- Name: fki_profile_menu_me_code; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fki_profile_menu_me_code ON profile_menu USING btree (me_code); - - --- --- Name: fki_profile_menu_profile; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fki_profile_menu_profile ON profile_menu USING btree (p_id); - - --- --- Name: fki_profile_menu_type_fkey; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fki_profile_menu_type_fkey ON profile_menu USING btree (p_type_display); - - --- --- Name: idx_qs_internal; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX idx_qs_internal ON quant_sold USING btree (qs_internal); - - --- --- Name: jnt_fic_att_value_fd_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX jnt_fic_att_value_fd_id_idx ON fiche_detail USING btree (f_id); - - --- --- Name: jnt_fic_attr_fd_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX jnt_fic_attr_fd_id_idx ON jnt_fic_attr USING btree (fd_id); - - --- --- Name: k_ag_ref; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX k_ag_ref ON action_gestion USING btree (ag_ref); - - --- --- Name: qcode_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX qcode_idx ON fiche_detail USING btree (ad_value) WHERE (ad_id = 23); - - --- --- Name: qf_jr_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX qf_jr_id ON quant_fin USING btree (jr_id); - - --- --- Name: qp_j_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX qp_j_id ON quant_purchase USING btree (j_id); - - --- --- Name: qs_j_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX qs_j_id ON quant_sold USING btree (j_id); - - --- --- Name: uj_login_uj_jrn_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX uj_login_uj_jrn_id ON user_sec_jrn USING btree (uj_login, uj_jrn_id); - - --- --- Name: ux_po_name; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX ux_po_name ON poste_analytique USING btree (po_name); - - --- --- Name: x_jrn_jr_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX x_jrn_jr_id ON jrn USING btree (jr_id); - - --- --- Name: x_mt; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX x_mt ON jrn USING btree (jr_mt); - - --- --- Name: x_periode; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX x_periode ON parm_periode USING btree (p_start, p_end); - - --- --- Name: x_poste; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX x_poste ON jrnx USING btree (j_poste); - - --- --- Name: action_gestion_t_insert_update; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER action_gestion_t_insert_update - BEFORE INSERT OR UPDATE ON action_gestion - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.action_gestion_ins_upd(); - - --- --- Name: TRIGGER action_gestion_t_insert_update ON action_gestion; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TRIGGER action_gestion_t_insert_update ON action_gestion IS 'Truncate the column ag_title to 70 char'; - - --- --- Name: document_modele_validate; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER document_modele_validate - BEFORE INSERT OR UPDATE ON document_modele - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.t_document_modele_validate(); - - --- --- Name: document_validate; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER document_validate - BEFORE INSERT OR UPDATE ON document - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.t_document_validate(); - - --- --- Name: fiche_def_ins_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER fiche_def_ins_upd - BEFORE INSERT OR UPDATE ON fiche_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.fiche_def_ins_upd(); - - --- --- Name: info_def_ins_upd_t; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER info_def_ins_upd_t - BEFORE INSERT OR UPDATE ON info_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.info_def_ins_upd(); - - --- --- Name: quant_sold_ins_upd_tr; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER quant_sold_ins_upd_tr - AFTER INSERT OR UPDATE ON quant_purchase - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.quant_purchase_ins_upd(); - - --- --- Name: quant_sold_ins_upd_tr; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER quant_sold_ins_upd_tr - AFTER INSERT OR UPDATE ON quant_sold - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.quant_sold_ins_upd(); - - --- --- Name: remove_action_gestion; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER remove_action_gestion - AFTER DELETE ON fiche - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.card_after_delete(); - - --- --- Name: t_check_balance; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_check_balance - AFTER INSERT OR UPDATE ON jrn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.proc_check_balance(); - - --- --- Name: t_check_jrn; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_check_jrn - BEFORE INSERT OR DELETE OR UPDATE ON jrn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_check_periode(); - - --- --- Name: t_group_analytic_del; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_group_analytic_del - BEFORE DELETE ON groupe_analytique - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.group_analytique_del(); - - --- --- Name: t_group_analytic_ins_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_group_analytic_ins_upd - BEFORE INSERT OR UPDATE ON groupe_analytique - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.group_analytic_ins_upd(); - - --- --- Name: t_jnt_fic_attr_ins; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jnt_fic_attr_ins - AFTER INSERT ON jnt_fic_attr - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jnt_fic_attr_ins(); - - --- --- Name: t_jrn_def_add_periode; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jrn_def_add_periode - AFTER INSERT ON jrn_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_def_add(); - - --- --- Name: t_jrn_def_delete; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jrn_def_delete - BEFORE DELETE ON jrn_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_def_delete(); - - --- --- Name: t_jrn_del; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jrn_del - BEFORE DELETE ON jrn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_del(); - - --- --- Name: t_jrnx_del; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jrnx_del - BEFORE DELETE ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrnx_del(); - - --- --- Name: t_jrnx_ins; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jrnx_ins - BEFORE INSERT ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrnx_ins(); - - --- --- Name: TRIGGER t_jrnx_ins ON jrnx; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TRIGGER t_jrnx_ins ON jrnx IS 'check that the qcode used by the card exists and format it : uppercase and trim the space'; - - --- --- Name: t_jrnx_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jrnx_upd - BEFORE UPDATE ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrnx_ins(); - - --- --- Name: t_letter_del; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_letter_del - AFTER DELETE ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrnx_letter_del(); - - --- --- Name: TRIGGER t_letter_del ON jrnx; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TRIGGER t_letter_del ON jrnx IS 'Delete the lettering for this row'; - - --- --- Name: t_plan_analytique_ins_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_plan_analytique_ins_upd - BEFORE INSERT OR UPDATE ON plan_analytique - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.plan_analytic_ins_upd(); - - --- --- Name: t_poste_analytique_ins_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_poste_analytique_ins_upd - BEFORE INSERT OR UPDATE ON poste_analytique - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.poste_analytique_ins_upd(); - - --- --- Name: t_tmp_pcm_alphanum_ins_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_tmp_pcm_alphanum_ins_upd - BEFORE INSERT OR UPDATE ON tmp_pcmn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.tmp_pcmn_alphanum_ins_upd(); - - --- --- Name: t_tmp_pcmn_ins; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_tmp_pcmn_ins - BEFORE INSERT ON tmp_pcmn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.tmp_pcmn_ins(); - - --- --- Name: trg_extension_ins_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER trg_extension_ins_upd - BEFORE INSERT OR UPDATE ON extension - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.extension_ins_upd(); - - --- --- Name: trigger_document_type_i; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER trigger_document_type_i - AFTER INSERT ON document_type - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.t_document_type_insert(); - - --- --- Name: trigger_jrn_def_sequence_i; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER trigger_jrn_def_sequence_i - AFTER INSERT ON jrn_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.t_jrn_def_sequence(); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY centralized - ADD CONSTRAINT "$1" FOREIGN KEY (c_jrn_def) REFERENCES jrn_def(jrn_def_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY user_sec_act - ADD CONSTRAINT "$1" FOREIGN KEY (ua_act_id) REFERENCES action(ac_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY fiche_def - ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES fiche_def_ref(frd_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY attr_min - ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES fiche_def_ref(frd_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY fiche - ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES fiche_def(fd_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY fiche_detail - ADD CONSTRAINT "$1" FOREIGN KEY (f_id) REFERENCES fiche(f_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jnt_fic_attr - ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES fiche_def(fd_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn - ADD CONSTRAINT "$1" FOREIGN KEY (jr_def_id) REFERENCES jrn_def(jrn_def_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_action - ADD CONSTRAINT "$1" FOREIGN KEY (ja_jrn_type) REFERENCES jrn_type(jrn_type_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_def - ADD CONSTRAINT "$1" FOREIGN KEY (jrn_def_type) REFERENCES jrn_type(jrn_type_id); - - --- --- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrnx - ADD CONSTRAINT "$2" FOREIGN KEY (j_jrn_def) REFERENCES jrn_def(jrn_def_id); - - --- --- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY attr_min - ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id); - - --- --- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY fiche_detail - ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id); - - --- --- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jnt_fic_attr - ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id); - - --- --- Name: action_detail_ag_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY action_detail - ADD CONSTRAINT action_detail_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: card; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast_item - ADD CONSTRAINT card FOREIGN KEY (fi_card) REFERENCES fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_card; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_fin - ADD CONSTRAINT fk_card FOREIGN KEY (qf_bank) REFERENCES fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_card_other; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_fin - ADD CONSTRAINT fk_card_other FOREIGN KEY (qf_other) REFERENCES fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_forecast; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast_item - ADD CONSTRAINT fk_forecast FOREIGN KEY (fc_id) REFERENCES forecast_cat(fc_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_info_def; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_info - ADD CONSTRAINT fk_info_def FOREIGN KEY (id_type) REFERENCES info_def(id_type) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_jrn; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_info - ADD CONSTRAINT fk_jrn FOREIGN KEY (jr_id) REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_jrn; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_fin - ADD CONSTRAINT fk_jrn FOREIGN KEY (jr_id) REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_pa_id; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY groupe_analytique - ADD CONSTRAINT fk_pa_id FOREIGN KEY (pa_id) REFERENCES plan_analytique(pa_id) ON DELETE CASCADE; - - --- --- Name: fk_pcmn_val; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrnx - ADD CONSTRAINT fk_pcmn_val FOREIGN KEY (j_poste) REFERENCES tmp_pcmn(pcm_val); - - --- --- Name: fk_pcmn_val; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY centralized - ADD CONSTRAINT fk_pcmn_val FOREIGN KEY (c_poste) REFERENCES tmp_pcmn(pcm_val); - - --- --- Name: fk_stock_good_f_id; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY stock_goods - ADD CONSTRAINT fk_stock_good_f_id FOREIGN KEY (f_id) REFERENCES fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: forecast_child; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast_cat - ADD CONSTRAINT forecast_child FOREIGN KEY (f_id) REFERENCES forecast(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: forecast_f_end_date_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast - ADD CONSTRAINT forecast_f_end_date_fkey FOREIGN KEY (f_end_date) REFERENCES parm_periode(p_id) ON UPDATE SET NULL ON DELETE SET NULL; - - --- --- Name: forecast_f_start_date_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast - ADD CONSTRAINT forecast_f_start_date_fkey FOREIGN KEY (f_start_date) REFERENCES parm_periode(p_id) ON UPDATE SET NULL ON DELETE SET NULL; - - --- --- Name: formdef_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY form - ADD CONSTRAINT formdef_fk FOREIGN KEY (fo_fr_id) REFERENCES formdef(fr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jnt_cred_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY letter_cred - ADD CONSTRAINT jnt_cred_fk FOREIGN KEY (jl_id) REFERENCES jnt_letter(jl_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jnt_deb_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY letter_deb - ADD CONSTRAINT jnt_deb_fk FOREIGN KEY (jl_id) REFERENCES jnt_letter(jl_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jrn_def_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY op_predef - ADD CONSTRAINT jrn_def_id_fk FOREIGN KEY (jrn_def_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jrn_per_jrn_def_id; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_periode - ADD CONSTRAINT jrn_per_jrn_def_id FOREIGN KEY (jrn_def_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jrn_periode_p_id; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_periode - ADD CONSTRAINT jrn_periode_p_id FOREIGN KEY (p_id) REFERENCES parm_periode(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jrn_rapt_jr_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_rapt - ADD CONSTRAINT jrn_rapt_jr_id_fkey FOREIGN KEY (jr_id) REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jrn_rapt_jra_concerned_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_rapt - ADD CONSTRAINT jrn_rapt_jra_concerned_fkey FOREIGN KEY (jra_concerned) REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jrnx_f_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrnx - ADD CONSTRAINT jrnx_f_id_fkey FOREIGN KEY (f_id) REFERENCES fiche(f_id) ON UPDATE CASCADE; - - --- --- Name: jrnx_note_j_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_note - ADD CONSTRAINT jrnx_note_j_id_fkey FOREIGN KEY (jr_id) REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: letter_cred_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY letter_cred - ADD CONSTRAINT letter_cred_fk FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: letter_deb_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY letter_deb - ADD CONSTRAINT letter_deb_fk FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: md_type; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY document_modele - ADD CONSTRAINT md_type FOREIGN KEY (md_type) REFERENCES document_type(dt_id); - - --- --- Name: mod_payment_jrn_def_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_jrn_def_id_fk FOREIGN KEY (jrn_def_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: mod_payment_mp_fd_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_mp_fd_id_fkey FOREIGN KEY (mp_fd_id) REFERENCES fiche_def(fd_id); - - --- --- Name: mod_payment_mp_jrn_def_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_mp_jrn_def_id_fkey FOREIGN KEY (mp_jrn_def_id) REFERENCES jrn_def(jrn_def_id); - - --- --- Name: operation_analytique_j_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY operation_analytique - ADD CONSTRAINT operation_analytique_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: operation_analytique_po_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY operation_analytique - ADD CONSTRAINT operation_analytique_po_id_fkey FOREIGN KEY (po_id) REFERENCES poste_analytique(po_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: poste_analytique_pa_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY poste_analytique - ADD CONSTRAINT poste_analytique_pa_id_fkey FOREIGN KEY (pa_id) REFERENCES plan_analytique(pa_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: profile_menu_me_code_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile_menu - ADD CONSTRAINT profile_menu_me_code_fkey FOREIGN KEY (me_code) REFERENCES menu_ref(me_code) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: profile_menu_p_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile_menu - ADD CONSTRAINT profile_menu_p_id_fkey FOREIGN KEY (p_id) REFERENCES profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: profile_menu_type_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile_menu - ADD CONSTRAINT profile_menu_type_fkey FOREIGN KEY (p_type_display) REFERENCES profile_menu_type(pm_type); - - --- --- Name: profile_user_p_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile_user - ADD CONSTRAINT profile_user_p_id_fkey FOREIGN KEY (p_id) REFERENCES profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: qp_vat_code_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT qp_vat_code_fk FOREIGN KEY (qp_vat_code) REFERENCES tva_rate(tva_id); - - --- --- Name: qs_vat_code_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_sold - ADD CONSTRAINT qs_vat_code_fk FOREIGN KEY (qs_vat_code) REFERENCES tva_rate(tva_id); - - --- --- Name: quant_purchase_j_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT quant_purchase_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: quant_purchase_qp_internal_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT quant_purchase_qp_internal_fkey FOREIGN KEY (qp_internal) REFERENCES jrn(jr_internal) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: quant_sold_j_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_sold - ADD CONSTRAINT quant_sold_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: quant_sold_qs_internal_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_sold - ADD CONSTRAINT quant_sold_qs_internal_fkey FOREIGN KEY (qs_internal) REFERENCES jrn(jr_internal) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: stock_goods_j_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY stock_goods - ADD CONSTRAINT stock_goods_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: uj_priv_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY user_sec_jrn - ADD CONSTRAINT uj_priv_id_fkey FOREIGN KEY (uj_jrn_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- PostgreSQL database dump complete --- - -commit; diff --git a/sources/contrib/mono-dossier/mono-france.sql b/sources/contrib/mono-dossier/mono-france.sql deleted file mode 100644 index a359f64..0000000 --- a/sources/contrib/mono-dossier/mono-france.sql +++ /dev/null @@ -1,8976 +0,0 @@ --- --- PostgreSQL database dump --- - -SET statement_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = off; -SET check_function_bodies = false; -SET client_min_messages = warning; -SET escape_string_warning = off; - --- --- Name: comptaproc; Type: SCHEMA; Schema: -; Owner: - --- - -CREATE SCHEMA comptaproc; - - --- --- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: - --- - -CREATE PROCEDURAL LANGUAGE plpgsql; - - -SET search_path = public, pg_catalog; - --- --- Name: account_type; Type: DOMAIN; Schema: public; Owner: - --- - -CREATE DOMAIN account_type AS character varying(40); - - --- --- Name: anc_table_account_type; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE anc_table_account_type AS ( - po_id bigint, - pa_id bigint, - po_name text, - po_description text, - sum_amount numeric(25,4), - card_account text, - name text -); - - --- --- Name: anc_table_card_type; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE anc_table_card_type AS ( - po_id bigint, - pa_id bigint, - po_name text, - po_description text, - sum_amount numeric(25,4), - f_id bigint, - card_account text, - name text -); - - --- --- Name: menu_tree; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE menu_tree AS ( - code text, - description text -); - - -SET search_path = comptaproc, pg_catalog; - --- --- Name: account_add(public.account_type, character varying); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_add(p_id public.account_type, p_name character varying) RETURNS text - LANGUAGE plpgsql - AS $$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - nCount integer; - sReturn text; -begin - sReturn:= format_account(p_id); - select count(*) into nCount from tmp_pcmn where pcm_val=sReturn; - if nCount = 0 then - nParent=account_parent(p_id); - insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent) - values (p_id, p_name,nParent) returning pcm_val into sReturn; - end if; -return sReturn; -end ; -$$; - - --- --- Name: account_alphanum(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_alphanum() RETURNS boolean - LANGUAGE plpgsql - AS $$ -declare - l_auto bool; -begin - l_auto := true; - select pr_value into l_auto from parameter where pr_id='MY_ALPHANUM'; - if l_auto = 'N' or l_auto is null then - l_auto:=false; - end if; - return l_auto; -end; -$$; - - --- --- Name: account_auto(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_auto(p_fd_id integer) RETURNS boolean - LANGUAGE plpgsql - AS $$ -declare - l_auto bool; -begin - - select fd_create_account into l_auto from fiche_def where fd_id=p_fd_id; - if l_auto is null then - l_auto:=false; - end if; - return l_auto; -end; -$$; - - --- --- Name: account_compute(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_compute(p_f_id integer) RETURNS public.account_type - LANGUAGE plpgsql - AS $$ -declare - class_base fiche_def.fd_class_base%type; - maxcode numeric; - sResult account_type; - bAlphanum bool; - sName text; -begin - select fd_class_base into class_base - from - fiche_def join fiche using (fd_id) - where - f_id=p_f_id; - raise notice 'account_compute class base %',class_base; - bAlphanum := account_alphanum(); - if bAlphanum = false then - select count (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - if maxcode = 0 then - maxcode:=class_base::numeric; - else - select max (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - maxcode:=maxcode::numeric; - end if; - if maxcode::text = class_base then - maxcode:=class_base::numeric*1000; - end if; - maxcode:=maxcode+1; - raise notice 'account_compute Max code %',maxcode; - sResult:=maxcode::account_type; - else - -- if alphanum, use name - select ad_value into sName from fiche_detail where f_id=p_f_id and ad_id=1; - if sName is null then - raise exception 'Cannot compute an accounting without the name of the card for %',p_f_id; - end if; - sResult := class_base||sName; - end if; - return sResult; -end; -$$; - - --- --- Name: account_insert(integer, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_insert(p_f_id integer, p_account text) RETURNS text - LANGUAGE plpgsql - AS $$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - sNew tmp_pcmn.pcm_val%type; - bAuto bool; - nFd_id integer; - sClass_Base fiche_def.fd_class_base%TYPE; - nCount integer; - first text; - second text; -begin - - if p_account is not null and length(trim(p_account)) != 0 then - -- if there is coma in p_account, treat normally - if position (',' in p_account) = 0 then - raise info 'p_account is not empty'; - select count(*) into nCount from tmp_pcmn where pcm_val=p_account::account_type; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise info 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,p_account); - else - -- account doesn't exist, create it - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account::account_type); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::account_type,sName,nParent); - perform attribut_insert(p_f_id,5,p_account); - - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - perform attribut_insert(p_f_id,5,p_account); - end if; - else - raise info 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - - select fd_class_base into sClass_base from fiche_def where fd_id=nFd_id; -raise info 'sClass_Base : %',sClass_base; - if bAuto = true and sClass_base similar to '[[:digit:]]*' then - raise info 'account generated automatically'; - sNew:=account_compute(p_f_id); - raise info 'sNew %', sNew; - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(sNew); - sNew := account_add (sNew,sName); - perform attribut_insert(p_f_id,5,sNew); - - else - -- if there is an account_base then it is the default - select fd_class_base::account_type into sNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if sNew is null or length(trim(sNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,sNew); - end if; - end if; - end if; - -return 0; -end; -$$; - - --- --- Name: account_parent(public.account_type); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_parent(p_account public.account_type) RETURNS public.account_type - LANGUAGE plpgsql - AS $$ -declare - sSubParent tmp_pcmn.pcm_val_parent%type; - sResult tmp_pcmn.pcm_val_parent%type; - nCount integer; -begin - if p_account is NULL then - return NULL; - end if; - sSubParent:=p_account; - while true loop - select count(*) into nCount - from tmp_pcmn - where - pcm_val = sSubParent; - if nCount != 0 then - sResult:= sSubParent; - exit; - end if; - sSubParent:= substr(sSubParent,1,length(sSubParent)-1); - if length(sSubParent) <= 0 then - raise exception 'Impossible de trouver le compte parent pour %',p_account; - end if; - raise notice 'sSubParent % % ',sSubParent,length(sSubParent); - end loop; - raise notice 'account_parent : Parent is %',sSubParent; - return sSubParent; -end; -$$; - - --- --- Name: account_update(integer, public.account_type); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_update(p_f_id integer, p_account public.account_type) RETURNS integer - LANGUAGE plpgsql - AS $$ -declare - nMax fiche.f_id%type; - nCount integer; - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - first text; - second text; -begin - - if length(trim(p_account)) != 0 then - -- 2 accounts in card separated by comma - if position (',' in p_account) = 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - -- check that both account are in PCMN - - end if; - else - -- account is null - update fiche_detail set ad_value=null where f_id=p_f_id and ad_id=5 ; - end if; - - update fiche_detail set ad_value=p_account where f_id=p_f_id and ad_id=5 ; - -return 0; -end; -$$; - - --- --- Name: action_gestion_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION action_gestion_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -begin -NEW.ag_title := substr(trim(NEW.ag_title),1,70); -NEW.ag_hour := substr(trim(NEW.ag_hour),1,5); -return NEW; -end; -$$; - - --- --- Name: action_get_tree(bigint); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION action_get_tree(p_id bigint) RETURNS SETOF bigint - LANGUAGE plpgsql - AS $$ - -declare - e bigint; - i bigint; -begin - for e in select ag_id from action_gestion where ag_ref_ag_id=p_id - loop - for i in select action_get_tree from comptaproc.action_get_tree(e) - loop - raise notice ' == i %', i; - return next i; - end loop; - raise notice ' = e %', e; - return next e; - end loop; - return; - -end; -$$; - - --- --- Name: attribut_insert(integer, integer, character varying); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION attribut_insert(p_f_id integer, p_ad_id integer, p_value character varying) RETURNS void - LANGUAGE plpgsql - AS $$ -begin - insert into fiche_detail (f_id,ad_id, ad_value) values (p_f_id,p_ad_id,p_value); - -return; -end; -$$; - - --- --- Name: attribute_correct_order(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION attribute_correct_order() RETURNS void - LANGUAGE plpgsql - AS $$ -declare - crs_correct cursor for select A.jnt_id,A.jnt_order from jnt_fic_attr as A join jnt_fic_attr as B using (fd_id) where A.jnt_order=B.jnt_order and A.jnt_id > B.jnt_id; - rec record; -begin - open crs_correct; - loop - fetch crs_correct into rec; - if NOT FOUND then - close crs_correct; - return; - end if; - update jnt_fic_attr set jnt_order=jnt_order + 1 where jnt_id = rec.jnt_id; - end loop; - close crs_correct; - perform attribute_correct_order (); -end; -$$; - - --- --- Name: card_after_delete(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION card_after_delete() RETURNS trigger - LANGUAGE plpgsql - AS $$ - -begin - - delete from action_gestion where f_id_dest = OLD.f_id; - return OLD; - -end; -$$; - - --- --- Name: card_class_base(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION card_class_base(p_f_id integer) RETURNS text - LANGUAGE plpgsql - AS $$ -declare - n_poste fiche_def.fd_class_base%type; -begin - - select fd_class_base into n_poste from fiche_def join fiche using -(fd_id) - where f_id=p_f_id; - if not FOUND then - raise exception 'Invalid fiche card_class_base(%)',p_f_id; - end if; -return n_poste; -end; -$$; - - --- --- Name: check_balance(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION check_balance(p_grpt integer) RETURNS numeric - LANGUAGE plpgsql - AS $$ -declare - amount_jrnx_debit numeric; - amount_jrnx_credit numeric; - amount_jrn numeric; -begin - select sum (j_montant) into amount_jrnx_credit - from jrnx - where - j_grpt=p_grpt - and j_debit=false; - - select sum (j_montant) into amount_jrnx_debit - from jrnx - where - j_grpt=p_grpt - and j_debit=true; - - select jr_montant into amount_jrn - from jrn - where - jr_grpt_id=p_grpt; - - if ( amount_jrnx_debit != amount_jrnx_credit ) - then - return abs(amount_jrnx_debit-amount_jrnx_credit); - end if; - if ( amount_jrn != amount_jrnx_credit) - then - return -1*abs(amount_jrn - amount_jrnx_credit); - end if; - return 0; -end; -$$; - - --- --- Name: correct_sequence(text, text, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION correct_sequence(p_sequence text, p_col text, p_table text) RETURNS integer - LANGUAGE plpgsql - AS $$ -declare -last_sequence int8; -max_sequence int8; -n integer; -begin - select count(*) into n from pg_class where relkind='S' and relname=lower(p_sequence); - if n = 0 then - raise exception ' Unknow sequence % ',p_sequence; - end if; - select count(*) into n from pg_class where relkind='r' and relname=lower(p_table); - if n = 0 then - raise exception ' Unknow table % ',p_table; - end if; - - execute 'select last_value from '||p_sequence into last_sequence; - raise notice 'Last value of the sequence is %', last_sequence; - - execute 'select max('||p_col||') from '||p_table into max_sequence; - if max_sequence is null then - max_sequence := 0; - end if; - raise notice 'Max value of the sequence is %', max_sequence; - max_sequence:= max_sequence +1; - execute 'alter sequence '||p_sequence||' restart with '||max_sequence; -return 0; - -end; -$$; - - --- --- Name: FUNCTION correct_sequence(p_sequence text, p_col text, p_table text); Type: COMMENT; Schema: comptaproc; Owner: - --- - -COMMENT ON FUNCTION correct_sequence(p_sequence text, p_col text, p_table text) IS ' Often the primary key is a sequence number and sometimes the value of the sequence is not synchronized with the primary key ( p_sequence : sequence name, p_col : col of the pk,p_table : concerned table'; - - --- --- Name: create_missing_sequence(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION create_missing_sequence() RETURNS integer - LANGUAGE plpgsql - AS $$ -declare -p_sequence text; -nSeq integer; -c1 cursor for select jrn_def_id from jrn_def; -begin - open c1; - loop - fetch c1 into nSeq; - if not FOUND THEN - close c1; - return 0; - end if; - p_sequence:='s_jrn_pj'||nSeq::text; - execute 'create sequence '||p_sequence; - end loop; -close c1; -return 0; - -end; -$$; - - --- --- Name: drop_index(character varying); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION drop_index(p_constraint character varying) RETURNS void - LANGUAGE plpgsql - AS $$ -declare - nCount integer; -begin - select count(*) into nCount from pg_indexes where indexname=p_constraint; - if nCount = 1 then - execute 'drop index '||p_constraint ; - end if; -end; -$$; - - --- --- Name: drop_it(character varying); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION drop_it(p_constraint character varying) RETURNS void - LANGUAGE plpgsql - AS $$ -declare - nCount integer; -begin - select count(*) into nCount from pg_constraint where conname=p_constraint; - if nCount = 1 then - execute 'alter table parm_periode drop constraint '||p_constraint ; - end if; -end; -$$; - - --- --- Name: extension_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION extension_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - sCode text; - sFile text; -begin -sCode:=trim(upper(NEW.ex_code)); -sCode:=replace(sCode,' ','_'); -sCode:=substr(sCode,1,15); -sCode=upper(sCode); -NEW.ex_code:=sCode; -sFile:=NEW.ex_file; -sFile:=replace(sFile,';','_'); -sFile:=replace(sFile,'<','_'); -sFile:=replace(sFile,'>','_'); -sFile:=replace(sFile,'..',''); -sFile:=replace(sFile,'&',''); -sFile:=replace(sFile,'|',''); - - - -return NEW; - -end; - -$$; - - --- --- Name: fiche_account_parent(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION fiche_account_parent(p_f_id integer) RETURNS public.account_type - LANGUAGE plpgsql - AS $$ -declare -ret tmp_pcmn.pcm_val%TYPE; -begin - select fd_class_base into ret from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if not FOUND then - raise exception '% N''existe pas',p_f_id; - end if; - return ret; -end; -$$; - - --- --- Name: fiche_attribut_synchro(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION fiche_attribut_synchro(p_fd_id integer) RETURNS void - LANGUAGE plpgsql - AS $$ -declare - -- this sql gives the f_id and the missing attribute (ad_id) - list_missing cursor for select f_id,fd_id,ad_id,jnt_order from jnt_fic_attr join fiche as A using (fd_id) where fd_id=p_fd_id and ad_id not in (select ad_id from fiche join fiche_detail using (f_id) where fd_id=jnt_fic_attr.fd_id and A.f_id=f_id); - rec record; -begin - open list_missing; - loop - - fetch list_missing into rec; - IF NOT FOUND then - exit; - end if; - - -- now we insert into attr_value - insert into fiche_detail (f_id,ad_id,ad_value) values (rec.f_id,rec.ad_id,null); - end loop; - close list_missing; -end; -$$; - - --- --- Name: fiche_def_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION fiche_def_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -begin - -if position (',' in NEW.fd_class_base) != 0 then - NEW.fd_create_account='f'; - -end if; -return NEW; -end;$$; - - --- --- Name: fill_quant_fin(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION fill_quant_fin() RETURNS void - LANGUAGE plpgsql - AS $$ -declare - sBank text; - sCassa text; - sCustomer text; - sSupplier text; - rec record; - recBank record; - recSupp_Cust record; - nCount integer; - nAmount numeric; - nBank integer; - nOther integer; - nSupp_Cust integer; -begin - select p_value into sBank from parm_code where p_code='BANQUE'; - select p_value into sCassa from parm_code where p_code='CAISSE'; - select p_value into sSupplier from parm_code where p_code='SUPPLIER'; - select p_value into sCustomer from parm_code where p_code='CUSTOMER'; - - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') - and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nBank := 0; nOther:=0; - for recBank in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recBank.j_poste like sBank||'%' then - -- retrieve f_id for bank - select f_id into nBank from vw_poste_qcode where j_qcode=recBank.j_qcode; - if recBank.j_debit = false then - nAmount=recBank.j_montant*(-1); - else - nAmount=recBank.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recBank.j_qcode; - end if; - end loop; - if nBank != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nBank,nOther,nAmount); - end if; - end loop; - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nBank := 0; nOther:=0; - for recBank in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recBank.j_poste like sCassa||'%' then - -- retrieve f_id for bank - select f_id into nBank from vw_poste_qcode where j_qcode=recBank.j_qcode; - if recBank.j_debit = false then - nAmount=recBank.j_montant*(-1); - else - nAmount=recBank.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recBank.j_qcode; - end if; - end loop; - if nBank != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nBank,nOther,nAmount); - end if; - end loop; - - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nSupp_Cust := 0; nOther:=0; - for recSupp_Cust in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recSupp_Cust.j_poste like sSupplier||'%' then - -- retrieve f_id for bank - select f_id into nSupp_Cust from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - if recSupp_Cust.j_debit = true then - nAmount=recSupp_Cust.j_montant*(-1); - else - nAmount=recSupp_Cust.j_montant; - end if; - else if recSupp_Cust.j_poste like sCustomer||'%' then - select f_id into nSupp_Cust from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - if recSupp_Cust.j_debit = false then - nAmount=recSupp_Cust.j_montant*(-1); - else - nAmount=recSupp_Cust.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - - end if; - end if; - end loop; - if nSupp_Cust != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nOther,nSupp_Cust,nAmount); - end if; - end loop; - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nSupp_Cust := 0; nOther:=0; - for recSupp_Cust in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recSupp_Cust.j_poste like '441%' then - -- retrieve f_id for bank - select f_id into nSupp_Cust from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - if recSupp_Cust.j_debit = false then - nAmount=recSupp_Cust.j_montant*(-1); - else - nAmount=recSupp_Cust.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - - - end if; - end loop; - if nSupp_Cust != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nOther,nSupp_Cust,nAmount); - end if; - end loop; - return; -end; -$$; - - --- --- Name: find_pcm_type(public.account_type); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION find_pcm_type(pp_value public.account_type) RETURNS text - LANGUAGE plpgsql - AS $$ -declare - str_type parm_poste.p_type%TYPE; - str_value parm_poste.p_type%TYPE; - nLength integer; -begin - str_value:=pp_value; - nLength:=length(str_value::text); - while nLength > 0 loop - select p_type into str_type from parm_poste where p_value=str_value; - if FOUND then - return str_type; - end if; - nLength:=nLength-1; - str_value:=substring(str_value::text from 1 for nLength)::account_type; - end loop; -return 'CON'; -end; -$$; - - --- --- Name: find_periode(text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION find_periode(p_date text) RETURNS integer - LANGUAGE plpgsql - AS $$ - -declare n_p_id int4; -begin - -select p_id into n_p_id - from parm_periode - where - p_start <= to_date(p_date,'DD.MM.YYYY') - and - p_end >= to_date(p_date,'DD.MM.YYYY'); - -if NOT FOUND then - return -1; -end if; - -return n_p_id; - -end;$$; - - --- --- Name: format_account(public.account_type); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION format_account(p_account public.account_type) RETURNS public.account_type - LANGUAGE plpgsql - AS $_$ - -declare - -sResult account_type; - -begin -sResult := lower(p_account); - -sResult := translate(sResult,'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); -sResult := translate(sResult,' $€µ£%.+-/\!(){}(),;_&|"#''^<>*',''); - -return upper(sResult); - -end; -$_$; - - --- --- Name: FUNCTION format_account(p_account public.account_type); Type: COMMENT; Schema: comptaproc; Owner: - --- - -COMMENT ON FUNCTION format_account(p_account public.account_type) IS 'format the accounting : -- upper case -- remove space and special char. -'; - - --- --- Name: get_letter_jnt(bigint); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION get_letter_jnt(a bigint) RETURNS bigint - LANGUAGE plpgsql - AS $$ -declare - nResult bigint; -begin - select jl_id into nResult from jnt_letter join letter_deb using (jl_id) where j_id = a; - if NOT FOUND then - select jl_id into nResult from jnt_letter join letter_cred using (jl_id) where j_id = a; - if NOT found then - return null; - end if; - end if; -return nResult; -end; -$$; - - --- --- Name: get_menu_tree(text, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION get_menu_tree(p_code text, login text) RETURNS SETOF public.menu_tree - LANGUAGE plpgsql - AS $$ -declare - i menu_tree; - e menu_tree; - a text; - x v_all_menu%ROWTYPE; -begin - for x in select * from v_all_menu where me_code_dep=p_code::text and user_name=login::text - loop - if x.me_code_dep is not null then - i.code := x.me_code_dep||'/'||x.me_code; - else - i.code := x.me_code; - end if; - - i.description := x.me_description; - - return next i; - - for e in select * from get_menu_tree(x.me_code,login) - loop - e.code:=x.me_code_dep||'/'||e.code; - return next e; - end loop; - - end loop; - return; -end; -$$; - - --- --- Name: get_pcm_tree(public.account_type); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION get_pcm_tree(source public.account_type) RETURNS SETOF public.account_type - LANGUAGE plpgsql - AS $$ -declare - i account_type; - e account_type; -begin - for i in select pcm_val from tmp_pcmn where pcm_val_parent=source - loop - return next i; - for e in select get_pcm_tree from get_pcm_tree(i) - loop - return next e; - end loop; - - end loop; - return; -end; -$$; - - --- --- Name: get_profile_menu(text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION get_profile_menu(login text) RETURNS SETOF public.menu_tree - LANGUAGE plpgsql - AS $$ -declare - a menu_tree; - e menu_tree; -begin -for a in select me_code,me_description from v_all_menu where user_name=login - and me_code_dep is null and me_type <> 'PR' and me_type <>'SP' -loop - return next a; - - for e in select * from get_menu_tree(a.code,login) - loop - return next e; - end loop; - - end loop; -return; -end; -$$; - - --- --- Name: group_analytic_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION group_analytic_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -name text; -begin -name:=upper(NEW.ga_id); -name:=trim(name); -name:=replace(name,' ',''); -NEW.ga_id:=name; -return NEW; -end;$$; - - --- --- Name: group_analytique_del(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION group_analytique_del() RETURNS trigger - LANGUAGE plpgsql - AS $$ -begin -update poste_analytique set ga_id=null -where ga_id=OLD.ga_id; -return OLD; -end;$$; - - --- --- Name: html_quote(text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION html_quote(p_string text) RETURNS text - LANGUAGE plpgsql - AS $$ -declare - r text; -begin - r:=p_string; - r:=replace(r,'<','<'); - r:=replace(r,'>','>'); - r:=replace(r,'''','"'); - return r; -end;$$; - - --- --- Name: FUNCTION html_quote(p_string text); Type: COMMENT; Schema: comptaproc; Owner: - --- - -COMMENT ON FUNCTION html_quote(p_string text) IS 'remove harmfull HTML char'; - - --- --- Name: info_def_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION info_def_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - row_info_def info_def%ROWTYPE; - str_type text; -begin -row_info_def:=NEW; -str_type:=upper(trim(NEW.id_type)); -str_type:=replace(str_type,' ',''); -str_type:=replace(str_type,',',''); -str_type:=replace(str_type,';',''); -if length(str_type) =0 then - raise exception 'id_type cannot be null'; -end if; -row_info_def.id_type:=str_type; -return row_info_def; -end; -$$; - - --- --- Name: insert_jrnx(character varying, numeric, public.account_type, integer, integer, boolean, text, integer, text, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION insert_jrnx(p_date character varying, p_montant numeric, p_poste public.account_type, p_grpt integer, p_jrn_def integer, p_debit boolean, p_tech_user text, p_tech_per integer, p_qcode text, p_comment text) RETURNS void - LANGUAGE plpgsql - AS $$ -begin - insert into jrnx - ( - j_date, - j_montant, - j_poste, - j_grpt, - j_jrn_def, - j_debit, - j_text, - j_tech_user, - j_tech_per, - j_qcode - ) values - ( - to_date(p_date,'DD.MM.YYYY'), - p_montant, - p_poste, - p_grpt, - p_jrn_def, - p_debit, - p_comment, - p_tech_user, - p_tech_per, - p_qcode - ); - -return; -end; -$$; - - --- --- Name: insert_quant_purchase(text, numeric, character varying, numeric, numeric, numeric, integer, numeric, numeric, numeric, numeric, character varying, numeric); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION insert_quant_purchase(p_internal text, p_j_id numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric, p_dep_priv numeric, p_client character varying, p_tva_sided numeric) RETURNS void - LANGUAGE plpgsql - AS $$ -declare - fid_client integer; - fid_good integer; -begin - select f_id into fid_client from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_client)); - select f_id into fid_good from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche)); - insert into quant_purchase - (qp_internal, - j_id, - qp_fiche, - qp_quantite, - qp_price, - qp_vat, - qp_vat_code, - qp_nd_amount, - qp_nd_tva, - qp_nd_tva_recup, - qp_supplier, - qp_dep_priv, - qp_vat_sided) - values - (p_internal, - p_j_id, - fid_good, - p_quant, - p_price, - p_vat, - p_vat_code, - p_nd_amount, - p_nd_tva, - p_nd_tva_recup, - fid_client, - p_dep_priv, - p_tva_sided); - return; -end; - $$; - - --- --- Name: insert_quant_sold(text, numeric, character varying, numeric, numeric, numeric, integer, character varying, numeric); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION insert_quant_sold(p_internal text, p_jid numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_client character varying, p_tva_sided numeric) RETURNS void - LANGUAGE plpgsql - AS $$ -declare - fid_client integer; - fid_good integer; -begin - - select f_id into fid_client from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_client)); - select f_id into fid_good from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche)); - insert into quant_sold - (qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client,qs_valid,qs_vat_sided) - values - (p_internal,p_jid,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client,'Y',p_tva_sided); - return; -end; - $$; - - --- --- Name: insert_quick_code(integer, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION insert_quick_code(nf_id integer, tav_text text) RETURNS integer - LANGUAGE plpgsql - AS $$ - declare - ns integer; - nExist integer; - tText text; - begin - tText := upper(trim(tav_text)); - tText := replace(tText,' ',''); - - loop - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - if length (tText) = 0 or tText is null then - tText := 'FID'||ns; - end if; - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=upper(tText); - - if nExist = 0 then - exit; - end if; - tText:='FID'||ns; - end loop; - - - insert into fiche_detail(jft_id,f_id,ad_id,ad_value) values (ns,nf_id,23,upper(tText)); - return ns; - end; -$$; - - --- --- Name: is_closed(integer, integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION is_closed(p_periode integer, p_jrn_def_id integer) RETURNS boolean - LANGUAGE plpgsql - AS $$ -declare -bClosed bool; -str_status text; -begin -select p_closed into bClosed from parm_periode - where p_id=p_periode; - -if bClosed = true then - return bClosed; -end if; - -select status into str_status from jrn_periode - where p_id =p_periode and jrn_def_id=p_jrn_def_id; - -if str_status <> 'OP' then - return bClosed; -end if; -return false; -end; -$$; - - --- --- Name: jnt_fic_attr_ins(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jnt_fic_attr_ins() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - r_record jnt_fic_attr%ROWTYPE; - i_max integer; -begin -r_record=NEW; -perform comptaproc.fiche_attribut_synchro(r_record.fd_id); -select coalesce(max(jnt_order),0) into i_max from jnt_fic_attr where fd_id=r_record.fd_id; -i_max := i_max + 10; -NEW.jnt_order=i_max; -return NEW; -end; -$$; - - --- --- Name: jrn_add_note(bigint, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrn_add_note(p_jrid bigint, p_note text) RETURNS void - LANGUAGE plpgsql - AS $$ -declare - tmp bigint; -begin - if length(trim(p_note)) = 0 then - delete from jrn_note where jr_id= p_jrid; - return; - end if; - - select n_id into tmp from jrn_note where jr_id = p_jrid; - - if FOUND then - update jrn_note set n_text=trim(p_note) where jr_id = p_jrid; - else - insert into jrn_note (jr_id,n_text) values ( p_jrid, p_note); - - end if; - - return; -end; -$$; - - --- --- Name: jrn_check_periode(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrn_check_periode() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -bClosed bool; -str_status text; -ljr_tech_per jrn.jr_tech_per%TYPE; -ljr_def_id jrn.jr_def_id%TYPE; -lreturn jrn%ROWTYPE; -begin -if TG_OP='UPDATE' then - ljr_tech_per :=OLD.jr_tech_per ; - NEW.jr_tech_per := comptaproc.find_periode(to_char(NEW.jr_date,'DD.MM.YYYY')); - ljr_def_id :=OLD.jr_def_id; - lreturn :=NEW; - if NEW.jr_date = OLD.jr_date then - return NEW; - end if; - if comptaproc.is_closed(NEW.jr_tech_per,NEW.jr_def_id) = true then - raise exception 'Periode fermee'; - end if; -end if; - -if TG_OP='INSERT' then - NEW.jr_tech_per := comptaproc.find_periode(to_char(NEW.jr_date,'DD.MM.YYYY')); - ljr_tech_per :=NEW.jr_tech_per ; - ljr_def_id :=NEW.jr_def_id; - lreturn :=NEW; -end if; - -if TG_OP='DELETE' then - ljr_tech_per :=OLD.jr_tech_per; - ljr_def_id :=OLD.jr_def_id; - lreturn :=OLD; -end if; - -if comptaproc.is_closed (ljr_def_id,ljr_def_id) = true then - raise exception 'Periode fermee'; -end if; - -return lreturn; -end;$$; - - --- --- Name: jrn_def_add(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrn_def_add() RETURNS trigger - LANGUAGE plpgsql - AS $$begin -execute 'insert into jrn_periode(p_id,jrn_def_id,status) select p_id,'||NEW.jrn_def_id||', - case when p_central=true then ''CE'' - when p_closed=true then ''CL'' - else ''OP'' - end -from -parm_periode '; -return NEW; -end;$$; - - --- --- Name: jrn_def_delete(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrn_def_delete() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -nb numeric; -begin -select count(*) into nb from jrn where jr_def_id=OLD.jrn_def_id; - -if nb <> 0 then - raise exception 'EFFACEMENT INTERDIT: JOURNAL UTILISE'; -end if; -return OLD; -end;$$; - - --- --- Name: jrn_del(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrn_del() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -row jrn%ROWTYPE; -begin -row:=OLD; -insert into del_jrn ( jr_id, - jr_def_id, - jr_montant, - jr_comment, - jr_date, - jr_grpt_id, - jr_internal, - jr_tech_date, - jr_tech_per, - jrn_ech, - jr_ech, - jr_rapt, - jr_valid, - jr_opid, - jr_c_opid, - jr_pj, - jr_pj_name, - jr_pj_type, - jr_pj_number, - del_jrn_date) - select jr_id, - jr_def_id, - jr_montant, - jr_comment, - jr_date, - jr_grpt_id, - jr_internal, - jr_tech_date, - jr_tech_per, - jrn_ech, - jr_ech, - jr_rapt, - jr_valid, - jr_opid, - jr_c_opid, - jr_pj, - jr_pj_name, - jr_pj_type, - jr_pj_number - ,now() from jrn where jr_id=row.jr_id; -return row; -end; -$$; - - --- --- Name: jrnx_del(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrnx_del() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -row jrnx%ROWTYPE; -begin -row:=OLD; - - -insert into del_jrnx( - j_id, j_date, j_montant, j_poste, j_grpt, j_rapt, j_jrn_def, - j_debit, j_text, j_centralized, j_internal, j_tech_user, j_tech_date, - j_tech_per, j_qcode, f_id) SELECT j_id, j_date, j_montant, j_poste, j_grpt, j_rapt, j_jrn_def, - j_debit, j_text, j_centralized, j_internal, j_tech_user, j_tech_date, - j_tech_per, j_qcode, f_id from jrnx where j_id=row.j_id; -return row; -end; -$$; - - --- --- Name: jrnx_ins(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrnx_ins() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -n_fid bigint; -begin - -NEW.j_tech_per := comptaproc.find_periode(to_char(NEW.j_date,'DD.MM.YYYY')); -if NEW.j_tech_per = -1 then - raise exception 'Période invalide'; -end if; - -if NEW.j_qcode is NULL then - return NEW; -end if; - -NEW.j_qcode=trim(upper(NEW.j_qcode)); - -if length (NEW.j_qcode) = 0 then - NEW.j_qcode=NULL; - else - select f_id into n_fid from fiche_detail where ad_id=23 and ad_value=NEW.j_qcode; - if NOT FOUND then - raise exception 'La fiche dont le quick code est % n''existe pas',NEW.j_qcode; - end if; -end if; -NEW.f_id:=n_fid; -return NEW; -end; -$$; - - --- --- Name: jrnx_letter_del(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION jrnx_letter_del() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -row jrnx%ROWTYPE; -begin -row:=OLD; -delete from jnt_letter - where (jl_id in (select jl_id from letter_deb) and jl_id not in(select jl_id from letter_cred )) - or (jl_id not in (select jl_id from letter_deb ) and jl_id in(select jl_id from letter_cred )); -return row; -end; -$$; - - --- --- Name: plan_analytic_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION plan_analytic_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - name text; -begin - name:=upper(NEW.pa_name); - name:=trim(name); - name:=replace(name,' ',''); - NEW.pa_name:=name; -return NEW; -end; -$$; - - --- --- Name: poste_analytique_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION poste_analytique_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$declare -name text; -rCount record; - -begin -name:=upper(NEW.po_name); -name:=trim(name); -name:=replace(name,' ',''); -NEW.po_name:=name; - -if NEW.ga_id is NULL then -return NEW; -end if; - -if length(trim(NEW.ga_id)) = 0 then - NEW.ga_id:=NULL; - return NEW; -end if; -perform 'select ga_id from groupe_analytique where ga_id='||NEW.ga_id; -if NOT FOUND then - raise exception' Inexistent Group Analytic %',NEW.ga_id; -end if; -return NEW; -end;$$; - - --- --- Name: proc_check_balance(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION proc_check_balance() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - diff numeric; - tt integer; -begin - if TG_OP = 'INSERT' or TG_OP='UPDATE' then - tt=NEW.jr_grpt_id; - diff:=check_balance(tt); - if diff != 0 then - raise exception 'balance error %',diff ; - end if; - return NEW; - end if; -end; -$$; - - --- --- Name: quant_purchase_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION quant_purchase_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ - begin - if NEW.qp_price < 0 OR NEW.qp_quantite <0 THEN - NEW.qp_price := abs (NEW.qp_price)*(-1); - NEW.qp_quantite := abs (NEW.qp_quantite)*(-1); - end if; -return NEW; -end; -$$; - - --- --- Name: quant_sold_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION quant_sold_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ - begin - if NEW.qs_price < 0 OR NEW.qs_quantite <0 THEN - NEW.qs_price := abs (NEW.qs_price)*(-1); - NEW.qs_quantite := abs (NEW.qs_quantite)*(-1); - end if; -return NEW; -end; -$$; - - --- --- Name: t_document_modele_validate(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION t_document_modele_validate() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - lText text; - modified document_modele%ROWTYPE; -begin - modified:=NEW; - - modified.md_filename:=replace(NEW.md_filename,' ','_'); - return modified; -end; -$$; - - --- --- Name: t_document_type_insert(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION t_document_type_insert() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -nCounter integer; - BEGIN -select count(*) into nCounter from pg_class where relname='seq_doc_type_'||NEW.dt_id; -if nCounter = 0 then - execute 'create sequence seq_doc_type_'||NEW.dt_id; -end if; - RETURN NEW; - END; -$$; - - --- --- Name: t_document_validate(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION t_document_validate() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - lText text; - modified document%ROWTYPE; -begin - modified:=NEW; - modified.d_filename:=replace(NEW.d_filename,' ','_'); - return modified; -end; -$$; - - --- --- Name: t_jrn_def_sequence(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION t_jrn_def_sequence() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare -nCounter integer; - - BEGIN - select count(*) into nCounter - from pg_class where relname='s_jrn_'||NEW.jrn_def_id; - if nCounter = 0 then - execute 'create sequence s_jrn_'||NEW.jrn_def_id; - raise notice 'Creating sequence s_jrn_%',NEW.jrn_def_id; - end if; - - RETURN NEW; - END; -$$; - - --- --- Name: table_analytic_account(text, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION table_analytic_account(p_from text, p_to text) RETURNS SETOF public.anc_table_account_type - LANGUAGE plpgsql - AS $$ -declare - ret ANC_table_account_type%ROWTYPE; - sql_from text:=''; - sql_to text:=''; - sWhere text:=''; - sAnd text:=''; - sResult text:=''; -begin -if p_from <> '' and p_from is not null then - sql_from:='oa_date >= to_date('''||p_from::text||''',''DD.MM.YYYY'')'; - sWhere:=' where '; -end if; - -if p_to <> '' and p_to is not null then - sql_to=' oa_date <= to_date('''||p_to::text||''',''DD.MM.YYYY'')'; - sWhere := ' where '; -end if; - -if sql_to <> '' and sql_from <> '' then - sAnd:=' and '; -end if; - -sResult := sWhere || sql_from || sAnd || sql_to; - -for ret in EXECUTE 'SELECT po.po_id, - po.pa_id, po.po_name, - po.po_description,sum( - CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount - END) AS sum_amount, jrnx.j_poste, tmp_pcmn.pcm_lib AS name - FROM operation_analytique - JOIN poste_analytique po USING (po_id) - JOIN jrnx USING (j_id) - JOIN tmp_pcmn ON jrnx.j_poste::text = tmp_pcmn.pcm_val::text -'|| sResult ||' - GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.j_poste, tmp_pcmn.pcm_lib, po.po_description - HAVING sum( -CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount -END) <> 0::numeric ' - loop - return next ret; -end loop; -end; -$$; - - --- --- Name: table_analytic_card(text, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION table_analytic_card(p_from text, p_to text) RETURNS SETOF public.anc_table_card_type - LANGUAGE plpgsql - AS $$ -declare - ret ANC_table_card_type%ROWTYPE; - sql_from text:=''; - sql_to text:=''; - sWhere text:=''; - sAnd text:=''; - sResult text:=''; -begin -if p_from <> '' and p_from is not null then - sql_from:='oa_date >= to_date('''||p_from::text||''',''DD.MM.YYYY'')'; - sWhere:=' where '; -end if; - -if p_to <> '' and p_to is not null then - sql_to=' oa_date <= to_date('''||p_to::text||''',''DD.MM.YYYY'')'; - sWhere := ' where '; -end if; - -if sql_to <> '' and sql_from <> '' then - sAnd :=' and '; -end if; - -sResult := sWhere || sql_from || sAnd || sql_to; - -for ret in EXECUTE ' SELECT po.po_id, po.pa_id, po.po_name, po.po_description, sum( - CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount - END) AS sum_amount, jrnx.f_id, jrnx.j_qcode, ( SELECT fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id) AS name - FROM operation_analytique - JOIN poste_analytique po USING (po_id) - JOIN jrnx USING (j_id)'|| sResult ||' - GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.f_id, jrnx.j_qcode, ( SELECT fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id), po.po_description - HAVING sum( -CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount -END) <> 0::numeric;' - - - loop - return next ret; -end loop; -end; -$$; - - --- --- Name: tmp_pcmn_alphanum_ins_upd(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION tmp_pcmn_alphanum_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - r_record tmp_pcmn%ROWTYPE; -begin -r_record := NEW; -r_record.pcm_val:=format_account(NEW.pcm_val); - -return r_record; -end; -$$; - - --- --- Name: tmp_pcmn_ins(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION tmp_pcmn_ins() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - r_record tmp_pcmn%ROWTYPE; -begin -r_record := NEW; -if length(trim(r_record.pcm_type))=0 or r_record.pcm_type is NULL then - r_record.pcm_type:=find_pcm_type(NEW.pcm_val); - return r_record; -end if; -return NEW; -end; -$$; - - --- --- Name: trim_cvs_quote(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION trim_cvs_quote() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - modified import_tmp%ROWTYPE; -begin - modified:=NEW; - modified.devise=replace(new.devise,'"',''); - modified.poste_comptable=replace(new.poste_comptable,'"',''); - modified.compte_ordre=replace(NEW.COMPTE_ORDRE,'"',''); - modified.detail=replace(NEW.DETAIL,'"',''); - modified.num_compte=replace(NEW.NUM_COMPTE,'"',''); - return modified; -end; -$$; - - --- --- Name: trim_space_format_csv_banque(); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION trim_space_format_csv_banque() RETURNS trigger - LANGUAGE plpgsql - AS $$ -declare - modified format_csv_banque%ROWTYPE; -begin - modified.name=trim(NEW.NAME); - modified.include_file=trim(new.include_file); - if ( length(modified.name) = 0 ) then - modified.name=null; - end if; - if ( length(modified.include_file) = 0 ) then - modified.include_file=null; - end if; - - return modified; -end; -$$; - - --- --- Name: tva_delete(integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION tva_delete(integer) RETURNS void - LANGUAGE plpgsql - AS $_$ -declare - p_tva_id alias for $1; - nCount integer; -begin - nCount=0; - select count(*) into nCount from quant_sold where qs_vat_code=p_tva_id; - if nCount != 0 then - return; - - end if; - select count(*) into nCount from quant_purchase where qp_vat_code=p_tva_id; - if nCount != 0 then - return; - - end if; - -delete from tva_rate where tva_id=p_tva_id; - return; -end; -$_$; - - --- --- Name: tva_insert(text, numeric, text, text, integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION tva_insert(text, numeric, text, text, integer) RETURNS integer - LANGUAGE plpgsql - AS $_$ -declare - l_tva_id integer; - p_tva_label alias for $1; - p_tva_rate alias for $2; - p_tva_comment alias for $3; - p_tva_poste alias for $4; - p_tva_both_side alias for $5; - debit text; - credit text; - nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::account_type; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::account_type; - if nCount = 0 then return 4; end if; - -end if; -select into l_tva_id nextval('s_tva') ; -insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste,tva_both_side) - values (l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste,p_tva_both_side); -return 0; -end; -$_$; - - --- --- Name: tva_modify(integer, text, numeric, text, text, integer); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION tva_modify(integer, text, numeric, text, text, integer) RETURNS integer - LANGUAGE plpgsql - AS $_$ -declare - p_tva_id alias for $1; - p_tva_label alias for $2; - p_tva_rate alias for $3; - p_tva_comment alias for $4; - p_tva_poste alias for $5; - p_tva_both_side alias for $6; - debit text; - credit text; - nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::account_type; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::account_type; - if nCount = 0 then return 4; end if; - -end if; -update tva_rate set tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste,tva_both_side=p_tva_both_side - where tva_id=p_tva_id; -return 0; -end; -$_$; - - --- --- Name: update_quick_code(integer, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION update_quick_code(njft_id integer, tav_text text) RETURNS integer - LANGUAGE plpgsql - AS $$ - declare - ns integer; - nExist integer; - tText text; - old_qcode varchar; - begin - -- get current value - select ad_value into old_qcode from fiche_detail where jft_id=njft_id; - -- av_text didn't change so no update - if tav_text = upper( trim(old_qcode)) then - return 0; - end if; - - tText := trim(upper(tav_text)); - tText := replace(tText,' ',''); - if length ( tText) = 0 or tText is null then - return 0; - end if; - - ns := njft_id; - - loop - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=tText; - - if nExist = 0 then - exit; - end if; - if tText = 'FID'||ns then - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - end if; - tText :='FID'||ns; - - end loop; - update fiche_detail set ad_value = tText where jft_id=njft_id; - - -- update also the contact - update fiche_detail set ad_value = tText - where jft_id in - ( select jft_id - from fiche_detail - where ad_id=25 and ad_value=old_qcode); - - - update jrnx set j_qcode=tText where j_qcode = old_qcode; - return ns; - end; -$$; - - -SET search_path = public, pg_catalog; - --- --- Name: bud_card_ins_upd(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION bud_card_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$declare - sCode text; -begin - -sCode:=trim(upper(NEW.bc_code)); -sCode:=replace(sCode,' ','_'); -sCode:=substr(sCode,1,10); -NEW.bc_code:=sCode; -return NEW; -end;$$; - - --- --- Name: bud_detail_ins_upd(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION bud_detail_ins_upd() RETURNS trigger - LANGUAGE plpgsql - AS $$declare -mline bud_detail%ROWTYPE; -begin -mline:=NEW; -if mline.po_id = -1 then - mline.po_id:=NULL; -end if; -return mline; -end;$$; - - --- --- Name: correct_quant_purchase(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION correct_quant_purchase() RETURNS void - LANGUAGE plpgsql - AS $$ -declare - r_invalid quant_purchase; - s_QuickCode text; - b_j_debit bool; - r_new record; - r_jrnx record; -begin - -for r_invalid in select * from quant_purchase where qp_valid='A' -loop - -select j_qcode into s_QuickCode from vw_poste_qcode where f_id=r_invalid.qp_fiche; -raise notice 'qp_id % Quick code is %',r_invalid.qp_id,s_QuickCode; - -select j_debit,j_grpt,j_jrn_def,j_montant into r_jrnx from jrnx where j_id=r_invalid.j_id; -if NOT FOUND then - raise notice 'error not found jrnx %',r_invalid.j_id; - update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id; - continue; -end if; -raise notice 'j_debit % , j_grpt % ,j_jrn_def % qp_price %',r_jrnx.j_debit,r_jrnx.j_grpt,r_jrnx.j_jrn_def ,r_invalid.qp_price; - -select jr_internal,j_id,j_montant into r_new - from jrnx join jrn on (j_grpt=jr_grpt_id) - where - j_jrn_def=r_jrnx.j_jrn_def - and j_id not in (select j_id from quant_purchase) - and j_qcode=s_QuickCode - and j_montant=r_jrnx.j_montant - and j_debit != r_jrnx.j_debit; - -if NOT FOUND then - raise notice 'error not found %', r_invalid.j_id; - update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id; - continue; -end if; -raise notice 'j_id % found amount %',r_new.j_id,r_new.j_montant; - -insert into quant_purchase (qp_internal,j_id,qp_fiche,qp_quantite,qp_price,qp_vat,qp_nd_amount,qp_nd_tva_recup,qp_valid,qp_dep_priv,qp_supplier,qp_vat_code) -values (r_new.jr_internal,r_invalid.j_id,r_invalid.qp_fiche,(r_invalid.qp_quantite * (-1)),r_invalid.qp_price * (-1),r_invalid.qp_vat*(-1),r_invalid.qp_nd_amount*(-1),r_invalid.qp_nd_tva_recup*(-1) ,'Y',r_invalid.qp_dep_priv*(-1),r_invalid.qp_supplier,r_invalid.qp_vat_code); - -update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id; -end loop; -return; -end; -$$; - - --- --- Name: correct_quant_sale(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION correct_quant_sale() RETURNS void - LANGUAGE plpgsql - AS $$ -declare - r_invalid quant_sold; - s_QuickCode text; - b_j_debit bool; - r_new record; - r_jrnx record; -begin - -for r_invalid in select * from quant_sold where qs_valid='A' -loop - -select j_qcode into s_QuickCode from vw_poste_qcode where f_id=r_invalid.qs_fiche; -raise notice 'qp_id % Quick code is %',r_invalid.qs_id,s_QuickCode; - -select j_debit,j_grpt,j_jrn_def,j_montant into r_jrnx from jrnx where j_id=r_invalid.j_id; -if NOT FOUND then - update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id; - raise notice 'error not found jrnx %',r_invalid.j_id; - continue; -end if; -raise notice 'j_debit % , j_grpt % ,j_jrn_def % qs_price %',r_jrnx.j_debit,r_jrnx.j_grpt,r_jrnx.j_jrn_def ,r_invalid.qs_price; - -select jr_internal,j_id,j_montant into r_new - from jrnx join jrn on (j_grpt=jr_grpt_id) - where - j_jrn_def=r_jrnx.j_jrn_def - and j_id not in (select j_id from quant_sold) - and j_qcode=s_QuickCode - and j_montant=r_jrnx.j_montant - and j_debit != r_jrnx.j_debit; - -if NOT FOUND then - update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id; - raise notice 'error not found %', r_invalid.j_id; - continue; -end if; -raise notice 'j_id % found amount %',r_new.j_id,r_new.j_montant; - - - insert into quant_sold (qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_valid,qs_client,qs_vat_code) - values (r_new.jr_internal,r_invalid.j_id,r_invalid.qs_fiche,(r_invalid.qs_quantite * (-1)),r_invalid.qs_price * (-1),r_invalid.qs_vat*(-1),'Y',r_invalid.qs_client,r_invalid.qs_vat_code); - update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id; -end loop; -return; -end; -$$; - - -SET default_tablespace = ''; - -SET default_with_oids = true; - --- --- Name: action; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE action ( - ac_id integer NOT NULL, - ac_description text NOT NULL, - ac_module text, - ac_code character varying(9) -); - - --- --- Name: TABLE action; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE action IS 'The different privileges'; - - --- --- Name: COLUMN action.ac_code; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action.ac_code IS 'this code will be used in the code with the function User::check_action '; - - -SET default_with_oids = false; - --- --- Name: action_detail; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE action_detail ( - ad_id integer NOT NULL, - f_id bigint, - ad_text text, - ad_pu numeric(20,4) DEFAULT 0, - ad_quant numeric(20,4) DEFAULT 0, - ad_tva_id integer DEFAULT 0, - ad_tva_amount numeric(20,4) DEFAULT 0, - ad_total_amount numeric(20,4) DEFAULT 0, - ag_id integer DEFAULT 0 NOT NULL -); - - --- --- Name: TABLE action_detail; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE action_detail IS 'Detail of action_gestion, see class Action_Detail'; - - --- --- Name: COLUMN action_detail.f_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.f_id IS 'the concerned card'; - - --- --- Name: COLUMN action_detail.ad_text; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.ad_text IS ' Description '; - - --- --- Name: COLUMN action_detail.ad_pu; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.ad_pu IS ' price per unit '; - - --- --- Name: COLUMN action_detail.ad_quant; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.ad_quant IS 'quantity '; - - --- --- Name: COLUMN action_detail.ad_tva_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.ad_tva_id IS ' tva_id '; - - --- --- Name: COLUMN action_detail.ad_tva_amount; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.ad_tva_amount IS ' tva_amount '; - - --- --- Name: COLUMN action_detail.ad_total_amount; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_detail.ad_total_amount IS ' total amount'; - - --- --- Name: action_detail_ad_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE action_detail_ad_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: action_detail_ad_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE action_detail_ad_id_seq OWNED BY action_detail.ad_id; - - --- --- Name: action_detail_ad_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('action_detail_ad_id_seq', 1, false); - - --- --- Name: action_gestion_ag_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE action_gestion_ag_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: action_gestion_ag_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('action_gestion_ag_id_seq', 1, false); - - -SET default_with_oids = true; - --- --- Name: action_gestion; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE action_gestion ( - ag_id integer DEFAULT nextval('action_gestion_ag_id_seq'::regclass) NOT NULL, - ag_type integer, - f_id_dest integer NOT NULL, - ag_title character varying(70), - ag_timestamp timestamp without time zone DEFAULT now(), - ag_cal character(1) DEFAULT 'C'::bpchar, - ag_ref_ag_id integer, - ag_comment text, - ag_ref text, - ag_hour text, - ag_priority integer DEFAULT 2, - ag_dest text, - ag_owner text, - ag_contact bigint, - ag_state integer -); - - --- --- Name: TABLE action_gestion; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE action_gestion IS 'Contains the details for the follow-up of customer, supplier, administration'; - - --- --- Name: COLUMN action_gestion.ag_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_type IS ' type of action: see document_type '; - - --- --- Name: COLUMN action_gestion.f_id_dest; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.f_id_dest IS ' third party '; - - --- --- Name: COLUMN action_gestion.ag_title; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_title IS ' title '; - - --- --- Name: COLUMN action_gestion.ag_timestamp; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_timestamp IS ' '; - - --- --- Name: COLUMN action_gestion.ag_cal; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_cal IS ' visible in the calendar if = C'; - - --- --- Name: COLUMN action_gestion.ag_ref_ag_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_ref_ag_id IS ' concerning the action '; - - --- --- Name: COLUMN action_gestion.ag_comment; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_comment IS ' comment of the action'; - - --- --- Name: COLUMN action_gestion.ag_ref; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_ref IS 'its reference '; - - --- --- Name: COLUMN action_gestion.ag_priority; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_priority IS 'Low, medium, important '; - - --- --- Name: COLUMN action_gestion.ag_dest; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_dest IS ' is the person who has to take care of this action '; - - --- --- Name: COLUMN action_gestion.ag_owner; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_owner IS ' is the owner of this action '; - - --- --- Name: COLUMN action_gestion.ag_contact; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_contact IS ' contact of the third part '; - - --- --- Name: COLUMN action_gestion.ag_state; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN action_gestion.ag_state IS 'state of the action same as document_state '; - - --- --- Name: attr_def; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE attr_def ( - ad_id integer DEFAULT nextval(('s_attr_def'::text)::regclass) NOT NULL, - ad_text text, - ad_type text, - ad_size text NOT NULL -); - - --- --- Name: TABLE attr_def; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE attr_def IS 'The available attributs for the cards'; - - --- --- Name: attr_min; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE attr_min ( - frd_id integer NOT NULL, - ad_id integer NOT NULL -); - - --- --- Name: TABLE attr_min; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE attr_min IS 'The value of attributs for the cards'; - - --- --- Name: bilan_b_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE bilan_b_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: bilan_b_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('bilan_b_id_seq', 4, true); - - -SET default_with_oids = false; - --- --- Name: bilan; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE bilan ( - b_id integer DEFAULT nextval('bilan_b_id_seq'::regclass) NOT NULL, - b_name text NOT NULL, - b_file_template text NOT NULL, - b_file_form text, - b_type text NOT NULL -); - - --- --- Name: TABLE bilan; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE bilan IS 'contains the template and the data for generating different documents '; - - --- --- Name: COLUMN bilan.b_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN bilan.b_id IS 'primary key'; - - --- --- Name: COLUMN bilan.b_name; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN bilan.b_name IS 'Name of the document'; - - --- --- Name: COLUMN bilan.b_file_template; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN bilan.b_file_template IS 'path of the template (document/...)'; - - --- --- Name: COLUMN bilan.b_file_form; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN bilan.b_file_form IS 'path of the file with forms'; - - --- --- Name: COLUMN bilan.b_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN bilan.b_type IS 'type = ODS, RTF...'; - - --- --- Name: bud_card_bc_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE bud_card_bc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: bud_card_bc_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('bud_card_bc_id_seq', 1, false); - - --- --- Name: bud_detail_bd_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE bud_detail_bd_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: bud_detail_bd_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('bud_detail_bd_id_seq', 1, false); - - --- --- Name: bud_detail_periode_bdp_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE bud_detail_periode_bdp_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: bud_detail_periode_bdp_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('bud_detail_periode_bdp_id_seq', 1, false); - - -SET default_with_oids = true; - --- --- Name: centralized; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE centralized ( - c_id integer DEFAULT nextval(('s_centralized'::text)::regclass) NOT NULL, - c_j_id integer, - c_date date NOT NULL, - c_internal text NOT NULL, - c_montant numeric(20,4) NOT NULL, - c_debit boolean DEFAULT true, - c_jrn_def integer NOT NULL, - c_poste account_type, - c_description text, - c_grp integer NOT NULL, - c_comment text, - c_rapt text, - c_periode integer, - c_order integer -); - - --- --- Name: TABLE centralized; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE centralized IS 'The centralized journal'; - - -SET default_with_oids = false; - --- --- Name: del_action; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE del_action ( - del_id integer NOT NULL, - del_name text NOT NULL, - del_time timestamp without time zone -); - - --- --- Name: del_action_del_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE del_action_del_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: del_action_del_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE del_action_del_id_seq OWNED BY del_action.del_id; - - --- --- Name: del_action_del_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('del_action_del_id_seq', 1, true); - - --- --- Name: del_jrn; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE del_jrn ( - jr_id integer NOT NULL, - jr_def_id integer, - jr_montant numeric(20,4), - jr_comment text, - jr_date date, - jr_grpt_id integer, - jr_internal text, - jr_tech_date timestamp without time zone, - jr_tech_per integer, - jrn_ech date, - jr_ech date, - jr_rapt text, - jr_valid boolean, - jr_opid integer, - jr_c_opid integer, - jr_pj oid, - jr_pj_name text, - jr_pj_type text, - del_jrn_date timestamp without time zone, - jr_pj_number text, - dj_id integer NOT NULL -); - - --- --- Name: del_jrn_dj_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE del_jrn_dj_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: del_jrn_dj_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE del_jrn_dj_id_seq OWNED BY del_jrn.dj_id; - - --- --- Name: del_jrn_dj_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('del_jrn_dj_id_seq', 1, false); - - --- --- Name: del_jrnx; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE del_jrnx ( - j_id integer NOT NULL, - j_date date, - j_montant numeric(20,4), - j_poste account_type, - j_grpt integer, - j_rapt text, - j_jrn_def integer, - j_debit boolean, - j_text text, - j_centralized boolean, - j_internal text, - j_tech_user text, - j_tech_date timestamp without time zone, - j_tech_per integer, - j_qcode text, - djx_id integer NOT NULL, - f_id bigint -); - - --- --- Name: del_jrnx_djx_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE del_jrnx_djx_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: del_jrnx_djx_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE del_jrnx_djx_id_seq OWNED BY del_jrnx.djx_id; - - --- --- Name: del_jrnx_djx_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('del_jrnx_djx_id_seq', 1, false); - - --- --- Name: document_d_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE document_d_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: document_d_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('document_d_id_seq', 1, false); - - -SET default_with_oids = true; - --- --- Name: document; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE document ( - d_id integer DEFAULT nextval('document_d_id_seq'::regclass) NOT NULL, - ag_id integer NOT NULL, - d_lob oid, - d_number bigint NOT NULL, - d_filename text, - d_mimetype text -); - - --- --- Name: TABLE document; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE document IS 'This table contains all the documents : summary and lob files'; - - --- --- Name: document_modele_md_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE document_modele_md_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: document_modele_md_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('document_modele_md_id_seq', 1, false); - - --- --- Name: document_modele; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE document_modele ( - md_id integer DEFAULT nextval('document_modele_md_id_seq'::regclass) NOT NULL, - md_name text NOT NULL, - md_lob oid, - md_type integer NOT NULL, - md_filename text, - md_mimetype text, - md_affect character varying(3) NOT NULL -); - - --- --- Name: TABLE document_modele; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE document_modele IS ' contains all the template for the documents'; - - --- --- Name: document_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE document_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: SEQUENCE document_seq; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON SEQUENCE document_seq IS 'Sequence for the sequence bound to the document modele'; - - --- --- Name: document_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('document_seq', 1, false); - - --- --- Name: document_state_s_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE document_state_s_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: document_state_s_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('document_state_s_id_seq', 3, true); - - --- --- Name: document_state; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE document_state ( - s_id integer DEFAULT nextval('document_state_s_id_seq'::regclass) NOT NULL, - s_value character varying(50) NOT NULL -); - - --- --- Name: TABLE document_state; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE document_state IS 'State of the document'; - - --- --- Name: document_type_dt_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE document_type_dt_id_seq - START WITH 25 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: document_type_dt_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('document_type_dt_id_seq', 25, false); - - --- --- Name: document_type; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE document_type ( - dt_id integer DEFAULT nextval('document_type_dt_id_seq'::regclass) NOT NULL, - dt_value character varying(80) -); - - --- --- Name: TABLE document_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE document_type IS 'Type of document : meeting, invoice,...'; - - -SET default_with_oids = false; - --- --- Name: extension; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE extension ( - ex_id integer NOT NULL, - ex_name character varying(30) NOT NULL, - ex_code character varying(15) NOT NULL, - ex_desc character varying(250), - ex_file character varying NOT NULL, - ex_enable "char" DEFAULT 'Y'::"char" NOT NULL -); - - --- --- Name: TABLE extension; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE extension IS 'Content the needed information for the extension'; - - --- --- Name: COLUMN extension.ex_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN extension.ex_id IS 'Primary key'; - - --- --- Name: COLUMN extension.ex_name; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN extension.ex_name IS 'code of the extension '; - - --- --- Name: COLUMN extension.ex_code; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN extension.ex_code IS 'code of the extension '; - - --- --- Name: COLUMN extension.ex_desc; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN extension.ex_desc IS 'Description of the extension '; - - --- --- Name: COLUMN extension.ex_file; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN extension.ex_file IS 'path to the extension to include'; - - --- --- Name: COLUMN extension.ex_enable; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN extension.ex_enable IS 'Y : enabled N : disabled '; - - --- --- Name: extension_ex_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE extension_ex_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: extension_ex_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE extension_ex_id_seq OWNED BY extension.ex_id; - - --- --- Name: extension_ex_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('extension_ex_id_seq', 1, false); - - -SET default_with_oids = true; - --- --- Name: fiche; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE fiche ( - f_id integer DEFAULT nextval(('s_fiche'::text)::regclass) NOT NULL, - fd_id integer -); - - --- --- Name: TABLE fiche; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE fiche IS 'Cards'; - - --- --- Name: fiche_def; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE fiche_def ( - fd_id integer DEFAULT nextval(('s_fdef'::text)::regclass) NOT NULL, - fd_class_base text, - fd_label text NOT NULL, - fd_create_account boolean DEFAULT false, - frd_id integer NOT NULL -); - - --- --- Name: TABLE fiche_def; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE fiche_def IS 'Cards definition'; - - --- --- Name: fiche_def_ref; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE fiche_def_ref ( - frd_id integer DEFAULT nextval(('s_fiche_def_ref'::text)::regclass) NOT NULL, - frd_text text, - frd_class_base account_type -); - - --- --- Name: TABLE fiche_def_ref; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE fiche_def_ref IS 'Family Cards definition'; - - --- --- Name: fiche_detail; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE fiche_detail ( - jft_id integer DEFAULT nextval(('s_jnt_fic_att_value'::text)::regclass) NOT NULL, - f_id integer, - ad_id integer, - ad_value text -); - - --- --- Name: TABLE fiche_detail; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE fiche_detail IS 'join between the card and the attribut definition'; - - -SET default_with_oids = false; - --- --- Name: forecast; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE forecast ( - f_id integer NOT NULL, - f_name text NOT NULL, - f_start_date bigint, - f_end_date bigint -); - - --- --- Name: TABLE forecast; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE forecast IS 'contains the name of the forecast'; - - --- --- Name: forecast_cat; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE forecast_cat ( - fc_id integer NOT NULL, - fc_desc text NOT NULL, - f_id bigint, - fc_order integer DEFAULT 0 NOT NULL -); - - --- --- Name: COLUMN forecast_cat.fc_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_cat.fc_id IS 'primary key'; - - --- --- Name: COLUMN forecast_cat.fc_desc; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_cat.fc_desc IS 'text of the category'; - - --- --- Name: COLUMN forecast_cat.f_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_cat.f_id IS 'Foreign key, it is the parent from the table forecast'; - - --- --- Name: COLUMN forecast_cat.fc_order; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_cat.fc_order IS 'Order of the category, used when displaid'; - - --- --- Name: forecast_cat_fc_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE forecast_cat_fc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: forecast_cat_fc_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE forecast_cat_fc_id_seq OWNED BY forecast_cat.fc_id; - - --- --- Name: forecast_cat_fc_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('forecast_cat_fc_id_seq', 1, false); - - --- --- Name: forecast_f_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE forecast_f_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: forecast_f_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE forecast_f_id_seq OWNED BY forecast.f_id; - - --- --- Name: forecast_f_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('forecast_f_id_seq', 1, false); - - --- --- Name: forecast_item; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE forecast_item ( - fi_id integer NOT NULL, - fi_text text, - fi_account text, - fi_card integer, - fi_order integer, - fc_id integer, - fi_amount numeric(20,4) DEFAULT 0, - fi_debit "char" DEFAULT 'd'::"char" NOT NULL, - fi_pid integer -); - - --- --- Name: COLUMN forecast_item.fi_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_id IS 'Primary key'; - - --- --- Name: COLUMN forecast_item.fi_text; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_text IS 'Label of the i tem'; - - --- --- Name: COLUMN forecast_item.fi_account; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_account IS 'Accountancy entry'; - - --- --- Name: COLUMN forecast_item.fi_card; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_card IS 'Card (fiche.f_id)'; - - --- --- Name: COLUMN forecast_item.fi_order; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_order IS 'Order of showing (not used)'; - - --- --- Name: COLUMN forecast_item.fi_amount; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_amount IS 'Amount'; - - --- --- Name: COLUMN forecast_item.fi_debit; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_debit IS 'possible values are D or C'; - - --- --- Name: COLUMN forecast_item.fi_pid; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN forecast_item.fi_pid IS '0 for every month, or the value parm_periode.p_id '; - - --- --- Name: forecast_item_fi_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE forecast_item_fi_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: forecast_item_fi_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE forecast_item_fi_id_seq OWNED BY forecast_item.fi_id; - - --- --- Name: forecast_item_fi_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('forecast_item_fi_id_seq', 1, false); - - -SET default_with_oids = true; - --- --- Name: form; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE form ( - fo_id integer DEFAULT nextval(('s_form'::text)::regclass) NOT NULL, - fo_fr_id integer, - fo_pos integer, - fo_label text, - fo_formula text -); - - --- --- Name: TABLE form; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE form IS 'Forms content'; - - --- --- Name: formdef; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE formdef ( - fr_id integer DEFAULT nextval(('s_formdef'::text)::regclass) NOT NULL, - fr_label text -); - - -SET default_with_oids = false; - --- --- Name: groupe_analytique; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE groupe_analytique ( - ga_id character varying(10) NOT NULL, - pa_id integer, - ga_description text -); - - --- --- Name: historique_analytique_ha_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE historique_analytique_ha_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: historique_analytique_ha_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('historique_analytique_ha_id_seq', 1, false); - - --- --- Name: info_def; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE info_def ( - id_type text NOT NULL, - id_description text -); - - --- --- Name: TABLE info_def; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE info_def IS 'Contains the types of additionnal info we can add to a operation'; - - --- --- Name: s_jnt_id; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jnt_id - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jnt_id; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jnt_id', 53, true); - - -SET default_with_oids = true; - --- --- Name: jnt_fic_attr; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jnt_fic_attr ( - fd_id integer, - ad_id integer, - jnt_id bigint DEFAULT nextval('s_jnt_id'::regclass) NOT NULL, - jnt_order integer NOT NULL -); - - --- --- Name: TABLE jnt_fic_attr; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jnt_fic_attr IS 'join between the family card and the attribut definition'; - - -SET default_with_oids = false; - --- --- Name: jnt_letter; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jnt_letter ( - jl_id integer NOT NULL, - jl_amount_deb numeric(20,4) -); - - --- --- Name: jnt_letter_jl_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE jnt_letter_jl_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: jnt_letter_jl_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE jnt_letter_jl_id_seq OWNED BY jnt_letter.jl_id; - - --- --- Name: jnt_letter_jl_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('jnt_letter_jl_id_seq', 1, false); - - -SET default_with_oids = true; - --- --- Name: jrn; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn ( - jr_id integer DEFAULT nextval(('s_jrn'::text)::regclass) NOT NULL, - jr_def_id integer NOT NULL, - jr_montant numeric(20,4) NOT NULL, - jr_comment text, - jr_date date, - jr_grpt_id integer NOT NULL, - jr_internal text, - jr_tech_date timestamp without time zone DEFAULT now() NOT NULL, - jr_tech_per integer NOT NULL, - jrn_ech date, - jr_ech date, - jr_rapt text, - jr_valid boolean DEFAULT true, - jr_opid integer, - jr_c_opid integer, - jr_pj oid, - jr_pj_name text, - jr_pj_type text, - jr_pj_number text, - jr_mt text -); - - --- --- Name: TABLE jrn; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrn IS 'Journal: content one line for a group of accountancy writing'; - - --- --- Name: jrn_action; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_action ( - ja_id integer DEFAULT nextval(('s_jrnaction'::text)::regclass) NOT NULL, - ja_name text NOT NULL, - ja_desc text, - ja_url text NOT NULL, - ja_action text NOT NULL, - ja_lang text DEFAULT 'FR'::text, - ja_jrn_type character(3) -); - - --- --- Name: TABLE jrn_action; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrn_action IS 'Possible action when we are in journal (menu)'; - - --- --- Name: jrn_def; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_def ( - jrn_def_id integer DEFAULT nextval(('s_jrn_def'::text)::regclass) NOT NULL, - jrn_def_name text NOT NULL, - jrn_def_class_deb text, - jrn_def_class_cred text, - jrn_def_fiche_deb text, - jrn_def_fiche_cred text, - jrn_deb_max_line integer DEFAULT 1, - jrn_cred_max_line integer DEFAULT 1, - jrn_def_ech boolean DEFAULT false, - jrn_def_ech_lib text, - jrn_def_type character(3) NOT NULL, - jrn_def_code text NOT NULL, - jrn_def_pj_pref text, - jrn_def_bank bigint, - jrn_def_num_op integer -); - - --- --- Name: TABLE jrn_def; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrn_def IS 'Definition of a journal, his properties'; - - -SET default_with_oids = false; - --- --- Name: jrn_info; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_info ( - ji_id integer NOT NULL, - jr_id integer NOT NULL, - id_type text NOT NULL, - ji_value text -); - - --- --- Name: jrn_info_ji_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE jrn_info_ji_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: jrn_info_ji_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE jrn_info_ji_id_seq OWNED BY jrn_info.ji_id; - - --- --- Name: jrn_info_ji_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('jrn_info_ji_id_seq', 1, false); - - --- --- Name: jrn_note; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_note ( - n_id integer NOT NULL, - n_text text, - jr_id bigint NOT NULL -); - - --- --- Name: TABLE jrn_note; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrn_note IS 'Note about operation'; - - --- --- Name: jrn_note_n_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE jrn_note_n_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: jrn_note_n_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE jrn_note_n_id_seq OWNED BY jrn_note.n_id; - - --- --- Name: jrn_note_n_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('jrn_note_n_id_seq', 1, false); - - --- --- Name: jrn_periode; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_periode ( - jrn_def_id integer NOT NULL, - p_id integer NOT NULL, - status text -); - - -SET default_with_oids = true; - --- --- Name: jrn_rapt; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_rapt ( - jra_id integer DEFAULT nextval(('s_jrn_rapt'::text)::regclass) NOT NULL, - jr_id integer NOT NULL, - jra_concerned integer NOT NULL -); - - --- --- Name: TABLE jrn_rapt; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrn_rapt IS 'Rapprochement between operation'; - - --- --- Name: jrn_type; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrn_type ( - jrn_type_id character(3) NOT NULL, - jrn_desc text -); - - --- --- Name: TABLE jrn_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrn_type IS 'Type of journal (Sell, Buy, Financial...)'; - - --- --- Name: jrnx; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jrnx ( - j_id integer DEFAULT nextval(('s_jrn_op'::text)::regclass) NOT NULL, - j_date date DEFAULT now(), - j_montant numeric(20,4) DEFAULT 0, - j_poste account_type NOT NULL, - j_grpt integer NOT NULL, - j_rapt text, - j_jrn_def integer NOT NULL, - j_debit boolean DEFAULT true, - j_text text, - j_centralized boolean DEFAULT false, - j_internal text, - j_tech_user text NOT NULL, - j_tech_date timestamp without time zone DEFAULT now() NOT NULL, - j_tech_per integer NOT NULL, - j_qcode text, - f_id bigint -); - - --- --- Name: TABLE jrnx; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE jrnx IS 'Journal: content one line for each accountancy writing'; - - -SET default_with_oids = false; - --- --- Name: letter_cred; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE letter_cred ( - lc_id integer NOT NULL, - j_id bigint NOT NULL, - jl_id bigint NOT NULL -); - - --- --- Name: letter_cred_lc_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE letter_cred_lc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: letter_cred_lc_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE letter_cred_lc_id_seq OWNED BY letter_cred.lc_id; - - --- --- Name: letter_cred_lc_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('letter_cred_lc_id_seq', 1, false); - - --- --- Name: letter_deb; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE letter_deb ( - ld_id integer NOT NULL, - j_id bigint NOT NULL, - jl_id bigint NOT NULL -); - - --- --- Name: letter_deb_ld_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE letter_deb_ld_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: letter_deb_ld_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE letter_deb_ld_id_seq OWNED BY letter_deb.ld_id; - - --- --- Name: letter_deb_ld_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('letter_deb_ld_id_seq', 1, false); - - --- --- Name: menu_ref; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE menu_ref ( - me_code text NOT NULL, - me_menu text, - me_file text, - me_url text, - me_description text, - me_parameter text, - me_javascript text, - me_type character varying(2) -); - - --- --- Name: COLUMN menu_ref.me_code; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN menu_ref.me_code IS 'Menu Code '; - - --- --- Name: COLUMN menu_ref.me_menu; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN menu_ref.me_menu IS 'Label to display'; - - --- --- Name: COLUMN menu_ref.me_file; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN menu_ref.me_file IS 'if not empty file to include'; - - --- --- Name: COLUMN menu_ref.me_url; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN menu_ref.me_url IS 'url '; - - --- --- Name: COLUMN menu_ref.me_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN menu_ref.me_type IS 'ME for menu -PR for Printing -SP for special meaning (ex: return to line) -PL for plugin'; - - --- --- Name: mod_payment; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE mod_payment ( - mp_id integer NOT NULL, - mp_lib text NOT NULL, - mp_jrn_def_id integer NOT NULL, - mp_fd_id bigint, - mp_qcode text, - jrn_def_id bigint -); - - --- --- Name: TABLE mod_payment; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE mod_payment IS 'Contains the different media of payment and the corresponding ledger'; - - --- --- Name: COLUMN mod_payment.jrn_def_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN mod_payment.jrn_def_id IS 'Ledger using this payment method'; - - --- --- Name: mod_payment_mp_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE mod_payment_mp_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: mod_payment_mp_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE mod_payment_mp_id_seq OWNED BY mod_payment.mp_id; - - --- --- Name: mod_payment_mp_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('mod_payment_mp_id_seq', 10, true); - - --- --- Name: op_def_op_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE op_def_op_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: op_def_op_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('op_def_op_seq', 1, false); - - --- --- Name: op_predef; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE op_predef ( - od_id integer DEFAULT nextval('op_def_op_seq'::regclass) NOT NULL, - jrn_def_id integer NOT NULL, - od_name text NOT NULL, - od_item integer NOT NULL, - od_jrn_type text NOT NULL, - od_direct boolean NOT NULL -); - - --- --- Name: TABLE op_predef; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE op_predef IS 'predefined operation'; - - --- --- Name: COLUMN op_predef.jrn_def_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN op_predef.jrn_def_id IS 'jrn_id'; - - --- --- Name: COLUMN op_predef.od_name; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN op_predef.od_name IS 'name of the operation'; - - --- --- Name: op_predef_detail_opd_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE op_predef_detail_opd_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: op_predef_detail_opd_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('op_predef_detail_opd_id_seq', 1, false); - - --- --- Name: op_predef_detail; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE op_predef_detail ( - opd_id integer DEFAULT nextval('op_predef_detail_opd_id_seq'::regclass) NOT NULL, - od_id integer NOT NULL, - opd_poste text NOT NULL, - opd_amount numeric(20,4), - opd_tva_id integer, - opd_quantity numeric(20,4), - opd_debit boolean NOT NULL, - opd_tva_amount numeric(20,4), - opd_comment text, - opd_qc boolean -); - - --- --- Name: TABLE op_predef_detail; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE op_predef_detail IS 'contains the detail of predefined operations'; - - --- --- Name: s_oa_group; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_oa_group - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_oa_group; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_oa_group', 7, true); - - --- --- Name: operation_analytique; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE operation_analytique ( - oa_id integer DEFAULT nextval('historique_analytique_ha_id_seq'::regclass) NOT NULL, - po_id integer NOT NULL, - oa_amount numeric(20,4) NOT NULL, - oa_description text, - oa_debit boolean DEFAULT true NOT NULL, - j_id integer, - oa_group integer DEFAULT nextval('s_oa_group'::regclass) NOT NULL, - oa_date date NOT NULL, - oa_row integer, - CONSTRAINT operation_analytique_oa_amount_check CHECK ((oa_amount >= (0)::numeric)) -); - - --- --- Name: TABLE operation_analytique; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE operation_analytique IS 'History of the analytic account'; - - -SET default_with_oids = true; - --- --- Name: parameter; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE parameter ( - pr_id text NOT NULL, - pr_value text -); - - --- --- Name: TABLE parameter; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE parameter IS 'parameter of the company'; - - --- --- Name: parm_code; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE parm_code ( - p_code text NOT NULL, - p_value text, - p_comment text -); - - --- --- Name: parm_money; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE parm_money ( - pm_id integer DEFAULT nextval(('s_currency'::text)::regclass), - pm_code character(3) NOT NULL, - pm_rate numeric(20,4) -); - - --- --- Name: TABLE parm_money; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE parm_money IS 'Currency conversion'; - - --- --- Name: parm_periode; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE parm_periode ( - p_id integer DEFAULT nextval(('s_periode'::text)::regclass) NOT NULL, - p_start date NOT NULL, - p_end date NOT NULL, - p_exercice text DEFAULT to_char(now(), 'YYYY'::text) NOT NULL, - p_closed boolean DEFAULT false, - p_central boolean DEFAULT false, - CONSTRAINT parm_periode_check CHECK ((p_end >= p_start)) -); - - --- --- Name: TABLE parm_periode; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE parm_periode IS 'Periode definition'; - - -SET default_with_oids = false; - --- --- Name: parm_poste; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE parm_poste ( - p_value account_type NOT NULL, - p_type text NOT NULL -); - - --- --- Name: TABLE parm_poste; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE parm_poste IS 'Contains data for finding is the type of the account (asset)'; - - --- --- Name: plan_analytique_pa_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE plan_analytique_pa_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: plan_analytique_pa_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('plan_analytique_pa_id_seq', 1, false); - - --- --- Name: plan_analytique; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE plan_analytique ( - pa_id integer DEFAULT nextval('plan_analytique_pa_id_seq'::regclass) NOT NULL, - pa_name text DEFAULT 'Sans Nom'::text NOT NULL, - pa_description text -); - - --- --- Name: TABLE plan_analytique; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE plan_analytique IS 'Plan Analytique (max 5)'; - - --- --- Name: poste_analytique_po_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE poste_analytique_po_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: poste_analytique_po_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('poste_analytique_po_id_seq', 1, false); - - --- --- Name: poste_analytique; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE poste_analytique ( - po_id integer DEFAULT nextval('poste_analytique_po_id_seq'::regclass) NOT NULL, - po_name text NOT NULL, - pa_id integer NOT NULL, - po_amount numeric(20,4) DEFAULT 0.0 NOT NULL, - po_description text, - ga_id character varying(10) -); - - --- --- Name: TABLE poste_analytique; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE poste_analytique IS 'Poste Analytique'; - - --- --- Name: profile; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE profile ( - p_name text NOT NULL, - p_id integer NOT NULL, - p_desc text, - with_calc boolean DEFAULT true, - with_direct_form boolean DEFAULT true -); - - --- --- Name: TABLE profile; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE profile IS 'Available profile '; - - --- --- Name: COLUMN profile.p_name; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile.p_name IS 'Name of the profile'; - - --- --- Name: COLUMN profile.p_desc; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile.p_desc IS 'description of the profile'; - - --- --- Name: COLUMN profile.with_calc; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile.with_calc IS 'show the calculator'; - - --- --- Name: COLUMN profile.with_direct_form; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile.with_direct_form IS 'show the direct form'; - - --- --- Name: profile_menu; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE profile_menu ( - pm_id integer NOT NULL, - me_code text, - me_code_dep text, - p_id integer, - p_order integer, - p_type_display text NOT NULL, - pm_default integer -); - - --- --- Name: TABLE profile_menu; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE profile_menu IS 'Join between the profile and the menu '; - - --- --- Name: COLUMN profile_menu.me_code_dep; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_menu.me_code_dep IS 'menu code dependency'; - - --- --- Name: COLUMN profile_menu.p_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_menu.p_id IS 'link to profile'; - - --- --- Name: COLUMN profile_menu.p_order; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_menu.p_order IS 'order of displaying menu'; - - --- --- Name: COLUMN profile_menu.p_type_display; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_menu.p_type_display IS 'M is a module -E is a menu -S is a select (for plugin)'; - - --- --- Name: COLUMN profile_menu.pm_default; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_menu.pm_default IS 'default menu'; - - --- --- Name: profile_menu_pm_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE profile_menu_pm_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: profile_menu_pm_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE profile_menu_pm_id_seq OWNED BY profile_menu.pm_id; - - --- --- Name: profile_menu_pm_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('profile_menu_pm_id_seq', 778, true); - - --- --- Name: profile_menu_type; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE profile_menu_type ( - pm_type text NOT NULL, - pm_desc text -); - - --- --- Name: profile_p_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE profile_p_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: profile_p_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE profile_p_id_seq OWNED BY profile.p_id; - - --- --- Name: profile_p_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('profile_p_id_seq', 11, true); - - --- --- Name: profile_user; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE profile_user ( - user_name text NOT NULL, - pu_id integer NOT NULL, - p_id integer -); - - --- --- Name: TABLE profile_user; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE profile_user IS 'Contains the available profile for users'; - - --- --- Name: COLUMN profile_user.user_name; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_user.user_name IS 'fk to available_user : login'; - - --- --- Name: COLUMN profile_user.p_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN profile_user.p_id IS 'fk to profile'; - - --- --- Name: profile_user_pu_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE profile_user_pu_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: profile_user_pu_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE profile_user_pu_id_seq OWNED BY profile_user.pu_id; - - --- --- Name: profile_user_pu_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('profile_user_pu_id_seq', 6, true); - - --- --- Name: quant_fin; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE quant_fin ( - qf_id bigint NOT NULL, - qf_bank bigint, - jr_id bigint, - qf_other bigint, - qf_amount numeric(20,4) DEFAULT 0 -); - - --- --- Name: TABLE quant_fin; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE quant_fin IS 'Simple operation for financial'; - - --- --- Name: quant_fin_qf_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE quant_fin_qf_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: quant_fin_qf_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE quant_fin_qf_id_seq OWNED BY quant_fin.qf_id; - - --- --- Name: quant_fin_qf_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('quant_fin_qf_id_seq', 1, false); - - --- --- Name: quant_purchase; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE quant_purchase ( - qp_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL, - qp_internal text, - j_id integer NOT NULL, - qp_fiche integer NOT NULL, - qp_quantite numeric(20,4) NOT NULL, - qp_price numeric(20,4), - qp_vat numeric(20,4) DEFAULT 0.0, - qp_vat_code integer, - qp_nd_amount numeric(20,4) DEFAULT 0.0, - qp_nd_tva numeric(20,4) DEFAULT 0.0, - qp_nd_tva_recup numeric(20,4) DEFAULT 0.0, - qp_supplier integer NOT NULL, - qp_valid character(1) DEFAULT 'Y'::bpchar NOT NULL, - qp_dep_priv numeric(20,4) DEFAULT 0.0, - qp_vat_sided numeric(20,4) DEFAULT 0.0 -); - - --- --- Name: COLUMN quant_purchase.qp_vat_sided; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN quant_purchase.qp_vat_sided IS 'amount of the VAT which avoid VAT, case of the VAT which add the same amount at the deb and cred'; - - -SET default_with_oids = true; - --- --- Name: quant_sold; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE quant_sold ( - qs_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL, - qs_internal text, - qs_fiche integer NOT NULL, - qs_quantite numeric(20,4) NOT NULL, - qs_price numeric(20,4), - qs_vat numeric(20,4), - qs_vat_code integer, - qs_client integer NOT NULL, - qs_valid character(1) DEFAULT 'Y'::bpchar NOT NULL, - j_id integer NOT NULL, - qs_vat_sided numeric(20,4) DEFAULT 0.0 -); - - --- --- Name: TABLE quant_sold; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE quant_sold IS 'Contains about invoice for customer'; - - --- --- Name: s_attr_def; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_attr_def - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_attr_def; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_attr_def', 9001, false); - - --- --- Name: s_cbc; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_cbc - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_cbc; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_cbc', 1, false); - - --- --- Name: s_central; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_central - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_central; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_central', 1, false); - - --- --- Name: s_central_order; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_central_order - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_central_order; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_central_order', 1, false); - - --- --- Name: s_centralized; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_centralized - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_centralized; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_centralized', 1, false); - - --- --- Name: s_currency; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_currency - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_currency; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_currency', 1, true); - - --- --- Name: s_fdef; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_fdef - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_fdef; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_fdef', 6, true); - - --- --- Name: s_fiche; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_fiche - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_fiche; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_fiche', 79, true); - - --- --- Name: s_fiche_def_ref; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_fiche_def_ref - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_fiche_def_ref; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_fiche_def_ref', 18, true); - - --- --- Name: s_form; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_form - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_form; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_form', 1, false); - - --- --- Name: s_formdef; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_formdef - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_formdef; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_formdef', 1, false); - - --- --- Name: s_grpt; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_grpt - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_grpt; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_grpt', 102, true); - - --- --- Name: s_idef; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_idef - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_idef; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_idef', 1, false); - - --- --- Name: s_internal; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_internal - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_internal; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_internal', 1, false); - - --- --- Name: s_invoice; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_invoice - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_invoice; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_invoice', 1, false); - - --- --- Name: s_isup; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_isup - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_isup; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_isup', 1, false); - - --- --- Name: s_jnt_fic_att_value; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jnt_fic_att_value - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jnt_fic_att_value; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jnt_fic_att_value', 875, true); - - --- --- Name: s_jrn; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn', 1, false); - - --- --- Name: s_jrn_1; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_1 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_1; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_1', 1, false); - - --- --- Name: s_jrn_2; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_2 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_2; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_2', 1, false); - - --- --- Name: s_jrn_3; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_3 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_3; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_3', 1, false); - - --- --- Name: s_jrn_4; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_4 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_4; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_4', 1, false); - - --- --- Name: s_jrn_def; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_def - START WITH 5 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_def; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_def', 5, false); - - --- --- Name: s_jrn_op; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_op - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_op; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_op', 1, false); - - --- --- Name: s_jrn_pj1; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_pj1 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_pj1; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_pj1', 1, false); - - --- --- Name: s_jrn_pj2; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_pj2 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_pj2; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_pj2', 1, false); - - --- --- Name: s_jrn_pj3; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_pj3 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_pj3; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_pj3', 1, false); - - --- --- Name: s_jrn_pj4; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_pj4 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_pj4; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_pj4', 1, false); - - --- --- Name: s_jrn_rapt; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrn_rapt - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrn_rapt; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrn_rapt', 20, true); - - --- --- Name: s_jrnaction; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrnaction - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrnaction; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrnaction', 5, true); - - --- --- Name: s_jrnx; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_jrnx - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_jrnx; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_jrnx', 1, false); - - --- --- Name: s_periode; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_periode - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_periode; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_periode', 117, true); - - --- --- Name: s_quantity; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_quantity - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_quantity; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_quantity', 13, true); - - --- --- Name: s_stock_goods; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_stock_goods - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_stock_goods; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_stock_goods', 1, false); - - --- --- Name: s_tva; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_tva - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_tva; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_tva', 1000, false); - - --- --- Name: s_user_act; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_user_act - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_user_act; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_user_act', 1, false); - - --- --- Name: s_user_jrn; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_user_jrn - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_user_jrn; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_user_jrn', 8, true); - - --- --- Name: seq_bud_hypothese_bh_id; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_bud_hypothese_bh_id - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_bud_hypothese_bh_id; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_bud_hypothese_bh_id', 1, false); - - --- --- Name: seq_doc_type_1; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_1 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_1; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_1', 1, false); - - --- --- Name: seq_doc_type_10; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_10 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_10; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_10', 1, false); - - --- --- Name: seq_doc_type_2; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_2 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_2; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_2', 1, false); - - --- --- Name: seq_doc_type_20; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_20 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_20; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_20', 1, false); - - --- --- Name: seq_doc_type_21; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_21 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_21; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_21', 1, false); - - --- --- Name: seq_doc_type_22; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_22 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_22; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_22', 1, false); - - --- --- Name: seq_doc_type_3; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_3 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_3; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_3', 1, false); - - --- --- Name: seq_doc_type_4; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_4 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_4; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_4', 1, false); - - --- --- Name: seq_doc_type_5; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_5 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_5; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_5', 1, false); - - --- --- Name: seq_doc_type_6; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_6 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_6; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_6', 1, false); - - --- --- Name: seq_doc_type_7; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_7 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_7; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_7', 1, false); - - --- --- Name: seq_doc_type_8; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_8 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_8; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_8', 1, false); - - --- --- Name: seq_doc_type_9; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_doc_type_9 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_doc_type_9; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_doc_type_9', 1, false); - - --- --- Name: stock_goods; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE stock_goods ( - sg_id integer DEFAULT nextval(('s_stock_goods'::text)::regclass) NOT NULL, - j_id integer, - f_id integer, - sg_code text, - sg_quantity numeric(8,4) DEFAULT 0, - sg_type character(1) DEFAULT 'c'::bpchar NOT NULL, - sg_date date, - sg_tech_date date DEFAULT now(), - sg_tech_user text, - sg_comment character varying(80), - sg_exercice character varying(4), - CONSTRAINT stock_goods_sg_type CHECK (((sg_type = 'c'::bpchar) OR (sg_type = 'd'::bpchar))) -); - - --- --- Name: TABLE stock_goods; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE stock_goods IS 'About the goods'; - - --- --- Name: tmp_pcmn; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE tmp_pcmn ( - pcm_val account_type NOT NULL, - pcm_lib text, - pcm_val_parent account_type DEFAULT 0, - pcm_type text -); - - --- --- Name: TABLE tmp_pcmn; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE tmp_pcmn IS 'Plan comptable minimum normalisé'; - - --- --- Name: todo_list_tl_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE todo_list_tl_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: todo_list_tl_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('todo_list_tl_id_seq', 1, false); - - -SET default_with_oids = false; - --- --- Name: todo_list; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE todo_list ( - tl_id integer DEFAULT nextval('todo_list_tl_id_seq'::regclass) NOT NULL, - tl_date date NOT NULL, - tl_title text NOT NULL, - tl_desc text, - use_login text NOT NULL -); - - --- --- Name: TABLE todo_list; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE todo_list IS 'Todo list'; - - -SET default_with_oids = true; - --- --- Name: tva_rate; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE tva_rate ( - tva_id integer DEFAULT nextval('s_tva'::regclass) NOT NULL, - tva_label text NOT NULL, - tva_rate numeric(8,4) DEFAULT 0.0 NOT NULL, - tva_comment text, - tva_poste text, - tva_both_side integer DEFAULT 0 -); - - --- --- Name: TABLE tva_rate; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE tva_rate IS 'Rate of vat'; - - --- --- Name: user_local_pref; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE user_local_pref ( - user_id text NOT NULL, - parameter_type text NOT NULL, - parameter_value text -); - - --- --- Name: TABLE user_local_pref; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE user_local_pref IS 'The user''s local parameter '; - - --- --- Name: COLUMN user_local_pref.user_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN user_local_pref.user_id IS 'user''s login '; - - --- --- Name: COLUMN user_local_pref.parameter_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN user_local_pref.parameter_type IS 'the type of parameter '; - - --- --- Name: COLUMN user_local_pref.parameter_value; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN user_local_pref.parameter_value IS 'the value of parameter '; - - --- --- Name: user_sec_act; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE user_sec_act ( - ua_id integer DEFAULT nextval(('s_user_act'::text)::regclass) NOT NULL, - ua_login text, - ua_act_id integer -); - - -SET default_with_oids = false; - --- --- Name: user_sec_extension; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE user_sec_extension ( - use_id integer NOT NULL, - ex_id integer NOT NULL, - use_login text NOT NULL, - use_access character(1) DEFAULT 0 NOT NULL -); - - --- --- Name: TABLE user_sec_extension; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE user_sec_extension IS 'Security for extension'; - - --- --- Name: user_sec_extension_use_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE user_sec_extension_use_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: user_sec_extension_use_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE user_sec_extension_use_id_seq OWNED BY user_sec_extension.use_id; - - --- --- Name: user_sec_extension_use_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('user_sec_extension_use_id_seq', 1, false); - - -SET default_with_oids = true; - --- --- Name: user_sec_jrn; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE user_sec_jrn ( - uj_id integer DEFAULT nextval(('s_user_jrn'::text)::regclass) NOT NULL, - uj_login text, - uj_jrn_id integer, - uj_priv text -); - - --- --- Name: v_all_menu; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW v_all_menu AS - SELECT pm.me_code, pm.pm_id, pm.me_code_dep, pm.p_order, pm.p_type_display, pu.user_name, pu.pu_id, p.p_name, p.p_desc, mr.me_menu, mr.me_file, mr.me_url, mr.me_parameter, mr.me_javascript, mr.me_type, pm.p_id, mr.me_description FROM (((profile_menu pm JOIN profile_user pu ON ((pu.p_id = pm.p_id))) JOIN profile p ON ((p.p_id = pm.p_id))) JOIN menu_ref mr USING (me_code)) ORDER BY pm.p_order; - - --- --- Name: version; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE version ( - val integer -); - - --- --- Name: vw_client; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_client AS - SELECT fiche.f_id, a1.ad_value AS name, a.ad_value AS quick_code, b.ad_value AS tva_num, c.ad_value AS poste_comptable, d.ad_value AS rue, e.ad_value AS code_postal, f.ad_value AS pays, g.ad_value AS telephone, h.ad_value AS email FROM (((((((((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 1)) a1 USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 13)) b USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 23)) a USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 5)) c USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 14)) d USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 15)) e USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 16)) f USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 17)) g USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 18)) h USING (f_id)) WHERE (fiche_def_ref.frd_id = 9); - - --- --- Name: vw_fiche_attr; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_fiche_attr AS - SELECT a.f_id, a.fd_id, a.ad_value AS vw_name, k.ad_value AS vw_first_name, b.ad_value AS vw_sell, c.ad_value AS vw_buy, d.ad_value AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.ad_value AS vw_addr, f.ad_value AS vw_cp, j.ad_value AS quick_code, h.ad_value AS vw_description, i.ad_value AS tva_num, fiche_def.frd_id FROM ((((((((((((SELECT fiche.f_id, fiche.fd_id, fiche_detail.ad_value FROM (fiche LEFT JOIN fiche_detail USING (f_id)) WHERE (fiche_detail.ad_id = 1)) a LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 6)) b ON ((a.f_id = b.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 7)) c ON ((a.f_id = c.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 2)) d ON ((a.f_id = d.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 14)) e ON ((a.f_id = e.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 15)) f ON ((a.f_id = f.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 23)) j ON ((a.f_id = j.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 9)) h ON ((a.f_id = h.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 13)) i ON ((a.f_id = i.f_id))) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 32)) k ON ((a.f_id = k.f_id))) LEFT JOIN tva_rate ON ((d.ad_value = (tva_rate.tva_id)::text))) JOIN fiche_def USING (fd_id)); - - --- --- Name: vw_fiche_def; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_fiche_def AS - SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, attr_def.ad_text, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def.frd_id FROM ((fiche_def JOIN jnt_fic_attr USING (fd_id)) JOIN attr_def ON ((attr_def.ad_id = jnt_fic_attr.ad_id))); - - --- --- Name: VIEW vw_fiche_def; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family'; - - --- --- Name: vw_fiche_min; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_fiche_min AS - SELECT attr_min.frd_id, attr_min.ad_id, attr_def.ad_text, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base FROM ((attr_min JOIN attr_def USING (ad_id)) JOIN fiche_def_ref USING (frd_id)); - - --- --- Name: vw_fiche_name; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_fiche_name AS - SELECT fiche_detail.f_id, fiche_detail.ad_value AS name FROM fiche_detail WHERE (fiche_detail.ad_id = 1); - - --- --- Name: vw_poste_qcode; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_poste_qcode AS - SELECT c.f_id, a.ad_value AS j_poste, b.ad_value AS j_qcode FROM ((fiche c LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 5)) a USING (f_id)) LEFT JOIN (SELECT fiche_detail.f_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 23)) b USING (f_id)); - - --- --- Name: vw_supplier; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW vw_supplier AS - SELECT fiche.f_id, a1.ad_value AS name, a.ad_value AS quick_code, b.ad_value AS tva_num, c.ad_value AS poste_comptable, d.ad_value AS rue, e.ad_value AS code_postal, f.ad_value AS pays, g.ad_value AS telephone, h.ad_value AS email FROM (((((((((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 1)) a1 USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 13)) b USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 23)) a USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 5)) c USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 14)) d USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 15)) e USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 16)) f USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 17)) g USING (f_id)) LEFT JOIN (SELECT fiche_detail.jft_id, fiche_detail.f_id, fiche_detail.ad_id, fiche_detail.ad_value FROM fiche_detail WHERE (fiche_detail.ad_id = 18)) h USING (f_id)) WHERE (fiche_def_ref.frd_id = 8); - - --- --- Name: ad_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY action_detail ALTER COLUMN ad_id SET DEFAULT nextval('action_detail_ad_id_seq'::regclass); - - --- --- Name: del_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY del_action ALTER COLUMN del_id SET DEFAULT nextval('del_action_del_id_seq'::regclass); - - --- --- Name: dj_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY del_jrn ALTER COLUMN dj_id SET DEFAULT nextval('del_jrn_dj_id_seq'::regclass); - - --- --- Name: djx_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY del_jrnx ALTER COLUMN djx_id SET DEFAULT nextval('del_jrnx_djx_id_seq'::regclass); - - --- --- Name: ex_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY extension ALTER COLUMN ex_id SET DEFAULT nextval('extension_ex_id_seq'::regclass); - - --- --- Name: f_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast ALTER COLUMN f_id SET DEFAULT nextval('forecast_f_id_seq'::regclass); - - --- --- Name: fc_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast_cat ALTER COLUMN fc_id SET DEFAULT nextval('forecast_cat_fc_id_seq'::regclass); - - --- --- Name: fi_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast_item ALTER COLUMN fi_id SET DEFAULT nextval('forecast_item_fi_id_seq'::regclass); - - --- --- Name: jl_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jnt_letter ALTER COLUMN jl_id SET DEFAULT nextval('jnt_letter_jl_id_seq'::regclass); - - --- --- Name: ji_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_info ALTER COLUMN ji_id SET DEFAULT nextval('jrn_info_ji_id_seq'::regclass); - - --- --- Name: n_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_note ALTER COLUMN n_id SET DEFAULT nextval('jrn_note_n_id_seq'::regclass); - - --- --- Name: lc_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY letter_cred ALTER COLUMN lc_id SET DEFAULT nextval('letter_cred_lc_id_seq'::regclass); - - --- --- Name: ld_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY letter_deb ALTER COLUMN ld_id SET DEFAULT nextval('letter_deb_ld_id_seq'::regclass); - - --- --- Name: mp_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY mod_payment ALTER COLUMN mp_id SET DEFAULT nextval('mod_payment_mp_id_seq'::regclass); - - --- --- Name: p_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile ALTER COLUMN p_id SET DEFAULT nextval('profile_p_id_seq'::regclass); - - --- --- Name: pm_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile_menu ALTER COLUMN pm_id SET DEFAULT nextval('profile_menu_pm_id_seq'::regclass); - - --- --- Name: pu_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile_user ALTER COLUMN pu_id SET DEFAULT nextval('profile_user_pu_id_seq'::regclass); - - --- --- Name: qf_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_fin ALTER COLUMN qf_id SET DEFAULT nextval('quant_fin_qf_id_seq'::regclass); - - --- --- Name: use_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY user_sec_extension ALTER COLUMN use_id SET DEFAULT nextval('user_sec_extension_use_id_seq'::regclass); - - --- --- Data for Name: action; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO action VALUES (800, 'Ajout de fiche', 'fiche', 'FICADD'); -INSERT INTO action VALUES (805, 'Création, modification et effacement de fiche', 'fiche', 'FIC'); -INSERT INTO action VALUES (910, 'création, modification et effacement de catégorie de fiche', 'fiche', 'FICCAT'); -INSERT INTO action VALUES (1020, 'Effacer les documents du suivi', 'followup', 'RMDOC'); -INSERT INTO action VALUES (1010, 'Voir les documents du suivi', 'followup', 'VIEWDOC'); -INSERT INTO action VALUES (1050, 'Modifier le type de document', 'followup', 'PARCATDOC'); - - --- --- Data for Name: action_detail; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: action_gestion; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: attr_def; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO attr_def VALUES (20, 'Partie fiscalement non déductible', 'numeric', '22'); -INSERT INTO attr_def VALUES (10, 'Date début', 'date', '8'); -INSERT INTO attr_def VALUES (6, 'Prix vente', 'numeric', '6'); -INSERT INTO attr_def VALUES (7, 'Prix achat', 'numeric', '6'); -INSERT INTO attr_def VALUES (8, 'Durée Amortissement', 'numeric', '6'); -INSERT INTO attr_def VALUES (11, 'Montant initial', 'numeric', '6'); -INSERT INTO attr_def VALUES (21, 'TVA non déductible', 'numeric', '6'); -INSERT INTO attr_def VALUES (22, 'TVA non déductible récupérable par l''impôt', 'numeric', '6'); -INSERT INTO attr_def VALUES (1, 'Nom', 'text', '22'); -INSERT INTO attr_def VALUES (2, 'Taux TVA', 'text', '22'); -INSERT INTO attr_def VALUES (3, 'Numéro de compte', 'text', '22'); -INSERT INTO attr_def VALUES (4, 'Nom de la banque', 'text', '22'); -INSERT INTO attr_def VALUES (5, 'Poste Comptable', 'text', '22'); -INSERT INTO attr_def VALUES (9, 'Description', 'text', '22'); -INSERT INTO attr_def VALUES (12, 'Personne de contact ', 'text', '22'); -INSERT INTO attr_def VALUES (13, 'numéro de tva ', 'text', '22'); -INSERT INTO attr_def VALUES (14, 'Adresse ', 'text', '22'); -INSERT INTO attr_def VALUES (16, 'pays ', 'text', '22'); -INSERT INTO attr_def VALUES (17, 'téléphone ', 'text', '22'); -INSERT INTO attr_def VALUES (18, 'email ', 'text', '22'); -INSERT INTO attr_def VALUES (19, 'Gestion stock', 'text', '22'); -INSERT INTO attr_def VALUES (23, 'Quick Code', 'text', '22'); -INSERT INTO attr_def VALUES (24, 'Ville', 'text', '22'); -INSERT INTO attr_def VALUES (25, 'Société', 'text', '22'); -INSERT INTO attr_def VALUES (26, 'Fax', 'text', '22'); -INSERT INTO attr_def VALUES (27, 'GSM', 'text', '22'); -INSERT INTO attr_def VALUES (15, 'code postal', 'text', '22'); -INSERT INTO attr_def VALUES (30, 'Numero de client', 'text', '22'); -INSERT INTO attr_def VALUES (32, 'Prénom', 'text', '22'); -INSERT INTO attr_def VALUES (31, 'Dépense charge du grant (partie privé) ', 'text', '22'); -INSERT INTO attr_def VALUES (50, 'Contrepartie pour TVA récup par impot', 'poste', '22'); -INSERT INTO attr_def VALUES (51, 'Contrepartie pour TVA non Ded.', 'poste', '22'); -INSERT INTO attr_def VALUES (52, 'Contrepartie pour dépense à charge du gérant', 'poste', '22'); -INSERT INTO attr_def VALUES (53, 'Contrepartie pour dépense fiscal. non déd.', 'poste', '22'); - - --- --- Data for Name: attr_min; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO attr_min VALUES (1, 1); -INSERT INTO attr_min VALUES (1, 2); -INSERT INTO attr_min VALUES (2, 1); -INSERT INTO attr_min VALUES (2, 2); -INSERT INTO attr_min VALUES (3, 1); -INSERT INTO attr_min VALUES (3, 2); -INSERT INTO attr_min VALUES (4, 1); -INSERT INTO attr_min VALUES (4, 3); -INSERT INTO attr_min VALUES (4, 4); -INSERT INTO attr_min VALUES (4, 12); -INSERT INTO attr_min VALUES (4, 13); -INSERT INTO attr_min VALUES (4, 14); -INSERT INTO attr_min VALUES (4, 15); -INSERT INTO attr_min VALUES (4, 16); -INSERT INTO attr_min VALUES (4, 17); -INSERT INTO attr_min VALUES (4, 18); -INSERT INTO attr_min VALUES (8, 1); -INSERT INTO attr_min VALUES (8, 12); -INSERT INTO attr_min VALUES (8, 13); -INSERT INTO attr_min VALUES (8, 14); -INSERT INTO attr_min VALUES (8, 15); -INSERT INTO attr_min VALUES (8, 16); -INSERT INTO attr_min VALUES (8, 17); -INSERT INTO attr_min VALUES (8, 18); -INSERT INTO attr_min VALUES (9, 1); -INSERT INTO attr_min VALUES (9, 12); -INSERT INTO attr_min VALUES (9, 13); -INSERT INTO attr_min VALUES (9, 14); -INSERT INTO attr_min VALUES (9, 16); -INSERT INTO attr_min VALUES (9, 17); -INSERT INTO attr_min VALUES (9, 18); -INSERT INTO attr_min VALUES (1, 6); -INSERT INTO attr_min VALUES (1, 7); -INSERT INTO attr_min VALUES (2, 6); -INSERT INTO attr_min VALUES (2, 7); -INSERT INTO attr_min VALUES (3, 7); -INSERT INTO attr_min VALUES (1, 19); -INSERT INTO attr_min VALUES (2, 19); -INSERT INTO attr_min VALUES (14, 1); -INSERT INTO attr_min VALUES (5, 1); -INSERT INTO attr_min VALUES (5, 4); -INSERT INTO attr_min VALUES (5, 10); -INSERT INTO attr_min VALUES (5, 12); -INSERT INTO attr_min VALUES (6, 1); -INSERT INTO attr_min VALUES (6, 4); -INSERT INTO attr_min VALUES (6, 10); -INSERT INTO attr_min VALUES (6, 12); -INSERT INTO attr_min VALUES (10, 1); -INSERT INTO attr_min VALUES (10, 12); -INSERT INTO attr_min VALUES (11, 1); -INSERT INTO attr_min VALUES (11, 12); -INSERT INTO attr_min VALUES (12, 1); -INSERT INTO attr_min VALUES (12, 12); -INSERT INTO attr_min VALUES (13, 1); -INSERT INTO attr_min VALUES (13, 9); -INSERT INTO attr_min VALUES (7, 1); -INSERT INTO attr_min VALUES (7, 8); -INSERT INTO attr_min VALUES (7, 9); -INSERT INTO attr_min VALUES (7, 10); -INSERT INTO attr_min VALUES (5, 11); -INSERT INTO attr_min VALUES (6, 11); -INSERT INTO attr_min VALUES (1, 15); -INSERT INTO attr_min VALUES (9, 15); -INSERT INTO attr_min VALUES (15, 1); -INSERT INTO attr_min VALUES (15, 9); -INSERT INTO attr_min VALUES (1, 23); -INSERT INTO attr_min VALUES (2, 23); -INSERT INTO attr_min VALUES (3, 23); -INSERT INTO attr_min VALUES (4, 23); -INSERT INTO attr_min VALUES (5, 23); -INSERT INTO attr_min VALUES (6, 23); -INSERT INTO attr_min VALUES (8, 23); -INSERT INTO attr_min VALUES (9, 23); -INSERT INTO attr_min VALUES (10, 23); -INSERT INTO attr_min VALUES (11, 23); -INSERT INTO attr_min VALUES (12, 23); -INSERT INTO attr_min VALUES (13, 23); -INSERT INTO attr_min VALUES (14, 23); -INSERT INTO attr_min VALUES (15, 23); -INSERT INTO attr_min VALUES (7, 23); -INSERT INTO attr_min VALUES (9, 24); -INSERT INTO attr_min VALUES (8, 24); -INSERT INTO attr_min VALUES (14, 24); -INSERT INTO attr_min VALUES (16, 1); -INSERT INTO attr_min VALUES (16, 17); -INSERT INTO attr_min VALUES (16, 18); -INSERT INTO attr_min VALUES (16, 25); -INSERT INTO attr_min VALUES (16, 26); -INSERT INTO attr_min VALUES (16, 27); -INSERT INTO attr_min VALUES (16, 23); -INSERT INTO attr_min VALUES (17, 1); -INSERT INTO attr_min VALUES (17, 9); -INSERT INTO attr_min VALUES (18, 1); -INSERT INTO attr_min VALUES (18, 9); -INSERT INTO attr_min VALUES (25, 1); -INSERT INTO attr_min VALUES (25, 4); -INSERT INTO attr_min VALUES (25, 3); -INSERT INTO attr_min VALUES (25, 5); -INSERT INTO attr_min VALUES (25, 15); -INSERT INTO attr_min VALUES (25, 16); -INSERT INTO attr_min VALUES (25, 24); -INSERT INTO attr_min VALUES (25, 23); -INSERT INTO attr_min VALUES (2, 30); - - --- --- Data for Name: bilan; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO bilan VALUES (5, 'Comptes de résultat', 'document/fr_fr/fr_plan_abrege_perso_cr1000.rtf', 'document/fr_fr/fr_plan_abrege_perso_cr1000.form', 'rtf'); -INSERT INTO bilan VALUES (1, 'Bilan français', 'document/fr_fr/fr_plan_abrege_perso_bil10000.ods', 'document/fr_fr/fr_plan_abrege_perso_bil10000.form', 'ods'); - - --- --- Data for Name: centralized; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: del_action; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: del_jrn; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: del_jrnx; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: document; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: document_modele; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: document_state; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO document_state VALUES (1, 'Clôturé'); -INSERT INTO document_state VALUES (2, 'A suivre'); -INSERT INTO document_state VALUES (3, 'A faire'); -INSERT INTO document_state VALUES (4, 'Abandonné'); - - --- --- Data for Name: document_type; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO document_type VALUES (1, 'Document Interne'); -INSERT INTO document_type VALUES (2, 'Bons de commande client'); -INSERT INTO document_type VALUES (3, 'Bon de commande Fournisseur'); -INSERT INTO document_type VALUES (4, 'Facture'); -INSERT INTO document_type VALUES (5, 'Lettre de rappel'); -INSERT INTO document_type VALUES (6, 'Courrier'); -INSERT INTO document_type VALUES (7, 'Proposition'); -INSERT INTO document_type VALUES (8, 'Email'); -INSERT INTO document_type VALUES (9, 'Divers'); -INSERT INTO document_type VALUES (10, 'Note de frais'); -INSERT INTO document_type VALUES (20, 'Réception commande Fournisseur'); -INSERT INTO document_type VALUES (21, 'Réception commande Client'); -INSERT INTO document_type VALUES (22, 'Réception magazine'); - - --- --- Data for Name: extension; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: fiche; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: fiche_def; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO fiche_def VALUES (2, '400', 'Client', true, 9); -INSERT INTO fiche_def VALUES (1, '604', 'Marchandises', true, 2); -INSERT INTO fiche_def VALUES (3, '5500', 'Banque', true, 4); -INSERT INTO fiche_def VALUES (4, '440', 'Fournisseur', true, 8); -INSERT INTO fiche_def VALUES (5, '61', 'S & B D', true, 3); -INSERT INTO fiche_def VALUES (6, '700', 'Vente', true, 1); - - --- --- Data for Name: fiche_def_ref; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO fiche_def_ref VALUES (13, 'Dépenses non admises', '674'); -INSERT INTO fiche_def_ref VALUES (14, 'Administration des Finances', NULL); -INSERT INTO fiche_def_ref VALUES (15, 'Autres fiches', NULL); -INSERT INTO fiche_def_ref VALUES (4, 'Banque', '51'); -INSERT INTO fiche_def_ref VALUES (5, 'Prêt > a un an', '27'); -INSERT INTO fiche_def_ref VALUES (8, 'Fournisseurs', '400'); -INSERT INTO fiche_def_ref VALUES (6, 'Prêt < a un an', NULL); -INSERT INTO fiche_def_ref VALUES (16, 'Contact', NULL); -INSERT INTO fiche_def_ref VALUES (1, 'Vente Service', '706'); -INSERT INTO fiche_def_ref VALUES (2, 'Achat Marchandises', '603'); -INSERT INTO fiche_def_ref VALUES (9, 'Clients', '410'); -INSERT INTO fiche_def_ref VALUES (10, 'Salaire Administrateur', '644'); -INSERT INTO fiche_def_ref VALUES (11, 'Salaire Ouvrier', '641'); -INSERT INTO fiche_def_ref VALUES (12, 'Salaire Employé', '641'); -INSERT INTO fiche_def_ref VALUES (7, 'Matériel à amortir, immobilisation corporelle', '21'); -INSERT INTO fiche_def_ref VALUES (3, 'Achat Service et biens divers', '61'); -INSERT INTO fiche_def_ref VALUES (17, 'Escomptes accordées', '66'); -INSERT INTO fiche_def_ref VALUES (18, 'Produits Financiers', '76'); -INSERT INTO fiche_def_ref VALUES (25, 'Compte Salarié / Administrateur', NULL); - - --- --- Data for Name: fiche_detail; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: forecast; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: forecast_cat; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: forecast_item; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: form; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO form VALUES (3000398, 3000000, 1, 'Prestation [ case 03 ]', '[700%]-[7000005]'); -INSERT INTO form VALUES (3000399, 3000000, 2, 'Prestation intra [ case 47 ]', '[7000005]'); -INSERT INTO form VALUES (3000400, 3000000, 3, 'Tva due [case 54]', '[4513]+[4512]+[4511] FROM=01.2005'); -INSERT INTO form VALUES (3000401, 3000000, 4, 'Marchandises, matière première et auxiliaire [case 81 ]', '[60%]'); -INSERT INTO form VALUES (3000402, 3000000, 7, 'Service et bien divers [case 82]', '[61%]'); -INSERT INTO form VALUES (3000403, 3000000, 8, 'bien d''invest [ case 83 ]', '[2400%]'); -INSERT INTO form VALUES (3000404, 3000000, 9, 'TVA déductible [ case 59 ]', 'abs([4117]-[411%])'); -INSERT INTO form VALUES (3000405, 3000000, 8, 'TVA non ded -> voiture', '[610022]*0.21/2'); -INSERT INTO form VALUES (3000406, 3000000, 9, 'Acompte TVA', '[4117]'); - - --- --- Data for Name: formdef; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO formdef VALUES (3000000, 'TVA déclaration Belge'); - - --- --- Data for Name: groupe_analytique; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: info_def; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO info_def VALUES ('BON_COMMANDE', 'Numero de bon de commande'); -INSERT INTO info_def VALUES ('OTHER', 'Info diverses'); - - --- --- Data for Name: jnt_fic_attr; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO jnt_fic_attr VALUES (1, 2, 3, 1); -INSERT INTO jnt_fic_attr VALUES (2, 12, 8, 1); -INSERT INTO jnt_fic_attr VALUES (3, 3, 17, 1); -INSERT INTO jnt_fic_attr VALUES (4, 12, 28, 1); -INSERT INTO jnt_fic_attr VALUES (5, 2, 37, 1); -INSERT INTO jnt_fic_attr VALUES (6, 2, 41, 1); -INSERT INTO jnt_fic_attr VALUES (1, 6, 4, 120); -INSERT INTO jnt_fic_attr VALUES (6, 6, 42, 120); -INSERT INTO jnt_fic_attr VALUES (1, 7, 5, 130); -INSERT INTO jnt_fic_attr VALUES (5, 7, 38, 130); -INSERT INTO jnt_fic_attr VALUES (6, 7, 43, 130); -INSERT INTO jnt_fic_attr VALUES (2, 14, 10, 40); -INSERT INTO jnt_fic_attr VALUES (3, 14, 21, 40); -INSERT INTO jnt_fic_attr VALUES (4, 14, 30, 40); -INSERT INTO jnt_fic_attr VALUES (2, 16, 12, 70); -INSERT INTO jnt_fic_attr VALUES (3, 16, 23, 70); -INSERT INTO jnt_fic_attr VALUES (4, 16, 32, 70); -INSERT INTO jnt_fic_attr VALUES (2, 17, 13, 80); -INSERT INTO jnt_fic_attr VALUES (3, 17, 24, 80); -INSERT INTO jnt_fic_attr VALUES (4, 17, 33, 80); -INSERT INTO jnt_fic_attr VALUES (2, 18, 14, 90); -INSERT INTO jnt_fic_attr VALUES (3, 18, 25, 90); -INSERT INTO jnt_fic_attr VALUES (4, 18, 34, 90); -INSERT INTO jnt_fic_attr VALUES (2, 23, 45, 400); -INSERT INTO jnt_fic_attr VALUES (1, 23, 46, 400); -INSERT INTO jnt_fic_attr VALUES (3, 23, 47, 400); -INSERT INTO jnt_fic_attr VALUES (4, 23, 48, 400); -INSERT INTO jnt_fic_attr VALUES (5, 23, 49, 400); -INSERT INTO jnt_fic_attr VALUES (6, 23, 50, 400); -INSERT INTO jnt_fic_attr VALUES (2, 24, 51, 60); -INSERT INTO jnt_fic_attr VALUES (4, 24, 52, 60); -INSERT INTO jnt_fic_attr VALUES (2, 15, 11, 50); -INSERT INTO jnt_fic_attr VALUES (3, 15, 22, 50); -INSERT INTO jnt_fic_attr VALUES (4, 15, 31, 50); -INSERT INTO jnt_fic_attr VALUES (1, 5, 1, 30); -INSERT INTO jnt_fic_attr VALUES (2, 5, 6, 30); -INSERT INTO jnt_fic_attr VALUES (3, 5, 15, 30); -INSERT INTO jnt_fic_attr VALUES (4, 5, 26, 30); -INSERT INTO jnt_fic_attr VALUES (5, 5, 35, 30); -INSERT INTO jnt_fic_attr VALUES (6, 5, 39, 30); -INSERT INTO jnt_fic_attr VALUES (1, 1, 2, 0); -INSERT INTO jnt_fic_attr VALUES (2, 1, 7, 0); -INSERT INTO jnt_fic_attr VALUES (3, 1, 16, 0); -INSERT INTO jnt_fic_attr VALUES (4, 1, 27, 0); -INSERT INTO jnt_fic_attr VALUES (5, 1, 36, 0); -INSERT INTO jnt_fic_attr VALUES (6, 1, 40, 0); -INSERT INTO jnt_fic_attr VALUES (3, 4, 18, 2); -INSERT INTO jnt_fic_attr VALUES (3, 12, 19, 3); -INSERT INTO jnt_fic_attr VALUES (6, 19, 44, 2); -INSERT INTO jnt_fic_attr VALUES (2, 13, 9, 31); -INSERT INTO jnt_fic_attr VALUES (3, 13, 20, 31); -INSERT INTO jnt_fic_attr VALUES (4, 13, 29, 31); - - --- --- Data for Name: jnt_letter; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: jrn; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: jrn_action; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO jrn_action VALUES (2, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'VEN'); -INSERT INTO jrn_action VALUES (4, 'Voir Impayés', 'Voir toutes les factures non payées', 'user_jrn.php', 'action=voir_jrn_non_paye', 'FR', 'VEN'); -INSERT INTO jrn_action VALUES (1, 'Nouvelle', 'Création d''une facture', 'user_jrn.php', 'action=insert_vente&blank', 'FR', 'VEN'); -INSERT INTO jrn_action VALUES (10, 'Nouveau', 'Encode un nouvel achat (matériel, marchandises, services et biens divers)', 'user_jrn.php', 'action=new&blank', 'FR', 'ACH'); -INSERT INTO jrn_action VALUES (12, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'ACH'); -INSERT INTO jrn_action VALUES (14, 'Voir Impayés', 'Voir toutes les factures non payées', 'user_jrn.php', 'action=voir_jrn_non_paye', 'FR', 'ACH'); -INSERT INTO jrn_action VALUES (20, 'Nouveau', 'Encode un nouvel achat (matériel, marchandises, services et biens divers)', 'user_jrn.php', 'action=new&blank', 'FR', 'FIN'); -INSERT INTO jrn_action VALUES (22, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'FIN'); -INSERT INTO jrn_action VALUES (40, 'Soldes', 'Voir les soldes des comptes en banques', 'user_jrn.php', 'action=solde', 'FR', 'FIN'); -INSERT INTO jrn_action VALUES (30, 'Nouveau', NULL, 'user_jrn.php', 'action=new&blank', 'FR', 'ODS'); -INSERT INTO jrn_action VALUES (32, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'ODS'); - - --- --- Data for Name: jrn_def; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO jrn_def VALUES (4, 'Opération Diverses', NULL, NULL, NULL, NULL, 5, 5, false, NULL, 'ODS', 'O01', 'ODS', NULL, NULL); -INSERT INTO jrn_def VALUES (2, 'Vente', '', '', '2', '6', 10, 10, true, '''echeance''', 'VEN', 'V01', 'VEN', NULL, NULL); -INSERT INTO jrn_def VALUES (3, 'Achat', '', '', '5', '4', 10, 10, true, '''echeance''', 'ACH', 'A01', 'ACH', NULL, NULL); -INSERT INTO jrn_def VALUES (1, 'Financier', '', '', '3,2,4,5', '3,2,4,5', 10, 10, true, '''echeance''', 'FIN', 'F01', 'FIN', NULL, NULL); - - --- --- Data for Name: jrn_info; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: jrn_note; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: jrn_periode; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO jrn_periode VALUES (4, 105, 'OP'); -INSERT INTO jrn_periode VALUES (2, 105, 'OP'); -INSERT INTO jrn_periode VALUES (3, 105, 'OP'); -INSERT INTO jrn_periode VALUES (1, 105, 'OP'); -INSERT INTO jrn_periode VALUES (4, 106, 'OP'); -INSERT INTO jrn_periode VALUES (2, 106, 'OP'); -INSERT INTO jrn_periode VALUES (3, 106, 'OP'); -INSERT INTO jrn_periode VALUES (1, 106, 'OP'); -INSERT INTO jrn_periode VALUES (4, 107, 'OP'); -INSERT INTO jrn_periode VALUES (2, 107, 'OP'); -INSERT INTO jrn_periode VALUES (3, 107, 'OP'); -INSERT INTO jrn_periode VALUES (1, 107, 'OP'); -INSERT INTO jrn_periode VALUES (4, 108, 'OP'); -INSERT INTO jrn_periode VALUES (2, 108, 'OP'); -INSERT INTO jrn_periode VALUES (3, 108, 'OP'); -INSERT INTO jrn_periode VALUES (1, 108, 'OP'); -INSERT INTO jrn_periode VALUES (4, 109, 'OP'); -INSERT INTO jrn_periode VALUES (2, 109, 'OP'); -INSERT INTO jrn_periode VALUES (3, 109, 'OP'); -INSERT INTO jrn_periode VALUES (1, 109, 'OP'); -INSERT INTO jrn_periode VALUES (4, 110, 'OP'); -INSERT INTO jrn_periode VALUES (2, 110, 'OP'); -INSERT INTO jrn_periode VALUES (3, 110, 'OP'); -INSERT INTO jrn_periode VALUES (1, 110, 'OP'); -INSERT INTO jrn_periode VALUES (4, 111, 'OP'); -INSERT INTO jrn_periode VALUES (2, 111, 'OP'); -INSERT INTO jrn_periode VALUES (3, 111, 'OP'); -INSERT INTO jrn_periode VALUES (1, 111, 'OP'); -INSERT INTO jrn_periode VALUES (4, 112, 'OP'); -INSERT INTO jrn_periode VALUES (2, 112, 'OP'); -INSERT INTO jrn_periode VALUES (3, 112, 'OP'); -INSERT INTO jrn_periode VALUES (1, 112, 'OP'); -INSERT INTO jrn_periode VALUES (4, 113, 'OP'); -INSERT INTO jrn_periode VALUES (2, 113, 'OP'); -INSERT INTO jrn_periode VALUES (3, 113, 'OP'); -INSERT INTO jrn_periode VALUES (1, 113, 'OP'); -INSERT INTO jrn_periode VALUES (4, 114, 'OP'); -INSERT INTO jrn_periode VALUES (2, 114, 'OP'); -INSERT INTO jrn_periode VALUES (3, 114, 'OP'); -INSERT INTO jrn_periode VALUES (1, 114, 'OP'); -INSERT INTO jrn_periode VALUES (4, 115, 'OP'); -INSERT INTO jrn_periode VALUES (2, 115, 'OP'); -INSERT INTO jrn_periode VALUES (3, 115, 'OP'); -INSERT INTO jrn_periode VALUES (1, 115, 'OP'); -INSERT INTO jrn_periode VALUES (4, 116, 'OP'); -INSERT INTO jrn_periode VALUES (2, 116, 'OP'); -INSERT INTO jrn_periode VALUES (3, 116, 'OP'); -INSERT INTO jrn_periode VALUES (1, 116, 'OP'); -INSERT INTO jrn_periode VALUES (4, 117, 'OP'); -INSERT INTO jrn_periode VALUES (2, 117, 'OP'); -INSERT INTO jrn_periode VALUES (3, 117, 'OP'); -INSERT INTO jrn_periode VALUES (1, 117, 'OP'); - - --- --- Data for Name: jrn_rapt; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: jrn_type; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO jrn_type VALUES ('VEN', 'Vente'); -INSERT INTO jrn_type VALUES ('ACH', 'Achat'); -INSERT INTO jrn_type VALUES ('ODS', 'Opérations Diverses'); -INSERT INTO jrn_type VALUES ('FIN', 'Banque'); - - --- --- Data for Name: jrnx; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: letter_cred; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: letter_deb; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: menu_ref; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO menu_ref VALUES ('ACH', 'Achat', 'compta_ach.inc.php', NULL, 'Nouvel achat ou dépense', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCHOP', 'Historique', 'anc_history.inc.php', NULL, 'Historique des imputations analytiques', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCGL', 'Grand''Livre', 'anc_great_ledger.inc.php', NULL, 'Grand livre d''plan analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCBS', 'Balance simple', 'anc_balance_simple.inc.php', NULL, 'Balance simple des imputations analytiques', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCBC2', 'Balance croisée double', 'anc_balance_double.inc.php', NULL, 'Balance double croisées des imputations analytiques', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCTAB', 'Tableau', 'anc_acc_table.inc.php', NULL, 'Tableau lié à la comptabilité', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCBCC', 'Balance Analytique/comptabilité', 'anc_acc_balance.inc.php', NULL, 'Lien entre comptabilité et Comptabilité analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCGR', 'Groupe', 'anc_group_balance.inc.php', NULL, 'Balance par groupe', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CSV:AncGrandLivre', 'Impression Grand-Livre', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncBalGroup', 'Export Balance groupe analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('OTH:Bilan', 'Export Bilan', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:ledger', 'Export Journaux', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:postedetail', 'Export Poste détail', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:postedetail', 'Export Poste détail', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:fichedetail', 'Export Fiche détail', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('SEARCH', 'Recherche', NULL, NULL, 'Recherche', NULL, 'popup_recherche()', 'ME'); -INSERT INTO menu_ref VALUES ('DIVPARM', 'Divers', NULL, NULL, 'Paramètres divers', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGTVA', 'TVA', 'tva.inc.php', NULL, 'Config. de la tva', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CARD', 'Fiche', 'fiche.inc.php', NULL, 'Fiche', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('STOCK', 'Stock', 'stock.inc.php', NULL, 'Stock', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('MOD', 'Menu et profile', NULL, NULL, 'Menu ', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGPRO', 'Profile', 'profile.inc.php', NULL, 'Configuration profile', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGPAY', 'Moyen de paiement', 'payment_middle.inc.php', NULL, 'Config. des méthodes de paiement', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGACC', 'Poste', 'poste.inc.php', NULL, 'Config. poste comptable de base', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('VEN', 'Vente', 'compta_ven.inc.php', NULL, 'Nouvelle vente ou recette', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGMENU', 'Config. Menu', 'menu.inc.php', NULL, 'Configuration des menus et plugins', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('COMPANY', 'Sociétés', 'company.inc.php', NULL, 'Parametre societe', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PERIODE', 'Période', 'periode.inc.php', NULL, 'Gestion des périodes', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PDF:fichedetail', 'Export Fiche détail', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:fiche_balance', 'Export Fiche balance', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:fiche_balance', 'Export Fiche balance', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:report', 'Export report', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:report', 'Export report', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:fiche', 'Export Fiche', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:fiche', 'Export Fiche', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:glcompte', 'Export Grand Livre', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:glcompte', 'Export Grand Livre', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:sec', 'Export Sécurité', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncList', 'Export Comptabilité analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncBalSimple', 'Export Comptabilité analytique balance simple', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:AncBalSimple', 'Export Comptabilité analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncBalDouble', 'Export Comptabilité analytique balance double', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:AncBalDouble', 'Export Comptabilité analytique balance double', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:balance', 'Export Balance comptable', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:balance', 'Export Balance comptable', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:histo', 'Export Historique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:ledger', 'Export Journaux', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncTable', 'Export Tableau Analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncAccList', 'Export Historique Compt. Analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('SUPPL', 'Fournisseur', 'supplier.inc.php', NULL, 'Suivi fournisseur', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('LET', 'Lettrage', NULL, NULL, 'Lettrage', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCODS', 'Opérations diverses', 'anc_od.inc.php', NULL, 'OD analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('VERIFBIL', 'Vérification ', 'verif_bilan.inc.php', NULL, 'Vérification de la comptabilité', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('REPORT', 'Création de rapport', 'report.inc.php', NULL, 'Création de rapport', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('OPEN', 'Ecriture Ouverture', 'opening.inc.php', NULL, 'Ecriture d''ouverture', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ACHIMP', 'Historique achat', 'history_operation.inc.php', NULL, 'Historique achat', 'ledger_type=ACH', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FOLLOW', 'Courrier', 'action.inc.php', NULL, 'Suivi, courrier, devis', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FORECAST', 'Prévision', 'forecast.inc.php', NULL, 'Prévision', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('EXT', 'Extension', 'extension_choice.inc.php', NULL, 'Extensions (plugins)', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGDOC', 'Document', 'document_modele.inc.php', NULL, 'Config. modèle de document', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGLED', 'journaux', 'cfgledger.inc.php', NULL, 'Configuration des journaux', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PREDOP', 'Ecriture prédefinie', 'preod.inc.php', NULL, 'Gestion des opérations prédéfinifies', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ADV', 'Avancé', NULL, NULL, 'Menu avancé', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANC', 'Compta Analytique', NULL, NULL, 'Module comptabilité analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGSEC', 'Sécurité', 'param_sec.inc.php', NULL, 'configuration de la sécurité', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PLANANC', 'Plan Compt. analytique', 'anc_pa.inc.php', NULL, 'Plan analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCGROUP', 'Groupe', 'anc_group.inc.php', NULL, 'Groupe analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ODSIMP', 'Historique opérations diverses', 'history_operation.inc.php', NULL, 'Historique opérations diverses', 'ledger_type=ODS', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('VENMENU', 'Vente / Recette', NULL, NULL, 'Menu ventes et recettes', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PREFERENCE', 'Préférence', 'pref.inc.php', NULL, 'Préférence', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('HIST', 'Historique', 'history_operation.inc.php', NULL, 'Historique', 'ledger_type=ALL', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('MENUFIN', 'Financier', NULL, NULL, 'Menu Financier', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FIMP', 'Historique financier', 'history_operation.inc.php', NULL, 'Historique financier', 'ledger_type=FIN', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('MENUACH', 'Achat', NULL, NULL, 'Menu achat', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('MENUODS', 'Opérations diverses', NULL, NULL, 'Menu opérations diverses', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ODS', 'Opérations Diverses', 'compta_ods.inc.php', NULL, 'Nouvelle opérations diverses', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FREC', 'Rapprochement', 'compta_fin_rec.inc.php', NULL, 'Rapprochement bancaire', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ADM', 'Administration', 'adm.inc.php', NULL, 'Suivi administration, banque', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FIN', 'Nouvel extrait', 'compta_fin.inc.php', NULL, 'Nouvel extrait bancaire', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGATCARD', 'Attribut de fiche', 'card_attr.inc.php', NULL, 'Gestion des modèles de fiches', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FSALDO', 'Soldes', 'compta_fin_saldo.inc.php', NULL, 'Solde des comptes en banques, caisse...', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('JSSEARCH', 'Recherche', NULL, NULL, 'Recherche', NULL, 'search_reconcile()', 'ME'); -INSERT INTO menu_ref VALUES ('LETACC', 'Lettrage par Poste', 'lettering.account.inc.php', NULL, 'lettrage par poste comptable', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CARDBAL', 'Balance', 'balance_card.inc.php', NULL, 'Balance par catégorie de fiche', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CUST', 'Client', 'client.inc.php', NULL, 'Suivi client', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGCARDCAT', 'Catégorie de fiche', 'fiche_def.inc.php', NULL, 'Gestion catégorie de fiche', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGCATDOC', 'Catégorie de documents', 'cat_document.inc.php', NULL, 'Config. catégorie de documents', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('VENIMP', 'Historique vente', 'history_operation.inc.php', NULL, 'Historique des ventes', 'ledger_type=VEN', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('LETCARD', 'Lettrage par Fiche', 'lettering.card.inc.php', NULL, 'Lettrage par fiche', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGPCMN', 'Plan Comptable', 'param_pcmn.inc.php', NULL, 'Config. du plan comptable', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('LOGOUT', 'Sortie', NULL, 'logout.php', 'Sortie', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('DASHBOARD', 'Tableau de bord', 'dashboard.inc.php', NULL, 'Tableau de bord', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('COMPTA', 'Comptabilité', NULL, NULL, 'Module comptabilité', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('GESTION', 'Gestion', NULL, NULL, 'Module gestion', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PARAM', 'Paramètre', NULL, NULL, 'Module paramètre', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTJRN', 'Historique', 'impress_jrn.inc.php', NULL, 'Impression historique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTREC', 'Rapprochement', 'impress_rec.inc.php', NULL, 'Impression des rapprochements', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTPOSTE', 'Poste', 'impress_poste.inc.php', NULL, 'Impression du détail d''un poste comptable', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTREPORT', 'Rapport', 'impress_rapport.inc.php', NULL, 'Impression de rapport', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTBILAN', 'Bilan', 'impress_bilan.inc.php', NULL, 'Impression de bilan', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTGL', 'Grand Livre', 'impress_gl_comptes.inc.php', NULL, 'Impression du grand livre', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTBAL', 'Balance', 'balance.inc.php', NULL, 'Impression des balances comptables', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTCARD', 'Catégorie de Fiches', 'impress_fiche.inc.php', NULL, 'Impression catégorie de fiches', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINT', 'Impression', NULL, NULL, 'Menu impression', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ACCESS', 'Accueil', NULL, 'user_login.php', 'Accueil', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCIMP', 'Impression', NULL, NULL, 'Impression compta. analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('new_line', 'saut de ligne', NULL, NULL, 'Saut de ligne', NULL, NULL, 'SP'); - - --- --- Data for Name: mod_payment; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO mod_payment VALUES (2, 'Caisse', 1, NULL, NULL, 2); -INSERT INTO mod_payment VALUES (1, 'Paiement électronique', 1, NULL, NULL, 2); -INSERT INTO mod_payment VALUES (4, 'Caisse', 1, NULL, NULL, 3); -INSERT INTO mod_payment VALUES (3, 'Par gérant ou administrateur', 2, NULL, NULL, 3); - - --- --- Data for Name: op_predef; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: op_predef_detail; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: operation_analytique; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: parameter; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO parameter VALUES ('MY_NAME', 'LaMule'); -INSERT INTO parameter VALUES ('MY_TVA', 'FR33 123 456 789'); -INSERT INTO parameter VALUES ('MY_STREET', ''); -INSERT INTO parameter VALUES ('MY_NUMBER', ''); -INSERT INTO parameter VALUES ('MY_CP', ''); -INSERT INTO parameter VALUES ('MY_TEL', ''); -INSERT INTO parameter VALUES ('MY_PAYS', ''); -INSERT INTO parameter VALUES ('MY_COMMUNE', ''); -INSERT INTO parameter VALUES ('MY_FAX', ''); -INSERT INTO parameter VALUES ('MY_ANALYTIC', 'nu'); -INSERT INTO parameter VALUES ('MY_COUNTRY', 'FR'); -INSERT INTO parameter VALUES ('MY_STRICT', 'Y'); -INSERT INTO parameter VALUES ('MY_TVA_USE', 'Y'); -INSERT INTO parameter VALUES ('MY_PJ_SUGGEST', 'Y'); -INSERT INTO parameter VALUES ('MY_DATE_SUGGEST', 'Y'); -INSERT INTO parameter VALUES ('MY_ALPHANUM', 'N'); -INSERT INTO parameter VALUES ('MY_CHECK_PERIODE', 'N'); - - --- --- Data for Name: parm_code; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO parm_code VALUES ('BANQUE', '51', 'Poste comptable par défaut pour les banques'); -INSERT INTO parm_code VALUES ('CAISSE', '53', 'Poste comptable par défaut pour les caisses'); -INSERT INTO parm_code VALUES ('CUSTOMER', '410', 'Poste comptable par défaut pour les clients'); -INSERT INTO parm_code VALUES ('VENTE', '707', 'Poste comptable par défaut pour les ventes'); -INSERT INTO parm_code VALUES ('VIREMENT_INTERNE', '58', 'Poste comptable par défaut pour les virements internes'); -INSERT INTO parm_code VALUES ('DEP_PRIV', '4890', 'Depense a charge du gerant'); -INSERT INTO parm_code VALUES ('SUPPLIER', '400', 'Poste par défaut pour les fournisseurs'); - - --- --- Data for Name: parm_money; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO parm_money VALUES (1, 'EUR', 1.0000); - - --- --- Data for Name: parm_periode; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO parm_periode VALUES (105, '2009-01-01', '2009-01-31', '2009', false, false); -INSERT INTO parm_periode VALUES (106, '2009-02-01', '2009-02-28', '2009', false, false); -INSERT INTO parm_periode VALUES (107, '2009-03-01', '2009-03-31', '2009', false, false); -INSERT INTO parm_periode VALUES (108, '2009-04-01', '2009-04-30', '2009', false, false); -INSERT INTO parm_periode VALUES (109, '2009-05-01', '2009-05-31', '2009', false, false); -INSERT INTO parm_periode VALUES (110, '2009-06-01', '2009-06-30', '2009', false, false); -INSERT INTO parm_periode VALUES (111, '2009-07-01', '2009-07-31', '2009', false, false); -INSERT INTO parm_periode VALUES (112, '2009-08-01', '2009-08-31', '2009', false, false); -INSERT INTO parm_periode VALUES (113, '2009-09-01', '2009-09-30', '2009', false, false); -INSERT INTO parm_periode VALUES (114, '2009-10-01', '2009-10-31', '2009', false, false); -INSERT INTO parm_periode VALUES (115, '2009-11-01', '2009-11-30', '2009', false, false); -INSERT INTO parm_periode VALUES (116, '2009-12-01', '2009-12-30', '2009', false, false); -INSERT INTO parm_periode VALUES (117, '2009-12-31', '2009-12-31', '2009', false, false); - - --- --- Data for Name: parm_poste; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO parm_poste VALUES ('1', 'PAS'); -INSERT INTO parm_poste VALUES ('12', 'CON'); -INSERT INTO parm_poste VALUES ('2', 'ACT'); -INSERT INTO parm_poste VALUES ('3', 'ACT'); -INSERT INTO parm_poste VALUES ('41', 'ACT'); -INSERT INTO parm_poste VALUES ('42', 'PAS'); -INSERT INTO parm_poste VALUES ('43', 'PAS'); -INSERT INTO parm_poste VALUES ('44', 'PAS'); -INSERT INTO parm_poste VALUES ('45', 'PAS'); -INSERT INTO parm_poste VALUES ('46', 'CON'); -INSERT INTO parm_poste VALUES ('47', 'CON'); -INSERT INTO parm_poste VALUES ('481', 'PAS'); -INSERT INTO parm_poste VALUES ('482', 'PAS'); -INSERT INTO parm_poste VALUES ('483', 'PAS'); -INSERT INTO parm_poste VALUES ('484', 'PAS'); -INSERT INTO parm_poste VALUES ('485', 'PAS'); -INSERT INTO parm_poste VALUES ('486', 'PAS'); -INSERT INTO parm_poste VALUES ('487', 'ACT'); -INSERT INTO parm_poste VALUES ('49', 'PAS'); -INSERT INTO parm_poste VALUES ('5', 'ACT'); -INSERT INTO parm_poste VALUES ('6', 'CHA'); -INSERT INTO parm_poste VALUES ('7', 'PAS'); -INSERT INTO parm_poste VALUES ('40', 'ACT'); - - --- --- Data for Name: plan_analytique; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: poste_analytique; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: profile; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO profile VALUES ('Administrateur', 1, 'Profil par défaut pour les adminstrateurs', true, true); -INSERT INTO profile VALUES ('Utilisateur', 2, 'Profil par défaut pour les utilisateurs', true, true); - - --- --- Data for Name: profile_menu; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO profile_menu VALUES (59, 'CFGPAY', 'DIVPARM', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (68, 'CFGATCARD', 'DIVPARM', 1, 9, 'E', 0); -INSERT INTO profile_menu VALUES (61, 'CFGACC', 'DIVPARM', 1, 6, 'E', 0); -INSERT INTO profile_menu VALUES (54, 'COMPANY', 'PARAM', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (651, 'ANCHOP', 'ANCIMP', 1, 10, 'E', 0); -INSERT INTO profile_menu VALUES (173, 'COMPTA', NULL, 1, 40, 'M', 0); -INSERT INTO profile_menu VALUES (55, 'PERIODE', 'PARAM', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (56, 'DIVPARM', 'PARAM', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (652, 'ANCGL', 'ANCIMP', 1, 20, 'E', 0); -INSERT INTO profile_menu VALUES (60, 'CFGTVA', 'DIVPARM', 1, 5, 'E', 0); -INSERT INTO profile_menu VALUES (653, 'ANCBS', 'ANCIMP', 1, 30, 'E', 0); -INSERT INTO profile_menu VALUES (654, 'ANCBC2', 'ANCIMP', 1, 40, 'E', 0); -INSERT INTO profile_menu VALUES (655, 'ANCTAB', 'ANCIMP', 1, 50, 'E', 0); -INSERT INTO profile_menu VALUES (656, 'ANCBCC', 'ANCIMP', 1, 60, 'E', 0); -INSERT INTO profile_menu VALUES (657, 'ANCGR', 'ANCIMP', 1, 70, 'E', 0); -INSERT INTO profile_menu VALUES (658, 'CSV:AncGrandLivre', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (662, 'new_line', NULL, 1, 35, 'M', 0); -INSERT INTO profile_menu VALUES (67, 'CFGCATDOC', 'DIVPARM', 1, 8, 'E', 0); -INSERT INTO profile_menu VALUES (69, 'CFGPCMN', 'PARAM', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (526, 'PRINTGL', 'PRINT', 1, 20, 'E', 0); -INSERT INTO profile_menu VALUES (23, 'LET', 'COMPTA', 1, 8, 'E', 0); -INSERT INTO profile_menu VALUES (523, 'PRINTBAL', 'PRINT', 1, 50, 'E', 0); -INSERT INTO profile_menu VALUES (529, 'PRINTREPORT', 'PRINT', 1, 85, 'E', 0); -INSERT INTO profile_menu VALUES (72, 'PREDOP', 'PARAM', 1, 7, 'E', 0); -INSERT INTO profile_menu VALUES (75, 'PLANANC', 'ANC', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (65, 'CFGCARDCAT', 'DIVPARM', 1, 7, 'E', 0); -INSERT INTO profile_menu VALUES (76, 'ANCODS', 'ANC', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (77, 'ANCGROUP', 'ANC', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (78, 'ANCIMP', 'ANC', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (45, 'PARAM', NULL, 1, 20, 'M', 0); -INSERT INTO profile_menu VALUES (527, 'PRINTJRN', 'PRINT', 1, 10, 'E', 0); -INSERT INTO profile_menu VALUES (530, 'PRINTREC', 'PRINT', 1, 100, 'E', 0); -INSERT INTO profile_menu VALUES (524, 'PRINTBILAN', 'PRINT', 1, 90, 'E', 0); -INSERT INTO profile_menu VALUES (79, 'PREFERENCE', NULL, 1, 15, 'M', 0); -INSERT INTO profile_menu VALUES (37, 'CUST', 'GESTION', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (38, 'SUPPL', 'GESTION', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (39, 'ADM', 'GESTION', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (36, 'CARD', 'GESTION', 1, 6, 'E', 0); -INSERT INTO profile_menu VALUES (40, 'STOCK', 'GESTION', 1, 5, 'E', 0); -INSERT INTO profile_menu VALUES (41, 'FORECAST', 'GESTION', 1, 7, 'E', 0); -INSERT INTO profile_menu VALUES (42, 'FOLLOW', 'GESTION', 1, 8, 'E', 0); -INSERT INTO profile_menu VALUES (29, 'VERIFBIL', 'ADV', 1, 21, 'E', 0); -INSERT INTO profile_menu VALUES (30, 'STOCK', 'ADV', 1, 22, 'E', 0); -INSERT INTO profile_menu VALUES (31, 'PREDOP', 'ADV', 1, 23, 'E', 0); -INSERT INTO profile_menu VALUES (32, 'OPEN', 'ADV', 1, 24, 'E', 0); -INSERT INTO profile_menu VALUES (33, 'REPORT', 'ADV', 1, 25, 'E', 0); -INSERT INTO profile_menu VALUES (5, 'CARD', 'COMPTA', 1, 7, 'E', 0); -INSERT INTO profile_menu VALUES (43, 'HIST', 'COMPTA', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (28, 'ADV', 'COMPTA', 1, 20, 'E', 0); -INSERT INTO profile_menu VALUES (53, 'ACCESS', NULL, 1, 25, 'M', 0); -INSERT INTO profile_menu VALUES (123, 'CSV:histo', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (20, 'LOGOUT', NULL, 1, 30, 'M', 0); -INSERT INTO profile_menu VALUES (35, 'PRINT', 'GESTION', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (124, 'CSV:ledger', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (125, 'PDF:ledger', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (6, 'PRINT', 'COMPTA', 1, 6, 'E', 0); -INSERT INTO profile_menu VALUES (126, 'CSV:postedetail', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (3, 'MENUACH', 'COMPTA', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (86, 'ACHIMP', 'MENUACH', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (34, 'GESTION', NULL, 1, 45, 'M', 0); -INSERT INTO profile_menu VALUES (18, 'MENUODS', 'COMPTA', 1, 5, 'E', 0); -INSERT INTO profile_menu VALUES (88, 'ODS', 'MENUODS', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (89, 'ODSIMP', 'MENUODS', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (2, 'ANC', NULL, 1, 50, 'M', 0); -INSERT INTO profile_menu VALUES (4, 'VENMENU', 'COMPTA', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (90, 'VEN', 'VENMENU', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (91, 'VENIMP', 'VENMENU', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (19, 'FIN', 'MENUFIN', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (73, 'CFGDOC', 'PARAM', 1, 8, 'E', 0); -INSERT INTO profile_menu VALUES (74, 'CFGLED', 'PARAM', 1, 9, 'E', 0); -INSERT INTO profile_menu VALUES (71, 'CFGSEC', 'PARAM', 1, 6, 'E', 0); -INSERT INTO profile_menu VALUES (82, 'EXT', NULL, 1, 55, 'M', 0); -INSERT INTO profile_menu VALUES (95, 'FREC', 'MENUFIN', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (94, 'FSALDO', 'MENUFIN', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (27, 'LETACC', 'LET', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (24, 'LETCARD', 'LET', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (167, 'MOD', 'PARAM', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (92, 'MENUFIN', 'COMPTA', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (93, 'FIMP', 'MENUFIN', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (151, 'SEARCH', NULL, 1, 60, 'M', 0); -INSERT INTO profile_menu VALUES (85, 'ACH', 'MENUACH', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (127, 'PDF:postedetail', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (128, 'CSV:fichedetail', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (129, 'PDF:fichedetail', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (130, 'CSV:fiche_balance', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (131, 'PDF:fiche_balance', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (132, 'CSV:report', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (133, 'PDF:report', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (134, 'CSV:fiche', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (135, 'PDF:fiche', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (136, 'CSV:glcompte', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (137, 'PDF:glcompte', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (138, 'PDF:sec', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (139, 'CSV:AncList', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (140, 'CSV:AncBalSimple', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (141, 'PDF:AncBalSimple', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (142, 'CSV:AncBalDouble', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (143, 'PDF:AncBalDouble', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (144, 'CSV:balance', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (145, 'PDF:balance', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (146, 'CSV:AncTable', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (147, 'CSV:AncAccList', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (148, 'CSV:AncBalGroup', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (149, 'OTH:Bilan', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (528, 'PRINTPOSTE', 'PRINT', 1, 30, 'E', 0); -INSERT INTO profile_menu VALUES (525, 'PRINTCARD', 'PRINT', 1, 40, 'E', 0); -INSERT INTO profile_menu VALUES (1, 'DASHBOARD', NULL, 1, 10, 'M', 1); -INSERT INTO profile_menu VALUES (172, 'CFGPRO', 'MOD', 1, NULL, 'E', 0); -INSERT INTO profile_menu VALUES (171, 'CFGMENU', 'MOD', 1, NULL, 'E', 0); -INSERT INTO profile_menu VALUES (663, 'CFGPAY', 'DIVPARM', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (664, 'CFGATCARD', 'DIVPARM', 2, 9, 'E', 0); -INSERT INTO profile_menu VALUES (665, 'CFGACC', 'DIVPARM', 2, 6, 'E', 0); -INSERT INTO profile_menu VALUES (668, 'ANCHOP', 'ANCIMP', 2, 10, 'E', 0); -INSERT INTO profile_menu VALUES (669, 'COMPTA', NULL, 2, 40, 'M', 0); -INSERT INTO profile_menu VALUES (672, 'ANCGL', 'ANCIMP', 2, 20, 'E', 0); -INSERT INTO profile_menu VALUES (673, 'CFGTVA', 'DIVPARM', 2, 5, 'E', 0); -INSERT INTO profile_menu VALUES (674, 'ANCBS', 'ANCIMP', 2, 30, 'E', 0); -INSERT INTO profile_menu VALUES (675, 'ANCBC2', 'ANCIMP', 2, 40, 'E', 0); -INSERT INTO profile_menu VALUES (676, 'ANCTAB', 'ANCIMP', 2, 50, 'E', 0); -INSERT INTO profile_menu VALUES (677, 'ANCBCC', 'ANCIMP', 2, 60, 'E', 0); -INSERT INTO profile_menu VALUES (678, 'ANCGR', 'ANCIMP', 2, 70, 'E', 0); -INSERT INTO profile_menu VALUES (679, 'CSV:AncGrandLivre', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (680, 'new_line', NULL, 2, 35, 'M', 0); -INSERT INTO profile_menu VALUES (681, 'CFGCATDOC', 'DIVPARM', 2, 8, 'E', 0); -INSERT INTO profile_menu VALUES (683, 'PRINTGL', 'PRINT', 2, 20, 'E', 0); -INSERT INTO profile_menu VALUES (684, 'LET', 'COMPTA', 2, 8, 'E', 0); -INSERT INTO profile_menu VALUES (685, 'PRINTBAL', 'PRINT', 2, 50, 'E', 0); -INSERT INTO profile_menu VALUES (686, 'PRINTREPORT', 'PRINT', 2, 85, 'E', 0); -INSERT INTO profile_menu VALUES (688, 'PLANANC', 'ANC', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (689, 'CFGCARDCAT', 'DIVPARM', 2, 7, 'E', 0); -INSERT INTO profile_menu VALUES (690, 'ANCODS', 'ANC', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (717, 'CSV:ledger', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (718, 'PDF:ledger', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (719, 'PRINT', 'COMPTA', 2, 6, 'E', 0); -INSERT INTO profile_menu VALUES (720, 'CSV:postedetail', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (721, 'MENUACH', 'COMPTA', 2, 3, 'E', 0); -INSERT INTO profile_menu VALUES (722, 'ACHIMP', 'MENUACH', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (723, 'GESTION', NULL, 2, 45, 'M', 0); -INSERT INTO profile_menu VALUES (724, 'MENUODS', 'COMPTA', 2, 5, 'E', 0); -INSERT INTO profile_menu VALUES (725, 'ODS', 'MENUODS', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (726, 'ODSIMP', 'MENUODS', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (727, 'ANC', NULL, 2, 50, 'M', 0); -INSERT INTO profile_menu VALUES (728, 'VENMENU', 'COMPTA', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (729, 'VEN', 'VENMENU', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (730, 'VENIMP', 'VENMENU', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (731, 'FIN', 'MENUFIN', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (735, 'EXT', NULL, 2, 55, 'M', 0); -INSERT INTO profile_menu VALUES (736, 'FREC', 'MENUFIN', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (737, 'FSALDO', 'MENUFIN', 2, 3, 'E', 0); -INSERT INTO profile_menu VALUES (738, 'LETACC', 'LET', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (691, 'ANCGROUP', 'ANC', 2, 3, 'E', 0); -INSERT INTO profile_menu VALUES (692, 'ANCIMP', 'ANC', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (694, 'PRINTJRN', 'PRINT', 2, 10, 'E', 0); -INSERT INTO profile_menu VALUES (695, 'PRINTREC', 'PRINT', 2, 100, 'E', 0); -INSERT INTO profile_menu VALUES (696, 'PRINTBILAN', 'PRINT', 2, 90, 'E', 0); -INSERT INTO profile_menu VALUES (697, 'PREFERENCE', NULL, 2, 15, 'M', 0); -INSERT INTO profile_menu VALUES (698, 'CUST', 'GESTION', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (699, 'SUPPL', 'GESTION', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (700, 'ADM', 'GESTION', 2, 3, 'E', 0); -INSERT INTO profile_menu VALUES (701, 'CARD', 'GESTION', 2, 6, 'E', 0); -INSERT INTO profile_menu VALUES (702, 'STOCK', 'GESTION', 2, 5, 'E', 0); -INSERT INTO profile_menu VALUES (703, 'FORECAST', 'GESTION', 2, 7, 'E', 0); -INSERT INTO profile_menu VALUES (704, 'FOLLOW', 'GESTION', 2, 8, 'E', 0); -INSERT INTO profile_menu VALUES (705, 'VERIFBIL', 'ADV', 2, 21, 'E', 0); -INSERT INTO profile_menu VALUES (706, 'STOCK', 'ADV', 2, 22, 'E', 0); -INSERT INTO profile_menu VALUES (707, 'PREDOP', 'ADV', 2, 23, 'E', 0); -INSERT INTO profile_menu VALUES (708, 'OPEN', 'ADV', 2, 24, 'E', 0); -INSERT INTO profile_menu VALUES (709, 'REPORT', 'ADV', 2, 25, 'E', 0); -INSERT INTO profile_menu VALUES (710, 'CARD', 'COMPTA', 2, 7, 'E', 0); -INSERT INTO profile_menu VALUES (711, 'HIST', 'COMPTA', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (712, 'ADV', 'COMPTA', 2, 20, 'E', 0); -INSERT INTO profile_menu VALUES (713, 'ACCESS', NULL, 2, 25, 'M', 0); -INSERT INTO profile_menu VALUES (714, 'CSV:histo', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (715, 'LOGOUT', NULL, 2, 30, 'M', 0); -INSERT INTO profile_menu VALUES (716, 'PRINT', 'GESTION', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (739, 'LETCARD', 'LET', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (742, 'MENUFIN', 'COMPTA', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (743, 'FIMP', 'MENUFIN', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (744, 'SEARCH', NULL, 2, 60, 'M', 0); -INSERT INTO profile_menu VALUES (745, 'ACH', 'MENUACH', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (746, 'PDF:postedetail', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (747, 'CSV:fichedetail', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (748, 'PDF:fichedetail', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (749, 'CSV:fiche_balance', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (750, 'PDF:fiche_balance', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (751, 'CSV:report', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (752, 'PDF:report', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (753, 'CSV:fiche', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (754, 'PDF:fiche', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (755, 'CSV:glcompte', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (756, 'PDF:glcompte', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (757, 'PDF:sec', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (758, 'CSV:AncList', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (759, 'CSV:AncBalSimple', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (760, 'PDF:AncBalSimple', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (761, 'CSV:AncBalDouble', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (762, 'PDF:AncBalDouble', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (763, 'CSV:balance', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (764, 'PDF:balance', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (765, 'CSV:AncTable', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (766, 'CSV:AncAccList', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (767, 'CSV:AncBalGroup', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (768, 'OTH:Bilan', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (769, 'PRINTPOSTE', 'PRINT', 2, 30, 'E', 0); -INSERT INTO profile_menu VALUES (770, 'PRINTCARD', 'PRINT', 2, 40, 'E', 0); -INSERT INTO profile_menu VALUES (777, 'CFGPRO', 'MOD', 2, NULL, 'E', 0); -INSERT INTO profile_menu VALUES (778, 'CFGMENU', 'MOD', 2, NULL, 'E', 0); -INSERT INTO profile_menu VALUES (772, 'DASHBOARD', NULL, 2, 10, 'M', 1); - - --- --- Data for Name: profile_menu_type; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO profile_menu_type VALUES ('P', 'Impression'); -INSERT INTO profile_menu_type VALUES ('S', 'Extension'); -INSERT INTO profile_menu_type VALUES ('E', 'Menu'); -INSERT INTO profile_menu_type VALUES ('M', 'Module'); - - --- --- Data for Name: profile_user; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO profile_user VALUES ('phpcompta', 1, 1); - - --- --- Data for Name: quant_fin; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: quant_purchase; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: quant_sold; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: stock_goods; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: tmp_pcmn; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO tmp_pcmn VALUES ('1', 'comptes de capitaux', '0', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('101', 'Capital', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('105', 'Ecarts de réévaluation', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1061', 'Réserve légale', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1063', 'Réserves statutaires ou contractuelles', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1064', 'Réserves réglementées', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('1068', 'Autres réserves', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('108', 'Compte de l''exploitant', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('12', 'résultat de l''exercice (bénéfice ou perte)', '1', 'CON'); -INSERT INTO tmp_pcmn VALUES ('145', 'Amortissements dérogatoires', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('146', 'Provision spéciale de réévaluation', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('147', 'Plus-values réinvesties', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('148', 'Autres provisions réglementées', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('15', 'Provisions pour risques et charges', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('16', 'emprunts et dettes assimilees', '1', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('2', 'comptes d''immobilisations', '0', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('20', 'immobilisations incorporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('201', 'Frais d''établissement', '20', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('206', 'Droit au bail', '20', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('207', 'Fonds commercial', '20', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('208', 'Autres immobilisations incorporelles', '20', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('21', 'immobilisations corporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('23', 'immobilisations en cours', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('27', 'autres immobilisations financieres', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('280', 'Amortissements des immobilisations incorporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('281', 'Amortissements des immobilisations corporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('290', 'Provisions pour dépréciation des immobilisations incorporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('291', 'Provisions pour dépréciation des immobilisations corporelles (même ventilation que celle du compte 21)', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('297', 'Provisions pour dépréciation des autres immobilisations financières', '2', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('3', 'comptes de stocks et en cours', '0', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('31', 'matieres premières (et fournitures)', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('32', 'autres approvisionnements', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('33', 'en-cours de production de biens', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('34', 'en-cours de production de services', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('35', 'stocks de produits', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('37', 'stocks de marchandises', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('391', 'Provisions pour dépréciation des matières premières (et fournitures)', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('392', 'Provisions pour dépréciation des autres approvisionnements', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('393', 'Provisions pour dépréciation des en-cours de production de biens', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('394', 'Provisions pour dépréciation des en-cours de production de services', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('395', 'Provisions pour dépréciation des stocks de produits', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('397', 'Provisions pour dépréciation des stocks de marchandises', '3', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4', 'comptes de tiers', '0', 'CON'); -INSERT INTO tmp_pcmn VALUES ('400', 'Fournisseurs et Comptes rattachés', '4', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('409', 'Fournisseurs débiteurs', '4', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('410', 'Clients et Comptes rattachés', '4', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('419', 'Clients créditeurs', '4', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('421', 'Personnel - Rémunérations dues', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('428', 'Personnel - Charges à payer et produits à recevoir', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('43', 'Sécurité sociale et autres organismes sociaux', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('444', 'Etat - Impôts sur les bénéfices', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('445', 'Etat - Taxes sur le chiffre d''affaires', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('447', 'Autres impôts, taxes et versements assimilés', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('45', 'Groupe et associes', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('455', 'Associés - Comptes courants', '45', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('46', 'Débiteurs divers et créditeurs divers', '4', 'CON'); -INSERT INTO tmp_pcmn VALUES ('47', 'comptes transitoires ou d''attente', '4', 'CON'); -INSERT INTO tmp_pcmn VALUES ('481', 'Charges à répartir sur plusieurs exercices', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('486', 'Charges constatées d''avance', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('487', 'Produits constatés d''avance', '4', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('491', 'Provisions pour dépréciation des comptes de clients', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('496', 'Provisions pour dépréciation des comptes de débiteurs divers', '4', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('5', 'comptes financiers', '0', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('50', 'valeurs mobilières de placement', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('51', 'banques, établissements financiers et assimilés', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('53', 'Caisse', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('54', 'régies d''avance et accréditifs', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('58', 'virements internes', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('590', 'Provisions pour dépréciation des valeurs mobilières de placement', '5', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('6', 'comptes de charges', '0', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('60', 'Achats (sauf 603)', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('603', 'variations des stocks (approvisionnements et marchandises)', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('61', 'autres charges externes - Services extérieurs', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('62', 'autres charges externes - Autres services extérieurs', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('63', 'Impôts, taxes et versements assimiles', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('641', 'Rémunérations du personnel', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('644', 'Rémunération du travail de l''exploitant', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('645', 'Charges de sécurité sociale et de prévoyance', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('646', 'Cotisations sociales personnelles de l''exploitant', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('65', 'Autres charges de gestion courante', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('66', 'Charges financières', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('67', 'Charges exceptionnelles', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('681', 'Dotations aux amortissements et aux provisions - Charges d''exploitation', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('686', 'Dotations aux amortissements et aux provisions - Charges financières', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('687', 'Dotations aux amortissements et aux provisions - Charges exceptionnelles', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('691', 'Participation des salariés aux résultats', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('695', 'Impôts sur les bénéfices', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('697', 'Imposition forfaitaire annuelle des sociétés', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('699', 'Produits - Reports en arrière des déficits', '6', 'CHA'); -INSERT INTO tmp_pcmn VALUES ('7', 'comptes de produits', '0', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('701', 'Ventes de produits finis', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('706', 'Prestations de services', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('707', 'Ventes de marchandises', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('708', 'Produits des activités annexes', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('709', 'Rabais, remises et ristournes accordés par l''entreprise', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('713', 'Variation des stocks (en-cours de production, produits)', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('72', 'Production immobilisée', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('73', 'Produits nets partiels sur opérations à long terme', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('74', 'Subventions d''exploitation', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('75', 'Autres produits de gestion courante', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('753', 'Jetons de présence et rémunérations d''administrateurs, gérants,...', '75', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('754', 'Ristournes perçues des coopératives (provenant des excédents)', '75', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('755', 'Quotes-parts de résultat sur opérations faites en commun', '75', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('76', 'Produits financiers', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('77', 'Produits exceptionnels', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('781', 'Reprises sur amortissements et provisions (à inscrire dans les produits d''exploitation)', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('786', 'Reprises sur provisions pour risques (à inscrire dans les produits financiers)', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('787', 'Reprises sur provisions (à inscrire dans les produits exceptionnels)', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('79', 'Transferts de charges', '7', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('8', 'Comptes spéciaux', '0', 'CON'); -INSERT INTO tmp_pcmn VALUES ('9', 'Comptes analytiques', '0', 'CON'); -INSERT INTO tmp_pcmn VALUES ('4456601', 'TVA 19,6% - France métropolitaine - Taux immobilisations Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('445701', 'TVA 19,6% - France métropolitaine - Taux immobilisations Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4456602', 'TVA x% - France métropolitaine - Taux anciens Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('445702', 'TVA x% - France métropolitaine - Taux anciens Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4456603', 'TVA 8,5% - DOM - Taux normal Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('445703', 'TVA 8,5% - DOM - Taux normal Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4456604', 'TVA 8,5% - DOM - Taux normal NPR Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('445704', 'TVA 8,5% - DOM - Taux normal NPR Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4456605', 'TVA 2,1% - DOM - Taux réduit Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('445705', 'TVA 2,1% - DOM - Taux réduit Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4456606', 'TVA 1,75% - DOM - Taux I Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('445706', 'TVA 1,75% - DOM - Taux I Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4456607', 'TVA 1,05% - DOM - Taux publications de presse Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('445707', 'TVA 1,05% - DOM - Taux publications de presse Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4456608', 'TVA x% - DOM - Taux octroi de mer Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('445708', 'TVA x% - DOM - Taux octroi de mer Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('4456609', 'TVA x% - DOM - Taux immobilisations Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('445709', 'TVA x% - DOM - Taux immobilisations Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44566010', 'TVA 13% - Corse - Taux I Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4457010', 'TVA 13% - Corse - Taux I Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44566011', 'TVA 8% - Corse - Taux II Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4457011', 'TVA 8% - Corse - Taux II Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44566012', 'TVA 2,1% - Corse - Taux III Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4457012', 'TVA 2,1% - Corse - Taux III Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44566013', 'TVA 0,9% - Corse - Taux IV Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4457013', 'TVA 0,9% - Corse - Taux IV Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44566014', 'TVA x% - Corse - Taux immobilisations Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4457014', 'TVA x% - Corse - Taux immobilisations Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44566015', 'TVA x% - Acquisitions intracommunautaires/Pays Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4457015', 'TVA x% - Acquisitions intracommunautaires/Pays Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44566016', 'TVA x% - Acquisitions intracommunautaires immobilisations/Pays Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4457016', 'TVA x% - Acquisitions intracommunautaires immobilisations/Pays Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44566017', 'TVA x% - Non imposable : Achats en franchise Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4457017', 'TVA x% - Non imposable : Achats en franchise Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44566018', 'TVA x% - Non imposable : Exports hors CE/Pays Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4457018', 'TVA x% - Non imposable : Exports hors CE/Pays Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44566019', 'TVA x% - Non imposable : Autres opérations Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4457019', 'TVA x% - Non imposable : Autres opérations Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44566020', 'TVA x% - Non imposable : Livraisons intracommunautaires/Pays Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('4457020', 'TVA x% - Non imposable : Livraisons intracommunautaires/Pays Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('445661', 'TVA 19,6% - France métropolitaine - Taux normal', '445', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('445662', 'TVA 5,5% - France métropolitaine - Taux réduit', '445', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('445663', 'TVA 2,1% - France métropolitaine - Taux super réduit', '445', 'PAS'); -INSERT INTO tmp_pcmn VALUES ('44571', 'TVA 19,6% - France métropolitaine - Taux normal', '445', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('44572', 'TVA 5,5% - France métropolitaine - Taux réduit', '445', 'ACT'); -INSERT INTO tmp_pcmn VALUES ('44573', 'TVA 2,1% - France métropolitaine - Taux super réduit', '445', 'ACT'); - - --- --- Data for Name: todo_list; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: tva_rate; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO tva_rate VALUES (101, 'FR_NOR', 0.1960, 'TVA 19,6% - France métropolitaine - Taux normal', '445661,44571', 0); -INSERT INTO tva_rate VALUES (102, 'FR_RED', 0.0550, 'TVA 5,5% - France métropolitaine - Taux réduit', '445662,44572', 0); -INSERT INTO tva_rate VALUES (103, 'FR_SRED', 0.0210, 'TVA 2,1% - France métropolitaine - Taux super réduit', '445663,44573', 0); -INSERT INTO tva_rate VALUES (104, 'FR_IMMO', 0.1960, 'TVA 19,6% - France métropolitaine - Taux immobilisations', '4456601,445701', 0); -INSERT INTO tva_rate VALUES (105, 'FR_ANC', 0.0000, 'TVA x% - France métropolitaine - Taux anciens', '4456602,445702', 0); -INSERT INTO tva_rate VALUES (201, 'DOM', 0.0850, 'TVA 8,5% - DOM - Taux normal', '4456603,445703', 0); -INSERT INTO tva_rate VALUES (202, 'DOM_NPR', 0.0850, 'TVA 8,5% - DOM - Taux normal NPR', '4456604,445704', 0); -INSERT INTO tva_rate VALUES (203, 'DOM_REDUIT', 0.0210, 'TVA 2,1% - DOM - Taux réduit', '4456605,445705', 0); -INSERT INTO tva_rate VALUES (204, 'DOM_I', 0.0175, 'TVA 1,75% - DOM - Taux I', '4456606,445706', 0); -INSERT INTO tva_rate VALUES (205, 'DOM_PRESSE', 0.0105, 'TVA 1,05% - DOM - Taux publications de presse', '4456607,445707', 0); -INSERT INTO tva_rate VALUES (206, 'DOM_OCTROI', 0.0000, 'TVA x% - DOM - Taux octroi de mer', '4456608,445708', 0); -INSERT INTO tva_rate VALUES (207, 'DOM_IMMO', 0.0000, 'TVA x% - DOM - Taux immobilisations', '4456609,445709', 0); -INSERT INTO tva_rate VALUES (301, 'COR_I', 0.1300, 'TVA 13% - Corse - Taux I', '44566010,4457010', 0); -INSERT INTO tva_rate VALUES (302, 'COR_II', 0.0800, 'TVA 8% - Corse - Taux II', '44566011,4457011', 0); -INSERT INTO tva_rate VALUES (303, 'COR_III', 0.0210, 'TVA 2,1% - Corse - Taux III', '44566012,4457012', 0); -INSERT INTO tva_rate VALUES (304, 'COR_IV', 0.0090, 'TVA 0,9% - Corse - Taux IV', '44566013,4457013', 0); -INSERT INTO tva_rate VALUES (305, 'COR_IMMO', 0.0000, 'TVA x% - Corse - Taux immobilisations', '44566014,4457014', 0); -INSERT INTO tva_rate VALUES (401, 'INTRA', 0.0000, 'TVA x% - Acquisitions intracommunautaires/Pays', '44566015,4457015', 0); -INSERT INTO tva_rate VALUES (402, 'INTRA_IMMMO', 0.0000, 'TVA x% - Acquisitions intracommunautaires immobilisations/Pays', '44566016,4457016', 0); -INSERT INTO tva_rate VALUES (501, 'FRANCH', 0.0000, 'TVA x% - Non imposable : Achats en franchise', '44566017,4457017', 0); -INSERT INTO tva_rate VALUES (502, 'EXPORT', 0.0000, 'TVA x% - Non imposable : Exports hors CE/Pays', '44566018,4457018', 0); -INSERT INTO tva_rate VALUES (503, 'AUTRE', 0.0000, 'TVA x% - Non imposable : Autres opérations', '44566019,4457019', 0); -INSERT INTO tva_rate VALUES (504, 'INTRA_LIV', 0.0000, 'TVA x% - Non imposable : Livraisons intracommunautaires/Pays', '44566020,4457020', 0); - - --- --- Data for Name: user_local_pref; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO user_local_pref VALUES ('1', 'MINIREPORT', '0'); -INSERT INTO user_local_pref VALUES ('1', 'PERIODE', '105'); - - --- --- Data for Name: user_sec_act; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: user_sec_extension; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: user_sec_jrn; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: version; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO version VALUES (99); - - --- --- Name: action_detail_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY action_detail - ADD CONSTRAINT action_detail_pkey PRIMARY KEY (ad_id); - - --- --- Name: action_gestion_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY action_gestion - ADD CONSTRAINT action_gestion_pkey PRIMARY KEY (ag_id); - - --- --- Name: action_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY action - ADD CONSTRAINT action_pkey PRIMARY KEY (ac_id); - - --- --- Name: attr_def_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY attr_def - ADD CONSTRAINT attr_def_pkey PRIMARY KEY (ad_id); - - --- --- Name: bilan_b_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY bilan - ADD CONSTRAINT bilan_b_name_key UNIQUE (b_name); - - --- --- Name: bilan_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY bilan - ADD CONSTRAINT bilan_pkey PRIMARY KEY (b_id); - - --- --- Name: centralized_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY centralized - ADD CONSTRAINT centralized_pkey PRIMARY KEY (c_id); - - --- --- Name: del_action_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY del_action - ADD CONSTRAINT del_action_pkey PRIMARY KEY (del_id); - - --- --- Name: dj_id; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY del_jrn - ADD CONSTRAINT dj_id PRIMARY KEY (dj_id); - - --- --- Name: djx_id; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY del_jrnx - ADD CONSTRAINT djx_id PRIMARY KEY (djx_id); - - --- --- Name: document_modele_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY document_modele - ADD CONSTRAINT document_modele_pkey PRIMARY KEY (md_id); - - --- --- Name: document_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY document - ADD CONSTRAINT document_pkey PRIMARY KEY (d_id); - - --- --- Name: document_state_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY document_state - ADD CONSTRAINT document_state_pkey PRIMARY KEY (s_id); - - --- --- Name: document_type_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY document_type - ADD CONSTRAINT document_type_pkey PRIMARY KEY (dt_id); - - --- --- Name: fiche_def_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY fiche_def - ADD CONSTRAINT fiche_def_pkey PRIMARY KEY (fd_id); - - --- --- Name: fiche_def_ref_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY fiche_def_ref - ADD CONSTRAINT fiche_def_ref_pkey PRIMARY KEY (frd_id); - - --- --- Name: fiche_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY fiche - ADD CONSTRAINT fiche_pkey PRIMARY KEY (f_id); - - --- --- Name: forecast_cat_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY forecast_cat - ADD CONSTRAINT forecast_cat_pk PRIMARY KEY (fc_id); - - --- --- Name: forecast_item_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY forecast_item - ADD CONSTRAINT forecast_item_pkey PRIMARY KEY (fi_id); - - --- --- Name: forecast_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY forecast - ADD CONSTRAINT forecast_pk PRIMARY KEY (f_id); - - --- --- Name: form_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY form - ADD CONSTRAINT form_pkey PRIMARY KEY (fo_id); - - --- --- Name: formdef_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY formdef - ADD CONSTRAINT formdef_pkey PRIMARY KEY (fr_id); - - --- --- Name: frd_ad_attr_min_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY attr_min - ADD CONSTRAINT frd_ad_attr_min_pk PRIMARY KEY (frd_id, ad_id); - - --- --- Name: historique_analytique_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY operation_analytique - ADD CONSTRAINT historique_analytique_pkey PRIMARY KEY (oa_id); - - --- --- Name: idx_ex_code; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY extension - ADD CONSTRAINT idx_ex_code UNIQUE (ex_code); - - --- --- Name: info_def_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY info_def - ADD CONSTRAINT info_def_pkey PRIMARY KEY (id_type); - - --- --- Name: jnt_fic_att_value_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY fiche_detail - ADD CONSTRAINT jnt_fic_att_value_pkey PRIMARY KEY (jft_id); - - --- --- Name: jnt_letter_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jnt_letter - ADD CONSTRAINT jnt_letter_pk PRIMARY KEY (jl_id); - - --- --- Name: jrn_action_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_action - ADD CONSTRAINT jrn_action_pkey PRIMARY KEY (ja_id); - - --- --- Name: jrn_def_jrn_def_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_def - ADD CONSTRAINT jrn_def_jrn_def_name_key UNIQUE (jrn_def_name); - - --- --- Name: jrn_def_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_def - ADD CONSTRAINT jrn_def_pkey PRIMARY KEY (jrn_def_id); - - --- --- Name: jrn_info_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_info - ADD CONSTRAINT jrn_info_pkey PRIMARY KEY (ji_id); - - --- --- Name: jrn_periode_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_periode - ADD CONSTRAINT jrn_periode_pk PRIMARY KEY (jrn_def_id, p_id); - - --- --- Name: jrn_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn - ADD CONSTRAINT jrn_pkey PRIMARY KEY (jr_id, jr_def_id); - - --- --- Name: jrn_rapt_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_rapt - ADD CONSTRAINT jrn_rapt_pkey PRIMARY KEY (jra_id); - - --- --- Name: jrn_type_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_type - ADD CONSTRAINT jrn_type_pkey PRIMARY KEY (jrn_type_id); - - --- --- Name: jrnx_note_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn_note - ADD CONSTRAINT jrnx_note_pkey PRIMARY KEY (n_id); - - --- --- Name: jrnx_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrnx - ADD CONSTRAINT jrnx_pkey PRIMARY KEY (j_id); - - --- --- Name: letter_cred_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY letter_cred - ADD CONSTRAINT letter_cred_pk PRIMARY KEY (lc_id); - - --- --- Name: letter_deb_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY letter_deb - ADD CONSTRAINT letter_deb_pk PRIMARY KEY (ld_id); - - --- --- Name: menu_ref_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY menu_ref - ADD CONSTRAINT menu_ref_pkey PRIMARY KEY (me_code); - - --- --- Name: mod_payment_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_pkey PRIMARY KEY (mp_id); - - --- --- Name: op_def_op_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY op_predef - ADD CONSTRAINT op_def_op_name_key UNIQUE (od_name, jrn_def_id); - - --- --- Name: op_def_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY op_predef - ADD CONSTRAINT op_def_pkey PRIMARY KEY (od_id); - - --- --- Name: op_predef_detail_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY op_predef_detail - ADD CONSTRAINT op_predef_detail_pkey PRIMARY KEY (opd_id); - - --- --- Name: parameter_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY parameter - ADD CONSTRAINT parameter_pkey PRIMARY KEY (pr_id); - - --- --- Name: parm_code_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY parm_code - ADD CONSTRAINT parm_code_pkey PRIMARY KEY (p_code); - - --- --- Name: parm_money_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY parm_money - ADD CONSTRAINT parm_money_pkey PRIMARY KEY (pm_code); - - --- --- Name: parm_periode_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY parm_periode - ADD CONSTRAINT parm_periode_pkey PRIMARY KEY (p_id); - - --- --- Name: parm_poste_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY parm_poste - ADD CONSTRAINT parm_poste_pkey PRIMARY KEY (p_value); - - --- --- Name: pk_extension; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY extension - ADD CONSTRAINT pk_extension PRIMARY KEY (ex_id); - - --- --- Name: pk_ga_id; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY groupe_analytique - ADD CONSTRAINT pk_ga_id PRIMARY KEY (ga_id); - - --- --- Name: pk_jnt_fic_attr; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jnt_fic_attr - ADD CONSTRAINT pk_jnt_fic_attr PRIMARY KEY (jnt_id); - - --- --- Name: pk_user_local_pref; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY user_local_pref - ADD CONSTRAINT pk_user_local_pref PRIMARY KEY (user_id, parameter_type); - - --- --- Name: plan_analytique_pa_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY plan_analytique - ADD CONSTRAINT plan_analytique_pa_name_key UNIQUE (pa_name); - - --- --- Name: plan_analytique_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY plan_analytique - ADD CONSTRAINT plan_analytique_pkey PRIMARY KEY (pa_id); - - --- --- Name: poste_analytique_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY poste_analytique - ADD CONSTRAINT poste_analytique_pkey PRIMARY KEY (po_id); - - --- --- Name: profile_menu_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY profile_menu - ADD CONSTRAINT profile_menu_pkey PRIMARY KEY (pm_id); - - --- --- Name: profile_menu_type_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY profile_menu_type - ADD CONSTRAINT profile_menu_type_pkey PRIMARY KEY (pm_type); - - --- --- Name: profile_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY profile - ADD CONSTRAINT profile_pkey PRIMARY KEY (p_id); - - --- --- Name: profile_user_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY profile_user - ADD CONSTRAINT profile_user_pkey PRIMARY KEY (pu_id); - - --- --- Name: profile_user_user_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY profile_user - ADD CONSTRAINT profile_user_user_name_key UNIQUE (user_name, p_id); - - --- --- Name: qp_id_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT qp_id_pk PRIMARY KEY (qp_id); - - --- --- Name: qs_id_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY quant_sold - ADD CONSTRAINT qs_id_pk PRIMARY KEY (qs_id); - - --- --- Name: quant_fin_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY quant_fin - ADD CONSTRAINT quant_fin_pk PRIMARY KEY (qf_id); - - --- --- Name: stock_goods_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY stock_goods - ADD CONSTRAINT stock_goods_pkey PRIMARY KEY (sg_id); - - --- --- Name: tmp_pcmn_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY tmp_pcmn - ADD CONSTRAINT tmp_pcmn_pkey PRIMARY KEY (pcm_val); - - --- --- Name: todo_list_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY todo_list - ADD CONSTRAINT todo_list_pkey PRIMARY KEY (tl_id); - - --- --- Name: tva_id_pk; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY tva_rate - ADD CONSTRAINT tva_id_pk PRIMARY KEY (tva_id); - - --- --- Name: user_sec_act_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY user_sec_act - ADD CONSTRAINT user_sec_act_pkey PRIMARY KEY (ua_id); - - --- --- Name: user_sec_extension_ex_id_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY user_sec_extension - ADD CONSTRAINT user_sec_extension_ex_id_key UNIQUE (ex_id, use_login); - - --- --- Name: user_sec_extension_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY user_sec_extension - ADD CONSTRAINT user_sec_extension_pkey PRIMARY KEY (use_id); - - --- --- Name: user_sec_jrn_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY user_sec_jrn - ADD CONSTRAINT user_sec_jrn_pkey PRIMARY KEY (uj_id); - - --- --- Name: ux_internal; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jrn - ADD CONSTRAINT ux_internal UNIQUE (jr_internal); - - --- --- Name: fd_id_ad_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX fd_id_ad_id_x ON jnt_fic_attr USING btree (fd_id, ad_id); - - --- --- Name: fiche_detail_f_id_ad_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX fiche_detail_f_id_ad_id ON fiche_detail USING btree (f_id, ad_id); - - --- --- Name: fk_stock_goods_f_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fk_stock_goods_f_id ON stock_goods USING btree (f_id); - - --- --- Name: fk_stock_goods_j_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fk_stock_goods_j_id ON stock_goods USING btree (j_id); - - --- --- Name: fki_f_end_date; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fki_f_end_date ON forecast USING btree (f_end_date); - - --- --- Name: fki_f_start_date; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fki_f_start_date ON forecast USING btree (f_start_date); - - --- --- Name: fki_jrnx_f_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fki_jrnx_f_id ON jrnx USING btree (f_id); - - --- --- Name: fki_profile_menu_me_code; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fki_profile_menu_me_code ON profile_menu USING btree (me_code); - - --- --- Name: fki_profile_menu_profile; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fki_profile_menu_profile ON profile_menu USING btree (p_id); - - --- --- Name: fki_profile_menu_type_fkey; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fki_profile_menu_type_fkey ON profile_menu USING btree (p_type_display); - - --- --- Name: idx_qs_internal; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX idx_qs_internal ON quant_sold USING btree (qs_internal); - - --- --- Name: jnt_fic_att_value_fd_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX jnt_fic_att_value_fd_id_idx ON fiche_detail USING btree (f_id); - - --- --- Name: jnt_fic_attr_fd_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX jnt_fic_attr_fd_id_idx ON jnt_fic_attr USING btree (fd_id); - - --- --- Name: k_ag_ref; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX k_ag_ref ON action_gestion USING btree (ag_ref); - - --- --- Name: qcode_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX qcode_idx ON fiche_detail USING btree (ad_value) WHERE (ad_id = 23); - - --- --- Name: qf_jr_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX qf_jr_id ON quant_fin USING btree (jr_id); - - --- --- Name: qp_j_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX qp_j_id ON quant_purchase USING btree (j_id); - - --- --- Name: qs_j_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX qs_j_id ON quant_sold USING btree (j_id); - - --- --- Name: uj_login_uj_jrn_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX uj_login_uj_jrn_id ON user_sec_jrn USING btree (uj_login, uj_jrn_id); - - --- --- Name: ux_po_name; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX ux_po_name ON poste_analytique USING btree (po_name); - - --- --- Name: x_jrn_jr_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX x_jrn_jr_id ON jrn USING btree (jr_id); - - --- --- Name: x_mt; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX x_mt ON jrn USING btree (jr_mt); - - --- --- Name: x_periode; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX x_periode ON parm_periode USING btree (p_start, p_end); - - --- --- Name: x_poste; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX x_poste ON jrnx USING btree (j_poste); - - --- --- Name: action_gestion_t_insert_update; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER action_gestion_t_insert_update - BEFORE INSERT OR UPDATE ON action_gestion - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.action_gestion_ins_upd(); - - --- --- Name: TRIGGER action_gestion_t_insert_update ON action_gestion; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TRIGGER action_gestion_t_insert_update ON action_gestion IS 'Truncate the column ag_title to 70 char'; - - --- --- Name: document_modele_validate; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER document_modele_validate - BEFORE INSERT OR UPDATE ON document_modele - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.t_document_modele_validate(); - - --- --- Name: document_validate; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER document_validate - BEFORE INSERT OR UPDATE ON document - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.t_document_validate(); - - --- --- Name: fiche_def_ins_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER fiche_def_ins_upd - BEFORE INSERT OR UPDATE ON fiche_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.fiche_def_ins_upd(); - - --- --- Name: info_def_ins_upd_t; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER info_def_ins_upd_t - BEFORE INSERT OR UPDATE ON info_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.info_def_ins_upd(); - - --- --- Name: quant_sold_ins_upd_tr; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER quant_sold_ins_upd_tr - AFTER INSERT OR UPDATE ON quant_purchase - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.quant_purchase_ins_upd(); - - --- --- Name: quant_sold_ins_upd_tr; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER quant_sold_ins_upd_tr - AFTER INSERT OR UPDATE ON quant_sold - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.quant_sold_ins_upd(); - - --- --- Name: remove_action_gestion; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER remove_action_gestion - AFTER DELETE ON fiche - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.card_after_delete(); - - --- --- Name: t_check_balance; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_check_balance - AFTER INSERT OR UPDATE ON jrn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.proc_check_balance(); - - --- --- Name: t_check_jrn; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_check_jrn - BEFORE INSERT OR DELETE OR UPDATE ON jrn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_check_periode(); - - --- --- Name: t_group_analytic_del; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_group_analytic_del - BEFORE DELETE ON groupe_analytique - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.group_analytique_del(); - - --- --- Name: t_group_analytic_ins_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_group_analytic_ins_upd - BEFORE INSERT OR UPDATE ON groupe_analytique - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.group_analytic_ins_upd(); - - --- --- Name: t_jnt_fic_attr_ins; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jnt_fic_attr_ins - AFTER INSERT ON jnt_fic_attr - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jnt_fic_attr_ins(); - - --- --- Name: t_jrn_def_add_periode; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jrn_def_add_periode - AFTER INSERT ON jrn_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_def_add(); - - --- --- Name: t_jrn_def_delete; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jrn_def_delete - BEFORE DELETE ON jrn_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_def_delete(); - - --- --- Name: t_jrn_del; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jrn_del - BEFORE DELETE ON jrn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_del(); - - --- --- Name: t_jrnx_del; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jrnx_del - BEFORE DELETE ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrnx_del(); - - --- --- Name: t_jrnx_ins; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jrnx_ins - BEFORE INSERT ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrnx_ins(); - - --- --- Name: TRIGGER t_jrnx_ins ON jrnx; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TRIGGER t_jrnx_ins ON jrnx IS 'check that the qcode used by the card exists and format it : uppercase and trim the space'; - - --- --- Name: t_jrnx_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_jrnx_upd - BEFORE UPDATE ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrnx_ins(); - - --- --- Name: t_letter_del; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_letter_del - AFTER DELETE ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrnx_letter_del(); - - --- --- Name: TRIGGER t_letter_del ON jrnx; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TRIGGER t_letter_del ON jrnx IS 'Delete the lettering for this row'; - - --- --- Name: t_plan_analytique_ins_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_plan_analytique_ins_upd - BEFORE INSERT OR UPDATE ON plan_analytique - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.plan_analytic_ins_upd(); - - --- --- Name: t_poste_analytique_ins_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_poste_analytique_ins_upd - BEFORE INSERT OR UPDATE ON poste_analytique - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.poste_analytique_ins_upd(); - - --- --- Name: t_tmp_pcm_alphanum_ins_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_tmp_pcm_alphanum_ins_upd - BEFORE INSERT OR UPDATE ON tmp_pcmn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.tmp_pcmn_alphanum_ins_upd(); - - --- --- Name: t_tmp_pcmn_ins; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER t_tmp_pcmn_ins - BEFORE INSERT ON tmp_pcmn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.tmp_pcmn_ins(); - - --- --- Name: trg_extension_ins_upd; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER trg_extension_ins_upd - BEFORE INSERT OR UPDATE ON extension - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.extension_ins_upd(); - - --- --- Name: trigger_document_type_i; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER trigger_document_type_i - AFTER INSERT ON document_type - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.t_document_type_insert(); - - --- --- Name: trigger_jrn_def_sequence_i; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER trigger_jrn_def_sequence_i - AFTER INSERT ON jrn_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.t_jrn_def_sequence(); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY centralized - ADD CONSTRAINT "$1" FOREIGN KEY (c_jrn_def) REFERENCES jrn_def(jrn_def_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY user_sec_act - ADD CONSTRAINT "$1" FOREIGN KEY (ua_act_id) REFERENCES action(ac_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY fiche_def - ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES fiche_def_ref(frd_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY attr_min - ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES fiche_def_ref(frd_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY fiche - ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES fiche_def(fd_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY fiche_detail - ADD CONSTRAINT "$1" FOREIGN KEY (f_id) REFERENCES fiche(f_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jnt_fic_attr - ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES fiche_def(fd_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn - ADD CONSTRAINT "$1" FOREIGN KEY (jr_def_id) REFERENCES jrn_def(jrn_def_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_action - ADD CONSTRAINT "$1" FOREIGN KEY (ja_jrn_type) REFERENCES jrn_type(jrn_type_id); - - --- --- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_def - ADD CONSTRAINT "$1" FOREIGN KEY (jrn_def_type) REFERENCES jrn_type(jrn_type_id); - - --- --- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrnx - ADD CONSTRAINT "$2" FOREIGN KEY (j_jrn_def) REFERENCES jrn_def(jrn_def_id); - - --- --- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY attr_min - ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id); - - --- --- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY fiche_detail - ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id); - - --- --- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jnt_fic_attr - ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id); - - --- --- Name: action_detail_ag_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY action_detail - ADD CONSTRAINT action_detail_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: card; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast_item - ADD CONSTRAINT card FOREIGN KEY (fi_card) REFERENCES fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_card; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_fin - ADD CONSTRAINT fk_card FOREIGN KEY (qf_bank) REFERENCES fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_card_other; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_fin - ADD CONSTRAINT fk_card_other FOREIGN KEY (qf_other) REFERENCES fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_forecast; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast_item - ADD CONSTRAINT fk_forecast FOREIGN KEY (fc_id) REFERENCES forecast_cat(fc_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_info_def; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_info - ADD CONSTRAINT fk_info_def FOREIGN KEY (id_type) REFERENCES info_def(id_type) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_jrn; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_info - ADD CONSTRAINT fk_jrn FOREIGN KEY (jr_id) REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_jrn; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_fin - ADD CONSTRAINT fk_jrn FOREIGN KEY (jr_id) REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_pa_id; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY groupe_analytique - ADD CONSTRAINT fk_pa_id FOREIGN KEY (pa_id) REFERENCES plan_analytique(pa_id) ON DELETE CASCADE; - - --- --- Name: fk_pcmn_val; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrnx - ADD CONSTRAINT fk_pcmn_val FOREIGN KEY (j_poste) REFERENCES tmp_pcmn(pcm_val); - - --- --- Name: fk_pcmn_val; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY centralized - ADD CONSTRAINT fk_pcmn_val FOREIGN KEY (c_poste) REFERENCES tmp_pcmn(pcm_val); - - --- --- Name: fk_stock_good_f_id; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY stock_goods - ADD CONSTRAINT fk_stock_good_f_id FOREIGN KEY (f_id) REFERENCES fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: forecast_child; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast_cat - ADD CONSTRAINT forecast_child FOREIGN KEY (f_id) REFERENCES forecast(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: forecast_f_end_date_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast - ADD CONSTRAINT forecast_f_end_date_fkey FOREIGN KEY (f_end_date) REFERENCES parm_periode(p_id) ON UPDATE SET NULL ON DELETE SET NULL; - - --- --- Name: forecast_f_start_date_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY forecast - ADD CONSTRAINT forecast_f_start_date_fkey FOREIGN KEY (f_start_date) REFERENCES parm_periode(p_id) ON UPDATE SET NULL ON DELETE SET NULL; - - --- --- Name: formdef_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY form - ADD CONSTRAINT formdef_fk FOREIGN KEY (fo_fr_id) REFERENCES formdef(fr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jnt_cred_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY letter_cred - ADD CONSTRAINT jnt_cred_fk FOREIGN KEY (jl_id) REFERENCES jnt_letter(jl_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jnt_deb_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY letter_deb - ADD CONSTRAINT jnt_deb_fk FOREIGN KEY (jl_id) REFERENCES jnt_letter(jl_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jrn_def_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY op_predef - ADD CONSTRAINT jrn_def_id_fk FOREIGN KEY (jrn_def_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jrn_per_jrn_def_id; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_periode - ADD CONSTRAINT jrn_per_jrn_def_id FOREIGN KEY (jrn_def_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jrn_periode_p_id; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_periode - ADD CONSTRAINT jrn_periode_p_id FOREIGN KEY (p_id) REFERENCES parm_periode(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jrn_rapt_jr_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_rapt - ADD CONSTRAINT jrn_rapt_jr_id_fkey FOREIGN KEY (jr_id) REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jrn_rapt_jra_concerned_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_rapt - ADD CONSTRAINT jrn_rapt_jra_concerned_fkey FOREIGN KEY (jra_concerned) REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jrnx_f_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrnx - ADD CONSTRAINT jrnx_f_id_fkey FOREIGN KEY (f_id) REFERENCES fiche(f_id) ON UPDATE CASCADE; - - --- --- Name: jrnx_note_j_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jrn_note - ADD CONSTRAINT jrnx_note_j_id_fkey FOREIGN KEY (jr_id) REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: letter_cred_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY letter_cred - ADD CONSTRAINT letter_cred_fk FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: letter_deb_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY letter_deb - ADD CONSTRAINT letter_deb_fk FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: md_type; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY document_modele - ADD CONSTRAINT md_type FOREIGN KEY (md_type) REFERENCES document_type(dt_id); - - --- --- Name: mod_payment_jrn_def_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_jrn_def_id_fk FOREIGN KEY (jrn_def_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: mod_payment_mp_fd_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_mp_fd_id_fkey FOREIGN KEY (mp_fd_id) REFERENCES fiche_def(fd_id); - - --- --- Name: mod_payment_mp_jrn_def_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_mp_jrn_def_id_fkey FOREIGN KEY (mp_jrn_def_id) REFERENCES jrn_def(jrn_def_id); - - --- --- Name: operation_analytique_j_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY operation_analytique - ADD CONSTRAINT operation_analytique_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: operation_analytique_po_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY operation_analytique - ADD CONSTRAINT operation_analytique_po_id_fkey FOREIGN KEY (po_id) REFERENCES poste_analytique(po_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: poste_analytique_pa_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY poste_analytique - ADD CONSTRAINT poste_analytique_pa_id_fkey FOREIGN KEY (pa_id) REFERENCES plan_analytique(pa_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: profile_menu_me_code_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile_menu - ADD CONSTRAINT profile_menu_me_code_fkey FOREIGN KEY (me_code) REFERENCES menu_ref(me_code) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: profile_menu_p_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile_menu - ADD CONSTRAINT profile_menu_p_id_fkey FOREIGN KEY (p_id) REFERENCES profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: profile_menu_type_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile_menu - ADD CONSTRAINT profile_menu_type_fkey FOREIGN KEY (p_type_display) REFERENCES profile_menu_type(pm_type); - - --- --- Name: profile_user_p_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY profile_user - ADD CONSTRAINT profile_user_p_id_fkey FOREIGN KEY (p_id) REFERENCES profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: qp_vat_code_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT qp_vat_code_fk FOREIGN KEY (qp_vat_code) REFERENCES tva_rate(tva_id); - - --- --- Name: qs_vat_code_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_sold - ADD CONSTRAINT qs_vat_code_fk FOREIGN KEY (qs_vat_code) REFERENCES tva_rate(tva_id); - - --- --- Name: quant_purchase_j_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT quant_purchase_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: quant_purchase_qp_internal_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT quant_purchase_qp_internal_fkey FOREIGN KEY (qp_internal) REFERENCES jrn(jr_internal) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: quant_sold_j_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_sold - ADD CONSTRAINT quant_sold_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: quant_sold_qs_internal_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY quant_sold - ADD CONSTRAINT quant_sold_qs_internal_fkey FOREIGN KEY (qs_internal) REFERENCES jrn(jr_internal) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: stock_goods_j_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY stock_goods - ADD CONSTRAINT stock_goods_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: uj_priv_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY user_sec_jrn - ADD CONSTRAINT uj_priv_id_fkey FOREIGN KEY (uj_jrn_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- PostgreSQL database dump complete --- -commit; diff --git a/sources/contrib/mono-dossier/mono.sql b/sources/contrib/mono-dossier/mono.sql deleted file mode 100644 index fe4fef0..0000000 --- a/sources/contrib/mono-dossier/mono.sql +++ /dev/null @@ -1,538 +0,0 @@ --- --- PostgreSQL database dump --- - -SET statement_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = off; -SET check_function_bodies = false; -SET client_min_messages = warning; -SET escape_string_warning = off; - --- --- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: - --- - -SET search_path = public, pg_catalog; - --- --- Name: limit_user(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION limit_user() RETURNS trigger - LANGUAGE plpgsql - AS $$ - -begin -NEW.ac_user := substring(NEW.ac_user from 1 for 80); -return NEW; -end; $$; - - -SET default_tablespace = ''; - -SET default_with_oids = false; - --- --- Name: ac_dossier; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE ac_dossier ( - dos_id integer DEFAULT nextval(('dossier_id'::text)::regclass) NOT NULL, - dos_name text NOT NULL, - dos_description text, - dos_jnt_user integer DEFAULT 0 -); - - --- --- Name: ac_users; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE ac_users ( - use_id integer DEFAULT nextval(('users_id'::text)::regclass) NOT NULL, - use_first_name text, - use_name text, - use_login text NOT NULL, - use_active integer DEFAULT 0, - use_pass text, - use_admin integer DEFAULT 0, - CONSTRAINT ac_users_use_active_check CHECK (((use_active = 0) OR (use_active = 1))) -); - - --- --- Name: audit_connect; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE audit_connect ( - ac_id integer NOT NULL, - ac_user text, - ac_date timestamp without time zone DEFAULT now(), - ac_ip text, - ac_state text, - ac_module text, - ac_url text, - CONSTRAINT valid_state CHECK ((((ac_state = 'FAIL'::text) OR (ac_state = 'SUCCESS'::text)) OR (ac_state = 'AUDIT'::text))) -); - - --- --- Name: audit_connect_ac_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE audit_connect_ac_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: audit_connect_ac_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE audit_connect_ac_id_seq OWNED BY audit_connect.ac_id; - - --- --- Name: audit_connect_ac_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('audit_connect_ac_id_seq', 287, true); - - --- --- Name: dossier_id; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE dossier_id - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: dossier_id; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('dossier_id', 29, true); - - --- --- Name: jnt_use_dos; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE jnt_use_dos ( - jnt_id integer DEFAULT nextval(('seq_jnt_use_dos'::text)::regclass) NOT NULL, - use_id integer NOT NULL, - dos_id integer NOT NULL -); - - --- --- Name: modeledef; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE modeledef ( - mod_id integer DEFAULT nextval(('s_modid'::text)::regclass) NOT NULL, - mod_name text NOT NULL, - mod_desc text -); - - --- --- Name: priv_user; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE priv_user ( - priv_id integer DEFAULT nextval(('seq_priv_user'::text)::regclass) NOT NULL, - priv_jnt integer NOT NULL, - priv_priv text -); - - --- --- Name: s_modid; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE s_modid - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: s_modid; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_modid', 8, true); - - --- --- Name: seq_jnt_use_dos; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_jnt_use_dos - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_jnt_use_dos; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_jnt_use_dos', 33, true); - - --- --- Name: seq_priv_user; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE seq_priv_user - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: seq_priv_user; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_priv_user', 16, true); - - --- --- Name: theme; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE theme ( - the_name text NOT NULL, - the_filestyle text, - the_filebutton text -); - - --- --- Name: user_global_pref; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE user_global_pref ( - user_id text NOT NULL, - parameter_type text NOT NULL, - parameter_value text -); - - --- --- Name: TABLE user_global_pref; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON TABLE user_global_pref IS 'The user''s global parameter '; - - --- --- Name: COLUMN user_global_pref.user_id; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN user_global_pref.user_id IS 'user''s login '; - - --- --- Name: COLUMN user_global_pref.parameter_type; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN user_global_pref.parameter_type IS 'the type of parameter '; - - --- --- Name: COLUMN user_global_pref.parameter_value; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN user_global_pref.parameter_value IS 'the value of parameter '; - - --- --- Name: users_id; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE users_id - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: users_id; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('users_id', 5, true); - - --- --- Name: version; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE repo_version ( - val integer NOT NULL -); - - --- --- Name: ac_id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY audit_connect ALTER COLUMN ac_id SET DEFAULT nextval('audit_connect_ac_id_seq'::regclass); - - --- --- Data for Name: ac_dossier; Type: TABLE DATA; Schema: public; Owner: - --- - -COPY ac_dossier (dos_id, dos_name, dos_description, dos_jnt_user) FROM stdin; -25 Dossier Dossier par défaut 0 -\. - - --- --- Data for Name: ac_users; Type: TABLE DATA; Schema: public; Owner: - --- - -COPY ac_users (use_id, use_first_name, use_name, use_login, use_active, use_pass, use_admin) FROM stdin; -1 \N \N phpcompta 1 b1cc88e1907cde80cb2595fa793b3da9 1 -\. - - --- --- Data for Name: audit_connect; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: jnt_use_dos; Type: TABLE DATA; Schema: public; Owner: - --- - -COPY jnt_use_dos (jnt_id, use_id, dos_id) FROM stdin; -29 1 25 -\. - - --- --- Data for Name: modeledef; Type: TABLE DATA; Schema: public; Owner: - --- - -COPY modeledef (mod_id, mod_name, mod_desc) FROM stdin; -1 (BE) Basique Comptabilité Belge, à adapter -2 (FR) Basique Comptabilité Française, à adapter -\. - - --- --- Data for Name: priv_user; Type: TABLE DATA; Schema: public; Owner: - --- - -COPY priv_user (priv_id, priv_jnt, priv_priv) FROM stdin; -\. - - --- --- Data for Name: theme; Type: TABLE DATA; Schema: public; Owner: - --- - -COPY theme (the_name, the_filestyle, the_filebutton) FROM stdin; -classic style.css \N -Light style-light.css \N -Colored style-color.css \N -EPad style-epad.css \N -\. - - --- --- Data for Name: user_global_pref; Type: TABLE DATA; Schema: public; Owner: - --- - -COPY user_global_pref (user_id, parameter_type, parameter_value) FROM stdin; -phpcompta TOPMENU TEXT -phpcompta PAGESIZE 50 -phpcompta THEME classic -phpcompta LANG fr_FR.utf8 -\. - - --- --- Data for Name: version; Type: TABLE DATA; Schema: public; Owner: - --- - -COPY repo_version (val) FROM stdin; -14 -\. - - --- --- Name: ac_dossier_dos_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY ac_dossier - ADD CONSTRAINT ac_dossier_dos_name_key UNIQUE (dos_name); - - --- --- Name: ac_dossier_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY ac_dossier - ADD CONSTRAINT ac_dossier_pkey PRIMARY KEY (dos_id); - - --- --- Name: ac_users_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY ac_users - ADD CONSTRAINT ac_users_pkey PRIMARY KEY (use_id); - - --- --- Name: ac_users_use_login_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY ac_users - ADD CONSTRAINT ac_users_use_login_key UNIQUE (use_login); - - --- --- Name: audit_connect_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY audit_connect - ADD CONSTRAINT audit_connect_pkey PRIMARY KEY (ac_id); - - --- --- Name: jnt_use_dos_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY jnt_use_dos - ADD CONSTRAINT jnt_use_dos_pkey PRIMARY KEY (jnt_id); - - --- --- Name: modeledef_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY modeledef - ADD CONSTRAINT modeledef_pkey PRIMARY KEY (mod_id); - - --- --- Name: pk_user_global_pref; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY user_global_pref - ADD CONSTRAINT pk_user_global_pref PRIMARY KEY (user_id, parameter_type); - - --- --- Name: priv_user_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY priv_user - ADD CONSTRAINT priv_user_pkey PRIMARY KEY (priv_id); - - --- --- Name: version_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY version - ADD CONSTRAINT version_pkey PRIMARY KEY (val); - - --- --- Name: audit_connect_ac_user; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX audit_connect_ac_user ON audit_connect USING btree (ac_user); - - --- --- Name: fk_jnt_dos_id; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fk_jnt_dos_id ON jnt_use_dos USING btree (dos_id); - - --- --- Name: fk_jnt_use_dos; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE INDEX fk_jnt_use_dos ON jnt_use_dos USING btree (use_id); - - --- --- Name: limit_user_trg; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER limit_user_trg - BEFORE INSERT OR UPDATE ON audit_connect - FOR EACH ROW - EXECUTE PROCEDURE limit_user(); - - --- --- Name: fk_user_id; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY user_global_pref - ADD CONSTRAINT fk_user_id FOREIGN KEY (user_id) REFERENCES ac_users(use_login) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jnt_use_dos_dos_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jnt_use_dos - ADD CONSTRAINT jnt_use_dos_dos_id_fkey FOREIGN KEY (dos_id) REFERENCES ac_dossier(dos_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: jnt_use_dos_use_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY jnt_use_dos - ADD CONSTRAINT jnt_use_dos_use_id_fkey FOREIGN KEY (use_id) REFERENCES ac_users(use_id); - - --- --- Name: priv_user_priv_jnt_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY priv_user - ADD CONSTRAINT priv_user_priv_jnt_fkey FOREIGN KEY (priv_jnt) REFERENCES jnt_use_dos(jnt_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- PostgreSQL database dump complete --- - -begin; -update theme set the_name='Mandarine' ,the_filestyle='style-mandarine.css' where the_name='Colored'; -update theme set the_name='Mobile' ,the_filestyle='style-mobile.css' where the_name='EPad'; -update theme set the_name = 'Classique' where the_name='classic'; -update user_global_pref set parameter_value='Classique' where parameter_type='THEME'; -update theme set the_filestyle='style-classic.css' where the_filestyle='style.css'; -update repo_version set val=15; -commit; diff --git a/sources/contrib/rapport/README b/sources/contrib/rapport/README deleted file mode 100644 index ab1615d..0000000 --- a/sources/contrib/rapport/README +++ /dev/null @@ -1,8 +0,0 @@ -En règle générale, il suffit d'executer le script -sql dans la base de données où le rapport doit être -ajouté. - -IMPORTANT: le numéro (fr_id) du rapport est réservé et -unique - -exemple fr_id=3000000 est réservé au déclaration TVA belge diff --git a/sources/contrib/rapport/tva_decla.sql b/sources/contrib/rapport/tva_decla.sql deleted file mode 100644 index 2b75bdc..0000000 --- a/sources/contrib/rapport/tva_decla.sql +++ /dev/null @@ -1,16 +0,0 @@ --- --- PostgreSQL database dump --- - -SET client_encoding = 'LATIN1'; - -SET search_path = public, pg_catalog; - -delete from form where fo_fr_id=3000000; -delete from formdef where fr_id=3000000; - -INSERT INTO formdef (fr_id, fr_label) VALUES (3000000, 'TVA déclaration'); --- --- Data for TOC entry 2 (OID 315304) --- Name: formdef; Type: TABLE DATA; Schema: public; Owner: dany --- diff --git a/sources/contrib/rapport/tva_decla_fr_BE.sql b/sources/contrib/rapport/tva_decla_fr_BE.sql deleted file mode 100644 index 7dc3467..0000000 --- a/sources/contrib/rapport/tva_decla_fr_BE.sql +++ /dev/null @@ -1,28 +0,0 @@ --- --- PostgreSQL database dump --- - -SET client_encoding = 'LATIN1'; - -SET search_path = public, pg_catalog; - -delete from form where fo_fr_id=3000000; -delete from formdef where fr_id=3000000; - -INSERT INTO formdef (fr_id, fr_label) VALUES (3000000, 'TVA déclaration'); --- --- Data for TOC entry 2 (OID 315304) --- Name: formdef; Type: TABLE DATA; Schema: public; Owner: dany --- --- - -INSERT INTO form VALUES (3000398, 3000000, 1, 'Prestation [ case 03 ]', '[700%]-[7000005]'); -INSERT INTO form VALUES (3000399, 3000000, 2, 'Prestation intra [ case 47 ]', '[7000005]'); -INSERT INTO form VALUES (3000400, 3000000, 3, 'Tva due [case 54]', '[4513]+[4512]+[4511] FROM=01.2005'); -INSERT INTO form VALUES (3000401, 3000000, 4, 'Marchandises, matière première et auxiliaire [case 81 ]', '[60%]'); -INSERT INTO form VALUES (3000402, 3000000, 7, 'Service et bien divers [case 82]', '[61%]'); -INSERT INTO form VALUES (3000403, 3000000, 8, 'bien d''invest [ case 83 ]', '[2400%]'); -INSERT INTO form VALUES (3000404, 3000000, 9, 'TVA déductible [ case 59 ]', 'abs([4117]-[411%])'); -INSERT INTO form VALUES (3000405, 3000000, 8, 'TVA non ded -> voiture', '[610022]*0.21/2'); -INSERT INTO form VALUES (3000406, 3000000, 9, 'Acompte TVA', '[4117]'); - diff --git a/sources/contrib/sql-utility/get-sql.sh b/sources/contrib/sql-utility/get-sql.sh deleted file mode 100755 index b04f42f..0000000 --- a/sources/contrib/sql-utility/get-sql.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -# -# -# Author Dany De Bontridder -# Under the GPL 2 minimun -# -Help () { - cat <<_eof -$0 [option] database - -f function only - -t table only -_eof -} - - -if [ $# -lt 2 ]; then - Help -fi - -case "$1" in - -f) - pg_dump -s "$2"|awk '/CREATE FUNCTION/,/LANGUAGE/ { print $0;}' - ;; - -t) - pg_dump -s "$2"| awk '/CREATE TABLE/,/;/ { print $0;}' - pg_dump -s "$2"| awk '/ALTER TABLE/,/;/ { print $0;}' - ;; -esac diff --git a/sources/contrib/wiki-tools/transform.pl b/sources/contrib/wiki-tools/transform.pl deleted file mode 100755 index 8737f7a..0000000 --- a/sources/contrib/wiki-tools/transform.pl +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/perl -# -# -# -# -# -use strict; -my $block=0; -while (my $line=<>) { - $line=~s/\/!/ ; - $line=~s/\/!!/ ; - $line=~s/\/!!!/ ; - $line=~s/\/!!!!/ ; - $line=~s/\/!!!!!/ ; - $line=~s/<\/sect1>// ; - $line=~s/<\/sect>// ; - $line=~s/<\/sect2>// ; - $line=~s/<\/sect3>// ; - $line=~s/<\/sect4>// ; - $line=~s/

    //; - $line=~s/<\/p>//; - $line=~s///; - $line=~s/<\/itemize>//; - $line=~s/<\/item>//; - $line=~s/[1-9]\./#/; - $line=~s//\*/; - $line=~s//(:toc:) (:num:)/; - $line=~s///; - if ( $line =~ // ) { - $line=~s//[@/; - $block=1; - } - if ( $line =~ /<\/verb>/ ) { - $line=~s/<\/verb>/@]/; - $block=0; - } - $line=~s/

    //; - $line=~s/(.*)<\/title>/[++$1 ++]/; - $line=~s/<author>//; - $line=~s/<name>(.*)<\/name>/''$1''/; - $line=~s/<\/author>//; - $line=~s/<date>(.*)<\/date>/$1/; - $line=~s/<abstract>//; - $line=~s/<\/article>//; - $line=~s/<tscreen>//; - $line=~s/<\/tscreen>//; - print "$line"; -} diff --git a/sources/dev/README b/sources/dev/README deleted file mode 100644 index b666e0e..0000000 --- a/sources/dev/README +++ /dev/null @@ -1,2 +0,0 @@ -Tools for developpers only -Don't use them if you don't know their purpose diff --git a/sources/dev/compile_text.sh b/sources/dev/compile_text.sh deleted file mode 100755 index 2e22a45..0000000 --- a/sources/dev/compile_text.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -# Brief : compite the file .mo, -# It is used for the translation -# -# -# This file is a part of NOALYSS under GPL -# Author D. DE BONTRIDDER danydb@aevalys.eu -cd ../html/lang -echo "English" -cd en_US/LC_MESSAGES -msgfmt -c -v messages.po -echo "Dutch" -cd ../.. -cd nl_NL/LC_MESSAGES -msgfmt -c -v messages.po - diff --git a/sources/dev/compose_list.sh b/sources/dev/compose_list.sh deleted file mode 100755 index b337c2b..0000000 --- a/sources/dev/compose_list.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -# -# This file is a part of NOALYSS under GPL -# Author D. DE BONTRIDDER danydb@aevalys.eu - -cat <<EOF -This script create a list of all the function on only page, -you must first run doxygen and call this file from the phpcompta directory -EOF -DOC=doc/developper/html -cat $DOC/globals_func.html > $DOC/list_function.html -find $DOC/globals_func*.html | - xargs awk '/<h3>/,/\/ul/ { print $0; }' >> $DOC/list_function.html -cat $DOC/list_function.html > $DOC/globals_func.html -[ $? -eq 0 ]&&echo "********************** DONE ***************" diff --git a/sources/dev/create_changelog.sh b/sources/dev/create_changelog.sh deleted file mode 100644 index 6dbeaf0..0000000 --- a/sources/dev/create_changelog.sh +++ /dev/null @@ -1 +0,0 @@ -cd .. && svn2cl --break-before-msg --group-by-day -a -o Changelog diff --git a/sources/dev/extract_text.sh b/sources/dev/extract_text.sh deleted file mode 100644 index c9eef35..0000000 --- a/sources/dev/extract_text.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -# Brief : extract strings from the file, in order to update a -# po file. It is used for the translation -# -# -# This file is a part of NOALYSS under GPL -# Author D. DE BONTRIDDER danydb@aevalys.eu -echo "Extract" -cd .. -# CATALOG -xgettext -L PHP -j --from-code=UTF-8 -p html/lang/ html/*.php include/*.php include/template/*.php include/ext/*/*.php include/ext/*/include/*.php include/ext/*/include/template/*.php - -# For dutch -echo "Dutch" -msgmerge -U -s html/lang/nl_NL/LC_MESSAGES/messages.po html/lang/messages.po - -#For english -echo "English" -msgmerge -U -s html/lang/en_US/LC_MESSAGES/messages.po html/lang/messages.po - -#For new language -# export LOCAL=nl_NL -# msginit --locale=$LOCAL -i html/lang/messages.po -o html/lang/$LOCAL/LC_MESSAGES/messages.po diff --git a/sources/dev/get_database_item.sh b/sources/dev/get_database_item.sh deleted file mode 100755 index 618082f..0000000 --- a/sources/dev/get_database_item.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -export PGUSER=dany -export PGPASSWORD=dany -export PGHOST=localhost -export PGDATABASE=rel671mod1 -export PGPORT=5432 -( -echo "<?php " -psql -A -F" " -t -c "select '\$menu[]=_('''||replace(me_menu,'''',E'\\\\''')||''');' , '\$desc[]=_('''||replace(me_description,'''',E'\\\\''')||''');' from menu_ref ;" -echo "?>" ) > ../include/database.item.php -( -echo "<?php " -psql -A -F" " -t -c "select '\$attr_def[]=_('''||replace(ad_text,'''',E'\\\\''')||''');' from attr_def ;" -echo "?>" ) >> ../include/database.item.php -( -echo "<?php " -psql -A -F" " -t -c "select '\$document_type[]=_('''||replace(dt_value,'''',E'\\\\''')||''');' from document_type ;" -echo "?>" ) >> ../include/database.item.php -( -echo "<?php " -psql -A -F" " -t -c "select '\$action[]=_('''||replace(ac_description,'''',E'\\\\''')||''');' from action ;" -echo "?>" ) >> ../include/database.item.php -( -echo "<?php " -psql -A -F" " -t -c "select '\$mdp[]=_('''||replace(mp_lib,'''',E'\\\\''')||''');' from mod_payment ;" -echo "?>" ) >> ../include/database.item.php -( -echo "<?php " -psql -A -F" " -t -c "select '\$jrn_def_name[]=_('''||replace(jrn_def_name,'''',E'\\\\''')||''');' from jrn_def ;" -echo "?>" ) >> ../include/database.item.php -( -echo "<?php " -psql -A -F" " -t -c "select '\$jrn_def_description[]=_('''||replace(jrn_def_description,'''',E'\\\\''')||''');' from jrn_def ;" -echo "?>" ) >> ../include/database.item.php - -echo "File ../include/database.item.php is created" diff --git a/sources/dev/manage-code/create-file/create_config.py b/sources/dev/manage-code/create-file/create_config.py deleted file mode 100755 index 93789b3..0000000 --- a/sources/dev/manage-code/create-file/create_config.py +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/python -#-*- coding: utf-8 -*- -# -import psycopg2 -import psycopg2.extras -import getopt -import sys - -try: - opt,args=getopt.getopt(sys.argv[1:],'s:t:c:') - if len (opt) == 0 : - raise NameError ('option') - schema='public' - table='' - connexion_string='' - class_name="None" - for o,a in opt: - if o == '-s': - schema=a - elif o == '-t': - table=a - elif o == '-c': - connexion_string=a - - if table == '': - raise NameError('table') -except: - print "Utilisation "+sys.argv[0]+" -s nom_du_schema -t nom de la table + c connexion string" - print 'example -t jrnxc -c "dbname=xxx user=xx port=xx password=xxx"' - print """ - This utility create a file, this file can be given as input to the script - create_phpclass.py with the option -f - This will create the corresponding PHP File that you need to put in the include folder - """ - sys.exit(-1) - -cnx=psycopg2.connect (connexion_string) -curs=cnx.cursor(cursor_factory=psycopg2.extras.DictCursor) - -curs.execute(''' - SELECT - columns.column_name,columns.data_type,columns.column_default -FROM - information_schema.columns -WHERE - columns.table_schema=%s - and columns.table_name=%s -''',(schema,table)) -record=curs.fetchall() -file_name=table+"_struct.txt" -file=open(file_name,'w+') - -# class_name -world=table.split('_') -worlds=[] -for i in world: - worlds.append(i.capitalize()) - -class_name='_'.join(worlds) -class_name=class_name+"_SQL" - -file.write(class_name+"\n") -file.write(schema+"."+table+"\n") -record.reverse() -for l in record: - col_name,col_type,col_default=l - file.write ("%s\t|%s\t|%s\n"%(col_name,col_type,col_default)) - -file.close() -print "file %s has been created "%(file_name) -print "check that the first column is the primary key" diff --git a/sources/dev/manage-code/create-file/create_phpclass.py b/sources/dev/manage-code/create-file/create_phpclass.py deleted file mode 100755 index 3786aee..0000000 --- a/sources/dev/manage-code/create-file/create_phpclass.py +++ /dev/null @@ -1,190 +0,0 @@ -#!/usr/bin/python - - -# Command we have to replace -# @table@ by the table name -# @id@ by the primary key -# @class_name@ Name of the class (uppercase) -# @column_array@ fill the $this->name -# @column_type_array@ fill the $this->type -# read the file with the name -# first line = table name -# second line = pk - -import sys, getopt - -def help(): - print """ - option are -h for help - -f input file containing the structure - -n the PK is not serial - The input file contains : - first line class name : mother class separator : (optionnal) - second line table name - 3rd PK type - ... and after all the column names and column type (see create_file_table.sql) - see the file example - """ -def main(): - try: - opts,args=getopt.getopt(sys.argv[1:],'f:h',['file','help','pk-not-serial']) - except getopt.GetOptError, err: - print str(err) - help() - sys.exit(-1) - filein='' - for option,value in opts: - if option in ('-f','--file'): - filein=value - elif option in ('-h','--help'): - help() - sys.exit(-1) - elif option in ('-n','--pk-not-serial'): - nopk=True - if filein=='' : - help() - sys.exit(-2) - sParent="""<?php -/** - *@file - *@brief Manage the table @table@ - * - * -Example -@code - -@endcode - */ -require_once('class_noalyss_sql.php'); - - -/** - *@brief Manage the table @table@ -*/ -class @class_name@ extends Noalyss_SQL -{ - @vars@ - /* example private $variable=array("easy_name"=>column_name,"email"=>"column_name_email","val3"=>0); */ - function __construct($p_id=-1) - { - - - $this->table = "@table@"; - $this->primary_key = "@id@"; - - $this->name = array( - @column_array@ - ); - - $this->type = array( - @column_type_array@ - ); - - $this->default = array( - "@id@" => "auto" - ); - global $cn; - $this->date_format = "DD.MM.YYYY"; - parent::__construct($cn, $p_id); - } - /** - *@brief Add here your own code: verify is always call BEFORE insert or update - */ - public function verify() { - parent::verify(); - @set_tech_user@ - } - -} - -?> -""" - - - # read the file - try : - file=open(filein,'r') - line=file.readlines() - class_name=line[0].strip() - - - table=line[1].strip() - (id,type_id,default)=line[2].strip().split('|') - id=id.strip() - fileoutput=open("class_"+class_name.lower()+".php",'w+') - print "Create the file "+fileoutput.name - - sep='' - i=1 - set_tech_user="" - for e in line[3:]: - if e.find('|') < 0 : - continue - col_name=(e.split('|'))[0].strip() - col_type=(e.split('|'))[1].strip() - if col_name == 'tech_date': - print "*"*80 - print ('Warning : tech_date est un champs technique a utiliser avec un trigger') - print "*"*80 - - if col_name == 'tech_user' : - set_tech_user=" $this->tech_user=$_SESSION['g_user']; " - i+=1 - sep=',' - column_array='' - column_type_array='' - sep='' - var='//------ Attributes-----'+"\n" - for e in line [2:]: - if e.find('|') < 0 : - continue - col_name=(e.split('|'))[0].strip() - col_type=(e.split('|'))[1].strip() - if col_type == 'integer' or col_type == 'numeric' or col_type=='bigint': - col_type="numeric" - elif col_type=='text' or col_type=='character varying' or col_type=='character': - col_type="text" - elif col_type=='oid': - col_type='oid' - elif col_type=='date' or col_type=='timestamp without timezone' or col_type=='timestamp with timezone': - col_type='date' - else : - col_type='set_me' - column_array+=sep+'"'+col_name+'"=>"'+col_name+'"'+"\n" - column_type_array+=sep+'"'+col_name+'"=>"'+col_type+'"'+"\n" - var=var+' var $'+col_name+";\n" - sep=',' - column_array='"'+id+'"=>"'+id+'",'+column_array - i=1;sep='';set=' set ' - column_comma='' - verify_data_type='' - # create verify data_type - for e in line[3:]: - if e.find('|') < 0 : - continue - - (col_id,col_type,default)=e.split('|') - col_id=col_id.strip() - col_type=col_type.strip() - verify_data_type+=" if ( trim($this->"+col_id+") == '') $this->"+col_id+"=null;\n" - if col_type in ('float','integer','numeric','bigint') : - verify_data_type+="if ( $this->"+col_id+"!== null && settype($this->"+col_id+",'float') == false )\n \ - throw new Exception('DATATYPE "+col_id+" $this->"+col_id+" non numerique');\n" - if col_type in ('date',' timestamp without time zone','timestamp with time zone'): - verify_data_type+=" if (isDate($this->"+col_id+") == null )\n \ - throw new Exception('DATATYPE "+col_id+" $this->"+col_id+" date invalide');\n" - - sParent=sParent.replace('@id@',id) - sParent=sParent.replace('@vars@',var) - sParent=sParent.replace('@table@',table) - sParent=sParent.replace('@class_name@',class_name) - sParent=sParent.replace('@column_array@',column_array) - sParent=sParent.replace('@column_type_array@',column_type_array) - sParent=sParent.replace('@set_tech_user@',set_tech_user) - fileoutput.writelines(sParent) - - except : - print "error " - print sys.exc_info() -if __name__ == "__main__": - main() diff --git a/sources/dev/manage-code/create-file/create_trigger.py b/sources/dev/manage-code/create-file/create_trigger.py deleted file mode 100755 index 22fa358..0000000 --- a/sources/dev/manage-code/create-file/create_trigger.py +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/python -# -# Give the code for a trigger -import sys, getopt -def help(): - print """ - option are -h for help - -d default trigger for tech_date - -a action : insert update or delete or a combination separated by comma - -t table name - -s schema name - """ -def main(): - try: - opts,args=getopt.getopt(sys.argv[1:],'hda:t:s:',['help','tech_date','action','table','schema']) - except getopt.GetOptError, err: - print str(err) - help() - sys.exit(-1) - table_name='' - action='' - schema='' - tech_date=False - for option,value in opts: - if option in ('-a','--action'): - action=value - elif option in ('-h','--help'): - help() - sys.exit(-1) - elif option in ('-t','--table'): - table_name=value - elif option in ('-s','--schema'): - schema=value - elif option in ('-d','--tech_date'): - tech_date=True - if table_name=='': - help() - print "The table name is missing" - sys.exit(-2) - - if schema == '': - schema='public' - - if not tech_date and action == '' : - help() - print "No action specified " - sys.exit(-3) - - print ('CREATE OR REPLACE FUNCTION '+schema+'.'+table_name+"_trg"+'() ') - print (' returns trigger ') - print (' as ') - print ('$_BODY_$') - print ('declare ') - print ('begin') - if tech_date : - print (' NEW.tech_date=now() ;') - else : - print (' -- insert your code here ') - print ('return NEW;') - print ('end;') - print ('$_BODY_$ LANGUAGE plpgsql;') - - - print ('CREATE TRIGGER '+table_name+"_trg") - print (" BEFORE / AFTER ") - if action == '' and tech_date : - print (" INSERT OR UPDATE ") - elif len(action.split(',')) > 0: - a_action=action.split(',') - str_or='' - for e in a_action: - print str_or+(e.upper()) - str_or=" OR " - else: - print (action.upper()) - - print (" on "+schema+'.'+table_name) - print (" FOR EACH ROW EXECUTE PROCEDURE "+schema+'.'+table_name+"_trg();") - - - -main() diff --git a/sources/dev/manage-code/create-file/example b/sources/dev/manage-code/create-file/example deleted file mode 100644 index 8ca444f..0000000 --- a/sources/dev/manage-code/create-file/example +++ /dev/null @@ -1,7 +0,0 @@ -Fiche_Attr -attr_def - ad_id | integer - ad_text | text - ad_type | numeric - tech_user | text - tech_date | date diff --git a/sources/dev/manage-code/housekeeping/cleanup.sh b/sources/dev/manage-code/housekeeping/cleanup.sh deleted file mode 100755 index 3be4db6..0000000 --- a/sources/dev/manage-code/housekeeping/cleanup.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# clean all phpcompta related DB. -DOMAIN="rel500_" -export PGPASSWORD="dany" -export PGUSER="dany" -export PGHOST=localhost -echo "Etes vous sur de vouloir effacer les db du domaine $DOMAIN Y/N ?" -read A -if [ "$A" == 'Y' ];then - dropdb ${DOMAIN}account_repository - dropdb ${DOMAIN}dossier1 - dropdb ${DOMAIN}dossier3 - dropdb ${DOMAIN}dossier4 - dropdb ${DOMAIN}dossier5 - dropdb ${DOMAIN}dossier13 - dropdb ${DOMAIN}dossier17 - - dropdb ${DOMAIN}mod1 - dropdb ${DOMAIN}mod2 - dropdb ${DOMAIN}mod3 - dropdb ${DOMAIN}mod7 -else - echo "Effacement annule" -fi diff --git a/sources/dev/manage-code/housekeeping/transform.py b/sources/dev/manage-code/housekeeping/transform.py deleted file mode 100755 index c76e9ca..0000000 --- a/sources/dev/manage-code/housekeeping/transform.py +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/python -# brief : replace the all class widget -# -# This file is a part of NOALYSS under GPL -# Author D. DE BONTRIDDER danydb@aevalys.eu -import glob -import sys -import re -class Transform: - widget=re.compile("new widget.*;.*") - wegal=re.compile('.*=') - wtext=re.compile("text",re.IGNORECASE) - wselect=re.compile("select",re.IGNORECASE) - wjsDate=re.compile("js_date",re.IGNORECASE) - wHidden=re.compile("hidden",re.IGNORECASE) - wcheckbox=re.compile("checkbox",re.IGNORECASE) - wJSSearch_Poste=re.compile("js_search_poste",re.IGNORECASE) - wJSSearch_only=re.compile("js_search_only",re.IGNORECASE) - wSpan=re.compile("span",re.IGNORECASE) - wFile=re.compile("file",re.IGNORECASE) - wRadio=re.compile("radio",re.IGNORECASE) - wButton=re.compile("button",re.IGNORECASE) - wTextarea=re.compile("textarea",re.IGNORECASE) - wJSConcerned=re.compile("js_concerned",re.IGNORECASE) - wTva=re.compile("js_tva",re.IGNORECASE) - wSearch=re.compile("js_search\"",re.IGNORECASE) - string="" - def __init__(self,p_string): - self.string=p_string - def transform(self): - result=self.string - found_widgets=self.widget.findall(self.string) - if len(found_widgets) > 0: - sEgal=self.wegal.findall(result) - found_widget=found_widgets[0] - result="" - if len(self.wtext.findall(found_widget))>0: - result="new IText" - if len(self.wselect.findall(found_widget))>0: - result="new ISelect" - if len(self.wjsDate.findall(found_widget))>0: - result="new IDate" - if len(self.wHidden.findall(found_widget))>0: - result="new IHidden" - if len(self.wcheckbox.findall(found_widget))>0: - result="new ICheckBox" - if len(self.wJSSearch_Poste.findall(found_widget))>0: - result="new IPoste" - if len(self.wJSSearch_only.findall(found_widget))>0: - result="new ICard" - if len(self.wSpan.findall(found_widget))>0: - result="new ISpan" - if len(self.wFile.findall(found_widget))>0: - result="new IFile" - if len(self.wRadio.findall(found_widget))>0: - result="new IRadio" - if len(self.wTextarea.findall(found_widget))>0: - result="new ITextArea" - if len(self.wButton.findall(found_widget))>0: - result="new IButton" - if len(self.wJSConcerned.findall(found_widget))>0: - result="new IConcerned" - if len(self.wTva.findall(found_widget))>0: - result="new ITva" - if len(self.wSearch.findall(found_widget))>0: - result="new ISearch" - if result == "" : - print "Invalid widget :"+self.string - return 'INVALIDWIDGET '+self.string - result=sEgal[0]+result - reArg=re.compile('\(.*\)') - content=reArg.findall(self.string) - reSplit=re.compile(',') - aArg=reSplit.split(content[0]) - if len(aArg) == 1 : - return result+'();'+"\n" - b=aArg[1:] - virg="" - arg="" - for i in b: - arg=arg+virg+i - virg=',' - return result+'('+arg+';'+"\n" - return result - - -if __name__ == "__main__": - string=" $button_escape=new widget('button','Echapper');" - a=Transform(string) - print a.transform() - -# -# if len(sys.argv) < 1 : -# print "Erreur pas de fichier comme argument" -# sys.exit(1) -# files=glob.glob(sys.argv[1]) -# for file in files: -# lines=file.readlines() -# for line in lines: -# diff --git a/sources/dev/manage-code/housekeeping/usage_file.py b/sources/dev/manage-code/housekeeping/usage_file.py deleted file mode 100755 index 8961872..0000000 --- a/sources/dev/manage-code/housekeeping/usage_file.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/python -# Check if the files in include are still used -# -# This file is a part of NOALYSS under GPL -# Author D. DE BONTRIDDER danydb@aevalys.eu -from transform import * -import sys -import os -import glob -if len(sys.argv) < 2 : - print "you need at least two arguments : the file name and the files " - print " into you look" - sys.exit(3) - -filenames=glob.glob(sys.argv[1]) -if len(filenames) == 0: - filenames=[] - filenames.append(sys.argv[1]) -print str(filenames)+ "<-"+sys.argv[1] -for f in filenames: - file_usage=[] - filename=os.path.basename(f) - - for a in range(2,len(sys.argv)): - files=glob.glob(sys.argv[a]) - print str(a)+" : "+sys.argv[a] - reFunction=re.compile(filename) - #reFunction=re.compile('(require|include|form).*'+filename,re.IGNORECASE) - for file in files: - #print "Working on file "+file - fold=open(file) - lines=fold.readlines() - for line in lines: - found=reFunction.findall(line) - if len(found) != 0 : - tmp={file:filename} - file_usage.append(tmp) - - fold.close() - #print 'finished, remaining %d' % (total) - #print file_usage - #print "lenght "+str(len(file_usage)) - if len (file_usage) > 0 : - print "This file "+filename+" is used in " - for x in file_usage: - print x.keys()[0] - else: - print filename +" is never used " - diff --git a/sources/dev/manage-code/housekeeping/usage_function.py b/sources/dev/manage-code/housekeeping/usage_function.py deleted file mode 100755 index c41ea75..0000000 --- a/sources/dev/manage-code/housekeeping/usage_function.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/python -# Check if a function is still used -# -# This file is a part of NOALYSS under GPL -# Author D. DE BONTRIDDER danydb@aevalys.eu - -from transform import * -import sys -import os -import glob -if len(sys.argv) < 2 : - print "you need at least one argument : the file containing the function" - print " the second and the thirst are the files where you look for those functions" - sys.exit(3) - -files=glob.glob(sys.argv[1]) -total=len(files) -print "Total file to handle %d " % (len(files)) -reFunction=re.compile('(function) (\w+).*\((.*)\)') -function_name=[] -fList=open("function.txt","a+") -for file in files: - print "Working on file "+file - if file.find('class_') != -1: - continue - fold=open(file) - lines=fold.readlines() - for line in lines: - found=reFunction.findall(line) - if len(found) != 0 : - fctname=found[0][1] - tmp={file:fctname} - function_name.append(tmp) - fList.write(file + ";" + fctname+"\n") - fold.close() - total=total-1 - print 'finished, remaining %d' % (total) -fList.close() -if len(sys.argv) == 2 : - print "the fonctions are " - for e in function_name: - fct=e.values()[0] - print fct - -used={} -for e in function_name: - fct=e.values()[0] - used[fct]=0 -for a in range(2,len(sys.argv)): - print str(a)+ ': '+sys.argv[a] - files_target=glob.glob(sys.argv[a]) - - for e in function_name: - fct=e.values()[0] - for file in files_target: - fd=open(file) - buffer=fd.readlines() - for line in buffer: - if line.find(fct)!= -1: - used[fct]=used[fct]+1 - fd.close() - - -for u in used.keys(): - print "%s : %d " % ( u,used[u]) diff --git a/sources/dev/manage-code/security/without_check.py b/sources/dev/manage-code/security/without_check.py deleted file mode 100755 index bad9a55..0000000 --- a/sources/dev/manage-code/security/without_check.py +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/python -# brief = check if the files given in arguments using -# the -> check_dossier function -# -# This file is a part of NOALYSS under GPL -# Author D. DE BONTRIDDER danydb@aevalys.eu - - -import sys -import os -import glob - -if len(sys.argv) == 1: - print "you need one or more filename as argument" - sys.exit(3) - -files=glob.glob(sys.argv[1]) -total=len(files) -print "Total file to handle %d " % (len(files)) -for file in files: - #print "Working on file "+file - fold=open(file) - lines=fold.readlines() - widget=('new User','->check_dossier','->Check') - check={} - for w in widget: - check[w]=0 - require="" - for line in lines: - for w in widget: - if check[w] == 1: - continue - if line.find(w) != -1 : - check[w]=1 - fold.close() - for w in widget: - if check[w] == 0 : - print "Missing in "+file+" "+w - total=total-1 - #print 'finished, remaining %d' % (total) - diff --git a/sources/dev/manage-code/widget/add_require.py b/sources/dev/manage-code/widget/add_require.py deleted file mode 100755 index 9debc5e..0000000 --- a/sources/dev/manage-code/widget/add_require.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/python -# brief : replace the all class widget -# -# This file is a part of NOALYSS under GPL -# Author D. DE BONTRIDDER danydb@aevalys.eu - -from transform import * -import sys -import os -import glob - -if len(sys.argv) == 1: - print "you need one or more filename as argument" - sys.exit(3) - -files=glob.glob(sys.argv[1]) -total=len(files) -print "Total file to handle %d " % (len(files)) -for file in files: - print "Working on file "+file - new_file=file - old_file=(file+'.arold') - os.rename(new_file,old_file) - fnew=open(new_file,'a+') - fold=open(old_file) - lines=fold.readlines() - widget=('IHidden','IText','ISpan','ISelect','IDate','ICheckBox','IPoste','ICard','IFile','IRadio','ITextarea','IButton','IConcerned','ITva','ISearch') - check={} - for w in widget: - check[w]=0 - require="" - for line in lines: - for w in widget: - if check[w] == 1: - continue - if line.find(w) != -1 : - require=require+'require_once("class_'+w.lower()+'.php");'+"\n" - check[w]=1 - flag=0 - for line in lines: - if line.find('require')!=-1 and flag == 0: - fnew.write(require) - flag=1 - fnew.write(line) - fnew.close() - fold.close() - total=total-1 - print 'finished, remaining %d' % (total) - diff --git a/sources/dev/manage-code/widget/change.py b/sources/dev/manage-code/widget/change.py deleted file mode 100755 index 02b10bf..0000000 --- a/sources/dev/manage-code/widget/change.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/python -# brief : replace the all class widget -# -# This file is a part of NOALYSS under GPL -# Author D. DE BONTRIDDER danydb@aevalys.eu - -from transform import * -import sys -import os -import glob - -if len(sys.argv) == 1: - print "you need one or more filename as argument" - sys.exit(3) - -files=glob.glob(sys.argv[1]) -total=len(files) -print "Total file to handle %d " % (len(files)) -for file in files: - print "Working on file "+file - new_file=file - old_file=(file+'.old') - os.rename(new_file,old_file) - fnew=open(new_file,'a+') - fold=open(old_file) - lines=fold.readlines() - for line in lines: - buf=Transform(line) - fnew.write(buf.transform()) - fnew.close() - fold.close() - total=total-1 - print 'finished, remaining %d' % (total) - diff --git a/sources/dev/manage-code/widget/transform.py b/sources/dev/manage-code/widget/transform.py deleted file mode 100755 index c76e9ca..0000000 --- a/sources/dev/manage-code/widget/transform.py +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/python -# brief : replace the all class widget -# -# This file is a part of NOALYSS under GPL -# Author D. DE BONTRIDDER danydb@aevalys.eu -import glob -import sys -import re -class Transform: - widget=re.compile("new widget.*;.*") - wegal=re.compile('.*=') - wtext=re.compile("text",re.IGNORECASE) - wselect=re.compile("select",re.IGNORECASE) - wjsDate=re.compile("js_date",re.IGNORECASE) - wHidden=re.compile("hidden",re.IGNORECASE) - wcheckbox=re.compile("checkbox",re.IGNORECASE) - wJSSearch_Poste=re.compile("js_search_poste",re.IGNORECASE) - wJSSearch_only=re.compile("js_search_only",re.IGNORECASE) - wSpan=re.compile("span",re.IGNORECASE) - wFile=re.compile("file",re.IGNORECASE) - wRadio=re.compile("radio",re.IGNORECASE) - wButton=re.compile("button",re.IGNORECASE) - wTextarea=re.compile("textarea",re.IGNORECASE) - wJSConcerned=re.compile("js_concerned",re.IGNORECASE) - wTva=re.compile("js_tva",re.IGNORECASE) - wSearch=re.compile("js_search\"",re.IGNORECASE) - string="" - def __init__(self,p_string): - self.string=p_string - def transform(self): - result=self.string - found_widgets=self.widget.findall(self.string) - if len(found_widgets) > 0: - sEgal=self.wegal.findall(result) - found_widget=found_widgets[0] - result="" - if len(self.wtext.findall(found_widget))>0: - result="new IText" - if len(self.wselect.findall(found_widget))>0: - result="new ISelect" - if len(self.wjsDate.findall(found_widget))>0: - result="new IDate" - if len(self.wHidden.findall(found_widget))>0: - result="new IHidden" - if len(self.wcheckbox.findall(found_widget))>0: - result="new ICheckBox" - if len(self.wJSSearch_Poste.findall(found_widget))>0: - result="new IPoste" - if len(self.wJSSearch_only.findall(found_widget))>0: - result="new ICard" - if len(self.wSpan.findall(found_widget))>0: - result="new ISpan" - if len(self.wFile.findall(found_widget))>0: - result="new IFile" - if len(self.wRadio.findall(found_widget))>0: - result="new IRadio" - if len(self.wTextarea.findall(found_widget))>0: - result="new ITextArea" - if len(self.wButton.findall(found_widget))>0: - result="new IButton" - if len(self.wJSConcerned.findall(found_widget))>0: - result="new IConcerned" - if len(self.wTva.findall(found_widget))>0: - result="new ITva" - if len(self.wSearch.findall(found_widget))>0: - result="new ISearch" - if result == "" : - print "Invalid widget :"+self.string - return 'INVALIDWIDGET '+self.string - result=sEgal[0]+result - reArg=re.compile('\(.*\)') - content=reArg.findall(self.string) - reSplit=re.compile(',') - aArg=reSplit.split(content[0]) - if len(aArg) == 1 : - return result+'();'+"\n" - b=aArg[1:] - virg="" - arg="" - for i in b: - arg=arg+virg+i - virg=',' - return result+'('+arg+';'+"\n" - return result - - -if __name__ == "__main__": - string=" $button_escape=new widget('button','Echapper');" - a=Transform(string) - print a.transform() - -# -# if len(sys.argv) < 1 : -# print "Erreur pas de fichier comme argument" -# sys.exit(1) -# files=glob.glob(sys.argv[1]) -# for file in files: -# lines=file.readlines() -# for line in lines: -# diff --git a/sources/dev/plugin_client.txt b/sources/dev/plugin_client.txt deleted file mode 100644 index 13e99c5..0000000 --- a/sources/dev/plugin_client.txt +++ /dev/null @@ -1,4 +0,0 @@ -"Nom client1","Prénom","C1","Rue de la boite,55" -"Nom client2","Prénom","C2","Rue du couvercle,55" -"Nom client3","Prénom","C3","Rue de la chaussure,55" -"Nom client4","Prénom","C4","Rue de la couleur,55" diff --git a/sources/dev/test-size/readme b/sources/dev/test-size/readme deleted file mode 100644 index 42ebbe4..0000000 --- a/sources/dev/test-size/readme +++ /dev/null @@ -1,15 +0,0 @@ -to use it ---------------- -a. in NOALYSS create a new "dossier" -b. in the "accueil page" you can see it id -c. ./simul.py (-l|-x|-s) |psql database_name (the database name is the DOMAIN_dossierID, replace the uppercase - by the good values) - you must use -l -x or -s (see -h for help) - - -for reusing the same database ------------------------------- -* drop the database = dropdb database_name -* recreate it - createdb -T mod1 -E UTF8 -O noalyss database_name - diff --git a/sources/dev/test-size/simul.py b/sources/dev/test-size/simul.py deleted file mode 100755 index 5fd48da..0000000 --- a/sources/dev/test-size/simul.py +++ /dev/null @@ -1,243 +0,0 @@ -#!/usr/bin/python -# -# -# This file is part of NOALYSS. -# -# NOALYSS is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# NOALYSS is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with NOALYSS; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -#/ -# $Revision$ -# Copyright Author Dany De Bontridder danydb@aevalys.eu - -import random -import getopt -import sys - - - - -def usage(): - print """ - For use with the demo database, this utility helps - you to create differente kind of databases for tuning - and improve the performance - parameters are : - -h help - -s generate a sql file for a small database test - -l generate a sql file for a large database test - -x generate a extra large sql for a huge database test - """ - sys.exit(-1) - -def Add_Attribut_Fiche(p_jft,p_f,p_ad_id,p_value): - # Ajout du nom - #print "insert into jnt_fic_att_value(jft_id,f_id,ad_id) values (%d,%d,%d);" % (p_jft,p_f,p_ad_id) - jnt="%d\t%d\t%d" % (p_jft,p_f,p_ad_id) - #print "insert into attr_value(jft_id,av_text) values (%d,'%s');" % (p_jft,p_value) - attr="%d\t%s" % (p_jft,p_value) - return (jnt,attr) - -def Creation_fiche (p_seq_f_id,p_seq_jft_id,p_fd_id,p_type,p_base_poste,p_nbfiche): - fiche=[] - poste_comptable=[] - Attribut=[] - jnt=[] - for i in range (0,p_nbfiche): - #def Creation fiche : - #print "insert into fiche(f_id,fd_id)values (%d,%d);" % (p_seq_f_id,p_fd_id) - fiche.append("%d\t%d" % (p_seq_f_id,p_fd_id)) - # ajout nom - nom="%s numero %08d" % (p_type,i+100) - (t1,t2)=Add_Attribut_Fiche(p_seq_jft_id,p_seq_f_id,1,nom) - jnt.append(t1) - Attribut.append(t2) - #poste comptable - str_poste_comptable='%s%04d'% (p_base_poste,i+100) - # print "insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent) values (%s,'%s',%s); " % (poste_comptable,nom,p_base_poste) - poste_comptable.append("%s\t%s\t%s" % (str_poste_comptable,nom,p_base_poste)) - p_seq_jft_id+=1 - (t1,t2)=Add_Attribut_Fiche(p_seq_jft_id,p_seq_f_id,5,str_poste_comptable) - jnt.append(t1) - Attribut.append(t2) - p_seq_jft_id+=1 - str_quick_code="FID%06d" % (p_seq_f_id) - (t1,t2)=Add_Attribut_Fiche(p_seq_jft_id,p_seq_f_id,23,str_quick_code) - jnt.append(t1) - Attribut.append(t2) - - p_seq_f_id+=1 - p_seq_jft_id+=1 - print "copy fiche(f_id,fd_id) from stdin;" - for e in fiche: print e - print "\." - print "copy tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) from stdin;" - for e in poste_comptable: print e - print "\." - print "copy jnt_fic_att_value(jft_id,f_id,ad_id) from stdin;" - for e in jnt: print e - print "\." - print "copy attr_value(jft_id,av_text) from stdin;" - for e in Attribut: print e - print "\." - - - - -def Creation_operation(p_base,p_type): - #jrn="insert into jrn (jr_def_id,jr_montant,jr_comment,jr_date,jr_grpt_id,jr_internal,jr_tech_per)" - jrn="%d\t%.2f\t%s\t%d.%d.2005\t%d\t%s\t%d" - #jrnx="insert into jrnx (j_date,j_montant,j_poste,j_grpt,j_jrn_def,j_debit,j_tech_user,j_tech_per)" - jrnx="%d.%d.2005\t%.2f\t%s\t%d\t%d\t%s\tSIMULATION\t%d" - array_jrnx=[] - array_jrn=[] - for loop_periode in range (53,64): - for loop_day in range (1,28): - for loop_op in range (0,nb_per_day): - j_montant=round(random.randrange(100,5000)/100.0,2) - j_tva=round(j_montant*0.21,2) - month=loop_periode-52 - if p_type == 'V': - j_internal='1VEN-01-%d' % (p_base) - j_client='400%04d' % (random.randrange(1,nb_fiche)+100) - #jrnx1=jrnx % (loop_day,loop_periode-39,j_montant,j_client,p_base,2,'true',loop_periode) - array_jrnx.append(jrnx % (loop_day,month,j_montant,j_client,p_base,2,'true',loop_periode)) - #print jrnx1 - array_jrnx.append(jrnx % (loop_day,month,j_tva,'4511',p_base,2,'false',loop_periode)) - #print jrnx1 - total=j_montant+j_tva - array_jrnx.append( jrnx % (loop_day,month,total,'700',p_base,2,'false',loop_periode)) - #print jrnx1 - array_jrn.append(jrn%(2,total,j_internal,loop_day,month,p_base,j_internal,loop_periode)) - #print jrn1 - p_base+=1 - if p_type== 'A': - j_internal='1ACH-01-%d' % (p_base) - j_fournisseur='440%04d' % (random.randrange(0,nb_fiche)+100) - j_charge='61%04d' % (random.randrange(0,nb_charge)+100) - array_jrnx.append(jrnx%(loop_day,month,j_montant,j_fournisseur,p_base,3,'false',loop_periode)) - #print jrnx1 - array_jrnx.append(jrnx % (loop_day,month,j_tva,'4111',p_base,3,'true',loop_periode)) - #print jrnx1 - total=j_montant+j_tva - array_jrnx.append(jrnx % (loop_day,month,total,j_charge,p_base,3,'true',loop_periode)) - #print jrnx1 - array_jrn.append(jrn%(3,total,j_internal,loop_day,month,p_base,j_internal,loop_periode)) - ##print jrn1 - p_base+=1 - if p_type== 'O': - j_internal='4ODS-01-%d' % (p_base) - j_banque='400' - j_charge='440' - array_jrnx.append(jrnx%(loop_day,month,j_montant,j_banque,p_base,4,'false',loop_periode)) - array_jrnx.append(jrnx % (loop_day,month,j_montant,j_charge,p_base,4,'true',loop_periode)) - #print jrnx1 - array_jrn.append(jrn%(4,j_montant,j_internal,loop_day,month,p_base,j_internal,loop_periode)) - ##print jrn1 - p_base+=1 - if p_type== 'F': - j_internal='1FIN-01-%d' % (p_base) - j_banque='550' - j_charge='400' - array_jrnx.append(jrnx%(loop_day,month,j_montant,j_banque,p_base,1,'false',loop_periode)) - array_jrnx.append(jrnx % (loop_day,month,j_montant,j_charge,p_base,1,'true',loop_periode)) - #print jrnx1 - array_jrn.append(jrn%(1,j_montant,j_internal,loop_day,month,p_base,j_internal,loop_periode)) - ##print jrn1 - p_base+=1 - print """copy -jrn (jr_def_id,jr_montant,jr_comment,jr_date,jr_grpt_id,jr_internal,jr_tech_per) -from stdin;""" - for e in array_jrn: print e - print "\." - print "copy jrnx (j_date,j_montant,j_poste,j_grpt,j_jrn_def,j_debit,j_tech_user,j_tech_per) from stdin;" - for e in array_jrnx: print e - print "\." - -################################################################################ -# MAIN -################################################################################ -if len(sys.argv) == 1 : - usage() - -cmd_line=sys.argv[1:] - -try : - a1,a2=getopt.getopt(cmd_line,"slxh",['small','large','extra-large','help']) -except getopt.GetoptError,msg: - print "ERROR " - print msg.msg - usage() -for option,value in a1: - if option in ('-h','--help'): - usage() - if option in ('-s','--small'): - nb_fiche=100 - nb_charge=50 - nb_per_day=5 - break - if option in ('-l','--large'): - nb_fiche=5000 - nb_charge=350 - nb_per_day=50 - if option in ('-x','--extra-large'): - nb_fiche=10000 - nb_charge=1500 - nb_per_day=500 - -print '\\timing' -print "begin;" -print "set DateStyle=European;" -# fd_id => client -fd_id=2 -# type fiche -type='Client' - -# numero de sequence fiche -f_id=1000 -# numero de sequence jnt_fic_att_value -jft_id=1000 -# poste comptable -base_poste='400' - -Creation_fiche(f_id,jft_id,fd_id,type,'400',nb_fiche) - -# fournisseur -fd_id=4 -type='Fournisseur' -f_id+=nb_fiche+100 -jft_id+=2*nb_fiche+100 -base_poste='440' - -Creation_fiche(f_id,jft_id,fd_id,type,base_poste,nb_fiche) - -# Creation Service et bien divers -fd_id=5 -type='Charge ' -f_id+=nb_fiche+100 -jft_id+=2*nb_fiche+100 -base_poste='61' - -Creation_fiche(f_id,jft_id,fd_id,type,base_poste,nb_charge) - -#Creation_operation Vente -Creation_operation(1000,'V') - -#Creation_operation Achat -Creation_operation(17000,'A') -#Creation_operation FIN -Creation_operation(34000,'F') -#Creation_operation ODS -Creation_operation(51000,'O') - -print "commit;" diff --git a/sources/dev/test_parse_formula.php b/sources/dev/test_parse_formula.php deleted file mode 100644 index 6bd2bfb..0000000 --- a/sources/dev/test_parse_formula.php +++ /dev/null @@ -1,53 +0,0 @@ -<? -/* -# check the Impress::check_formula and the parse_formula -# This file is a part of NOALYSS under GPL -# Author D. DE BONTRIDDER danydb@aevalys.eu -*/ -include_once('class_impress.php'); - -echo '<hr>'; -foreach ( array('1', - '(45+5)', - 'round([45])', - '$A=9', - '$S30=($F1 >=0)?$F1:0', - - '[45%]', - '[50]*[51%]', - '$A1=[50]*[51%]', - '[50]*9', - '[50]*9.0', - '[50%]*9', - '$C1111=[50%]*9', - '$C1111=[50%]*9*$D1', - '$C10=[10%]', - '[50%]*9.0', - '[50%]*9.0 FROM=01.2004', - '[50%]*9.0FROM=01.2004', - 'system', - 'unlink', - 'ls -1') - as $a ) { - echo "Testing :".$a; - echo (Impress::check_formula($a)==false)?'Non valide ':'ok'; - - echo '<br>'; - - foreach (array('+','-','/') as $b ) { - $ee=str_replace('*',$b,$a); - echo "Testing :".$ee; - echo (Impress::check_formula($ee)==false)?'Non valide ':'ok'; - echo '<br>'; - - } - for($e=0;$e<3;$e++) { - $a.="*".$a; - echo "Testing :".$a; - echo (Impress::check_formula($a)==false)?'Non valide ':'ok'; - echo '<br>'; - - } - } - -?> diff --git a/sources/doc/Diagram5.dia b/sources/doc/Diagram5.dia deleted file mode 100644 index 8b3aff7f3753decdd83fb473d4da6c86dfebcf6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9929 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 diff --git a/sources/doc/Makefile b/sources/doc/Makefile deleted file mode 100644 index 1093b65..0000000 --- a/sources/doc/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# Makefile for creating the doc -# html, txt format -# $Revision$ - -.PHONY: clean devel - -all: devel - -devel: - cd developper && ./create_doc.sh -clean: - rm -f *~ - diff --git a/sources/doc/Schemaabrege1.pdf b/sources/doc/Schemaabrege1.pdf deleted file mode 100644 index 1dc6441d35ce9e1d839d028a0f8f26b6946786eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105892 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 Q8lj^-aY9*3g^u?B0LmD3#{d8T diff --git a/sources/doc/commencer-avec-noalyss.odt b/sources/doc/commencer-avec-noalyss.odt deleted file mode 100644 index b6f8247ceb235413240f19150184d8b4b24dcf7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50975 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 C^wMSk diff --git a/sources/doc/commencer-avec-noalyss.pdf b/sources/doc/commencer-avec-noalyss.pdf deleted file mode 100644 index 286b1b67945668ffcca5e5fab7cf6981c89c76ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69409 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�zGuSSr2cN=2A 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 diff --git a/sources/doc/data.dia b/sources/doc/data.dia deleted file mode 100644 index feb7080..0000000 --- a/sources/doc/data.dia +++ /dev/null @@ -1,18232 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/"> - <dia:diagramdata> - <dia:attribute name="background"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="pagebreak"> - <dia:color val="#000099"/> - </dia:attribute> - <dia:attribute name="paper"> - <dia:composite type="paper"> - <dia:attribute name="name"> - <dia:string>#Letter#</dia:string> - </dia:attribute> - <dia:attribute name="tmargin"> - <dia:real val="2.5399999618530273"/> - </dia:attribute> - <dia:attribute name="bmargin"> - <dia:real val="2.5399999618530273"/> - </dia:attribute> - <dia:attribute name="lmargin"> - <dia:real val="2.5399999618530273"/> - </dia:attribute> - <dia:attribute name="rmargin"> - <dia:real val="2.5399999618530273"/> - </dia:attribute> - <dia:attribute name="is_portrait"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="scaling"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="fitto"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="grid"> - <dia:composite type="grid"> - <dia:attribute name="width_x"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="width_y"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="visible_x"> - <dia:int val="1"/> - </dia:attribute> - <dia:attribute name="visible_y"> - <dia:int val="1"/> - </dia:attribute> - <dia:composite type="color"/> - </dia:composite> - </dia:attribute> - <dia:attribute name="color"> - <dia:color val="#d8e5e5"/> - </dia:attribute> - <dia:attribute name="guides"> - <dia:composite type="guides"> - <dia:attribute name="hguides"/> - <dia:attribute name="vguides"/> - </dia:composite> - </dia:attribute> - </dia:diagramdata> - <dia:layer name="Background" visible="true" active="true"> - <dia:object type="UML - Class" version="0" id="O0"> - <dia:attribute name="obj_pos"> - <dia:point val="-371.112,24.0506"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-371.162,24.0006;-358.242,29.9006"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-371.112,24.0506"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="12.82"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="5.8000000000000007"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#action#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#The different privileges#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ac_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ac_description#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ac_module#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ac_code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character varying(9)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O1"> - <dia:attribute name="obj_pos"> - <dia:point val="-364.388,116.017"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-364.438,115.967;-343.818,126.667"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-364.388,116.017"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="20.52"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="10.6"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#action_gestion#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Action for Managing#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ag_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('action_g ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ag_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># f_id_dest#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># f_id_exp#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ag_title#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character varying(70)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ag_timestamp#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#timestamp without time zone#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#now()#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ag_cal#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character(1)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#'C'::bpchar#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ag_ref_ag_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ag_comment#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ag_ref#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O2"> - <dia:attribute name="obj_pos"> - <dia:point val="-368.714,22.8854"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-368.764,22.8354;-350.069,27.1354"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-368.714,22.8854"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4.2000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#attr_def#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#The available attributs for the cards#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ad_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_attr_ ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ad_text#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O3"> - <dia:attribute name="obj_pos"> - <dia:point val="-383.41,20.1203"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-383.46,20.0703;-368.618,24.3703"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-383.41,20.1203"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="14.742500000000001"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4.2000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#attr_min#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#The value of attributs for the cards#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># frd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ad_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O4"> - <dia:attribute name="obj_pos"> - <dia:point val="-327.653,32.225"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-327.703,32.175;-320.173,35.475"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-327.653,32.225"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="7.4299999999999997"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="3.2000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#attr_value#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jft_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># av_text#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O5"> - <dia:attribute name="obj_pos"> - <dia:point val="-383.003,71.9626"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-383.053,71.9126;-364.743,79.6126"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-383.003,71.9626"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.210000000000001"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="7.5999999999999996"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#bilan#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#contains the template and the data ... nts #</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># b_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('bilan_b_ ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># b_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># b_file_template#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># b_file_form#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># b_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O6"> - <dia:attribute name="obj_pos"> - <dia:point val="-365.054,99.0696"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-365.104,99.0196;-346.409,106.52"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-365.054,99.0696"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="7.4000000000000004"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#bud_card#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#card for budget module#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bc_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('bud_card ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bc_code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character varying(10)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bc_description#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bc_price_unit#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#0.0#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bc_unit#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character varying(20)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bh_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O7"> - <dia:attribute name="obj_pos"> - <dia:point val="-361.394,102.292"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-361.444,102.242;-342.749,108.942"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-361.394,102.292"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="6.5999999999999996"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#bud_detail#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Detail for card #</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('bud_deta ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># po_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bc_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bh_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pcm_val#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#poste_comptable#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O8"> - <dia:attribute name="obj_pos"> - <dia:point val="-357.734,89.8124"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-357.784,89.7624;-338.704,95.6624"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-357.734,89.8124"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.98"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="5.8000000000000007"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#bud_detail_periode#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Module budget detail by periode#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bdp_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('bud_deta ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bdp_amount#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#0.0#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O9"> - <dia:attribute name="obj_pos"> - <dia:point val="-353.725,88.6473"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-353.775,88.5973;-335.08,94.2973"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-353.725,88.6473"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="5.5999999999999996"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#bud_hypothese#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bh_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('seq_bud_ ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bh_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bh_saldo#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bh_description#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pa_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O10"> - <dia:attribute name="obj_pos"> - <dia:point val="-350.065,-39.8147"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-350.115,-39.8647;-331.805,-25.9647"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-350.065,-39.8147"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.210000000000001"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="13.800000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#centralized#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#The centralized journal#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_centr ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_j_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_internal#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_montant#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_debit#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#true#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_jrn_def#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_poste#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#poste_comptable#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_description#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_grp#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_comment#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_rapt#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_periode#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># c_order#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O11"> - <dia:attribute name="obj_pos"> - <dia:point val="-386.815,48.7468"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-386.865,48.6968;-370.865,52.7968"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-386.815,48.7468"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="15.9"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#del_action#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># del_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#serial#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># del_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># del_time#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#timestamp without time zone#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O12"> - <dia:attribute name="obj_pos"> - <dia:point val="-346.755,0"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-346.805,-0.05;-329.265,17.65"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-346.755,0"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="17.440000000000001"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="17.600000000000005"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#del_jrn#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_def_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_montant#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_comment#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_grpt_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_internal#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_tech_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#timestamp without time zone#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_tech_per#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_ech#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_ech#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_rapt#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_valid#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_opid#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_c_opid#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_pj#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#oid#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_pj_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_pj_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># del_jrn_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#timestamp without time zone#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_pj_number#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O13"> - <dia:attribute name="obj_pos"> - <dia:point val="-379.694,-26.6895"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-379.744,-26.7395;-362.589,-13.0395"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-379.694,-26.6895"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="17.055"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="13.600000000000003"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#del_jrnx#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_montant#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_poste#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#poste_comptable#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_grpt#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_rapt#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_jrn_def#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_debit#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_text#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_centralized#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_internal#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_tech_user#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_tech_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#timestamp without time zone#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_tech_per#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_qcode#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O14"> - <dia:attribute name="obj_pos"> - <dia:point val="-391.534,-52.4344"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-391.584,-52.4844;-373.274,-43.1844"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-391.534,-52.4344"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.210000000000001"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="9.1999999999999993"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#document#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#This table contains all the documen ... files#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># d_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('document ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ag_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># d_lob#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#oid#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># d_number#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#bigint#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># d_filename#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># d_mimetype#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># d_state#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O15"> - <dia:attribute name="obj_pos"> - <dia:point val="-332.145,-52.3495"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-332.195,-52.3995;-313.5,-43.8995"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-332.145,-52.3495"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="8.4000000000000004"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#document_modele#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string># contains all the template for the ... ments#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># md_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('document ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># md_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># md_lob#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#oid#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># md_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># md_filename#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># md_mimetype#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O16"> - <dia:attribute name="obj_pos"> - <dia:point val="-340.485,63.7379"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-340.535,63.6879;-322.225,67.9879"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-340.485,63.7379"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.210000000000001"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4.2000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#document_state#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#State of the document#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># s_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('document ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># s_value#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character varying(50)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O17"> - <dia:attribute name="obj_pos"> - <dia:point val="-336.025,71.5228"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-336.075,71.4728;-317.38,75.7728"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-336.025,71.5228"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4.2000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#document_type#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Type of document : meeting, invoice,...#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># dt_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('document ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># dt_value#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character varying(80)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O18"> - <dia:attribute name="obj_pos"> - <dia:point val="-333.515,87.2821"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-333.565,87.2321;-315.255,91.5321"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-333.515,87.2821"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.210000000000001"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4.2000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#fiche#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Cards#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># f_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_fiche ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O19"> - <dia:attribute name="obj_pos"> - <dia:point val="-330.206,-32.9798"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-330.256,-33.0298;-311.561,-26.3298"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-330.206,-32.9798"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="6.5999999999999996"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#fiche_def#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Cards definition#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_fdef' ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fd_class_base#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#poste_comptable#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fd_label#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fd_create_account#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#false#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># frd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O20"> - <dia:attribute name="obj_pos"> - <dia:point val="-374.796,-31.9449"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-374.846,-31.9949;-355.766,-26.8949"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-374.796,-31.9449"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.98"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="5"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#fiche_def_ref#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Family Cards definition#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># frd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_fiche ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># frd_text#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># frd_class_base#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O21"> - <dia:attribute name="obj_pos"> - <dia:point val="-322.536,58.2076"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-322.586,58.1576;-303.891,64.8576"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-322.536,58.2076"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="6.5999999999999996"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#form#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Forms content#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fo_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_form' ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fo_fr_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fo_pos#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fo_label#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fo_formula#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O22"> - <dia:attribute name="obj_pos"> - <dia:point val="-341.684,3.76513"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-341.734,3.71513;-332.447,7.01513"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-341.684,3.76513"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="9.1875"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="3.2000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#format_csv_banque#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># include_file#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O23"> - <dia:attribute name="obj_pos"> - <dia:point val="-318.876,12.9954"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-318.926,12.9454;-300.231,16.2454"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-318.876,12.9954"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="3.2000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#formdef#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fr_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_formd ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fr_label#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O24"> - <dia:attribute name="obj_pos"> - <dia:point val="-372.702,101.927"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-372.752,101.877;-360.217,105.977"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-372.702,101.927"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="12.434999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#groupe_analytique#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ga_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character varying(10)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pa_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ga_description#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O25"> - <dia:attribute name="obj_pos"> - <dia:point val="-259.778,45.7817"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-259.828,45.7317;-233.818,60.8317"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-259.778,45.7817"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="25.91"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="15.000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#import_tmp#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Table temporaire pour l'importation ... t CSV#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># date_exec#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># date_valeur#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># devise#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># compte_ordre#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># detail#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># num_compte#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># poste_comptable#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># status#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character varying(1)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#'n'::character varying#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># bq_account#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_rapt#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># montant#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"> - <dia:composite type="umloperation"> - <dia:attribute name="name"> - <dia:string>#import_tmp_status_check#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="inheritance_type"> - <dia:enum val="2"/> - </dia:attribute> - <dia:attribute name="query"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="parameters"> - <dia:composite type="umlparameter"> - <dia:attribute name="name"> - <dia:string>#CHECK ((((((status)::text = 'n ... xt)))#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="kind"> - <dia:enum val="0"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O26"> - <dia:attribute name="obj_pos"> - <dia:point val="-385.605,53.8166"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-385.655,53.7666;-370.265,59.0666"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-385.605,53.8166"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="15.290000000000001"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="5.2000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#info_def#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Contains the types of additionnal i ... ation#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># id_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># id_description#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O27"> - <dia:attribute name="obj_pos"> - <dia:point val="-330.016,48.2514"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-330.066,48.2014;-311.371,52.3014"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-330.016,48.2514"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#invoice#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># iv_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_invoi ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># iv_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># iv_file#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#oid#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O28"> - <dia:attribute name="obj_pos"> - <dia:point val="-311.556,49.0863"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-311.606,49.0363;-292.526,55.1363"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-311.556,49.0863"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.98"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="6"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jnt_fic_att_value#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#join between the card and the attri ... ition#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jft_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_jnt_f ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># f_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ad_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O29"> - <dia:attribute name="obj_pos"> - <dia:point val="-297.946,14.1712"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-297.996,14.1212;-279.301,21.0212"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-297.946,14.1712"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="6.8000000000000007"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jnt_fic_attr#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#join between the family card and th ... ition#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ad_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jnt_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#bigint#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('s_jnt_id ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jnt_order#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O30"> - <dia:attribute name="obj_pos"> - <dia:point val="-20.9385,73"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-20.9885,72.95;-0.3685,91.85"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-20.9385,73"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="20.52"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="18.800000000000004"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jrn#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Journal: content one line for a gro ... iting#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_jrn': ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_def_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_montant#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_comment#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_grpt_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_internal#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_tech_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#timestamp without time zone#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#now()#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_tech_per#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_ech#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_ech#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_rapt#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_valid#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#true#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_opid#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_c_opid#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_pj#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#oid#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_pj_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_pj_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_pj_number#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O31"> - <dia:attribute name="obj_pos"> - <dia:point val="-303.887,-39.8036"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-303.937,-39.8536;-285.242,-30.5536"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-303.887,-39.8036"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="9.1999999999999993"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jrn_action#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Possible action when we are in jour ... menu)#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ja_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_jrnac ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ja_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ja_desc#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ja_url#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ja_action#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ja_lang#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#'FR'::text#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ja_jrn_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character(3)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O32"> - <dia:attribute name="obj_pos"> - <dia:point val="-296.127,58.6387"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-296.177,58.5887;-275.557,71.6887"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-296.127,58.6387"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="20.52"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="13.000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jrn_def#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Definition of a journal, his properties#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_jrn_d ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_class_deb#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_class_cred#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_fiche_deb#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_fiche_cred#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_deb_max_line#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#1#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_cred_max_line#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#1#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_ech#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#false#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_ech_lib#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character(3)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_pj_pref#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O33"> - <dia:attribute name="obj_pos"> - <dia:point val="-346.551,47.956"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-346.601,47.906;-339.456,52.806"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-346.551,47.956"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="7.0449999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4.8000000000000007"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jrn_info#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ji_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#serial#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># id_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ji_value#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O34"> - <dia:attribute name="obj_pos"> - <dia:point val="-353.391,45.7909"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-353.441,45.7409;-344.371,49.8409"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-353.391,45.7909"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="8.9700000000000006"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jrn_periode#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># status#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O35"> - <dia:attribute name="obj_pos"> - <dia:point val="-293.417,30.7258"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-293.467,30.6758;-274.387,35.7758"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-293.417,30.7258"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.98"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="5"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jrn_rapt#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Rapprochement between operation#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jra_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_jrn_r ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jr_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jra_concerned#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O36"> - <dia:attribute name="obj_pos"> - <dia:point val="-374.642,40.8606"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-374.692,40.8106;-363.312,46.1106"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-374.642,40.8606"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="11.279999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="5.2000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jrn_type#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Type of journal (Sell, Buy, Financial...)#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_type_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character(3)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_desc#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O37"> - <dia:attribute name="obj_pos"> - <dia:point val="85.4803,0.2"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="85.4303,0.15;105.665,15.85"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="85.4803,0.2"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="20.134999999999998"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="15.600000000000003"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jrnx#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Journal: content one line for each ... iting#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_jrn_o ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#now()#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_montant#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_poste#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#poste_comptable#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_grpt#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_rapt#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_jrn_def#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_debit#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#true#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_text#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_centralized#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#false#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_internal#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_tech_user#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_tech_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#timestamp without time zone#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#now()#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_tech_per#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_qcode#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O38"> - <dia:attribute name="obj_pos"> - <dia:point val="-408.968,-56.6661"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-409.018,-56.7161;-393.128,-48.2161"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-408.968,-56.6661"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="15.790000000000001"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="8.4000000000000004"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#mod_payment#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Contains the different media of pay ... edger#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># mp_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#serial#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># mp_lib#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># mp_jrn_def_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># mp_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character varying(3)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># mp_fd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#bigint#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># mp_qcode#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O39"> - <dia:attribute name="obj_pos"> - <dia:point val="-290.807,-20.0546"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-290.857,-20.1046;-272.162,-12.6046"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-290.807,-20.0546"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="7.4000000000000004"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#op_predef#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#predefined operation#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># od_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('op_def_o ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># jrn_def_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># od_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># od_item#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># od_jrn_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># od_direct#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O40"> - <dia:attribute name="obj_pos"> - <dia:point val="51.7106,66.8"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="51.6606,66.75;70.7406,78.45"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="51.7106,66.8"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.98"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="11.6"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#op_predef_detail#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#contains the detail of predefined operations#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># opd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('op_prede ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># od_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># opd_poste#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># opd_amount#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># opd_tva_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># opd_quantity#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># opd_debit#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># opd_tva_amount#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># opd_comment#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># opd_qc#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O41"> - <dia:attribute name="obj_pos"> - <dia:point val="-287.147,-12.9418"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-287.197,-12.9918;-267.347,-2.2918"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-287.147,-12.9418"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="19.75"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="10.6"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#operation_analytique#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#History of the analytic account#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># oa_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('historiq ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># po_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pa_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># oa_amount#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># oa_description#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># oa_debit#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#true#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># oa_group#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('s_oa_gro ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># oa_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># oa_row#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O42"> - <dia:attribute name="obj_pos"> - <dia:point val="-377.632,39.0955"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-377.682,39.0455;-366.307,43.3455"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-377.632,39.0955"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="11.275"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4.2000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#parameter#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#parameter of the company#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pr_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pr_value#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O43"> - <dia:attribute name="obj_pos"> - <dia:point val="-358.482,57.8425"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-358.532,57.7925;-351.002,61.8925"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-358.482,57.8425"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="7.4299999999999997"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#parm_code#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_value#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_comment#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O44"> - <dia:attribute name="obj_pos"> - <dia:point val="-282.437,54.8774"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-282.487,54.8274;-263.792,59.9274"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-282.437,54.8774"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="5"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#parm_money#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Currency conversion#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pm_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_curre ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pm_code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character(3)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pm_rate#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O45"> - <dia:attribute name="obj_pos"> - <dia:point val="-278.777,-11.5728"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-278.827,-11.6228;-259.362,-3.1228"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-278.777,-11.5728"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="19.365000000000002"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="8.4000000000000004"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#parm_periode#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Periode definition#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_perio ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_start#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_end#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_exercice#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#to_char(now(), 'Y ... text)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_closed#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#false#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_central#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#false#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"> - <dia:composite type="umloperation"> - <dia:attribute name="name"> - <dia:string>#parm_periode_check#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="inheritance_type"> - <dia:enum val="2"/> - </dia:attribute> - <dia:attribute name="query"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="parameters"> - <dia:composite type="umlparameter"> - <dia:attribute name="name"> - <dia:string>#CHECK ((p_end >= p_start))#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="kind"> - <dia:enum val="0"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O46"> - <dia:attribute name="obj_pos"> - <dia:point val="-383.776,98.962"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-383.826,98.912;-368.761,104.212"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-383.776,98.962"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="14.965"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="5.2000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#parm_poste#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Contains data for finding is the ty ... sset)#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_value#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#poste_comptable#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># p_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O47"> - <dia:attribute name="obj_pos"> - <dia:point val="-274.418,97.1969"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-274.468,97.1469;-255.773,102.247"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-274.418,97.1969"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="5"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#plan_analytique#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Plan Analytique (max 5)#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pa_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('plan_ana ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pa_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#'Sans Nom'::text#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pa_description#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O48"> - <dia:attribute name="obj_pos"> - <dia:point val="-270.758,44.1538"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-270.808,44.1038;-252.113,51.6038"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-270.758,44.1538"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="7.4000000000000004"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#poste_analytique#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Poste Analytique#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># po_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('poste_an ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># po_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pa_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># po_amount#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#0.0#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># po_description#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ga_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character varying(10)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O49"> - <dia:attribute name="obj_pos"> - <dia:point val="71.6,38.2"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="71.55,38.15;90.245,51.05"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="71.6,38.2"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="12.800000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#quant_purchase#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_quant ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_internal#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_fiche#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_quantite#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_price#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_vat#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#0.0#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_vat_code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_nd_amount#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#0.0#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_nd_tva#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#0.0#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_nd_tva_recup#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#0.0#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_supplier#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_valid#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character(1)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#'Y'::bpchar#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qp_dep_priv#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#0.0#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O50"> - <dia:attribute name="obj_pos"> - <dia:point val="-15.5286,-33.8"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-15.5786,-33.85;3.1164,-23.15"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-15.5286,-33.8"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="10.6"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#quant_sold#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Contains about invoice for customer#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qs_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_quant ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qs_internal#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qs_fiche#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qs_quantite#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qs_price#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qs_vat#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(20,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qs_vat_code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qs_client#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># qs_valid#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character(1)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#'Y'::bpchar#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O51"> - <dia:attribute name="obj_pos"> - <dia:point val="-249.468,30.6"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-249.518,30.55;-225.048,43.05"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-249.468,30.6"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="24.369999999999997"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="12.4"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#stock_goods#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#About the goods#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># sg_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_stock ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># f_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># sg_code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># sg_quantity#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(8,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># sg_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character(1)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#'c'::bpchar#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># sg_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># sg_tech_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#now()#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># sg_tech_user#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># sg_comment#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character varying(80)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># sg_exercice#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#character varying(4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"> - <dia:composite type="umloperation"> - <dia:attribute name="name"> - <dia:string>#stock_goods_sg_type#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="inheritance_type"> - <dia:enum val="2"/> - </dia:attribute> - <dia:attribute name="query"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="parameters"> - <dia:composite type="umlparameter"> - <dia:attribute name="name"> - <dia:string>#CHECK (((sg_type = 'c'::bpchar ... ar)))#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="kind"> - <dia:enum val="0"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O52"> - <dia:attribute name="obj_pos"> - <dia:point val="-290.583,38.8235"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-290.633,38.7735;-275.57,44.6735"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-290.583,38.8235"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="14.9625"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="5.8000000000000007"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#tmp_pcmn#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Plan comptable minimum normalisé#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pcm_val#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#poste_comptable#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pcm_lib#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pcm_val_parent#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#poste_comptable#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pcm_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O53"> - <dia:attribute name="obj_pos"> - <dia:point val="-267.098,72.5974"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-267.148,72.5474;-248.453,79.2474"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-267.098,72.5974"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="6.5999999999999996"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#todo_list#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Todo list#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tl_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('todo_lis ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tl_date#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#date#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tl_title#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tl_desc#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># use_login#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O54"> - <dia:attribute name="obj_pos"> - <dia:point val="-95.6789,-24"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-95.7289,-24.05;-77.0339,-17.35"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-95.6789,-24"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="6.5999999999999996"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#tva_rate#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#Rate of vat#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tva_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval('s_tva'::regclass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tva_label#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tva_rate#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(8,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#0.0#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tva_comment#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tva_poste#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O55"> - <dia:attribute name="obj_pos"> - <dia:point val="-380.62,72.2323"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-380.67,72.1823;-369.087,77.2823"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-380.62,72.2323"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="11.4825"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="5"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#user_local_pref#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#The user's local parameter #</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># user_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># parameter_type#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># parameter_value#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O56"> - <dia:attribute name="obj_pos"> - <dia:point val="-263.438,95.2317"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-263.488,95.1817;-244.793,99.2817"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-263.438,95.2317"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#user_sec_act#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ua_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_user_ ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ua_login#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ua_act_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O57"> - <dia:attribute name="obj_pos"> - <dia:point val="-71.2,16.8"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-71.25,16.75;-52.555,21.65"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-71.2,16.8"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="18.594999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4.8000000000000007"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#user_sec_jrn#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># uj_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>#nextval(('s_user_ ... lass)#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># uj_login#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># uj_jrn_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># uj_priv#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O58"> - <dia:attribute name="obj_pos"> - <dia:point val="-334.143,97.8838"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-334.193,97.8338;-327.818,100.334"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-334.143,97.8838"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="6.2750000000000004"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="2.3999999999999999"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#version#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># val#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O59"> - <dia:attribute name="obj_pos"> - <dia:point val="56.1007,69.2"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="56.0507,69.15;65.8907,78.85"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="56.1007,69.2"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="9.7400000000000002"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="9.5999999999999996"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#vw_client#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># f_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># quick_code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tva_num#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># poste_comptable#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># rue#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># code_postal#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pays#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># telephone#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># email#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O60"> - <dia:attribute name="obj_pos"> - <dia:point val="-13.4082,28"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-13.4582,27.95;-3.2332,40.05"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-13.4082,28"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="10.125"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="12.000000000000002"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#vw_fiche_attr#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># f_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># vw_name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># vw_sell#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># vw_buy#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tva_code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tva_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tva_rate#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#numeric(8,4)#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tva_label#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># vw_addr#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># vw_cp#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># quick_code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># frd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O61"> - <dia:attribute name="obj_pos"> - <dia:point val="-12.1681,40.8"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-12.2181,40.75;1.0869,49.85"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-12.1681,40.8"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="13.205"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="9"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#vw_fiche_def#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#all the attributs for card family#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ad_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ad_text#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># av_text#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fd_class_base#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#poste_comptable#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fd_label#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># fd_create_account#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#boolean#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># frd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O62"> - <dia:attribute name="obj_pos"> - <dia:point val="-12.6204,12.6"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-12.6704,12.55;2.4746,19.25"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-12.6204,12.6"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="15.044999999999998"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="6.5999999999999996"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#vw_fiche_min#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>#minimum attribut for reference card#</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># frd_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ad_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># ad_text#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># frd_text#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># frd_class_base#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O63"> - <dia:attribute name="obj_pos"> - <dia:point val="-364.972,70.2672"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-365.022,70.2172;-357.124,74.3172"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-364.972,70.2672"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="7.7974999999999994"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="4"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#vw_poste_qcode#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># f_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_poste#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># j_qcode#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Class" version="0" id="O64"> - <dia:attribute name="obj_pos"> - <dia:point val="-67.5401,-7.4"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-67.5901,-7.45;-57.7501,2.25"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="-67.5401,-7.4"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="9.7400000000000002"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="9.5999999999999996"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#vw_supplier#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_attributes"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="suppress_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_attributes"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="visible_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="visible_comments"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="wrap_operations"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="wrap_after_char"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_line_length"> - <dia:int val="40"/> - </dia:attribute> - <dia:attribute name="comment_tagging"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_color"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="text_color"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="abstract_font"> - <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> - </dia:attribute> - <dia:attribute name="polymorphic_font"> - <dia:font family="monospace" style="8" name="Courier-Oblique"/> - </dia:attribute> - <dia:attribute name="classname_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font"> - <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="8" name="Helvetica-Oblique"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="polymorphic_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="abstract_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="abstract_classname_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="attributes"> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># f_id#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#integer#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># name#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># quick_code#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># tva_num#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># poste_comptable#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># rue#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># code_postal#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># pays#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># telephone#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - <dia:composite type="umlattribute"> - <dia:attribute name="name"> - <dia:string># email#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>#text#</dia:string> - </dia:attribute> - <dia:attribute name="value"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visibility"> - <dia:enum val="3"/> - </dia:attribute> - <dia:attribute name="abstract"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="class_scope"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="operations"/> - <dia:attribute name="template"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="templates"/> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O65"> - <dia:attribute name="obj_pos"> - <dia:point val="-383.41,23.0203"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-383.46,-29.8449;-357.046,23.0703"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-383.41,23.0203"/> - <dia:point val="-383.41,-29.0449"/> - <dia:point val="-357.496,-29.0449"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O3" connection="8"/> - <dia:connection handle="1" to="O20" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O66"> - <dia:attribute name="obj_pos"> - <dia:point val="-383.41,23.8203"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-383.46,23.7703;-351.314,26.5854"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-383.41,23.8203"/> - <dia:point val="-383.41,25.7854"/> - <dia:point val="-351.764,25.7854"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O3" connection="10"/> - <dia:connection handle="1" to="O2" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O67"> - <dia:attribute name="obj_pos"> - <dia:point val="-327.653,34.125"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-327.703,34.075;-293.806,53.7863"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-327.653,34.125"/> - <dia:point val="-327.653,52.9863"/> - <dia:point val="-294.256,52.9863"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O4" connection="8"/> - <dia:connection handle="1" to="O28" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O68"> - <dia:attribute name="obj_pos"> - <dia:point val="-365.054,105.97"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-365.104,89.7473;-336.325,106.02"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-365.054,105.97"/> - <dia:point val="-365.054,90.5473"/> - <dia:point val="-336.775,90.5473"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#bud_hypothese_bh_id#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O6" connection="18"/> - <dia:connection handle="1" to="O9" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O69"> - <dia:attribute name="obj_pos"> - <dia:point val="-365.054,105.97"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-365.104,89.7473;-336.325,106.02"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-365.054,105.97"/> - <dia:point val="-365.054,90.5473"/> - <dia:point val="-336.775,90.5473"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#fk_bud_hypo_bh_id#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O6" connection="18"/> - <dia:connection handle="1" to="O9" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O70"> - <dia:attribute name="obj_pos"> - <dia:point val="-361.394,106.792"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-361.444,101.17;-347.654,106.842"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-361.394,106.792"/> - <dia:point val="-361.394,101.97"/> - <dia:point val="-348.104,101.97"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#fk_bud_card#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O7" connection="12"/> - <dia:connection handle="1" to="O6" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O71"> - <dia:attribute name="obj_pos"> - <dia:point val="-361.394,107.592"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-361.444,89.7473;-336.325,107.642"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-361.394,107.592"/> - <dia:point val="-361.394,90.5473"/> - <dia:point val="-336.775,90.5473"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#fk_bud_hypothese_not_null#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O7" connection="14"/> - <dia:connection handle="1" to="O9" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O72"> - <dia:attribute name="obj_pos"> - <dia:point val="-361.394,108.392"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-361.444,40.9235;-275.171,108.442"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-361.394,108.392"/> - <dia:point val="-361.394,41.7235"/> - <dia:point val="-275.62,41.7235"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#fk_tmp_pcmn#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O7" connection="16"/> - <dia:connection handle="1" to="O52" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O73"> - <dia:attribute name="obj_pos"> - <dia:point val="-357.734,94.3124"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-357.784,-9.47284;-260.677,94.3624"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-357.734,94.3124"/> - <dia:point val="-357.734,-8.67284"/> - <dia:point val="-261.127,-8.67284"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#fk_parm_periode#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O8" connection="12"/> - <dia:connection handle="1" to="O45" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O74"> - <dia:attribute name="obj_pos"> - <dia:point val="-357.734,95.1124"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-357.784,95.0624;-343.994,105.992"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-357.734,95.1124"/> - <dia:point val="-357.734,105.192"/> - <dia:point val="-344.444,105.192"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#fk_bud_detail_bd_id#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O8" connection="14"/> - <dia:connection handle="1" to="O7" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O75"> - <dia:attribute name="obj_pos"> - <dia:point val="-353.725,93.7473"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-353.775,93.6973;-257.018,100.897"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-353.725,93.7473"/> - <dia:point val="-353.725,100.097"/> - <dia:point val="-257.468,100.097"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#fk_bud_hypo_pa_id#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O9" connection="16"/> - <dia:connection handle="1" to="O47" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O76"> - <dia:attribute name="obj_pos"> - <dia:point val="-350.065,-32.1147"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-350.115,-32.1647;-276.977,62.3387"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-350.065,-32.1147"/> - <dia:point val="-350.065,61.5387"/> - <dia:point val="-277.427,61.5387"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O10" connection="20"/> - <dia:connection handle="1" to="O32" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O77"> - <dia:attribute name="obj_pos"> - <dia:point val="-350.065,-31.3147"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-350.115,-31.3647;-275.171,42.5235"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-350.065,-31.3147"/> - <dia:point val="-350.065,41.7235"/> - <dia:point val="-275.62,41.7235"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O10" connection="22"/> - <dia:connection handle="1" to="O52" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O78"> - <dia:attribute name="obj_pos"> - <dia:point val="-332.145,-46.0495"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-332.195,-46.0995;-318.625,75.2228"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-332.145,-46.0495"/> - <dia:point val="-332.145,74.4228"/> - <dia:point val="-319.075,74.4228"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#md_type#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O15" connection="14"/> - <dia:connection handle="1" to="O17" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O79"> - <dia:attribute name="obj_pos"> - <dia:point val="-333.515,90.9821"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-333.565,-30.8798;-312.806,91.0321"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-333.515,90.9821"/> - <dia:point val="-333.515,-30.0798"/> - <dia:point val="-313.256,-30.0798"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O18" connection="10"/> - <dia:connection handle="1" to="O19" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O80"> - <dia:attribute name="obj_pos"> - <dia:point val="-330.206,-26.8798"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-357.946,-29.8449;-330.156,-26.8298"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-330.206,-26.8798"/> - <dia:point val="-330.206,-29.0449"/> - <dia:point val="-357.496,-29.0449"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O19" connection="16"/> - <dia:connection handle="1" to="O20" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O81"> - <dia:attribute name="obj_pos"> - <dia:point val="-322.536,61.9076"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-322.586,14.0954;-301.476,61.9576"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-322.536,61.9076"/> - <dia:point val="-322.536,14.8954"/> - <dia:point val="-301.926,14.8954"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#formdef_fk#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O21" connection="10"/> - <dia:connection handle="1" to="O23" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O82"> - <dia:attribute name="obj_pos"> - <dia:point val="-311.556,53.7863"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-317.365,53.7363;-311.506,90.9821"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-311.556,53.7863"/> - <dia:point val="-311.556,90.1821"/> - <dia:point val="-316.915,90.1821"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O28" connection="10"/> - <dia:connection handle="1" to="O18" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O83"> - <dia:attribute name="obj_pos"> - <dia:point val="-311.556,54.5863"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-352.214,24.9854;-311.506,54.6363"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-311.556,54.5863"/> - <dia:point val="-311.556,25.7854"/> - <dia:point val="-351.764,25.7854"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O28" connection="12"/> - <dia:connection handle="1" to="O2" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O84"> - <dia:attribute name="obj_pos"> - <dia:point val="-297.946,18.0712"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-313.706,-30.8798;-297.896,18.1212"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-297.946,18.0712"/> - <dia:point val="-297.946,-30.0798"/> - <dia:point val="-313.256,-30.0798"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O29" connection="8"/> - <dia:connection handle="1" to="O19" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O85"> - <dia:attribute name="obj_pos"> - <dia:point val="-297.946,18.8712"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-352.214,18.8212;-297.896,26.5854"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-297.946,18.8712"/> - <dia:point val="-297.946,25.7854"/> - <dia:point val="-351.764,25.7854"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O29" connection="10"/> - <dia:connection handle="1" to="O2" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O86"> - <dia:attribute name="obj_pos"> - <dia:point val="-20.9385,77.7"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-277.877,60.7387;-20.8885,77.75"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-20.9385,77.7"/> - <dia:point val="-20.9385,61.5387"/> - <dia:point val="-277.427,61.5387"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O30" connection="10"/> - <dia:connection handle="1" to="O32" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O87"> - <dia:attribute name="obj_pos"> - <dia:point val="-303.887,-31.1036"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-364.792,-31.1536;-303.837,45.5606"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-303.887,-31.1036"/> - <dia:point val="-303.887,44.7606"/> - <dia:point val="-364.342,44.7606"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O31" connection="20"/> - <dia:connection handle="1" to="O36" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O88"> - <dia:attribute name="obj_pos"> - <dia:point val="-296.127,69.5387"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-364.792,43.9606;-296.077,69.5887"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-296.127,69.5387"/> - <dia:point val="-296.127,44.7606"/> - <dia:point val="-364.342,44.7606"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O32" connection="28"/> - <dia:connection handle="1" to="O36" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O89"> - <dia:attribute name="obj_pos"> - <dia:point val="-346.551,50.656"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-346.601,50.606;-1.78849,77.7"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-346.551,50.656"/> - <dia:point val="-346.551,76.9"/> - <dia:point val="-2.23849,76.9"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#fk_jrn#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O33" connection="10"/> - <dia:connection handle="1" to="O30" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O90"> - <dia:attribute name="obj_pos"> - <dia:point val="-346.551,51.456"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-372.078,51.406;-346.501,58.5166"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-346.551,51.456"/> - <dia:point val="-346.551,57.7166"/> - <dia:point val="-371.628,57.7166"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#fk_info_def#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O33" connection="12"/> - <dia:connection handle="1" to="O26" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O91"> - <dia:attribute name="obj_pos"> - <dia:point val="-353.391,47.6909"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-353.441,47.6409;-276.977,62.3387"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-353.391,47.6909"/> - <dia:point val="-353.391,61.5387"/> - <dia:point val="-277.427,61.5387"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jrn_per_jrn_def_id#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O34" connection="8"/> - <dia:connection handle="1" to="O32" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O92"> - <dia:attribute name="obj_pos"> - <dia:point val="-353.391,48.4909"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-353.441,-9.47284;-260.677,48.5409"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-353.391,48.4909"/> - <dia:point val="-353.391,-8.67284"/> - <dia:point val="-261.127,-8.67284"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jrn_periode_p_id#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O34" connection="10"/> - <dia:connection handle="1" to="O45" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O93"> - <dia:attribute name="obj_pos"> - <dia:point val="85.4803,6.5"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-276.07,6.45;85.5303,42.5235"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="85.4803,6.5"/> - <dia:point val="85.4803,41.7235"/> - <dia:point val="-275.62,41.7235"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O37" connection="14"/> - <dia:connection handle="1" to="O52" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O94"> - <dia:attribute name="obj_pos"> - <dia:point val="85.4803,8.9"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-277.877,8.85;85.5303,62.3387"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="85.4803,8.9"/> - <dia:point val="85.4803,61.5387"/> - <dia:point val="-277.427,61.5387"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O37" connection="20"/> - <dia:connection handle="1" to="O32" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O95"> - <dia:attribute name="obj_pos"> - <dia:point val="-408.968,-51.1661"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-409.018,-51.2161;-276.977,62.3387"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-408.968,-51.1661"/> - <dia:point val="-408.968,61.5387"/> - <dia:point val="-277.427,61.5387"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#mod_payment_mp_jrn_def_id_fkey#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O38" connection="12"/> - <dia:connection handle="1" to="O32" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O96"> - <dia:attribute name="obj_pos"> - <dia:point val="-408.968,-49.5661"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-409.018,-49.6161;-312.806,-29.2798"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-408.968,-49.5661"/> - <dia:point val="-408.968,-30.0798"/> - <dia:point val="-313.256,-30.0798"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#mod_payment_mp_fd_id_fkey#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O38" connection="16"/> - <dia:connection handle="1" to="O19" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O97"> - <dia:attribute name="obj_pos"> - <dia:point val="-290.807,-16.3546"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-290.857,-16.4046;-276.977,62.3387"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-290.807,-16.3546"/> - <dia:point val="-290.807,61.5387"/> - <dia:point val="-277.427,61.5387"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#jrn_def_id_fk#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O39" connection="10"/> - <dia:connection handle="1" to="O32" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O98"> - <dia:attribute name="obj_pos"> - <dia:point val="-287.147,-9.24178"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-287.197,-9.29178;-253.358,47.8538"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-287.147,-9.24178"/> - <dia:point val="-287.147,47.0538"/> - <dia:point val="-253.808,47.0538"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#operation_analytique_po_id_fkey#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O41" connection="10"/> - <dia:connection handle="1" to="O48" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O99"> - <dia:attribute name="obj_pos"> - <dia:point val="-287.147,-5.24178"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-287.197,-5.29178;104.28,4.9"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-287.147,-5.24178"/> - <dia:point val="-287.147,4.1"/> - <dia:point val="103.83,4.1"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#operation_analytique_j_id_fkey#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O41" connection="20"/> - <dia:connection handle="1" to="O37" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O100"> - <dia:attribute name="obj_pos"> - <dia:point val="-270.758,48.6538"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-270.808,48.6038;-257.018,100.897"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-270.758,48.6538"/> - <dia:point val="-270.758,100.097"/> - <dia:point val="-257.468,100.097"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#poste_analytique_pa_id_fkey#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O48" connection="12"/> - <dia:connection handle="1" to="O47" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O101"> - <dia:attribute name="obj_pos"> - <dia:point val="71.6,41.7"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="71.55,3.3;104.28,41.75"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="71.6,41.7"/> - <dia:point val="71.6,4.1"/> - <dia:point val="103.83,4.1"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#quant_purchase_j_id_fkey#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O49" connection="12"/> - <dia:connection handle="1" to="O37" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O102"> - <dia:attribute name="obj_pos"> - <dia:point val="71.6,45.7"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-79.1789,-21.9;71.65,45.75"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="71.6,45.7"/> - <dia:point val="71.6,-21.1"/> - <dia:point val="-78.7289,-21.1"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#qp_vat_code_fk#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O49" connection="22"/> - <dia:connection handle="1" to="O54" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O103"> - <dia:attribute name="obj_pos"> - <dia:point val="-15.5286,-26.1"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-79.1789,-26.15;-15.4786,-20.3"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-15.5286,-26.1"/> - <dia:point val="-15.5286,-21.1"/> - <dia:point val="-78.7289,-21.1"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#qs_vat_code_fk#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O50" connection="20"/> - <dia:connection handle="1" to="O54" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O104"> - <dia:attribute name="obj_pos"> - <dia:point val="-15.5286,-23.7"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-15.5786,-23.75;104.28,4.9"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-15.5286,-23.7"/> - <dia:point val="-15.5286,4.1"/> - <dia:point val="103.83,4.1"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#quant_sold_j_id_fkey#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O50" connection="26"/> - <dia:connection handle="1" to="O37" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O105"> - <dia:attribute name="obj_pos"> - <dia:point val="-263.438,98.7317"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-359.862,26.1506;-263.388,98.7817"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-263.438,98.7317"/> - <dia:point val="-263.438,26.9506"/> - <dia:point val="-359.412,26.9506"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O56" connection="12"/> - <dia:connection handle="1" to="O0" connection="9"/> - </dia:connections> - </dia:object> - <dia:object type="UML - Dependency" version="1" id="O106"> - <dia:attribute name="obj_pos"> - <dia:point val="-71.2,20.3"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="-277.877,20.25;-71.15,62.3387"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="-71.2,20.3"/> - <dia:point val="-71.2,61.5387"/> - <dia:point val="-277.427,61.5387"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#uj_priv_id_fkey#</dia:string> - </dia:attribute> - <dia:attribute name="stereotype"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="draw_arrow"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="O57" connection="12"/> - <dia:connection handle="1" to="O32" connection="9"/> - </dia:connections> - </dia:object> - </dia:layer> -</dia:diagram> diff --git a/sources/doc/developper/Doxyfile b/sources/doc/developper/Doxyfile deleted file mode 100644 index e89acbb..0000000 --- a/sources/doc/developper/Doxyfile +++ /dev/null @@ -1,1618 +0,0 @@ -# Doxyfile 1.6.3 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = noalyss - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = Version-6.8.0.0 - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = . - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = YES - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = YES - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = YES - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = YES - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = YES - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = doxygen-warn.log - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = ../../include \ - ../../html - - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.C \ - *.CC \ - *.C++ \ - *.II \ - *.I++ \ - *.H \ - *.HH \ - *.H++ \ - *.CS \ - *.PHP \ - *.PHP3 \ - *.M \ - *.MM \ - *.js \ - *.inc.php - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = ../../html/addon ../../include/tfpdf ../../unit-test - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = a?.php \ - b?.php \ - ?.php \ - test*.php \ - calendar-*.js \ - richtext.js \ - builder.js \ - controls.js \ - dragdrop.js \ - effects.js \ - prototype.js \ - scriptaculous.js \ - slider.js \ - sound.js \ - unittest.js. - - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = YES - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = NO - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = header.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = YES - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = YES - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = NO - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = YES - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 1000 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/sources/doc/developper/create_doc.sh b/sources/doc/developper/create_doc.sh deleted file mode 100755 index 23418cb..0000000 --- a/sources/doc/developper/create_doc.sh +++ /dev/null @@ -1,9 +0,0 @@ -doxygen -cd html; sed -i "s/utf-8/utf-8/g" * -cd .. -if [ ! -z "$PGUSER" ] ; then - echo "DOMAINE = $DOMAIN" - postgresql_autodoc -u $PGUSER --password=$PGPASSWORD -h localhost -d ${DOMAIN}mod1 - postgresql_autodoc -u $PGUSER --password=$PGPASSWORD -h localhost -d ${DOMAIN}account_repository -fi -cd ../../ && bash dev/compose_list.sh diff --git a/sources/doc/developper/header.html b/sources/doc/developper/header.html deleted file mode 100644 index e04310f..0000000 --- a/sources/doc/developper/header.html +++ /dev/null @@ -1,2 +0,0 @@ -</BODY> -</HTML> diff --git a/sources/doc/developper/html/.htaccess b/sources/doc/developper/html/.htaccess deleted file mode 100644 index f111ed1..0000000 --- a/sources/doc/developper/html/.htaccess +++ /dev/null @@ -1,2 +0,0 @@ -AddDefaultCharset utf-8 - diff --git a/sources/doc/document.dia b/sources/doc/document.dia deleted file mode 100644 index 2de7623432ac9a26b48cfb43202a193a30e9d998..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3365 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 diff --git a/sources/doc/document2.dia b/sources/doc/document2.dia deleted file mode 100644 index c316d1b3f0e7d2dc709b9711492419095f6b60a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2350 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 diff --git a/sources/doc/fiche.dia b/sources/doc/fiche.dia deleted file mode 100644 index f641d727a377426c5ec915cb7aa23586a3b37079..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2739 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 Q+<X9Dl&@56-T(mp4S{qi8~^|S diff --git a/sources/doc/fpdf/FAQ.htm b/sources/doc/fpdf/FAQ.htm deleted file mode 100755 index 05d85c6..0000000 --- a/sources/doc/fpdf/FAQ.htm +++ /dev/null @@ -1,341 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> -<title>FAQ - - - - -

    FAQ

    -
    - -
      -
    • -

      1. What's exactly the license of FPDF? Are there any usage restrictions?

      -FPDF is released under a permissive license: there is no usage restriction. You may embed it -freely in your application (commercial or not), with or without modifications. -
    • - -
    • -

      2. When I try to create a PDF, a lot of weird characters show on the screen. Why?

      -These "weird" characters are in fact the actual content of your PDF. This behavior is a bug of -IE6. When it first receives an HTML page, then a PDF from the same URL, it displays it directly -without launching Acrobat. This happens frequently during the development stage: on the least -script error, an HTML page is sent, and after correction, the PDF arrives. -
      -To solve the problem, simply quit and restart IE. You can also go to another URL and come -back. -
      -To avoid this kind of inconvenience during the development, you can generate the PDF directly -to a file and open it through the explorer. -
    • - -
    • -

      3. I try to generate a PDF and IE displays a blank page. What happens?

      -First of all, check that you send nothing to the browser after the PDF (not even a space or a -carriage return). You can put an exit statement just after the call to the Output() method to -be sure. If it still doesn't work, it means you're a victim of the "blank page syndrome". IE -used in conjunction with the Acrobat plug-in suffers from many bugs. To avoid these problems -in a reliable manner, two main techniques exist: -
      -
      -- Disable the plug-in and use Acrobat as a helper application. To do this, launch Acrobat, go -to the Edit menu, Preferences, Internet, and uncheck "Display PDF in browser". Then, the next -time you load a PDF in IE, it displays the dialog box "Open it" or "Save it to disk". Uncheck -the option "Always ask before opening this type of file" and choose Open. From now on, PDF files -will open automatically in an external Acrobat window. -
      -The drawback of the method is that you need to alter the client configuration, which you can do -in an intranet environment but not for the Internet. -
      -
      -- Use a redirection technique. It consists in generating the PDF in a temporary file on the server -and redirect the client to it. For example, at the end of the script, you can put the following: -
      -
      //Determine a temporary file name in the current directory
      -$file = basename(tempnam('.', 'tmp'));
      -rename($file, $file.'.pdf');
      -$file .= '.pdf';
      -//Save PDF to file
      -$pdf->Output($file, 'F');
      -//Redirect
      -header('Location: '.$file);
      -
      -This method turns the dynamic PDF into a static one and avoids all troubles. But you have to do -some cleaning in order to delete the temporary files. For example: -
      -
      function CleanFiles($dir)
      -{
      -    //Delete temporary files
      -    $t = time();
      -    $h = opendir($dir);
      -    while($file=readdir($h))
      -    {
      -        if(substr($file,0,3)=='tmp' && substr($file,-4)=='.pdf')
      -        {
      -            $path = $dir.'/'.$file;
      -            if($t-filemtime($path)>3600)
      -                @unlink($path);
      -        }
      -    }
      -    closedir($h);
      -}
      -
      -This function deletes all files of the form tmp*.pdf older than an hour in the specified -directory. You may call it where you want, for example in the script which generates the PDF. -
    • - -
    • -

      4. I can't make line breaks work. I put \n in the string printed by MultiCell but it doesn't work.

      -You have to enclose your string with double quotes, not single ones. -
    • - -
    • -

      5. I try to display a variable in the Header method but nothing prints.

      -You have to use the global keyword to access global variables, for example: -
      -
      function Header()
      -{
      -    global $title;
      -
      -    $this->SetFont('Arial', 'B', 15);
      -    $this->Cell(0, 10, $title, 1, 1, 'C');
      -}
      -
      -$title = 'My title';
      -
      -Alternatively, you can use an object property: -
      -
      function Header()
      -{
      -    $this->SetFont('Arial', 'B', 15);
      -    $this->Cell(0, 10, $this->title, 1, 1, 'C');
      -}
      -
      -$pdf->title = 'My title';
      -
      -
    • - -
    • -

      6. I defined the Header and Footer methods in my PDF class but nothing appears.

      -You have to create an object from the PDF class, not FPDF: -
      -
      $pdf = new PDF();
      -
      -
    • - -
    • -

      7. Accented characters are replaced by some strange characters like é.

      -Don't use UTF-8 encoding. Standard FPDF fonts use ISO-8859-1 or Windows-1252. -It is possible to perform a conversion to ISO-8859-1 with utf8_decode(): -
      -
      $str = utf8_decode($str);
      -
      -But some characters such as Euro won't be translated correctly. If the iconv extension is available, the -right way to do it is the following: -
      -
      $str = iconv('UTF-8', 'windows-1252', $str);
      -
      -
    • - -
    • -

      8. I try to display the Euro symbol but it doesn't work.

      -The standard fonts have the Euro character at position 128. You can define a constant like this -for convenience: -
      -
      define('EURO', chr(128));
      -
      -
    • - -
    • -

      9. I get the following error when I try to generate a PDF: Some data has already been output, can't send PDF file

      -You must send nothing to the browser except the PDF itself: no HTML, no space, no carriage return. A common -case is having extra blank at the end of an included script file.
      -If you can't figure out where the problem comes from, this other message appearing just before can help you:
      -
      -Warning: Cannot modify header information - headers already sent by (output started at script.php:X)
      -
      -It means that script.php outputs something at line X. Go to this line and fix it. -In case the message doesn't show, first check that you didn't disable warnings, then add this at the very -beginning of your script: -
      -
      ob_end_clean();
      -
      -If you still don't see it, disable zlib.output_compression in your php.ini and it should appear. -
    • - -
    • -

      10. I draw a frame with very precise dimensions, but when printed I notice some differences.

      -To respect dimensions, select "None" for the Page Scaling setting instead of "Shrink to Printable Area" in the print dialog box. -
    • - -
    • -

      11. I'd like to use the whole surface of the page, but when printed I always have some margins. How can I get rid of them?

      -Printers have physical margins (different depending on the models); it is therefore impossible to remove -them and print on the whole surface of the paper. -
    • - -
    • -

      12. How can I put a background in my PDF?

      -For a picture, call Image() in the Header() method, before any other output. To set a background color, use Rect(). -
    • - -
    • -

      13. How can I set a specific header or footer on the first page?

      -Simply test the page number: -
      -
      function Header()
      -{
      -    if($this->PageNo()==1)
      -    {
      -        //First page
      -        ...
      -    }
      -    else
      -    {
      -        //Other pages
      -        ...
      -    }
      -}
      -
      -
    • - -
    • -

      14. I'd like to use extensions provided by different scripts. How can I combine them?

      -Use an inheritance chain. If you have two classes, say A in a.php: -
      -
      require('fpdf.php');
      -
      -class A extends FPDF
      -{
      -...
      -}
      -
      -and B in b.php: -
      -
      require('fpdf.php');
      -
      -class B extends FPDF
      -{
      -...
      -}
      -
      -then make B extend A: -
      -
      require('a.php');
      -
      -class B extends A
      -{
      -...
      -}
      -
      -and make your own class extend B: -
      -
      require('b.php');
      -
      -class PDF extends B
      -{
      -...
      -}
      -
      -$pdf = new PDF();
      -
      -
    • - -
    • -

      15. How can I send the PDF by email?

      -As any other file, but an easy way is to use PHPMailer and -its in-memory attachment: -
      -
      $mail = new PHPMailer();
      -...
      -$doc = $pdf->Output('', 'S');
      -$mail->AddStringAttachment($doc, 'doc.pdf', 'base64', 'application/pdf');
      -$mail->Send();
      -
      -
    • - -
    • -

      16. What's the limit of the file sizes I can generate with FPDF?

      -There is no particular limit. There are some constraints, however: -
      -
      -- The maximum memory size allocated to PHP scripts is usually 8MB. For very big documents, -especially with images, this limit may be reached (the file being built into memory). The -parameter is configured in the php.ini file. -
      -
      -- The maximum execution time allocated defaults to 30 seconds. This limit can of course be easily -reached. It is configured in php.ini and may be altered dynamically with set_time_limit(). -
      -
      -- Browsers generally have a 5 minute time-out. If you send the PDF directly to the browser and -reach the limit, it will be lost. It is therefore advised for very big documents to -generate them in a file, and to send some data to the browser from time to time (with a call -to flush() to force the output). When the document is finished, you can send a redirection to -it or create a link. -
      -Remark: even if the browser times out, the script may continue to run on the server. -
    • - -
    • -

      17. Can I modify a PDF with FPDF?

      -It is possible to import pages from an existing PDF document thanks to the FPDI extension:
      -
      -http://www.setasign.de/products/pdf-php-solutions/fpdi/
      -
      -You can then add some content to them. -
    • - -
    • -

      18. I'd like to make a search engine in PHP and index PDF files. Can I do it with FPDF?

      -No. But a GPL C utility does exist, pdftotext, which is able to extract the textual content from -a PDF. It is provided with the Xpdf package:
      -
      -http://www.foolabs.com/xpdf/ -
    • - -
    • -

      19. Can I convert an HTML page to PDF with FPDF?

      -Not real-world pages. But a GPL C utility does exist, htmldoc, which allows to do it and gives good results:
      -
      -http://www.htmldoc.org -
    • - -
    • -

      20. Can I concatenate PDF files with FPDF?

      -Not directly, but it is possible to use FPDI -to perform this task. Some free command-line tools also exist:
      -
      -mbtPdfAsm
      -pdftk -
    • -
    - - diff --git a/sources/doc/fpdf/doc/acceptpagebreak.htm b/sources/doc/fpdf/doc/acceptpagebreak.htm deleted file mode 100755 index ea067b5..0000000 --- a/sources/doc/fpdf/doc/acceptpagebreak.htm +++ /dev/null @@ -1,63 +0,0 @@ - - - - -AcceptPageBreak - - - -

    AcceptPageBreak

    -boolean AcceptPageBreak() -

    Description

    -Whenever a page break condition is met, the method is called, and the break is issued or not -depending on the returned value. The default implementation returns a value according to the -mode selected by SetAutoPageBreak(). -
    -This method is called automatically and should not be called directly by the application. -

    Example

    -The method is overriden in an inherited class in order to obtain a 3 column layout: -
    -
    class PDF extends FPDF
    -{
    -var $col=0;
    -
    -function SetCol($col)
    -{
    -    //Move position to a column
    -    $this->col=$col;
    -    $x=10+$col*65;
    -    $this->SetLeftMargin($x);
    -    $this->SetX($x);
    -}
    -
    -function AcceptPageBreak()
    -{
    -    if($this->col<2)
    -    {
    -        //Go to next column
    -        $this->SetCol($this->col+1);
    -        $this->SetY(10);
    -        return false;
    -    }
    -    else
    -    {
    -        //Go back to first column and issue page break
    -        $this->SetCol(0);
    -        return true;
    -    }
    -}
    -}
    -
    -$pdf=new PDF();
    -$pdf->AddPage();
    -$pdf->SetFont('Arial','',12);
    -for($i=1;$i<=300;$i++)
    -    $pdf->Cell(0,5,"Line $i",0,1);
    -$pdf->Output();
    -
    -

    See also

    -SetAutoPageBreak(). -
    - - - diff --git a/sources/doc/fpdf/doc/addfont.htm b/sources/doc/fpdf/doc/addfont.htm deleted file mode 100755 index 15c156f..0000000 --- a/sources/doc/fpdf/doc/addfont.htm +++ /dev/null @@ -1,55 +0,0 @@ - - - - -AddFont - - - -

    AddFont

    -AddFont(string family [, string style [, string file]]) -

    Description

    -Imports a TrueType or Type1 font and makes it available. It is necessary to generate a font -definition file first with the makefont.php utility. -
    -The definition file (and the font file itself when embedding) must be present in the font directory. -If it is not found, the error "Could not include font definition file" is generated. -

    Parameters

    -
    -
    family
    -
    -Font family. The name can be chosen arbitrarily. If it is a standard family name, it will -override the corresponding font. -
    -
    style
    -
    -Font style. Possible values are (case insensitive): -
      -
    • empty string: regular
    • -
    • B: bold
    • -
    • I: italic
    • -
    • BI or IB: bold italic
    • -
    -The default value is regular. -
    -
    file
    -
    -The font definition file. -
    -By default, the name is built from the family and style, in lower case with no space. -
    -
    -

    Example

    -
    -
    $pdf->AddFont('Comic','I');
    -
    -is equivalent to: -
    -
    $pdf->AddFont('Comic','I','comici.php');
    -
    -

    See also

    -SetFont(). -
    - - - diff --git a/sources/doc/fpdf/doc/addlink.htm b/sources/doc/fpdf/doc/addlink.htm deleted file mode 100755 index 5681d58..0000000 --- a/sources/doc/fpdf/doc/addlink.htm +++ /dev/null @@ -1,26 +0,0 @@ - - - - -AddLink - - - -

    AddLink

    -int AddLink() -

    Description

    -Creates a new internal link and returns its identifier. An internal link is a clickable area -which directs to another place within the document. -
    -The identifier can then be passed to Cell(), Write(), Image() or Link(). The destination is -defined with SetLink(). -

    See also

    -Cell(), -Write(), -Image(), -Link(), -SetLink(). -
    - - - diff --git a/sources/doc/fpdf/doc/addpage.htm b/sources/doc/fpdf/doc/addpage.htm deleted file mode 100755 index f88d8ac..0000000 --- a/sources/doc/fpdf/doc/addpage.htm +++ /dev/null @@ -1,56 +0,0 @@ - - - - -AddPage - - - -

    AddPage

    -AddPage([string orientation ,[ mixed format]]) -

    Description

    -Adds a new page to the document. If a page is already present, the Footer() method is called -first to output the footer. Then the page is added, the current position set to the top-left -corner according to the left and top margins, and Header() is called to display the header. -
    -The font which was set before calling is automatically restored. There is no need to call -SetFont() again if you want to continue with the same font. The same is true for colors and -line width. -
    -The origin of the coordinate system is at the top-left corner and increasing ordinates go -downwards. -

    Parameters

    -
    -
    orientation
    -
    -Page orientation. Possible values are (case insensitive): -
      -
    • P or Portrait
    • -
    • L or Landscape
    • -
    -The default value is the one passed to the constructor. -
    -
    format
    -
    -Page format. It can be either one of the following values (case insensitive): -
      -
    • A3
    • -
    • A4
    • -
    • A5
    • -
    • Letter
    • -
    • Legal
    • -
    -or an array containing the width and the height (expressed in user unit).
    -
    -The default value is the one passed to the constructor. -
    -
    -

    See also

    -FPDF(), -Header(), -Footer(), -SetMargins(). -
    - - - diff --git a/sources/doc/fpdf/doc/aliasnbpages.htm b/sources/doc/fpdf/doc/aliasnbpages.htm deleted file mode 100755 index 2acfff1..0000000 --- a/sources/doc/fpdf/doc/aliasnbpages.htm +++ /dev/null @@ -1,45 +0,0 @@ - - - - -AliasNbPages - - - -

    AliasNbPages

    -AliasNbPages([string alias]) -

    Description

    -Defines an alias for the total number of pages. It will be substituted as the document is -closed. -

    Parameters

    -
    -
    alias
    -
    -The alias. Default value: {nb}. -
    -
    -

    Example

    -
    -
    class PDF extends FPDF
    -{
    -function Footer()
    -{
    -    //Go to 1.5 cm from bottom
    -    $this->SetY(-15);
    -    //Select Arial italic 8
    -    $this->SetFont('Arial','I',8);
    -    //Print current and total page numbers
    -    $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
    -}
    -}
    -
    -$pdf=new PDF();
    -$pdf->AliasNbPages();
    -
    -

    See also

    -PageNo(), -Footer(). -
    - - - diff --git a/sources/doc/fpdf/doc/cell.htm b/sources/doc/fpdf/doc/cell.htm deleted file mode 100755 index 2182cf7..0000000 --- a/sources/doc/fpdf/doc/cell.htm +++ /dev/null @@ -1,104 +0,0 @@ - - - - -Cell - - - -

    Cell

    -Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, boolean fill [, mixed link]]]]]]]) -

    Description

    -Prints a cell (rectangular area) with optional borders, background color and character string. -The upper-left corner of the cell corresponds to the current position. The text can be aligned -or centered. After the call, the current position moves to the right or to the next line. It is -possible to put a link on the text. -
    -If automatic page breaking is enabled and the cell goes beyond the limit, a page break is -done before outputting. -

    Parameters

    -
    -
    w
    -
    -Cell width. If 0, the cell extends up to the right margin. -
    -
    h
    -
    -Cell height. -Default value: 0. -
    -
    txt
    -
    -String to print. -Default value: empty string. -
    -
    border
    -
    -Indicates if borders must be drawn around the cell. The value can be either a number: -
      -
    • 0: no border
    • -
    • 1: frame
    • -
    -or a string containing some or all of the following characters (in any order): -
      -
    • L: left
    • -
    • T: top
    • -
    • R: right
    • -
    • B: bottom
    • -
    -Default value: 0. -
    -
    ln
    -
    -Indicates where the current position should go after the call. Possible values are: -
      -
    • 0: to the right
    • -
    • 1: to the beginning of the next line
    • -
    • 2: below
    • -
    -Putting 1 is equivalent to putting 0 and calling Ln() just after. -Default value: 0. -
    -
    align
    -
    -Allows to center or align the text. Possible values are: -
      -
    • L or empty string: left align (default value)
    • -
    • C: center
    • -
    • R: right align
    • -
    -
    -
    fill
    -
    -Indicates if the cell background must be painted (true) or transparent (false). -Default value: false. -
    -
    link
    -
    -URL or identifier returned by AddLink(). -
    -
    -

    Example

    -
    -
    //Set font
    -$pdf->SetFont('Arial','B',16);
    -//Move to 8 cm to the right
    -$pdf->Cell(80);
    -//Centered text in a framed 20*10 mm cell and line break
    -$pdf->Cell(20,10,'Title',1,1,'C');
    -
    -

    See also

    -SetFont(), -SetDrawColor(), -SetFillColor(), -SetTextColor(), -SetLineWidth(), -AddLink(), -Ln(), -MultiCell(), -Write(), -SetAutoPageBreak(). -
    - - - diff --git a/sources/doc/fpdf/doc/close.htm b/sources/doc/fpdf/doc/close.htm deleted file mode 100755 index 6d8c192..0000000 --- a/sources/doc/fpdf/doc/close.htm +++ /dev/null @@ -1,21 +0,0 @@ - - - - -Close - - - -

    Close

    -Close() -

    Description

    -Terminates the PDF document. It is not necessary to call this method explicitly because Output() -does it automatically. -
    -If the document contains no page, AddPage() is called to prevent from getting an invalid document. -

    See also

    -Output(). -
    - - - diff --git a/sources/doc/fpdf/doc/error.htm b/sources/doc/fpdf/doc/error.htm deleted file mode 100755 index 49b6083..0000000 --- a/sources/doc/fpdf/doc/error.htm +++ /dev/null @@ -1,25 +0,0 @@ - - - - -Error - - - -

    Error

    -Error(string msg) -

    Description

    -This method is automatically called in case of fatal error; it simply outputs the message -and halts the execution. An inherited class may override it to customize the error handling -but should always halt the script, or the resulting document would probably be invalid. -

    Parameters

    -
    -
    msg
    -
    -The error message. -
    -
    -
    - - - diff --git a/sources/doc/fpdf/doc/footer.htm b/sources/doc/fpdf/doc/footer.htm deleted file mode 100755 index 0ba9d32..0000000 --- a/sources/doc/fpdf/doc/footer.htm +++ /dev/null @@ -1,35 +0,0 @@ - - - - -Footer - - - -

    Footer

    -Footer() -

    Description

    -This method is used to render the page footer. It is automatically called by AddPage() and -Close() and should not be called directly by the application. The implementation in FPDF is -empty, so you have to subclass it and override the method if you want a specific processing. -

    Example

    -
    -
    class PDF extends FPDF
    -{
    -function Footer()
    -{
    -    //Go to 1.5 cm from bottom
    -    $this->SetY(-15);
    -    //Select Arial italic 8
    -    $this->SetFont('Arial','I',8);
    -    //Print centered page number
    -    $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
    -}
    -}
    -
    -

    See also

    -Header(). -
    - - - diff --git a/sources/doc/fpdf/doc/fpdf.htm b/sources/doc/fpdf/doc/fpdf.htm deleted file mode 100755 index 078e7db..0000000 --- a/sources/doc/fpdf/doc/fpdf.htm +++ /dev/null @@ -1,63 +0,0 @@ - - - - -FPDF - - - -

    FPDF

    -FPDF([string orientation [, string unit [, mixed format]]]) -

    Description

    -This is the class constructor. It allows to set up the page format, the orientation and the -unit of measure used in all methods (except for font sizes). -

    Parameters

    -
    -
    orientation
    -
    -Default page orientation. Possible values are (case insensitive): -
      -
    • P or Portrait
    • -
    • L or Landscape
    • -
    -Default value is P. -
    -
    unit
    -
    -User unit. Possible values are: -
      -
    • pt: point
    • -
    • mm: millimeter
    • -
    • cm: centimeter
    • -
    • in: inch
    • -
    -A point equals 1/72 of inch, that is to say about 0.35 mm (an inch being 2.54 cm). This -is a very common unit in typography; font sizes are expressed in that unit. -
    -
    -Default value is mm. -
    -
    format
    -
    -The format used for pages. It can be either one of the following values (case insensitive): -
      -
    • A3
    • -
    • A4
    • -
    • A5
    • -
    • Letter
    • -
    • Legal
    • -
    -or an array containing the width and the height (expressed in the unit given by unit).
    -
    -Default value is A4. -
    -
    -

    Example

    -Example with a custom 100x150 mm page format: -
    -
    $pdf = new FPDF('P', 'mm', array(100,150));
    -
    -
    - - - diff --git a/sources/doc/fpdf/doc/getstringwidth.htm b/sources/doc/fpdf/doc/getstringwidth.htm deleted file mode 100755 index 7cb1119..0000000 --- a/sources/doc/fpdf/doc/getstringwidth.htm +++ /dev/null @@ -1,23 +0,0 @@ - - - - -GetStringWidth - - - -

    GetStringWidth

    -float GetStringWidth(string s) -

    Description

    -Returns the length of a string in user unit. A font must be selected. -

    Parameters

    -
    -
    s
    -
    -The string whose length is to be computed. -
    -
    -
    - - - diff --git a/sources/doc/fpdf/doc/getx.htm b/sources/doc/fpdf/doc/getx.htm deleted file mode 100755 index 1d1310c..0000000 --- a/sources/doc/fpdf/doc/getx.htm +++ /dev/null @@ -1,20 +0,0 @@ - - - - -GetX - - - -

    GetX

    -float GetX() -

    Description

    -Returns the abscissa of the current position. -

    See also

    -SetX(), -GetY(), -SetY(). -
    - - - diff --git a/sources/doc/fpdf/doc/gety.htm b/sources/doc/fpdf/doc/gety.htm deleted file mode 100755 index e8ce6cf..0000000 --- a/sources/doc/fpdf/doc/gety.htm +++ /dev/null @@ -1,20 +0,0 @@ - - - - -GetY - - - -

    GetY

    -float GetY() -

    Description

    -Returns the ordinate of the current position. -

    See also

    -SetY(), -GetX(), -SetX(). -
    - - - diff --git a/sources/doc/fpdf/doc/header.htm b/sources/doc/fpdf/doc/header.htm deleted file mode 100755 index f320e13..0000000 --- a/sources/doc/fpdf/doc/header.htm +++ /dev/null @@ -1,37 +0,0 @@ - - - - -Header - - - -

    Header

    -Header() -

    Description

    -This method is used to render the page header. It is automatically called by AddPage() and -should not be called directly by the application. The implementation in FPDF is empty, so -you have to subclass it and override the method if you want a specific processing. -

    Example

    -
    -
    class PDF extends FPDF
    -{
    -function Header()
    -{
    -    //Select Arial bold 15
    -    $this->SetFont('Arial','B',15);
    -    //Move to the right
    -    $this->Cell(80);
    -    //Framed title
    -    $this->Cell(30,10,'Title',1,0,'C');
    -    //Line break
    -    $this->Ln(20);
    -}
    -}
    -
    -

    See also

    -Footer(). -
    - - - diff --git a/sources/doc/fpdf/doc/image.htm b/sources/doc/fpdf/doc/image.htm deleted file mode 100755 index 3375dad..0000000 --- a/sources/doc/fpdf/doc/image.htm +++ /dev/null @@ -1,86 +0,0 @@ - - - - -Image - - - -

    Image

    -Image(string file [, float x [, float y [, float w [, float h [, string type [, mixed link]]]]]]) -

    Description

    -Puts an image. The size it will take on the page can be specified in different ways: -
      -
    • explicit width and height (expressed in user unit)
    • -
    • one explicit dimension, the other being calculated automatically in order to keep the original proportions
    • -
    • no explicit dimension, in which case the image is put at 72 dpi
    • -
    -Supported formats are JPEG, PNG and GIF. The GD extension is required for GIF. -
    -
    -For JPEGs, all flavors are allowed: -
      -
    • gray scales
    • -
    • true colors (24 bits)
    • -
    • CMYK (32 bits)
    • -
    -For PNGs, are allowed: -
      -
    • gray scales on at most 8 bits (256 levels)
    • -
    • indexed colors
    • -
    • true colors (24 bits)
    • -
    -but are not supported: -
      -
    • Interlacing
    • -
    • Alpha channel
    • -
    -For GIFs: in case of an animated GIF, only the first frame is used.
    -
    -If a transparent color is defined, it is taken into account.
    -
    -The format can be specified explicitly or inferred from the file extension.
    -It is possible to put a link on the image.
    -
    -Remark: if an image is used several times, only one copy is embedded in the file. -

    Parameters

    -
    -
    file
    -
    -Path or URL of the image. -
    -
    x
    -
    -Abscissa of the upper-left corner. If not specified or equal to null, the current abscissa -is used. -
    -
    y
    -
    -Ordinate of the upper-left corner. If not specified or equal to null, the current ordinate -is used; moreover, a page break is triggered first if necessary (in case automatic page breaking is enabled) -and, after the call, the current ordinate is moved to the bottom of the image. -
    -
    w
    -
    -Width of the image in the page. If not specified or equal to zero, it is automatically calculated. -
    -
    h
    -
    -Height of the image in the page. If not specified or equal to zero, it is automatically calculated. -
    -
    type
    -
    -Image format. Possible values are (case insensitive): JPG, JPEG, PNG and GIF. -If not specified, the type is inferred from the file extension. -
    -
    link
    -
    -URL or identifier returned by AddLink(). -
    -
    -

    See also

    -AddLink(). -
    - - - diff --git a/sources/doc/fpdf/doc/index.htm b/sources/doc/fpdf/doc/index.htm deleted file mode 100755 index 93d3e13..0000000 --- a/sources/doc/fpdf/doc/index.htm +++ /dev/null @@ -1,57 +0,0 @@ - - - - -FPDF 1.6 Reference Manual - - - -

    FPDF 1.6 Reference Manual

    -AcceptPageBreak - accept or not automatic page break
    -AddFont - add a new font
    -AddLink - create an internal link
    -AddPage - add a new page
    -AliasNbPages - define an alias for number of pages
    -Cell - print a cell
    -Close - terminate the document
    -Error - fatal error
    -Footer - page footer
    -FPDF - constructor
    -GetStringWidth - compute string length
    -GetX - get current x position
    -GetY - get current y position
    -Header - page header
    -Image - output an image
    -Line - draw a line
    -Link - put a link
    -Ln - line break
    -MultiCell - print text with line breaks
    -Output - save or send the document
    -PageNo - page number
    -Rect - draw a rectangle
    -SetAuthor - set the document author
    -SetAutoPageBreak - set the automatic page breaking mode
    -SetCompression - turn compression on or off
    -SetCreator - set document creator
    -SetDisplayMode - set display mode
    -SetDrawColor - set drawing color
    -SetFillColor - set filling color
    -SetFont - set font
    -SetFontSize - set font size
    -SetKeywords - associate keywords with document
    -SetLeftMargin - set left margin
    -SetLineWidth - set line width
    -SetLink - set internal link destination
    -SetMargins - set margins
    -SetRightMargin - set right margin
    -SetSubject - set document subject
    -SetTextColor - set text color
    -SetTitle - set document title
    -SetTopMargin - set top margin
    -SetX - set current x position
    -SetXY - set current x and y positions
    -SetY - set current y position
    -Text - print a string
    -Write - print flowing text
    - - diff --git a/sources/doc/fpdf/doc/line.htm b/sources/doc/fpdf/doc/line.htm deleted file mode 100755 index a9c5194..0000000 --- a/sources/doc/fpdf/doc/line.htm +++ /dev/null @@ -1,38 +0,0 @@ - - - - -Line - - - -

    Line

    -Line(float x1, float y1, float x2, float y2) -

    Description

    -Draws a line between two points. -

    Parameters

    -
    -
    x1
    -
    -Abscissa of first point. -
    -
    y1
    -
    -Ordinate of first point. -
    -
    x2
    -
    -Abscissa of second point. -
    -
    y2
    -
    -Ordinate of second point. -
    -
    -

    See also

    -SetLineWidth(), -SetDrawColor(). -
    - - - diff --git a/sources/doc/fpdf/doc/link.htm b/sources/doc/fpdf/doc/link.htm deleted file mode 100755 index d6c728c..0000000 --- a/sources/doc/fpdf/doc/link.htm +++ /dev/null @@ -1,46 +0,0 @@ - - - - -Link - - - -

    Link

    -Link(float x, float y, float w, float h, mixed link) -

    Description

    -Puts a link on a rectangular area of the page. Text or image links are generally put via Cell(), -Write() or Image(), but this method can be useful for instance to define a clickable area inside -an image. -

    Parameters

    -
    -
    x
    -
    -Abscissa of the upper-left corner of the rectangle. -
    -
    y
    -
    -Ordinate of the upper-left corner of the rectangle. -
    -
    w
    -
    -Width of the rectangle. -
    -
    h
    -
    -Height of the rectangle. -
    -
    link
    -
    -URL or identifier returned by AddLink(). -
    -
    -

    See also

    -AddLink(), -Cell(), -Write(), -Image(). -
    - - - diff --git a/sources/doc/fpdf/doc/ln.htm b/sources/doc/fpdf/doc/ln.htm deleted file mode 100755 index 0b91b00..0000000 --- a/sources/doc/fpdf/doc/ln.htm +++ /dev/null @@ -1,28 +0,0 @@ - - - - -Ln - - - -

    Ln

    -Ln([float h]) -

    Description

    -Performs a line break. The current abscissa goes back to the left margin and the ordinate -increases by the amount passed in parameter. -

    Parameters

    -
    -
    h
    -
    -The height of the break. -
    -By default, the value equals the height of the last printed cell. -
    -
    -

    See also

    -Cell(). -
    - - - diff --git a/sources/doc/fpdf/doc/multicell.htm b/sources/doc/fpdf/doc/multicell.htm deleted file mode 100755 index c41bbd7..0000000 --- a/sources/doc/fpdf/doc/multicell.htm +++ /dev/null @@ -1,76 +0,0 @@ - - - - -MultiCell - - - -

    MultiCell

    -MultiCell(float w, float h, string txt [, mixed border [, string align [, boolean fill]]]) -

    Description

    -This method allows printing text with line breaks. They can be automatic (as soon as the -text reaches the right border of the cell) or explicit (via the \n character). As many cells -as necessary are output, one below the other. -
    -Text can be aligned, centered or justified. The cell block can be framed and the background -painted. -

    Parameters

    -
    -
    w
    -
    -Width of cells. If 0, they extend up to the right margin of the page. -
    -
    h
    -
    -Height of cells. -
    -
    txt
    -
    -String to print. -
    -
    border
    -
    -Indicates if borders must be drawn around the cell block. The value can be either a number: -
      -
    • 0: no border
    • -
    • 1: frame
    • -
    -or a string containing some or all of the following characters (in any order): -
      -
    • L: left
    • -
    • T: top
    • -
    • R: right
    • -
    • B: bottom
    • -
    -Default value: 0. -
    -
    align
    -
    -Sets the text alignment. Possible values are: -
      -
    • L: left alignment
    • -
    • C: center
    • -
    • R: right alignment
    • -
    • J: justification (default value)
    • -
    -
    -
    fill
    -
    -Indicates if the cell background must be painted (true) or transparent (false). -Default value: false. -
    -
    -

    See also

    -SetFont(), -SetDrawColor(), -SetFillColor(), -SetTextColor(), -SetLineWidth(), -Cell(), -Write(), -SetAutoPageBreak(). -
    - - - diff --git a/sources/doc/fpdf/doc/output.htm b/sources/doc/fpdf/doc/output.htm deleted file mode 100755 index b62291c..0000000 --- a/sources/doc/fpdf/doc/output.htm +++ /dev/null @@ -1,42 +0,0 @@ - - - - -Output - - - -

    Output

    -string Output([string name, string dest]) -

    Description

    -Send the document to a given destination: browser, file or string. In the case of browser, the -plug-in may be used (if present) or a download ("Save as" dialog box) may be forced. -
    -The method first calls Close() if necessary to terminate the document. -

    Parameters

    -
    -
    name
    -
    -The name of the file. If not specified, the document will be sent to the browser -(destination I) with the name doc.pdf. -
    -
    dest
    -
    -Destination where to send the document. It can take one of the following values: -
      -
    • I: send the file inline to the browser. The plug-in is used if available. -The name given by name is used when one selects the "Save as" option on the -link generating the PDF.
    • -
    • D: send to the browser and force a file download with the name given by -name.
    • -
    • F: save to a local file with the name given by name (may include a path).
    • -
    • S: return the document as a string. name is ignored.
    • -
    -
    -
    -

    See also

    -Close(). -
    - - - diff --git a/sources/doc/fpdf/doc/pageno.htm b/sources/doc/fpdf/doc/pageno.htm deleted file mode 100755 index 84e0f22..0000000 --- a/sources/doc/fpdf/doc/pageno.htm +++ /dev/null @@ -1,18 +0,0 @@ - - - - -PageNo - - - -

    PageNo

    -int PageNo() -

    Description

    -Returns the current page number. -

    See also

    -AliasNbPages(). -
    - - - diff --git a/sources/doc/fpdf/doc/rect.htm b/sources/doc/fpdf/doc/rect.htm deleted file mode 100755 index fa71375..0000000 --- a/sources/doc/fpdf/doc/rect.htm +++ /dev/null @@ -1,48 +0,0 @@ - - - - -Rect - - - -

    Rect

    -Rect(float x, float y, float w, float h [, string style]) -

    Description

    -Outputs a rectangle. It can be drawn (border only), filled (with no border) or both. -

    Parameters

    -
    -
    x
    -
    -Abscissa of upper-left corner. -
    -
    y
    -
    -Ordinate of upper-left corner. -
    -
    w
    -
    -Width. -
    -
    h
    -
    -Height. -
    -
    style
    -
    -Style of rendering. Possible values are: -
      -
    • D or empty string: draw. This is the default value.
    • -
    • F: fill
    • -
    • DF or FD: draw and fill
    • -
    -
    -
    -

    See also

    -SetLineWidth(), -SetDrawColor(), -SetFillColor(). -
    - - - diff --git a/sources/doc/fpdf/doc/setauthor.htm b/sources/doc/fpdf/doc/setauthor.htm deleted file mode 100755 index 60d3b7c..0000000 --- a/sources/doc/fpdf/doc/setauthor.htm +++ /dev/null @@ -1,33 +0,0 @@ - - - - -SetAuthor - - - -

    SetAuthor

    -SetAuthor(string author [, boolean isUTF8]) -

    Description

    -Defines the author of the document. -

    Parameters

    -
    -
    author
    -
    -The name of the author. -
    -
    isUTF8
    -
    -Indicates if the string is encoded in ISO-8859-1 (false) or UTF-8 (true).
    -Default value: false. -
    -
    -

    See also

    -SetCreator(), -SetKeywords(), -SetSubject(), -SetTitle(). -
    - - - diff --git a/sources/doc/fpdf/doc/setautopagebreak.htm b/sources/doc/fpdf/doc/setautopagebreak.htm deleted file mode 100755 index 71dec89..0000000 --- a/sources/doc/fpdf/doc/setautopagebreak.htm +++ /dev/null @@ -1,33 +0,0 @@ - - - - -SetAutoPageBreak - - - -

    SetAutoPageBreak

    -SetAutoPageBreak(boolean auto [, float margin]) -

    Description

    -Enables or disables the automatic page breaking mode. When enabling, the second parameter is -the distance from the bottom of the page that defines the triggering limit. By default, the -mode is on and the margin is 2 cm. -

    Parameters

    -
    -
    auto
    -
    -Boolean indicating if mode should be on or off. -
    -
    margin
    -
    -Distance from the bottom of the page. -
    -
    -

    See also

    -Cell(), -MultiCell(), -AcceptPageBreak(). -
    - - - diff --git a/sources/doc/fpdf/doc/setcompression.htm b/sources/doc/fpdf/doc/setcompression.htm deleted file mode 100755 index 3f81ab0..0000000 --- a/sources/doc/fpdf/doc/setcompression.htm +++ /dev/null @@ -1,31 +0,0 @@ - - - - -SetCompression - - - -

    SetCompression

    -SetCompression(boolean compress) -

    Description

    -Activates or deactivates page compression. When activated, the internal representation of -each page is compressed, which leads to a compression ratio of about 2 for the resulting -document. -
    -Compression is on by default. -
    -
    -Note: the Zlib extension is required for this feature. If not present, compression -will be turned off. -

    Parameters

    -
    -
    compress
    -
    -Boolean indicating if compression must be enabled. -
    -
    -
    - - - diff --git a/sources/doc/fpdf/doc/setcreator.htm b/sources/doc/fpdf/doc/setcreator.htm deleted file mode 100755 index 2c0db3c..0000000 --- a/sources/doc/fpdf/doc/setcreator.htm +++ /dev/null @@ -1,34 +0,0 @@ - - - - -SetCreator - - - -

    SetCreator

    -SetCreator(string creator [, boolean isUTF8]) -

    Description

    -Defines the creator of the document. This is typically the name of the application that -generates the PDF. -

    Parameters

    -
    -
    creator
    -
    -The name of the creator. -
    -
    isUTF8
    -
    -Indicates if the string is encoded in ISO-8859-1 (false) or UTF-8 (true).
    -Default value: false. -
    -
    -

    See also

    -SetAuthor(), -SetKeywords(), -SetSubject(), -SetTitle(). -
    - - - diff --git a/sources/doc/fpdf/doc/setdisplaymode.htm b/sources/doc/fpdf/doc/setdisplaymode.htm deleted file mode 100755 index 081e7d6..0000000 --- a/sources/doc/fpdf/doc/setdisplaymode.htm +++ /dev/null @@ -1,47 +0,0 @@ - - - - -SetDisplayMode - - - -

    SetDisplayMode

    -SetDisplayMode(mixed zoom [, string layout]) -

    Description

    -Defines the way the document is to be displayed by the viewer. The zoom level can be set: pages can be -displayed entirely on screen, occupy the full width of the window, use real size, be scaled by a -specific zooming factor or use viewer default (configured in the Preferences menu of Acrobat). -The page layout can be specified too: single at once, continuous display, two columns or viewer -default. -
    -By default, documents use the full width mode with continuous display. -

    Parameters

    -
    -
    zoom
    -
    -The zoom to use. It can be one of the following string values: -
      -
    • fullpage: displays the entire page on screen
    • -
    • fullwidth: uses maximum width of window
    • -
    • real: uses real size (equivalent to 100% zoom)
    • -
    • default: uses viewer default mode
    • -
    -or a number indicating the zooming factor to use. -
    -
    layout
    -
    -The page layout. Possible values are: -
      -
    • single: displays one page at once
    • -
    • continuous: displays pages continuously
    • -
    • two: displays two pages on two columns
    • -
    • default: uses viewer default mode
    • -
    -Default value is continuous. -
    -
    -
    - - - diff --git a/sources/doc/fpdf/doc/setdrawcolor.htm b/sources/doc/fpdf/doc/setdrawcolor.htm deleted file mode 100755 index 6be79c5..0000000 --- a/sources/doc/fpdf/doc/setdrawcolor.htm +++ /dev/null @@ -1,41 +0,0 @@ - - - - -SetDrawColor - - - -

    SetDrawColor

    -SetDrawColor(int r [, int g, int b]) -

    Description

    -Defines the color used for all drawing operations (lines, rectangles and cell borders). It -can be expressed in RGB components or gray scale. The method can be called before the first -page is created and the value is retained from page to page. -

    Parameters

    -
    -
    r
    -
    -If g et b are given, red component; if not, indicates the gray level. -Value between 0 and 255. -
    -
    g
    -
    -Green component (between 0 and 255). -
    -
    b
    -
    -Blue component (between 0 and 255). -
    -
    -

    See also

    -SetFillColor(), -SetTextColor(), -Line(), -Rect(), -Cell(), -MultiCell(). -
    - - - diff --git a/sources/doc/fpdf/doc/setfillcolor.htm b/sources/doc/fpdf/doc/setfillcolor.htm deleted file mode 100755 index 64f66d3..0000000 --- a/sources/doc/fpdf/doc/setfillcolor.htm +++ /dev/null @@ -1,40 +0,0 @@ - - - - -SetFillColor - - - -

    SetFillColor

    -SetFillColor(int r [, int g, int b]) -

    Description

    -Defines the color used for all filling operations (filled rectangles and cell backgrounds). -It can be expressed in RGB components or gray scale. The method can be called before the first -page is created and the value is retained from page to page. -

    Parameters

    -
    -
    r
    -
    -If g and b are given, red component; if not, indicates the gray level. -Value between 0 and 255. -
    -
    g
    -
    -Green component (between 0 and 255). -
    -
    b
    -
    -Blue component (between 0 and 255). -
    -
    -

    See also

    -SetDrawColor(), -SetTextColor(), -Rect(), -Cell(), -MultiCell(). -
    - - - diff --git a/sources/doc/fpdf/doc/setfont.htm b/sources/doc/fpdf/doc/setfont.htm deleted file mode 100755 index 5a13f51..0000000 --- a/sources/doc/fpdf/doc/setfont.htm +++ /dev/null @@ -1,92 +0,0 @@ - - - - -SetFont - - - -

    SetFont

    -SetFont(string family [, string style [, float size]]) -

    Description

    -Sets the font used to print character strings. It is mandatory to call this method -at least once before printing text or the resulting document would not be valid. -
    -The font can be either a standard one or a font added via the AddFont() method. Standard fonts -use Windows encoding cp1252 (Western Europe). -
    -The method can be called before the first page is created and the font is retained from page -to page. -
    -If you just wish to change the current font size, it is simpler to call SetFontSize(). -
    -
    -Note: the font metric files must be accessible. They are searched successively in: -
      -
    • The directory defined by the FPDF_FONTPATH constant (if this constant is defined)
    • -
    • The font directory located in the directory containing fpdf.php (if it exists)
    • -
    • The directories accessible through include()
    • -
    -Example defining FPDF_FONTPATH (note the mandatory trailing slash): -
    -
    define('FPDF_FONTPATH','/home/www/font/');
    -require('fpdf.php');
    -
    -If the file corresponding to the requested font is not found, the error "Could not include -font metric file" is issued. -

    Parameters

    -
    -
    family
    -
    -Family font. It can be either a name defined by AddFont() or one of the standard families (case -insensitive): -
      -
    • Courier (fixed-width)
    • -
    • Helvetica or Arial (synonymous; sans serif)
    • -
    • Times (serif)
    • -
    • Symbol (symbolic)
    • -
    • ZapfDingbats (symbolic)
    • -
    -It is also possible to pass an empty string. In that case, the current family is retained. -
    -
    style
    -
    -Font style. Possible values are (case insensitive): -
      -
    • empty string: regular
    • -
    • B: bold
    • -
    • I: italic
    • -
    • U: underline
    • -
    -or any combination. The default value is regular. -Bold and italic styles do not apply to Symbol and ZapfDingbats. -
    -
    size
    -
    -Font size in points. -
    -The default value is the current size. If no size has been specified since the beginning of -the document, the value taken is 12. -
    -
    -

    Example

    -
    -
    //Times regular 12
    -$pdf->SetFont('Times');
    -//Arial bold 14
    -$pdf->SetFont('Arial','B',14);
    -//Removes bold
    -$pdf->SetFont('');
    -//Times bold, italic and underlined 14
    -$pdf->SetFont('Times','BIU');
    -
    -

    See also

    -AddFont(), -SetFontSize(), -Cell(), -MultiCell(), -Write(). -
    - - - diff --git a/sources/doc/fpdf/doc/setfontsize.htm b/sources/doc/fpdf/doc/setfontsize.htm deleted file mode 100755 index 20b35cd..0000000 --- a/sources/doc/fpdf/doc/setfontsize.htm +++ /dev/null @@ -1,25 +0,0 @@ - - - - -SetFontSize - - - -

    SetFontSize

    -SetFontSize(float size) -

    Description

    -Defines the size of the current font. -

    Parameters

    -
    -
    size
    -
    -The size (in points). -
    -
    -

    See also

    -SetFont(). -
    - - - diff --git a/sources/doc/fpdf/doc/setkeywords.htm b/sources/doc/fpdf/doc/setkeywords.htm deleted file mode 100755 index 8b8897e..0000000 --- a/sources/doc/fpdf/doc/setkeywords.htm +++ /dev/null @@ -1,33 +0,0 @@ - - - - -SetKeywords - - - -

    SetKeywords

    -SetKeywords(string keywords [, boolean isUTF8]) -

    Description

    -Associates keywords with the document, generally in the form 'keyword1 keyword2 ...'. -

    Parameters

    -
    -
    keywords
    -
    -The list of keywords. -
    -
    isUTF8
    -
    -Indicates if the string is encoded in ISO-8859-1 (false) or UTF-8 (true).
    -Default value: false. -
    -
    -

    See also

    -SetAuthor(), -SetCreator(), -SetSubject(), -SetTitle(). -
    - - - diff --git a/sources/doc/fpdf/doc/setleftmargin.htm b/sources/doc/fpdf/doc/setleftmargin.htm deleted file mode 100755 index dde7a7c..0000000 --- a/sources/doc/fpdf/doc/setleftmargin.htm +++ /dev/null @@ -1,30 +0,0 @@ - - - - -SetLeftMargin - - - -

    SetLeftMargin

    -SetLeftMargin(float margin) -

    Description

    -Defines the left margin. The method can be called before creating the first page. -
    -If the current abscissa gets out of page, it is brought back to the margin. -

    Parameters

    -
    -
    margin
    -
    -The margin. -
    -
    -

    See also

    -SetTopMargin(), -SetRightMargin(), -SetAutoPageBreak(), -SetMargins(). -
    - - - diff --git a/sources/doc/fpdf/doc/setlinewidth.htm b/sources/doc/fpdf/doc/setlinewidth.htm deleted file mode 100755 index 11e417c..0000000 --- a/sources/doc/fpdf/doc/setlinewidth.htm +++ /dev/null @@ -1,29 +0,0 @@ - - - - -SetLineWidth - - - -

    SetLineWidth

    -SetLineWidth(float width) -

    Description

    -Defines the line width. By default, the value equals 0.2 mm. The method can be called before -the first page is created and the value is retained from page to page. -

    Parameters

    -
    -
    width
    -
    -The width. -
    -
    -

    See also

    -Line(), -Rect(), -Cell(), -MultiCell(). -
    - - - diff --git a/sources/doc/fpdf/doc/setlink.htm b/sources/doc/fpdf/doc/setlink.htm deleted file mode 100755 index b524525..0000000 --- a/sources/doc/fpdf/doc/setlink.htm +++ /dev/null @@ -1,34 +0,0 @@ - - - - -SetLink - - - -

    SetLink

    -SetLink(int link [, float y [, int page]]) -

    Description

    -Defines the page and position a link points to. -

    Parameters

    -
    -
    link
    -
    -The link identifier returned by AddLink(). -
    -
    y
    -
    -Ordinate of target position; -1 indicates the current position. -The default value is 0 (top of page). -
    -
    page
    -
    -Number of target page; -1 indicates the current page. This is the default value. -
    -
    -

    See also

    -AddLink(). -
    - - - diff --git a/sources/doc/fpdf/doc/setmargins.htm b/sources/doc/fpdf/doc/setmargins.htm deleted file mode 100755 index 7cc8c6d..0000000 --- a/sources/doc/fpdf/doc/setmargins.htm +++ /dev/null @@ -1,37 +0,0 @@ - - - - -SetMargins - - - -

    SetMargins

    -SetMargins(float left, float top [, float right]) -

    Description

    -Defines the left, top and right margins. By default, they equal 1 cm. Call this method to change -them. -

    Parameters

    -
    -
    left
    -
    -Left margin. -
    -
    top
    -
    -Top margin. -
    -
    right
    -
    -Right margin. Default value is the left one. -
    -
    -

    See also

    -SetLeftMargin(), -SetTopMargin(), -SetRightMargin(), -SetAutoPageBreak(). -
    - - - diff --git a/sources/doc/fpdf/doc/setrightmargin.htm b/sources/doc/fpdf/doc/setrightmargin.htm deleted file mode 100755 index 7915647..0000000 --- a/sources/doc/fpdf/doc/setrightmargin.htm +++ /dev/null @@ -1,28 +0,0 @@ - - - - -SetRightMargin - - - -

    SetRightMargin

    -SetRightMargin(float margin) -

    Description

    -Defines the right margin. The method can be called before creating the first page. -

    Parameters

    -
    -
    margin
    -
    -The margin. -
    -
    -

    See also

    -SetLeftMargin(), -SetTopMargin(), -SetAutoPageBreak(), -SetMargins(). -
    - - - diff --git a/sources/doc/fpdf/doc/setsubject.htm b/sources/doc/fpdf/doc/setsubject.htm deleted file mode 100755 index e8c628c..0000000 --- a/sources/doc/fpdf/doc/setsubject.htm +++ /dev/null @@ -1,33 +0,0 @@ - - - - -SetSubject - - - -

    SetSubject

    -SetSubject(string subject [, boolean isUTF8]) -

    Description

    -Defines the subject of the document. -

    Parameters

    -
    -
    subject
    -
    -The subject. -
    -
    isUTF8
    -
    -Indicates if the string is encoded in ISO-8859-1 (false) or UTF-8 (true).
    -Default value: false. -
    -
    -

    See also

    -SetAuthor(), -SetCreator(), -SetKeywords(), -SetTitle(). -
    - - - diff --git a/sources/doc/fpdf/doc/settextcolor.htm b/sources/doc/fpdf/doc/settextcolor.htm deleted file mode 100755 index cb12fec..0000000 --- a/sources/doc/fpdf/doc/settextcolor.htm +++ /dev/null @@ -1,40 +0,0 @@ - - - - -SetTextColor - - - -

    SetTextColor

    -SetTextColor(int r [, int g, int b]) -

    Description

    -Defines the color used for text. It can be expressed in RGB components or gray scale. The -method can be called before the first page is created and the value is retained from page to -page. -

    Parameters

    -
    -
    r
    -
    -If g et b are given, red component; if not, indicates the gray level. -Value between 0 and 255. -
    -
    g
    -
    -Green component (between 0 and 255). -
    -
    b
    -
    -Blue component (between 0 and 255). -
    -
    -

    See also

    -SetDrawColor(), -SetFillColor(), -Text(), -Cell(), -MultiCell(). -
    - - - diff --git a/sources/doc/fpdf/doc/settitle.htm b/sources/doc/fpdf/doc/settitle.htm deleted file mode 100755 index 3bc0fe8..0000000 --- a/sources/doc/fpdf/doc/settitle.htm +++ /dev/null @@ -1,33 +0,0 @@ - - - - -SetTitle - - - -

    SetTitle

    -SetTitle(string title [, boolean isUTF8]) -

    Description

    -Defines the title of the document. -

    Parameters

    -
    -
    title
    -
    -The title. -
    -
    isUTF8
    -
    -Indicates if the string is encoded in ISO-8859-1 (false) or UTF-8 (true).
    -Default value: false. -
    -
    -

    See also

    -SetAuthor(), -SetCreator(), -SetKeywords(), -SetSubject(). -
    - - - diff --git a/sources/doc/fpdf/doc/settopmargin.htm b/sources/doc/fpdf/doc/settopmargin.htm deleted file mode 100755 index 65a4b7d..0000000 --- a/sources/doc/fpdf/doc/settopmargin.htm +++ /dev/null @@ -1,28 +0,0 @@ - - - - -SetTopMargin - - - -

    SetTopMargin

    -SetTopMargin(float margin) -

    Description

    -Defines the top margin. The method can be called before creating the first page. -

    Parameters

    -
    -
    margin
    -
    -The margin. -
    -
    -

    See also

    -SetLeftMargin(), -SetRightMargin(), -SetAutoPageBreak(), -SetMargins(). -
    - - - diff --git a/sources/doc/fpdf/doc/setx.htm b/sources/doc/fpdf/doc/setx.htm deleted file mode 100755 index 7c92465..0000000 --- a/sources/doc/fpdf/doc/setx.htm +++ /dev/null @@ -1,29 +0,0 @@ - - - - -SetX - - - -

    SetX

    -SetX(float x) -

    Description

    -Defines the abscissa of the current position. If the passed value is negative, it is relative -to the right of the page. -

    Parameters

    -
    -
    x
    -
    -The value of the abscissa. -
    -
    -

    See also

    -GetX(), -GetY(), -SetY(), -SetXY(). -
    - - - diff --git a/sources/doc/fpdf/doc/setxy.htm b/sources/doc/fpdf/doc/setxy.htm deleted file mode 100755 index c0602e5..0000000 --- a/sources/doc/fpdf/doc/setxy.htm +++ /dev/null @@ -1,31 +0,0 @@ - - - - -SetXY - - - -

    SetXY

    -SetXY(float x, float y) -

    Description

    -Defines the abscissa and ordinate of the current position. If the passed values are negative, -they are relative respectively to the right and bottom of the page. -

    Parameters

    -
    -
    x
    -
    -The value of the abscissa. -
    -
    y
    -
    -The value of the ordinate. -
    -
    -

    See also

    -SetX(), -SetY(). -
    - - - diff --git a/sources/doc/fpdf/doc/sety.htm b/sources/doc/fpdf/doc/sety.htm deleted file mode 100755 index e9afe11..0000000 --- a/sources/doc/fpdf/doc/sety.htm +++ /dev/null @@ -1,29 +0,0 @@ - - - - -SetY - - - -

    SetY

    -SetY(float y) -

    Description

    -Moves the current abscissa back to the left margin and sets the ordinate. If the passed value -is negative, it is relative to the bottom of the page. -

    Parameters

    -
    -
    y
    -
    -The value of the ordinate. -
    -
    -

    See also

    -GetX(), -GetY(), -SetX(), -SetXY(). -
    - - - diff --git a/sources/doc/fpdf/doc/text.htm b/sources/doc/fpdf/doc/text.htm deleted file mode 100755 index ccd86eb..0000000 --- a/sources/doc/fpdf/doc/text.htm +++ /dev/null @@ -1,39 +0,0 @@ - - - - -Text - - - -

    Text

    -Text(float x, float y, string txt) -

    Description

    -Prints a character string. The origin is on the left of the first character, on the baseline. -This method allows to place a string precisely on the page, but it is usually easier to use -Cell(), MultiCell() or Write() which are the standard methods to print text. -

    Parameters

    -
    -
    x
    -
    -Abscissa of the origin. -
    -
    y
    -
    -Ordinate of the origin. -
    -
    txt
    -
    -String to print. -
    -
    -

    See also

    -SetFont(), -SetTextColor(), -Cell(), -MultiCell(), -Write(). -
    - - - diff --git a/sources/doc/fpdf/doc/write.htm b/sources/doc/fpdf/doc/write.htm deleted file mode 100755 index dd14799..0000000 --- a/sources/doc/fpdf/doc/write.htm +++ /dev/null @@ -1,51 +0,0 @@ - - - - -Write - - - -

    Write

    -Write(float h, string txt [, mixed link]) -

    Description

    -This method prints text from the current position. When the right margin is reached (or the \n -character is met) a line break occurs and text continues from the left margin. Upon method exit, -the current position is left just at the end of the text. -
    -It is possible to put a link on the text. -

    Parameters

    -
    -
    h
    -
    -Line height. -
    -
    txt
    -
    -String to print. -
    -
    link
    -
    -URL or identifier returned by AddLink(). -
    -
    -

    Example

    -
    -
    //Begin with regular font
    -$pdf->SetFont('Arial','',14);
    -$pdf->Write(5,'Visit ');
    -//Then put a blue underlined link
    -$pdf->SetTextColor(0,0,255);
    -$pdf->SetFont('','U');
    -$pdf->Write(5,'www.fpdf.org','http://www.fpdf.org');
    -
    -

    See also

    -SetFont(), -SetTextColor(), -AddLink(), -MultiCell(), -SetAutoPageBreak(). -
    - - - diff --git a/sources/doc/fpdf/fpdf.css b/sources/doc/fpdf/fpdf.css deleted file mode 100755 index dd2c540..0000000 --- a/sources/doc/fpdf/fpdf.css +++ /dev/null @@ -1,21 +0,0 @@ -body {font-family:"Times New Roman",serif} -h1 {font:bold 135% Arial,sans-serif; color:#4000A0; margin-bottom:0.9em} -h2 {font:bold 95% Arial,sans-serif; color:#900000; margin-top:1.5em; margin-bottom:1em} -dl.param dt {text-decoration:underline} -dl.param dd {margin-top:1em; margin-bottom:1em} -dl.param ul {margin-top:1em; margin-bottom:1em} -tt, code, kbd {font-family:"Courier New",Courier,monospace; font-size:82%} -div.source {margin-top:1.4em; margin-bottom:1.3em} -div.source pre {display:table; border:1px solid #24246A; width:100%; margin:0em; font-family:inherit; font-size:100%} -div.source code {display:block; border:1px solid #C5C5EC; background-color:#F0F5FF; padding:6px; color:#000000} -div.doc-source {margin-top:1.4em; margin-bottom:1.3em} -div.doc-source pre {display:table; width:100%; margin:0em; font-family:inherit; font-size:100%} -div.doc-source code {display:block; background-color:#E0E0E0; padding:4px} -.kw {color:#000080; font-weight:bold} -.str {color:#CC0000} -.cmt {color:#008000} -p.demo {text-align:center; margin-top:-0.9em} -a.demo {text-decoration:none; font-weight:bold; color:#0000CC} -a.demo:link {text-decoration:none; font-weight:bold; color:#0000CC} -a.demo:hover {text-decoration:none; font-weight:bold; color:#0000FF} -a.demo:active {text-decoration:none; font-weight:bold; color:#0000FF} diff --git a/sources/doc/fpdf/histo.htm b/sources/doc/fpdf/histo.htm deleted file mode 100755 index 7097fd8..0000000 --- a/sources/doc/fpdf/histo.htm +++ /dev/null @@ -1,128 +0,0 @@ - - - - -History - - - - -

    History

    -
    -
    v1.6 (2008-08-03)
    -
    -- GIF image support.
    -- Images can now trigger page breaks.
    -- Possibility to have different page formats in a single document.
    -- Document properties (author, creator, keywords, subject and title) can now be specified in UTF-8.
    -- Fixed a bug: when a PNG was inserted through a URL, an error sometimes occurred.
    -- An automatic page break in Header() doesn't cause an infinite loop any more.
    -- Removed some warning messages appearing with recent PHP versions.
    -- Added HTTP headers to reduce problems with IE.
    -
    -
    v1.53 (2004-12-31)
    -
    -- When the font subdirectory is in the same directory as fpdf.php, it is no longer necessary to define the FPDF_FONTPATH constant.
    -- The array $HTTP_SERVER_VARS is no longer used. It could cause trouble on PHP5-based configurations with the register_long_arrays option disabled.
    -- Fixed a problem related to Type1 font embedding which caused trouble to some PDF processors.
    -- The file name sent to the browser could not contain a space character.
    -- The Cell() method could not print the number 0 (you had to pass the string '0').
    -
    -
    v1.52 (2003-12-30)
    -
    -- Image() now displays the image at 72 dpi if no dimension is given.
    -- Output() takes a string as second parameter to indicate destination.
    -- Open() is now called automatically by AddPage().
    -- Inserting remote JPEG images doesn't generate an error any longer.
    -- Decimal separator is forced to dot in the constructor.
    -- Added several encodings (Turkish, Thai, Hebrew, Ukrainian and Vietnamese).
    -- The last line of a right-aligned MultiCell() was not correctly aligned if it was terminated by a carriage return.
    -- No more error message about already sent headers when outputting the PDF to the standard output from the command line.
    -- The underlining was going too far for text containing characters \, ( or ).
    -- $HTTP_ENV_VARS has been replaced by $HTTP_SERVER_VARS.
    -
    -
    v1.51 (2002-08-03)
    -
    -- Type1 font support.
    -- Added Baltic encoding.
    -- The class now works internally in points with the origin at the bottom in order to avoid two bugs occurring with Acrobat 5 :
      * The line thickness was too large when printed under Windows 98 SE and ME.
      * TrueType fonts didn't appear immediately inside the plug-in (a substitution font was used), one had to cause a window refresh to make them show up.
    -- It is no longer necessary to set the decimal separator as dot to produce valid documents.
    -- The clickable area in a cell was always on the left independently from the text alignment.
    -- JPEG images in CMYK mode appeared in inverted colors.
    -- Transparent PNG images in grayscale or true color mode were incorrectly handled.
    -- Adding new fonts now works correctly even with the magic_quotes_runtime option set to on.
    -
    -
    v1.5 (2002-05-28)
    -
    -- TrueType font (AddFont()) and encoding support (Western and Eastern Europe, Cyrillic and Greek).
    -- Added Write() method.
    -- Added underlined style.
    -- Internal and external link support (AddLink(), SetLink(), Link()).
    -- Added right margin management and methods SetRightMargin(), SetTopMargin().
    -- Modification of SetDisplayMode() to select page layout.
    -- The border parameter of MultiCell() now lets choose borders to draw as Cell().
    -- When a document contains no page, Close() now calls AddPage() instead of causing a fatal error.
    -
    -
    v1.41 (2002-03-13)
    -
    -- Fixed SetDisplayMode() which no longer worked (the PDF viewer used its default display).
    -
    -
    v1.4 (2002-03-02)
    -
    -- PHP3 is no longer supported.
    -- Page compression (SetCompression()).
    -- Choice of page format and possibility to change orientation inside document.
    -- Added AcceptPageBreak() method.
    -- Ability to print the total number of pages (AliasNbPages()).
    -- Choice of cell borders to draw.
    -- New mode for Cell(): the current position can now move under the cell.
    -- Ability to include an image by specifying height only (width is calculated automatically).
    -- Fixed a bug: when a justified line triggered a page break, the footer inherited the corresponding word spacing.
    -
    -
    v1.31 (2002-01-12)
    -
    -- Fixed a bug in drawing frame with MultiCell(): the last line always started from the left margin.
    -- Removed Expires HTTP header (gives trouble in some situations).
    -- Added Content-disposition HTTP header (seems to help in some situations).
    -
    -
    v1.3 (2001-12-03)
    -
    -- Line break and text justification support (MultiCell()).
    -- Color support (SetDrawColor(), SetFillColor(), SetTextColor()). Possibility to draw filled rectangles and paint cell background.
    -- A cell whose width is declared null extends up to the right margin of the page.
    -- Line width is now retained from page to page and defaults to 0.2 mm.
    -- Added SetXY() method.
    -- Fixed a passing by reference done in a deprecated manner for PHP4.
    -
    -
    v1.2 (2001-11-11)
    -
    -- Added font metric files and GetStringWidth() method.
    -- Centering and right-aligning text in cells.
    -- Display mode control (SetDisplayMode()).
    -- Added methods to set document properties (SetAuthor(), SetCreator(), SetKeywords(), SetSubject(), SetTitle()).
    -- Possibility to force PDF download by browser.
    -- Added SetX() and GetX() methods.
    -- During automatic page break, current abscissa is now retained.
    -
    -
    v1.11 (2001-10-20)
    -
    -- PNG support doesn't require PHP4/zlib any more. Data are now put directly into PDF without any decompression/recompression stage.
    -- Image insertion now works correctly even with magic_quotes_runtime option set to on.
    -
    -
    v1.1 (2001-10-07)
    -
    -- JPEG and PNG image support.
    -
    -
    v1.01 (2001-10-03)
    -
    -- Fixed a bug involving page break: in case when Header() doesn't specify a font, the one from previous page was not restored and produced an incorrect document.
    -
    -
    v1.0 (2001-09-17)
    -
    -- First version.
    -
    -
    - - diff --git a/sources/doc/fpdf/install.txt b/sources/doc/fpdf/install.txt deleted file mode 100755 index 8ee326b..0000000 --- a/sources/doc/fpdf/install.txt +++ /dev/null @@ -1,26 +0,0 @@ -The FPDF library is made up of the following elements: - -- the main file, fpdf.php, which contains the class -- the font metric files (located in the font directory of this archive) - -The metric files are necessary as soon as you want to output some text in a document. -They can be accessed from three different locations: - -- the directory defined by the FPDF_FONTPATH constant (if this constant is defined) -- the font directory located in the directory containing fpdf.php (as it is the case in this archive) -- the directories accessible through include() - -Here is an example defining FPDF_FONTPATH (note the mandatory final slash): - -define('FPDF_FONTPATH','/home/www/font/'); -require('fpdf.php'); - -If the files are not accessible, the SetFont() method will produce the following error: - -FPDF error: Could not include font metric file - - -Remarks: - -- Only the files corresponding to the fonts actually used are necessary -- The tutorials provided in this package are ready to be executed diff --git a/sources/doc/fpdf/license.txt b/sources/doc/fpdf/license.txt deleted file mode 100755 index fd811c6..0000000 --- a/sources/doc/fpdf/license.txt +++ /dev/null @@ -1,6 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software to use, copy, modify, distribute, sublicense, and/or sell -copies of the software, and to permit persons to whom the software is furnished -to do so. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. \ No newline at end of file diff --git a/sources/doc/fpdf/sfpdf.html b/sources/doc/fpdf/sfpdf.html deleted file mode 100644 index 5727708..0000000 --- a/sources/doc/fpdf/sfpdf.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -sFPDF - - - -

    sFPDF

    -

    Informations

    -Author: Ian Back
    -License: LGPL -

    Description

    -This class is a modified version of FPDF that adds UTF-8 support. Moreover, it embeds only -the necessary parts of the fonts that are used in the document, making the file size much -smaller than if the whole fonts were embedded. These features were originally developed -for the mPDF project.
    -
    -Before you can use UTF-8, you have to install at least one Unicode font in the font/unifont directory. -Some free font packages are available for download (extract them into font/unifont): - -

    Fonts from the DejaVu family:

    - - -

    Fonts from the GNU FreeFont family:

    - - -You can also make your own fonts by pointing your browser to font/unifont/makefonts/makefonts.php -and following instructions (if you're on Windows).
    -
    -Then, to use a Unicode font in your script, pass true as the fourth parameter of AddFont().
    -
    -Note: this class requires the mbstring extension. - - diff --git a/sources/doc/fpdf/tutorial/20k_c1.txt b/sources/doc/fpdf/tutorial/20k_c1.txt deleted file mode 100755 index 0b09f26..0000000 --- a/sources/doc/fpdf/tutorial/20k_c1.txt +++ /dev/null @@ -1,10 +0,0 @@ -The year 1866 was marked by a bizarre development, an unexplained and downright inexplicable phenomenon that surely no one has forgotten. Without getting into those rumors that upset civilians in the seaports and deranged the public mind even far inland, it must be said that professional seamen were especially alarmed. Traders, shipowners, captains of vessels, skippers, and master mariners from Europe and America, naval officers from every country, and at their heels the various national governments on these two continents, were all extremely disturbed by the business. -In essence, over a period of time several ships had encountered "an enormous thing" at sea, a long spindle-shaped object, sometimes giving off a phosphorescent glow, infinitely bigger and faster than any whale. -The relevant data on this apparition, as recorded in various logbooks, agreed pretty closely as to the structure of the object or creature in question, its unprecedented speed of movement, its startling locomotive power, and the unique vitality with which it seemed to be gifted. If it was a cetacean, it exceeded in bulk any whale previously classified by science. No naturalist, neither Cuvier nor Lacépède, neither Professor Dumeril nor Professor de Quatrefages, would have accepted the existence of such a monster sight unseen -- specifically, unseen by their own scientific eyes. -Striking an average of observations taken at different times -- rejecting those timid estimates that gave the object a length of 200 feet, and ignoring those exaggerated views that saw it as a mile wide and three long--you could still assert that this phenomenal creature greatly exceeded the dimensions of anything then known to ichthyologists, if it existed at all. -Now then, it did exist, this was an undeniable fact; and since the human mind dotes on objects of wonder, you can understand the worldwide excitement caused by this unearthly apparition. As for relegating it to the realm of fiction, that charge had to be dropped. -In essence, on July 20, 1866, the steamer Governor Higginson, from the Calcutta & Burnach Steam Navigation Co., encountered this moving mass five miles off the eastern shores of Australia. Captain Baker at first thought he was in the presence of an unknown reef; he was even about to fix its exact position when two waterspouts shot out of this inexplicable object and sprang hissing into the air some 150 feet. So, unless this reef was subject to the intermittent eruptions of a geyser, the Governor Higginson had fair and honest dealings with some aquatic mammal, until then unknown, that could spurt from its blowholes waterspouts mixed with air and steam. -Similar events were likewise observed in Pacific seas, on July 23 of the same year, by the Christopher Columbus from the West India & Pacific Steam Navigation Co. Consequently, this extraordinary cetacean could transfer itself from one locality to another with startling swiftness, since within an interval of just three days, the Governor Higginson and the Christopher Columbus had observed it at two positions on the charts separated by a distance of more than 700 nautical leagues. -Fifteen days later and 2,000 leagues farther, the Helvetia from the Compagnie Nationale and the Shannon from the Royal Mail line, running on opposite tacks in that part of the Atlantic lying between the United States and Europe, respectively signaled each other that the monster had been sighted in latitude 42 degrees 15' north and longitude 60 degrees 35' west of the meridian of Greenwich. From their simultaneous observations, they were able to estimate the mammal's minimum length at more than 350 English feet; this was because both the Shannon and the Helvetia were of smaller dimensions, although each measured 100 meters stem to stern. Now then, the biggest whales, those rorqual whales that frequent the waterways of the Aleutian Islands, have never exceeded a length of 56 meters--if they reach even that. -One after another, reports arrived that would profoundly affect public opinion: new observations taken by the transatlantic liner Pereire, the Inman line's Etna running afoul of the monster, an official report drawn up by officers on the French frigate Normandy, dead-earnest reckonings obtained by the general staff of Commodore Fitz-James aboard the Lord Clyde. In lighthearted countries, people joked about this phenomenon, but such serious, practical countries as England, America, and Germany were deeply concerned. -In every big city the monster was the latest rage; they sang about it in the coffee houses, they ridiculed it in the newspapers, they dramatized it in the theaters. The tabloids found it a fine opportunity for hatching all sorts of hoaxes. In those newspapers short of copy, you saw the reappearance of every gigantic imaginary creature, from "Moby Dick," that dreadful white whale from the High Arctic regions, to the stupendous kraken whose tentacles could entwine a 500-ton craft and drag it into the ocean depths. They even reprinted reports from ancient times: the views of Aristotle and Pliny accepting the existence of such monsters, then the Norwegian stories of Bishop Pontoppidan, the narratives of Paul Egede, and finally the reports of Captain Harrington -- whose good faith is above suspicion--in which he claims he saw, while aboard the Castilian in 1857, one of those enormous serpents that, until then, had frequented only the seas of France's old extremist newspaper, The Constitutionalist. diff --git a/sources/doc/fpdf/tutorial/20k_c2.txt b/sources/doc/fpdf/tutorial/20k_c2.txt deleted file mode 100755 index 096dbd1..0000000 --- a/sources/doc/fpdf/tutorial/20k_c2.txt +++ /dev/null @@ -1,23 +0,0 @@ -During the period in which these developments were occurring, I had returned from a scientific undertaking organized to explore the Nebraska badlands in the United States. In my capacity as Assistant Professor at the Paris Museum of Natural History, I had been attached to this expedition by the French government. After spending six months in Nebraska, I arrived in New York laden with valuable collections near the end of March. My departure for France was set for early May. In the meantime, then, I was busy classifying my mineralogical, botanical, and zoological treasures when that incident took place with the Scotia. -I was perfectly abreast of this question, which was the big news of the day, and how could I not have been? I had read and reread every American and European newspaper without being any farther along. This mystery puzzled me. Finding it impossible to form any views, I drifted from one extreme to the other. Something was out there, that much was certain, and any doubting Thomas was invited to place his finger on the Scotia's wound. -When I arrived in New York, the question was at the boiling point. The hypothesis of a drifting islet or an elusive reef, put forward by people not quite in their right minds, was completely eliminated. And indeed, unless this reef had an engine in its belly, how could it move about with such prodigious speed? -Also discredited was the idea of a floating hull or some other enormous wreckage, and again because of this speed of movement. -So only two possible solutions to the question were left, creating two very distinct groups of supporters: on one side, those favoring a monster of colossal strength; on the other, those favoring an "underwater boat" of tremendous motor power. -Now then, although the latter hypothesis was completely admissible, it couldn't stand up to inquiries conducted in both the New World and the Old. That a private individual had such a mechanism at his disposal was less than probable. Where and when had he built it, and how could he have built it in secret? -Only some government could own such an engine of destruction, and in these disaster-filled times, when men tax their ingenuity to build increasingly powerful aggressive weapons, it was possible that, unknown to the rest of the world, some nation could have been testing such a fearsome machine. The Chassepot rifle led to the torpedo, and the torpedo has led to this underwater battering ram, which in turn will lead to the world putting its foot down. At least I hope it will. -But this hypothesis of a war machine collapsed in the face of formal denials from the various governments. Since the public interest was at stake and transoceanic travel was suffering, the sincerity of these governments could not be doubted. Besides, how could the assembly of this underwater boat have escaped public notice? Keeping a secret under such circumstances would be difficult enough for an individual, and certainly impossible for a nation whose every move is under constant surveillance by rival powers. -So, after inquiries conducted in England, France, Russia, Prussia, Spain, Italy, America, and even Turkey, the hypothesis of an underwater Monitor was ultimately rejected. -After I arrived in New York, several people did me the honor of consulting me on the phenomenon in question. In France I had published a two-volume work, in quarto, entitled The Mysteries of the Great Ocean Depths. Well received in scholarly circles, this book had established me as a specialist in this pretty obscure field of natural history. My views were in demand. As long as I could deny the reality of the business, I confined myself to a flat "no comment." But soon, pinned to the wall, I had to explain myself straight out. And in this vein, "the honorable Pierre Aronnax, Professor at the Paris Museum," was summoned by The New York Herald to formulate his views no matter what. -I complied. Since I could no longer hold my tongue, I let it wag. I discussed the question in its every aspect, both political and scientific, and this is an excerpt from the well-padded article I published in the issue of April 30. - -"Therefore," I wrote, "after examining these different hypotheses one by one, we are forced, every other supposition having been refuted, to accept the existence of an extremely powerful marine animal. -"The deepest parts of the ocean are totally unknown to us. No soundings have been able to reach them. What goes on in those distant depths? What creatures inhabit, or could inhabit, those regions twelve or fifteen miles beneath the surface of the water? What is the constitution of these animals? It's almost beyond conjecture. -"However, the solution to this problem submitted to me can take the form of a choice between two alternatives. -"Either we know every variety of creature populating our planet, or we do not. -"If we do not know every one of them, if nature still keeps ichthyological secrets from us, nothing is more admissible than to accept the existence of fish or cetaceans of new species or even new genera, animals with a basically 'cast-iron' constitution that inhabit strata beyond the reach of our soundings, and which some development or other, an urge or a whim if you prefer, can bring to the upper level of the ocean for long intervals. -"If, on the other hand, we do know every living species, we must look for the animal in question among those marine creatures already cataloged, and in this event I would be inclined to accept the existence of a giant narwhale. -"The common narwhale, or sea unicorn, often reaches a length of sixty feet. Increase its dimensions fivefold or even tenfold, then give this cetacean a strength in proportion to its size while enlarging its offensive weapons, and you have the animal we're looking for. It would have the proportions determined by the officers of the Shannon, the instrument needed to perforate the Scotia, and the power to pierce a steamer's hull. -"In essence, the narwhale is armed with a sort of ivory sword, or lance, as certain naturalists have expressed it. It's a king-sized tooth as hard as steel. Some of these teeth have been found buried in the bodies of baleen whales, which the narwhale attacks with invariable success. Others have been wrenched, not without difficulty, from the undersides of vessels that narwhales have pierced clean through, as a gimlet pierces a wine barrel. The museum at the Faculty of Medicine in Paris owns one of these tusks with a length of 2.25 meters and a width at its base of forty-eight centimeters! -"All right then! Imagine this weapon to be ten times stronger and the animal ten times more powerful, launch it at a speed of twenty miles per hour, multiply its mass times its velocity, and you get just the collision we need to cause the specified catastrophe. -"So, until information becomes more abundant, I plump for a sea unicorn of colossal dimensions, no longer armed with a mere lance but with an actual spur, like ironclad frigates or those warships called 'rams,' whose mass and motor power it would possess simultaneously. -"This inexplicable phenomenon is thus explained away--unless it's something else entirely, which, despite everything that has been sighted, studied, explored and experienced, is still possible!" diff --git a/sources/doc/fpdf/tutorial/calligra.afm b/sources/doc/fpdf/tutorial/calligra.afm deleted file mode 100755 index 806685e..0000000 --- a/sources/doc/fpdf/tutorial/calligra.afm +++ /dev/null @@ -1,275 +0,0 @@ -StartFontMetrics 4.1 -FontName Calligrapher-Regular -FullName Calligrapher Regular -Notice Generated by Fontographer 3.5 -EncodingScheme FontSpecific -FamilyName Calligrapher -Weight Regular -Version (Altsys Fontographer 3.5 5/26/92) -Characters 215 -ItalicAngle 0.0 -Ascender 899 -Descender -234 -UnderlineThickness 20 -UnderlinePosition -200 -IsFixedPitch false -FontBBox -50 -234 1328 899 -StartCharMetrics 256 -C 0 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 1 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 2 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 3 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 4 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 5 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 6 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 7 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 8 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 9 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 10 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 11 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 12 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 13 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 14 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 15 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 16 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 17 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 18 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 19 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 20 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 21 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 22 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 23 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 24 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 25 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 26 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 27 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 28 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 29 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 30 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 31 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 32 ; WX 282 ; N space ; B 67 -16 251 718 ; -C 33 ; WX 324 ; N exclam ; B 67 -16 251 718 ; -C 34 ; WX 405 ; N quotedbl ; B 60 460 353 718 ; -C 35 ; WX 584 ; N numbersign ; B 35 0 549 701 ; -C 36 ; WX 632 ; N dollar ; B 32 -126 595 814 ; -C 37 ; WX 980 ; N percent ; B 35 -16 945 703 ; -C 38 ; WX 776 ; N ampersand ; B 41 -17 811 670 ; -C 39 ; WX 259 ; N quotesingle ; B 72 460 206 718 ; -C 40 ; WX 299 ; N parenleft ; B 57 -119 299 785 ; -C 41 ; WX 299 ; N parenright ; B 0 -119 242 785 ; -C 42 ; WX 377 ; N asterisk ; B 35 407 342 714 ; -C 43 ; WX 600 ; N plus ; B 47 0 553 506 ; -C 44 ; WX 259 ; N comma ; B 35 -67 224 162 ; -C 45 ; WX 432 ; N hyphen ; B 28 249 404 377 ; -C 46 ; WX 254 ; N period ; B 43 -16 227 162 ; -C 47 ; WX 597 ; N slash ; B 7 -14 591 714 ; -C 48 ; WX 529 ; N zero ; B 21 -18 508 583 ; -C 49 ; WX 298 ; N one ; B 8 -15 233 582 ; -C 50 ; WX 451 ; N two ; B 17 -8 430 588 ; -C 51 ; WX 359 ; N three ; B 11 -54 337 582 ; -C 52 ; WX 525 ; N four ; B 18 -20 519 602 ; -C 53 ; WX 423 ; N five ; B 10 -55 420 582 ; -C 54 ; WX 464 ; N six ; B 23 -14 447 589 ; -C 55 ; WX 417 ; N seven ; B 8 -18 415 589 ; -C 56 ; WX 457 ; N eight ; B 19 -16 432 583 ; -C 57 ; WX 479 ; N nine ; B 26 -16 450 588 ; -C 58 ; WX 275 ; N colon ; B 59 -16 242 491 ; -C 59 ; WX 282 ; N semicolon ; B 54 -67 245 491 ; -C 60 ; WX 600 ; N less ; B 47 -8 553 514 ; -C 61 ; WX 600 ; N equal ; B 47 98 553 408 ; -C 62 ; WX 600 ; N greater ; B 47 -8 553 514 ; -C 63 ; WX 501 ; N question ; B 21 -16 473 721 ; -C 64 ; WX 800 ; N at ; B 29 -12 771 730 ; -C 65 ; WX 743 ; N A ; B -23 -14 754 723 ; -C 66 ; WX 636 ; N B ; B -42 -7 608 706 ; -C 67 ; WX 598 ; N C ; B 27 -12 572 712 ; -C 68 ; WX 712 ; N D ; B -42 -11 684 705 ; -C 69 ; WX 608 ; N E ; B -21 0 608 708 ; -C 70 ; WX 562 ; N F ; B -21 -18 584 716 ; -C 71 ; WX 680 ; N G ; B 29 -8 668 714 ; -C 72 ; WX 756 ; N H ; B 70 -17 777 728 ; -C 73 ; WX 308 ; N I ; B 14 -15 238 718 ; -C 74 ; WX 314 ; N J ; B 7 -223 244 727 ; -C 75 ; WX 676 ; N K ; B 14 -16 683 725 ; -C 76 ; WX 552 ; N L ; B 14 -8 580 713 ; -C 77 ; WX 1041 ; N M ; B 42 -17 1017 739 ; -C 78 ; WX 817 ; N N ; B -42 -17 747 736 ; -C 79 ; WX 729 ; N O ; B 32 -16 698 709 ; -C 80 ; WX 569 ; N P ; B -35 -15 570 716 ; -C 81 ; WX 698 ; N Q ; B 27 -201 1328 715 ; -C 82 ; WX 674 ; N R ; B -35 -20 696 712 ; -C 83 ; WX 618 ; N S ; B 31 -16 589 709 ; -C 84 ; WX 673 ; N T ; B -21 -20 702 714 ; -C 85 ; WX 805 ; N U ; B 0 -19 804 722 ; -C 86 ; WX 753 ; N V ; B -28 -20 788 729 ; -C 87 ; WX 1238 ; N W ; B -28 -17 1273 736 ; -C 88 ; WX 716 ; N X ; B 7 -38 709 731 ; -C 89 ; WX 754 ; N Y ; B -35 -17 789 747 ; -C 90 ; WX 599 ; N Z ; B 30 -5 584 748 ; -C 91 ; WX 315 ; N bracketleft ; B 93 -124 322 718 ; -C 92 ; WX 463 ; N backslash ; B -21 -18 484 736 ; -C 93 ; WX 315 ; N bracketright ; B -7 -124 222 718 ; -C 94 ; WX 600 ; N asciicircum ; B 63 266 537 658 ; -C 95 ; WX 547 ; N underscore ; B -7 -198 554 -163 ; -C 96 ; WX 278 ; N grave ; B -1 541 214 693 ; -C 97 ; WX 581 ; N a ; B 21 -16 581 494 ; -C 98 ; WX 564 ; N b ; B -24 -17 543 793 ; -C 99 ; WX 440 ; N c ; B 21 -17 422 490 ; -C 100 ; WX 571 ; N d ; B 0 -15 550 659 ; -C 101 ; WX 450 ; N e ; B 28 -23 428 493 ; -C 102 ; WX 347 ; N f ; B -35 -14 474 785 ; -C 103 ; WX 628 ; N g ; B 19 -219 612 496 ; -C 104 ; WX 611 ; N h ; B -29 -18 569 785 ; -C 105 ; WX 283 ; N i ; B -14 -15 241 679 ; -C 106 ; WX 283 ; N j ; B -14 -234 241 679 ; -C 107 ; WX 560 ; N k ; B -24 -15 582 789 ; -C 108 ; WX 252 ; N l ; B -28 -15 210 789 ; -C 109 ; WX 976 ; N m ; B -21 -16 927 494 ; -C 110 ; WX 595 ; N n ; B -28 -15 574 493 ; -C 111 ; WX 508 ; N o ; B 27 -17 485 490 ; -C 112 ; WX 549 ; N p ; B -28 -216 526 496 ; -C 113 ; WX 540 ; N q ; B 28 -219 491 493 ; -C 114 ; WX 395 ; N r ; B -21 -19 430 492 ; -C 115 ; WX 441 ; N s ; B 34 -15 413 493 ; -C 116 ; WX 307 ; N t ; B -21 -16 378 621 ; -C 117 ; WX 614 ; N u ; B -14 -18 558 501 ; -C 118 ; WX 556 ; N v ; B -28 -20 569 483 ; -C 119 ; WX 915 ; N w ; B -28 -17 928 495 ; -C 120 ; WX 559 ; N x ; B 14 -17 546 500 ; -C 121 ; WX 597 ; N y ; B -21 -227 541 500 ; -C 122 ; WX 452 ; N z ; B 28 -5 442 515 ; -C 123 ; WX 315 ; N braceleft ; B 6 -118 309 718 ; -C 124 ; WX 222 ; N bar ; B 63 -18 159 730 ; -C 125 ; WX 315 ; N braceright ; B 6 -118 309 718 ; -C 126 ; WX 600 ; N asciitilde ; B 69 166 531 340 ; -C 127 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 128 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 129 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 130 ; WX 0 ; N quotesinglbase ; B -23 -14 754 877 ; -C 131 ; WX 0 ; N florin ; B 0 -19 804 854 ; -C 132 ; WX 0 ; N quotedblbase ; B -23 -14 754 877 ; -C 133 ; WX 780 ; N ellipsis ; B 43 -16 747 162 ; -C 134 ; WX 0 ; N dagger ; B 27 -122 437 592 ; -C 135 ; WX 0 ; N daggerdbl ; B 43 278 227 456 ; -C 136 ; WX 278 ; N circumflex ; B -14 557 292 677 ; -C 137 ; WX 0 ; N perthousand ; B -23 -14 754 877 ; -C 138 ; WX 0 ; N Scaron ; B 0 0 0 100 ; -C 139 ; WX 0 ; N guilsinglleft ; B 43 278 227 456 ; -C 140 ; WX 1064 ; N OE ; B 32 -16 1055 709 ; -C 141 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 142 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 143 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 144 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 145 ; WX 259 ; N quoteleft ; B 35 489 224 717 ; -C 146 ; WX 259 ; N quoteright ; B 35 489 224 717 ; -C 147 ; WX 470 ; N quotedblleft ; B 35 489 443 717 ; -C 148 ; WX 470 ; N quotedblright ; B 35 487 443 717 ; -C 149 ; WX 500 ; N bullet ; B 70 179 430 539 ; -C 150 ; WX 300 ; N endash ; B 0 245 300 350 ; -C 151 ; WX 600 ; N emdash ; B 0 245 600 350 ; -C 152 ; WX 278 ; N tilde ; B -44 563 326 689 ; -C 153 ; WX 990 ; N trademark ; B 62 306 928 718 ; -C 154 ; WX 0 ; N scaron ; B 0 0 0 100 ; -C 155 ; WX 0 ; N guilsinglright ; B 43 278 227 456 ; -C 156 ; WX 790 ; N oe ; B 27 -23 764 493 ; -C 157 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 158 ; WX 800 ; N .notdef ; B 50 0 750 800 ; -C 159 ; WX 754 ; N Ydieresis ; B -35 -17 789 882 ; -C 160 ; WX 282 ; N nbspace ; B -23 -14 754 893 ; -C 161 ; WX 324 ; N exclamdown ; B 69 -203 253 531 ; -C 162 ; WX 450 ; N cent ; B 27 -122 437 592 ; -C 163 ; WX 640 ; N sterling ; B 0 -9 619 716 ; -C 164 ; WX 518 ; N currency ; B 3 72 515 586 ; -C 165 ; WX 603 ; N yen ; B -28 -65 631 747 ; -C 166 ; WX 0 ; N brokenbar ; B 0 0 0 100 ; -C 167 ; WX 519 ; N section ; B -50 -216 524 762 ; -C 168 ; WX 254 ; N dieresis ; B -20 554 308 682 ; -C 169 ; WX 800 ; N copyright ; B 29 -12 771 730 ; -C 170 ; WX 349 ; N ordfeminine ; B 13 385 349 717 ; -C 171 ; WX 0 ; N guillemotleft ; B 43 -16 747 162 ; -C 172 ; WX 0 ; N logicalnot ; B 30 0 730 700 ; -C 173 ; WX 432 ; N hyphen ; B 28 249 404 377 ; -C 174 ; WX 800 ; N registered ; B 29 -12 771 730 ; -C 175 ; WX 278 ; N macron ; B -47 584 325 665 ; -C 176 ; WX 0 ; N degree ; B 27 -122 437 592 ; -C 177 ; WX 0 ; N plusminus ; B 29 -8 668 877 ; -C 178 ; WX 0 ; N twosuperior ; B 0 0 0 100 ; -C 179 ; WX 0 ; N threesuperior ; B 0 0 0 100 ; -C 180 ; WX 278 ; N acute ; B 49 536 279 693 ; -C 181 ; WX 614 ; N mu ; B -14 -231 558 501 ; -C 182 ; WX 0 ; N paragraph ; B -35 -15 668 785 ; -C 183 ; WX 254 ; N periodcentered ; B 43 278 227 456 ; -C 184 ; WX 278 ; N cedilla ; B -8 -216 231 6 ; -C 185 ; WX 0 ; N onesuperior ; B 0 0 0 100 ; -C 186 ; WX 305 ; N ordmasculine ; B 16 373 291 702 ; -C 187 ; WX 0 ; N guillemotright ; B 43 -16 747 162 ; -C 188 ; WX 0 ; N onequarter ; B 0 0 0 100 ; -C 189 ; WX 0 ; N onehalf ; B 0 0 0 100 ; -C 190 ; WX 0 ; N threequarters ; B 0 0 0 100 ; -C 191 ; WX 501 ; N questiondown ; B 15 -196 467 541 ; -C 192 ; WX 743 ; N Agrave ; B -23 -14 754 893 ; -C 193 ; WX 743 ; N Aacute ; B -23 -14 754 893 ; -C 194 ; WX 743 ; N Acircumflex ; B -23 -14 754 877 ; -C 195 ; WX 743 ; N Atilde ; B -23 -14 754 889 ; -C 196 ; WX 743 ; N Adieresis ; B -23 -14 754 882 ; -C 197 ; WX 743 ; N Aring ; B -23 -14 754 899 ; -C 198 ; WX 1060 ; N AE ; B -29 -14 1053 708 ; -C 199 ; WX 598 ; N Ccedilla ; B 27 -183 572 712 ; -C 200 ; WX 608 ; N Egrave ; B -21 0 608 893 ; -C 201 ; WX 608 ; N Eacute ; B -21 0 608 893 ; -C 202 ; WX 608 ; N Ecircumflex ; B -21 0 608 877 ; -C 203 ; WX 608 ; N Edieresis ; B -21 0 608 882 ; -C 204 ; WX 308 ; N Igrave ; B 14 -15 264 893 ; -C 205 ; WX 308 ; N Iacute ; B 14 -15 274 893 ; -C 206 ; WX 308 ; N Icircumflex ; B 1 -15 307 877 ; -C 207 ; WX 308 ; N Idieresis ; B -15 -15 313 882 ; -C 208 ; WX 0 ; N Eth ; B 0 0 0 100 ; -C 209 ; WX 817 ; N Ntilde ; B -42 -17 747 889 ; -C 210 ; WX 729 ; N Ograve ; B 32 -16 698 893 ; -C 211 ; WX 729 ; N Oacute ; B 32 -16 698 893 ; -C 212 ; WX 729 ; N Ocircumflex ; B 32 -16 698 877 ; -C 213 ; WX 729 ; N Otilde ; B 32 -16 698 889 ; -C 214 ; WX 729 ; N Odieresis ; B 32 -16 698 882 ; -C 215 ; WX 0 ; N multiply ; B 0 0 0 100 ; -C 216 ; WX 729 ; N Oslash ; B 14 -24 724 709 ; -C 217 ; WX 805 ; N Ugrave ; B 0 -19 804 893 ; -C 218 ; WX 805 ; N Uacute ; B 0 -19 804 893 ; -C 219 ; WX 805 ; N Ucircumflex ; B 0 -19 804 877 ; -C 220 ; WX 805 ; N Udieresis ; B 0 -19 804 882 ; -C 221 ; WX 0 ; N _235 ; B 0 0 0 100 ; -C 222 ; WX 0 ; N Thorn ; B 0 0 0 100 ; -C 223 ; WX 688 ; N germandbls ; B -35 -15 668 785 ; -C 224 ; WX 581 ; N agrave ; B 21 -16 581 693 ; -C 225 ; WX 581 ; N aacute ; B 21 -16 581 693 ; -C 226 ; WX 581 ; N acircumflex ; B 21 -16 581 677 ; -C 227 ; WX 581 ; N atilde ; B 21 -16 581 689 ; -C 228 ; WX 581 ; N adieresis ; B 21 -16 581 682 ; -C 229 ; WX 581 ; N aring ; B 21 -16 581 734 ; -C 230 ; WX 792 ; N ae ; B 21 -23 773 494 ; -C 231 ; WX 440 ; N ccedilla ; B 21 -183 422 490 ; -C 232 ; WX 450 ; N egrave ; B 28 -23 428 693 ; -C 233 ; WX 450 ; N eacute ; B 28 -23 428 693 ; -C 234 ; WX 450 ; N ecircumflex ; B 28 -23 432 677 ; -C 235 ; WX 450 ; N edieresis ; B 28 -23 428 682 ; -C 236 ; WX 283 ; N igrave ; B -14 -15 244 693 ; -C 237 ; WX 283 ; N iacute ; B -14 -15 269 693 ; -C 238 ; WX 283 ; N icircumflex ; B -14 -15 297 677 ; -C 239 ; WX 283 ; N idieresis ; B -25 -15 303 682 ; -C 240 ; WX 0 ; N Yacute ; B 0 0 0 100 ; -C 241 ; WX 595 ; N ntilde ; B -28 -15 574 689 ; -C 242 ; WX 508 ; N ograve ; B 27 -17 485 693 ; -C 243 ; WX 508 ; N oacute ; B 27 -17 485 693 ; -C 244 ; WX 508 ; N ocircumflex ; B 27 -17 485 677 ; -C 245 ; WX 508 ; N otilde ; B 27 -17 485 689 ; -C 246 ; WX 508 ; N odieresis ; B 27 -17 485 682 ; -C 247 ; WX 0 ; N divide ; B 35 0 760 727 ; -C 248 ; WX 508 ; N oslash ; B -8 -54 496 589 ; -C 249 ; WX 614 ; N ugrave ; B -14 -18 558 693 ; -C 250 ; WX 614 ; N uacute ; B -14 -18 558 693 ; -C 251 ; WX 614 ; N ucircumflex ; B -14 -18 558 677 ; -C 252 ; WX 614 ; N udieresis ; B -14 -18 558 682 ; -C 253 ; WX 0 ; N yacute ; B 0 0 0 100 ; -C 254 ; WX 0 ; N thorn ; B 0 0 0 100 ; -C 255 ; WX 597 ; N ydieresis ; B -21 -227 541 682 ; -EndCharMetrics -EndFontMetrics diff --git a/sources/doc/fpdf/tutorial/calligra.php b/sources/doc/fpdf/tutorial/calligra.php deleted file mode 100755 index 1af82ac..0000000 --- a/sources/doc/fpdf/tutorial/calligra.php +++ /dev/null @@ -1,24 +0,0 @@ -899,'Descent'=>-234,'CapHeight'=>731,'Flags'=>32,'FontBBox'=>'[-50 -234 1328 899]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>800); -$up=-200; -$ut=20; -$cw=array( - chr(0)=>800,chr(1)=>800,chr(2)=>800,chr(3)=>800,chr(4)=>800,chr(5)=>800,chr(6)=>800,chr(7)=>800,chr(8)=>800,chr(9)=>800,chr(10)=>800,chr(11)=>800,chr(12)=>800,chr(13)=>800,chr(14)=>800,chr(15)=>800,chr(16)=>800,chr(17)=>800,chr(18)=>800,chr(19)=>800,chr(20)=>800,chr(21)=>800, - chr(22)=>800,chr(23)=>800,chr(24)=>800,chr(25)=>800,chr(26)=>800,chr(27)=>800,chr(28)=>800,chr(29)=>800,chr(30)=>800,chr(31)=>800,' '=>282,'!'=>324,'"'=>405,'#'=>584,'$'=>632,'%'=>980,'&'=>776,'\''=>259,'('=>299,')'=>299,'*'=>377,'+'=>600, - ','=>259,'-'=>432,'.'=>254,'/'=>597,'0'=>529,'1'=>298,'2'=>451,'3'=>359,'4'=>525,'5'=>423,'6'=>464,'7'=>417,'8'=>457,'9'=>479,':'=>275,';'=>282,'<'=>600,'='=>600,'>'=>600,'?'=>501,'@'=>800,'A'=>743, - 'B'=>636,'C'=>598,'D'=>712,'E'=>608,'F'=>562,'G'=>680,'H'=>756,'I'=>308,'J'=>314,'K'=>676,'L'=>552,'M'=>1041,'N'=>817,'O'=>729,'P'=>569,'Q'=>698,'R'=>674,'S'=>618,'T'=>673,'U'=>805,'V'=>753,'W'=>1238, - 'X'=>716,'Y'=>754,'Z'=>599,'['=>315,'\\'=>463,']'=>315,'^'=>600,'_'=>547,'`'=>278,'a'=>581,'b'=>564,'c'=>440,'d'=>571,'e'=>450,'f'=>347,'g'=>628,'h'=>611,'i'=>283,'j'=>283,'k'=>560,'l'=>252,'m'=>976, - 'n'=>595,'o'=>508,'p'=>549,'q'=>540,'r'=>395,'s'=>441,'t'=>307,'u'=>614,'v'=>556,'w'=>915,'x'=>559,'y'=>597,'z'=>452,'{'=>315,'|'=>222,'}'=>315,'~'=>600,chr(127)=>800,chr(128)=>800,chr(129)=>800,chr(130)=>0,chr(131)=>0, - chr(132)=>0,chr(133)=>780,chr(134)=>0,chr(135)=>0,chr(136)=>278,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>1064,chr(141)=>800,chr(142)=>800,chr(143)=>800,chr(144)=>800,chr(145)=>259,chr(146)=>259,chr(147)=>470,chr(148)=>470,chr(149)=>500,chr(150)=>300,chr(151)=>600,chr(152)=>278,chr(153)=>990, - chr(154)=>0,chr(155)=>0,chr(156)=>790,chr(157)=>800,chr(158)=>800,chr(159)=>754,chr(160)=>282,chr(161)=>324,chr(162)=>450,chr(163)=>640,chr(164)=>518,chr(165)=>603,chr(166)=>0,chr(167)=>519,chr(168)=>254,chr(169)=>800,chr(170)=>349,chr(171)=>0,chr(172)=>0,chr(173)=>432,chr(174)=>800,chr(175)=>278, - chr(176)=>0,chr(177)=>0,chr(178)=>0,chr(179)=>0,chr(180)=>278,chr(181)=>614,chr(182)=>0,chr(183)=>254,chr(184)=>278,chr(185)=>0,chr(186)=>305,chr(187)=>0,chr(188)=>0,chr(189)=>0,chr(190)=>0,chr(191)=>501,chr(192)=>743,chr(193)=>743,chr(194)=>743,chr(195)=>743,chr(196)=>743,chr(197)=>743, - chr(198)=>1060,chr(199)=>598,chr(200)=>608,chr(201)=>608,chr(202)=>608,chr(203)=>608,chr(204)=>308,chr(205)=>308,chr(206)=>308,chr(207)=>308,chr(208)=>0,chr(209)=>817,chr(210)=>729,chr(211)=>729,chr(212)=>729,chr(213)=>729,chr(214)=>729,chr(215)=>0,chr(216)=>729,chr(217)=>805,chr(218)=>805,chr(219)=>805, - chr(220)=>805,chr(221)=>0,chr(222)=>0,chr(223)=>688,chr(224)=>581,chr(225)=>581,chr(226)=>581,chr(227)=>581,chr(228)=>581,chr(229)=>581,chr(230)=>792,chr(231)=>440,chr(232)=>450,chr(233)=>450,chr(234)=>450,chr(235)=>450,chr(236)=>283,chr(237)=>283,chr(238)=>283,chr(239)=>283,chr(240)=>800,chr(241)=>595, - chr(242)=>508,chr(243)=>508,chr(244)=>508,chr(245)=>508,chr(246)=>508,chr(247)=>0,chr(248)=>508,chr(249)=>614,chr(250)=>614,chr(251)=>614,chr(252)=>614,chr(253)=>0,chr(254)=>0,chr(255)=>597); -$enc='cp1252'; -$diff=''; -$file='calligra.z'; -$originalsize=40120; -?> diff --git a/sources/doc/fpdf/tutorial/calligra.ttf b/sources/doc/fpdf/tutorial/calligra.ttf deleted file mode 100755 index 9713c468ca29f5bfcecb65d96e52711aaa5f50e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40120 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 EJEXL@qyPW_ diff --git a/sources/doc/fpdf/tutorial/calligra.z b/sources/doc/fpdf/tutorial/calligra.z deleted file mode 100755 index 1c0bebd20b3f68fe84a44520cc93c7cee39f2792..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25604 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 jkH^DoB9A@c#fz}Vaf2UWPe| - - - -Tutorials - - - -

    Tutorials

    -

    The different examples rapidly show how to use FPDF. You will find all main features explained.

    -
    - - diff --git a/sources/doc/fpdf/tutorial/logo.png b/sources/doc/fpdf/tutorial/logo.png deleted file mode 100755 index 284a0071c850b5a2f1ba86f16775c5c0da9fe082..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2373 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 IayK9PFK}2WsQ>@~ diff --git a/sources/doc/fpdf/tutorial/makefont.php b/sources/doc/fpdf/tutorial/makefont.php deleted file mode 100755 index 3773429..0000000 --- a/sources/doc/fpdf/tutorial/makefont.php +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/sources/doc/fpdf/tutorial/tuto1.htm b/sources/doc/fpdf/tutorial/tuto1.htm deleted file mode 100755 index 7f1779f..0000000 --- a/sources/doc/fpdf/tutorial/tuto1.htm +++ /dev/null @@ -1,77 +0,0 @@ - - - - -Minimal example - - - -

    Minimal example

    -Let's start with the classic example: -
    -
    <?php
    -require('fpdf.php');
    -
    -$pdf=new FPDF();
    -$pdf->AddPage();
    -$pdf->SetFont('Arial','B',16);
    -$pdf->Cell(40,10,'Hello World!');
    -$pdf->Output();
    -?>
    -
    -

    [Demo]

    -After including the library file, we create an FPDF object. -The FPDF() constructor is used here with the default values: pages are in A4 portrait and -the unit of measure is millimeter. It could have been specified explicitly with: -
    -
    $pdf=new FPDF('P','mm','A4');
    -
    -
    -It is possible to use landscape (L), other page formats (such as Letter and -Legal) and units of measure (pt, cm, in). -
    -
    -There is no page for the moment, so we have to add one with AddPage(). The origin -is at the upper-left corner and the current position is by default placed at 1 cm from the -borders; the margins can be changed with SetMargins(). -
    -
    -Before we can print text, it is mandatory to select a font with SetFont(), otherwise the -document would be invalid. We choose Arial bold 16: -
    -
    $pdf->SetFont('Arial','B',16);
    -
    -
    -We could have specified italics with I, underlined with U or a regular font with an empty string -(or any combination). Note that the font size is given in points, not millimeters (or another -user unit); it is the only exception. The other standard fonts are Times, Courier, Symbol and -ZapfDingbats. -
    -
    -We can now print a cell with Cell(). A cell is a rectangular area, possibly framed, -which contains a line of text. It is output at the current position. We specify its dimensions, -its text (centered or aligned), if borders should be drawn, and where the current position -moves after it (to the right, below or to the beginning of the next line). To add a frame, we would do this: -
    -
    $pdf->Cell(40,10,'Hello World !',1);
    -
    -
    -To add a new cell next to it with centered text and go to the next line, we would do: -
    -
    $pdf->Cell(60,10,'Powered by FPDF.',0,1,'C');
    -
    -
    -Remark: the line break can also be done with Ln(). This method additionnaly allows to specify -the height of the break. -
    -
    -Finally, the document is closed and sent to the browser with Output(). We could have saved -it to a file by passing the desired file name. -
    -
    -Caution: in case when the PDF is sent to the browser, nothing else must be output by the -script, neither before nor after (no HTML, not even a space or a carriage return). If you send something -before, you will get the error message: "Some data has already been output, can't send PDF file". If you -send something after, the document might not display. - - diff --git a/sources/doc/fpdf/tutorial/tuto1.php b/sources/doc/fpdf/tutorial/tuto1.php deleted file mode 100755 index 39db1fd..0000000 --- a/sources/doc/fpdf/tutorial/tuto1.php +++ /dev/null @@ -1,9 +0,0 @@ -AddPage(); -$pdf->SetFont('Arial','B',16); -$pdf->Cell(40,10,'Hello World!'); -$pdf->Output(); -?> diff --git a/sources/doc/fpdf/tutorial/tuto2.htm b/sources/doc/fpdf/tutorial/tuto2.htm deleted file mode 100755 index 6cff8f4..0000000 --- a/sources/doc/fpdf/tutorial/tuto2.htm +++ /dev/null @@ -1,80 +0,0 @@ - - - - -Header, footer, page break and image - - - -

    Header, footer, page break and image

    -Here is a two page example with header, footer and logo: -
    -
    <?php
    -require('fpdf.php');
    -
    -class PDF extends FPDF
    -{
    -//Page header
    -function Header()
    -{
    -    //Logo
    -    $this->Image('logo_pb.png',10,8,33);
    -    //Arial bold 15
    -    $this->SetFont('Arial','B',15);
    -    //Move to the right
    -    $this->Cell(80);
    -    //Title
    -    $this->Cell(30,10,'Title',1,0,'C');
    -    //Line break
    -    $this->Ln(20);
    -}
    -
    -//Page footer
    -function Footer()
    -{
    -    //Position at 1.5 cm from bottom
    -    $this->SetY(-15);
    -    //Arial italic 8
    -    $this->SetFont('Arial','I',8);
    -    //Page number
    -    $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
    -}
    -}
    -
    -//Instanciation of inherited class
    -$pdf=new PDF();
    -$pdf->AliasNbPages();
    -$pdf->AddPage();
    -$pdf->SetFont('Times','',12);
    -for($i=1;$i<=40;$i++)
    -    $pdf->Cell(0,10,'Printing line number '.$i,0,1);
    -$pdf->Output();
    -?>
    -
    -

    [Demo]

    -This example makes use of the Header() and Footer() methods to process page headers and -footers. They are called automatically. They already exist in the FPDF class but do nothing, -therefore we have to extend the class and override them. -
    -
    -The logo is printed with the Image() method by specifying its upper-left corner and -its width. The height is calculated automatically to respect the image proportions. -
    -
    -To print the page number, a null value is passed as the cell width. It means that the cell -should extend up to the right margin of the page; it is handy to center text. The current page -number is returned by the PageNo() method; as for the total number of pages, it is obtained -by means of the special value {nb} which will be substituted on document closure -(provided you first called AliasNbPages()). -
    -Note the use of the SetY() method which allows to set position at an absolute location in -the page, starting from the top or the bottom. -
    -
    -Another interesting feature is used here: the automatic page breaking. As soon as a cell would -cross a limit in the page (at 2 centimeters from the bottom by default), a break is performed -and the font restored. Although the header and footer select their own font (Arial), the body -continues with Times. This mechanism of automatic restoration also applies to colors and line -width. The limit which triggers page breaks can be set with SetAutoPageBreak(). - - diff --git a/sources/doc/fpdf/tutorial/tuto2.php b/sources/doc/fpdf/tutorial/tuto2.php deleted file mode 100755 index f400713..0000000 --- a/sources/doc/fpdf/tutorial/tuto2.php +++ /dev/null @@ -1,41 +0,0 @@ -Image('logo_pb.png',10,8,33); - //Arial bold 15 - $this->SetFont('Arial','B',15); - //Move to the right - $this->Cell(80); - //Title - $this->Cell(30,10,'Title',1,0,'C'); - //Line break - $this->Ln(20); -} - -//Page footer -function Footer() -{ - //Position at 1.5 cm from bottom - $this->SetY(-15); - //Arial italic 8 - $this->SetFont('Arial','I',8); - //Page number - $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); -} -} - -//Instanciation of inherited class -$pdf=new PDF(); -$pdf->AliasNbPages(); -$pdf->AddPage(); -$pdf->SetFont('Times','',12); -for($i=1;$i<=40;$i++) - $pdf->Cell(0,10,'Printing line number '.$i,0,1); -$pdf->Output(); -?> diff --git a/sources/doc/fpdf/tutorial/tuto3.htm b/sources/doc/fpdf/tutorial/tuto3.htm deleted file mode 100755 index b85cad9..0000000 --- a/sources/doc/fpdf/tutorial/tuto3.htm +++ /dev/null @@ -1,116 +0,0 @@ - - - - -Line breaks and colors - - - -

    Line breaks and colors

    -Let's continue with an example which prints justified paragraphs. It also illustrates the use -of colors. -
    -
    <?php
    -require('fpdf.php');
    -
    -class PDF extends FPDF
    -{
    -function Header()
    -{
    -    global $title;
    -
    -    //Arial bold 15
    -    $this->SetFont('Arial','B',15);
    -    //Calculate width of title and position
    -    $w=$this->GetStringWidth($title)+6;
    -    $this->SetX((210-$w)/2);
    -    //Colors of frame, background and text
    -    $this->SetDrawColor(0,80,180);
    -    $this->SetFillColor(230,230,0);
    -    $this->SetTextColor(220,50,50);
    -    //Thickness of frame (1 mm)
    -    $this->SetLineWidth(1);
    -    //Title
    -    $this->Cell($w,9,$title,1,1,'C',true);
    -    //Line break
    -    $this->Ln(10);
    -}
    -
    -function Footer()
    -{
    -    //Position at 1.5 cm from bottom
    -    $this->SetY(-15);
    -    //Arial italic 8
    -    $this->SetFont('Arial','I',8);
    -    //Text color in gray
    -    $this->SetTextColor(128);
    -    //Page number
    -    $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
    -}
    -
    -function ChapterTitle($num,$label)
    -{
    -    //Arial 12
    -    $this->SetFont('Arial','',12);
    -    //Background color
    -    $this->SetFillColor(200,220,255);
    -    //Title
    -    $this->Cell(0,6,"Chapter $num : $label",0,1,'L',true);
    -    //Line break
    -    $this->Ln(4);
    -}
    -
    -function ChapterBody($file)
    -{
    -    //Read text file
    -    $f=fopen($file,'r');
    -    $txt=fread($f,filesize($file));
    -    fclose($f);
    -    //Times 12
    -    $this->SetFont('Times','',12);
    -    //Output justified text
    -    $this->MultiCell(0,5,$txt);
    -    //Line break
    -    $this->Ln();
    -    //Mention in italics
    -    $this->SetFont('','I');
    -    $this->Cell(0,5,'(end of excerpt)');
    -}
    -
    -function PrintChapter($num,$title,$file)
    -{
    -    $this->AddPage();
    -    $this->ChapterTitle($num,$title);
    -    $this->ChapterBody($file);
    -}
    -}
    -
    -$pdf=new PDF();
    -$title='20000 Leagues Under the Seas';
    -$pdf->SetTitle($title);
    -$pdf->SetAuthor('Jules Verne');
    -$pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt');
    -$pdf->PrintChapter(2,'THE PROS AND CONS','20k_c2.txt');
    -$pdf->Output();
    -?>
    -
    -

    [Demo]

    -The GetStringWidth() method allows to determine the length of a string in the current font, -which is used here to calculate the position and the width of the frame surrounding the title. -Then colors are set (via SetDrawColor(), SetFillColor() and SetTextColor()) and the -thickness of the line is set to 1 mm (against 0.2 by default) with SetLineWidth(). Finally, -we output the cell (the last parameter to true indicates that the background must -be filled). -
    -
    -The method used to print the paragraphs is MultiCell(). Each time a line reaches the -right extremity of the cell or a carriage return character is met, a line break is issued -and a new cell automatically created under the current one. Text is justified by default. -
    -
    -Two document properties are defined: the title (SetTitle()) and the author (SetAuthor()). -Properties can be viewed by two means. First is to open the document directly with Acrobat Reader, -go to the File menu and choose the Document Properties option. The second, also available from -the plug-in, is to right-click and select Document Properties. - - diff --git a/sources/doc/fpdf/tutorial/tuto3.php b/sources/doc/fpdf/tutorial/tuto3.php deleted file mode 100755 index f84589a..0000000 --- a/sources/doc/fpdf/tutorial/tuto3.php +++ /dev/null @@ -1,83 +0,0 @@ -SetFont('Arial','B',15); - //Calculate width of title and position - $w=$this->GetStringWidth($title)+6; - $this->SetX((210-$w)/2); - //Colors of frame, background and text - $this->SetDrawColor(0,80,180); - $this->SetFillColor(230,230,0); - $this->SetTextColor(220,50,50); - //Thickness of frame (1 mm) - $this->SetLineWidth(1); - //Title - $this->Cell($w,9,$title,1,1,'C',true); - //Line break - $this->Ln(10); -} - -function Footer() -{ - //Position at 1.5 cm from bottom - $this->SetY(-15); - //Arial italic 8 - $this->SetFont('Arial','I',8); - //Text color in gray - $this->SetTextColor(128); - //Page number - $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C'); -} - -function ChapterTitle($num,$label) -{ - //Arial 12 - $this->SetFont('Arial','',12); - //Background color - $this->SetFillColor(200,220,255); - //Title - $this->Cell(0,6,"Chapter $num : $label",0,1,'L',true); - //Line break - $this->Ln(4); -} - -function ChapterBody($file) -{ - //Read text file - $f=fopen($file,'r'); - $txt=fread($f,filesize($file)); - fclose($f); - //Times 12 - $this->SetFont('Times','',12); - //Output justified text - $this->MultiCell(0,5,$txt); - //Line break - $this->Ln(); - //Mention in italics - $this->SetFont('','I'); - $this->Cell(0,5,'(end of excerpt)'); -} - -function PrintChapter($num,$title,$file) -{ - $this->AddPage(); - $this->ChapterTitle($num,$title); - $this->ChapterBody($file); -} -} - -$pdf=new PDF(); -$title='20000 Leagues Under the Seas'; -$pdf->SetTitle($title); -$pdf->SetAuthor('Jules Verne'); -$pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt'); -$pdf->PrintChapter(2,'THE PROS AND CONS','20k_c2.txt'); -$pdf->Output(); -?> diff --git a/sources/doc/fpdf/tutorial/tuto4.htm b/sources/doc/fpdf/tutorial/tuto4.htm deleted file mode 100755 index f39b5b2..0000000 --- a/sources/doc/fpdf/tutorial/tuto4.htm +++ /dev/null @@ -1,136 +0,0 @@ - - - - -Multi-columns - - - -

    Multi-columns

    -This example is a variant of the previous one showing how to lay the text across multiple -columns. -
    -
    <?php
    -require('fpdf.php');
    -
    -class PDF extends FPDF
    -{
    -//Current column
    -var $col=0;
    -//Ordinate of column start
    -var $y0;
    -
    -function Header()
    -{
    -    //Page header
    -    global $title;
    -
    -    $this->SetFont('Arial','B',15);
    -    $w=$this->GetStringWidth($title)+6;
    -    $this->SetX((210-$w)/2);
    -    $this->SetDrawColor(0,80,180);
    -    $this->SetFillColor(230,230,0);
    -    $this->SetTextColor(220,50,50);
    -    $this->SetLineWidth(1);
    -    $this->Cell($w,9,$title,1,1,'C',true);
    -    $this->Ln(10);
    -    //Save ordinate
    -    $this->y0=$this->GetY();
    -}
    -
    -function Footer()
    -{
    -    //Page footer
    -    $this->SetY(-15);
    -    $this->SetFont('Arial','I',8);
    -    $this->SetTextColor(128);
    -    $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
    -}
    -
    -function SetCol($col)
    -{
    -    //Set position at a given column
    -    $this->col=$col;
    -    $x=10+$col*65;
    -    $this->SetLeftMargin($x);
    -    $this->SetX($x);
    -}
    -
    -function AcceptPageBreak()
    -{
    -    //Method accepting or not automatic page break
    -    if($this->col<2)
    -    {
    -        //Go to next column
    -        $this->SetCol($this->col+1);
    -        //Set ordinate to top
    -        $this->SetY($this->y0);
    -        //Keep on page
    -        return false;
    -    }
    -    else
    -    {
    -        //Go back to first column
    -        $this->SetCol(0);
    -        //Page break
    -        return true;
    -    }
    -}
    -
    -function ChapterTitle($num,$label)
    -{
    -    //Title
    -    $this->SetFont('Arial','',12);
    -    $this->SetFillColor(200,220,255);
    -    $this->Cell(0,6,"Chapter $num : $label",0,1,'L',true);
    -    $this->Ln(4);
    -    //Save ordinate
    -    $this->y0=$this->GetY();
    -}
    -
    -function ChapterBody($file)
    -{
    -    //Read text file
    -    $f=fopen($file,'r');
    -    $txt=fread($f,filesize($file));
    -    fclose($f);
    -    //Font
    -    $this->SetFont('Times','',12);
    -    //Output text in a 6 cm width column
    -    $this->MultiCell(60,5,$txt);
    -    $this->Ln();
    -    //Mention
    -    $this->SetFont('','I');
    -    $this->Cell(0,5,'(end of excerpt)');
    -    //Go back to first column
    -    $this->SetCol(0);
    -}
    -
    -function PrintChapter($num,$title,$file)
    -{
    -    //Add chapter
    -    $this->AddPage();
    -    $this->ChapterTitle($num,$title);
    -    $this->ChapterBody($file);
    -}
    -}
    -
    -$pdf=new PDF();
    -$title='20000 Leagues Under the Seas';
    -$pdf->SetTitle($title);
    -$pdf->SetAuthor('Jules Verne');
    -$pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt');
    -$pdf->PrintChapter(2,'THE PROS AND CONS','20k_c2.txt');
    -$pdf->Output();
    -?>
    -
    -

    [Demo]

    -The key method used is AcceptPageBreak(). It allows to accept or not an automatic page -break. By refusing it and altering the margin and current position, the desired column layout -is achieved. -
    -For the rest, not many changes; two properties have been added to the class to save the current -column number and the position where columns begin, and the MultiCell() call specifies a -6 centimeter width. - - diff --git a/sources/doc/fpdf/tutorial/tuto4.php b/sources/doc/fpdf/tutorial/tuto4.php deleted file mode 100755 index d54bc8a..0000000 --- a/sources/doc/fpdf/tutorial/tuto4.php +++ /dev/null @@ -1,113 +0,0 @@ -SetFont('Arial','B',15); - $w=$this->GetStringWidth($title)+6; - $this->SetX((210-$w)/2); - $this->SetDrawColor(0,80,180); - $this->SetFillColor(230,230,0); - $this->SetTextColor(220,50,50); - $this->SetLineWidth(1); - $this->Cell($w,9,$title,1,1,'C',true); - $this->Ln(10); - //Save ordinate - $this->y0=$this->GetY(); -} - -function Footer() -{ - //Page footer - $this->SetY(-15); - $this->SetFont('Arial','I',8); - $this->SetTextColor(128); - $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C'); -} - -function SetCol($col) -{ - //Set position at a given column - $this->col=$col; - $x=10+$col*65; - $this->SetLeftMargin($x); - $this->SetX($x); -} - -function AcceptPageBreak() -{ - //Method accepting or not automatic page break - if($this->col<2) - { - //Go to next column - $this->SetCol($this->col+1); - //Set ordinate to top - $this->SetY($this->y0); - //Keep on page - return false; - } - else - { - //Go back to first column - $this->SetCol(0); - //Page break - return true; - } -} - -function ChapterTitle($num,$label) -{ - //Title - $this->SetFont('Arial','',12); - $this->SetFillColor(200,220,255); - $this->Cell(0,6,"Chapter $num : $label",0,1,'L',true); - $this->Ln(4); - //Save ordinate - $this->y0=$this->GetY(); -} - -function ChapterBody($file) -{ - //Read text file - $f=fopen($file,'r'); - $txt=fread($f,filesize($file)); - fclose($f); - //Font - $this->SetFont('Times','',12); - //Output text in a 6 cm width column - $this->MultiCell(60,5,$txt); - $this->Ln(); - //Mention - $this->SetFont('','I'); - $this->Cell(0,5,'(end of excerpt)'); - //Go back to first column - $this->SetCol(0); -} - -function PrintChapter($num,$title,$file) -{ - //Add chapter - $this->AddPage(); - $this->ChapterTitle($num,$title); - $this->ChapterBody($file); -} -} - -$pdf=new PDF(); -$title='20000 Leagues Under the Seas'; -$pdf->SetTitle($title); -$pdf->SetAuthor('Jules Verne'); -$pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt'); -$pdf->PrintChapter(2,'THE PROS AND CONS','20k_c2.txt'); -$pdf->Output(); -?> diff --git a/sources/doc/fpdf/tutorial/tuto5.htm b/sources/doc/fpdf/tutorial/tuto5.htm deleted file mode 100755 index f22b175..0000000 --- a/sources/doc/fpdf/tutorial/tuto5.htm +++ /dev/null @@ -1,133 +0,0 @@ - - - - -Tables - - - -

    Tables

    -This tutorial shows how to make tables easily. -
    -
    <?php
    -require('fpdf.php');
    -
    -class PDF extends FPDF
    -{
    -//Load data
    -function LoadData($file)
    -{
    -    //Read file lines
    -    $lines=file($file);
    -    $data=array();
    -    foreach($lines as $line)
    -        $data[]=explode(';',chop($line));
    -    return $data;
    -}
    -
    -//Simple table
    -function BasicTable($header,$data)
    -{
    -    //Header
    -    foreach($header as $col)
    -        $this->Cell(40,7,$col,1);
    -    $this->Ln();
    -    //Data
    -    foreach($data as $row)
    -    {
    -        foreach($row as $col)
    -            $this->Cell(40,6,$col,1);
    -        $this->Ln();
    -    }
    -}
    -
    -//Better table
    -function ImprovedTable($header,$data)
    -{
    -    //Column widths
    -    $w=array(40,35,40,45);
    -    //Header
    -    for($i=0;$i<count($header);$i++)
    -        $this->Cell($w[$i],7,$header[$i],1,0,'C');
    -    $this->Ln();
    -    //Data
    -    foreach($data as $row)
    -    {
    -        $this->Cell($w[0],6,$row[0],'LR');
    -        $this->Cell($w[1],6,$row[1],'LR');
    -        $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R');
    -        $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R');
    -        $this->Ln();
    -    }
    -    //Closure line
    -    $this->Cell(array_sum($w),0,'','T');
    -}
    -
    -//Colored table
    -function FancyTable($header,$data)
    -{
    -    //Colors, line width and bold font
    -    $this->SetFillColor(255,0,0);
    -    $this->SetTextColor(255);
    -    $this->SetDrawColor(128,0,0);
    -    $this->SetLineWidth(.3);
    -    $this->SetFont('','B');
    -    //Header
    -    $w=array(40,35,40,45);
    -    for($i=0;$i<count($header);$i++)
    -        $this->Cell($w[$i],7,$header[$i],1,0,'C',true);
    -    $this->Ln();
    -    //Color and font restoration
    -    $this->SetFillColor(224,235,255);
    -    $this->SetTextColor(0);
    -    $this->SetFont('');
    -    //Data
    -    $fill=false;
    -    foreach($data as $row)
    -    {
    -        $this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
    -        $this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
    -        $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);
    -        $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);
    -        $this->Ln();
    -        $fill=!$fill;
    -    }
    -    $this->Cell(array_sum($w),0,'','T');
    -}
    -}
    -
    -$pdf=new PDF();
    -//Column titles
    -$header=array('Country','Capital','Area (sq km)','Pop. (thousands)');
    -//Data loading
    -$data=$pdf->LoadData('countries.txt');
    -$pdf->SetFont('Arial','',14);
    -$pdf->AddPage();
    -$pdf->BasicTable($header,$data);
    -$pdf->AddPage();
    -$pdf->ImprovedTable($header,$data);
    -$pdf->AddPage();
    -$pdf->FancyTable($header,$data);
    -$pdf->Output();
    -?>
    -
    -

    [Demo]

    -A table being just a collection of cells, it is natural to build one from them. The first -example is achieved in the most basic way possible: simple framed cells, all of the same size -and left aligned. The result is rudimentary but very quick to obtain. -
    -
    -The second table brings some improvements: each column has its own width, titles are centered -and figures right aligned. Moreover, horizontal lines have been removed. This is done by means -of the border parameter of the Cell() method, which specifies which sides of the -cell must be drawn. Here we want the left (L) and right (R) ones. It remains -the problem of the horizontal line to finish the table. There are two possibilities: either -check for the last line in the loop, in which case we use LRB for the border -parameter; or, as done here, add the line once the loop is over. -
    -
    -The third table is similar to the second one but uses colors. Fill, text and line colors are -simply specified. Alternate coloring for rows is obtained by using alternatively transparent -and filled cells. - - diff --git a/sources/doc/fpdf/tutorial/tuto5.php b/sources/doc/fpdf/tutorial/tuto5.php deleted file mode 100755 index eb13772..0000000 --- a/sources/doc/fpdf/tutorial/tuto5.php +++ /dev/null @@ -1,101 +0,0 @@ -Cell(40,7,$col,1); - $this->Ln(); - //Data - foreach($data as $row) - { - foreach($row as $col) - $this->Cell(40,6,$col,1); - $this->Ln(); - } -} - -//Better table -function ImprovedTable($header,$data) -{ - //Column widths - $w=array(40,35,40,45); - //Header - for($i=0;$iCell($w[$i],7,$header[$i],1,0,'C'); - $this->Ln(); - //Data - foreach($data as $row) - { - $this->Cell($w[0],6,$row[0],'LR'); - $this->Cell($w[1],6,$row[1],'LR'); - $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R'); - $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R'); - $this->Ln(); - } - //Closure line - $this->Cell(array_sum($w),0,'','T'); -} - -//Colored table -function FancyTable($header,$data) -{ - //Colors, line width and bold font - $this->SetFillColor(255,0,0); - $this->SetTextColor(255); - $this->SetDrawColor(128,0,0); - $this->SetLineWidth(.3); - $this->SetFont('','B'); - //Header - $w=array(40,35,40,45); - for($i=0;$iCell($w[$i],7,$header[$i],1,0,'C',true); - $this->Ln(); - //Color and font restoration - $this->SetFillColor(224,235,255); - $this->SetTextColor(0); - $this->SetFont(''); - //Data - $fill=false; - foreach($data as $row) - { - $this->Cell($w[0],6,$row[0],'LR',0,'L',$fill); - $this->Cell($w[1],6,$row[1],'LR',0,'L',$fill); - $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill); - $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill); - $this->Ln(); - $fill=!$fill; - } - $this->Cell(array_sum($w),0,'','T'); -} -} - -$pdf=new PDF(); -//Column titles -$header=array('Country','Capital','Area (sq km)','Pop. (thousands)'); -//Data loading -$data=$pdf->LoadData('countries.txt'); -$pdf->SetFont('Arial','',14); -$pdf->AddPage(); -$pdf->BasicTable($header,$data); -$pdf->AddPage(); -$pdf->ImprovedTable($header,$data); -$pdf->AddPage(); -$pdf->FancyTable($header,$data); -$pdf->Output(); -?> diff --git a/sources/doc/fpdf/tutorial/tuto6.htm b/sources/doc/fpdf/tutorial/tuto6.htm deleted file mode 100755 index c9c5783..0000000 --- a/sources/doc/fpdf/tutorial/tuto6.htm +++ /dev/null @@ -1,165 +0,0 @@ - - - - -Links and flowing text - - - -

    Links and flowing text

    -This tutorial explains how to insert links (internal and external) and shows a new text writing -mode. It also contains a basic HTML parser. -
    -
    <?php
    -require('fpdf.php');
    -
    -class PDF extends FPDF
    -{
    -var $B;
    -var $I;
    -var $U;
    -var $HREF;
    -
    -function PDF($orientation='P',$unit='mm',$format='A4')
    -{
    -    //Call parent constructor
    -    $this->FPDF($orientation,$unit,$format);
    -    //Initialization
    -    $this->B=0;
    -    $this->I=0;
    -    $this->U=0;
    -    $this->HREF='';
    -}
    -
    -function WriteHTML($html)
    -{
    -    //HTML parser
    -    $html=str_replace("\n",' ',$html);
    -    $a=preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE);
    -    foreach($a as $i=>$e)
    -    {
    -        if($i%2==0)
    -        {
    -            //Text
    -            if($this->HREF)
    -                $this->PutLink($this->HREF,$e);
    -            else
    -                $this->Write(5,$e);
    -        }
    -        else
    -        {
    -            //Tag
    -            if($e[0]=='/')
    -                $this->CloseTag(strtoupper(substr($e,1)));
    -            else
    -            {
    -                //Extract attributes
    -                $a2=explode(' ',$e);
    -                $tag=strtoupper(array_shift($a2));
    -                $attr=array();
    -                foreach($a2 as $v)
    -                {
    -                    if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3))
    -                        $attr[strtoupper($a3[1])]=$a3[2];
    -                }
    -                $this->OpenTag($tag,$attr);
    -            }
    -        }
    -    }
    -}
    -
    -function OpenTag($tag,$attr)
    -{
    -    //Opening tag
    -    if($tag=='B' || $tag=='I' || $tag=='U')
    -        $this->SetStyle($tag,true);
    -    if($tag=='A')
    -        $this->HREF=$attr['HREF'];
    -    if($tag=='BR')
    -        $this->Ln(5);
    -}
    -
    -function CloseTag($tag)
    -{
    -    //Closing tag
    -    if($tag=='B' || $tag=='I' || $tag=='U')
    -        $this->SetStyle($tag,false);
    -    if($tag=='A')
    -        $this->HREF='';
    -}
    -
    -function SetStyle($tag,$enable)
    -{
    -    //Modify style and select corresponding font
    -    $this->$tag+=($enable ? 1 : -1);
    -    $style='';
    -    foreach(array('B','I','U') as $s)
    -    {
    -        if($this->$s>0)
    -            $style.=$s;
    -    }
    -    $this->SetFont('',$style);
    -}
    -
    -function PutLink($URL,$txt)
    -{
    -    //Put a hyperlink
    -    $this->SetTextColor(0,0,255);
    -    $this->SetStyle('U',true);
    -    $this->Write(5,$txt,$URL);
    -    $this->SetStyle('U',false);
    -    $this->SetTextColor(0);
    -}
    -}
    -
    -$html='You can now easily print text mixing different styles: <b>bold</b>, <i>italic</i>,
    -<u>underlined</u>, or <b><i><u>all at once</u></i></b>!<br><br>You can also insert links on
    -text, such as <a href="http://www.fpdf.org">www.fpdf.org</a>, or on an image: click on the logo.';
    -
    -$pdf=new PDF();
    -//First page
    -$pdf->AddPage();
    -$pdf->SetFont('Arial','',20);
    -$pdf->Write(5,'To find out what\'s new in this tutorial, click ');
    -$pdf->SetFont('','U');
    -$link=$pdf->AddLink();
    -$pdf->Write(5,'here',$link);
    -$pdf->SetFont('');
    -//Second page
    -$pdf->AddPage();
    -$pdf->SetLink($link);
    -$pdf->Image('logo.png',10,12,30,0,'','http://www.fpdf.org');
    -$pdf->SetLeftMargin(45);
    -$pdf->SetFontSize(14);
    -$pdf->WriteHTML($html);
    -$pdf->Output();
    -?>
    -
    -

    [Demo]

    -The new method to print text is Write(). It is very close to MultiCell(); the differences are: -
      -
    • The end of line is at the right margin and the next line begins at the left one
    • -
    • The current position moves at the end of the text
    • -
    -So it allows to write a chunk of text, alter the font style, then continue from the exact -place we left it. On the other hand, you cannot justify it. -
    -
    -The method is used on the first page to put a link pointing to the second one. The beginning of -the sentence is written in regular style, then we switch to underline and finish it. The link -is created with AddLink(), which returns a link identifier. The identifier is -passed as third parameter of Write(). Once the second page is created, we use SetLink() to -make the link point to the beginning of the current page. -
    -
    -Then we put an image with a link on it. An external link points to an URL (HTTP, mailto...). -The URL is simply passed as last parameter of Image(). -
    -
    -Finally, the left margin is moved after the image with SetLeftMargin() and some text in -HTML format is output. A very simple HTML parser is used for this, based on regular expressions. -Recognized tags are <b>, <i>, <u>, <a> and <br>; the others are -ignored. The parser also makes use of the Write() method. An external link is put the same way as -an internal one (third parameter of Write()). Note that Cell() also allows to put links. - - diff --git a/sources/doc/fpdf/tutorial/tuto6.php b/sources/doc/fpdf/tutorial/tuto6.php deleted file mode 100755 index 0de8947..0000000 --- a/sources/doc/fpdf/tutorial/tuto6.php +++ /dev/null @@ -1,124 +0,0 @@ -FPDF($orientation,$unit,$format); - //Initialization - $this->B=0; - $this->I=0; - $this->U=0; - $this->HREF=''; -} - -function WriteHTML($html) -{ - //HTML parser - $html=str_replace("\n",' ',$html); - $a=preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE); - foreach($a as $i=>$e) - { - if($i%2==0) - { - //Text - if($this->HREF) - $this->PutLink($this->HREF,$e); - else - $this->Write(5,$e); - } - else - { - //Tag - if($e[0]=='/') - $this->CloseTag(strtoupper(substr($e,1))); - else - { - //Extract attributes - $a2=explode(' ',$e); - $tag=strtoupper(array_shift($a2)); - $attr=array(); - foreach($a2 as $v) - { - if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3)) - $attr[strtoupper($a3[1])]=$a3[2]; - } - $this->OpenTag($tag,$attr); - } - } - } -} - -function OpenTag($tag,$attr) -{ - //Opening tag - if($tag=='B' || $tag=='I' || $tag=='U') - $this->SetStyle($tag,true); - if($tag=='A') - $this->HREF=$attr['HREF']; - if($tag=='BR') - $this->Ln(5); -} - -function CloseTag($tag) -{ - //Closing tag - if($tag=='B' || $tag=='I' || $tag=='U') - $this->SetStyle($tag,false); - if($tag=='A') - $this->HREF=''; -} - -function SetStyle($tag,$enable) -{ - //Modify style and select corresponding font - $this->$tag+=($enable ? 1 : -1); - $style=''; - foreach(array('B','I','U') as $s) - { - if($this->$s>0) - $style.=$s; - } - $this->SetFont('',$style); -} - -function PutLink($URL,$txt) -{ - //Put a hyperlink - $this->SetTextColor(0,0,255); - $this->SetStyle('U',true); - $this->Write(5,$txt,$URL); - $this->SetStyle('U',false); - $this->SetTextColor(0); -} -} - -$html='You can now easily print text mixing different styles: bold, italic, -underlined, or all at once!

    You can also insert links on -text, such as www.fpdf.org, or on an image: click on the logo.'; - -$pdf=new PDF(); -//First page -$pdf->AddPage(); -$pdf->SetFont('Arial','',20); -$pdf->Write(5,'To find out what\'s new in this tutorial, click '); -$pdf->SetFont('','U'); -$link=$pdf->AddLink(); -$pdf->Write(5,'here',$link); -$pdf->SetFont(''); -//Second page -$pdf->AddPage(); -$pdf->SetLink($link); -$pdf->Image('logo.png',10,12,30,0,'','http://www.fpdf.org'); -$pdf->SetLeftMargin(45); -$pdf->SetFontSize(14); -$pdf->WriteHTML($html); -$pdf->Output(); -?> diff --git a/sources/doc/fpdf/tutorial/tuto7.htm b/sources/doc/fpdf/tutorial/tuto7.htm deleted file mode 100755 index 0212fb9..0000000 --- a/sources/doc/fpdf/tutorial/tuto7.htm +++ /dev/null @@ -1,303 +0,0 @@ - - - - -Adding new fonts and encoding support - - - - -

    Adding new fonts and encoding support

    -This tutorial explains how to use TrueType or Type1 fonts so that you are not limited to the standard -fonts any more. The other interest is that you can choose the font encoding, which allows you to -use other languages than the Western ones (the standard fonts having too few available characters). -
    -
    -There are two ways to use a new font: embedding it in the PDF or not. When a font is not -embedded, it is searched in the system. The advantage is that the PDF file is lighter; on the other -hand, if it is not available, a substitution font is used. So it is preferable to ensure that the -needed font is installed on the client systems. If the file is to be viewed by a large audience, -it is recommended to embed. -
    -
    -Adding a new font requires three steps for TrueTypes: -
      -
    • Generation of the metric file (.afm)
    • -
    • Generation of the font definition file (.php)
    • -
    • Declaration of the font in the script
    • -
    -For Type1, the first one is theoretically not necessary because the AFM file is usually shipped -with the font. In case you have only a metric file in PFM format, use the convertor available -here. -

    Generation of the metric file

    -The first step for a TrueType consists in generating the AFM file. A utility exists to do this -task: ttf2pt1. The Windows binary -is available here. The command line to use is -the following: -
    -
    -ttf2pt1 -a font.ttf font -
    -
    -For example, for Comic Sans MS Regular: -
    -
    -ttf2pt1 -a c:\windows\fonts\comic.ttf comic -
    -
    -Two files are created; the one we are interested in is comic.afm. -

    Generation of the font definition file

    -The second step consists in generating a PHP file containing all the information needed by FPDF; -in addition, the font file is compressed. To do this, a helper script is provided in the font/makefont/ -directory of the package: makefont.php. It contains the following function: -
    -
    -MakeFont(string fontfile, string afmfile [, string enc [, array patch [, string type]]]) -
    -
    fontfile
    -
    -

    Path to the .ttf or .pfb file.

    -
    -
    afmfile
    -
    -

    Path to the .afm file.

    -
    -
    enc
    -
    -

    Name of the encoding to use. Default value: cp1252.

    -
    -
    patch
    -
    -

    Optional modification of the encoding. Empty by default.

    -
    -
    type
    -
    -

    Type of the font (TrueType or Type1). Default value: TrueType.

    -
    -
    -The first parameter is the name of the font file. The extension must be either .ttf or .pfb and -determines the font type. If you own a Type1 font in ASCII format (.pfa), you can convert it to -binary format with t1utils. -
    -If you don't want to embed the font, pass an empty string. In this case, type is given by the -type parameter. -
    -Note: in the case of a font with the same name as a standard one, for instance arial.ttf, it is -recommended to embed. If you don't, some versions of Acrobat will use their own fonts. -
    -
    -The AFM file is the one previously generated. -
    -
    -The encoding defines the association between a code (from 0 to 255) and a character. The first -128 are fixed and correspond to ASCII; the following are variable. The encodings are stored in -.map files. Those available are: -
      -
    • cp1250 (Central Europe)
    • -
    • cp1251 (Cyrillic)
    • -
    • cp1252 (Western Europe)
    • -
    • cp1253 (Greek)
    • -
    • cp1254 (Turkish)
    • -
    • cp1255 (Hebrew)
    • -
    • cp1257 (Baltic)
    • -
    • cp1258 (Vietnamese)
    • -
    • cp874 (Thai)
    • -
    • ISO-8859-1 (Western Europe)
    • -
    • ISO-8859-2 (Central Europe)
    • -
    • ISO-8859-4 (Baltic)
    • -
    • ISO-8859-5 (Cyrillic)
    • -
    • ISO-8859-7 (Greek)
    • -
    • ISO-8859-9 (Turkish)
    • -
    • ISO-8859-11 (Thai)
    • -
    • ISO-8859-15 (Western Europe)
    • -
    • ISO-8859-16 (Central Europe)
    • -
    • KOI8-R (Russian)
    • -
    • KOI8-U (Ukrainian)
    • -
    -Of course, the font must contain the characters corresponding to the chosen encoding. -
    -In the particular case of a symbolic font (that is to say which does not contain letters, such -as Symbol or ZapfDingbats), pass an empty string. -
    -The encodings which begin with cp are those used by Windows; Linux systems usually use ISO. -
    -Remark: the standard fonts use cp1252. -
    -
    -The fourth parameter gives the possibility to alter the encoding. Sometimes you may want to add -some characters. For instance, ISO-8859-1 does not contain the euro symbol. To add it at position -164, pass array(164=>'Euro'). -
    -
    -The last parameter is used to give the type of the font in case it is not embedded (that is to -say the first parameter is empty). -
    -
    -After you have called the function (create a new file for this and include makefont.php, or -simply add the call directly inside), a .php file is created, with the same name as the .afm one. -You may rename it if you wish. If the case of embedding, the font file is compressed and gives a -second file with .z as extension (except if the compression function is not available, it -requires zlib). You may rename it too, but in this case you have to alter the variable $file -in the .php file accordingly. -
    -
    -Example: -
    -
    MakeFont('c:\\windows\\fonts\\comic.ttf','comic.afm','cp1252');
    -
    -
    -which gives the files comic.php and comic.z. -
    -
    -Then you have to copy the generated file(s) to the font directory. If the font file -could not be compressed, copy the .ttf or .pfb instead of the .z. -
    -
    -Remark: for TTF fonts, you can generate the files online here -instead of doing it manually. -

    Declaration of the font in the script

    -The last step is the most simple. You just need to call the AddFont() method. For instance: -
    -
    $pdf->AddFont('Comic','','comic.php');
    -
    -
    -or simply: -
    -
    $pdf->AddFont('Comic');
    -
    -
    -And the font is now available (in regular and underlined styles), usable like the others. If we -had worked with Comic Sans MS Bold (comicbd.ttf), we would have put: -
    -
    $pdf->AddFont('Comic','B','comicbd.php');
    -
    -
    -

    Example

    -Let's now see a small complete example. The font used is Calligrapher, available at -www.abstractfonts.com (a site -offering numerous free TrueType fonts). The first step is the generation of the AFM file: -
    -
    -ttf2pt1 -a calligra.ttf calligra -
    -
    -which gives calligra.afm (and calligra.t1a that we can delete). Then we generate the definition -file: -
    -
    <?php
    -require('font/makefont/makefont.php');
    -
    -MakeFont('calligra.ttf','calligra.afm');
    -?>
    -
    -The function call gives the following report: -
    -
    -Warning: character Euro is missing
    -Warning: character Zcaron is missing
    -Warning: character zcaron is missing
    -Warning: character eth is missing
    -Font file compressed (calligra.z)
    -Font definition file generated (calligra.php)
    -
    -The euro character is not present in the font (it is too old). Three other characters are missing -too, but we are not interested in them anyway. -
    -We can now copy the two files to the font directory and write the script: -
    -
    <?php
    -require('fpdf.php');
    -
    -$pdf=new FPDF();
    -$pdf->AddFont('Calligrapher','','calligra.php');
    -$pdf->AddPage();
    -$pdf->SetFont('Calligrapher','',35);
    -$pdf->Cell(0,10,'Enjoy new fonts with FPDF!');
    -$pdf->Output();
    -?>
    -
    -

    [Demo]

    -

    About the euro symbol

    -The euro character is not present in all encodings, and is not always placed at the same position: - - - - - - - - - - - - - - - - - - - - - - -
    EncodingPosition
    cp1250128
    cp1251136
    cp1252128
    cp1253128
    cp1254128
    cp1255128
    cp1257128
    cp1258128
    cp874128
    ISO-8859-1absent
    ISO-8859-2absent
    ISO-8859-4absent
    ISO-8859-5absent
    ISO-8859-7absent
    ISO-8859-9absent
    ISO-8859-11absent
    ISO-8859-15164
    ISO-8859-16164
    KOI8-Rabsent
    KOI8-Uabsent
    -ISO-8859-1 is widespread but does not include the euro sign. If you need it, the simplest thing -to do is using cp1252 or ISO-8859-15 instead, which are nearly identical but contain the precious -symbol. -
    -As for ISO-8859-2, it is possible to use ISO-8859-16 instead, but it contains many differences. -It is therefore simpler to patch the encoding to add the symbol to it, as explained above. The -same is true for the other encodings. -

    Font synthesis under Windows

    -When a TrueType font is not available in a given style, Windows is able to synthesize it from the -regular version. For instance, there is no Comic Sans MS Italic, but it can be built from Comic -Sans MS Regular. This feature can be used in a PDF file, but unfortunately requires that the -regular font be present in the system (you must not embed it). Here is how to do it: -
      -
    • Generate the definition file for the regular font without embedding (you may rename it to -reflect the desired style)
    • -
    • Open it and append to the variable $name a comma followed by the desired style -(Italic, Bold or BoldItalic)
    • -
    -For instance, for the file comici.php: -
    -
    -$name='ComicSansMS,Italic'; -
    -
    -It can then be used normally: -
    -
    $pdf->AddFont('Comic','I','comici.php');
    -
    -
    -

    Reducing the size of TrueType fonts

    -Font files are often quite voluminous (more than 100, even 200KB); this is due to the fact that -they contain the characters corresponding to many encodings. zlib compression reduces them but -they remain fairly big. A technique exists to reduce them further. It consists in converting the -font to the Type1 format with ttf2pt1 by specifying the encoding you are interested in; all other -characters will be discarded. -
    -For instance, the arial.ttf font shipped with Windows 98 is 267KB (it contains 1296 characters). -After compression it gives 147. Let's convert it to Type1 by keeping only cp1250 characters: -
    -
    -ttf2pt1 -b -L cp1250.map c:\windows\fonts\arial.ttf arial -
    -
    -The .map files are located in the font/makefont/ directory of the package. The command produces -arial.pfb and arial.afm. The arial.pfb file is only 35KB, and 30KB after compression. -
    -
    -It is possible to go even further. If you are interested only by a subset of the encoding (you -probably don't need all 217 characters), you can open the .map file and remove the lines you are -not interested in. This will reduce the file size accordingly. - - diff --git a/sources/doc/fpdf/tutorial/tuto7.php b/sources/doc/fpdf/tutorial/tuto7.php deleted file mode 100755 index 0d309d0..0000000 --- a/sources/doc/fpdf/tutorial/tuto7.php +++ /dev/null @@ -1,11 +0,0 @@ -AddFont('Calligrapher','','calligra.php'); -$pdf->AddPage(); -$pdf->SetFont('Calligrapher','',35); -$pdf->Cell(0,10,'Enjoy new fonts with FPDF!'); -$pdf->Output(); -?> diff --git a/sources/doc/heading.php b/sources/doc/heading.php deleted file mode 100644 index 0774083..0000000 --- a/sources/doc/heading.php +++ /dev/null @@ -1,25 +0,0 @@ - - -/*!\file - * \brief Description of the file - */ diff --git a/sources/doc/installation-window.odt b/sources/doc/installation-window.odt deleted file mode 100644 index 2a265b02c64bece1e236cf765cba162fc4a9a3d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86143 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 Pf;-}*$kQ`0L?QYg`wsh- diff --git a/sources/doc/manuel-fr.odt b/sources/doc/manuel-fr.odt deleted file mode 100644 index 6770c4f57aae20b8d54c93df3ce2a836f82b9f3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106125 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 z

  • >B+wuMVI^5dOaf@K!!RD>`@;1`pIaIGu^PJ# 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 $xrH61;>E8r$+v20*PSpvmcv>b|nasZ2#867yH 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
    J~Mmvz13@jX~(f!m7#Q7pQQ@Nw{ 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

    mA0a1yG4Ff40*D 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 z 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

    vmgrVLk0$K~fX7xh%}|Q7lJ36i1RMw@H5r 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

      Kx3s@$tKzmJ-d?>1OEQ-a1E(* z+1}Cm{AGgm)!F*|`phQ=`(Io~_504-W3F+G7XgsrS2PmQC^uj+Y&->VYYb zlc(jx@QrZ&?!R|EI=`2zHeO!UJZARQ*VT)+!$9fsKyo&p+fcL0?goKbuQ+L-h zhYE}PoS&FBDzE@I!h7rqeBq>e&=L<~RLK^Rk}()3%TV`|hb)~GNv)8Q(`}^G%rXWi zPU&gINQzwIbe&0!RbWh8o1lkrn0Jz9>xWT^`hVN>YiU>*U$DA<^%0LDtaJ3>t#M7E z?OLMosy~>I9hWue*YDGs-5yLwXJ^Y`ddq)ELZ0t0lUjsrC)7}Q8T;8vUF4}qXRtI; zPvNd(EaR?YHWNCzXVii=yJTo5!lA>b!ll9&;)rn^e3`xFVgXkec(Gi|Y;n1Ex;nZ- z-wAB^g|?6QZJMUqSBp;%39{(@@nw_+ujEsdvO(Doqsm~Y4yoRvk8AoUUU%{aub2;w z9k6wGV&pzg=Fl>Ey_GIh7V>&Gv$_1*F0fx8vU14P0Vy9m-O+G*X@XQL zFB}lKfWR!%Os`O%T(JN}X-XC7gLI;p3ai)B7tQ7s)a|7@p8nfOV#SLE-bYq6SHn?4 zdz9S`uskRqKuaBVlYaO8axnlJ`b>nhVOPO~*y4DxD=@@x%$lF0Spv-vj=OR@0q5V~ zHQAM2Y=z_MNTk2o4R`q-=F7p^l;&QOLqFtxe;*xrd8i)!wuHMDuT_0^HYvvN4Rq5R zIyb|@xyWEEm$y?hOlo7x0Mgz+#aqEYv-=AxXK;pAoi#pji@Y|kpv5ds!E#L?iKA(? zsV$Q_9lN!H0SnzJSx~}$otl#C?1q`kU*MqC3#FuJ63&9WsKe*COW6JKwESR%oM$dW^Zde+~BF0M@T(HX|!Tr+VES$q)UG77jzHdG0W8UK? zC+#de!)MJ5JjG{?t2GeVkmg_8&oX`KL0MpLw@5?ZKy$X&2WIn`u|}CgJCiX-uPKAW zx=4FEv35oyy&{FsmKc>9BmJqq5Z^dq#HB%lQ=-bJaDd4GO|HR$HkTM{X+G@vjxf9@%jRXd_cr- zilCNxs;hwpN;AsP2Nj(C_EVZ-?u;%HPu{i}`mv1UGNRu?)9VS)J6%S&=b4~;!&w`6 zPqt#<#*uC5~1p396Cm-0!EdCkgFoun}LYaW`J>7q6NaHmy6m4bfI^ zH_l0{vZ*G!PNBD5T%3)nESEp;t2q9eFPRr-_qqCupG{?tTpO@I#M}wjX*u9Ah~1?K zHmv2v3oz91)~!rwv8!rG1RA$L%vn?nJ0%lNWsXiZ;!7-1e5<>5x4q4r8QnP7=JCHi zt*|7_1}FT+bpcAo9a!DayAZ^MbRv=^Y$8ZD>Q7bpOAsGz6}f4qtwTz6d|3urFY}%Y#@Xu?-E3qz&7J@XXIXd4 z-ao`ag9O^+m7er5eniNPaiMv)`BYVXWa%N~dYD?feR*QN;rcR6OSQk6THDCYRmQ^Ez>k!V8BvrM75E3w1WyA$ z2+m+{A0b3TT64T33DVL`3YFRV;WKlEzl@XegmHFoF0Y4IX$KBln?12xl}*plovF~O zT2>qwey%ruT~=)CTMtBTV4uL*(X=Idpm-*psMFH=HgxA~*zs5>|1EwyCgypki>bsm zcuz4-mEDs7!{3y=htE36O$59Cl`1ZUvTI#Kkn zXli-|V<6(lF$ZW-XxuWNYO_fxx4I`iP%m^Zb>9`quR1me}hj9y+l>_2XP{tfF~ef6;!jVr5#Q*ryYPKE%E!%KM#l_N@LT78Tmg%_d&5G(M@ zp+gG6MN7G_F?aDp39*I525moozd zg$tYH-<1)6ya&Wv!7kh&eskTx9=7_AO%HcfettR5M=^M5^2iyAz2 z?6Nj8E#`z*Z{-!1_Bxjdx=$FEz*O^`xA0y`Nm=wtvFs*w*zF*pU2eJ{3^Dt0Z^616 zLz&%7)T~ZUQe*Ladf3b5o3~o@I}uF^*cz=m?GiyRo5kcWJ^hTMLkop9pStF$vE=>Y z#P=$+C>9dQ@Tdd9krbJOROqX{$y4Isn8;4X&0l)s%Zat=$26?>d(;s@&_Q1fqOO{* zPWC3q)LyRd>3wVVUFq<+r*Hj5$zEM%i`UTA{mc6+`Yor>&ztos{X=P7RJQ|y6{R4R zN34E`V|b^WOxQR3$CjiDli|#$W<)-|0F6)!#1Bx8K*JfBD>a~oY1T%~)wXThwryLhZQHAD+qP}HSKGF2WBT3uoNvy|x980H zQ<)hR5gBz=Mdnpc#{Jxea9n=tXRAc+0@$le4UC@GHFLHA%Lmn*D3Y`igdtBcX@W4Mr{tfjUMS<iZC~`>GEk-pzer4-*_UN=;p8|^aJ-ZV;G+o_s zDBj%Z@&0@95@eCe2FvHH=VeKXV;pPzIzGN9$#W8}`_NkR^X*=*e>LyyZEA@usrUFP zNqhNasmk?wAP2w&*-sY-X-YtL=keea1c>nj*l1@L<}3)B#DHmJRs6GWBHr$3L4(IjNz-$T3(~I zIn>+>ssK!)LaK@4(b#E@Z-a}#dJqub%XK=4B^~*|x{c?NT+Zg&ZD>g@{iz(^I`fj- z@sq3UMqX#j-PGmF!sqj@$o1vwv8C1>cGD1hE*d~r!;C986t&5e1>ym6mjEGWK`dcO zB5?^Zx(o$ljA8Qd5~(s*uj$g=Vp<0F--d)J2-38P1wTQ}O3uD4nR)3kDV-wBwO>rF z6ej3ATpoLYn+R-u6<^a_GXUu&4r~1jfAftavNd)L>;FGV|r8Y!M%J2Ld58wjUg}{sXQI2&oj?}z5j8>q%L(G)n{F#2+PSDSb_~u9 zx{@|vzmf{%Daio}F;7=eIDZb!;n5{Kir`F`BjlDPOC9ILee`Hn(JKKDY4)jRE0`Y! zIgdQWZS^oPMNFv})?JwVew34gR01K72cq+6E7uL0l6P$GeO>uS7`jzGbf~UVsulDg zZOk|hnm}n{$rP*JZyeEyCwpWXN!?6$Z1H+JDdXdf?Fg<51a)0so^4R1q15~?JX@@L>aNUE|31J?z zP2`=vUf3kS>4m$4J9&~KYR@@Q)HI819f{O}&dm7T0)WQJ;OimX$Cl}?b=xy+Owq%A z55+y$68-6L;r`)W6j`y0Jr3$sg9+sf)%)dO7fE)If2c(;Oqn`C8u6Poqd3t6@t;7A z!G3G18-aarx)<40Dg`m=6nR)nI(W_j=r0t*(y2r?5*r!%{Xh(+eH_(@SToX0Enu6B z4T-QLYPKoFpo>9_)5=sXAi#n7uCOZjttpR*lm@uI^X!Y?F4oN}jGP`%rzIOzHmFh> z#KyDzd8*QoN7H=1`n-hz_Cxk~nkJF$3zFUL@FLNkcbfMe_u%+Zf8A>iKk={OE7n2p z&+aVlp_L?K=M#zchpAdYxI}H{&p#(!zo?DxM`6uayrY|cMN)e+G@c4%JTGTlyUR}l z-U)HA4YR)MecY|sT;)ZAK(K+BA@Pr|Ij_Hi+Il~HEodeq>2-tOzOvsRW1P^)T_$F} z2*n!!VlW&GWyGhHSW9iErzNNTaKer3_vKKI`sapU58Q*%*0+{>XoFh&?kou|W=UCP z##5*KvdZKmBU%j}4Y*T)Us$lln?M+k&D39%4i=!^TkG9*Ut95e^_Kxu*I7^;k1;=g z>t4f-K?9_^J8VwkH1ZHK+4^zTJ!iDk-ZQeNx7GBNzOP&7k9|KE3dYm&)`FXx4CTTR zUw*>WXz`CbauDOs>>TNU{D8dzxktUG`046d%6UDP{Zbd|{SkKIXntlnQkL@xgv_w~E zWhpkOQ##y^z$e%$@op)1z?HxGqW%9=wb~(=If-9Q_{22cwMrAIWcv^=gJodp}g@o`!wPJ)q$-Y%2=y!TN%}IdAlra~E%@WWs zL49-bSYJP74rjJju2~+@$%<2GyGQXEF<#cL@-nfN)uTVHf_SkHoH-F?zsCP=#Dwu* zB=654;yzISRT@R&50mjAfbf&ElFK$pI(}#Z%Mbp{h25%_uwwQxPGvz{1^FYaX;D%s zQK%Hwo`!j6sLXj^DmTXwTWRNr{XPaSye#5&Fcwvl2)>FMzTG_Sk08DS>1pYAu{s*9 zxU#PMRT>_4miAU^JWU50kC%AF>@*X#+wlG_I6qHTD8wKaAS?

      >(SH|sDE?@yAdUb3Lw-5@Bkw03#0(xC1=i9B1$(RuxJ{zVQa z4Ni@gKN%$z2R3_4j;@X^=fnsdwNVWSShh$P29>lhrV(lFZLNXt(1Tr+_9VI_)eJ6n zSc3#!Y+u-}WP`P~J0pW7krK%Fg$88g6vgt$>obKBxAVa@KDbF5+=@0OYnhySiPI8bkBOqy*|dD~AK( zQ_YY8)S`?Pza>pR{KdzYfP0P|ga}NC750u(29y*XRc&0u7X*~0i9!uwEOgpuXI7qH zythZvC{n93%I_|lfn0Ge=pAynZv~yAa(l!PEb-xLNlB0vo=yoR;fyH@V}_t|rh3d0 zOlj3+lMWuz-^AHK8E>mbIiPGZoLd${z96>_{%Jd8RW1O>$yNjw7wh~kgC zM#ZZEr$EKaQMADOwbF=UC>0zvg?&ChBaJnJXQ>23$iC3PdG2W{XS;4hMjXvbv)hh( zmcOpZ3V4MRh)ZXeI&VhfgffyMlBErr%g|*w9u->xwNaaZ(jH_)^N)G`A4LKU_5>8S zyu)?A8Xj)1x7fSfyKA9qSW_@PC|=L6;?DuTF1VjqD-0hJEFWLZNghtpUx$QaALDD= zqdG%5lI%z;ee8H;RN7fMkIo9yLPIC((t|dL$T<*0Y*2DW7^&R$~RGkacl~HYh6}T zF4oa+{JEvE{UvcsWwskGF?WFufS%}Co&qJ)el_s33E9-~LXYerrwl1VO2!BQ)9_Ng zGBzl}Gp5ux;%F|QN4KN&t3>$8^k!4On(HN~a+Yq{8$W@B4VUN>cAi-X4+hmy`0&;? zL6ow+W&2A(J~Y7JzGy887l_!(`Z?KEJz~>M>}j*@&tE6>Xx{~OIM=sTDU@TQ@652w z0@x>i*mH#l)X5zDagFR$@9z`0pb8xOABHC(l*YZ3 zK&5w_ghxi=*m;3W?b!0MoSRBj!8nJT_EfJZ9ulW!_X^qjqm)8kxBnV`dt+qvn_cLP zZqjBWIV`*}dPZYBc9P3^>js{`x{gvAa6P>7km~OIk@h!71{y>tNlx=iLxP;-G->8^ zb0>@m$R{zJ?`OgJ+bAw}Y({$JWO}->k?k#avG%0bal(|>vR(Wb`FNwhw|U_{0yCJ`NC;DBH07l>Wr1}W8B!*M(WS*K=-d|~QK?h|eJG_gCqf!~A2@=)$phU`-HVjYS<$Qn zN)Npwy8=v*Nb7ClT}a#YcQdVXpH2>#i{3`X$F5uqo}27Y-7nKylN)njn&&~`zqyFu z{FD}85YkFDF+N}VIZtI^tz^##@E!T3o;-56BLbw?=rMs6sk07*aM|(2z<;_fZMa~0 zX*037MrOlDEIu$@`C5R6>2A7t1ej4lK!SGlA`wffCsr5#VH{)a?Xo&B zBX`^sxSHFn+7`l{fx>Dd*rc@yfvsnhgc}+VVSmJ_=Y5=OX^ShA%2Td)vI5%nIGCe* z#wEarZ6GC&(nk1=1m%#M!d>Ljr|&!i*&dLD6l%6}BDYQdeu_2gh{{j;#9GlP(gS1N zRPC}>H%Z9>!&kM2opgEW4#7;o7 zeG^zQdP zf&G%!Lh?CX4}mtYwt<+9@{v7eI!-A^-E1BACMS~ys_Ag*{Ha_h_12i&YK{QI1)2yN zA<3Fy1C!Y!S3F)xMGsN$KHPA>s4T9xa+~{?KUy^2@JsQun@@fsl`Yk@?bTXv%{Q;h z&MTH@3sp(r8J%yFqtpK1p3m`=jxF4eQ!KRW0TlLI1a05<6kPdil`RiJ_qXbR=Xp)w zsObXgWQmh=TsR{-k6O<#K=HTSwDfL)Updui#5{udmcX!>)lv_kwye33ajGw+pufA~ z<}v#4`;9vr3ZfyV?F$^!ZgDX`9;l_Y+$(;wsFQU0l;{HIR4q#}$!EI3wkI|v3 zLE@NY(Gz>g+7{`je=YrrX9to!{CXjc=5X9sKTmT!2%YOMQX-3Np=g0ft^>9>Z!y2s zjLE)37CE*+78p=fwtSp*%h-#9R5<7zI)$%UCdvY+KS^jt+SkPJ!f0RTEU| z(a>fn^EYHpQ28)nobb)&?%f>OCd1yvonLp-#!i`YT^jVPg(#A z0*NBNK>PX;jFRA1J-FG_A9A7#3UGf#V9J*v#8bagJtE*k&d&sbV-`~mAdr7d90`M^ z%dZg>Fn$KBK$D+*nB>7OAh)%}7z}S7ca3VD=HZ>`OX#ko)G3D5fv~|8Ftt=&U zQShNIp4alp4HZ!ho7N?p+udP`WK`IS&&M=6J<5pw@3aG>9K2XV1a*J5fczgAv{=nS zj#Z>kke#Y{hULcdxTo05r%%iF*2c!+nne#WpVE(~ORNvJhn|Jl<~OqQjBIZ}Ev{E}x4d5H71`BmMZB@zAx z2JSQSe$oT-VZK0XB_Q(QOIWkRpX3j<3B3*ULEesGbOYa2Y^_NU_=H%Eu7b$6CZI^W zEqZ(dzTF3a((kkIbKAP4w}q%IsBVho`(@b!aqlRP9e76g^`0VkDm&|$Lgz3-TXPJS z3#WrybnliM;|X$!NLy!L@+!81Nvf`Q&=d1?XPZl!gsMG_BXr)jNDo^*WTiYB~YGu`E{#n=-(ME|U+&8{z%-x;1K05H{9# zH{;dCM_8Tk0?m3)uuk-Yu=A_*?}GJW)Y&`qZLrAzLz(89=>-!Fvkv_#X#-uG)UCHYEh1TWw1wBW#qZ_uK-3J}nb>^w|9{0((llPP}gNgUV*a}7+ z*uD|zGRPkx@b>5>hd3DdFj(pB{xpH`URY+J?b1&w%)qN6e|AO$^~t6f==OXu9sYE1upD_`$#ArKPw-imRoCMB7Qyi;?3ckxjbLT2U{nr zA(U|T>%N+TM-nm>zXE>%`Ca4e-HprcL7Rya4Kn}7u=iNIjgS1@Blu7k9$Ol``VuVK z84$|L0Slg{Z}cmgKUL1!y6;LCT^8)YwfC&|kY5hGHDy>mJ{czB)mV=l+3NhE&nKR5 zg>?q!1K#Qy5AdnPm`U;tu*+NEn_ue>&Hi;@fO9p@37kA; zAq0|xz=X99kdNe;ys594T`pee>D2;jKG#E8WuP&bAbmD2nc5ZXjFObJfFMqrg6F{; z50t;R1Nkq9KeJi<(@`I5VPQkpB9&?mf}^YXXaDB=(Xl=$ zmOY3v^LLSjaC+(J%&q+yX2A!l9Aw+g?8BXj;BDhtK}&sFarm~g&D{jUI;;?u>0H0W z0=4uz{hE4`EjR0~_L1i?>&@rw$;r|-#$l1y!<%85IXq7|5&hyXb<}|)GR(55pbxVs zt${&>n8ncd5KM5*my)anFifqnd;@9Z(B~wq0C4Bg8E`O7OqY6K_Xc>2kyuq<16L4L zYzv$u`o)QMVwe!@@BI~<$!Zf~?sRUaZ-W(gaXT+ipOgrDA+&?4W55q+N12PF2yF)I`8 zNp&!nu5ve5o?frr)>&5F-I*s)UX@ajyr`mDM~OA4<>moo1BlY*dJgsNQX{IDJ6 z(YXocuvQd#xad*J(OA6_ zHCmglf#8*&q>>uelNWft_N zuDshTE+q7qb=WrnK{#ix7Vx>8=0?i zqa9V2|89Vpu?Z6{KE8ng?EnZZBmut{;yaTHWf7R1!UJ{$SWF}cb-VU9u?0swX0EJWNq!5L)bI>_;XeK_L z>|zV|@L%_L@G1NQ4r0Or3d`8V9q+8Iisac%q=Dp#{)oI0t4qKdlAPiJQAw0ze_5zY zD8f7;>64r)4N58kQ;p#vQAr@#^^NpO&L!2xdp)X4g!fC%9&rKC3UGsw-J182NCZgT zk@-u_0Xt}Hy_gG;mXVSB8jKQqm&Z!X;U|3D5+pEVFplAYF-pt}lD-!3la6VvwOUEg zkaRTO8RijDINZtkM;Fp_#`8gN#^=w*ebmjwG1L6(Fn^r0Pkz`h#z|y{$QO8r$eaEq zt_JW$9Qs9i5Ec*C>}_D52bx*@^(N`tFR8*mZwe+0Bx^^2_2}8<0oBaL%0dB#Mo?fO zB3J?MO!!`aU?J!nmy)oWUyVOIsbs)=4u6iQ#353;WV4kQ-Nxj_4*N|1-17f-XO z6iSz|98ZsGup00N=MP7~&1p#7oXQ2Kt(V%5E)CqXDujcFK7DRCfCJBZgwd=j#68OF zmuO?3I-V9yugS|wn2~xB7_X=Pgr<56((o8PA9%<6O4ryqbFGSCsVbH))B|WWz37*E z0p==)pdF4;CEk>lKjhBg@-STgix)at;5F}# zz@N!W!;SF}7C`zELW?H)=YGV@aywIJN zU!2Xi9GxEGa5$1}#Hm;0Jj&CYn{;md@)n5g4Ve{`Qyp14H>nV*%uASE=(_@GbgVM$ zcra6(UOcFll-iV8WKhX*#Ly8S{lsPMQEOm#4#BTnt2tFKDF)$f4jwm`&}zt0V9>}} zTVXE`IXl}$IWbFeQAq)s@KM>6ikORMCgtE)W7NDqP8jY z_6Ns-#nJ|79CU?}QZ6_Z)``AmzQ(>d<547s+$*>nLbFVftJf_Riv(xw%H&Sjm`21s z7Jg!?tDnPRWLl$_J9I)-^-@5mLuvm^_|*5NY#>vq>=I}B#79(3_?(ao)8ONzyBw!~ zX=bX^CB~(ne<9lEN#c3bcsmj4TwfSVOAZGq8E)qz(CwaIUA7@_7xX5$t!_5tC2 zlGd**xduUqd1T1g?g2@9#gv9OKbu@J))6sz-s#VlGF&u2@=+P{nl#$Jn?2Ji8hmN& z@BnV+L)$Bhuw@>aH9mb*B7+1sKRnIj9t`~4Kg&uZ`ByokEE`#GiO~~Ibe1!BRX|-1 zbl2vX85=4$Dsq}9o#eS+DoU64NC9Y{DgUr~4*M#uxG53#XxI1&XU+_oUZy=hJJ5U6 zse65zPyjB$lewpOzZ`j}%?!gwTMLGv1|xbA!4gUfQ3O_Jf2BY!gTa1Cw|Ew7$1#hP zfdyBwDt@@@OmALE=T+H~1?zNqPye00gi?XyC!)I8i?UgQTHR?zvNP)8QUm#B)NB7} zSAtMIp4$>RR+PAz_dK76D59ijj^LxO-kPjrc&fMxq!4; zjH7btSK^{zMs*joN5yW3HkOzvwSP8>oy>X!f=J$(4-5U@zg8hr1&yVN9(jEA=fdUX zE7AJn$$ct3m3n2HG(k-jD;|ko+QBhq9ijzFhuS<^S$Cn;(#zVw$SMs~YaM{y=fAaq z_Dw0c8YHb@xP(A9)TR}u$mL1$6dS>R-m~R2V3;{H*3RW}Z;ES^j(*@aw&LA%robvv zRIQLmYbL5Vu&-fr{D>cP}y~0yXwdqQbS3+!Kf!TdFHL| zhu|bKW6+)&oocQa2A4iCX*2gQW`^e9#S*J_tzS$kpm&Xo;5o*e2k?{MyrkEScU=m1Y0ts=;dNsJjGFou)-@}jir{!k?NO4|T$TD%7Vr~bED)J>2wc@@l z?eW}2)x@9Q?TX4e6pH#UJq^{wGNHA;J?-(#GR;ph@@nzLRa7Ff4=rU>5_s}-FY60Q z#6NjvCF4qDb4+w73~Z6kCDp>a)v9UBUfaTnzh=v&5YyFl(!1MlTgqr9@OpJP!UMin zR7k^4SCpCWTWT03zI#3#q_5=4nrB6 z_K3VA!{wZkj^-<0#B)mbm{?5T-B9o-%J=RCoI~Ua1n2pTz2U-@F^QYuy2ihOd)g>} zd#(Pu1{BT6$t(5>*7MA>CB*DV*DELRpE>;YdsbbDEPln>ZT6(~RU!~$8dY)}O?V$; zqdo|W6>&3weQg)SoyL#R7>$FzYx+ExjX0=48`BT+DhlMzkENR?2*I_1hrJ|&qoYE> zwZVs*B!Ful?fX2CLgdJe1;al0qB-ckj{AgM1tWU0Ch$bL8{&xwqO&3JL{0E?A%lD- zH*zI>^%wk-AjnZ0r48EXV$x{UBH&6GJ3fl-Kz8t?Ud@Z0raWK`vQiuUc~KcnF2d+X zV5f=@j?iPC=Qgilq&*3MDz`k_vqEnS=0jN{)@jESN!%TWZn@baoW) z2m<~Xgq#0(m&g!YdXw(g40@3+be8d-IU}>QX@;;w9GzsHBaB;QOAA_rY#WnK*B8C_ zsV^TRtV|b4r#3ninQPti6f6)_b<+w&*(RcDzTXOl?pqh^#O)>sSfDa;*Xgd+CUAZ& zL=7!9C<09B@;B3ZmqsfsOwM^@O)FVrS5hSX@Zi>MVR zfNF_V405B52SFQ)LL2*VhYEUyY}+L(1lA;hDOA6Gh(B+MC2Y+cIfl4Ljc+J*gt@hBNiG}`@JvA-G|tRi#ti|2K;{gLY8^I z{3+yn_{evrH}?&YI|!KnA34AOvdJ>Bv;5!kbQZ?{Q{SA_e*;?O46MxUosIt|)5`jT zrvBq2`yb*t`X7{zhKYq9pMjNy{fF3NW&3|Ztu#zOY~cTp&;9SQ)}N;TUs&ruG~NFT zu>0@!Ic7HI|6i=NFZu^-4Zh|Mis|^lTCqkY5foVo6k)B^Ca-|t?Gy_^f3Q~f_qUww zbx9uLH|_~&JR-Svo(tIh+QMs}vuGQIWBrS+4jI>N4rhlHeQAfPw>+&qiLVYzE;92{ z9$uS>4&34UMqRSg>6?q@mk^J&hxsucvQxNiF1|>#$A>na;QL$N>7LESsDE*-U0fl& z+iS0$p3Y^;UD$6oZtA#nc?Wv^BZe-Le>qAd*&eT0Te9vi-R#FW|5`L{U7rs|efmy^ zqe#gfU#Xo7S>P%*Oq_AnqS89n60rTI(w6ANN85?#=ufKE^;3(~x~Z_chuos4z4joI z^7@+{-(!du##TAm>p9%#E@}!??Arz+<{LKO)8FCnmSXq!R8RHy+d883w*y?UFNybw z?QImtC)Fv^r|ZrMoz1M?+st-2)+f{;%O@85$q5{ojBiBR`AH1N$;mfpu`d9djBnIe z`d89Jp0A(#8T&U(>X&Hhm+ISmPoJy#n^sxWS3KS^9Gj3YjIWSy6bJg7+9=!Y7x?`4 z-a5=D%~gD!F94X3FBBNkCxhHiB|M>T!juRcTl#8tmm5oGW!Gok$|&mc3n*4&^v!LZ z>=F!>yLX`Y`FoH5G!cFX(SMWO|A)Zq|L%AHpPAR6dGNn5udM7psOgV@k@bgLWo7zd zTL0PpgP?N!psN2I|Lp&>Wn^RfDP#P1`A>Z&2DTq$mHl7kEX*AE%s(jV|Lo&my1swV z)E{J(mFZ{8!GQk{I{r^TOh1S!3(Jqv??>VIPdg@-AGGy{yZxsQ%fGnWpE^In=zoq` z8GhRTGnSt=j2!e*nSvYR`!4D{h+e{V7K)Dd?r@> zf6D(868qoPfsFrM9r!c;|N27yt*gdo`N4F5CiZ`rwg06KWME?9VEtc_*h5VyrynGC z%k;~UbnJiy2~l^~UL4wAnlv^PJb#Kftyf%k3L0KMZfrt=G1lG5L@-htS?X4VP?H%_ zv1viE$)ZgcN`XHA_hR{S`JiU0il%0SOxZFZW$@(ZGp{LWLgenHc57ocVXBMz=;EFJ@Ahuo*x|#;@flO_iXQ}8 zaAJu!Z(AwPNdANplDw>dycb~ZkRGf{e&nZ0iu2H?7-<@-qIcg{B_W-|zIaGi{jNwk zZ6dBjvn1KL^>EA1nbl%$GOaRhsPF4zznafSOZ)+JQBCw~(4JXC6YN}wR>xg!0%OFn zE(oq;)y4=eyoo13H>f&=NFng>Th>8~`01jb^gA#;@&r=Jfky}W6GrV>#-Zb|oL`nW z;_k8bwAkN4+dy(;4)hWGdFQQg&c1ow)2;AF#=P4Lj3}ORNa*r-6OGCk19=?~Ie3aY zl$QgY=m=V9j3R2IAL2^Ifq@ipli!@?W6$T!00^RtDi+8#M{asua~>e7;Td(e3#Mf# zgsISN)`NKZp>=57!JcbKZCWwAfkFZw4f0lC#l}Q&{0@yk+?CGekK>~#f{Y5fB~IW| z?oC-5rlrVKdT9l3#PTqT2=^oA{VKGq&I|w0ip;z z2wY2IDXZqg3XQ(~zAy&ea=-b%9}tQqit{CkC1?mSLIuBi@yuN%myUBpACxq*!4JIO zkg>&>r--O38%R+PVaEc=#gQjEk!C{C@h{oWRA=@IHbw02=;{iy?NgG-gB$9t>ly z^A^Vi;%!=d)1Nwp(3O@k5@3_bU|pEaK75FN9K(itjd!wLa~g?>$ACL<{KC*^{NzMn ztEhV=zTl>+n=DU`ln|GgbX2Ggyud7Ch5j;dFUNWT^YW}C(o+Zq@|xhvcaCt~?);ZJrci0zW z^+sb}iRm!WYz}Yvy89dC=9K64%H#Ze%ZZ~LU+0Er>gzFUqbKiLmaJ%;;5oRrDeURQ z$>b_GCkObuv1tmw4N6!kQWUpL z^!4%5iAPT2n{0#N*nPgAQy7i`*KC5s61K$P8h&5G8<`?7P8wl$j(?oaxc{Nscj@Z< zypwysw7>n@8a&vi7 zWI?g(-n!$WZaTo$5;*%gBH7~v)(RFTp_C+Ei@m@FW}R^Tg}^YR@ew(6Yw;X!5lpcW~}Kw%>W@Oy{HAdrOV91ek^knA zYKKLU8U41Mu4TC%B3ix$AHzO(3mA9E$FjjpaiX+A1Du5R1fvVK4LRL~bC+=WEZUPI zi~8Q!_#o$N@$X*kWc1G>F;KTwgR;pCW+bgV>Kb@DlO9w+AOQk?I4C4fkHJGA5-c{s zw(33dgn22nFq_8p(5CVUPFcb>L#_q~E+x+fR;c%#q1)oj2loQu{AHCoNEOZU;vs}= zbajamG?EL&dxQGiV&ZAEJRIwd3(v~}zVCYThMO^(bKCCEr;O$8Ip;T(F8u;ahEI^s z)UT-Sc6IjKt3DxbFdt9(sCQ>G&+>;~O92>5vl@yPtQW+jyF&|E!3z(}+*%LAnU&hA zH+5Sn^}i`k`FPPb4fjL5V zBHIdPoak?s?7a#LPNQgu723=X#Ei0j?t{XQxe*w5ZvEz_|1*6KExM><>@Lp^I4&L3 zKjxRx?8XEJ8W_)ZD$^fz!{{AxwLj+gRz#EM?YBgseiO5x+9+q;+ic}e~QS)&gpMofFf=R~878=vaC z#(|&^JO`8kX0!*)dSf^L!NZ}Zo|xkNPd~k{T20-dpJI*O!lETT`HzoA+HWD6d`ZZK zaAu!QjAVxXOVij490daBrg6z(Y|4TCI0(LuQqtLbS(GWVIl825E~AHE>ddGL+yD(1 z;2t#fRZS``jOC>l%K4H;NqY_Glu0PrBGzsg_rMuRr59o3^?c+Z>zG=fx~piAZXbQ@ zQGbyl$64}zmvSR(a(LOixWyrcy$K1lEhwrMSJxF0j~C0sqlD#o(A25B$x4L59ji5I zm z>}IX$Uw!#7OYNznDYnB2wxTac>8!HmEtcruTSBym$YTWPAq|}sQznnI)Y0Z5~mfxwsO2tZFBNRX` zy@~3M#fC{cG}GFL9KteWq8zS5kDtJ|B|o`m;>ve~24$ml#}ukSw(-Lh(e@LD2Nq&* z5>n1G)`fr*{nJh=rp0ZhT#%m^Z1FqRGk669(m-4IfS)`+bJ2=p2|+cTn|w5%lEvvq zBK`XVh#;qDY#MNK9&=!30G9Fb#cRU>g)><%8~ki>=`74nfS2UV7S@3!U5l%qMxi-O zq;w=gI^Rl6JLkks!ea1MxtF_20y>ys_G!o&;~BOPSFz>KK=4-Cl0&gVpOu03`V8E}PuR&68{Lvm{gF%tmtoe-CRxR1QNE?U7Zb3C! z-<7vz?%H<1S#nWYR^zf_Kc%3h&{aF9z$HgJ;@#wI)3&CtZ}(##!Pzdab6C-d)QH;D zV89D$b`WbC=o+L}y{*LFEj2(z-pX;P6*G^nX7 zKo~8}ul5O>XRz&FkIdL$H&5P_)hg;5KGObeg1MA8CYzR^E-!UJu#Q$YS^e64X3@5> z>(Z9xq6Jf6d@@l{RiTegQ(4v6hU47i(1s&Zm!!6?vN@9&Zjn(iOs%$NVRe5|EkF<{ z&14D>+pM46wRF{}l3}dY)z#m}8Co!4USsDdIfxrqdUU3`u-JZ~Mmq>m7!koAGST9Q zVD<;*Tg7g&^|i^2c7MOxu^p+L+NJfvWcA3YH5F22ic>k|70Hzz3ym;)!o4ZIdqT|W zs$$kp*{a3lchRP56ts?XRLzWm(`wB<RWR6h3wNVZh%3vpJ7CNu z8b-BGA=*Hsm<7cv@5pdVbBYJPNHF;j4TeUxc+#bXUn}}=w--WtMu`(7I24BMTJr=i zK;FjwV%VRrnK@FH^)y}(elGajbkmmA*=#xV|J9p zc#rIf)b?Kqjw?oZeT$PF{v=2|-?bcgZDmIr&I2v;f6*`$mcL za%lv!ezGJV_u3rr#@;Ed9&Cg6c*=0nPhNEN0hqF;2UXdk@sgRnusBlm=kE8)lta=} zL7Y>DtC%%9@(5}T7U<@y9BQK^2-G%A5BcP#RMzUmoU_kns2-X@f5uNr5ffM6$35;X zRoPq=S9Dt{MbM5#CIQ)Sw5o~eDbS{)ySg=dDq}bqDuuSAW#~p6DS_~;(!`dNIAJIE zJLH(>3vSCD=15=i)}9uy_S*1Ak7*Lsj=EiJjjT!ez2qYZ$5)EPzM6oG$>}tqHN>jxb+Oz!}Jz zO%)JIvi#@3o3UlJz`dM7p=H0WI6qI-VVdIuW6w0Q@|CxDJK*O!_d*z)9P-+BI7?j* zEpVpoi9w13@d?EJ{=uEHj}mo?J71p7Szs|v|48!6&2hGOjFynUw-~I=?WMOth_{^h zN|hQY$~4DdsoB^jt_bsZbE06#Mr+8qVL#I^nhj%_o9fwM8MsJu_8xcl!xq%7F%j=mNLhcd}n% zBcRw=)~3XBk!gP5jwd`%%#l^1+Vo2rPpb26qyby# z(jX3T{w4Z2!vv8BN%Lg-$buuoXdRBv_se#vx}L2{K{64;rM8tMK1Q~o4Xy0yL8ql%Gv>BSRP<$OZ(0z$$)|hZrl^X0Q|sSJ$B;|I z_R{ordms5T`6_H}1MLP(Y>v2ZFYCqNPMl1<`R$1~gU_|VY?bt4)@X$N2{+YT(M7L8 z6STb!+*56AIjk0q#pdL7`JnT18kcInGYFLeNU!ArD^UixM+ZlmRN@v<^CMJ7Ps&#x zQfGi16_$$m&WX1GZEDQqa$M+d5r{Eb8($V)#+L0UCYviPth<=|sF5k|sXS5yF{n0g z)@UJ|6#1!T^l<3uGvFeoF)9>nx+At?cajvN{m|Aa3yI8i`Rhy?&OO8<`}Yg%G7H&D zLF`NMYw?NF+moGURkM|H?!{I$!+cJNO-LJ}`->#<#pG0ZCJT!}2jg%QH^6p#i z@OkfywYA}^&nA;O-RXQ%*%bg#dWXYxLLULCJ>-#%Z%&%YOvgJ)< zYyeG=)BBBn`c4527T&7Um3_9^2V5JgvehqY^&Ta7ou9+DcovtcJyG$tJ-j}0YS;f4 zXYUjwN))bHmQLB$DciPf+qP}nwr$%uW!tuGP2C&QJ>4C*M-Q1#nURqZ-^ZYw@EvbO$x9=~R7|YXyS&6N-Lv z##32>^Jb(e6QZ$Jy3qJx1@40)2KuAoodoxv^&812;pUG1Rp$5%g2{_`Y#&eL|@6a7#^R8##>D{ z^plWnGXAd_SW_E3$w7JC7lGZMcmjqe{a@@LUome4~z%YAP` z+r}|et4258hw|RZL@Qwd67|4BXoVna4)USpzPDog3Z;Z#Ysi}m_UL~f1i4^5g$IlQ z&Jcej_8u|O^KOZQ6^n0&Y+k)!yj&U--=hXhJ%CuHi3Lc4v->$t3Zx8?A30~#!@^hp5CxOq&!8vrn=wW$>%=WvtmE>=aPFp zmU^8LLi&z}@+z=3Ab#`hy>#x~h8h+PmhKMH-}1A5#teKQ`*@PczEcMay4%%Z`8??4 zJYqrKI2TLa9QD_(^mRJs!GU=@?g9k6ZnKEp$hmC**vh}61hd+*irdBn{$NAc%DHu8 z>1@amb&Kq!BI{@a*UGu2573fzH4!VW%j)9>qmg&<>C@hCWJ1lD^4&Og7VALHT(ygM z*syZ7s%$oPimf}sT-HZ)M((OZ&NvCqh-5ZJ4#;?2asA;H)sajcU#q{6S?$JKo!h)p4^%?X1`a zW_XdaWjCX7cg-1D)LHA_S-npJxl?L~7IU)>gG-|oR9(TOqmiR2Y0*crLUk|MR|A|R8jsvFj(OF!C)Fc@pOF9YJ% z7For#{|R}WysBUpbs}!PA-`G_Z#mF_3fRDN$P8Af+8}7al`M!nD1e515vIQnnfx@M z5814^t^rv^?lx6mg4}EyMj9Czk_U2o7$PB6fRJ7y8mUiEpFP-;oJuo;hI%5v(#!6N z(hdc-W<0p~%nxBJ4l0tIs-TX}H>#-)c@tR+ISaW)3-}57+#x?jAX<)UNv>=g2CAeF zC1!3OrLj*wo{(K+(Cfp@oF~|wE#oAR0$ceC^uw&|U--DXoV-l}g+pF}sA+Ra_)&{h z`6kE_H%9+tR2BDt2DWxiJc)J=VCoCFN~LU9)If3BKyj%a zO|WE1A2wto!tNSRo7=G3+5R88$N}M@_IY7s6B<9L(%57gEdb+JibA=Fpkic`-TSC| zI&Z2Zy;>tCwRsVVlr1?c9DI}$0sGjPaAqv&1b2|M^p36lCa8!ab7UI6ai|Er3Y!?F zW;bXBTos?aX2!X#Dbb`f-cCqf5&u$L1#y8NRO2f6}~LWn2| zmo;?^1s4{h%2i`y%%UpjQHA;mp-TpsxbRhOYLg;<(8y|a1CBqy8U}fBEQkuxaRU6Y zRZqx8S^!M2GXAinPL6zhe}W9~MBqI@cHU|9*MG8c?`u_db3ZX;zp=>f^o9RR*7@Ho z)-3GwO#kt~e;BPHnSTl7et;8RBftbHP5@0#f6u}myu;GCCr zGOz_VS41~3R%^8k`{H6>p*!l(T=fAPYVCp3bsuTG4~-Xz)97k*zAYf_wfysdS_WrQf7Qr<&$libWt^_b+HZ#9@fVi!zZeDLF0@VIoxubo4A>H;YZ@QMKQ$^wavaJ^#`pt+e2 zz8ivybQ}yf2kv#X5RFv6djn;Ti`)G#v-JN_6#c);&VR|w=~?~HdFTkpJ=S zf5D>vGxPtmp7}rX^S?yuztA)PdaC~)SoAL@r(^pcLw4BZ>GsQ_*}AryUvju#)*Lqy z)3e)+8yLk&#)#6jFa%ieQz25}1^nXR6U4w-@$rRdEQoU`z{~O+s!~+Si*@Qji%>Ny zn~HN

      &w-stb~HJUnE4GXyl(*9}N^G(1U&R=<6A9=K;-W?sA!C$}$r+*dlcH#}CN zpm!QjG3Lk&;u=gGcjQdh#7G5BO~L)Gr=H{cf@txBn1KZ^SWbp%zH#u6ec|`p zomp=%XFp#qKH%qd`OB`po-9A!I}vp$_{%aEMNuxq2T~I|-GWpaiE_Gq9!6zqAML5b zPZC%(ZE>^~T-{+O1Nkx_*sB_#}vk5H18mm2pQPZlX0FOHX3nOKN3PH5HI%8czV z5?YE+e;jeIc@BjFwO|^Ga#_974o0J82$x1z^*}pt3F6Y4aRUd4J6Nt521k zj)r-})(20~Ib;^{_|y&k<2 zW}|EbU$krQ$jiLxJeb_Mt%siIpAUfbLa`sw-;tLbRoH^#=Ia^^)j#H2h^r$tQK_}) zdfDd|SLJwXZE6%aOHEw7RGgKKh26#No673&ShEOCLmL9Vp+lAH(xgGVWhN}yQt%t8 z&A^$TL5CeYMpm=r2;{{M@_7?AAmKRA-tVjmH zr$w8fp@Luv_}4o=<@cGNYR&Txyex&PfDR8Y-4ZZQ9+x2?g@XhZiR9rMdVA|ZdjP{2 zMsKX#*q&CCUS-pro&+CP|5iliA$b5pV2YVhu`)RUIh^=m_O-(_%IFm_&)JNix98XT zRym7{3U(ty*HBTJ;V_1tFHtecT02NF+D55nLR;ktih===LQY@yzBKvSoJXU72!452 zatx>OD7f-2)cO8w(_0!*(JJw#xL$~27#&-VKngs;7$U5n2ee##QKelY4zsC)|9Sqw zh(8M&=541hrp+#h59TGrv?AKw>g}aRHrw3k?7ewBJeAJ(gJ1U@Fx%u^he%71WEGz}LfXHc`P# z6R5mITMT=nEnjI9;ux)82U^0Phqf-oU!2YS-s#~9WP&H7LYEX$klfj(FIi0Vn@`m# z3_%)_S17DarJ4)zaDE#u$j_%2ExUgAnAc~vQd`eg5m&`>oWv6Bww!MsE`WJzI^i4q z-hN+%H`B}~{!3f9dRUBP40tw#P9aEnVXkkF(_fht^7Z!%*zjAYJomE6pDz>{TTvz9 zj}FGUT4w?QroY@a@w~R&l|A%~<&9b$Qdh+&dUm5C##U?86W|IKgC zPtJexr!Q^}oQ@6<4R*jprm#olYPKx(r(s%m^;>RaLPn~jG-Krd8Rmu~8K1dH5Pe@W?g-G7@m zWsMTMVp4&FRLjcKO6G+yA!fm?%cF&wEZonG|K!Uvrz#^YzGf`=EizpxVdgQH+EYlU zNemK2OBa({V1C6ZkE_Y*Nu9b1=H=GRTv4vv+-Qs2V~2wf9O4e+F@^GxGM#|vMcYf^ zYG|^WfG^EGYGmkSO03K}<>-Ni$*I|0_~he1oGvln=bJs-OTWe=^+Y{qGwFb9VT{x@??4=nt4oOHjVRJ*5QC9tlf$^aJOFG%q%r3nE((- z;~neM_&=6OLF7?`vGZm1k!w+k3d>RN|G|0ak_l`>AOT*ANnIW;*rL~D7V7LAk&G}- zWmMBKKbkl~_xW~3I{taHZF~Br#+XPorSsKjyHu^<^XDM-1(p>+UX!m*Xy57>iD=Dy zPP?V?!HspL|3J5L|3&FXbgmxvQ3kV_h}b7ir?Ip52P#-fqJ&MAHurlC5q9ot*w~a$ z`lW+XZk}c?`6G&KoJq=pJIvb{dsG>sA2+$5L6LS)^5|P7O|=hwGNhOD1AeG3cXf&W z&d`?wbbkE}<5sXW9@H1rR9VTP_j+V-1@3Wk#(SSecF#GX)OvG`y)Xl`0d}tNn1LIC zY^PW9BN&B)mC??zNPSVRuC^#XOWZh-C81l{n4T^ONvUfT4Ti-96F87){A3eSC3}Pm zO>h9+sJjAOky*B2iwr#bAer99HVeGP^atX%EZ&zJeNwHxnJ_IZ*>?MK%ie=B?3 zuj&=^ynDE361|?l;?1VIf8GuQd%JqgUA8~Q4ped{ss_3fs;qGz6qEdWDpt1$%!KVW z_$|R?>>$(Ta&o!~(wv5ao@u^;w2fm!Y4}{k)eBaD)o#gttE3k$Fz&JMqui(6rahTP z=Yy~VfH}qb(YnX!N$)rBX3TtS9eKX`mnf$~T+1RI@?7*zqjbiaAWkFtBA+Rqa08i8% zZ>PI}!V~coVn%yAN*C`Z;o{Mb3Z^6`U|)1tw{2Dp`%FM{DahZ@uj z7gs|5vMjB4T;3^~gvT5EXRYJVc5mH{C6dX`>e6u&HKS>#j3iE(o6iZ{m1EjX2HWkF z;5TG296i+omutNJxT-KPI%Gyj#(#9s_@;1C8gaRPfWn>JMsY^PqqCPs&v{5VZiroD zp{q;$@P~)Wkd+-{vT3@EJEU3_d>IgI0!SO8w;RsEOe_xST%Z>7?TXJB$@hL z9?}bPZ)WTwM*?s8_YX%^HC>zX;S~D(mc;$i#SP63tqx813dJJwz)~t?K?MTHqM6w0 z5z|Sd)q|Ct)kONvFUxmo zRvsJjVw~g(!KHd!U@HmMX-MPqYIsUKq4f_Y!)Nek9J^J*KMfsL&iCSTIF*)^)>u_9 zOSYa)Z`DuI$=Yx1&cc$ZFP9dyas<@r{cibmz-3oOQo#U$Yo0Kul zVUm#|_M_MZmlqeoBl;zwSeC$SJah-2QW-vvFqbl^O4ru6)s0Rb!u0=Z`Bu}>Z-zg2jz zpKzaI-!OV{hd)g}Q$M8^buV~NO{r{pu{u*V;MFCd_BGH;$7MzxT!8V@G()S;QOU1j zoHY&6T3}@z(IlWv;JrJd>@2kBS!SVJNp_}3Yau}@?im>FPdRxD9V1Bi3``ivMNSq4 zZeNKW2#tgp)=QDEko0O1(z-R;LIF|P;g|DCmXGUlhw zt1hoqL8)6=qVDcf5ks|_JeforYmav%481k#kzJ65XO9^as>>bMkXpuQNs}p#awWR+ zBu+iHyi(Kj$F1$#XJp5)1aOC0ooEC=78jF~C8xMlzRogA0W5VVUpt_v)Pn=62GK>X zF6NN5@w47bmDtbo_Es0xb+qD}IycmHm)qjo-k>n`T6Rr1f zSQ=b20r#7o9g<#B1l**P1;CQ0)4%}^^8jzx0{(q-Wo3s?_~R~S!o?6Qjg&9npcMuQ zhyoexFF>-b;no9>hDH%w9V{3u3N->bgM2>+9A<~Fd=iBM^v6o3AWOD#$;)e13 z+b6~xxQ^2WnM4Mt!Xj-Fp^k5{|*6 zb|mx0nCnS0?{K(#OiGY*5n0of4n%nUdwi7cGH^%4aQ{4(m}5oR15lD3LShL44QV_*#4HnXP!Yg)TiwTZ&wl2* zrL;49NHByRI2f3h-I?{X^Luf8Karf@X74p zWr~Pp$QN`yK49q#6ilsrz)Wt+iALd4t!3$Rx_Jl=tCcn9wSI#F_2zv+A=ZUI)`iE` zG&o?c085+|mLuG}ic7EsUP_|j&wB{qd{v57JaFSDc1ILjMP6GRVBjF&t$J^G509oh zTHm`d%FO zt=sHg57VBiGIP>XIsv##QgZ5Q>g!4ol#&?|w;{JRbTyEq1Ap~R1gC4TwUQG@&qnnJ z9EvxI822v6FH5XU0xeUaI-5Wp4FcOF{}I4Yqk#rp0SS^_5*sJT#UFhF^k$o)SCbHh z)X^*^WoqWkDOrO>Yd0Cr;mm{wa>9nNeST?R`(TBp9`J@AkRHIR()^Iu2z^S zcVYc#V&_H=O4_f&@1XcHO;eSkJnT=|ACung4BfdN+)81`{L|OPwuv0%!>%}h&wtvo z|6JG^+B3kO9`Z-tK=NgaF(-86@1l&UG}kSaAr+fw((WRM-LhB9gS~KVT7fgGtsS{5 zEZRL)jUib?#lTPaylcFJvNz!* z54BZzaNI|^8)g$c{*?cu$iBR|bKRdTbTT696StM?#61k;`xE z5*RZpZ$Lf?VYob^Za{Z5X)*s58afY){gk`0PT`Pqp5|jKd_h;{BG*d!w&?s6F_bpi zh)Ev_l`Ier=F;+N6EY;zbjjvaymohVHWjsnGQo>8GZatA&p*UUX$*es4!@qXJx2_r zAn59utJ?BEox86kdCpW%=%60ADaq*&?evXRo~#qDVX)pirf#VdNQ(+z2pu?of5W}! zgR;Be9dZ>@gqD)}dQkcUlp$9h1)A}dbWY-Hg3~dUX z3N5uLXUS%!$3(5cBL5%e@5R)esaF~}F`tg) z;`v17U3nb`dqJ_;N`@25&V{+I@-MTM{9S%JT8SlvU|oKuO`=ViWtrQ?5#jys6)HHQ zaLvLEGVKHeV^A_+vO76-tbqFwcAEH7IF1$5s#K4p1S2P`>YJsZ(#bIkEC^QqTqdn!OPUjM zuNX^L2rFPDp2t#1%zZ`l@>1&#+9-F0{H;uYYnFysadQ{h`Ugv(aj?R0&htUS&nczn zm-f=;Q6$RJ#4it0saGFkhY2=f-Xu2C7pJ#?M^)s`8(Kd&4%5)N7I+DDX-PGr(VS(? zX@FjZ;08l750D>bG)bXMRT3s_c!+`Jnw)ZpLa%o;K7yz8Y2a%Rg(g&Lz!%PeTE@wdtWY0 zUF@B|yy(98(<{TC`+;{8_9-Q$1f2)5BRdhk=($lBl?uk@V=Ifu)Y0<-VB!OsML8_W zvCH{yT`VGVd5Hh$KFyBKhqHOnp(z^2VgiA>Izo6o-e66v@~&O z5zT*5u4hnrf4F#VYk9X(D798~+mH2J`?I=#?rJ%C&rHA7x|`+`sU|C~GTbh%ebd{7 zT;;AmqsLS;h+R5M*?W!4%(tf`$D`jPp8MS?aW>&sX1#^XT}b1*2g)=cY-WP4MC?|t z_PWsSx5qoPMqV=?bA}?k7YTwIQ{|{~-L#3h7O9B3)G?LEBDt*J^Sj0}5F=|dbtu!P zquL|a9bURR8ZExBOFL6}HBv{>KG)(WZ$I5yESLEvHn;vPJxg`^Z2zT=-hA82UXpRV z_w^n$W3~(4f_rYg=`Giyo2wrV^Whdc?ZWCUpxV9a+t6yMi^h+d#%y80l7e3j(7Bj1 z5Crax8rcCb+gH6!W7TBpQa7Z3n5s(v2u3TwHe-V!J(bcklH!PvZ$+$^CuJv^6^rYl z=;xfbCH9gCASG&(JMVn*}>C2u_TSh@ZEdV2C)12+yvE zs9*mq&57S2q(~m(K&AY*sR$8|*|MIA>?#FTf+_)|JdF+s3Na&2(Jse6$F)JGRMg6z zu)oN;1rN#+ufe}0xVcD1J`6RH!Cei%1e05(w5U2K9dX@4c|LLzugzO$IumuOV}W7w z{I|S)9YH5H>AC8IsBoiaQMkT*!Mri0@yF`QSy95_SshlSc%?@*k^2-pbjLmuBl zU~J-6AOuV;bujn^-H-Suqmv2UoWIms01zJ@9Quz4a27QmLam&w1PG8k@*fKp#7rcM3g#XIU*AH85Sj z@5%jjIV)j1anTcpV;2kSx2w{@o$k&xBbGy z%fW!XVD_%Ls(wRUlGp~0YLRBj;4r)on)FhvqrA?f;?9N_;{zC*Qy1V1mo|F>LvPR) zwlA5kc|d7cJI=q;;n1ywgoD}m9055pk$?Ve?r%P{vw>%0wgNwa23qB%-ptV(r9K(e zv2<)Z`4$7nNu=ww-WDS7G!BQQ)xAI|Nwn3pNmUXmUdGgP+JM^r3pqgQ#Nmy(@p|XI zNl#Yqw84kwin9{G2IHA+GoI^)quS=0iL6Zcqu>}(tX#9!+vL*b+Cxb$Hq{1sZLQ79 zX}FK(ACg%*oy(&?ji}Crm0Va$uIZZ8zs24coQ0453~&f{~vYR+C^f8aNix@tR zv4uQF9*Wkskl{V4p4{56@U-4JYc}jO3MuIVKtes!Z#PW3xuz^iiF@$Sd@~f^*uMZP zs6pk}YN(_Z8alg8S>5Gl;)^<#l9Iq*_)S>y_|V({%cQogwwIv2p?w^w{2pa#B4(6} zt>Zg9UwtB1Fma{_B*Rpb@p7!yCoZ1d^Q6@lX^YqrM~24hvffzpg1FGX^CdMDtyu3A z&&?@A5)Ue#T369V`t~oEPQE|3bRlRXW+X;=q zSFJi8yuA*5oyX!-LTDdDl*$D>Hel$!nR65eEc-CFSG{2vNG!)RCk;DO)YztFqXz%3 zT4cPb=VP1*YjU09Sdzv~RXy39^X441Ma?-0I%(d`%@M(X`YGyj4!dD-gSm(kZE-IJ z<~TASep*Q$OX4XhNGtC5qzK1_tfC*w&L}6*N7R!0qeuF?5ieDi>8_?}4pJ||sexV;muPnU=B9HEvMWMwMiyBfG zAGl#*{V+y#d9}LMAb>!7Wjsi|OU-6wdlfxv;LRJFAA%pKp9DZzU8sl3 zYkzJ(fd{xwB~GX!B}soK88-xPY0mVMQ>BVj0eyZBIi*RfH|X75QmV3?QpPZKfOtl^ zV(#s6j6mu9I*Rq0!cDC@XNRkk^%U-Rsgbp<==AtNz~1tE4|}@f`^~1O=}%ULrtTJ} ztJ8+Gy4@ifhC869*>pt18ntr#K0EhI75g27EppS?O)l)A@b`sw;uz4>RPy*8I==H&{w`$8OtKl`rmyWaBuVh0Wx?B zSeRhg;5JJ9x}Z;@mu7g)Hzut}#Pg879Pnme;dL*I|OdTAtCUW}EbrOgEk`GtK+`LgfPO zUZm-6WSyc5nS((dzb1Ba;Xeg~6s`(0Up0wYi&P4$fW=jCC3N@+^HOT6Uax1=4~zqQ zVXeNhnq=)i5W6z9>aYKr(JF3M+sQvS4o2<_b-#wRmsWaW=z$$ydZ+$j_AuPt*B`QS zh8JaLq<7fDudyyRu0|z{XHgI;Vc?0X<_|LH%4id6aiuUHVNP0VVQ%{Cb6_g&0co}0rr2<-i11~enzqy!KV;FAkd`5jE}My00~ znJxg9QvOnlKnI+=C>Ow$SMIGIP$&3ludpQJj}Yoml%jJ$HCT*deVXGJOa5^a_olBU zx>-x!ln3j@c^~Z5#2cpixzsoD3!}{m|LMoMC#h?M7x<)j0fFqdH*O$@$_VIt z)%$B0r+=RTU3%Eaka7rokC0wJdK>ShJlq;T>d3G_Bd8T}a(FZTN(Vy|M^DLV^m&YR z&y0baC_A>wN3kDkly_v`xhb0&5NpgvsT+5vG!+I-MSdURCI78v0y{BcgdN{`xFM#k zVtw1dC7!vSBoPr86BF04Vl+()jBy-NS-#zAB%>iP+4b7kQcL zdC2eH`WaAF-a{2w#l%E9J#m`>E#`9<7p0tEMWc}97U|-q6tczeI9_;m~$B{*Fw99=tOX1Fl=bwM1k5*EA&SMeW`!ZKhC0sT=^+T!DAMe@WV)Axzw{a zR0EKZyq%Z$LDmvL)ASVdjH+RsqPs41oU$~le6f)rdE3LE1E!4Vpz>u$ciDAEf?gxd zP^F8bS2Bq^Wktu+X@4F-aR*+f^H_H!i2-{?XT7RXjM+Q-V_7y#sV;jycq5#KYN63& zVNt#D3*%$LWmsk=2yZ+w4Doj$3S1mUwtj^0-Ro5@WyKWz9D_$ zD9yp{z53hY+hn>ExIwws-+fw$#yPsAw{!2+P=-u7Iq)2a9Jq%5DpU+(j$pmW9dp-? z4YseJ-_KF}`Oclmlm#5#)t&9R$DPg!*ZKE3l%N`C`nH3^RSAhW7Ylv`0j~x@hU={k zaWfgh4cImTN8`I1J0{bSdAmn7Ys_4HdJ2yzoFz?6OAKNJj*!?zL7bZK*yknSie4QwQaR;6lP%WC|2KD^|au;$2* ztH)f@ePRnt`7r+!ve$eDNY633HO=_hBWTKz%494Di3<{&U6$Gc6K~U=oh<*;?E_)A zZx7ZtU7fA@s6{r}oCPI|SGxN+GwWMYSI=t78Iw|M)D`ykc2BVW&7slwjac*Ag;FjJ zm(3Eq0iWFv>l+M6;a=bPi3%A4R-e*Eknd|?oP zqDnM%jZB@!kWSoqV+Lg9H-^#hmiu>tZt=5^WkF~*c zN{oi2bLy8y#sW#MXX+ANoD;UpGcSXEG=98n;s=71j`(*73P~%12!$7vBY3xzlR<;g zzyZJ*6u%g)Pyajz2Y@6F3(?v1`}K4QRnspb93Ci>Yz z)YZ7rD##1EelTFm#mlLETA&1~lIaW^@S7BAV?6j8^eH-bQ$6;E`79?iXg9(OW(c%f zLLewCIt-WxELNSrp_>rf9{pZGAH03HlwT!~7V>Ttzzl?4s-0S2CWsjt9*v(MKp;Sn zv<~8K0Dx#PJ>U*;UmQSEc1n3xif3fQw#$H;Y&rHzMP4(wosgSg8wp+0Xjq?+0?O_0 z)I1c>cMU-382GI<&?6L|NW3)WU{PhQPH|yd*)t*<3q)GfE)2i>Atub6Pa0GaFqg=N zq%&_pgNM(9zJJT)KXc6@$Sg!W0w;twzN61HNbswo+r1{OylQrmK0xR9qCmliX}{9{y@j( z(c;6l;ct||Y*;0TJ}6(C2R?*>L8waBmS{zG&bY`%DSo6%nR~xshmhf0X+ZcV2DAQM z)9NNWM{XQYH!u~HQ8czQT)3X1?5eCHJ~DO*J#+$%XgFE!ltc=OX(dH#=$`Bh5<|-~ zl!&Kkq78ca;1m7Mwjo_U!_KP@90q;&vP?t`4?u?(9TMC}kvBvl*SA?rM=VeaiU2@? z5cVe!n2wxA+uJ87E^9U`J2jhAoBK5s$TW{3`tAE6n!#kj)%l0n*HgKH)1y@zL<&k= z=?P35{+!A(<+Qw&UVbxrhfcB;yCwYYbnJE1BE-W`7}ilTvhZd!PGXr&Rja8{?Q?>W z(A=D~1#F;weaMcp@N(~G_R`^Bodz%_RdH6onrdhtg%IX?$2+v^!gt_Ad_L6K=_Ja`tlGm#AW(bAz?MH$UB7hBKp-8;D@Z}8zQ4*9Pr~P8A}DqJ z{n$@6E{}AqPB=ViP3@8nyUCOPU|o&hd||ErUKb?)oDdE>BlhrzvXvt!U?1t)oU}91 z18=$|NL?>!Rz(Se4nbeZzCibF^&5e$;b5EP9rvQ0@eR`QFCIuu8*$tbm2u z*0~9`In%yl=LjOF_@yG1zwbMe-}Qjm~JCBe(G8q<}1 zeggNB_XFsfhIF?KEg|FRK@&AE!;u97{`jgCX_T0do1?RF#$w-9h;ANh1kFSpt&x1a^MqoET7cU#{C~MQPaSP3{ zBF}btAS8i)_5}@bK&s>u9{LT58h?-0XVM-X>EuTm zo0R&CqG>>~uoOFdJC9iid8p=6LV97xbT|NMrS1252A{UG|MyD1es8bEg6hg~%Nt`K z0@uA=tykF^ySSHn29- zw&m7RO6{KWq~2k8Rc{a( zdqjhFkv&(P^+wB7=2+ltF%1FQPui@kz-96+59%{Lo&jE<_a^9XGpA$yBH`a8bn-$~ z`>2dd?DPI82_nVP!bKuckdM8+YE4C|wR5`06>kXtcf^6**n_Ru!)4c+4Xu==O|=V+ zvqsiqR;T(K_l!*L-0p?uUSFM>J_{Hw`w@JFS#SOy_mLuF=W|KuT?i_)e`7G(YL~a(KLX$9r zX@*4PFG6Q+l$h%7k+=@7$h$>K?Y-)`G|}P#sM&R!|I&a4)>XYtPb*lkQR}vs_hNqo zr6YnLt~Mp2(;q1wlB!_&F|HimuLO~SbIahYBSFDvc}xPNqhY@2IqErFDKEB52BCHD zptIEI?J|&AQf(pl-Bl2@12qa|lQ}kL@Pf{c3NmLtTc;3-O0|G$o9dAy&J-dRbQ+70 z3@HV|vb$nSvUQ|JIZ;Eg8wTJ8FWIhOu_wdT7P!@;qsK z9Dk_V?kFuTI`YC8kmV~#TS_^m&c{vpwmQK>P zVW}j@QWe~w^E%M=+S!h>b|-UpJucjA*?NZoR7yZV7AE_!I^U+sov3ei@sV7qPs?i9 z#F5M}j-v;6o}2v*8i#tOx%UIFWK@GJB_Gk4QtFSXa} zXW(Nj^0;dJ^V1=B?v!$7rj}?ZhCBQ7QV8u)kdrE)=Wr#F7TfJ+FC`^(htuu`EViYY z`<;KC#*WnAmgJrGs2$pTDGiJZhpwgpy#Ta|@pahi#C!E7^4-FlyJw5%`p-@%57jGB zkHJpdOtH;tZQx|x41|O)AQJ#)`LV-an8yQ1Enf>!QXtW;Fyrb0Y%l=4sM_e-YheZPqt1E=RS7V{{0g56zy3dX#_VH z2G{ZR+|PNo!3IB48lKE7?<}g*g~VQeUV2mTkf6CKT0-~x@yGy1gd$b&DIz?G!@UBy zi!-H^aFe4109i$hcW`wa7sXi7NqhJ97(yQZ?K`dvu+aNa9vOOXW#Y&=2%-7h8QnJ{ z9^XGs@?|A`S2Sf1(%OH%v_5fbg7(1_iXpeI2b9Xk#+ZC?8;@pn_3Q7;K)JIU7>~+a zN)F4jytp&;O$jz3^!3?PT2nK)b4_b zGOuKdNOB`3!6@F%t6as*V_7~scurnJ2fJ^0+V*zdF36r;ak9J9zy3p7bX9J)H0QxP zn2_DF4)UHAxM2}MO$FX)FgpB|YBn>r!`G_%iV~NtR%3TKYy%*#=rYoQ0-6&!7rMH} z{zUCVcH{0+4U{KpKUJ)fSPo?rd-^;I3%~8hK2vEc>Id)ac)VSqS%zljbbxQ)bOX(M z%Cf+$lqp20p$B!DM7e@YjZ)RuDli731eRrHx zTL;PH;jO`3rC~VGK7Y~hbrSB+{ZFZc?#yw8C+r?%=K~v`uB!5StUUIO!GJn>XevEE zIWnf|{mIvO23MnQAJ+`T>u<%@`|joS@Gx_8Iz|gF-|8NRy~B3(7gQDo2y9|1#PkV5 zR%;=6haki&!=Tx_M-eHUlY88WnSeezRIcn6wh~Bo9C#?yX>dJba4I;PS;35zbkTJx zZFAn{5Q3yiWdiC(SD{U~1kxk8ST`}dGg8<#)cJLZDpBy_bGEztY-oB@g`&?^vPLra zJ;QzF=UHYPAg{aSiB(r`bDg3Jfk&wJBpgRhkgs9wG!_50udnw(st45Lx-Oh0%=~2! z$+4b__WJa6D}ql3;Ggl0AA=xkkyF-yK;Rf)u=w?G5uiGxJcv9XJm@-{DYSVf! zFfP5jS8n+k%^WyxEoG%C&xt_|uE3l?9E~Ist!FcC32E*9u9Jk5h|qitbax;ekKF8| zXmrM{pfC$jDcAHmal@r2qqOMNzBa3g>JCHLR*1)OzV z|0G}`BspA3r%#v8>hxwAxJhE{BULsJ@<^KI7p=|~Qe5cBu3CoYQJYuUo-nA$W2FCr zs0E(6T7WL{auwx3?OqgM|T7%bd{zr@OB!xQ~!6WCe#t+)cd%y`W<{eI%a7^&G= ztL1;0Y-_X~`}oX`qT6d68OypdQ%i512DSWU;o8r2*=vG-!TV*DxT$SVnzLCt2TfMi z-D)y#?^H;Y;D^*!tdHZ0MI)`FrZ){wqR%Nxr9;Wl=sh6pxk$WxX|WLaymORqHs>^5 z&6VAcF@ZjY6mR?QG5V%EZu#$bs{J*Tz8V3~rLQc_*`O%BEXNV4Kai+sJ9s=YMmcgh0` ze?`o9!>}7wr9!pirhiv@D-@jy92pr6TVY0sUDLlhPYQ=CNDux>1Z-^ma7Vx|^FG=U z&Gz7R=54sR9pTT8)C!v?q*`2pKG|He41)Gjh)&Y+TJjOlk(@H~Mhr|87pq$Re*TTE znsb}EFwvqax^?B$0y3OZEn8a+rh}IIQhx9QmP!**n&Ab`j?&t@5`+6b*jTR*H$KPj zQs{be^|rOg%sHv{!$EiA*rRs}nt#-XV<_|NChPy8?5(3BX|{Cl1{$}<-QA&ZcelnJ z8h3YhZ`|D-8h3YhhsNFA?W5nBbLPy}O80zyzpPvN!lH99ptqKUNF#@Qw-u9XFNq9dvn~=2;1{?Bz+$RIEsSULlyQ>; zl*rKE!WazX?@}ZdtG8d?rO`4;Ty|7j4(6UJT<(ZUG<-a6xliJmxO~0f$(*e@S%^hx zWMPz@)f(QBDov;@bU&I z=(6E}=5>c_KNOMvy{uvf|Ml3SE)CNQQaDFv;X%!h{Y?!x7!Joz6dt$D3(V{E8ROA$ zjo1;4$E$REfYHVe924K=yWhG3s#TJ%J4^X!kah5nRy-?)ZlBQgTvg+MGj-LXKugST zD$*R?M?x9oghFt_6QZhG#E1%dg4K)+1Bf65s3CU)$>=Dm>Ph8dZQuL_84g2Z3MfhY zlS`|Y3YHSkZQ64QZ|8*(m&yZ?4)&JvIa9Pv+L2yGuU#<~KoCm*w zVf8UrgP+czex&ntQznFn5P?@{G29(>l_G1VXb&MDu&-DKER#^eF7s5Onh+)^A4l!# z&+%JP3!h6j8UQ3|IqNV-)N0&;?$4itXA8ymMdEoRK$z^JR`Cx*m80p!U`eAO#LvXy zj}_&!(E-i|`@D&x@Ux9F6LD7?ir}S5ds*MXDVInt;;u+BQuh+(%%L1=GzN%2$gW!f z%I&}A5a+O<4us{0R6S+HT|SXpPen-Qo!MwbhgD6Z4Z`N*0{V2&S4EXMA>N zPxg@19=T%^6ge#>0Z_`bDo(=WP|_|{O`=MBm5{ZS-xr3}#p7z@)H+NPhC{UhfM5ew zV=R7tr6|I*o1^pbQlas&QU8JUWFdS{Bb+EvwJOs>ZHtDBr=xR8y&E$^l-}HUQV7f( zUrOSaBI`jrMw}BDF;k~mJvWlJl(t}w70=5&nr~&Y>uALqH5~+uvWfl62=+r6Dhimx zmjM6Lo3$cU+4aatu+?)d*6>aAhe1x5f!D%JJHNPPArTIV!y*uvFslrV#1v}={n?{o z*#!5H2HS81p&cKD8l6}tNg-$ zd49I^5%!1>;Vof|Pw(gLx9CHhV!5MF-w_VaBGA@!fv94}X3L+M^|zOWC9OybN%8Wj zUjknjN_u6F?{nPZW@_19NA`*(3F!_-$p%@*|`B7>gFn(mI>&kq|FJ zlr;OH#-@hJ% z`+kUodr@y2_a*gbg^VH8&r1jJZ5r7Ygpe>04hRR`il%z1yk>-SQg!f4`m?o|((_~H zl2nNYIGR-u1vq)An)UY+q9!zthYl*>V1G-&l^X^RRwYFo z0Zu?RLF+3cT$R}R0)+ClsIN8vz#uvsKSc6`)X#*HiL@0h5erPXKhK4yTgif(rhXWu zSCS-v9_(MQda7Qd6;WFIsp?Uj&Jz9!d2AJ$|C-$(Vs)7t_I=S;H-S)?XHeS6i?Gc2 zG8GHaSXs=r(8LXXA)0&1-ZM{4zaRji;C&X{Qr17vGI*%D*W7yVY&?Q-Q$lM z-DkA?+0I;^H`BqaY&Z3E;X`y+XSLd$D!GyKgA+6S6%izwP3MZ^XGoI&fnbM4q8yoQYgH#a4{& zS;>WZmTyJ(#5of&3{S*7<(;mfjw*fQZDU?R4cZWgt;t-0W?0T@{XANSR3tkZr#PBY z*VXa$NiE|zWM}DJSLfP{<;b2EOiSf>#XE6$IbBma;RD6Ega##^A>(e{t}Aj4#kdA= zg+Ls*jyT{rwAC})m>qtJ-7$-lP3v#^f^Vs%hoZb9Fov@a7*&%sFaKs`#z|GFmo@3k zdrP3zcnCXBdY*rt4O)feWvyV*Vy99c+hlkzq@@zfrMuBxY%F*+VnPB zL#hdE2&N5)UDmswwChW+-Fmr6Jg^kk7vxlzVX9WY?ib^e%iY8`ihUD`h;#JcTeLO0 zb9@Dow{zt9TwoUB!5GMVy+`!n>4)78$$}!ciX7$qaJPCKV|g0Wodvz>gyG}T!Hywf z21ixCKXu3NbUx_(){d$m&w>tSbs57pfoC|YgkA(IH&Kr0zqM5r^`e`msB(z?nm4wx_|JKxhkcSnw&Ov*NJiDji=;%~U~> zG$S2VrJTm0?Zd*IVXjwMy@_q6@R{1$8fIHsdgD*C%6~IiuPG#_f7nk0F}rW*x?Hg| z4{oeHql2Qh_+@UAwz}TdL{g=zkxfSr_`TTqX%})?*tOXeaffErWO`<^F%;BI<6B@J z%nCCHyZ)Qkc{R0O<9QJd910|B5^n0%JGIHeRk?|&Tz0*+!C7Jq-$vp)-^*QCI5-$fxmp?NFEviC8Br+s$a1osb(hi0 zAj>zbg{k!h6s@d@w(hN*?%O7j1uGpa)j3u`jnnF8;vEr@U~TR+4yP0HT>*3@fnoRp zj8)`&*0qQeY{l6}r$l4wI!hQmSM4e>vZCb|1e9qLO#)i#`dQ3?K9WcTrz`P6yATE?;41-w1dX^&=#aXikajZCC|&};m`ff(_ACg;81)Z8=z%1Z zcRY>vT{9od$((Zg_Lm)ihFcj4vuc}YZV)hbU8r~B{WqKA5G6xnX>Jbo0yUiEn*u<} z&qfHMfQv&Nh8u1Gvo&EZ6milWN)tu}2aYlgN# zC1!bit%vluX_68!z${Y>l>GsbjnuV59OWMB5yl*xFLUdS@(Q{qdT!uL_k%T8xn}dZ zIu^tkSUXmghWrhY9!*h*tX3=d)jR4{sNza+OjwAbY)N)2#Cr>m>#dX0@g+u?Qoz(X zMyh;MwG|8F*~ zk9yAQ6zZ)Khj&Ffj5W)>n^bkQWA-?A3}&iW_)Fzo0?A`LkQ>oG1KGuja<1sfQ6x47 zVI@%wM^0Fa#v7}G6j4?hM=-c&BJ=4p{SVxtIW6T(svtgM$oVq=cl$XTpoBW5xBT4M z*@R@xO1!|##jkp?7R!zPnTb*JF5>-hePz(iY)f(J`7`9DBeb{*AC(NPS*ttlUc{aq9%!;3ueaO{2bOBQu34)36*lJ0^ClT)a%*n6QS`=115R0IW;t3M z9fHdf>yf11$WQxM;l{vQXOB*{8s5krX)!d%rUR)|<8Jnq?3=F=YAs0f0m^s?^)v+{Y!_99`Dkm5w{jb1RlIDe# zJ7qf|7(`01N*mM*%CcrB>2YXVM^Zza(W4wy5#Dir3RLxKKV;SiwY4x8J176FeNS7( za%tnsA~oT;oO8N@x~=rDZ000aD} zi!;(ZdNHp$jM}AO&6mtoF-cJG5J&YLV8-e7MEavUzY?!pL*Qg*qr}vmq4PxMG z;SqRcOb^$hKF9ZapQ6b$W5 zjc5d{Ee!r)#K!cmMr;ghfKMZ~Pc9P!J=>oT`u~Al`!6RpHug`iH6cTLeM2h;d>X(X z3ob!j8!I0#+dv;9nF~&F3Gk%GB)dd*)t{UYP11s@?0|BBa4&u zp_kd~sh;=gWL7_wXKfr-GF>E1`ge19*gDK^U|TC zhy_-U|_mq}`>!%pqA1*5^}3rdX% zYIwRiEv#KmvpPXiDs;xn0E1uKwkJ-l;jb9yF?H|B@*VgwcDsI#7AtA2g>m^vcKlhL zc7j=*)0m^it& ze&Al{`Rgn~d9}-W!*v#H9IM}=6;s?ouWR|?IR?B-3{KH4WeIf7Gu&#FliWfdL%*>< z({)$g9aUa_AU=a~BRor1Al*k9J%heT_q;D&-7a#z756TNPhuTRX6X}I;oY1@!Eoo_ zmUmH1!=GQUvqT^n9c@@Q1d)*c-4~4M{}Jc*fB!!HtvMYl`#;U;7+IL{0iR66Pq^A& zdsYAdpNWa_ukBA8Ke>L+|DSV1{ptVL?N9qZ za``j&UvvIvE`N^yY^?uzKcB}??4P;+IsbDH|H$pH{65?MI%oOoKL0u9PurjPzxqD& z|2t#8{|$-z>*wUZ8}l*!4J3}~-$LR5^Z+)de>LVi*6r^z1pjT`2MEgPJP1eWT$3bVOS0SQl zM0||r*AS|2ayydPd-30{nF!WQ4FEof=X# z8K2E+N&n_bLLh7&#LWD-Qd+=93%mWiqMP0%-Pr-Lanb((9Yj=O&a3u1sPyQCzM&G? z2Yfu_~gcw z)35XN7%qAFMixNcYAe$d{;}mXJhDOagNBker(pNvG^=zG!~`F5NEO4B_XqpF z>ox)y|0edfrf{FUOi$mP<^`}*Bt9H?^>d!T|#fqVf7fBr!+~f~2Nlksb z7zCD4(f6o!;T9y`K{BR%UeR2URj?yFhklO2X%z{(K6T9|yx9-2&T&OU{)lq8th52- z4Yc^+(SqTI)*@KD$xKFSqUVA9c67}O971q0!~{wKWA8yqG2Mg+WVKNmm~Gv*izuF_ z!|yF96BLzW+I<7!lP*u_oDSCpvRRsCw^39#gE=`anpUc>uTtTYl{QYdx7Al0t}9aI znZ7LPCuh9`-o2*j4|NszeF6f{K8s-h$)(Bpdfrys z&7ldk*p87w9HLrcq?M#O_wySk;9(Ztp6t3>L2QXgdTT!yXi1s-_DbU@%_Ypl48^6P zo2&CxTB=*n`x8tZL*>oss^`Ws^m(tg?U5oKPs|o72&Iw8NRBQ3s(QX9P z9BpAoLjrw~Fv6qh=6v-%@U|K{X#cl1Lsh(3eE}M6osYb-x-nISl10LvF_jG@Te+jE?iXrGQ>w1PbAHQm;zYmkA-`vcD2;L z7T)Kk1~87290QWCI6EvKN}d}8*TcQZ3WjZ(7Y>@Q6J90yZP;j|KZUmesIs`I;lHj8 zX8@xGGX;qdYR9g!^54w z-b7XMB6wWDa>6!W1*J&#NoSdtC{e_QBMT>nQ$u}=Mh2!?co}lMwhEso^pzJf5Xo*^ z^4cB>MT3{!c}&sqej^H(AT~W9sz!ulhI8CzRl$5O=-%acqjlZ1&Z<#9>f9dAy4`Zs zD)I0eBXMqCNScY=CM>I$k}KU;9v=Bk3F$4A!r53_AVHAJaI~? z;i_iJU_=zUL=88{^%4_l8@B%axU*E>1GQ7>D$RdGVoI<>82b?8&B;Kg$#XU)6e&rj zTm)%Ptq*ySzME*&DDRsOq7N)c^D`p$BHh*%z4=x7zFOh|U0m+?GY+Rglf`Uf>Yee$ zhu?gQzQ;V#NrLR*2B-Kf$-UW1(=Bnc>4t|CRcD`KYv$1hHF=0o?ih2*A=gzmwEvcU!ZhgP-7`TQEscMthsg+yjtIM61JzR_G zYJuAQ$TB4m%I2A;LbL_2Mes*?JJnF?<*ye&UhcY`Y-09+*WVh?^JL(w$Bh*wwdSQ#u(x3g3W2byu_=^e^BJbBPS)P zNnG(K#Kvx;23OR5g~kSEU9qBT{#6{0sun80O|B-dsU6yVStr;8o7CGKXtP_!z4K5A z%>dpK4ZWv}SX&Kc6E1J10x2~;2Q??;?rBLux+Ovo^7S96%!JT>B`@m zV9xXCh&pre6v*VE`*MY4R8j6?@5Sba^C{ zpKsI_Z`J1g^%{!EY0{5P{l}Z7ESK~C+5QfUtNWhf$v!Xtkmr6v5V2bN09sUnNgUY_ z6Y-5#62}+m9TmyR!u+cDpI$0jUZ)@Yybbor!5w=|1s9!U=X4OBa&hXfi`|qPojO{! zM^pxK)x~3xUhhP#d&f*~K903RL!V~nuw};~9r%^W(6MTu{aP5xMg*e@E~#EY)GCAq zj32{7ZX&MnnpRJ=&DfbFo+H-7MlLCuk@jh}vfSE`*V@$7eln)P0s|mroq?vd>mB(x_J$bd+Dw)~CwcXRt#1C2Qi+&c;-t;F zky1>1>X_r@v;8H3{jqh^NZ<1G43celV*>ICp)zYg4R+6<{RhT$4 zu~O0|)Yyhsx0_;YU4GRen2|<5+~!T}1TBb%T5PXU>k?VVCk(vO62*e_lB*|PhsvJ_Q8Z{FNbOE9z{7l1SZfVtf878#z2vGc^cgd3@O3}@k;bvn#lhLh^0ww|s51nN2zBGW6-Co4hMLTZ z2OMm(sR`}KD{SEp>l)+2k`*l@OIGCvIq@CR*O-Oz1~M7LO%F8ZD$IS)z-Qw4RPT>~ zSp|LPKoIszT|)m^Z7?<*d(^F^j^A(G$%q(F(*#SD)&E*xutI2%I^o3IZ&25;NcQYVv1cKVdycOZ93sGwNS~ zio|m!^h!;ba)b2hHtzJ;Q1+qii04E()c<@2+aKKIoXLY@WP;2 zf+FSHq~|$iUt)-#B4K!kOXAri!oCLd%*7lbB)bDVcB=^7r(+mUC+zJ<`o&G!9*93J zvW8KH&tf6rVLfFeL!|Snh3JQmYi(60O^s1axZzjbasYKwMHqDcm?DUSsUlc58K(T{IEKCv$amQSvV7PchrOIg{~ z#cFMREpK$s^KM-|&|TMF*g09>x4fyVc5|ldSma!Gs`OTPQ05hc$Z8$km~3GMIIHlU zTsqaWrxaBV9vqz&tnuux&CDL%ZKgMt)!Un=HI`*qc6n;8c`Y2RZQl{edp9nbYR{zI9gvixxKx~v`n8|2&50CM>VTOtsXoySe-e%s7@;D$U0Yo+tv}R&{{8w z;K^TETxEX?DXwoV+BmS>*md3}<(1(m**LJev9NvNNQa4W%p2k%<-?4T?Ca)QecWG{ zKA(_j=svl)d*M2#!A>+UYApVJWa7=d3Jt$r&*0c z_KjAsN4(Mc8Um5r2kXNWB^~mr^}A-|;KtdFvD)(a*&SQT>cQC_>hj@q|`Kpl(R*77`9Fa3e z;3B5@7p*4lFkkbrPy$>@bhYg{h8m6YuKmI4S+RCP&ur%%afAHzOVb+RPzYG6US=QzI|u1M;}1a{S8QkD56iHXO5^1 zy>#4XNT-jYAOIQ_?<(1i_3!o;kQ}&*hq{;+8Nftf>7E31i?fB*tM?&m71KqV4aY-K zunr;fGXc6TpDrz2Ra%7n9xqBVso6Yf`S{&o2miaHKE%4vYaSTaa1Nl;6Q+^x_C2iLqbQf+pt;NVLb(xrV^6S7&&w9A! z0`@(Mn-1>eEPAJDe>X^*5G0bX??5nyxb#8{+IYj1l<8SgW@`JA zgktx9;|XD0+n+GE(MkhK&0u}B6c{1y82oxrCbwYJc70_~RX(K0jx!$JWpKz~sGf4d z9H?$eAngJw{mA{9m<@vm>34_Z^nd;& zq;9-@s>U0fi=@(rV5D{mvZbMYl!4UQ!W0X^`Q6I4z^zaRP>M|VE`)xyCp9J4o*lMY zlJA%6SdfW84ol>E3D11`6|Cnqs#N)itE<-DT_Lv#7yvK4y=;ep^w zgNCBpJzJ$ZE7ctIHKEwlvB=c9R~?MGcM!(g393V{=UJ|r*GeRlpCCw8p)e{?n(jL& zoZ#$SUkak8)LoH}&yJVLkI5gKQ(zZCbmoMSup4EQH?eNI>>aG+nd03lUml7JJrsrb zzi=}VR^|6ei0~3%M043#pr4qN16Cw(dq;?rf^WpIjyNEQ~e3_yi~SmE!sUD~Y^7Ao4< zl@b2Q5QAaIGBhd74x63|nG2Bx$Rkkuk`|hfK5%W%_s&CVpbUDTxVtZ)!&s-API7E| zih)#w&1i{-Fsb>@hNO|-C*CJ3Gap}E&8JYbI_d~8%A^5v{B;w($zb9(6LL8#nFssmV-kXje?xHh8%P6H)Rk{;rh* z(3Ds3OAjvT5iy?NC&(yyPL5$zh_*hYEYUn@tbCQ)@0d&u&U&w>-IN8w*L9pg0)K4tY?;tu$qX19;VdtMtyA zND(bUaf^Eytifh7GCHh?VW47Uh8oZ8${}Sk#bp`TtvNJvlFRrN zSGjj|6wXqP&uVtSPO>P+Et_dGGbSQfrig7P^oljyizRbHF$@HXUJSfMn=|WBz#6Xx zX#Lg;tXvE?`5mbrS)FEq(gcIe(`NtsEdcVjRNGA>T)>5ZrblJ)EhHvx-$Ho0<4*F< zx?gR^<888yhbYyAMZYtT6rqSKmsdU*N2OQhU>=Vkn#R_d#%N38O{7u?9vW?Npn+=jfRS1i) zYFvIGy@+6MrL{0UY~HL# z<CRkBcmMC}ap}8HPp|HMUFA^>q8!zm5xGI~X zJa0Sgq&GrJSmng5o01Iw7;T(zSm&=rUJ3NT%_)%qS_^l(#c%ucD0<9O8Co$rUgy0V=r&_l&EHO*QyT|9kN3%eolDsT`%($EPWf5(WN}Et zx!11H;~$z{Vm6QZAE@(r9OT!ywqEW|RASoCn|Q4qjg8hnCHTYyu7ZBn<20=n9@PO8 z<-Z$cyv|tG(46*9mWuZnm8^d~)7v#(NyqElfeCwB&G`&lC?O&_{-D-K`589fU*=+hK4C z!PbJtz)Z#WF%U%i)|wUt89GE0rW zDus%k)ZIC66AtS<3(|$GWpqL_3w18{ZxhH}+dT_@cRF%pc@}84q1-1Jad;Y^(_(BK zh>%=4ozTk3FKMNAv|jByBpsU8jb1Z7-k$^Hw)BgX8LhpNLOUW_r5q%ZC>|+p3@dNb7xmxD~@rd72HHmX-;saG2BI) zai_30ICCrWoE|G2DwsetqDNPwLMJ$ZCl4)>AU z%gFI66pZ&VRQReIjJLdb2>(DS>iD>&?Q%SA9sYub@9igZpuCVd7DezR=X;w^XlF;=LAY;#-=i4IFCAhc6vxW;jSo_F46OH zd7hfD=WTiN&9zYH#R2d;ufb?tyvp5Ycy3b7TEXyZ4GK?F`j$zO16 zdhZNJU{P#5F-`>uUmPC6an?Dp?v;Do9b6jW7LVwaK^7+hr_Gl9UGAj>F!7GW#Rxn~ zQDYy)&I1GB7O8!k;23anIfTfYWFil%+>@l2D|%_MPVI(u6{TGegKP&c1<-p2r-%cb z;wf^TvX8#Oa20-agn&6$1dihWk;T>2&X4gM(w|msUU&0Y#E>tz3~NiP=}HS)m(1$- z@DEW8%|Ij-$F79OCi!4535tJ5MWR7hR0>d@0Q;kZ?Dg2F~${bZmJ^>i+ zx`qlBH2?_d#|1^`2#)gPuLsx7VYMKMJHM}+FX24e@<0-4>M2I|yJnzEYUaSu8 zgP<)Wdd-@;z`{??Mz$%78wIt5{pDF9rE;M(V8i#j2$R}ufRs>`yMUo?B!6^B{;IH$ zGlTEq`kH|j(9AIgDG&iSU#shsAf0mNLy0vekgNutji^hh(Us$m^Hg>6-8U)>tZJ)w z0cg)YTPj!{#{^R85QseI`*v(NX*cFqQ2uz-Xsw&BApI{`s?k)V*wN%-v?+5w4q{Lp zA1tO%8n>eBlsyM8)<92qS^1f;e_Lk$2T6|=K+pOo;6F%upJmX0BIy3FBt5DBNz(gE z!6B<>VQTAW_zxim3)_EFa?pPkXK5JOnDH6d*;(-!7y$JD9jf;!^MIn`{}25JJK%Hd ze~CF5KjD1;BIfuU`hO5}{8d-|AEnm6!Rq~cF-P>IOdtNYfeS9s!MiG7r;}gOsia1Z zak#HYW$=8u>f+SjB;Y;Wbyb#%**{ES;4GCj)&%p3TE++W|I!A=`7slO zOroS7WFF9%9!Ny(_F@T1?`%{jEx4pnPSb7e;9Pn7g*Bkv1ynmN^qgnH^XJQaGhK4` z*Aekmc~E_i1Mwzf1`xr;4u$IS-iD||-tL!upG0)DW)xEtY8kQ19w|P|35^v^S{k6d z_xa;fbde_t4@FeDVb|f+Ard#hhM{eG~TPc4lQTQ)~0?Qu- z023QN8{?;SW%p#Zq6?(5ThWaE9vlUlAH##V&=O3032) zhT`~TEXizFG5HFxh#@7)lNaRE6wrU)uBywSAt{KT5s)+rvO<=4rV=cQuXD&S_21iQ zmW|!{GMi%Eagin4u--b_e6Z$z-fZ0ZVCrT!2{9e*A3$`KQwHvAx^7DWK|qHDJdo2q z+i@&?O64dkNkA(fF4H{G}oq}ig?sr{0n|<3}{d#h@V}F>cxsq!lgeog5 z4VsxHQEMqTw(-ckdw(EAB0(P^ABSX0K{)oLQkgf4hWdMCMn5^L(Yi~&QPvy1Uwr7? z3&b@0hqZ~k!%a&yM8U+J3}x(235a8sqU)(TbIa_}V~`E{ewdVJlUxw}#v3*!X*wB( z7kdx|w)#TCv&CH#^cn&a^Jc*M1g9uQ0?)_z1Yi#)S-XT)1@R2oan6Tch_*EF`wi6s zpPS2>{WBfEjNgCJe3*P)?dW2-@zB!%`VGYhmq=p>?)$WQUmXaK?0TR^Rni8rtOP`h zm>xrit1a%3y%-Y4van1nc+H+bx_Y2dDPa-dOnsQcW1S2z-@A*`Bree|xGwuf%Pj#2 zo9m0>>ORZX$#FP`8~ZKNu;cvAE2y1oqQVEyjstFJQ9h&OtcPvk1Dahx8x+bpHY*n6 z`l3Xm1fw)2x04{k4=D4~5%Au@xk6`gd3wFUY5Z8JA~bQoa3BGeYWr^VB#}l-UIVG@ zS1CmB$f!g(6!i5CaI;tCn#H#}jtcbx#UVrBNjdxiY2SUI4U6tBYMpOl#3QOa^dX@B z;ZR^ko~m;mBxB{)e84wakQkyvmUuotiwJh0qw${;V+;)oItqQP@4+L0Hq;JJPP=cf z2KXwi?{nj|sS2KeDf0S%ZbZ>|NZ(J3Y*52IrW&O^MBd@$lHk& z4CG@f)C&7*8E2cYi$SW-)$PKNK+(9LQYURNv2m?VFVD^$Ucb1HN@y56`ihieW;NbkI*U+pTZ@ixf1Ieo*W?b5LEHjqQ zNOLnX^{TaY_$GPT$+KB$`vlvrmK^y}nu<>ljV-3onFafrSZiB@!dMH==|1C%w|wlD z-Y3|-uEx=2HeqN^y;i>eqroWWiSLWC{oQk>eyxYsiA^@7smJK%X?MktEa#Hq*FLp1 z9j*5+hP-YStmA|qo=as5TMQfJ-+c_amBX>{i>gQmg(&h~%%7d61L4W((LL*dgnBQT zKvTg0AMT=OAzdoU9BB}RMIB|vEbAemk3WneQzrrhm-KAD6q%IErFJZT|FKxkK2=4Z zRjwhef8w4`nqpMDpHOS?gM8MEWo~XL^VFP!Wh(g`xEJN{)HPM;fG)k{wmCB-R$^v# z$ftrTrV=VO@(#v2?GCOf$hN@p=C0|r_DVZ_bDeKej82~^|N9lFN4k#NHnrCBe65@3 z4@YAiS?NNeBdDOrN$ck?seDmX5nyUo$}yFfci+(#!+i)*A5$3+OjLsw)m%G(I|&gr zDGke4s>T*UXk!Bhtj17ZQbjNsZK%CL<$bGXM}$z*ei|Z7js%QuoXC2QNKh!h0N@8u zp+x3{8p1|J#eEEsr^SSSCOQq=bYymkWwX*Br$sp5R#h`xiz!Zg6U=or`qlDlh=vd~ zHuSNYBTct2-4d<^70J0lc!bUX39r~{T=^xE0=R4uPk#smBjBt1I)@}W^q@Hmt?6Cu z9kvN>pYTsAb@j=?iM|~Rny4B>cj_q)59+E8(v?J7+))bIRN$Cyle@ZFle0Vm+wv5K1?AC(9@M?`6}>+N{G7RQ z$ab?8Mtz2BM#|-L%^-W2xLuHbKQNV-Che%J_wr8HNFG=x z!G`rEtGo^+{JBg7)S9<c;jf5&4NJh%>2Ns#{0LI&1nN?SS(A;8}$w!es{vWA5=?U3G@j2Z5OqB z2|(7$xbq8M_C)s_c%9?(o?E}pxA%oj`cDZ%+Rr3v$dpkg&6*GgtB-L!EB;VRnN@3` zj@B4Fcgz$%(o_zf9M1AiddOy0ms}5ZzF**@hN>a26Y9bS0{ZApq+ipqs|z@H#&Mh` zVp+2GCt+z?fa+IPHS*O%V#3-o0u7MdDZnYvJVF(1qST(3>sPWw=&!vw*aj*{wh4iY z8LfC|e0g~zdwqBT{gCg-YR$?^Ctvv;I#YXd(Lc&SkXQ=+VlRe|dk6vZ^)a%mq{|(M z_S?|b{F{MKFg@M@{5AF@k=8L$&aTy!o~L39hPk;vKLknMHuP{v4yv&C_qLF|*4g~# zYoc9L z3CCJi?QS_%Osh&)>QDoDG{3Zpd%g(|91OV)8_>HlVDOW&3dL=gbsO-$gT@V=#e};^ zil9#OZj2q`Fg~$sf-vA9a*S6pDCmw&mT%Fd*)0+$VoVuz-k4b)*M>3cY#^CwY$G94 zcDSoUvs&$-0N#uI`>8m>O%Gm*aA0dS8rdm1OPLLom|0xL*XbW}3)+aIDzXqYM+<&C z+xWut(FBr0tnwRz)eajF=XRSh*P&w&*qxmRT*Ys56Q`Aom!d_W`nMcU7MWt6cOze}m zIZo=+)Gy&(s~3fRIs8y-A=r<-Dw!391$FFh7HxLC2OAF6^W48%I^epFdwf3QF}da+ z0|&q}wdz(rMW;BWiHnKG|vK|&9cDfVLD`b7dSDSa_xE>@z z&i3S107~{D07P61^CJWh_LXj%Nfe#gNft8~QS@{@B0uJFdt?th!FQA?mM*wFKbA3) zp61~21p`j(?QTMwrj7xQ+}apBdy`ehTmdhR&F39L?T6O%Z+*?8ye+00J_G4FRc$$4 zakVqpI+k(Zq4BLJ=VqXMV}uey_nql#d<(jO0Rhr)PVVL@qmM1|7MwIP9jEjsS}wTH)KC_G3-GfK(S3xXlmh z6|Dc-8aC93ya$8U04s!JsXJHKV0%bP$fJ4cKle+hCVbAKy0;81bMYT0q&u-9FCDLR z9vI<5@nm(n_u6`#YXMkWI35>Wo0waxi4WIQED~|=4=R{99Yo`5BNA8-_=5`13oB|H zP~|2BPQ`+_vL~>|k235{<#CN=S0xFHwL{fB0 zm%-$PL+Cz>g`OE>lf)`$;Sw=|KbockzsT4RCU&$?A(%d8cU3lL8FhcD(@j=n7y!FN z$}0L62>HHaI_?bS17Hv`VNaDT&YnG4Yr=lA9{YKJz2=T~(*+1h#&rK(i}87f0QPpo z46ZWN(v()>ZG4xe=BwLC!-@(AR9aHJJFLS7>;;c)f?65m?o<55ib{FaO%!J$j`ZqzmiLj67t8OL-keL{8`x{X}r3&u% zOl7+W;9Y1X6YWcnN)IWSvui?jrR|nF;4h|I=zGj8Dtq!WPdv&q*?G$-HU%^s>f zm~Q*BCA=Q2-s+FHDSKV?sHQzENjbDHerfm>7UbAuTFp{Vw^e-Co+Du)kiU93D%X~% zBmn|T^E%hzC0oLHhgwrrEtXJ}QAFKNsyUyT1Fcm(=9%z9eR@T^&7i8e>Sp2w9FbLM zL21%a6_~%Qf>4nVP7M>pktno>XCqd>S<>%5_S}DswawmWOm`ydr6=}0c~(wSw@7Y! z$@xXaRwik(Q_}gG^&9V#B3HQ$gXK}3-wM>Cnbq`^_W1wD*gHl?+O>YN+g8U;I<{@wsGaxQ>sx1?an{;r|9Hkzbshan7r3NpWqGJC& zMxVEZ0^OeF>Dj5(-4-AgY#NH)cC(2XG$rL$5K9a0%H4B!Ea29tuvkzCnyjV~EV6QJ zTC-x0(4LAzEMl`VkQ60T>KWa)&UBKv7oH~9pmn&z9LqdSrIME`xGnwJb7DKFv7_M8 zG-alEwovN%r(GPyo(G!0b}j(v*h&YdX+>EjWNugaN)S%OsE$*Ub9eXVim(S9 z_qTm?>vqQ%fI$Al+)*KdW=q6~-ZqbsJlZ+J^xyzD1iMZ9axRd~4q@23gtZ~v0b8IT zuAd7j^NHU+-tfHpwX`>s+=Wh&Jdqq$k!(OXAoMSGYPJ55o`zirDZc*vZ_r-z1d|B> zFXQgB&yCwefAc#5pU&zTZKMSnVn!7wgV@!CRsSY!QA@84cW zZeOR9e;rgL2eOk%Ds^l7SeCj^grxwI+vYYrs@GhXTqugGuR1OU+xULjw0qrU6Zq&c zddRJj2L(d&_14iHaPQr*p@dR81_$!OPxM;#cJ>Mh=-|`B5Baalfc$_thnYU?3I0Y0 zKLC1P``s`}UL8^)v^nfK6^S zZ78X;++4&&C)+YaZ%rt^ihz{U?GtX-Rzze=A3UvJP#LGWO^D%VJwyUs&m1uKM^4wg zFqhfftsV{{^E5gM+wobcA8v^_Q5 zkLOkLipncwc> z{vDVe8yvL#;Dj8Hya(pP;MYa$mz_Kmv;nC7!3m(x6TNnWVVQkcp+%4tXQ}l?=h;aj zv_QU;fjRar2)i605Myg`$(Niem>>bg}S9XdC2^{mn-JetX2kXuX#80{e;`z zhw1^y15rXhcZ6nejcHh@KZH!Bn6WRm`VxNy`bo=ng(usASM7`l>c>SQ($|Nl@jmOp ztvu=prTGAM%qwf;;fp?r(*`QE#>|CYBUduFQF93BEi3N@ccp}aCVp`-x5c;jc_LPA zYOy~BG?rEB7)tXsHf>?+XtOb=K9=XB2h&KKC)y>s!bmws!tqwjx=(>jnIXBTeJlEA z+F%?0OSC{sc!f~4v=PR*HFrUf6GhvLd|SAIu6Je80w$f|6+(sqi?Kb;9tn~pFCw@S zC4udCt4Lqu3G=ZbtWDjq`52LY z`(QaaQ5d8`aRDLgFfFdK(h*@=V&vM`5>2F5Y^2%{$_XQ6h$GcF=dArR#OpMt6^V2kkt z6KNhY2J<7Y*1*5(WI@NwaQ;>z=2=Wy>Sj}#I*0s9E*rs6*6m-KwJH+PY5WnfSMHI& zuIf=-dc|z7f!WRSUo=WPNHDjl5_p=uzaR(nMLmX{H+=AcZ!}kbDcOy;gYxqtAIwDu zwI-R`i&k54^^ZkIoxYuY?_B)c(-d^i@_C1|*|grUFYVscXPjDp&3K$yj>_R}so9x) z*!nisooU`y{Yk^;b(KC5)6g{m1o1lS7sO+V-+8t#`s=A2h=n5j5s82Qhls=xCvOm1 zG*y5l zN7@>1unw5Jpg3MXFkMtH*Xm@~=N3Fp*3wzFJmjVL27xPXC!{ge(94RdO@E#{Cso3d z@4CqY--wTr4MW5z^^Y_xBZ(oId*x~;)XqtTtuiitWm?9N56~d~PlErDkeNBq82+Sc|Iz){MvxRB%>a>DH~EO`^)#~`?Xtj2b_pnVRg8;DO#dVwlQRGuDP4$j5xPvl2IQy z%c!@{6kXTG<_Nb(Q=hIfw>Ou?0qrdq(TnT0TWy_C1fJv%89pEDM)=PrdI;FzN;k2z z!|6g9ytP{h%q2*PH{eb<*&gvAYM#xRIiEV}*p)qkY<|JlNxOoY5dPMf7U)=?TId3%0u#zg zhJ$(f@iv=qD%vm4a5@Y){}{emmFO-D$nml~yjC0yJ0rSVP6-6fD0CQ$^$)#S^SIwl z$i!!I0)SF46n1p!0w_L$X2L+!9tDRzb9C1x5SzdiLoz3nQz|o?w~gQX z>yU)oDS^~}KV3wyI7iN#`r!5|$y>4*5IlFrg+TE=0c=^JLW{gStWq~`&Vp060zDEo z8kYQ?>$E_eLDMR6@Ie7wcz}Rn<%>`%m^U`=wM-9*1eG(jPS|(9Di&05^QG1Z0gk+n zTp+W7%zfH#te+=O6%UDZ*%c(KnDcdmMI&t?@ZeAPRVMpf#Alwl`XmE08k!bfKD%w5 zu6zpX{>Mu47`kC*Zn})X}n4A{wY+-g{JGM$w8$z~c0~K0W?&mlSys3FS z&D{jqS+%B1{~(3St$mYp_%}aO-J2&&yfN9s1&E7UjtV|A0Z|`GPr0Kl^mxj-PUHxm zu3?_jqQAIevUZ5W)<{RT0!XGmt&x8H!L8QER6Q?u+Sqen9<0!&$F#EJ_bXTxcv|5% zZdir2T!&oKZicebNX_w%>g>}^NT*d4q3)xEuS#FB-bgEMc2V8mkVG=*TfJNmD%KHpj? zPReW03aZBT@BZ6-7f`ArIyNQFElYiFKiNGplx!N(tIR(dyj!}(MfFzO4ap@?_AbfMIcpmfdegG4_+ITI2v3N_ z{|#<>_b@+SFupeMyAE6f;YBuh`!G&oa^RrF4K-{^aEgDqdYN*Ef!_tjv)glv9yd0m z#SdD&x=K0*1^A}H(wRHqx~T6-0J2}yTxV@XvC%GtE}ikS)tDqYsPa%d+-^iw!2!D> zC{f4f&D;7;7ReB#Ja#jOm~>y-ByP)On7|RW4s4=hC5CRa^?59gWR7FDw%$~}Wi{g` z<@qCwmc{3@W&-W+d|CvS(;AB+OO2dT7GAy42N3d}PnZjk1)zZ$@PLv{1=O*d;PBh= z=JF)%1?}&4B??a=b|$qd`<=-{`E)tO`(+D8b()ye4oWvS>_=h&P z!}h@Rn9X#x2m7Y?)MAu3%B)(`xroD&xG#qm=jsi8gEYvoBEf~!0JBvC+rU;U6R5Dw z60JB93KO70uEF@MglJ+f)h^#CJm{_t!fDK1pgtFy(JF1pgE?G32rQsByHn#T2&5-t z&3l*@$-`PepCUttH0sV$%o3egiOkI3%7-9ksh=n|O*}zM{w=_3tdpM@VZ8B;Dl$p< zVo$s#!&IeR{LTWCWyn+{wf00-a?P$iKwU0@uHbhv);q|l#Mn^GaGe}PV@6fD+!UU>vy{V}tu=hfOgOFdBw=jazD;_WR*)zC z5Ku%;6y6~S68<(5#kvNP$cf3rR zOC|j;$K+K-z5q?lmE5gA`^EtwGGz?*J~s2%yscNUH3+vKlpX2X` zk83)AE;W(8oLZ(bxj(cR8$VX&bMViB>)DV2JX7!PrwUBNld_t#FH6%oZ-Bo7ag~JK zp}Hl}?Yq64DWxH+?#n85E&lk_LHGo?H-d7A;B+l&r9->T(_Y4u%mK6KjB{S@J?ILB zLhUPg1#f5}=#Ckn7|yHk!NhV=f>=@1n)c2f*4NXmCH*YhTqiqlyi7<*Zk47ImG@PF z#N+^n`$=JiC~YFgMfHM%3y?U85ns(Rvz7=<70Hw=hP) z8#F@L`(_#$=$4MruQ<*-OmdYCoXw8_*#v(r#22wEQs`WaGp*SP`Dj7nC_&@}zgFAYms4cmZFzc_w2?v$O3(%_FQBJ%^}u|T03~%LaDh8{6pA%D zTN5UD+b?crSC0@ofpxxk>g*#k$sc?p3CR>@O?kfA5DN(lP5ALhz104|*2BYRx_i1E za1?R3bq~6AP)FajLA-s==xI$PXbSLh%#J>@9duS*amqHF;b$-j$#i}4Zrnq|selkU znH$Y_!o!kJ+7%0~8TY z5wA68DXK#!-gsh`N8aX3eL|elyB*_8f8~o$kl&x@5ees*ABazQCp0)6SM6)ze^zm< z&|$I)$m$JER0n?HPicBtS(Q~-+0Nq1;9I_pU&%UAH|7&N?Vz;ST+}(tJ$N-up60uI zIJK#UFY)pMX)b9fBYqb8d;aXQvpJRzt#{?!$njy#xqKpcP-Tk>*{OO9(kG1JiaZ^vQH=ZIXRgqC5A~Lisn!F&L-F$( zR2uaoGQp9dX&5f%LFAW!T#{&wAzfbjk-Ouk;+m#=ocu1BrGF7l|}W3Xjubbn-9 z#kGZiIu#*`nQ0R`41{s;-u6qLJ>@MHhc(93oNk>k^Fak+sG1$!7m*NfKL$Pyd2qID zB~0>epkC3@Lgpw!IBc|v02wx~v(HR;eT3?VJcEpIhCJQhK@ z{rzc<&3?{=4X3Q5B@0+m_S0e$5k};0RgWe<;=(|rV!HjYOawxnlrMYpPU5YUG+4ti=pTj*Z!e`4<1F@i!>`i*k`Ty}%J#jCWKO6* zV?4aaNk>i1PbyYz4z1;_XFb8MR&+r)fQR}v=ydOV_T&AWP8ahQjV|5ZlxD=GD9Z#b zr=rq0^qS2!`vta9?keh4fJVz+*M))vrWRqKhpZ_n_59h>5R?akt$3iqOJt^XvOpXy z5snDN)Kk8-DmC;-Z|PyFsa8oWNu5Y8qaK=(77|_&8bYohcEK|fj_h^MaMCJx4F*h$ zD$$Q9<-{>V{)_k+y0TkSmE;E8S@HVVX{<|B_rrWQB=MnhPit0?bH@&6MZ$Sm1cwoy|!Cj1%i2d=5f#{^r zy#QV)T-624rL1`c?TeY8siOfMJ@C}8T0txR%3y6p3>=pD$TNQwa#7=u_8pS_*1dIA z!1vT#Sd7ymNRe~_$G+K&dxa6EQ?Ni}&6~ZJ7ixkZua=a4Sn28aXeeyXPnT*_mG)e7xFNC+*cuW?Mtzr#$x` z8P+ER5=j#mv}QS`=F5sl+3mi~KO*+74t2Kam!I!(5Pd3KEw z3q%!VzaB%>l_5`=Rk1cy-CGkelKktx%3&?Sb6cUcL~^P9g^5^zGuF!Ch;?fFk7c>) zO#)3agM-SpQFue=wF6y$H%*QN&#(QOMkI}n-&ZxX07hfY}+aBF>uG z4|G>=D)M~RDrGlj(h+AlsxC%qE^VmI|D3Eeo)8B8I3?ZlgJqv1E3$&{d=J0=38yIj z`3v^qR&w8ram>4=^049}N%e^<(ZF{}rb zrHRr8#aw$wb!>z~+lX({vPe79V4k*3P;Ao{w_fMgYxslAS;sHysCIi)m5OoZT+;N` zVj-5?9Uj&a)+;m4DACQDeg4HMoPI7_A~9~c`iIs1AR<#@c1K9&X|`$1~)%WO2= zP)0s+Ztr0_P9`lvmB}OGvo`~U`HDuzJ&W`!)=bCmQvaY?anN_k781-UrTE< zaE&BJlkUuAa@zZ@_{Zy4K&qy5g)rlq;w}W7JoqAho%Q-9?-AJ=mJRd#)ArF4@Pg~u z13d~9;5$a3PIdxqp=Wbzc_B1}?k{z^lg6mteY}F1!`zwOi6@QMbXe>HE*=f*A6wh2 zm2j%6*c0>>6PSNBXO2TjNi+5mIOQNXH3Fnl61YARCVw zS*sG1OBSZe%QR|KG}}NBObR{*Qprt7vBT?qBS=}(NR8k<6u9HDMBIy}cyb#JmG}H3 zBXwsx9`&=V+&)m}PNNV!J%nNw)o^NB=)7(^Aj4RDNB7^ie(RndZ@H%RX#eR?+N>aC zx$8#r9<@}crUukZ`+;gZ6p2Vc1c?Y7FlR(w9w6E&_kv){ag^!RV6$?P;xCrXmjnDb z;6V8bhY(9O=W!M?1-)9*sTa)s@E3eV$G`Vdvq#_zv=6k12#~8pFogP`yG1G5LJxwP zpzTsy3C5Q7RtUfq>rx!ecfcemH9$jDQgzVv!4Z3k7-C!0K=%_{BIjv*F&~;LEgXl?i;zv2@&y8+ zL+Ml(CCTC71S|#0(AVSF`}XH6MhR+{`!O)W)R&>fLrgFpd-;)&eWlO48Oh%j9p~x;t4dQnk;`22vkb41wLFG@E=e0c-B77SLV1e>M@(#F30~gxgkX>~K<%cgMIq zq6HKoBVzW5t~ujWHM6amHo#aXlS;L?3(MdvApa7|!!|UpNdLRsQz8AESObO3Sc*+@ zL6T!&1KD|agJL5yO$ zeQvh{gJ~;;VDjh|ZZ%w@i)?D%xCtDbs3d`MV1+O+z?LX9-HJoP=6p#PexYF_a>Fd( zvYy_6mN+XlTKuR8VFpP9x##hY&+*%SxC8OEgHD0U4BM1=NKwtti#prfS3GAe|F>c< zvr1(E=YC{0EDp)99TBLX^-u!LP{JS|8x!-s?}KsWuGW#w(@}{9IftCB6q6me1b6n! zGto-NMh#DkXIXsw$sw_K`pV%Ax#-atS65xrWb;KGoFVM@Z90OU2m9h3EiFG((1k2O zlrep)z71J27Ju_=uzkT*mC0)@EF@&$)73r3HHqdy&!+P%x}FfMX0)6hPFf5EZ1Kp1 z7P;E^jWZXaB24S0vdISs9H?=kP~!cKX7rJIx4Xq0jes1@XthT|#K@wK(_$DA9VENW zcTRk3JHY*dqOM}=c)Z2L46rv>!{<&N;8$CAmXj?hcNGueML<4`S{x_1Ic(K%V2C9< zaG_^dn{Iiz8@EYUspfVYIjA7uo<=^h?$gY3V|kqx&ExqiPMR15H5`XPj*{GThM|_y zLmEyAf+>gDN+Z2J$PWtn2bd$Gq9MBJwY%h`xPQF8hkVTEtR304hrxwPIliPS7@Mo! z)0F0qH-^ zqs%7(MQNe8#M!Lc(IP|Dp&}|$?N;t10~6_dpX~ELoz5>R^tEgE9Z1@BUhj*qgVPq9 zmY}e^3-fST#TKhOPLk!S-v)4U%nMGh1Rg5(yyZ?0h9!kGb0j|Alniq4D(;WBxpfT+ z7@CH5TP#!vfcUfHQC-I#lyK7f6*sTGxUk>crKk1%lSI|bzD0mUmxBbYL$a|-DCTM+ z(#+&8m>Oy1FQl>BW6h*{7XM#%6+LfquGf4 zwX+q;SS1c%mt|B8-kuzq&+%?o2UG1QJFa76Rbv?Mw6gKNVlANW-1*#}y9r{Fm>v1b~*CwnZw`q#6x(zmIayyfX>5j{SxSGB~Ua7*L2dZ)Kd-`n7 zqi*jN)&`Zd{6N9p#V+6=mmjJeY$}Lfmwchf`l)1VY4S zfd*+?y+_T7Yp@n1gH@XqrN)fI1qH!M$K~VcX_TZ*ey-b9va!_p^y%csMbM2!&MT4_ zW3p0u=pPP>aCY#A!vhxG?AA|?Eg#!0*b<_LzYd71!*w;f2UJzZZN*Oa6=K}mVZAtu z&*dT37ujjGSQP5(`iK{1L56ZiaV~pElg}~FC+1J&Prt0I|AO#b*p7duf8f1sUAz;q zB&PNn1q0>~zgw~SX~B^gKgYdnjr%Y;upCpSU5SXy8syX|;qaV$cS9JKs=}O313Fu_ z-YQ)-$2{PwZS!uS#jSntA>beY7lLV{{63q)n;&jAhc|9^$~`jlb1E7M)DzVEzn_Nxu;b%vm`R3Jt7x$3%mNnN_x9K2 zY`Nk`-rJdTrX}(XArctPaapx_4tkqa2_P9TJ##;dUzW;4&h9X^fEThdh0s_W?*@yPrC1(#G= zv8<46)za4IcawKh9Hrv1(6o2@%igqVsjC=A3vB(DiHE_1x~fY8`*#&ZB|dZ_5BbjwW`^Y zHbz&Q&psF5ygcJ!&fHbVtF!Kpo!9f&QmK+lbRsDQqKh_9dwaRn72Vj!uU|qG><j1AQ1nf6l2&zjj5*vsu1(AS$8`;m4Oobkm9Vrz(6kVZQb{o_wr_k}wJ~F$d z<(Zc?QqS^_kIRY^birE)6PEoxSGEo1V{SmQRFMH!c*wc3e${5v=l3Wj>W%t_9H@Ex ztx80?i&L_eF{)sLs1P074Ldt-(+weipb9!e-`j0kZo<3uplI|be;AT{82vz)*z|~x|x1z=%l3-B}GDvX@3|O4LIqqIv0Ti1X#-j zc5?@~F{tD#4cRNP2HQ4|HYPmAbV?ht1%0-vY{q*2T7}xGOnUn2s?^&ti;~9pk;Hu? zIymim5?WegRhl|1X5DzJ%?2P+M;)oj84c(koIPZ8Jgwo+|P=5D1-rl04hk47865QR45 z<5#OwGiuIS0qP}FZANPY1s=&F?AqP#8^chl#|U-B4@SH>Kgy}aErC`B!|{G+Dviym zHe8IVon~k8GjfjT9Kl(2aeK5~!;ca=m?~24rg9w@;xLv|U?E7#0MiG-xRxQQ7M@2g z(;C=)>WpywogN8rl&C*pePrl+ZSG#y>$}qX^&I66X}3gX2YdVnBvaG`LK-jN>gfu1 zum=fDd&_`%BO2=&oZ@2myh2RUa)SlOiC~^;4UE-VU~~w_)4EE`ABx(%T(_x1^utq} zB}d&Q_14|=6)qRE@n5SNCps&hWdlpI}Jb*f;ZsUE|r+xYgz1VMW=mgdz)nsgK)SKsXeFAj22?2$e%bOXD`GHZA z@{*rFPK3&BKR}W5ggD7;{WTVAw!vrRqS_m$i9Wv5)h?@&{{b8SDP>&ABE-&|3}DSl zemhpl2F5#IieAtrTthXQ1ZP#KaJ}$KXE(T6#2s4U)x{#Gg}Ll?G@jewjyFf{*4x-u zckP~z#`Y1qp~^T`Xb{iov{KMzDljtVNpEsRWt3ks#&zjb#a;p&*=z59P8H2yv2}HR z@1^)8Swy=CRn-tt*rOk-I#)w!8fBBjdRicBA;XvK^f8{JsiEhsdlevzdFXV#Tn<~H z(B=K}kRao^? zr#``+@j#atFmA1EHaMUt9U!v`-Y8*Gl&&ma0GdSk99Y}K1f}I}G<7KhT|Gz7c?`+} zCwWwg0P{xE%wff9SRqCg(5SSsIxpxnHhhSKK939I6DOQu`Bxx-=VUBx;Q1u!vxXku6@Yh##_>5Csx$>|?P z6sEGL)0eO`npr2e=5hF@2S_(Ryxhho)4S!ICB;;Ml_%?Qo`-D2cv(U?^Yqq@7`A$J zUAM^-*3E?}{=h$(?nq8s3@cVFr3#uARLO7jKn;ouKpD|9ye7f2H|9mY^(~RsJv9@G zWNwkOu~Nl}GJmoRv^r}b(44<;0k0S05wKJ&GD=^~vsrdr%^F<&C4%^Zn0 zsaWEzt?koK!l_9nr?Gj9eU=L+Y<=u;vjtvyOPa8h)}!rLV@Q?bL>yA{SZ{Pi!rJe| z5GYv)T7*;xt&4i}uOrBtM+64wCzqczbYQ~7-Tbq|I(cp?AP-IBH}>}uUH%Q;3%wM| zSP+6|Um8cT&uee33>o6OJlW6Y+d-AjTkcCdSn8ktJ1dNGKO9gnS}Bh$BU&U##etF_ zEglSWPE?!JnQEdync$wqe}4>*&6T!3K;`s-y+$Q6;g4HFF_V!K#{z(`B(@wsZm*qqLGvogO_mD2{WI6`J`>l#ofF`!@bURhv7 z!)=W0Pg38z#T0Dm3$-=S>ts-dtlF1SNu$lC`wN3a9W?LHrdAA!7))YNRPCVR(p{1i z3eFwrWdz~p@x^f5ugOFhjX_OP=3Z~J#0P|k*l4kk^&+7)URr8+*sh(1l5`tYmR$s2 zSQJDjJ_X;oI43@Az8~b^{x0*6KEr<_YvFcV`X#0DwDlwxQ@QGSq-HfXZi4T=|FPw~ z`MBZL4tzNAsIETyI&{|=u;ul7$08&C$aK$!Snn{QCE>Yg_N@pclbBKj*^#lp$Yc~8 z;o98z>@uYv^@W;?E;&FOk@qKB+<8Wie`b#i_w=YljHj~f0k0vN8Kf5^maRX0B6C{b zdJrIF^R+PP12JR;HluP$9|sAm~?*hcCU@#nYerj=~k`<*#B z-cQDLau@@~2**4q0^iKoKYyNAPIhQTo7_>d@lHTW%p9bW!{G|v{|JXVHWb}Bhqd0z zm{CqiHfj+T%3=4$yOq7wh!>{D_8b*ucTxE*O7Txgeh++QON$clVSHW(_Duz|q-@J0i@YY3cDtk}p zJDL$w*mjrosm)r?F(<~s^bWR7b;STu6Pe{+#fw5laqECjzITem|! z9DV0}l`?`h7=E*Vl|${2Q;~vY(hW1iOpdzlP6vYZeWriTy*oRnc#POBiZ1h09;E>z z)>(iyeZep7j9ZZpH85LQK(PK8tE21efLb|&7mw#oUt3J3s{xPj_!rd|-8eb@b}Y}K zpN|!xi~irwtomHA=y!)~So$XQa)?tmeK`YMr-p410dLwJE!!;8>o+fyfG6T+%^=QU z<|!W>3HflJgnfZ!fhb1`lS4rN(+v`IRNq}aTYU{xSD7P?t_s($gj3>&##jHtLgxnh zN)IuhP@RzHtZl(gjA&BbtZNF@(mk8Q^1ISlNmbIK-C4wA#<`En&lA^;wh0j}j<%}H zD-Zm;j+BBix0$sAuO8K1kJ+uG?$~y6xrCIA7HVFTLO;jtpY;67E_8lTzOxv&IYko?CCF(@|-b zk|i7pqi`k*-4y$IvnAjLCOZ=(#$uOD$>}J34l7v9AgE9!na#-T3Z~*@D zjCXpaHKY{lY4Pz^2q|bNoG)^4*8toX9?O_8AqHJeB>i0j+m2;5PM)RfE&4~YIm)~T z8MtZKY3n@9T9=x0tJ96vBB~Z188()GIgT^3adGk6+-+~Ew+5PN)@rcUxS6>)dD)pR zHTjsinyd8mk7{e2+-;ARr^Czg;%;{0By`iR0_3|yegjLb`$zWCDoQDlhUxnyejCA` z3;p=a*xW^KiII_sk=EZ?Zmnte^lGayuyr@|T;<>doS$i!E_Ye2El-CkbFwmX@rL$% zpDW-@#`7Q_E)E_JUY;xdiy7Q%uW!F3Ttuod?aWDqi?du*?TvKI?hni;*EMiwZ*%>%`>x(m z6!y^uz-~j&C_Vn~fwOJuF z7_f#h1z0e7sbxy~kXR{PyBoA9G}F%Bhh3DCF(S=WrF zRMlD@BF{`8R6Y3;fEXs2ScKq1l{JCe#Yzq|cGZtbdjX#v8eN4w^T# zmSo?&LoU9e*3#edEo4eJ;G#uxN{`I|nlHNPtSFwza?O{Fr>MC~jW6_s$+87BhbxeA zZ+4Enu37qYi*M-QjiL6#X3Z*=uoy!_dE50zCm-yVk);vb^5+}iy}Q859iv4`t(a`x zY=jBMg+s71C6~J}IWm22c5aBQv^vIBp9f%1-@w6DMGH;v04j>+D$n$1%1mNaLI z;>Ak*+Li#7#QUqnM^VDO;rE0g83I<)(qeALm7wb6D%mnx&NDB+2%=t!KEcz)Oa2qzYr$ssNYgXp zb4~MZvjsoQ-N%h+w-eZR0(WmF@5fvn?Y`wna{2**`QWa~$sabQM-J6X^JjuIatq`= z8_L+wP--`AR$UnRd$t$Yz0G|0%;%6Fhir%4Ym~{B>p|2DM`8`hP|o}E*$0aA>4NG} z=az@v=G$(I(&p7qzN?R;I|YUaA(>27^Yp!=ZB06XD-Mmr&aHvB6O(MOV8Gir&D8X# z33)cx_4tX&^D_(dBiq2;eacbiYt5ohk~f5y+jiNU+|2a%2f3eb;3dPF!0+8Y{(M|; zCB}NrkL$F&A4WA#bquQRasb#8{Gb)FDPGAb|4X~cOJ2Cu)+M$p-iPb+{`(z|g3UMN zCzETOE)H)7ULS_ztDuH$&v$wb|McB1kNnNII+us1Z*7_#Yc3odwj7?YH2p4vSNTU* zf@%}rL#=-YVbF4lLG?y1aq93~^Z0JT{f@@GbJ^T^xcu|6eL-P!WX*%}@a1ef{TP_I z+uY-r@DOSd1XksCFL<2!X|^@wMpsyex%Ut64s%Br`B%3d8qINxY`+Saj_>z?A_WxUGj>y?(qPc3|s%g!!r*R=2WzL&IllN_3Y z*I6W6>%x=&XziAGmTV`!^y0AXzJ6{EfNLIZQQ0l6lDk*^+6AG9a-I<1>^z})yMdz- zEM=st6I?EvS6ku>w}QMsws>^D(rwb^(LLF4b&4#{W8Nd)XI&M%0&ED_0_xV#*qq^d zobH~bc`)oV5jHG0r&WUI^p3*rHdOE4XQD=5Ia<`}m(~cF@g| z&D;BoonZ8WRa?9CEm%cq{6WaQ!YFvPhAqU&FMOk2-a}NK$C;fvE7RGk;mbX`FU+0} zP(ilMm(4!WAb_t1(B$a0xT|c|nPEhaAJ&*GxteTMo{!L;T&~SKKyH8UiplDkwpJzGm?a(o~4<=|A5u`0-^kG zK@t-y7a5b0_57chI{#lm($`G?$qAA+vNmxv{Q|LYFo>F2IvUwCh+677 z8VMU2*ccl9S44_-;+G(aA35;q=O8Xe2>LXOuWEg)^9RXGEWuy~R1f1LaTSQ3=k=ON zxkbD<*K)a8xd{L^-O*tgKiFHsXWYQ!K7#8>h~sU|HAmA%_H!0Vg1-1{jjZ~VxNT-+{N=&yZxF;HTmJsAF!5FFn#HJ6lyw#?EenQ}Tjw=hjjf z!5?6CQZikM!`sYwZ#tAkvV;m0UAYyamHL(d&q7cTy|OBVqXgY_(y8JHjrl{zbirG9 zeV3ni!D0jZJ?Amq8QFcbJ5p!KCS;b$Jj3)pLvL(?uFCYj3nvYQPm$AY#AE!HIm1f? zEca~yMa;Vfg-;N!{VmS{QFnjm{=Um;*!!xKcL;CLI}fAyeu%FAXR9tz_X77z)mJ}1 zb^T9H)sd^%j96XUE5T1ek5S#ykavjeh}dpnfS@->L+sWrm*l?K#?bp#?x;;&37HQF zJI)qCm6-QM)C&m*&fRcZ@;gSF+AYt*e#>?vlg~!Ndy>2Ur|XmDI02T%E#@f^(7H$n zWy?Df>hNi5IqeZJrMK@m;WOED-p z={vgF8Zju_I~n~eDyZjRBx+;r$nbxY6aOthh@ItsbR7NLG4wBo(SP`i{&D{N+Z*)H z{U1-ze|Ugk{~iA)_K#EOpZLGqIsdl@>0dsgf5!Xg{XY((f3AP^XJ&@|uRf)JV*gzK zZvW^0kALZ(asSotpYgxe^zS*pJVXEKIQpmkANSCIo&R62|6>jRp66eVqAyR;KVyEy z{yRs}7fZ<4b*gF;J)= z2a;L|rx!u3%G4_I^)rYcid2Z&-m@Jpr7`$**H*hed;mT}X>Dg*Q=gtWN7-Rb3rw^yA<;LB$y#dJFe#p)kQ&kI)kV)MjYd(Q3Ix1`ilO1kmWY8$fVpHR(ow?Fg z+K)Ja&uq|9mNX1>)NYg;X_3>ZZ#$md_MFqXs*<%p?DOH|sj@8Kn@$4fG9S`jR>lPt zJ@?V`Sq?I`*pzO%5^Fbg(i>Nd{3c*|i8|siaj{d27xvL7XnH%Q{3lzJ(#)&{G_R{~ zc1<~b6?OYSPSD33G|Yi5e1F6zOMkKW6IUNxJ}FK4sAb*iIbumpHw_^rCn+oKPh!Q0 z@UW-|x#PIy235tY{ls~I*@+j+>jOb7m+3WK3!k#Nm+9}Cb+5uIdIp)=<}3pjd;0bAFrWf1W#)k>~ zP>4P2b)b8R%f|B_E2To*BREuwtj!ST4ib1w>szCwAc<{a$mY{s-}byDxZ(gH=D&XB zoWZ)M+-Zw5#Q}hM;)&@N92EL$!aJu;CV_m|^s7ABuUKJ`P-dWF8`g&5|h)iyz2h`cG-)T2}d#r^2k_t~*%b)W&FTz6pbjd(@L z#_Lg{B;8;NERGQ5ML~B`hJng)M#i(g0qE&l40GNdM^|~2^4%%4TPjw_tO#7Qjr`TY7Uel4e^D?GLaFx@G!bB|-juf})w^HHHKf6Te2{g7+MEGsjXiioT#O-H zA(UY&sAAI&^@RFiaC>hOdZDTpR#jG2(c|L)N+Vkf4P#?!dAgOC?&+t*RzWSo>K>#}gx?5J0USQP7VJmkB*+5J2vqbMmQ_ zgXlBuR0k>prEP{t?4S_`Nm|Zaj@Rx*KM*_c0KB8nKs5U)pM}! z`7@rrXP5mzYx3y?3|Ju-L_0XSgx@$z}wc*;Sk zyy!K&O44zy>q>+aH)nX4-qz-~vu0WHO}^!fgct6B-i10T$+VGiqA63%ZVaT|ar-%e zgmxCr{Yd|`*4!S%qB?ml@T`FodBYV+RDf`aKhSF!!sX|UA}h-5Oh{^?1ct^H<^rcT zLPzyDceFOiQH5vCf{=(gN4YGj9AaN!7CknEWT-bMi1BrK-rc|M%Dcn%Nr<1eH8_N`mxGllND3qsl+G!tt&u*&n5H#=1ixl*Dr_P<0Y8?H-j*2 zbFQ+F2eg_{`Vtlci?brqvLJ~Nm*untr=dpoC%wh6tZ%IR<4e7Tcz58%54yJw%R^o7 za-g(ssOs(w4Ukxx&*4e?b?x=)zTtJvWy8ySUwl1Oz^2s>{BG2PpCE!L=ea;$`5;<^ zzOpj$3RA1S&UPeH7nXb9lD!57&dIJ`O0>mJR#W!Jv};?_;0|lyru(KhicShcpP#bJ zZtQjWb@8=skS;7{a4wN6G{*oNsj_&y;yxOg!~-GHqb+_4g>srR(g9UCOh*D9^iR~e zhye!cH56H?RIDV znY(r05(2k-2HM6?sJdz)>iLTKR2^HB~#NXrgb2#8Q5=qoPe!UaP*={{qe zyG4V&u%d|V-j1w?rj!LX0xaRt97XAGr2QARR|Oiz$mW1@Uw&q4W)8EnIsVZdbnj8U zecw5|_oT-U&z;SBeSza?JG^l*haSoikdVyd*tWF8ZzUJbyN(CoO#cf_K(fD;cH{te z%#h$kXpy*BS}ZSC7ORU*i_D8Hi>-@oi|vaYi=0itmx3KYi%$;VF9|GR#IWSS)ogh7 znTGYxKD+)BcIp=|{Z;=GJIIHhA3OH>g?HZmVypg+-m3ov6q*To^Tz`W8bN1M8I3)F z#+YDpxZ+&t7jVc%4#mebCmc}@*vwI(_^W3?>)NIqXg<#0-FwI~q3Z*s-BuN3*V9DSGzy+qdQa z{6OaZdwXEt-UymRi{J8z#m_hhD~zg&sEVx8s-l)e zEQwsAEr|-6)K;Blkahy!|TX zp59b=u%PsnssD3{OD|hAz2@wJ#L?|b_mmaA{^ZNAITx=^PTrG{(B}06DI8=Kji$Qe zMW+&ELt?n(GS`P|q&f6RupK9G1<4`9W2nQnwE>)B8Ex?3^OpyMt2mqx z^4)%^v3apou@A>K!Ryu74`Z*zD!>P$lX{F{3SBq6KEx;HyteGQR}NLzt=)O3dftOO z4;>n^Z^6Q6$f|qi{_W%TJGpI7Y<*>Wdp)=9$;V!Os=Xe3YsU0@4PU+ma`Ixn5Q*rj zJK_4AEFzKSWRd3NR|Qc3;3DuyvY)aO=43oJ=QD0KB*$eut0{J|58|oyco)2Fkz#$v_@5Isz<7 za{1xHNYO1%L=*88GKJ5R%TO7vAQk)!prgFTL>BRN!a{KcT7g%QRs1SprMMAo z#GAM+izb1buUz2a8NR*}im|KqGyYO8{^*gWdg>41o*{e;=xA%fi zOa?vsL6#Zh4kHR8RxH+A9cxs4#J|}Le&BB!3kYVoiw2@hBlew71D9r+J>YS@=7Qko z2WZy_II!V0NxZlD-g_H<*4#Yw`MTHN!N0_Zxt;Arjg7Bt=N4UUdbX_i64^!d-Kz~}Ehehpnae(&?` zZ$p;fwF@#mImq4hZR@U*B0LPs@ETU6yL_ph#W%i$*?m8EaHrKbn~$g%tbHtv|5PTe z41z!z(_!$1u3u7v$2SXBCDh=bJ#;Ahg}T?@;F?H;ew?wo;vS-YcPAZmakT|2#Uv30UUQa2d?RhyiUdkjbvNl{}?TsZs=E z7!U;=s=1jjyxJuCe?e&hp2_DR>tHm*9SVMYKW|-WxnHGz9N0_&w$p+}`sV<^KJNqA zcKtGSTbRKXY7bo!`fzAdsDQf^20mmO?FHK8^RbWTz3|psFXTNwcFc}x?fP$UZ!AuD zlFxXySFcY_p8TX&uRXD`kZ`Qni3i3YAMRfbxIY|ax-}$(;sz4hAUmIM>~%F**U4)l zI27jS%clngo9q#^6hGhA(t-c=(-*0G#5tleq8uXcL;QST*IIx-svqQ>b^2#b`jdJc zUXAa11WTT(w$=JY{V#y9oU?YF!RvOmFCISuZ^mbhpqi^gzu79Y1rhlq`D4c1lyL9T*C9=BhPW>E6u_unDHbHCT2U&gV zhX%TXaDyE+C`+AoRfYf}1Y3qUP?*9qhXDk@vgBpjr~w7KB3(mVce|c*3CxoXzl{S? zL1EVm+z7ANAKbF#L45#z=PK=BT-DzdQrds{Nd3x3c7F2y2OqcZ0vT+(=EO&l4mEnP z+f25hK>0>g~2=4=~P|)M<5ZS>I zjyNP)%9eMdBV@NA6L3x}s`hiY?K8m~W;TaN=b#hPZHg^g(pnteSlil(CJYpjEpP!` zJU4>Nl?0P)GX;@QxtFY&`jJdI)#S!*E{C{zw=h(mM5f4hn+kCuS4Il?LSeeR*tEp- zoGFy`pj;Tjb_R~RhsvLfUVQFJ~+Cbu*s zJ|#Xfo=odQ`Q5``;#T=$6Yhvj=YB|RQg95$9vre+KMcX?0X(-`J;7=~a>#5`4h6ZI zZEHeb4n7hdWESO+5yDZ@#O-prZYnfY;NXKyosQF zZ0Fi~2_FBIm6)(1-<usZJ@Pp|^W1e1l_o?{{Pfxyp{d4XJ)-Uhb zvu7S&H*n6T+<60LHCQIpZT46{X$Fjwexbu0GP zb51DLyA`CXw?6(j{P+0dSFxi1{pwZy?^qG?^ppAtc%OvSmX7=4^d`MVU#ZvYKq_8< z7vcx0o<0KkPX*srAuhVINfXaC2}>o^q{xwC7(tQPMA5vBdK{)6*Vz@HzEL|$Ic?aX^L~0af6ILyJ**2 z?5tJeN5K|rY`FYUx84_3;0GkQy(wvO(iI%5pVq&;>uCAZ*Jl0f-FJU>`x6DinLYX= zHk*F&Pk+__rfJ9fq#oS5^#>TLqUu(rQTs)jSh}YFeyo7ZV)|FxIb& zi*l#4+mFh4~6gTvxAdl>PLRK!H;ik;d~m=}UdF4OeoLdSo;nuN_EY#DW75ULnJP;<>3#$iinpHvWL7y|@3~XDFW~_(Lcv zm(!SZ5N+jnh_Uu_C)nc}@B!`Rj)CMa2rK zKtePDOGpCA(p2DfPUf&kLWE3Vq%ec*L;FO@o26oK)GqQ``^TrS-kvU;nRsQX(95VF zN`RK_?74&mEp>-u3$Y+VEZK;dq$Ytrcfe*9g^4n6w)zsTg(=ib6?)nzV<=ud4Sf5a zMDWLe)MGTL_B5fMXe63~D$qRi0FnZ5FR0IZk$!kA9%mkBnTX499bQOQV2klsfuvK3 z0VasbAfnD;Jwrcp=2-h(LR{M?4-n{4EwucE|dO$g&bVEv^MR-gdsz^xXc((Q$l|J4sIR$A#k} zM4J5(+_dhUJ_83Bzkp_9YF*LJ86Oh!%T%in8k z&7qruA#aah8N5pe*IU!Q)vc!M+N|x;#7&?kNj~-UYug{{?BWhQbf_b9bNO9*xFx%Q z8jSYoUvY~>Cs;~Q<-fr?4@>z!YYlzP;(e@4G<(2IhVgPFeaYM z=B)KmS}G^y#1RTYvlzx3t21DIkn*U}irw#T_Qtv02_N z;(C}?Jfd=bVEBq4TWqG${xs6Crjp5MDp}b!C4`mSEl%b~=K(p}FQz#eV0XLnTumEi zVpME*&_V+~90scOb;*1Px8-z;f&RhU0&m(SyII%lQI+S_5ZCdw0)DW*J&$1)!;wmgP6 zNYCKy(mu;CEgxF0SyHIab1?v76`ZbMzC@pe_ng%a>xa+c7xe10I1wlEh3y}eM@v;vB4NS+1u8b)Y*b2VthWFgsr&OR*m$%^ zn;q~ObL?I25AVL)9{nzq9$UGRE4{e4+cQ~T6Yw+bYufN?_fSdZ6bG_V6(VG_I&8>h zahNTLepxN5Ni{o6CN+@8M)i3~M1m|T#1fzeTI`k>ONJ#^9jA`9OjV|;Gu3*_63cpvQ$;|8 zNidtNCR-qOadzG=1gicfe{+a6#Fl_!aV)3tnvf{>P~y~BQ>;0`($m`0raAhf44lEG z@~OfAwV$bD>CU8}3~{dvrm1ls?F4zLvkU zaLdS*1^n2y4Pi$S( z`833N-^a+l_7H0A+&68vQb;>|Px~i;!LRS1IV3cY_0Qx3u88PRsaGGP_r+f%L!e$2 zArF{&fp*g*o~r}Qa;`O#)vRfm-K$oKRjm?*EZ&ZqUrd4&gAZ=_+v)=cR@1iH-~PsO zAL~OfY^9($w;v!fX&b*B?S%L#;9vk)Dg#)oC2^j{bC4ecS*$a0iuNV|X0@O7^(R1H zVkF4Rj9zv3Wo-odj6$Yggi}-nJ5*JHn9LEGE?zMSicFtWsA3p@s|w<@7%NzekV~=7 z&4ccg=>1hz+UuT3=+X*>Q(c_DRH=FA`F&&ci`C87JYuo%$wyiT)FPqoD)6j`n6j2O&%c*=Q~6N5|-O-0QIA2l2tG zh^pm(07fBu0#W?!=T5VhTgvG+KrX3KH$K2f;0pTpn?E;sQm^PyDT4<0>V0cP>XbXo z=H(7sYI4M+TY&GSp!<5j#z71l$4HUEcqIyMQg`r8XjMRDlYL#lnm8#eEXpqeMMsBO z7&Hb2`#K7r(dRk_G7e}7ek0_y(AUCV3x6Y`B~sesJmUPq3D9X;e@2nhkM)T&`XaBq zqT{izNCW)&(dezW0U{o_fA$~stJwZACfK1ruYWpvE56l>nj--ZV+(dpyc660{22~l z&4@<*jtFj(4>MESxdO583(%#6MnTnOEF^M6%ySDeTj|4UrLU<=Uw;CdiRYs@(j zVqXT}7&HE}J6D(>0*+Jo393RS0BqqVU=DzbNJF9k<)=3!n&D~(Lgs8$;0Pd?S530n zq$;wp$k8Mrix15>C`xtG4?p^0G9KbmPB87svNDljSzp)ugb%lVCvcU!u3n=!=Nj$P z1_;q=hMLRe3d2>mdIxuhFhR{zE4fOcOkDs)`vPIHP|t1V9u+pIN4O)xFSxhKFNJV{ zQ;5i$1XVUE@MU&!!6bkW5kloq#oy#I$Due-Qv!+NJ{@K5Nb(Sw|+el{8_thq{v27+;5yca& z-uS4Yq3)Pq)SxO2PKc7~&mtWrnez*d6p%G6KnM;?R#2Fek20Y3Y1YTd?7$fSnQYO< zqfEp5J2v8?x;Cw%@OnJ#smC9GN1z80?pXT=^{dyc z;L7w{J=OPA?R@R|RZseB#~*#?_h8d?=!BTZ4*+zq^Z=(IQMI2weIm`RjN`^BcXM|u z{Iou9K)oDBg1A*sY5xWy`w9DrRJU1H6eNSWZ-u)h0aBYR+6TMM1gbT{6Mic=c*o&= zcCb+N0^wxEKG;6^fV@>lEz53H_roq7wRxdHTHhUtGO~Kl;Ud?zyRS zXU`Y&Y5u9vzwxd?4M+Lzo=}6^u-Rg^VvEI`ZHq9oMX5pSoNFu*mQb6SD8Zp@X=;RT z$Y%p2v#qD5EWxL)~(_}bRFw^H!fej z@=N`LFM-1yxQMnS*kaZ;{UI7pd}~-m^rAZfYF$x)N|%WAizjd%kQGMRgvZYzx=BA+P4iJCkB zr9%NQm>(?k7e}HToWtevxxxq$YEQ9@tKchyg=j9G%Prs+2zBBT8SuB52)+@;DhJGs zYJck#K8t_<>-M*WGgkxoFCe%YwZc}wMJhVtPLwHslEdK6yHYn>hM-7}piPP>U|y8z zQ(u#Tw;e`oJ0I9(iLgJ$&;a0|Y*Ltb_z)NO=k~qatV`{09}@lBD)1-mm)oD^V%k6O;=?+I56$e^ z)W8~w^lc##E{gO4i=zkmIKbi}R52^vx#R+s!v$l7&jn+J&jm;^>IIY8q+E~{GyPH( zi)4{6NRlO6;Y|GJ65451%mOD7>;QMcp2PwdT^`rCcNC7 z2jBjbXg|t=g5!*@*YO#>7jSV3P^EVZ3Yoj|^}AlhW^8`7bCdCN78eTdlPA4BXbalP ziCcLnk$4nCThJ|O9V__(-_X}tfxDv9H+gc`C8O43Ym=D%A>-Rc6uk&_VCDkwb3YV@ zo_A*`vP1wUK!^mKz>{o|M=rv<8WjHq%Tg0Bh{OSTA;2oA!NI&^h`$sDt%art zhmj-((}zONOy_k$%vdMnj$ljE7y5y01uSqPk=S}Je=dLo@-$P&aq%QUjF;l&ctwlo zhx>8E@o=tOsN?H|d4Bhc_e(TmMowdo4FdgQNHV6+z8z5-O+6it#mR$Ni*7x6_SI3V z=bw8Qzk^ZR^7d8wBMl9Ya7O|j{)t|W7jK;2zDhXro8LWnm>buAv3~jT6~4MVhW+Lt z(e3os-Tco$;H>CYjUZr@547aAnYxzTF~`W%_9`x~ec!vZ+8(*5z5fmJr~bEy`kyH< z6odcWJ3)cJDI|PMPlLotKaZ4wHb0rU#G7>h~L|Z-$UKz9p~;PZbc$B zjjb>*qA3*8t_b-fn=bi70>2ACEs0z#*rh~^$!-(h=n@&!88EX|UL=M1+*l!JH< z!?SmST}Cn;JnRl-wLDuKkS&8QNP_?cJkI8ku`q!49@Nf-0WGJ`f9GNVH|@j*Nr_OZ z8$UxCDJudo$;cEyLS(xs#gsuZMdkn+YI5%maCpUTljU%ua1&Batp%(AxLvO#G|ejbkw{qRGI3$gG>zywVyK< zmRxS7t@3Uwi~|CFRbWQnejLiHtjx=+^o(=Q?UkH-Xl4C@X2Ijh8#iapxN%iW`y}_S z&i?6(2kKWsLZf!ZdPdSLu%iL22ECKthU*Y+ui-E1mxQk&hAei2AQ6F*hh!t}3Xcha zy2Ab%CFX=zUfxGKh=Ti@EJQ%8?fx>|H;((NE=}ZI9CcuDS#BaX6VKoj8?xa@6p2$% z3Kr=@mUI%M_dj%gv+%Y4jc;wKx4&EF7A?GpR5L({b5QFXSb`R-+%%~A2zpKtX+e>C z+rI3)$!>p^t`!GVH!NpEA!9;G&+QMVBqS@mgam~bF{cs{+u+|6wv3ZCqGRyV zv$zJ=oz*pnv-+L-l;3kMV|hw@dfPYLqV^Re+}DGi$)1mY>F)8}c!5%Bzy*jD-Qhyo zcftjk(1`emKZkiv0mRTl=ppy#`U!pI5!`TLs62t2!OaEau$)#7@&@iP`E$-C5{eu` zNw5Uj3T&EC?9fw!YDVZMW=N^#EaK*Kj9SJ#ofPur!VGDiP-R|CRtpaSs#t5@LLL_% zmkyGjOK*}lrQed@NEgT#`~~4p;@`(lr_)~g zDsEo;$hJ?oU$)bBArdIgkP>}s8BhXBN2}cZVr_Bpaq+f<*o18Kh&kesfkAvh=csT5NqxeQC)|UE4%!OS5;42kSEW9!vIN?(Y2s zi4S6&PrE$W`xBXq*SUXpH|y}RZcpB!mh$UzPIzxpaq*-H#l;i09e(NYro%6_ZJJm- zebS`j64IxsZE92Gwj(b!HXb_6t=sU^Wep9>mNzUu_tH!6zyH#a_qn2mWk21p;ipSC zF8=m^M9cdxz5M(4j~qV7{Pfx%AV}QF;(d|Pd%YIUdaqbAA*1)|T|3Ax0-xnklH0^L zqgOee;!r4DT3LWQpX!D*-IpK6+eNpSCl-oTV0x^N;P-lS^PP0zAPfLwy-D_PU$CBp zgtFZ>0soXoOJzvtbP1PylO9ceWXHZ5M4+_d~+a$D{U&;ZFqYvYeN_jAKEZbw)j4iD^k%|u@lV-{@k!f+P zf9xPJ1ZNySe%${_m#zcx_vnw|QlpRZ8^%nT{Q+w#f95)#<((% zma8Ji2MZ_|E5R`C={5=o*-r;r)6!BY-@Z55c=|NA`^=duKRa_qXaA7*dGBPXha@z} zZR2-~`$2Kf1LPq?kxX-}xyw5KPD^2;Zab02lzW+}m-gqQ_TgQZF6l7d+Hc!f4-~!4 zo{`Y;Q{8s58}AqB_-H6Edd<&P;A}|lkSZcY&EZRI31>ys>$heC@YcT3UEnSlvf4>xS;OGE5jqg(MknHM1*UR zTvUWZ^-}`_TqMZf;ipP6Cn^pAllF{&>t>=FIeM|ZSJC-oxukM&|y6Ntnx%wj9HYi&>Y%ZUM1KZY? zpI`o0{TC}&rl$R&dHjwEleP`3SU!lv-2TMmN8T9X=GL}oPj&q#`X}qBOu~M@ zUGh=!koyKd`DSeF!IVCp$>}pFKH)}@qhMzaG}fJDx0n!bRwN$mmTVRr=FKX$u5-#} zl_*d+VF1GZHr}N8TSTY*^x*Sp=im+6b+YHam+8ux7K#Pvb4P5!68+_!kkA|V7a%aj zk)!%%JY%4~uUg+X5YNyz55#%ZIFJAEjib|#(_YT;=||rvK8_dY^~YI`SPw96AJ9fn zEGl*Pij7c2UJdu-k^f4+`|S;Z>(Fv8Jj9|1yc&TmVIh1N_%ws9y{yUC6{$KQN)z|^Uk z>C0!2d!gvA*Jm_;ICARblmuB6bsewUQo3y7l#ILjOsO0`^hoA_HyTH;nm92fBiJ># zFEaY^#+t}JILtjzbDoN}_mWO2!B2$j4QL2Aeo&gSE__X*lGZCaDlsPBX;+CwamYzp zyr1Nd9hR_Q6yGx{W$@`1s7>jr5U0UfV5Z@Ow9}T>@$*yr#k3CwUu4e{lmai>U_EWN zNF$Jb1hJT(#$tXNyo{LdUT8&DY~oCP3j8a~v#pgjkKN<&I6Zz9{<9)InkUK=?TM+3 zogG(^P|>?lYLpw5Mzzt@Xl}GLS{rSR_C`mev(ay3WTVy?)fn9v(-_+r*BIZJ(Ac9f zv9V`kug0Xud#528DR$YeXtJhEaE*_c>6#I#Qb#d7K#G#0n9BshM(0mWqY;VepWc_^ zm<-r(($&2D+B6 zFLLJ!A;vR^5LF=|^ch6R4|)di+)bWA{KF3u_9OOu_A8MSq22?`t~%8oLaeH(w{o`% zebrQTG&e@bR^93pZYDQNn4uP`^mk_W3X6p$>P84l;Sy3fC^C7dtOX=uiI%YLX_$D6wjsNwaF!!Q4QS!KVwUGF>k-gg#q9!|^DN;c+2b z%$Blcx9nDisbkFa`NCvwqCCZ%XD#DqkRpD%P$(8kg>s2fqL!HEp}BYwH=oSoYlQ{k z0%@LHCC@i6HZQiWCE@_=crbraucea?D^?>B1fXKH{)hMm9zapouV8!l}l_rE5+?c0V;|Nv;WlHN0O0!rR{z*+ASxW4+Z%3Acy3a zqT?c)gZ9#&j<@R3Au$;a$S+^NKn9l3~;w|S})9fu5(>i}S9XBN7 z?u@F8#*ANP{3_#8hBO2X5r;@a2g71eaH2$-- zZgE}UyQFg4S8YCIB_rGRn@_wr^PTA>znaK_!~xMAfuwxVeU9-u#wk8jl< zD{q>izdz%Na{WzQSfIaxE6T_UeLtz!i*Tb}v_;>)S)Y!#(f4LNb_;H#`ro6U;^zQ9 zi$Xn63VPW+A({iHO~COzsMm($h%hcCF(s5sOiao4bJ(NR&_q5^RC-1UT;R$8ai!ph z33(u3l^ykbKv>1~mIKrXDKW$eP(9kN5G=*Z7C}rkN;=3ng0XVYT;N>+XJg1uV92la za^T>$z`>W#8-FjNz^<1k)hA^Oy>0oF$cEpK58QfZ?VjrJhAYMKF(1&b#ghYCot0Y zgPi;!JI{0X4Ys*VVw@6UcZHh-Es7x1ZUybeuPLtGe$U656;+502u9(m;K%tREqJJE z6XNJ2SeB*@;dp;mXe4R&W-z&hrZFeYZ5--2q`>Nm){5|TZq z3#Y&P-~(^{cK7UuZnk)yp6t#14)FD1)6G_X4_y zubD8_-E4b_csc$?nm%zUj7SQ+M}wJsZ2b|Ijh%eIr6p52qMp z?h(=}qDQW?SI-`~NwEzjg1_eGIq$=oBezz-V2g5(hW0Dh>xZ5)L51qz|)W#DAFGmBp6F{ z`^BcG@wE47M*?@{p?eoS`0&C7Yq_YwkIi`Yx4(O4#@0b=AK5X)U9O+mx9H=-$Dgm6 zQ-S>-U;1tN)cf?aj~>#Smn>O%|4)|U{FhJTS&MEP2dU-)7rgeV?GLTlv0WcICimNS z-nnwy=;iHNz=zMzI+C}1b(XtK|M}~U`k!W&&zW?)r)b9V`|iWJFCWCC?ps{Hw`uxk zi}Y{xUy0P#cs(5N6~kGd0Hf#GFVBoV0WI)pCt~j&G5j04`pLkLh$~pw@2T)x?zRp7 z8;UdzAK$&F*obQQR&)=y8mfMObeN1nhxt#@J+OTb|2bMD9f$oR=oY~V__Y`E zkQmgTo`e0v^gbTp8ZHyPPTzbPx<^chIo?P6`BUf^jJb_VM{n}!Xfhp(M`#bd7mmL# z1fq@bu7~$W@ZJXR)$rcReS%83{pb>G?}B#;yw@_iBGEqXJ(L2p3=(;u-=K*e-!52T zpV0zz>_^+g&y9U9^V<8|o!2&siLhVBXpMpKmICir;5x+J3CGd3R&h0&DBK6~Ie_Xq zWb~vV2Y7FT_v>)(ER}(<7Vg=Cjxl)vPxLrDw+P({^B<+OP)))9Ey56VOxnWe_yd&> z*$c8jz#s5WGH?c!2fY`R*-H6?_uJwv^f!v=7Jdj?540lb3p7kl0l6MvGTI{qVnp9? zPd&FE)4!b-jpm{w0GIB>uW$pomE0xn5^2}U{HalCKm;LVY+vs=1?~i_8yJT0Pt2rPd;GsY< zFd*>W!1F<3kTYm&&|5*j3HmHJI{2>OSAwsEh#>_bJ3|MC{vz~`VPe?eu>7#{uq|P4 zgtdkTgbxp|ir60URpedTfT)0|J<$QtZ^Wd=?2Ijo{Ry+~c@RznlnkCl|8mu4Dh%Gm z1;96zM+m;P!v`Mi@COWW@KNtJ2iHC2-G+>Yp7w6jp4Wcwwt&p&W$(5Kc>I`mo32DT z<=v*MCeC}eEzZZW@2?M9QD47p-fhSke!uo^I}q>p0nCVb1qe#@`^dYEQGmyDgv~*B#z%5&64nyxTI0cGY{gO=zHNw|CnTH_-KociW1}2ZejL z?I>W-3h%Z9$%7sn>Zw{#T`{A)R_jrmsHLT*rfbs|XxSCDHMP~HMRSt0+{)r)Eo=5{ zEuUUhqve;@lvd9zElE~yxV0a>wV-J3oSB}=8CrHx`FGqntaN74#5%3Gyr^oLxp~pj>n?uJx!XE!C!%&i2ep zOxAt?#mU-;*$b-5YqW|vRi5hF(h{w#+A~MXsxF=DCB-)flTe)@p{~=YYUk|0S&?Rt z)*)uK_xJu&Z&b(+)}?mc%oR0ikycw>R8l&psCt&>DZ73YRn04{o>Ni7#9vXPm6ukR z!dx?|izXTD( zv1d*dTuv{jEr-!T%B7VxAiZcNlITPjtVAoSsqqw76v2FIiKn=3PHAOrQ7xsXtYS7O zsRtdA-Jp&4l-14y@kb{zN~%k%sy!uj#ieYRk_up~VtQR|DWyT}c0&@Vxp;P638iFS zMQypKt`>-yQ{kP6&QNWL5{9j-f$J$dN!pxJ%C*W2q^3Nn%N$8`&J<6zR#OUkfU7Hj zR4@D2O-+e|VXLU1YgI#ZY@&JPU|2WYK-ExIS6vAcma-d5JX(z>Nvo-wKC`sAmL8$} zm3d}^u~CMKJ(VRDl#iN$s#*ZU6;1cdEoB@SR>TPCFoH@?EvTW!I7+or)oB67IjyF= zX!dM%dZ|}xKn8e8Q8zw4m0%au+8j@H=}pdNorURZ@{Qn??`t72kzbMa8pU{Y3oj+Q%K%gY}(F?U$bFfBT3JnTm&X_ImbMvj|MpurXSSz`;P zXyb-!S!1VYx8;rp3|cUb-Rd1GH)lK@Y)nr6(2=m4m7O~}w_r+=Iy|>vEQ|@nB#^=Bo!(iC4xnqat!z?*ta)1dKXy~}SDfzi0MiwN&O$Bf;NiE3F8kRFA zEC0464F($rEaz+Nl4PI~#?W#m(woPR%o;sf%g!wrUyz@ZHHKbGr88pexG_2E@NpBy z4$CUY9XD3X&H+}kvPb6_v;iwaM`z`ZNz#U8jma88+3`(6FEiNb6o*Q07?CqJCqHX+ zk~TgsXJ{_n06FI7=L{`iSAy(85~CTpL&uFBpL6>JH~`oArbtpJjm%+F00UX@-%v&w zV}C5LOUEe~mtW99%B0-!IZ0Ype(rdxk>UB{fLyB2al@GfOaOUO<&E{yOLat#-Dn+f z6}{Wb;IN#m(J>EJ8*Z!VAhVl8slH@bRb2tM%&V@bglIFuo>VF4TQVl))+pv;qIPAZKmDC>*E2*7WN&6?UlG+Uy{1aG7{VuGe{cxUtZsuwP4{}NnMyOGQ4#vdCpsg)k>UxrNTj|!PoFJ#jGdB~(* z51F)o1~REPg-qH%0-4l;tchbrjiY2|jr^z3k=n`mzk-fbA3D_^1r{bjJ?=JD{ocUGHX~K~09Qz`Giiq9Qa0CBe~LR0-E7!&VlW4KEGlcZ^lT_DbQq6z-V|pCxdm`U7U| z*D-4W%rqC~qW{~AO1PTRQ3Ut=V>1qet(kD&L{tY?6vMSeY_w8#M-k&lgHbBsvkI=6 z4&zq9bsF67f!T}Lx$DOn&qk>MiahX|^&Mw#esm(Eum;BUuvyc9&UAQnz53=Ol(9Pu zUTeLYpuE=ttV(W9vHROYhx8&D=1=P7?M`KW7aY%uD7RRb{(}tV|3pL^lF24!PV>VFE zqE4+>GIQ9mt{nMzsP1N!2DNoehDlwtL$~KJeHyw}yF`#0xI5`P_(*Q!2lgFGNG=t9@%2?E{^m16*WyTWrN#{sn z-&7Ja;fi85o^g#&f7Fg=dn21qL&a?F5=L=_m(qdEI}5zj6~Txe78yEq&@~oyO5nyw zPzl%9dcC2h+qFJl>6BR47|``TjqzN>C|6l*?rv*_G>lwQ^ga6Yuq>x}bw7uFcgBw& zqKjIViD>35@^X~iO;X=?FO|sxZ*DPWr!p^NG?sWRX*RRd>W(7@rBtRRU3A{n>UHm%^mX}VI`el=7h3DQe&Dl{xp21PCK4+} z^O>A0y`EeJFC%*uv4~pQaYt9Z8#Mcls5kYLau(q=_Fdzpv6NZTciD+A*4-?2m#|Dw z$@Jb;UN@7f+C_3*b@&L=a^xhmanaz;{ zqm2j3#=$lndkh>M4c|H5>*yUr;m8Eor`sbCMWM!gW8tm><~#I0N{c~h0UYm~wL4Y0 zY(^htV_+{I#vkcDn+0R%vhgVWNemy+?Xg}u4aw!R(W#8+$aKu1K+$NnM~_Z`?>x9} zJdmFMUVi_7n#m7z>tRBx2>VQi)>CXw+s<-|8ySMA))I@FFCMlk+z zn50IttH*;JbKv^ijw6OW<}zM~dSz{lY1qAC6QjFGcPQhLYW8-RHOFgHSxk1_xuANQ z#OUwj!q7mL_j70$nRRM^tXI1}dJ5Rg1vin(B<71b?5ZrL>+u~vGMxGE7%$}$IxMU+ z22AkU=eQ2ay35z+N51QRNbE4i^3B~{gTt6TjrLMFzC#+u73%klYs9V`$ZN%{&Z+H) z+ubvFSJc>vM!Vw9q%N_xD-tlG@CbJ8oa?UZJZe-+M$YQ2b-H4=n^oAp>e#^YKGfTZ zK8)CH)I?oTZwbTa1_rF@KqVfA13ewcWF9-)nbWJhy%SHjI*-m=#BzU9$6UT#)H#-c zD~lLfptIH7M4I27q0}2H!zz~VjalZg?OHD~q5Rc(ucgNqURMqK`ad`7K)b09e7xKY zIdqkOHPd&Mx0b445~g@E**k7E^3`RXGNBSM`f78o(|V`%(a{E?>$?h61~a-)UczLp zBBMt~=Tup|^7Xj>@4HSvc3<|tsUM_v>jzzry#9UtAoZsGAniZg4^n?nKd3vBFYZE9 zXRpI|Wi^$Y)x8P0B~^7V{{7{de6|`jCK?6x8iS~WzUNe( z5ebH-yAcP##+iqtZ7|<^Rv0<>{C^19`@dAulnJapZ3EacWyuX^2^@-{C|Gm zou|Ke|6e}*Yu`Nk@Dq;wh@pZ&L&z5T6cf8esO?*8fzKL6tb zcm4XfTR-*X(-*G$*-uwL;FlkL$sgVEt&ctaQ9r!)_>aBt^cx@ZmE$*Dam2@-dH=iJ zar)^OJ^92-qYWH?UTQE=hHsi6f4lXv@un-DapIlt{mp-S;=1APuYcj7(@yyKyDvEK zj+?$Uy7`F@+mQx{ zjmJLovhyBu!b8vg^40g>=jxYlx%s0<9s2l(z4=WKnLqPm=U;Np-LEH*b94?w37g_n$p%{LTw*z4WGAZ$1C=`SY*)!A-+ccW?XY!%jNt z+}9*y!C=N?ApHefcYQX z^uCwv_sj-Vla@-ZJ>bIZ+t^@gwa?){Fhz58B|JNfQwH{a)(Pk7m?Q|@}@Km72kr@e6N_doKp zKUjO-i#LDcr5pbAzYQO;>Laf$e{;>X_j>19ci!dfU7xt((lf5P^o%cFblj!?aoO{J zea$N$^Vy%>^Q`-R_{xJ$JNEVm-tzd@?faGUzx~RKKK0;l?)>a8&pY|3|MS7Wc=MG< z-*Ch)4!`Qw8-DouOOAifsr!Ha^zIuT^dH+_w(ZJyyyh7n|D)9>ezfzH58b_c?DzJ$ z_)$9!z5e2RobZ|*_q^_luX@Eb&-n1p4}JQguZ$o4m8*ZS-#dTzsH494Z%1~=-K`gt zPx$GPM_=;FEziE>RnPnN+RvVL+K-=m*@NzT#2MoowmkR&H~jpe*Zj`?$2Xn!rT*`H zZogBHe9$ZZ?S$(OeE+s>pZ?XWK6%$q{oWa$z5iPe{`kkA_2F;7^;zG$<&DQ*eB3Ed z`|L?K9Q%tSUw7{1Xa4nf4*$hrpSkUBKimHk7ytZqFF5WK`(OLx>+kvg%a6JI(oLUO z{jC3a%e(iv?3Hg=_s7rr-T7DF|Ea$?^D{f1@wqE6zu^Jz-*m?3p8rQ%u6f^kp8TOx ze*Z(SKIo@6U--a_k9)x5?>hL?(8<>&7Cl2d+f-@Cl&-f!Dl zJZk+b_Stvy#*h5VhrjdZzdZCupS|&(4?g+lfA{oneRb2x_kCV@kJoPa{c~U0f7#!> z=aI$eybpi+yqA3KQ}=xGNw@s{ub#30gYS3XZLj%I@i$k@zweGeeDQ&Y{OIma|IROt zdGx)0{p1VJcZzwqt5{p5>l&UnJb*Q|NN z^=nRh+Gj59|F7Tq>nmUS#@(ymwfn6%UHG^Kyl&wGul&+|);#IdXWhO3(t~%u@sgik zzW*)j{`LKr?|;bocYE&rZrSgYH@)$=n_l;7v+K71?{#b6d6(xsc$OEz4F9kfAxz?Za#DL#D^UHhL3#t_UG z@8k_zp7PNXFZjSQAO6yX-~7`@|L{*f@U)-2`7Qf=@a6A)z}tTPq+LJ%($VjJ$4jq$ z_j{l6v%kCRi>`UWpWJ%U$6m4Z?_U2m?>OtIZ$A0o_kGLNC*1hQhu`tQd%WWI55DZ- zXCL##JO2Dd_uRejSD$^=Lymdd)wh4_s5{;=zWQhXc;Zz*`{jSX`HZhFTs8kc&bj@q zzqskL4e#@p;#M<{{|5`GT8|d+h;N-1TMWU3ci33$AVyYeHGkE%s~>XjP30Bu{oWl`Fsa~E9qu7_W7_(2!me$VH9;HD3c zzJC675BuEtCw%FQ)wi5{kKLbq?*&(^fAA4!{r1uO{pXd3;KI*;a&+?<|9Ru~JKu7@ zBkp+WHT&QB)URKC#j%(E=7>+e?)LZGeBO08{_)Xgopbw}Za?T(FS>d7zzc5s?H7N4 z$DMDv?94lU^O*yWzVr0&A9(Z~fAYnfFM7zKxBd8v?;dc)^`AOq_rCvf~r>-pFZT0egEOks~)oU)>S`T^^LQSKj7@gz4lcX9`LjWe(uhD z{KI+sK7M$4=dkl1dS~a<^S|??d;QyI{`wz3bIA2Cz2AvD&%5jW9{%nf8$a^Ce|*im ze*cv(|Jq01{*Ry8@73?R<M>HCIzqW~`v=eQz@5c6_-EL9!4;`Ri=MWt;hoj-#VAMl@ zPW)xR&ayW*7?1F|KUa1!hVQ*@7vJ%Zzjceb@vyh5KjwGz6NT3($LPz+-=vplU;2DX zuTQk!91eSP!xGnaN_k#^@BN~;iqGLa3In}GOaHGNuqSCgj(f(PRV8|M5{Dt2O27r< zcn)y|?znF>01SL4F2xvl4AF-aH~|*m>$5q|exoDOI>J5Wu;vN;pwMmf^EaV!4El$C z{R}!dF29ZX+6R?5;Pas0pBtkOD&hC~W9@MYIK56s`k(TiZU?}LIR6a+kjV5)5;8#F z;}I@E*HeXDbAorRB8kVV3$NWi1j)FNwn6RF%Vv(3?T;B%4mo7LLCMg#wmV-ntbOdl zmgg_*+`MVys`+(W(OGr#)|2L+wt4GeTX$>@-&dhIYSkSYy42#~2Oa(FEt^lveg?pv0feov53r5{WU2SYssod)Si$53$Pjzz^D*1EZ8~;g=W+ALtX)6< zm_KIYcBUwO_yEG(u&`s>uI-x^cHp7f@%M=f&)K|@=?{_Z zkNb0Y`^E9|M{M7=>r~jqvFP25bm>$+Wz!4i4?h-3&+|8LTG(*Jn)xH=cA~HIp@+^N z4kQ6&$DBMdA|=Xf_86nXwr<_FbH{P3ih&3T-h>vm0e{1Hk>gxXC5OMlH2f8;@K>Ay z{)#8SU*QP;iZt-oo)?}!u;;;JlKH)%J#T2w8`|^W%>@s5L;Y*dgU8eFh94Z8d>_g4 z=6WN0-pHOevgaWZ>2<0ZJ$PjOZqI{5)bI8@I8FJENT7f1d1HGXyt|GYeq(#y*q(<- zr@!m-=zQ@V-dUg5@96XTh+e#|-_hswJNmqSN1xa4==1s=eIDF$J0+6GMoPrT#$I|) z)H)~;!jBSdMD~oxo)OtIB6~(;&xq_9kv$`_*D)c$+=YnlOAq1VFj2u;&#fRCPVL&YoA;^9p-jA=$-Y51ulL>qE@UeBJ_v*-1UUUhr8&Yst^=V_yIjN9|n$HJKH zdD@N~-|cxCzVY4or!JJSznzi^Igyfy{FYnGO5;YU+?Xqk8>MlhG;Wl}jncSL8aGPg z1`|C>p)_uk#*NarQ5rW&b%{s}Ra&KnwmBw|a=*F6(p+L`F0nM1Sei>L%_WxR5=(Q5 zrMbjXUE*A6F0oXXxT-XlSei>L%_X99yuvq^SmMnVf{(ex(p+L`F0nM1Sei>L%_Wvd zDCItLi6s(ud|y?XOJt*d`Q2P1Ue{sYjeq76OLK`OqMcrE_?b&A%_Wv&eO_xVQ*RKf z8P$2Y)vPdf6v~dd!q`z5I|^e*VeBX{S0UMjv4i=)ephxB79k2_2j046zZ-ikLX_q_ zOLLy3InUCZXKBu}H0N2G^DNDImgYQ5bDpI+&k{M3h{c>|sm>GgB*AZ0*)?&Q^DMij zPUbvIbDpI+&(fS{Y0k4W=UJNbEX{eA<~&Pto~1fZ%%e0SmgYQ5bDn%xgy4xeoc=X+ zGUr*E^DIll&zxsz&a*Vha+11Rfm{U1X7qjBRthg{MF3gGxv*N<6 zxG*a&%!=ESEAV4-sh7(|Zo7D*Di`4-I=8|&iF(F3Q9oB0Co$a^C)&nx;S|!l!U9ig z6;sQP&=k{OE;QSzn0lQUCz}0o;Z(Cuomp$vX$BdiNpoE;G+VMx9B_n_c;J=ANu7U; z(|<{BU@2MOVrgr!Y6=^pyPPqmome$}j&WM~K%l96gp=g%E30ZcZHRGN`9PpkmKdky z3r_FPBVsgH-nHve zNQ9HDg{-VNbr~kcY2{tJu874rEvIX*RZJJ=TC13@NJVI3H+aQo8C_iuOR!pbhu_uJ zxCE<}cllji3rw(Dd8gmimB<(?S&Lj*Khf2>TY}YcI{tQv1ghg;aT^k>R^HEdbqzSi zN>+haSc19&onW={zP_vL-w9UB>FrzUm9D(;MFpB9|YA7ZYxZrte%&}sqQ20DWh|N4hY=aikt=~nIh z)1UFoxneL_jYb9iVl|xA@ztSaW#s%(IOz<8@UCF_?60sIQP81v%=U%nS9~%Y^XXDwxSrrxR2-Jsv2wVt^^2<# z7FPHNT*<=2?H@i*z+d=e_zzbP*yCa~Y;_X;db#1BPptZ~-kac`iW!HuIt6$P_I7aK zU3g1g^SkgFzYV}|`HnHcKj2O|P&L4Rkkn3=&&#k6%Zf!OmSc+K3R?S83cN%!!eMQ} zMm(p($fQMS8fBHTImrgai?B!G6%Zfv`fzL!`ldeW1@t&?ta4zNI29Hcp6bxqtTM!aKR7pi{ zph{wKBAsa7(I_37wRx!?Y@rIpYYg+wM67UD7~1X?#qbga2fSQ-mQ#4sxJ?BP-jjII z?U*?d$KYb>l)-63QIx42rhF4t1^mQOBz)t@H2e^o0)BKK63=LObQ`^jXBx(t#;9=( z$K%!D#UxpJHt_)o8pXJBbsE4V3mfP;>&(@GU+Svxm$8(tD`=$2x^m^>(m)g4Jzd_? z9Y{^1xW8dB%2FbAf2J1s0()PM3MV9XI~9p~tB}~&9io)PJjD=lNj6BOk0g2Ps*tb6 zM;e9H*NsP+IFuOmb*?bHFFTP5u35~7CRADxxDOu&rfbl|@61|65+QgBipF{V4y_j} z#P35RL9{ApnMtNROz#6P?Cg8mWbsTTLivb+n}WgU2N(#OeLtNxy@GG z>4(0IOydf%2|gzB=pjf+Zb+RAoB^hdHZ&YSTG+YEoV?nB=~oFkW_Uobcke0I)VH6S#*nL#<&a?1!vOsV7&HuNdEO0tk($gnC2@_xpHCeLMF zrqTd7U^{2acA->D@St2A#>mKXi;G^2`B5?3hEmyu~2 z1HJ`~VFD;D21??v@tb3JK%Fcjn?VP!5jJ3qtg1*O=@Hq&Mv~9x^IlvZ&88wl>BE;` zJ9vsqROJeW;xZjMk~NL&FoULBBbvdcjVz)qq+2`+KB6LrzvtQ%lS>jw9{mfo)>!I% z5ZExpZ!#|TPjao@K{?Iv;zbQ@i<1~0c{`0Alv)U8dyN(_qI5f>Y3@=4AGAOmX+kzf zrjZTKgW8JpiJCwO1r4Fpja9i;P&?#0UPCr=zEQ1)Xg#*B&2+e0;L_$K5{Nk@)G!N} zMh)yP2ob6@!5aqsimO5A+^6!j9XmRq$x;0q`O*DWQ!Mi+%8LZ z!Kr|E&$z5H6x;(%jT}^*k)>s>F~(U_UDFQj@s!}qRh4P{gw!j%EW=~&D(;T?1o5VQ z6K61-pT*vBpSU-SG1^quS2L)H_mZ2U-(|{rWpKdUWlD08avJ8bCIGuMX^WxL#L!MF zT`o1~DtHs03EpKS(o$<0Dv@xhlvUy$F-_u5?o7!pv*}-(W z8WXkHx6eujC1nmRgs%pb&Lo4LY-zYkNs@Jn#2DSuM73?8UD<*I5kHhUkVsI>dPP9^ z8&WSCBi(X6XVya~(VV#`=#k?kjM$MF?q&lr8B1{IwbK*{9Iqt61OpPOoCoJ$R3wg3 z-ytbcG=3jd3Zrq3dXGueP?q*1WYxC?cOe`~@Z-od{33TDTMaROv_tZeT0q68CW!N! zfLphpGSYA}XChopa9b>>0hfw*Q#BFS!P$b8YC=dnCFdkxP3vPC5(4YiS%AN zRz?eViPlG}4z?5*Nlr0JFrTt)lxsaTp5fAIRi^_&I^|(OyCRGwR2Hlwst|5ss9Qzo zRSZ=hWowHf#*CrBDKKOt(M{A*@VYl8CXF&-|U&FIB3f9@jJ3anB;mM(OIc zW#!Crj&!j;2KNxzTolDriosd9b{9wsa{n7D4EPohx*1b&G2K+b(I>Z70I)z5zyv5c z5~CZ)b)?S3wo18`s!9>StYl>*D1zB?tlO^mTxpx86|rv9&Y;iKQ_)dMoS&%`ASDgr z4d`l`1XE8YIm-G)3uEmt{DR5L;!tilru?EU#5-m!+)B8&FpZ)cm8_Q6;hz|) zTsKh!<#>=J=RpLjGJ2fD9EqMJOXNWdNa!s?VrB2zFiR0V%`64#lFKU4vnVfUMJ8LS zpJeo;nd%3=iu!?HqMp@an{A8JT7vo^Ue!J#m9!)j39*ai5V3tU3D?$q#a=4U76cO^ zr|UnE3s8u#ixUOccV-|Xi72u}p}{l)yQwzLiY@ZiQ76VwHumUr9e$=ak~Rdr5$Pwa zkT~Sjg3#v26OzoN2%Q(%P|L7j5btX5OM97%@Cas>z7Plu02LmL5pr@9m z)}jTk=ccGa&NKnWwg6+5Fi0$kAt@n+{7XXyrjjvO-ZT|kwT9Ym%1Y{-_J!T&2x@$+QK?Q4kV!C(JD5vsoWMHwa4{n)(F1hpv~_#;6f(FppsM;l==QiwOfb zGK~Qsuwnp_q&CqFfB|8;6Vl72AX{{^JTjG*3*}-1)9{M~G^=JwksR))BM`xG6^?=h z%|Wn>(j@Vxi=B)_2hGiy4vJF_#^ZvKyw4*cv0LS4dPdQlo>nYRae7M$G?1a>*pwfY z4B9EmNk!!t{*mTT$|XhpHbGo(e2L<4t%#bZjXTM{L2&oRhd9;HeXK+k7fUsOVxo#f zmyV4#NVUXgijC-#G*-HbIA!++zu^aQf>d9Kysp#KZXRM!61DQZ-GRPxB}h;lc7nM} zC&Ko}Kwr%e1SpEIxBy9sP(f;1QNc(vKR3#5V(HsrcbU{P9%>41nLMT{#q+?+Cn^4>WkVqzxLpbs@&^K%Z)sj0i z)dKH>!EiZGRLKm5Dkj0qXsmo7=!mlhSme3V(GQF%H&VH~It zPmxg*YaC2m%$XWRtt0nMGGaK?I$SSOBIUfE(hHhN&Tx#bg3q9IO;d-60`d&rZ}*6Y z#Gu?`*YiHP4)+lk;b!2jJ*%izFH$Y;^?PYrY===aO1opte1+}wC>`-8Ubv;3n~0my zE|Q1F3lG7|SSy65d#~M)1*UXgN9Nf ztgp!(gE$Y4Q>lYPpi@VrGeWRe1p=U4=hM3$6a zUV)jrB`m6v7CV%nOCb6>xXc#=&x(CyORzbxNBl$Z7yJ#1|9`~~lf@Jl*=e7JofIQ| z6>%|q)VBo1)3#}0IyLN;X-qTUYT+fihRw0>41F={~glQy#j?S1W#6*Nm z)E~QM>5MSX6yZTwd%b4?j>4x9fJ7-9gsKjH*rA(`{fSOqOq4!XaY_Aj2VW)Xd!Z;r zjrQiaJ&P#u+VXKPb9E|8Gf|n@B+-C&nz*`5ln`0v&i)Idfy8G%-%=c=JscBj3vgk* zNi=9<%~h00T^rN&WUn=KZNkKuZ!$+;BHxy@$_+8|I-!p|pi0suSA`@IzPg}*m+?+p zS&2>9y`pXq_ubLyMmUr`&~`XB-Ox9)Wg!lH4?1x;Jq*nnf|5`|8PQwvJN{CB$?6?t z$$Kor;BS?Cn7A5Y&mlkP@ohpZQGvW7ET+WQ9D0bnL6c6H3q^A+{tNw$!z zSXq&=x<=OxN0~QGFMx00olHl_E83WuxnxQqlcIhTZ}OM4@B1*=tT#qIDBFo4|+B!cIU4AwVsK_%iNS?5m-+2vLpPVw$1I0CY1r`btk8S#G zitCr(r{Cu96JGWnSYd1nav;H3Z{?K6G_M8iKj;B|-yEfmYHc9tyY$%}shs zI!F&qk-Rd!45^j~KT-%jhxM#I=rH$$XzG33Lw@(Gngcz8BBt3z&G>k3SY~H|t^bpX z+P3AzQxDw>DnM3ln?+TDppD)vH_=*-lrc$*0Wu^IOGc3)BpBnBV#EUHwIEWMSmj-I zN<$W@n>r5-w7}AA(!D8i5Wm@?ahaXs0(N9|pU|m_QLqSV8?qPvCN@Wkg4$AK6e%gR zEQ-&oYYQVPG<(ET(k#bxPUEM06$UzbTOsJOp^aaP}bF_P6=5vVnaxiEHVoNO9AY#_FPARc*_TygFG7yRqVl!KY zlq!NE8%^@wAgv`Ktuqp|AWF4V6MVBum(2*Tr=bbO320U+J6#Nwj8?JYkyFcBv#H8+tN~i%!rBU{IXBEh1>aSZxTZ>D5x#u;`_0yD6XIgicQlCGuwUPrP`> zCmK8CO58$Wpx_*gn}*M8XdC>@fMfK;-jH6I{E+ML0I@0Z!)%P>T#JqQQ8@#!dSDYrguF?bF@i@~XFeC5_tf}P)nFrc~9?6;@E(*F4 z=VX!Yvp-Ug?=_o*ah$)nH`omp?Qu-ZO!FsU9Ohw(=2y#gP9uAmb)@;0l4Bfp8KlJS zX-b%(C<;Z#14RnVtmee#Oysx35j81GNMKF(3 zGjS!6VXZh03(35e3^Df-axS{oz#MV6lsK7|r3;l7Or8_ii8q-Wqh@0;*Tv!5WKS!Z zF6vus651Jw6WXiOquNtAEWtIbO_q>qP=YG$YSL8F#;}RM)Zn^{N!QNZRcmeq_OcT6 zZOu*PXtZehqt%27EsT~4EtwmG94mY+j8_Us_iFO2+^#8W?&5Hn(9(3KtA_=nUB=O$pRKc4nn&2gvC4yfp4+1ik z;6(v}43P&?LcAfnr^L&OA)iI(V1kZ_wsSbKaM^P`3V|un@j{j~W=^K?i?(V8p%u|V z10iWiWcinfQadRbY6TfGgXBZ8L!}Y!nU%YCgm=@Gi(s(yvXO4HYS0S4sarxjVQ{2XY}$(vN%K0#2*KG*8q92 zXai*66Lc4x(*RF@(ZEL9S@0d=2hC0;8K9rRzgjiaE-T+7v`?h5n^)7NG{#X~dK)J` zbJ1?cki&l^jUkG!gHIjSen(Fs)vHphpH33Cl*TxayB5X+8JVVckXJ>cC2Rq&+#E!X zlrK%0eiZ}3k5(x;eh>RAB3}f1K8JC!PRUiqqANic_$>NtJ{x~UPl%i8PJko+nh8V( zUrd;=Xv)wT>JP7prhPeI`*@8QB7GfVQ@*;j6$wfSE31kcYniJdR_j$Vj~JG7nrepB#C)DL#*x4z zxW?U-2gcCsT$5KZcnEzsmVpt5$J-L+!qr86$PUaA%`U`f|x<631cs z#4%nE-KwskUQy51RPG(00U2TE0ZmN-r?f3Q&7?Av6Q@PWUPFXEwaAFh!+4sc860LG`b&yVM7RREg8U%C;P zRb+#jE18bRivVMB?g_IwGL6|FG$^%9nn@gq4^9xoFUn{t5*f^U`Hu`YCXso(A9|(F zfzw=M0_YU1M8r+3!W7IHATzh1Z4yQj25@8=1BhVoNYp4GNJ2y-g0}HHsNk3|!!pc7 zOYAqMKN2bI9$p_bM(zc3)^VxHm?XdBUU9+=9ztbZTU&ROc8edR%+TmAxd<=;>G4!S zN2W0YNC#$AuVb|}E1HWSN%Nq@fq4|b^^{LEZO`(K6itoxhGsq)R_{9vO`sIeWG#lE zViqlOGn7SUL4ol%SS+te`E7Cq`GHI&&&F}DWa5xzR+He!cC8s=!ka|0SQZo0Dl7+% zz`ycN9E-kFp91n42GjXnu-Eb=Zbxe$I9cx; z+AKNGgav-__SMT4x?1}kJF={8wlOkjfP|k!^JmO&BwCPL;-PA-RLX15-$y^DI1dPT zNEi$PGjkM6PLSeABI+zT1Ok;ftBH-8m+VVM<|zn6Jw;9HnY~thFM)A}a1^(PTEdhd zJVV^B7H5gL#R2h&3}>*dYE_3s@;mjCIvI3UI8S}8xv$vO+~9wA;|Q$1u4C@Y$TW3{qSEA+%V=vygN;<8 zhY3!+9FZbrZF!B042((kvS?3ea3$z)uCt4Wl*ydLF5E=HH?YnHzR-ensBM*X3v1XF z-egV{$_w4BsE`hWOlBgbj+O!=_Tq&*#atK7&0_8*TT_A6#$D$j1i5J<2M&R|iydgE z;}3=>dP*7?B#=YOUkMPCInITJ+S1hRo4?hnmqb^YB2Pmcm;}TDS2F@*D3P36ej~21 zLey%AYp;+ud$ACu%WFa2#&MabC5SH;yvW5cHKEl5X$i3;0`7}CU7wNdI^>YzW_si`k=bG~Gp2_$fd7(D<1cX!D<~2lNfYr6*O1maK1O(llNsYQ zJFzk)!_`eieW&IuApt@`zZzdEL;VT5glmIqsq#+h7XKBKt+$KU*{1rWVchg74v|`h z6Ej;z66MMWh^$wNo4`Ps#6*5DD27BQS~st$5KkE{xo;Fo^JO>Hb~^))2TJ5M?z>RB zXv1Y761ZPwOYs5#h>Km1LvE1es-_LfS*vL>NFhl*Wr-nYi_G)ZuzkJzZzz-35{Rj?K*~zl;PIj|8=8yp4Su`5Mpm zf>~h<*ekD@icpdGeNnP%A5zOj_Nn^W>zRkH>AFUjX_&_=0>oTwD`hINoV@4Igq`h= z;O(AiE|sv{D++&3aP3x00&y$ip|-}!GzG{fbS7J=FL|M8V^PA%2FL)^PyWR%Hp3xbB?j`jh}}s!V5B5o=>CQLo0$)9{+gQJRYKdthkz ztBkGWu9eDBkni=<8C^=CmCC8h)OMW-fs9tu2n4cKILZlxIs}E4G>Sw}Q|c7ZAq(42 z)2X;O^)PNxJk&b01X()PX~@!7n+k?n@xVoyOYD8>>KIg@R40kyDTCtVLfQi-s~^5$ za45zYO1D}o#z0pYFfuR3h!PL*(M^G8^q@lxBDEb3Mrl{|OiknDM0>*~l6T2TW`}ez zvE;MJF7`-Orpki4;HWBxhWqQ+fOR9}tYU-nDQbNKk*#n(2c^p)OsKF8j!zR>3n|r;Cy~@OZj+=%r+M+Yo zW>X2t62z#0iisRQsrVz#%60W}PHcG6dJpw~U~J7sL)A1n4&JUc=g_z2%$x@Bs?>TB zyd~l0HOz91-Lh&q1$RziCtw~ozZ|M2#tI-K)BHyim8F9jIZfMC`FLwbKI)QBKuI1;rE(B(|OiY>`=gRVV@6LdsOF41%tZ zr6@lt%Z>2rv%sg%gZZ`K)N=&8brUraNFumQ|G~UUIB~$FCeekExnQa=pUj2_49~8XeU~@1L=4oacsI+HjfLt@RGkyKxc z8f>u%kzwYl6M~_{(u87{3)I%GAv^k1Hz)y#6-D7^DiW=gmJFiX5UkOY zsil;M53!J#xLR$6Xm+88niCRf47_tfCy320Qt@1gKPA3TTTP|F5+uts~dfpQcWg)@##t@XQaW zLAfR}N?<~KO}ozKlyF_9Qf)^yIXE=bMOSDznmS?7 z&ZI&8+yq`W;-?VxBbY4XYlqWBQFi(O;4O4uK(s;(q^3ixG|D1}$Rd*!r^G>dpR{Nbz*xhLufZsT zAL>Ed#dxW`;CnUArIu5Hs&-#eziVZF;)4b}f?8{E18?1wI<$EhYDYSod1(*NjJLqI z;;kuez*&50z#BMfX zYu%VE`x0BYi4toX8XSTsaiX^znTAK~5U6+1Q}VBhG2|)#0pH4bn+=No#@^59Se);Z z>0?{&R9z&`vIN}J!4h!i$`|cr7b^>umdXJI76M5;m17Y?E9K&~3<0=41n6dEvUCW9 z0pVJkOmM1A+DR}-(S>E-0k2Ajv=LcYo1mA2W8^Wy)(eWJ=SdCLyI%cLK_ z_w1c0O-3vZiH2>G6+^AaRyH)H0~4f6mY|((nll7y=i7{(&R;A-9MO&YRH!B}h^ScqZ<*H3BDEz)i%K`LI7 zb5!9i$Fx7pDzsDX#^F{QfyIU-BhzpNUe(;5xYBPjqh+Y0f$%%=&HR-HRk3e!6K*3d zdrEPPL$GdHB{MGE)Yuk<2qTOL(v0xrCN&~RKl&VIAtXvX0WA#IN12Mfpm2$V`RKW5 zH#G2j&(T$KODHyi^>rPwD1R0se1bPf0n;;!|k9ggEvM15|E7PQjnifb*qVx?$BKavq^POq%@slJU z2Y79dl@Ps1fDec+E79h9)g z8f+*d)1+^9yR3|WwK2vfXhq!WZRlFP z>Bux@AiY{PQ!ujbji|~;r1(J1A8%M5P{`p26K-lzZ)0)IbOkn_zsue|cj5gH>QG(zj zT-GRE>=t7HrMKJ~K`jdmV3I^8G&#tOc%?=hq?kj2MT;qsA$E(nNw!yUay$~H37b5nxl*|Mua>h$#Joljx44L=H-cemFj{)v&}!1_`ujQ z_6akyN%qXyaIz=<0Owy*>k!I+~V$5K=yIh)KT1LAkb7lFSlY78eG=U;B z>RF{@#3*YP5xWPk2YqS!Vx&L$g{LmeAG7hKg&nKrH!SSfwrl&Qg&nA#m%L-u{1X?R zvw7p1Z7(z$OM5H+}L`-a`b*Q`1KVr;t+8zXM zOa}E#_ne+on$v@fb9zi{PS3N=>7kD~Ejgdlx`9<%aXhD0gmYS6Ij7|@b6T`9r&}#^ z`j$3qC<;6+I7e}leiOBr)3)Ao%BeZ+1v{r{=A8BF)>s0Hj3nv72hy~e8~*B(@cMbB zReR~ob@hz%Tvz)t;IHz>UVQ=91Qr>O^oSwG?Rj?Gs;j3&=DOMxajvU1i}-8L(?UMH z-_o9^bu{>HOxK<5xvsvl2!ADW!e8+cct4j)&#L0_-6W_pk5yewyCA$EM8&VrUb%Bt zxP-s@JloHmv&~5S)#u>_87g+&HG>xD^K2b`uF%Cd{8ju4J-D>W7Ek7E;)K8UJWZkJ z3e6Mn*Pf>ZcG&eYHPd1TDyzPMbTp3a9~mdGijCl~ty{P4oIiHgvv<-Yp0IiA$@6Qr zZGX(i!tvm^dvA{24SUDWuU*)&^Em5*!_ZX>*eL*SuonlF zz$F)Fhg%LifQBOpNDZ+Rjg1nVUpRjLutN@+7ZW~g)6UJ?w$2|r|C9|!^4}w#yL0EM z2hY!+e){RFPkrvGo3@>D>duX;7k14*63E2(#JlMFq$TkIQbtbJM`BVy0^Duxm*}`N z4Wm;wZr-wU+rf|e(;W*74vT1BKLZve+TD+#X(Rl%kMaTFg5-G+1jLP%SWf3#@cMA< zcy-F^p$WnqRFu_O{7wWxXV(rSKtUD+I>uXbCISuFQv$V}QzW5;B~XW57=dV(;TxZM=mY z$OL9DvpiR{LLv1`?d+xc5VqN9B2fz5|nb&pgX7{Yea2QES7+6=a&>LW|n-r z7~XD-%&G!AseB*-+uAV^lm?vc81)=Mo0^L%5|FLEk^mC1VwN`%pjDS7AX~enqQh>a z)L%>->rmsUv@)CoXltJ&pcE)7W+$>X)FdT9Tl=H}pfu1FXfIL)nw-*5td#(5?UDqP zQi>^T70Gj;1F2<;Kw{~xZ6eA96H`P=l!1DZ8ikU-1ZZoAq&a~A#hK5E%x&;TrL1er zo^p$0z?LY&IQ`LRuE5N&(P-p=w3V+W)VA|TvJ@e}7{)OR7tVzp&6Tt0! zl2A-&T`Ynzs+X*4sUVY@hT`Z1a68Y0IR<97QbGd>6EO15n$>ltCI=ZqVR!<#oqtlm z047nLfYC{=itCfA?-Ri7e3SwvFd7m8qq|AP>Kt%5zK{TJ=cg1ffJyd5z>s?F?gJ}C-)P; z?Yxr$CNNXteu?GoCctC}s;lA1lJ(p&?ukB|D<&vi66yDFBCr9dDst#Ek&xTkK?y7s zEt*i*Jg&2uu!W#)ITEPtT$C~y&_ZzUW6?hN3fq2@;3LxQTMv^2@E*7*0T!f-j-xfB zvplLR$H+42wsTWTF@S|Usy{|Us!GBUV6ii6W|L6d+EWQA5%8dcx8XJbRRM>tJ_*!z zu1XSRLK|Y2bPTUGD2gh|cdf#cYkay`Va>S`!0nPK;j;iU0S~ZaS@Ah)tEEj&tS?mz zIPQ5poB0Bia+!-Wfy)s{<1(TUm>O>ZA(?MA)l@F)QV?pzan`8jaRhfFk7e~{cHb=1 zF9O3llr-$cUQb0X9fF0wq|sc$;DWvly2@Eq~Zl5Od$&kzf;CVmOnJ#bb8CefaN zfk;hootsDP7Zb4UToqD`rmdxzQdOwXhcbb=2VSb$Tmq@__EOUEmfs?9smGR2TJ!?0%93E(|& zQel?~aHD;u1S};x80azR1Z+De1ui#kGsQ41{#cLo1ZZm))x6DQ6<5*vL1bgj#_A-$eq*SQQ&Rj`ku$zUD!jhUN36pzTqQKn!snRCL;P76mgwob-sd=Z#Q_6ZqINX%h)^4eJtEmAh<~t5* zyVQvsZrp8ZfXWD%)7siGHE%chmq&(o<0W!!?U;18iH<4WYw}P_l#AvZjyoLApu^&u zbhD|8O6qv8DTbT8bulJ3?o&7eSO``(nn-NC%@hMQbG6r5CQ#d@O@tbDnUX!G2B`K{ z&;)90*TnrSEgXqAm^{?*qSORx>y$}giF1l~m;CF7eaI>e% znR2k)9sx^Jzqqwzqsr8!V4+t%J`!p4%G zvx=;?i>d<{Oairiz4(NUB?q;{E;S}_Db&_8I!>9i+&0-%a!?0_Hpq@WRNSpeMc6GML=E64@r3NhwUKQ|=^W4`y~sWr4sp zlOVG}yqy#Q)jA4!fT~CIzDZgY%}y%(p>8CJMC)xNJsBE% zCisZl^S3M*mmtgIN!^mA)X6qd1XlwNj@jjNW;rW6JE;gstw^1)m!v%mB3e;PnN!+2eQMlEauEAcKa+8{-TaQ+ZQe=Jo(&P5 z1!jIurtQ)vLT%bfaxnWa7$?zo^E$CqZY8l85&w-&D|NL`h0rQ?T3~jaIS6Uc+RjcV zY$a)v3}vu(xk3)$ptf^MWH3)gNy-*&BQ53lKRPV8^+*%;ksMTXip!I>o)pl}Zm5#P zRC`I_U$UDNL6&TyhqeT{wTc|t0uBe42sk>rWSvk%xJbwQSSHG5J3Z+K(-tg2QMLq& zU7o7!HmA3b9e~_^?fTJT!3B4=<8lXZlcNVV6&eHmesD$NUvr!x!V{(AQ z`%B{x%U#PBrmKK;@kv=79b>YdH!5LLjD0n))9qZ90wyq%ak96h&30G3khTed`sX~GX<125sLh*84k}s*WRyxw zZfQi-<`Nlu+Hicy!{pieT#Ka}S38*D_)@yXr0ueVy{g4L zNaXn2&PjpN#w{iXv&6P+9tyY|)=s8PTTI#=EFu#PccJ2`i;x~?volw+H#@roLU7t8 zI=d7Bmh>&W(>aa-a;$fDxKh%ryG#XC1`8;ZmT;>rCeRz7V9Mc^$SQJAAzk6x!kut{$@(KwuO#%8 zXu#y)w)0TJ=W3&g^hRfxwCSL#6?2L%^uWPw?WLMGnj)B%RQNT{0|58z4O#F3Q!oWy!b!m2D>2PqN9B0&OVG=}B9X z)|B#yll={6{G(&3@?nHsB{Utz-cbFomI>Q8Rc|sxG-r5pdomrZT zH<==^5NqG>;i1~N6|uIn)o@}d1v$VTNgnKEQ*(AYmA`UYNgZ)~UMYgAIq{I?QEA|j zZm4bH%5f!wTkSK&Q0bN$c4vF->&2T|;At<`D0#vzK%P5EDL`8~Cu}f9aD~696LM}z z+RV-l*Hj7O)pe+Pdnp3SUD<|dPRn|61zBw_CC8Lfpe6Jz+ehn39Zg$0tBs}Pkdk)V z6|sU+Eg4Fcw`H-oQ5rUtk|RnfP;`xTvq))@H#?R=4 zXrWU1N{sY4o*gU_HA2#c3D^LrirONWnjH=}Wlbn;SujqJ1SFXYT|wZjHs_9fe+fGC zB%*z}I6>(FWN!6@bNmjdPDwIK+ht6ol%SN-e%&X*0mXZwoJ8Z7%g?X@tQ$N4hOSeX zy`aen4Z}(mBfx5`m^SCeDy`CI*Cd52Mp#HQYVP+`TxJ$#Nhul9WhaGPonXB!R$&w_ zV4>#}UI>BzvgcKxH-n2eDS1A(o6pITh`<6|Yy+T6UBzW&EMZ9xiG({TgnUld05KAQZI_u0jQ* z&}@pkOW{C34z=v$zF3^t?5eC#2`SJDVOKn+nyM;Gg&9`+UEFD3KaOoI@fHP+K!qL& z5uNIa`Qql>dZd?sTT%%ukcy3-iotYy5vc{2m=du{@Shzj93xLE*}m*J#5sL|LmUA3 zW`YzT4Z0mb)M;^oUScmja8}D9VFh|2zy?MO+#%+! zIlb~qkGAvzR<#Ao69yJs^<6Br*DsK%=Q9pj0&5FbPBZA5L=R0RD?XElkz49xMwEO0 zmNny0Wgz-4i!=8W?PjA1kzu(spT+XcU2kc+PYA zA#I8z3o?g|c|`mI;2GS7!X+%zWNz?;#7STBQ)^V0z0|S@uqQ?1gcV{scX)zxba1iV z;4EklY6%2Zpck9JfzL5qmdBt($$N}F$eenB6#_fAlR{vR;WAGwkdEid+_HLH9iFj?a5iJ`Pv`DqkdGwwqJSSdnYhp45)x-SHKdxxq7u%O!Z@xXf79(mxWG zgn8OQGfeEUS^4p=^t zQ`*iYiNy>gkaUHV0ajzGz+N+0Y=)=pG8f$E?7f96lyw+^g~hg!99OD%3?T*u#!?va z7J9l6s(hi}}u zam%)o^i8dE`UckxtLBeBbz!T%`SCb$f^%Y?TX${QGAIA(;N_P`@7lR#^HzDOE18J9 zp0IK2Nsl;j`$6kBJTiV2IK^u zPF&T2TzjkV23`9f-pbiW!N-YnGFGD9FX`t0=CKeM=-|BJ?ktVWK6p zXuymv9>cwyE+%6gw6Wt%Fuo1~@32lF9>cu@?rFzkye`KNV|?j7fJ;GNO(*0S_oyyesBRUe0la~S2&!yOF0PWG|5m*0!}ogC+~Gvc~I zj7vGdv4Ko(ow74_GA|JeGW>8aW(n!@@K*K_S5adacn5Yb=RNMlLa4va=|&Hy;W9dK zFNB`mi|csQJAsQ@8Ey~6V+YrhPnyd*Qm$FmBC(D4-4 zu?#o9uG1flxFZse;ofmh2e0ESIKB=6rOfpnZ^DJ5`s;GqI$#SUZu~sliy)qk@j4#S zh_CCwJaV6idrL@7{b}yoEI@ZB;c?{?bhf?N| z-8*8%T|CC?SellOjmBQS*n!UE))_)Xj$Vi|({W^lT^DmTkd^XDNS z01NYbF`>w4!@WHgnIyE0Ah&#MjKJ#e9XPnS&gm)0^*RX^cQD{|+}Lo;^7t4(;5_zl zN1c2OFXifZeI6r)OP|NnZw0(xeay;WY9Ui;DCpVG$)rY&Yf`!ID_l#63MAFYlyEy zrx+w0?p|!nrDME~YtQMu!+xG8;x*)`lJ(c+dXMU=Uao7ncjVyWz%!SZ61Y9w>ga{$ z=WuZy_rubAvA&ke7Z`iE2n?AHb$eqe`;VUo<~e`G>sX2vU)Mz%#^b~B818lcir3}- z1${Yio4eQfD_)o9oha8rL5jQA`72(R=YN=K0I<8)`72)M;DXI=zJST0<1?;ftxwDs znDmgZfs4mV%+#EGab2Dxp`Z(MPZ-B=4MxJQ}6_5NyzW4AfZNEz}u32^rQ zim8RWcYuiL;3Al%V`$Plbha?+^j$0i1Sbz%m&Y2TY zo7Lrk=oeyF*eTqP_KZ9G9Q64h$+8!T;{$6*P)e>yAG?CZfw|a zubbQVupZ2=CJD|Z{BGuRa2;6VuEVs+jbXRPjScd6iRZaBUyQjt5o6=rclHqV^R+6B zp^`j@i|~>8dtBFZyehHQoXewx?)v8q^K~;k&)ElNA02LPq&&qEt;3~&V!7+E6zs-& z9xf`5ay`JTC%1FpGHQSeCCXtyAdcP={X5)srPE!c8~OTV4@=>!x=wk3#+Le#v1Hs)bTRH zGMD4u2p%w#Ta%ca=sKkFF{h{X@hw?`cEY>951; zgL@u~(2b3~Zuq$*YQnLFp5M!;?8Xp~+?ZR}!}A9Dz7WPn`T7vX#x9m&yVlc&f(M5m zH>q-5`flF^-Hh-+cikZ0H^p_B-Mj1DS~#v7=j*2+x8q^}-W=&+VDHY+flX#7U(A`D ze6gP6uNyVM7&~8#nV+|k4Rs&fjBY-Q~rY<+;3sbJLtQR_XXLpO>JT&c#s7 zoLzp35(gK{uq5O11Go)mZ&;>rJjF7N^OIO9b$JPn061TaR5`DY==HhslgX`*?PSLT zY}@;>fty$K3%AA%7;eoMV{Y#WOB5ZK`(U}r>kBHaa$W0VqLSwa$n^5HAi(f>36@a2 zzM#=o?z15wXXjXbb}%Mx3udW7V;Nr*N^3&zLj$v5|{2$QZob8s>P>$quV~9ol{CSw_`s>iB&|TMWfC0enI=4TFQ~(Rw*>weq5;DKb zHMe|Tiwx84RbtHTOJWSW%qa|<3P*{U8|&t=5u0?_8PBf6{+7EJWjAcy8qZVE#~4!v zH#W*`A1g8l^4WD5%Waw~H@Ti-SJLGN7(*b;o;U7{^Z6>WY&Q?!Qe+jHN2K$A`MPd~T0oDR3~u1?6ygzJ^2q3!d&ew+Dm*O_vX0%*_KZ=H-Ei zm+KX-b8{EWgj_7+>?n`j7%Ls`$-Ycq$kIHQB1`jp4P)45&Ui5NYd4H|`MM*#W!$akb7E!^&g+JWOYDdmFL(!(BJZV>iqkr9t_1Sp9eS!8JKL zFy#1$IlF_4e8}+yNwtH4#M3UVR!8ez@X(J{c=hjZF6<@DFN_3;w*2mU(b z8}4~14|DjToZs;POT&&f?B}`XfqjlwEM&~-Xz zYZs?6^K&r@buG@nFa>e+A}P#c08Suy9w7J5^?r<$%kdOymHPu^{4Ni}(t1Ak!*aX# z5vYXqGNQ8Oe8$q3<2{(*$9#T|<&xZHu%r*?p2EObFXyu?{bx3fF_*_;rYo=Vj`MMh z`L!U-h;u!~b*?rFyN&XqRKt}Gy(8nl~CAKU4nj7kta-WFnuz8om zV5Nr}^Xrox6k%jC>UFSdhmz2Q1Hx573KG$!ZOutEQD)XmAr&kgWA6m{g!L#@5L7i!?IbM-2C zBNR@{xaXlD$&I{I0hqXh0 zuZzi8aYHA^oG;j}$o(3&0-YU!TrUr3jDw3cyj)*U9g+KIY%RL{irbA1*STB;CE(u2 zV&yB(CvjcR*(JQG=RreF0&685pD{gh^y0ih7FXfvd@T-AAFqEXa?SlImNz_~F*$W` zF-i1eZqA8q*lu1=h%vuTjjQs!9oMMabLToRHqPfl z2%zxzneJi@#mN_qmz+M+v~ry+u=bGi4;3-aPjcx$_nipI&dv*@X1Tr;c+0qhi;Cdf zKcfKEuCcE+;u$Ik@KoyKLBZVzBYnIF6p$81altzy91pO#gxWCS=0icAyoy9`|pI>iB zO|QofYq>dGEc55{04#7P>s&jxZ`{0PVf(5>4w*l8^NSXE#(jRnwrxA{0bYZr{Eysv z;x>GP9?Q42bH~jc(qBI+*7w$|S$o*p-WsF`>(;Nu%%ohmt~|WE=CH%o9=dArOXkp1 zVC}X|hd*~=)5$w_oiaC%MS8ftqIXzv*qXxzYsQ1&x^>v`8;uWJi%DH~%pLdnNY0{?bIv(~fPjb+lq?`wL~@WEO&~cVL6YPs zIfqljto`l%?)O~h{5!u6*Xs4$T~l3scXdzo^xC_cS^c3b7nGYHhabWVaWb{V5f$Zm z?Bi?!;ZZlSvcLiVcC~PHhd{xnk8pS%S-3fQxSCnGLHJMw(oT-<;Bz;K0CHVi9LK`Z z9N7wT^`F*cZS37GTp>KN_9pHY4=v1`%t7PI7LHc#)(}1f0&L^v?rLG;fa9I!@U~C& z8!uklUq2lBxmae^b2TaX^$D8UuURpzd88^Eyi7OMVulzf?iY|u+U)KfA#M{EQpnE+ zj6{`{U_Zi!eyt5RvDZU{nM3mSw)lUO{s|7Nv5(c+!!*-iDXr0m#yXSkH~#*1yqm;8 z!e>bF$LeQG$<(iW1&vB88HMqjd|yXHheVpMtpaXru1!z>OsU|oIu5Hg?$Xs2E8*z! zo@CutBr^T=b3q^_0HIeyQJ1t-=WOsO`{rldTR)r>*Au;y0}h0(tE@ZvD@uR-%sJ!F z_{eQj#Jp`G^{E$P@IxPM;eN zkCKhK8$=IzavwnqaCoGhJdkG-heyT2+{Q%8$s3}_3qFG(VBCCg2wVWl4M!N@{QEq@ z{<~ROaKdqTq)gl_kObjT0oRYDB*#MwTa%|AnkJ5J;EFJ}aCEaU$KlcRFm=Dalpec! zSRgMd93EL4S2uTQYZF({E|0RwKMaKl;_ztMn7doMK?ISipdx7fp@o~7tBtd}lPg3B zRr=WJiKET+6$HO7__ru>Gvx8>!34nJ2=H?A@*{W!`C$J)|9{jEd~iVszaTF}04e|x zf(bxiLVOT73yMwgn_%bU+>xa)E($7}!<-0rr7x1ANAh z+z!b?ybwN62f4ubpw|fp`$v|;kY(3(Kp%m10YL<48`&qIoF91cgL)v5i@-m9gzN)k zUtRb0e_rq4xCD^rf)|_vWFP#ieXvg$|G)MH+5&xq+z-kb*=NYUM>?bGT^|DnnWyl~y%z0Hgo^!=M4-k#sXd-f<9o za2yB^atJ`Kaq;mBf>mh~XL$=7E9-xK4DKmb;NAm1LGDcIdOYJofHTe|08See2IYr9 zp@KpNpn`(CiM@@Pq@$I+1%wx@Yr0!FJcYo80IJxyx!E{cT@OIW@d7pafcusO9|VCM zXZ}6RAcviQ4)R~OFerlW-}f*cX@!Rhjy7OmRCjeU)3k7hSlT$6yZ&?AgqT`b**M}r z`5@*tX72y2U6+|Tm^g#cS>d6kj~ftEaI|zn-iaT9`e2;*fv`z}+o}aS4v(6vxrHl` zg|I!5)&%RC9?s7877oZh;sxV2#N5IXw4-9;jOyv@&A1f6i0p3T?!yJP`FD-$+dNPK zTR>4R$dT2}*~HAk)x;6p{6%?r#UY}yve$R@|N0CJ*{E$yEzQ7i{!d+A@Fxx!3bq3X zMKT|X`H;+yVtynGpjZIOFcia(EQn%3BnzQf2+431!;y?YF#^ewD3(OB6pE#gERAAm zBtJy)LnO_ z${z$^ls^c-D1Q)uQT`wRqx?YtM)`vPjPeHo808NFFv=eUV3a=yz$kwZfKmP+0Hgdt z07m(P0F3en0T|^E0!LH;Ep_UD&G zwh6!X=a;^&f9=mNb=}UjKfm<#w%7jrQb;%WwLib~^|sgk{8HC^?awcb>>v2GKlJ+g zfusCokbMZh_7}JwhvC=$0@vdP{MujO`a6rb_7}Jwe-PLH0@q^>xVwYp#I?V`^;m?s_7}JwLlD>g0@vdYc)`*~)Xh9xk8lg{B2nq-B;o2JD^{NDs_5qH>E8HM znj|j0w0)KC_Lr0G)OTdPX=ZuPs*!(r`b=ylK*Vax8cIs_h9f29_F78v;D@tP^q4KF z+f8`w`H`Xq!OOm-qqj|r;D0JymH6meYM^U-ZzGW9o5yUNl1yz9f@v=BnYV6+f^ zu3pI{AeL+eYrgG_7w&Ad77#JMOy&5n3Jrpk=Xu%s@!`8~iAXc$ z-eSLddy6#t-s8x;EMfuL9<)#GLwv4!ztIO9Aj3aJT1D7eMT~EZtM4^$msDYKx$V^M zRVs9C+%pbTANKo08RYO%T|M6@(<@&Hn`!K7d+wWfA(h7c^m1`UAybUmfb`% z*G(AcZka-K)#z6aVh`RE372EcJ`D;KWue2UeTqi@;D)}-gB*3@S@PDHR@w90xU*Q} zYK7ruN$7XWJ$E}JYT3o0cs1GWEG20V0^c7mFrCuU-H~f))42On$~TBJPq;B`t#dUP zUx3!hvK=!`J-R07ZZ`h@-A6eGx4NpZa2aUirJNhe5^Kx7ZWF8zRBCDG)2AJOk@=fA z)~B^D)hISQ)KY%*pmyddZ}hh~qj#cn78jG@sx*{I6*kA)D(ruoFQ@J1U3c+5s*o{W z-1H(7_7aD~Y3Ab`4im%dXzGr)qno%nzX%;a%*q2u@P8q0u2zt(o`wdiuJ-fc3-gCIPQM zXEIi+YRp5z9^!Rw#}l=oq!_HEVQ*WBCfka9&H9bAhJCFzY=&+qS`8=_wnw)`iD&FN zv}L}#sA(C`Q+bl)*apqg5qGx#o5Q&i4k>F59*rhK0OUuxz=NYAH^R3lV z+JqT~QdhBGvu!x&jXtlq6!#su&n9quo>{azF2GjM^DvNO_SYNMmKZm?c(~Fiw^Fp-ls$@-#DGH=<{Ne@ ziT7Ttx{WV#E2p$PK4JiV9>uGj+_yh+TRr+)k`2GfC4u;nigzlZ8+Hcu@lv^2e8qac z=gT)A*C@{M1M7n^Ls9~JFlN|3HRammopN~>&2BEm!I5=0RL-=ZZ)5J92lIHZRmtt=BQy$3L=qO)ahB591DekH?=l>- z?k2uH)0}CPe8L4q<_qP&&$aGK)bsP!?aUl)jB7?_Y^2t3SJ&Fhe{YzozuImKeSeE< z1r{Ah`SU*76H{6{q1ye+I5C5uPsg(^-99mGI-%5~afgUHoDUfoOHo_+#U$r+07o z-boe`3^k`*>xt#v!<>_$dZFgkbiP&?UNreVGev2kDW!kPokLZ`aW7nHfjoIqs=P*M z9{1!VTeyfndWK9@r^Pm7>{4$-DzI5>cU*xnU7;|)px|Wy@mD)SgT+;a(yL=HU!_Df zuXWug8X6;cT=NbDD@;L?EhhEgIZ`j~YZzANE zaM=Ov8>Ozr8z1qsI1HO~t7U(-K3&fe!Ls_ag+3YPB3p)#8NfIaktrz9XlmeZ{w_j}HZ zcef_3F>*d;*S_+#A9-KzxxPO#xgR%?Z&Az4=7h;sPP&2>8`+nSJ+?P-G?o$GPbS>_ zp{zGgdP~Aea*IzT^HH4N&gmw(_u&|nY$oMFr-}FUEHA!J+dQwRAC1`wMrM)GnA=Ym z0forX$9z*lByE(ER*mi5bTEd9~nLkUNJ+GzpXN&fjBKX_d?d>q~oSdxS^X<)vY7>99 zTj6rrrER+Mqz)78KR#Ne_HR+u&Mk-OhhDfvwvF%Y?k&yI`*FXo-8m5IWaY+96$y06 z5RY4t5Tu@=t@5|?Jk2#q(&JX9+F`p`zMHULG%o6JnnU*6p${rLOaYBIEFwxt6t6P- zQSn~HTG@Z2lvV91VN9x1!bOYEv$ZaTy`&d}y}99rGg5(RvG0X^Lp73MflJCXXNshB zf^LU@F7$?4G9&{((A!F?68_{j+7rc~B#%Q&+`!&9ks6TL!LQ%MKyTvvRv&O`mmOZk zK5jIH-IwR46ZxfHGLCSM>cL2yPw^uXbNZXN;8;3n>8~)fc#N7;(%ZLim-~$5v1SP+ z&PVmjynBjYfBvu?eQ^HgLl+s&JNL|ieQU`@yFQ8XDJ}7)%Y~#_R-HT2BCVGy!O^iM z-al5yy9n(W7@2=qr>AV2%pKJ@1{fXBg?40+4jg42B!@Prohd6z@cR%4q^5r`>aSr{ zxnyF&bo!zLr*@*mc@#op%JGEY&ArEx7e>x~nn6FL8HF)3AEQL%2yB zesi^{INv5{i{e-n7RE|Rmsb166;m>F{vusCtkPX4q@C9dtgZT#~?WFIO;uVPQ-_d`8|X?b3mNq zSIXL%^OjZoB+Kb$x8-WbDav#64<4SK@{Q=rbN-DCET?-NHkl zeiYRv6C{-A~C9fa|6O|_A1#PP$s^YrIkN`+6m zrJwLLQ;#$-VW4HLpIWGmQ{SJ$RoukVrkS|&NR(CNQcivP6ZI%%~?Tf zYC(&UNp$`;PD%;!)8R%uZ=I0VzpwY^nyH6)hBZccT#Lr;#)N9b+uO=auzg67SyeZ(V zDf1<_|KaFJp;ObrH$ta5OZdC3k4bX}c&bG6D?}6lYB94E=eK{q9+zw%>fx-Jr&UMK z!o2sx2&PikBKYT0mvu}SJ=MSm%j=yA_x}P6- zj|VPtrbJmKebCFe)93H$d7>nheQ;{}lSOgn+v%Y3o5J^8YGtky1?knrxYbqY3tdHw zjK3UHbrX-a*7r+bn{JgmLq$=3c|1LVNBvW!EE#va8pjKl)3WiT3-jJL=b!$O`o&Ez zD zmf(i7cH%}B%lFXMe2kO(qk7NI-HQLdFIB2ac{KX*%~To7ys*}j2Q0IN;rU^@1apOu zc2;k8F7raDzTf+5$k~c`v*V4+j^-2wcOx72k5!UxnlDEzcm1MnKu-|p zoWCUuICJU2`xz*yYOs#>8#lSagZ5(WQ1t6(FG1aXrTZKleiCA4W+NY7OT>$b+sgeu zZer|xPb$T4m7CfEA7khh_EO8+I@m02T;lh$k^hGgNV31GXUHz5ex$Xfc77EhJjXwSKJpUNx*jmG5+g6+};I68CR_kn|FW~sJc>T4= zpdkhSq4h-HK8|OT`>9jH*OXNyuR83wHd?<1xtI&u5Em!TIoYy(i9pk-FBhq#Mt^UI z9tPuazCJ@QA=B=l2{y^% zRNE_^T6wC~c17AM9Ud5Eai*Di%o=v&T>6!kbJhVzS)KtMi)2q;l(p5Hs`B$O|kv8jeBx6t1@Nv>fez0<$ZB*e*VLF@@>esYp zu;HmVvt5607yj8xOTi&jQu@**8bl_|e2 zZBiQrbk=LfRZDPOK+T6Z`s>t6pIu3n20br)a$xZFB73K)Awt!UUyRI=)97A4aEEdw2R zZ_DhG#3W{Q^#;crrb-hI;TE_3d*~cJ{Of$g?6|^@DlWUozDg1L=^y16eO_i*fA%qR z^zX?*b%EBL;H(vGbL;yT8*~S_$zlQ&*`!j25dg#XFs7%X9p|NJ#&D!@H$3pfhRnM5Kz=R^>~oCm98~ zQ&G`Ii$y0t*3Q%OSaq8bhjCZ?aNhZ?(SUc9LLH7(M7v9ars5$21#lc?q zF8jL=E zEIsO3kJ;ymD#BKR6ZE0C_nPG>h?>fbgSq**bD4XdQuK)p0VF&eyCf^p?VK%@HZnt& z9QU_4=`jSJ<#KKNJK&xf9-ZS)ka=m#JxO|ImSA0a$A0;129byJ0Cu2+_0#j)VsFx5 z`F&v?_2W%`eWS$<{mWzdgCe9HDKLZb)!tVF9}4?s^zFE-iW*#=;m_oJ$#^-COKrry zjWbrlMa?xcssXBES_yXA2;QN7w@58Pdhg!!I{t$ISB6&bRS zKdr~{7!ev5C%h$Fr%^mJjf8LI3nOZJ^xI6gXY6~-@$b6;O+0j38RzHUtINkXlWqS_kS^@pA9RUOBJaH&Lq~Vzt?2)Imgw8O znRul(-CY&|YDc5^< zXYWVBp+c?{ouD8+3{4{a(xBSj(cIusOP6!Zl1^I-OfYnF(@@rbxKR-7p!eB&`s=hFW&y30{vQFi!Ie1|Q)gp!ZD+YKEJKXXKCP1* zm)xy-1)bD?$LkEjAq&MamEnldY{|7F%qduP6mK*0ajO&I&6rY`A%x7H*1#``zCxMJ zbZw*U{ejM90{Y2j(}UpH1#*4~Ql|>1+c$LIYoA<^N0B;a|qf z^4JOPif;Bb69vE7btU>zKW%atK;xwUil?7ebESAe&@5C8mu%R-%o(=Y5V_W}HvVjZ z^>|gyPRfSQQI==^LSMG(GGv&MhHr0=!N2AG0T(@n%9&xN19M>CVQ2sk@8w6i*RSa> zR=Xm8{J6VH)3|@4HN=`~8L%zfLn83meYe&nZd+vkac7xHM4=XU_x&CFis{GI(gQX1 zd1w=FOS zun^sk{&h%Xwfg%oevg${%#0|W%$gXZitjvz2%&udT5a~`#gc+vPl&16q}jv);R=!N zR8g*$*I;1-#MVD_J!lPKCo=asg~`vU!_H6|)>6q$W%pTRh0)6MPgfB+%buO3R8yMD z(&)0&+&3Cgm67Jv5rUpiV$w;zF4ME8B(>r%+J`sn$u!;Ga{YZEJ{bRC8Xc=W+8n12 zO;ON9!9c}s^K&#F$$i|G>h&@Y-O`np`Hit(?Al6v%2hBB`7)+$Kj$P3X&;GnpD=N> z3!I@j-V%X0335yRyl{S$VT}sX?h5gf0Qww^z3Xn%6lK9VpN-7@njvdhaQ`1&~}zLrgyI` zI%6_1dQfpRnf2GkG#6*-_;gE5;bcnNCALCD1UB|)AH8f#HJOz)zkmh)>2uX(n|sb# zNw_II+(h?ieMj^|{BVChS-?3}9Yn(^EUGi4=9)GMASQ4i8S7>4KkXT6w@fU4&pw@1 zLr7!Hi-q2%(pcQj6g;ecGEKZA*!1m?P`~4``LMpR7=1bGE6=QI!@Z}a-Q#5(UBx6D@UqdUUJ6Zh>Tf%f_S+u7Qg*ASRmtT{U{k1gZFhlpOL=wVZ+VPbRzXlp%m55v0JW8 z4J93awi_tYoNi?n~>O;-^oUR$`RH8ynHlstTS^CFw zqT-RpP8&*iZ?yGWOUOi5yB(Sqy}5BMA|v%dn{9mCYQ5tbSYP}HZyjnS`{W0!tE+ipK*)n}A{ z-qJ5CPnLIk@vGHWo?LtdMzUSvx?-D5n@_7*5d+Ho@e#3OPtzdWM1(Ite#g}{aww}V z6;u$B5iw{mJWD&we%)q~sTABLp7cwfyZ*OLf3Du7AFygjFL-l}gY-9a=&Y)I^*ckizL zLftpFjAiz|*Xh5+3Y$I~ers&==GxKy`()Llbv^V~yJ5?=wT}EF4c2)4ga<(*yO?AK zR1&q*L1NV5bip$3xbjBlx7H{aCC=46I3H-(7DZ$4-ZdRA$81v?E`RwuG- z#ZP8D3o|n+w0?{kmj)U)11pMezEdX%TfHF+Bel(Mn7hiT>U^XvyxasTj_D-9k4!Xj@nr zNK81{po``fdJBh?vKCq7RcUf+F6&V6WE*bCs>;mgq80^k4}|i{l|D$y;7B|LJR% z&do{>FXS-AA%BBS{)M!i&aQjeb^s&)Ij>BTQzB#JiLZ3?I9gITS}u`FSnvS+pzpzP zJ2di-r$ESI)NjG5FDY5}SXS|0%zL3rT~pFh4I|9vjC&96MYdtQ>t3iNk*mmebTs20 zN+$Fy4|+%BC5T(AXf%Aw(3ez>X!dq+o$Rqd@EHYM{I1vMJFRv>2)0R6_La#Guj$^9 zk-kWd3d_Tj&KrogxZNStx@pZyU>|LR8+|7IX3A`k(z}(S)gdaM!dS=q9HH9BiytP! zj272pwba^lgF7i~J;A2uyH(j6bM4n#0}D;A@aOeqs_GK*RM>_G9VNBl1hT!l4H8ZA z`Fr%<3N7pw7bg)F&-_HpdxJ%Y>2;1tm%@DXe`(I85OHpodYi;DyZHOiq%!uq!qvvl z(7?dYUsq8?1%!D9}WF0U3#akZWTZTO+D${*T-=)#?pxuQnCGl|@ zS?`ag%lI#I$@KTf94I)?zc^s#99M9izN^v|@lmjIM9}u#*%<0R=?p>$KM{|Rlf?A4 zrfWBy^Rhqf2-PT|QrO%S6=o}QZ$GXHy1GBz$0qFlwS;6le*hy4PaOQnOII?UYfdEa z;yN#plJ>nFW(-T=52}=kmKjih9tGQ{CvX;6?jFOeBJBB+*StS`bzt~qQWobi29KH4 zEU#LKm+a;hIYxKAIk~v;mH%Zolw&7zwpXJ{_tz<5(nKC2Z1P5foF3eWpwvzNareR7 zqg1xBY=$_i1OF#dA$MiO0<8p|pRf*nCkgsFdrU%+dXY@OT=1^PG7GQj>EhU?$&1df z+5Aryqc7lJe)5NW!|bj5nH7A-kA8OYTqX+BjaFN)2rjUchLN`1p>IjMtpBI3uB4QG zLftlEi{VgU_dZ);b>DnO^!bjSy~$j{%O_9Y-`9|*RS~o29#V+V)gxI`UVfJ**R-Zk z_ghWnkOSwV@<(6RR1v@T#n0EgWxD4Oj7b>^o)P{%ZLD zlASlaNWS`@EXd9Lq;5obsE>rrf`M#8sui^ zM=PJU(?94ce+us|Wb%7@p=MctrIb+8_EM%e{GF%Dk4!dIRwCwB%AB~{R-dc|_TP4# z8*=K$WyL7H5XqU1ytvIBJIS0jV{)XoXHA1|_5w;2wNOh!)3M#_923TYSJT}$KJFZ( zhNf@tNJ90^<{^4D$t)*P8=jY_epE;w8)i%G6CN)K(p6(-BQ$#<-+7;658S;%sj}CS1B8qGrwazn`MCH1;l$+?8J)ZX_{KZE;jQbRi&7Vxy7S&LEFoyt5G={z)G<@=*Z}W%uUK zg@}bc%8@x5#W_xmDn4qFve5kc$H&H}^cEk}zAnauBy}&UElN0;S7T$H3pNVQPwf6u_<<}459Z?{O_9$ zk{7Ng*|m9p;O;mpP@Gw_O)ZkZ$i)iT{Q9TP_n(y>KTM1BWUP(su3!wZjbGE8)A#cD zVC+fNbK)hRr47*!h;bf#_w5wBz{BA@*R}K0fwhG|%nvpK(q4!6rZI1==~{N~FEeh^ zE&W7id~&7y+3l%TOEtXW%SGbvtl5fz61y+*TWT)%!`VF@*zOEUZ{M%uz**D9G+Nf) z@M&;d^xUGNoyvEcq1=eKdoO~{j7zv!=5y4FD7jzA{J|12D%{(o7rat`gqeCYHj%7FI{#&a*fBsfQtJp1YK) zqKHFb`!_8PSXIrmWUDRJrA#w5rA!xB0n8r*nA-`yUG)Soe^L#*_`AuWa8NXQNq(4+ z>wA(*|G1Rk;C6#JVwwF>PDjlh3pSM_2VtjGqisuWAmXbI%T=7p^9z-|n|IF}Bn7 z2R{2Ne=2ksP50tRqQT3&tBA0K?db2Ze2ZCoyHC&!&0|sf znYq5Ptn%OCfxNC80`h4DBDj)lDH54K(qqij#>VM8<0ez_F%eU5>^QgX+`D@5aaC#| ztB(2BxFv$MwAH$TV&65dBbhZk6+B5w8w*mMuQo|7u8LXl#V%xucN!0N;Mg6?p?&Bj zyolQh)ZP}7uwt8$MznLTn!i@~D73JutZ8Ak)TGVC-eKI?1>IX-b?tVo{$h@%tHWX- z{*n%_B1D@PU%;}H?`9WSPEi-nTUhxMShb~R$NjQ zYN`85@}gM8SylPPjW`XXWRqFzeFQ{X)i>)$tM{8V<=dG2Rtscnl&n7xiS}k$w~{-$ zG_avKEHVi})%|$e%4x=kzSi8t+K}YRkoVR%`BMxcS;pALHvTzApDoa2DFH% zlUZ^WM4vU^Fh{jLJ3FuWT9Eq7uaBo1eCml`k|me)b#$9V=XF&Dt$#s#v$pTcU6(CP zmMMI9`$=*kze41jY2)6G&SiUZ_HvxKHIe_qP?SsnI*cT^)gV4pbOJ7Pu`MT&zquk8IMK$)0p*O>f-1j+`h+p(ow!x zXRLbZK1SE~Pdl-WLGq^BxL+`pS!LR2M9f~;kiDeP(Nag7`=HbZE2Dn35%dn9DO{t% zgAAc(g&FzcTv*t|aCzIYNk6$%i_){~zRMB`HofJON@$V{Oo*C4R<+k+9K-Ynrgmmm zazWRPFA##gC}Ovfz`jpwZ=Q$V;-qrrr__XMxVoE46{N*dycZT0MJPtAyp4;!EB8ZI zR;IJ~o91kzN13RwAdJPuya4Y`#~k)2v&HY$2vL(FQBgq#KJ93#xOkd`*n7+@UFACp zF6A1|T!IYu9L>$`zpDG(?pBglPM9~HH`7G7vAvg3ko_u3(d6f!oLENFSpk1}dwu)0 zF=KYnJi7A@w+`3ZG?Mf*DrzVnx2TRP)w{I#Wa3-!d*}{Q_EPSA>JhJEZZM!}JTx5~ zTNulNe)_`8PRfm`^r>U+t;Wt=$F~rR2Z^`uv3Aig-K@Py<2uYHh+t+Btuca`{rzlf>ymip77QuB|8l9%r7|&J>oZ(*v5)zusA*?eI(p=%zvo3HbPDb!AQ}$4^3fW zRATvou%ug6zp)po*b~=NuMfej)FyFZ`Nm~M1;xsF-?c$+>ALd`GbT`cD{wgP_&|m5x!mp)o0)_g~B) zJ!40mNNk{%7t_cjZ3iee?bT&f--wFYZ*7yi6r!SEor{V&r>3Hh5EA$B3lE&?*S6md z@fm`IwaWdZKj|?hZ*~$Qjpp|MtK8Qzf;%@;O4eFcKSL&dPX5B+m0RADdq=Q2j4Kz? zkoh_VO22QXvTS6TefsS2>b|C8_WA7wPqM3-2U}+%_qr+d{gPsBjdtzs)D68quZ;YC z2&rK^35yN9`8GrB=S0bNP;u=7n&E1svuXFV>_M zB_f`rw|~*L8%SJNP04p2!Rp4s{FORxDK@XFHXkxCcm33gPupWK>SZ#bVYXsF!E2RB zRp|8>ek{r#=Pw-Zzw5%kb5~K^QC2*AL0VBfb0I)+nuGCgx+8nDQpalI!eg&p0%j+! zeXOf-Tu~_VheLz=2W4&h*b9R z1=;(8f}|Y#=4N$CwdL&WNB5|iD$-*;EVlj#D|Y_w&`tha9a*Ha$xvdW_SEmqlaYmv z1i2rq>^eHa8u~u*MQJ(g21HDWs!Sh3U>whXx+*4e;S(ikR0xD}qC=BH<5=muNHeyX zV;W+AIGdEGbKX$l!nudr)Nw;`sc(;LS(C3XwfloP0dplgrM`&WlCldKGrv`A`@Xqs zK?a=hrSiwz&{!L~+_5MUh1@s9N-(I_T}_zJ=M)lk(_E&E*xzV;39;T&v{5v7y(Yb+L3@3i%?d(>+f%R277@2CH5d zj*Yx`cVT9DPyLF)FxO3*`1gDFH3}xr!MJEz|L@U~xgmr$Gu-m_^r{oL-d0PNnCht! zFDOo^6U!^usS%^OVjkboQPX`Amk5zk60@08O$otF)f_BJ5#$7Z`|Z%ly<9 zfBcQ?~IaR{t!^7Qs`0O@l z#`tV5JIuOb1Fb6f-a+)ig`vdgywTJgfLWjrHg{R%UZLE) zV5+G!cuRx3jg#X;@E!*U+e2YKFj74n4= zR^as!|GZB^&Dp|H(hS+?zur**rlGjYLmWNq?ZMF?>nfZ0IC+3WR&%tFcCzKMr!@De4bQ+J^DNAeNASl?i~Es@ESu9RDc;GlJn@8VvI9|CAwD{%^|Q zU{*8o??39n1i;%A{;Ny~OzHivGN>T3*Z*fdD4hR)?L&YU4m#t1)Po8NBL2HQs2~DN z=>G3|i2vNy-PHt4Sq4*a!Rgnu@wGtq3(q4bC-A-pA3=l=o|czRC& diff --git a/sources/doc/tfpdf/ex.php b/sources/doc/tfpdf/ex.php deleted file mode 100644 index a9cf301..0000000 --- a/sources/doc/tfpdf/ex.php +++ /dev/null @@ -1,26 +0,0 @@ -AddPage(); - -// Add a Unicode font (uses UTF-8) -$pdf->AddFont('DejaVu','','DejaVuSansCondensed.ttf',true); -$pdf->SetFont('DejaVu','',14); - -// Load a UTF-8 string from a file and print it -$txt = file_get_contents('HelloWorld.txt'); -$pdf->Write(8,$txt); - -// Select a standard font (uses windows-1252) -$pdf->SetFont('Arial','',14); -$pdf->Ln(10); -$pdf->Write(5,'The file size of this PDF is only 17 KB.'); - -$pdf->Output(); -?> diff --git a/sources/doc/tfpdf/info.htm b/sources/doc/tfpdf/info.htm deleted file mode 100644 index 962ee07..0000000 --- a/sources/doc/tfpdf/info.htm +++ /dev/null @@ -1,32 +0,0 @@ - - - - -tFPDF - - - -

      tFPDF

      -

      Informations

      -Author: Ian Back
      -License: LGPL -

      Description

      -This class is a modified version of FPDF that adds UTF-8 support. Moreover, it embeds only -the necessary parts of the fonts that are used in the document, making the file size much -smaller than if the whole fonts were embedded. These features were originally developed -for the mPDF project.
      -
      -To use a Unicode font in your script, pass the font file name as third parameter of -AddFont() and true as fourth parameter. The font may be located -either in the font/unifont directory or directly in the system font folder (in case the -_SYSTEM_TTFONTS constant is defined). -The package ships with the DejaVu -font family.
      -
      -Note: this class requires the mbstring extension. - - diff --git a/sources/doc/xmlwriter.php b/sources/doc/xmlwriter.php deleted file mode 100755 index f6985cb..0000000 --- a/sources/doc/xmlwriter.php +++ /dev/null @@ -1,77 +0,0 @@ -indent = $indent; - $this->xml = ''."\n"; - } - function _indent() { - for ($i = 0, $j = count($this->stack); $i < $j; $i++) { - $this->xml .= $this->indent; - } - } - function push($element, $attributes = array()) { - $this->_indent(); - $this->xml .= '<'.$element; - foreach ($attributes as $key => $value) { - $this->xml .= ' '.$key.'="'.htmlentities($value).'"'; - } - $this->xml .= ">\n"; - $this->stack[] = $element; - } - function element($element, $content, $attributes = array()) { - $this->_indent(); - $this->xml .= '<'.$element; - foreach ($attributes as $key => $value) { - $this->xml .= ' '.$key.'="'.htmlentities($value).'"'; - } - $this->xml .= '>'.htmlentities($content).''."\n"; - } - function emptyelement($element, $attributes = array()) { - $this->_indent(); - $this->xml .= '<'.$element; - foreach ($attributes as $key => $value) { - $this->xml .= ' '.$key.'="'.htmlentities($value).'"'; - } - $this->xml .= " />\n"; - } - function pop() { - $element = array_pop($this->stack); - $this->_indent(); - $this->xml .= "\n"; - } - function getXml() { - return $this->xml; - } -} - -/* Test - -$xml = new XmlWriter(); -$array = array( - array('monkey', 'banana', 'Jim'), - array('hamster', 'apples', 'Kola'), - array('turtle', 'beans', 'Berty'), -); - -$xml->push('zoo'); -foreach ($array as $animal) { - $xml->push('animal', array('species' => $animal[0])); - $xml->element('name', $animal[2]); - $xml->element('food', $animal[1]); - $xml->pop(); -} -$xml->pop(); - -print $xml->getXml(); - -*/ -?> - diff --git a/sources/extra_files/app/.gitignore b/sources/extra_files/app/.gitignore new file mode 100644 index 0000000..783a4ae --- /dev/null +++ b/sources/extra_files/app/.gitignore @@ -0,0 +1,2 @@ +*~ +*.sw[op] diff --git a/sources/html/.cvsignore b/sources/html/.cvsignore deleted file mode 100755 index 0d3c38d..0000000 --- a/sources/html/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -*.log -ajax diff --git a/sources/html/admin/setup.js b/sources/html/admin/setup.js deleted file mode 100644 index 3e0d95c..0000000 --- a/sources/html/admin/setup.js +++ /dev/null @@ -1,30 +0,0 @@ -//This file is part of NOALYSS and is under GPL -//see licence.txt -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ - -content[200]="Indiquez ici le récuterpertoire où les documents temporaires peuvent être sauvés exemple c:/temp, /tmp" -content[201]="Désactiver le changement de langue (requis pour MacOSX)"; -content[202]="Le chemin vers le repertoire contenant psql, pg_dump..."; -content[203]="Utilisateur de la base de donnée postgresql"; -content[204]="Mot de passe de l'utilisateur "; -content[205]="Port de postgresql"; -content[206]="En version mono dossier, le nom de la base de données doit être mentionné"; -content[207]="Vous devez choisir si NOALYSS est installé sur l'un de vos servers ou sur un server mutualisé qui ne donne qu'une seule base de données"; - - -function show_dbname(obj) { - try { - if (obj.checked === true) - { - this.document.getElementById('div_db').style.visibility= 'visible'; - } - else { - this.document.getElementById('div_db').style.visibility= 'hidden'; - } - } catch (e) { - alert_box(e.getMessage); - } -} diff --git a/sources/html/admin/setup.php b/sources/html/admin/setup.php deleted file mode 100644 index bfd9ca1..0000000 --- a/sources/html/admin/setup.php +++ /dev/null @@ -1,596 +0,0 @@ - - - Noalyss - Mise à jour - - - - - - - - - - -

      - NOALYSS -

      - -
      - - - -✖"; -$succeed=""; -$inc_path=get_include_path(); -global $os; -$inc_path=get_include_path(); -global $os; -if ( strpos($inc_path,";") != 0 ) { - $new_path=$inc_path.';../../include;addon'; - $os=0; /* $os is 0 for windoz */ -} else { - $new_path=$inc_path.':../../include:addon'; - $os=1; /* $os is 1 for unix */ -} - -/** - *@brief create correctly the htaccess file - */ -function create_htaccess() -{ - global $os; - - - /* If htaccess file doesn't exists we create them here - * if os == 1 then windows, 0 means Unix - */ - $file='..'.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'include'.DIRECTORY_SEPARATOR.'.htaccess'; - if (! file_exists($file)) - { - $hFile=@fopen($file,'w+'); - if ( ! $hFile ) exit('Impossible d\'écrire dans le répertoire include'); - fwrite($hFile,'order deny,allow'."\n"); - fwrite($hFile,'deny from all'."\n"); - fclose($hFile); - } - $file='..'.DIRECTORY_SEPARATOR.'.htaccess'; - if (! file_exists($file)) - { - - $hFile=@fopen($file,'w+'); - if ( ! $hFile ) exit('Impossible d\'écrire dans le répertoire html'); - $array=array("php_flag magic_quotes_gpc off", - "php_value max_execution_time 240", - "php_value memory_limit 20M", - "AddDefaultCharset utf-8", - "php_flag register_globals off", - "php_value error_reporting 10239", - "php_value post_max_size 20M", - "php_flag short_open_tag on", - "php_value upload_max_filesize 20M", - "php_value session.use_trans_sid 1", - "php_value session.use_cookies 1", - "php_flag session.use_only_cookies on"); - - if ( $os == 0 ) - fwrite($hFile,'php_value include_path .;../../include;../include;addon'."\n"); - else - fwrite($hFile,'php_value include_path .:../../include:../include:addon'."\n"); - foreach ($array as $value ) fwrite($hFile,$value."\n"); - fclose($hFile); - } - -} - -/* The config file is created here */ -if (isset($_POST['save_config'])) { - require_once '../../include/config_file.php'; - $url=config_file_create($_POST,1,$os); -echo ' -
      - Les informations sont sauvées vous pouvez continuer - -
      '; - exit(); - } -if ( is_writable ('..'.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'include'.DIRECTORY_SEPARATOR.'constant.php') == false ) { - echo '

      '._("Ecriture non possible").'

      '. - '

      '. - _("On ne peut pas écrire dans le répertoire de NOALYSS, changez-en les droits ") - .'

      '; - exit(); - } - - -if ( ! file_exists('..'.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'include'.DIRECTORY_SEPARATOR.'config.inc.php')) { - echo '

      '._('Entrez les informations nécessaires à noalyss').'

      '; - echo '
      '; - require_once('../../include/config_file.php'); - echo config_file_form(); - echo '
      '; - echo '

      ', - HtmlInput::submit('save_config',_('Sauver la configuration'),"","button"), - '

      '; - echo ""; - echo '
      '; - exit(); -} - -//---------------------------------------------------------------------- -// End functions -// -//---------------------------------------------------------------------- - -// Verify some PHP parameters -// magic_quotes_gpc = Off -// magic_quotes_runtime = Off -// magic_quotes_sybase = Off -// include_path -require_once NOALYSS_INCLUDE.'/config_file.php'; -require_once NOALYSS_INCLUDE.'/class_database.php'; - -if ( defined ("MULTI") && MULTI==1) { create_htaccess();} - -echo '

      '._('Configuration').'

      '; -?> -

      Info

      -Vous utilisez le domaine -

      PHP

      -"; -foreach (array('magic_quotes_gpc','magic_quotes_runtime') as $a) { -echo "
    1. "; - if ( ini_get($a) == false ) print $a.': '.$succeed; - else { - print $a.': '.$failed; - print ("

      $a a une mauvaise valeur !

      "); - $flag_php++; - } - -echo "
    2. "; -} -$module=get_loaded_extensions(); - -echo "
    3. "; -$str_error_message=_('Vous devez installer ou activer l\'extension %s '); -if ( in_array('mbstring',$module) == false ){ - echo 'module mbstring '.$failed; - echo '', - sprintf($str_error_message, "mbstring"), - ' '; - $flag_php++; -} else echo 'module mbstring '.$succeed; -echo "
    4. "; - -echo "
    5. "; -if ( in_array('pgsql',$module) == false ) -{ - echo 'module PGSQL '.$failed; - echo '', - sprintf($str_error_message, "psql"), - ' '; - $flag_php++; -} else echo 'module PGSQL '.$succeed; -echo "
    6. "; - -echo "
    7. "; -if ( in_array('bcmath',$module) == false ) -{ - echo 'module BCMATH ok '.$failed; - echo '', - sprintf($str_error_message, "bcmath"), - ' '; - $flag_php++; -} else echo 'module BCMATH '.$succeed; -echo "
    8. "; - -echo "
    9. "; -if (in_array('gettext',$module) == false ) -{ - echo 'module GETTEXT '.$failed; - echo '', - sprintf($str_error_message, "gettext"), - ' '; - $flag_php++; -} else echo 'module GETTEXT '.$succeed; -echo "
    10. "; - -echo "
    11. "; -if ( in_array('zip',$module) == false ) -{ - echo 'module ZIP '.$failed; - echo '', - sprintf($str_error_message, "zip"), - ' '; - $flag_php++; -} else echo 'module ZIP '.$succeed; -echo "
    12. "; -echo "
    13. "; -if ( in_array('gd',$module) == false ) -{ - echo 'module GD '.$failed; - echo '', - sprintf($str_error_message, "gd"), - ' '; - $flag_php++; -} else echo 'module GD '.$succeed; -echo "
    14. "; - -if ( ini_get("max_execution_time") < 60 ) { - echo "
    15. "; - echo _('Avertissement').' : '.$failed; - echo ' ', - _("max_execution_time devrait être de 60 minimum"), - ''; - echo "
    16. "; -} - -if ( ini_get("register_globals") == true) { - echo "
    17. "; - echo _('Avertissement').' : '.$failed; - print ' register_globals doit être à off'; - echo "
    18. "; - $flag_php++; -} - -if ( ini_get("session.use_trans_sid") == false ) { - echo "
    19. "; - echo _('Avertissement').' : '.$failed; - print ' avertissement session.use_trans_sid should be set to true '; - echo "
    20. "; -} - -echo ""; - - echo ""; -if ( $flag_php==0 ) { - echo '

      php.ini est bien configuré '.$succeed.'

      '; -} else { - echo '

      php mal configuré '.$failed.'

      '; -} -/* check user */ -if ( (defined("MULTI") && MULTI==1)|| !defined("MULTI")) -{ - - $cn=new Database(-1,'template'); -} else -{ - $cn=new Database(); -} - -?> -

      Base de données

      -get_value($sql); - -echo "Version base de données :",$version; - -if ( $version[0] < 8 || - ($version[0]=='8' && $version[2]<4) - ) - { -?> -

      Vous devez absolument utiliser au minimum une version 8.4 de PostGresql, si votre distribution n'en -offre pas, installez-en une en la compilant.

      Lisez attentivement la notice sur postgresql.org pour migrer -vos bases de données -

      - -

      Paramètre base de données

      -count_sql($sql); -if ( $Res==0) { ?> -

      Vous devez installer le langage plpgsql pour permettre aux fonctions SQL de fonctionner.

      -

      Pour cela, sur la ligne de commande en tant qu\'utilisateur postgres, faites createlang plpgsql template1 -

      - -exec_sql($sql); -$flag=0; -for ($e=0;$e<$cn->size();$e++) { - $a=$cn->fetch($e); - switch ($a['name']){ - case 'effective_cache_size': - if ( $a['setting'] < 1000 ){ - - print '

      '.$failed.'Attention le paramètre effective_cache_size est de '. - $a['setting']." au lieu de 1000

      "; - $flag++; - } - break; - case 'shared_buffers': - if ( $a['setting'] < 640 ){ - print '

      '.$failed.'Attention le paramètre shared_buffer est de '. - $a['setting']."au lieu de 640

      "; - $flag++; - } - break; - } - } -if ( $flag == 0 ) { - echo '

      La base de données est bien configurée '.$succeed.'

      '; - } else { - echo '

      '.$failed.'Il y a '.$flag.' paramètre qui sont trop bas

      '; - } -if ( ! isset($_POST['go']) ) { -?> - -
      -"> -
      -
      -count_sql("select * from pg_database where datname=lower('" . domaine . "account_repository')"); - else - $account=1; - -// Create the account_repository -if ($account == 0 ) { - - echo "Creation of ".domaine."account_repository"; - if ( ! DEBUG) ob_start(); - $cn->exec_sql("create database ".domaine."account_repository encoding='utf8'"); - $cn=new Database(); - $cn->start(); - $cn->execute_script("sql/account_repository/schema.sql"); - $cn->execute_script("sql/account_repository/data.sql"); - $cn->execute_script("sql/account_repository/constraint.sql"); - $cn->commit($cn); - - if ( ! DEBUG) ob_end_clean(); - - echo "Creation of Modele1"; - if ( ! DEBUG) ob_start(); - $cn->exec_sql("create database ".domaine."mod1 encoding='utf8'"); - - $cn=new Database(1,'mod'); - $cn->start(); - $cn->execute_script('sql/mod1/schema.sql'); - $cn->execute_script('sql/mod1/data.sql'); - $cn->execute_script('sql/mod1/constraint.sql'); - $cn->commit(); - - if ( ! DEBUG) ob_end_clean(); - - echo "Creation of Modele2"; - $cn->exec_sql("create database ".domaine."mod2 encoding='utf8'"); - $cn=new Database(2,'mod'); - $cn->start(); - if ( ! DEBUG) { ob_start(); } - $cn->execute_script('sql/mod1/schema.sql'); - $cn->execute_script('sql/mod2/data.sql'); - $cn->execute_script('sql/mod1/constraint.sql'); - $cn->commit(); - - if ( ! DEBUG) ob_end_clean(); - - }// end if -// Add a french accountancy model -//-- -$cn=new Database(); - -echo "

      Mise a jour du systeme

      "; -echo "

      Mise à jour dossier

      "; -if (defined("MULTI") && MULTI == 0) -{ - $db = new Database(); - if ($db->exist_table("version") == false) - { - echo '

      ' . $failed . 'La base de donnée ' . dbname . ' est vide, veuillez executer noalyss/contrib/mono-dossier/mono.sql - puis faites un seul de ces choix : -

        -
      • soit noalyss/contrib/mono-dossier/mono-france.sql pour la comptabilité française
      • -
      • soit noalyss/contrib/mono-dossier/mono-belge.sql pour la comptabilité belge
      • -
      • soit y restaurer un backup ou un modèle
      • -
      -

      '; - exit(); - } - echo "

      Patching " . dbname . '

      '; - $db->apply_patch(dbname); - echo "

      Tout est installé $succeed"; - - echo "

      Mise à jour Repository

      "; - if ( DEBUG == false ) ob_start(); - $MaxVersion=DBVERSIONREPO-1; - for ($i=4;$i<= $MaxVersion;$i++) - { - if ( $db->get_value (' select val from repo_version') <= $i ) { - $db->execute_script('sql/patch/ac-upgrade'.$i.'.sql'); - } - } - - ?> -

      - Connectez-vous à NOALYSS -

      - exec_sql("select dos_id, dos_name from ac_dossier"); -$MaxDossier=$cn->size($Resdossier); - -//---------------------------------------------------------------------- -// Upgrade the folders -//---------------------------------------------------------------------- - -for ($e=0;$e < $MaxDossier;$e++) { - $db_row=Database::fetch_array($Resdossier,$e); - echo "

      Patching ".$db_row['dos_name'].'

      '; - - $name=$cn->format_name($db_row['dos_id'],'dos'); - - if ( $cn->exist_database($name)> 0 ) - { - $db=new Database($db_row['dos_id'],'dos'); - $db->apply_patch($db_row['dos_name']); - Dossier::synchro_admin($db_row['dos_id']); - - } else - { - echo_warning(_("Dossier inexistant")." $name"); - } - } - -//---------------------------------------------------------------------- -// Upgrade the template -//---------------------------------------------------------------------- -$Resdossier=$cn->exec_sql("select mod_id, mod_name from modeledef"); -$MaxDossier=$cn->size(); -echo "

      Mise à jour modèle

      "; - -for ($e=0;$e < $MaxDossier;$e++) { - $db_row=Database::fetch_array($Resdossier,$e); - echo "

      Patching ".$db_row['mod_name']."

      "; - $name=$cn->format_name($db_row['mod_id'],'mod'); - - if ( $cn->exist_database($name)> 0 ) - { - $db=new Database($db_row['mod_id'],'mod'); - $db->apply_patch($db_row['mod_name']); - } else - { - echo_warning(_("Modèle inexistant")." $name"); - } - } - -//---------------------------------------------------------------------- -// Upgrade the account_repository -//---------------------------------------------------------------------- - echo "

      Mise à jour Repository

      "; - $cn=new Database(); - if ( DEBUG == false ) ob_start(); - $MaxVersion=DBVERSIONREPO-1; - for ($i=4;$i<= $MaxVersion;$i++) - { - if ( $cn->get_version() <= $i ) { - $cn->execute_script('sql/patch/ac-upgrade'.$i.'.sql'); - } - } - - if (! DEBUG) ob_end_clean(); - echo "

      Tout est installé $succeed"; -?> -

      -

      -Connectez-vous à NOALYSS -

      \ No newline at end of file diff --git a/sources/html/admin/sql/account_repository/comment.sql b/sources/html/admin/sql/account_repository/comment.sql deleted file mode 100644 index fe1826f..0000000 --- a/sources/html/admin/sql/account_repository/comment.sql +++ /dev/null @@ -1,4 +0,0 @@ -COMMENT ON TABLE user_global_pref IS 'The user''s global parameter '; -COMMENT ON COLUMN user_global_pref.user_id IS 'user''s login '; -COMMENT ON COLUMN user_global_pref.parameter_type IS 'the type of parameter '; -COMMENT ON COLUMN user_global_pref.parameter_value IS 'the value of parameter '; diff --git a/sources/html/admin/sql/account_repository/constraint.sql b/sources/html/admin/sql/account_repository/constraint.sql deleted file mode 100644 index c13d9d6..0000000 --- a/sources/html/admin/sql/account_repository/constraint.sql +++ /dev/null @@ -1,22 +0,0 @@ - SET client_encoding = 'utf8'; - SET check_function_bodies = false; - SET client_min_messages = warning; -SET search_path = public, pg_catalog; -ALTER TABLE ONLY ac_dossier - ADD CONSTRAINT ac_dossier_dos_name_key UNIQUE (dos_name); -ALTER TABLE ONLY ac_dossier - ADD CONSTRAINT ac_dossier_pkey PRIMARY KEY (dos_id); -ALTER TABLE ONLY ac_users - ADD CONSTRAINT ac_users_pkey PRIMARY KEY (use_id); -ALTER TABLE ONLY ac_users - ADD CONSTRAINT ac_users_use_login_key UNIQUE (use_login); -ALTER TABLE ONLY jnt_use_dos - ADD CONSTRAINT jnt_use_dos_pkey PRIMARY KEY (use_id, dos_id); -ALTER TABLE ONLY modeledef - ADD CONSTRAINT modeledef_pkey PRIMARY KEY (mod_id); -ALTER TABLE ONLY user_global_pref - ADD CONSTRAINT pk_user_global_pref PRIMARY KEY (user_id, parameter_type); -ALTER TABLE ONLY priv_user - ADD CONSTRAINT priv_user_pkey PRIMARY KEY (priv_id); -ALTER TABLE ONLY user_global_pref - ADD CONSTRAINT fk_user_id FOREIGN KEY (user_id) REFERENCES ac_users(use_login) ON UPDATE CASCADE ON DELETE CASCADE; diff --git a/sources/html/admin/sql/account_repository/data.sql b/sources/html/admin/sql/account_repository/data.sql deleted file mode 100644 index c7e6946..0000000 --- a/sources/html/admin/sql/account_repository/data.sql +++ /dev/null @@ -1,114 +0,0 @@ --- --- PostgreSQL database dump --- - -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = off; -SET check_function_bodies = false; -SET client_min_messages = warning; -SET escape_string_warning = off; - -SET search_path = public, pg_catalog; - --- --- Name: dossier_id; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('dossier_id', 24, true); - - --- --- Name: s_modid; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('s_modid', 8, true); - - --- --- Name: seq_jnt_use_dos; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_jnt_use_dos', 28, true); - - --- --- Name: seq_priv_user; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('seq_priv_user', 12, true); - - --- --- Name: users_id; Type: SEQUENCE SET; Schema: public; Owner: - --- - -SELECT pg_catalog.setval('users_id', 5, true); - - --- --- Data for Name: ac_dossier; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: ac_users; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO ac_users (use_id, use_first_name, use_name, use_login, use_active, use_pass, use_admin) VALUES (4, 'demo', 'demo', 'demo', 1, 'fe01ce2a7fbac8fafaed7c982a04e229', 0); -INSERT INTO ac_users (use_id, use_first_name, use_name, use_login, use_active, use_pass, use_admin) VALUES (1, NULL, NULL, 'phpcompta', 1, 'b1cc88e1907cde80cb2595fa793b3da9', 1); - - --- --- Data for Name: jnt_use_dos; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: modeledef; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO modeledef (mod_id, mod_name, mod_desc) VALUES (1, '(BE) Basique', 'Comptabilité Belge, à adapter'); -INSERT INTO modeledef (mod_id, mod_name, mod_desc) VALUES (2, '(FR) Basique', 'Comptabilité Française, à adapter'); - - --- --- Data for Name: priv_user; Type: TABLE DATA; Schema: public; Owner: - --- - - - --- --- Data for Name: theme; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO theme (the_name, the_filestyle, the_filebutton) VALUES ('classic', 'style.css', NULL); -INSERT INTO theme (the_name, the_filestyle, the_filebutton) VALUES ('Light', 'style-light.css', NULL); -INSERT INTO theme (the_name, the_filestyle, the_filebutton) VALUES ('Colored', 'style-color.css', NULL); - - --- --- Data for Name: user_global_pref; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO user_global_pref (user_id, parameter_type, parameter_value) VALUES ('demo', 'PAGESIZE', '50'); -INSERT INTO user_global_pref (user_id, parameter_type, parameter_value) VALUES ('phpcompta', 'PAGESIZE', '50'); -INSERT INTO user_global_pref (user_id, parameter_type, parameter_value) VALUES ('demo', 'THEME', 'classic'); -INSERT INTO user_global_pref (user_id, parameter_type, parameter_value) VALUES ('phpcompta', 'THEME', 'classic'); -INSERT INTO user_global_pref (user_id, parameter_type, parameter_value) VALUES ('demo', 'LANG', 'fr_FR.utf8'); -INSERT INTO user_global_pref (user_id, parameter_type, parameter_value) VALUES ('phpcompta', 'LANG', 'fr_FR.utf8'); -INSERT INTO user_global_pref (user_id, parameter_type, parameter_value) VALUES ('phpcompta', 'TOPMENU', 'TEXT'); - - --- --- Data for Name: version; Type: TABLE DATA; Schema: public; Owner: - --- - -INSERT INTO version (val) VALUES (11); - - --- --- PostgreSQL database dump complete --- - diff --git a/sources/html/admin/sql/account_repository/function.sql b/sources/html/admin/sql/account_repository/function.sql deleted file mode 100644 index e69de29..0000000 diff --git a/sources/html/admin/sql/account_repository/index.sql b/sources/html/admin/sql/account_repository/index.sql deleted file mode 100644 index 5f56296..0000000 --- a/sources/html/admin/sql/account_repository/index.sql +++ /dev/null @@ -1,2 +0,0 @@ -CREATE INDEX fk_jnt_dos_id ON jnt_use_dos USING btree (dos_id); -CREATE INDEX fk_jnt_use_dos ON jnt_use_dos USING btree (use_id); diff --git a/sources/html/admin/sql/account_repository/make-sql b/sources/html/admin/sql/account_repository/make-sql deleted file mode 100755 index 6d2bd31..0000000 --- a/sources/html/admin/sql/account_repository/make-sql +++ /dev/null @@ -1,21 +0,0 @@ -pg_dump -O -U phpcompta -s ${DOMAIN}account_repository | awk '!/--/ {if ( ! /^$/) print $0;}'|grep -v "COMMENT ON SCHEMA public IS 'Standard public schema';" > schema.sql -awk '/SEQUENCE/,/;/ { print $0;}' < schema.sql > sequence.sql -awk '/CREATE DOMAIN/,/;/ { print $0;}' < schema.sql > table.sql -awk '/CREATE TABLE/,/;/ { print $0;}' < schema.sql >> table.sql -awk '/CREATE VIEW/,/;/ { print $0;}' < schema.sql > view.sql -awk '/INDEX/,/;/ { print $0;}' < schema.sql > index.sql -( -echo " SET client_encoding = 'utf8';" -echo " SET check_function_bodies = false;" -echo " SET client_min_messages = warning;" -echo "SET search_path = public, pg_catalog;" -)> constraint.sql - -awk '/ALTER TABLE/,/;/ { print $0;}' < schema.sql >> constraint.sql -awk '/CREATE FUNCTION/,/LANGUAGE/ { print $0;}' < schema.sql > function.sql -awk '/COMMENT/,/;/ {print $0;}' < schema.sql > comment.sql -sed -i -e "/ALTER TABLE.*/d" -e "/ADD CONSTRAINT/d" -e "/CREATE PROCEDURAL.*/d" schema.sql - -grep setval schema.sql >> sequence.sql -pg_dump -U phpcompta -D -a -O ${DOMAIN}account_repository > data.sql - diff --git a/sources/html/admin/sql/account_repository/schema.sql b/sources/html/admin/sql/account_repository/schema.sql deleted file mode 100644 index 0a9f8ba..0000000 --- a/sources/html/admin/sql/account_repository/schema.sql +++ /dev/null @@ -1,83 +0,0 @@ -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = off; -SET check_function_bodies = false; -SET client_min_messages = warning; -SET escape_string_warning = off; -SET search_path = public, pg_catalog; -SET default_tablespace = ''; -SET default_with_oids = false; -CREATE TABLE ac_dossier ( - dos_id integer DEFAULT nextval(('dossier_id'::text)::regclass) NOT NULL, - dos_name text NOT NULL, - dos_description text, - dos_jnt_user integer DEFAULT 0 -); -CREATE TABLE ac_users ( - use_id integer DEFAULT nextval(('users_id'::text)::regclass) NOT NULL, - use_first_name text, - use_name text, - use_login text NOT NULL, - use_active integer DEFAULT 0, - use_pass text, - use_admin integer DEFAULT 0, - CONSTRAINT ac_users_use_active_check CHECK (((use_active = 0) OR (use_active = 1))) -); -CREATE SEQUENCE dossier_id - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE TABLE jnt_use_dos ( - jnt_id integer DEFAULT nextval(('seq_jnt_use_dos'::text)::regclass) NOT NULL, - use_id integer NOT NULL, - dos_id integer NOT NULL -); -CREATE TABLE modeledef ( - mod_id integer DEFAULT nextval(('s_modid'::text)::regclass) NOT NULL, - mod_name text NOT NULL, - mod_desc text -); -CREATE TABLE priv_user ( - priv_id integer DEFAULT nextval(('seq_priv_user'::text)::regclass) NOT NULL, - priv_jnt integer NOT NULL, - priv_priv text -); -CREATE SEQUENCE s_modid - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_jnt_use_dos - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_priv_user - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE TABLE theme ( - the_name text NOT NULL, - the_filestyle text, - the_filebutton text -); -CREATE TABLE user_global_pref ( - user_id text NOT NULL, - parameter_type text NOT NULL, - parameter_value text -); -COMMENT ON TABLE user_global_pref IS 'The user''s global parameter '; -COMMENT ON COLUMN user_global_pref.user_id IS 'user''s login '; -COMMENT ON COLUMN user_global_pref.parameter_type IS 'the type of parameter '; -COMMENT ON COLUMN user_global_pref.parameter_value IS 'the value of parameter '; -CREATE SEQUENCE users_id - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE TABLE version ( - val integer -); -CREATE INDEX fk_jnt_dos_id ON jnt_use_dos USING btree (dos_id); -CREATE INDEX fk_jnt_use_dos ON jnt_use_dos USING btree (use_id); diff --git a/sources/html/admin/sql/account_repository/sequence.sql b/sources/html/admin/sql/account_repository/sequence.sql deleted file mode 100644 index dedfacf..0000000 --- a/sources/html/admin/sql/account_repository/sequence.sql +++ /dev/null @@ -1,25 +0,0 @@ -CREATE SEQUENCE dossier_id - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_modid - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_jnt_use_dos - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_priv_user - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE users_id - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; diff --git a/sources/html/admin/sql/account_repository/table.sql b/sources/html/admin/sql/account_repository/table.sql deleted file mode 100644 index d56f15b..0000000 --- a/sources/html/admin/sql/account_repository/table.sql +++ /dev/null @@ -1,44 +0,0 @@ -CREATE TABLE ac_dossier ( - dos_id integer DEFAULT nextval(('dossier_id'::text)::regclass) NOT NULL, - dos_name text NOT NULL, - dos_description text, - dos_jnt_user integer DEFAULT 0 -); -CREATE TABLE ac_users ( - use_id integer DEFAULT nextval(('users_id'::text)::regclass) NOT NULL, - use_first_name text, - use_name text, - use_login text NOT NULL, - use_active integer DEFAULT 0, - use_pass text, - use_admin integer DEFAULT 0, - CONSTRAINT ac_users_use_active_check CHECK (((use_active = 0) OR (use_active = 1))) -); -CREATE TABLE jnt_use_dos ( - jnt_id integer DEFAULT nextval(('seq_jnt_use_dos'::text)::regclass) NOT NULL, - use_id integer NOT NULL, - dos_id integer NOT NULL -); -CREATE TABLE modeledef ( - mod_id integer DEFAULT nextval(('s_modid'::text)::regclass) NOT NULL, - mod_name text NOT NULL, - mod_desc text -); -CREATE TABLE priv_user ( - priv_id integer DEFAULT nextval(('seq_priv_user'::text)::regclass) NOT NULL, - priv_jnt integer NOT NULL, - priv_priv text -); -CREATE TABLE theme ( - the_name text NOT NULL, - the_filestyle text, - the_filebutton text -); -CREATE TABLE user_global_pref ( - user_id text NOT NULL, - parameter_type text NOT NULL, - parameter_value text -); -CREATE TABLE version ( - val integer -); diff --git a/sources/html/admin/sql/account_repository/view.sql b/sources/html/admin/sql/account_repository/view.sql deleted file mode 100644 index e69de29..0000000 diff --git a/sources/html/admin/sql/make-sql b/sources/html/admin/sql/make-sql deleted file mode 100755 index 9a733d6..0000000 --- a/sources/html/admin/sql/make-sql +++ /dev/null @@ -1,6 +0,0 @@ -for i in account_repository mod1 mod2;do -echo "In the folder $i" -cd $i -./make-sql -cd .. -done diff --git a/sources/html/admin/sql/mod1/comment.sql b/sources/html/admin/sql/mod1/comment.sql deleted file mode 100644 index 547b138..0000000 --- a/sources/html/admin/sql/mod1/comment.sql +++ /dev/null @@ -1,99 +0,0 @@ -COMMENT ON FUNCTION correct_sequence(p_sequence text, p_col text, p_table text) IS ' Often the primary key is a sequence number and sometimes the value of the sequence is not synchronized with the primary key ( p_sequence : sequence name, p_col : col of the pk,p_table : concerned table'; -COMMENT ON FUNCTION html_quote(p_string text) IS 'remove harmfull HTML char'; -COMMENT ON TABLE action IS 'The different privileges'; -COMMENT ON COLUMN action.ac_code IS 'this code will be used in the code with the function User::check_action '; -COMMENT ON TABLE action_detail IS 'Detail of action_gestion, see class Action_Detail'; -COMMENT ON COLUMN action_detail.f_id IS 'the concerned card'; -COMMENT ON COLUMN action_detail.ad_text IS ' Description '; -COMMENT ON COLUMN action_detail.ad_pu IS ' price per unit '; -COMMENT ON COLUMN action_detail.ad_quant IS 'quantity '; -COMMENT ON COLUMN action_detail.ad_tva_id IS ' tva_id '; -COMMENT ON COLUMN action_detail.ad_tva_amount IS ' tva_amount '; -COMMENT ON COLUMN action_detail.ad_total_amount IS ' total amount'; -COMMENT ON TABLE action_gestion IS 'Contains the details for the follow-up of customer, supplier, administration'; -COMMENT ON COLUMN action_gestion.ag_type IS ' type of action: see document_type '; -COMMENT ON COLUMN action_gestion.f_id_dest IS ' third party '; -COMMENT ON COLUMN action_gestion.ag_title IS ' title '; -COMMENT ON COLUMN action_gestion.ag_timestamp IS ' '; -COMMENT ON COLUMN action_gestion.ag_cal IS ' visible in the calendar if = C'; -COMMENT ON COLUMN action_gestion.ag_ref_ag_id IS ' concerning the action '; -COMMENT ON COLUMN action_gestion.ag_comment IS ' comment of the action'; -COMMENT ON COLUMN action_gestion.ag_ref IS 'its reference '; -COMMENT ON COLUMN action_gestion.ag_priority IS 'Low, medium, important '; -COMMENT ON COLUMN action_gestion.ag_dest IS ' is the person who has to take care of this action '; -COMMENT ON COLUMN action_gestion.ag_owner IS ' is the owner of this action '; -COMMENT ON COLUMN action_gestion.ag_contact IS ' contact of the third part '; -COMMENT ON COLUMN action_gestion.ag_state IS 'state of the action same as document_state '; -COMMENT ON TABLE attr_def IS 'The available attributs for the cards'; -COMMENT ON TABLE attr_min IS 'The value of attributs for the cards'; -COMMENT ON TABLE bilan IS 'contains the template and the data for generating different documents '; -COMMENT ON COLUMN bilan.b_id IS 'primary key'; -COMMENT ON COLUMN bilan.b_name IS 'Name of the document'; -COMMENT ON COLUMN bilan.b_file_template IS 'path of the template (document/...)'; -COMMENT ON COLUMN bilan.b_file_form IS 'path of the file with forms'; -COMMENT ON COLUMN bilan.b_type IS 'type = ODS, RTF...'; -COMMENT ON TABLE centralized IS 'The centralized journal'; -COMMENT ON TABLE document IS 'This table contains all the documents : summary and lob files'; -COMMENT ON TABLE document_modele IS ' contains all the template for the documents'; -COMMENT ON SEQUENCE document_seq IS 'Sequence for the sequence bound to the document modele'; -COMMENT ON TABLE document_state IS 'State of the document'; -COMMENT ON TABLE document_type IS 'Type of document : meeting, invoice,...'; -COMMENT ON TABLE extension IS 'Content the needed information for the extension'; -COMMENT ON COLUMN extension.ex_id IS 'Primary key'; -COMMENT ON COLUMN extension.ex_name IS 'code of the extension '; -COMMENT ON COLUMN extension.ex_code IS 'code of the extension '; -COMMENT ON COLUMN extension.ex_desc IS 'Description of the extension '; -COMMENT ON COLUMN extension.ex_file IS 'path to the extension to include'; -COMMENT ON COLUMN extension.ex_enable IS 'Y : enabled N : disabled '; -COMMENT ON TABLE fiche IS 'Cards'; -COMMENT ON TABLE fiche_def IS 'Cards definition'; -COMMENT ON TABLE fiche_def_ref IS 'Family Cards definition'; -COMMENT ON TABLE forecast IS 'contains the name of the forecast'; -COMMENT ON COLUMN forecast_cat.fc_id IS 'primary key'; -COMMENT ON COLUMN forecast_cat.fc_desc IS 'text of the category'; -COMMENT ON COLUMN forecast_cat.f_id IS 'Foreign key, it is the parent from the table forecast'; -COMMENT ON COLUMN forecast_cat.fc_order IS 'Order of the category, used when displaid'; -COMMENT ON COLUMN forecast_item.fi_id IS 'Primary key'; -COMMENT ON COLUMN forecast_item.fi_text IS 'Label of the i tem'; -COMMENT ON COLUMN forecast_item.fi_account IS 'Accountancy entry'; -COMMENT ON COLUMN forecast_item.fi_card IS 'Card (fiche.f_id)'; -COMMENT ON COLUMN forecast_item.fi_order IS 'Order of showing (not used)'; -COMMENT ON COLUMN forecast_item.fi_amount IS 'Amount'; -COMMENT ON COLUMN forecast_item.fi_debit IS 'possible values are D or C'; -COMMENT ON COLUMN forecast_item.fi_pid IS '0 for every month, or the value parm_periode.p_id '; -COMMENT ON TABLE form IS 'Forms content'; -COMMENT ON TABLE import_tmp IS 'Table temporaire pour l''importation des banques en format CSV'; -COMMENT ON COLUMN import_tmp.status IS 'Status w waiting, d delete t transfert'; -COMMENT ON TABLE info_def IS 'Contains the types of additionnal info we can add to a operation'; -COMMENT ON TABLE jnt_fic_att_value IS 'join between the card and the attribut definition'; -COMMENT ON TABLE jnt_fic_attr IS 'join between the family card and the attribut definition'; -COMMENT ON TABLE jrn IS 'Journal: content one line for a group of accountancy writing'; -COMMENT ON TABLE jrn_action IS 'Possible action when we are in journal (menu)'; -COMMENT ON TABLE jrn_def IS 'Definition of a journal, his properties'; -COMMENT ON TABLE jrn_rapt IS 'Rapprochement between operation'; -COMMENT ON TABLE jrn_type IS 'Type of journal (Sell, Buy, Financial...)'; -COMMENT ON TABLE jrnx IS 'Journal: content one line for each accountancy writing'; -COMMENT ON TABLE mod_payment IS 'Contains the different media of payment and the corresponding ledger'; -COMMENT ON TABLE op_predef IS 'predefined operation'; -COMMENT ON COLUMN op_predef.jrn_def_id IS 'jrn_id'; -COMMENT ON COLUMN op_predef.od_name IS 'name of the operation'; -COMMENT ON TABLE op_predef_detail IS 'contains the detail of predefined operations'; -COMMENT ON TABLE operation_analytique IS 'History of the analytic account'; -COMMENT ON TABLE parameter IS 'parameter of the company'; -COMMENT ON TABLE parm_money IS 'Currency conversion'; -COMMENT ON TABLE parm_periode IS 'Periode definition'; -COMMENT ON TABLE parm_poste IS 'Contains data for finding is the type of the account (asset)'; -COMMENT ON TABLE plan_analytique IS 'Plan Analytique (max 5)'; -COMMENT ON TABLE poste_analytique IS 'Poste Analytique'; -COMMENT ON TABLE quant_sold IS 'Contains about invoice for customer'; -COMMENT ON TABLE stock_goods IS 'About the goods'; -COMMENT ON TABLE tmp_pcmn IS 'Plan comptable minimum normalisé'; -COMMENT ON TABLE todo_list IS 'Todo list'; -COMMENT ON TABLE tva_rate IS 'Rate of vat'; -COMMENT ON TABLE user_local_pref IS 'The user''s local parameter '; -COMMENT ON COLUMN user_local_pref.user_id IS 'user''s login '; -COMMENT ON COLUMN user_local_pref.parameter_type IS 'the type of parameter '; -COMMENT ON COLUMN user_local_pref.parameter_value IS 'the value of parameter '; -COMMENT ON TABLE user_sec_extension IS 'Security for extension'; -COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family'; -COMMENT ON TRIGGER action_gestion_t_insert_update ON action_gestion IS 'Truncate the column ag_title to 70 char'; diff --git a/sources/html/admin/sql/mod1/constraint.sql b/sources/html/admin/sql/mod1/constraint.sql deleted file mode 100644 index d25f1b0..0000000 --- a/sources/html/admin/sql/mod1/constraint.sql +++ /dev/null @@ -1,236 +0,0 @@ - SET client_encoding = 'utf8'; - SET check_function_bodies = false; - SET client_min_messages = warning; -SET search_path = public, pg_catalog; -ALTER TABLE action_detail ALTER COLUMN ad_id SET DEFAULT nextval('action_detail_ad_id_seq'::regclass); -ALTER TABLE del_action ALTER COLUMN del_id SET DEFAULT nextval('del_action_del_id_seq'::regclass); -ALTER TABLE extension ALTER COLUMN ex_id SET DEFAULT nextval('extension_ex_id_seq'::regclass); -ALTER TABLE forecast ALTER COLUMN f_id SET DEFAULT nextval('forecast_f_id_seq'::regclass); -ALTER TABLE forecast_cat ALTER COLUMN fc_id SET DEFAULT nextval('forecast_cat_fc_id_seq'::regclass); -ALTER TABLE forecast_item ALTER COLUMN fi_id SET DEFAULT nextval('forecast_item_fi_id_seq'::regclass); -ALTER TABLE jnt_letter ALTER COLUMN jl_id SET DEFAULT nextval('jnt_letter_jl_id_seq'::regclass); -ALTER TABLE jrn_info ALTER COLUMN ji_id SET DEFAULT nextval('jrn_info_ji_id_seq'::regclass); -ALTER TABLE letter_cred ALTER COLUMN lc_id SET DEFAULT nextval('letter_cred_lc_id_seq'::regclass); -ALTER TABLE letter_deb ALTER COLUMN ld_id SET DEFAULT nextval('letter_deb_ld_id_seq'::regclass); -ALTER TABLE mod_payment ALTER COLUMN mp_id SET DEFAULT nextval('mod_payment_mp_id_seq'::regclass); -ALTER TABLE user_sec_extension ALTER COLUMN use_id SET DEFAULT nextval('user_sec_extension_use_id_seq'::regclass); -ALTER TABLE ONLY action_detail - ADD CONSTRAINT action_detail_pkey PRIMARY KEY (ad_id); -ALTER TABLE ONLY action_gestion - ADD CONSTRAINT action_gestion_pkey PRIMARY KEY (ag_id); -ALTER TABLE ONLY action - ADD CONSTRAINT action_pkey PRIMARY KEY (ac_id); -ALTER TABLE ONLY attr_def - ADD CONSTRAINT attr_def_pkey PRIMARY KEY (ad_id); -ALTER TABLE ONLY bilan - ADD CONSTRAINT bilan_b_name_key UNIQUE (b_name); -ALTER TABLE ONLY bilan - ADD CONSTRAINT bilan_pkey PRIMARY KEY (b_id); -ALTER TABLE ONLY centralized - ADD CONSTRAINT centralized_pkey PRIMARY KEY (c_id); -ALTER TABLE ONLY del_action - ADD CONSTRAINT del_action_pkey PRIMARY KEY (del_id); -ALTER TABLE ONLY document_modele - ADD CONSTRAINT document_modele_pkey PRIMARY KEY (md_id); -ALTER TABLE ONLY document - ADD CONSTRAINT document_pkey PRIMARY KEY (d_id); -ALTER TABLE ONLY document_state - ADD CONSTRAINT document_state_pkey PRIMARY KEY (s_id); -ALTER TABLE ONLY document_type - ADD CONSTRAINT document_type_pkey PRIMARY KEY (dt_id); -ALTER TABLE ONLY fiche_def - ADD CONSTRAINT fiche_def_pkey PRIMARY KEY (fd_id); -ALTER TABLE ONLY fiche_def_ref - ADD CONSTRAINT fiche_def_ref_pkey PRIMARY KEY (frd_id); -ALTER TABLE ONLY fiche - ADD CONSTRAINT fiche_pkey PRIMARY KEY (f_id); -ALTER TABLE ONLY forecast_cat - ADD CONSTRAINT forecast_cat_pk PRIMARY KEY (fc_id); -ALTER TABLE ONLY forecast_item - ADD CONSTRAINT forecast_item_pkey PRIMARY KEY (fi_id); -ALTER TABLE ONLY forecast - ADD CONSTRAINT forecast_pk PRIMARY KEY (f_id); -ALTER TABLE ONLY form - ADD CONSTRAINT form_pkey PRIMARY KEY (fo_id); -ALTER TABLE ONLY format_csv_banque - ADD CONSTRAINT format_csv_banque_pkey PRIMARY KEY (name); -ALTER TABLE ONLY formdef - ADD CONSTRAINT formdef_pkey PRIMARY KEY (fr_id); -ALTER TABLE ONLY operation_analytique - ADD CONSTRAINT historique_analytique_pkey PRIMARY KEY (oa_id); -ALTER TABLE ONLY extension - ADD CONSTRAINT idx_ex_code UNIQUE (ex_code); -ALTER TABLE ONLY info_def - ADD CONSTRAINT info_def_pkey PRIMARY KEY (id_type); -ALTER TABLE ONLY del_jrnx - ADD CONSTRAINT j_id PRIMARY KEY (j_id); -ALTER TABLE ONLY jnt_fic_att_value - ADD CONSTRAINT jnt_fic_att_value_pkey PRIMARY KEY (jft_id); -ALTER TABLE ONLY jnt_letter - ADD CONSTRAINT jnt_letter_pk PRIMARY KEY (jl_id); -ALTER TABLE ONLY del_jrn - ADD CONSTRAINT jr_id PRIMARY KEY (jr_id); -ALTER TABLE ONLY jrn_action - ADD CONSTRAINT jrn_action_pkey PRIMARY KEY (ja_id); -ALTER TABLE ONLY jrn_def - ADD CONSTRAINT jrn_def_jrn_def_name_key UNIQUE (jrn_def_name); -ALTER TABLE ONLY jrn_def - ADD CONSTRAINT jrn_def_pkey PRIMARY KEY (jrn_def_id); -ALTER TABLE ONLY jrn_info - ADD CONSTRAINT jrn_info_pkey PRIMARY KEY (ji_id); -ALTER TABLE ONLY jrn_periode - ADD CONSTRAINT jrn_periode_pk PRIMARY KEY (jrn_def_id, p_id); -ALTER TABLE ONLY jrn - ADD CONSTRAINT jrn_pkey PRIMARY KEY (jr_id, jr_def_id); -ALTER TABLE ONLY jrn_rapt - ADD CONSTRAINT jrn_rapt_pkey PRIMARY KEY (jra_id); -ALTER TABLE ONLY jrn_type - ADD CONSTRAINT jrn_type_pkey PRIMARY KEY (jrn_type_id); -ALTER TABLE ONLY jrnx - ADD CONSTRAINT jrnx_pkey PRIMARY KEY (j_id); -ALTER TABLE ONLY letter_cred - ADD CONSTRAINT letter_cred_pk PRIMARY KEY (lc_id); -ALTER TABLE ONLY letter_deb - ADD CONSTRAINT letter_deb_pk PRIMARY KEY (ld_id); -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_pkey PRIMARY KEY (mp_id); -ALTER TABLE ONLY op_predef - ADD CONSTRAINT op_def_op_name_key UNIQUE (od_name, jrn_def_id); -ALTER TABLE ONLY op_predef - ADD CONSTRAINT op_def_pkey PRIMARY KEY (od_id); -ALTER TABLE ONLY op_predef_detail - ADD CONSTRAINT op_predef_detail_pkey PRIMARY KEY (opd_id); -ALTER TABLE ONLY parameter - ADD CONSTRAINT parameter_pkey PRIMARY KEY (pr_id); -ALTER TABLE ONLY parm_code - ADD CONSTRAINT parm_code_pkey PRIMARY KEY (p_code); -ALTER TABLE ONLY parm_money - ADD CONSTRAINT parm_money_pkey PRIMARY KEY (pm_code); -ALTER TABLE ONLY parm_periode - ADD CONSTRAINT parm_periode_pkey PRIMARY KEY (p_id); -ALTER TABLE ONLY parm_poste - ADD CONSTRAINT parm_poste_pkey PRIMARY KEY (p_value); -ALTER TABLE ONLY extension - ADD CONSTRAINT pk_extension PRIMARY KEY (ex_id); -ALTER TABLE ONLY groupe_analytique - ADD CONSTRAINT pk_ga_id PRIMARY KEY (ga_id); -ALTER TABLE ONLY jnt_fic_attr - ADD CONSTRAINT pk_jnt_fic_attr PRIMARY KEY (jnt_id); -ALTER TABLE ONLY user_local_pref - ADD CONSTRAINT pk_user_local_pref PRIMARY KEY (user_id, parameter_type); -ALTER TABLE ONLY plan_analytique - ADD CONSTRAINT plan_analytique_pa_name_key UNIQUE (pa_name); -ALTER TABLE ONLY plan_analytique - ADD CONSTRAINT plan_analytique_pkey PRIMARY KEY (pa_id); -ALTER TABLE ONLY poste_analytique - ADD CONSTRAINT poste_analytique_pkey PRIMARY KEY (po_id); -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT qp_id_pk PRIMARY KEY (qp_id); -ALTER TABLE ONLY quant_sold - ADD CONSTRAINT qs_id_pk PRIMARY KEY (qs_id); -ALTER TABLE ONLY stock_goods - ADD CONSTRAINT stock_goods_pkey PRIMARY KEY (sg_id); -ALTER TABLE ONLY tmp_pcmn - ADD CONSTRAINT tmp_pcmn_pkey PRIMARY KEY (pcm_val); -ALTER TABLE ONLY todo_list - ADD CONSTRAINT todo_list_pkey PRIMARY KEY (tl_id); -ALTER TABLE ONLY tva_rate - ADD CONSTRAINT tva_id_pk PRIMARY KEY (tva_id); -ALTER TABLE ONLY user_sec_act - ADD CONSTRAINT user_sec_act_pkey PRIMARY KEY (ua_id); -ALTER TABLE ONLY user_sec_extension - ADD CONSTRAINT user_sec_extension_ex_id_key UNIQUE (ex_id, use_login); -ALTER TABLE ONLY user_sec_extension - ADD CONSTRAINT user_sec_extension_pkey PRIMARY KEY (use_id); -ALTER TABLE ONLY user_sec_jrn - ADD CONSTRAINT user_sec_jrn_pkey PRIMARY KEY (uj_id); -ALTER TABLE ONLY jrn - ADD CONSTRAINT ux_internal UNIQUE (jr_internal); -ALTER TABLE ONLY centralized - ADD CONSTRAINT "$1" FOREIGN KEY (c_jrn_def) REFERENCES jrn_def(jrn_def_id); -ALTER TABLE ONLY user_sec_act - ADD CONSTRAINT "$1" FOREIGN KEY (ua_act_id) REFERENCES action(ac_id); -ALTER TABLE ONLY fiche_def - ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES fiche_def_ref(frd_id); -ALTER TABLE ONLY attr_min - ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES fiche_def_ref(frd_id); -ALTER TABLE ONLY fiche - ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES fiche_def(fd_id); -ALTER TABLE ONLY jnt_fic_att_value - ADD CONSTRAINT "$1" FOREIGN KEY (f_id) REFERENCES fiche(f_id); -ALTER TABLE ONLY attr_value - ADD CONSTRAINT "$1" FOREIGN KEY (jft_id) REFERENCES jnt_fic_att_value(jft_id); -ALTER TABLE ONLY jnt_fic_attr - ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES fiche_def(fd_id); -ALTER TABLE ONLY jrn - ADD CONSTRAINT "$1" FOREIGN KEY (jr_def_id) REFERENCES jrn_def(jrn_def_id); -ALTER TABLE ONLY jrn_action - ADD CONSTRAINT "$1" FOREIGN KEY (ja_jrn_type) REFERENCES jrn_type(jrn_type_id); -ALTER TABLE ONLY jrn_def - ADD CONSTRAINT "$1" FOREIGN KEY (jrn_def_type) REFERENCES jrn_type(jrn_type_id); -ALTER TABLE ONLY jrnx - ADD CONSTRAINT "$2" FOREIGN KEY (j_jrn_def) REFERENCES jrn_def(jrn_def_id); -ALTER TABLE ONLY attr_min - ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id); -ALTER TABLE ONLY jnt_fic_att_value - ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id); -ALTER TABLE ONLY jnt_fic_attr - ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id); -ALTER TABLE ONLY action_detail - ADD CONSTRAINT action_detail_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY forecast_item - ADD CONSTRAINT card FOREIGN KEY (fi_card) REFERENCES fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY forecast_item - ADD CONSTRAINT fk_forecast FOREIGN KEY (fc_id) REFERENCES forecast_cat(fc_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY jrn_info - ADD CONSTRAINT fk_info_def FOREIGN KEY (id_type) REFERENCES info_def(id_type) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY jrn_info - ADD CONSTRAINT fk_jrn FOREIGN KEY (jr_id) REFERENCES jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY groupe_analytique - ADD CONSTRAINT fk_pa_id FOREIGN KEY (pa_id) REFERENCES plan_analytique(pa_id) ON DELETE CASCADE; -ALTER TABLE ONLY jrnx - ADD CONSTRAINT fk_pcmn_val FOREIGN KEY (j_poste) REFERENCES tmp_pcmn(pcm_val); -ALTER TABLE ONLY centralized - ADD CONSTRAINT fk_pcmn_val FOREIGN KEY (c_poste) REFERENCES tmp_pcmn(pcm_val); -ALTER TABLE ONLY stock_goods - ADD CONSTRAINT fk_stock_good_f_id FOREIGN KEY (f_id) REFERENCES fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY forecast_cat - ADD CONSTRAINT forecast_child FOREIGN KEY (f_id) REFERENCES forecast(f_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY form - ADD CONSTRAINT formdef_fk FOREIGN KEY (fo_fr_id) REFERENCES formdef(fr_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY letter_cred - ADD CONSTRAINT jnt_cred_fk FOREIGN KEY (jl_id) REFERENCES jnt_letter(jl_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY letter_deb - ADD CONSTRAINT jnt_deb_fk FOREIGN KEY (jl_id) REFERENCES jnt_letter(jl_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY op_predef - ADD CONSTRAINT jrn_def_id_fk FOREIGN KEY (jrn_def_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY jrn_periode - ADD CONSTRAINT jrn_per_jrn_def_id FOREIGN KEY (jrn_def_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY jrn_periode - ADD CONSTRAINT jrn_periode_p_id FOREIGN KEY (p_id) REFERENCES parm_periode(p_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY letter_cred - ADD CONSTRAINT letter_cred_fk FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY letter_deb - ADD CONSTRAINT letter_deb_fk FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY document_modele - ADD CONSTRAINT md_type FOREIGN KEY (md_type) REFERENCES document_type(dt_id); -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_mp_fd_id_fkey FOREIGN KEY (mp_fd_id) REFERENCES fiche_def(fd_id); -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_mp_jrn_def_id_fkey FOREIGN KEY (mp_jrn_def_id) REFERENCES jrn_def(jrn_def_id); -ALTER TABLE ONLY operation_analytique - ADD CONSTRAINT operation_analytique_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY operation_analytique - ADD CONSTRAINT operation_analytique_po_id_fkey FOREIGN KEY (po_id) REFERENCES poste_analytique(po_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY poste_analytique - ADD CONSTRAINT poste_analytique_pa_id_fkey FOREIGN KEY (pa_id) REFERENCES plan_analytique(pa_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT qp_vat_code_fk FOREIGN KEY (qp_vat_code) REFERENCES tva_rate(tva_id); -ALTER TABLE ONLY quant_sold - ADD CONSTRAINT qs_vat_code_fk FOREIGN KEY (qs_vat_code) REFERENCES tva_rate(tva_id); -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT quant_purchase_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY quant_sold - ADD CONSTRAINT quant_sold_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY user_sec_jrn - ADD CONSTRAINT uj_priv_id_fkey FOREIGN KEY (uj_jrn_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; diff --git a/sources/html/admin/sql/mod1/data.sql b/sources/html/admin/sql/mod1/data.sql deleted file mode 100644 index 068950c..0000000 --- a/sources/html/admin/sql/mod1/data.sql +++ /dev/null @@ -1,1491 +0,0 @@ - -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = off; -SET check_function_bodies = false; -SET client_min_messages = warning; -SET escape_string_warning = off; - -SET search_path = public, pg_catalog; - - -SELECT pg_catalog.setval('action_detail_ad_id_seq', 1, false); - - - -SELECT pg_catalog.setval('action_gestion_ag_id_seq', 1, false); - - - -SELECT pg_catalog.setval('bilan_b_id_seq', 4, true); - - - -SELECT pg_catalog.setval('bud_card_bc_id_seq', 1, false); - - - -SELECT pg_catalog.setval('bud_detail_bd_id_seq', 1, false); - - - -SELECT pg_catalog.setval('bud_detail_periode_bdp_id_seq', 1, false); - - - -SELECT pg_catalog.setval('del_action_del_id_seq', 1, false); - - - -SELECT pg_catalog.setval('document_d_id_seq', 1, false); - - - -SELECT pg_catalog.setval('document_modele_md_id_seq', 1, false); - - - -SELECT pg_catalog.setval('document_seq', 1, false); - - - -SELECT pg_catalog.setval('document_state_s_id_seq', 3, true); - - - -SELECT pg_catalog.setval('document_type_dt_id_seq', 25, false); - - - -SELECT pg_catalog.setval('extension_ex_id_seq', 1, true); - - - -SELECT pg_catalog.setval('forecast_cat_fc_id_seq', 1, false); - - - -SELECT pg_catalog.setval('forecast_f_id_seq', 1, false); - - - -SELECT pg_catalog.setval('forecast_item_fi_id_seq', 1, false); - - - -SELECT pg_catalog.setval('historique_analytique_ha_id_seq', 1, false); - - - -SELECT pg_catalog.setval('s_jnt_id', 53, true); - - - -SELECT pg_catalog.setval('jnt_letter_jl_id_seq', 1, false); - - - -SELECT pg_catalog.setval('jrn_info_ji_id_seq', 1, false); - - - -SELECT pg_catalog.setval('letter_cred_lc_id_seq', 1, false); - - - -SELECT pg_catalog.setval('letter_deb_ld_id_seq', 1, false); - - - -SELECT pg_catalog.setval('mod_payment_mp_id_seq', 10, true); - - - -SELECT pg_catalog.setval('op_def_op_seq', 1, false); - - - -SELECT pg_catalog.setval('op_predef_detail_opd_id_seq', 1, false); - - - -SELECT pg_catalog.setval('s_oa_group', 1, true); - - - -SELECT pg_catalog.setval('plan_analytique_pa_id_seq', 1, false); - - - -SELECT pg_catalog.setval('poste_analytique_po_id_seq', 1, false); - - - -SELECT pg_catalog.setval('s_attr_def', 27, true); - - - -SELECT pg_catalog.setval('s_cbc', 1, false); - - - -SELECT pg_catalog.setval('s_central', 1, false); - - - -SELECT pg_catalog.setval('s_central_order', 1, false); - - - -SELECT pg_catalog.setval('s_centralized', 1, false); - - - -SELECT pg_catalog.setval('s_currency', 1, true); - - - -SELECT pg_catalog.setval('s_fdef', 6, true); - - - -SELECT pg_catalog.setval('s_fiche', 20, true); - - - -SELECT pg_catalog.setval('s_fiche_def_ref', 16, true); - - - -SELECT pg_catalog.setval('s_form', 1, false); - - - -SELECT pg_catalog.setval('s_formdef', 1, false); - - - -SELECT pg_catalog.setval('s_grpt', 2, true); - - - -SELECT pg_catalog.setval('s_idef', 1, false); - - - -SELECT pg_catalog.setval('s_internal', 1, false); - - - -SELECT pg_catalog.setval('s_invoice', 1, false); - - - -SELECT pg_catalog.setval('s_isup', 1, false); - - - -SELECT pg_catalog.setval('s_jnt_fic_att_value', 371, true); - - - -SELECT pg_catalog.setval('s_jrn', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_1', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_2', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_3', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_4', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_def', 5, false); - - - -SELECT pg_catalog.setval('s_jrn_op', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_pj1', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_pj2', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_pj3', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_pj4', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_rapt', 1, false); - - - -SELECT pg_catalog.setval('s_jrnaction', 5, true); - - - -SELECT pg_catalog.setval('s_jrnx', 1, false); - - - -SELECT pg_catalog.setval('s_periode', 91, true); - - - -SELECT pg_catalog.setval('s_quantity', 7, true); - - - -SELECT pg_catalog.setval('s_stock_goods', 1, false); - - - -SELECT pg_catalog.setval('s_tva', 1001, true); - - - -SELECT pg_catalog.setval('s_user_act', 1, false); - - - -SELECT pg_catalog.setval('s_user_jrn', 1, false); - - - -SELECT pg_catalog.setval('seq_bud_hypothese_bh_id', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_1', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_10', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_2', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_20', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_21', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_22', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_3', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_4', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_5', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_6', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_7', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_8', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_9', 1, false); - - - -SELECT pg_catalog.setval('todo_list_tl_id_seq', 1, false); - - - -SELECT pg_catalog.setval('user_sec_extension_use_id_seq', 1, true); - - - -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (313, 'Administration', 'gestion', 'GEADM'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1600, 'Gestion des extensions', 'extension', 'EXTENSION'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1701, 'Consultation', 'prvision', 'PREVCON'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1702, 'Modification et cration', 'prvision', 'PREVMOD'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1135, 'Ajoute ou modifie des catégories de documents', 'parametre', 'PARCATDOC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (210, 'Ajout de plan analytique', 'compta_anal', 'CAPA'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (220, 'Ajout de poste analytique', 'compta_anal', 'CAPO'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (230, 'Ajout de groupe analytique', 'compta_anal', 'CAGA'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (235, 'Ajout d''operation diverses', 'compta_anal', 'CAOD'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (240, 'Impression', 'compta_anal', 'CAIMP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (300, 'Gestion', 'gestion', 'GESTION'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (305, 'Import en Banque', 'gestion', 'GEBQ'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (307, 'Effacement d''opération', 'gestion', 'GEOP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (310, 'Courrier (lecture & écriture)', 'gestion', 'GECOUR'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (311, 'Fournisseur', 'gestion', 'GESUPPL'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (312, 'Client', 'gestion', 'GECUST'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (700, 'Rapport', 'impression', 'IMPRAP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (710, 'Journaux', 'impression', 'IMPJRN'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (720, 'Fiche', 'impression', 'IMPFIC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (730, 'Poste', 'impression', 'IMPPOSTE'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (740, 'Bilan', 'impression', 'IMPBIL'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (750, 'Balance', 'impression', 'IMPBAL'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (800, 'Ajout de fiche', 'fiche', 'FICADD'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (805, 'Création, modification et effacement de fiche', 'fiche', 'FIC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (910, 'création, modification et effacement de catégorie de fiche', 'fiche', 'FICCAT'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1100, 'Mode comptabilité analytique', 'parametre', 'PARCA'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1110, 'Ajout de période', 'parametre', 'PARPER'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1120, 'Catégorie des fiches', 'parametre', 'PARFIC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1130, 'Document', 'parametre', 'PARDOC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1140, 'Modification journaux', 'parametre', 'PARJRN'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1150, 'TVA', 'parametre', 'PARTVA'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1160, 'Moyen de paiement', 'parametre', 'PARMP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1180, 'Clôture ', 'parametre', 'PARCLO'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1185, 'Changement du plan comptable ', 'parametre', 'PARPCMN'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1170, 'Poste Comptable de base', 'parametre', 'PARPOS'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1190, 'Centralisation', 'parametre', 'PARCENT'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1200, 'Écriture d''ouverture', 'parametre', 'PAREO'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1210, 'Mode strict', 'parametre', 'PARSTR'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1220, 'Coordonnées société', 'parametre', 'PARCOORD'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1230, 'Création de rapport', 'parametre', 'PARRAP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1240, 'Effacement et création d''opération prédéfinie', 'parametre', 'PARPREDE'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1245, 'Sécurité du dossier', 'parametre', 'PARSEC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1500, 'Stock (lecture)', 'stock', 'STOLE'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1510, 'Stock (changement)', 'stock', 'STOWRITE'); - - - - - - - - - -INSERT INTO attr_def (ad_id, ad_text) VALUES (1, 'Nom'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (2, 'Taux TVA'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (3, 'Numéro de compte'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (4, 'Nom de la banque'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (5, 'Poste Comptable'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (6, 'Prix vente'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (7, 'Prix achat'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (8, 'Durée Amortissement'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (9, 'Description'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (10, 'Date début'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (11, 'Montant initial'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (12, 'Personne de contact '); -INSERT INTO attr_def (ad_id, ad_text) VALUES (13, 'numéro de tva '); -INSERT INTO attr_def (ad_id, ad_text) VALUES (14, 'Adresse '); -INSERT INTO attr_def (ad_id, ad_text) VALUES (16, 'pays '); -INSERT INTO attr_def (ad_id, ad_text) VALUES (17, 'téléphone '); -INSERT INTO attr_def (ad_id, ad_text) VALUES (18, 'email '); -INSERT INTO attr_def (ad_id, ad_text) VALUES (19, 'Gestion stock'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (20, 'Partie fiscalement non déductible'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (21, 'TVA non déductible'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (22, 'TVA non déductible récupérable par l''impôt'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (23, 'Quick Code'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (24, 'Ville'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (25, 'Société'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (26, 'Fax'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (27, 'GSM'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (15, 'code postal'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (30, 'Numero de client'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (31, 'Dpense charge du grant (partie prive)'); - - - -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 2); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 2); -INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 2); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 3); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 4); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 13); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 14); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 15); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 16); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 17); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 18); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 13); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 14); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 15); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 16); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 17); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 18); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 13); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 14); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 16); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 17); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 18); -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 6); -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 7); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 6); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 7); -INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 7); -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 19); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 19); -INSERT INTO attr_min (frd_id, ad_id) VALUES (14, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 4); -INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 10); -INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 4); -INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 10); -INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (10, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (10, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (11, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (11, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (12, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (12, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (13, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (13, 9); -INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 8); -INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 9); -INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 10); -INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 11); -INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 11); -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 15); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 15); -INSERT INTO attr_min (frd_id, ad_id) VALUES (15, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (15, 9); -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (10, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (11, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (12, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (13, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (14, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (15, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 24); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 24); -INSERT INTO attr_min (frd_id, ad_id) VALUES (14, 24); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 17); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 18); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 25); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 26); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 27); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 4); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 3); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 5); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 15); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 16); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 24); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 30); - - - - - - -INSERT INTO bilan (b_id, b_name, b_file_template, b_file_form, b_type) VALUES (1, 'Bilan Belge complet', 'document/fr_be/bnb.rtf', 'document/fr_be/bnb.form', 'RTF'); - - - - - - - - - - - - - - - - - - - - - -INSERT INTO document_state (s_id, s_value) VALUES (1, 'Clôturé'); -INSERT INTO document_state (s_id, s_value) VALUES (2, 'A suivre'); -INSERT INTO document_state (s_id, s_value) VALUES (3, 'A faire'); -INSERT INTO document_state (s_id, s_value) VALUES (4, 'Abandonné'); - - - -INSERT INTO document_type (dt_id, dt_value) VALUES (1, 'Document Interne'); -INSERT INTO document_type (dt_id, dt_value) VALUES (2, 'Bons de commande client'); -INSERT INTO document_type (dt_id, dt_value) VALUES (3, 'Bon de commande Fournisseur'); -INSERT INTO document_type (dt_id, dt_value) VALUES (4, 'Facture'); -INSERT INTO document_type (dt_id, dt_value) VALUES (5, 'Lettre de rappel'); -INSERT INTO document_type (dt_id, dt_value) VALUES (6, 'Courrier'); -INSERT INTO document_type (dt_id, dt_value) VALUES (7, 'Proposition'); -INSERT INTO document_type (dt_id, dt_value) VALUES (8, 'Email'); -INSERT INTO document_type (dt_id, dt_value) VALUES (9, 'Divers'); -INSERT INTO document_type (dt_id, dt_value) VALUES (10, 'Note de frais'); -INSERT INTO document_type (dt_id, dt_value) VALUES (20, 'Réception commande Fournisseur'); -INSERT INTO document_type (dt_id, dt_value) VALUES (21, 'Réception commande Client'); -INSERT INTO document_type (dt_id, dt_value) VALUES (22, 'Réception magazine'); - - - -INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, frd_id) VALUES (2, '400', 'Client', true, 9); -INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, frd_id) VALUES (1, '604', 'Marchandises', true, 2); -INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, frd_id) VALUES (3, '5500', 'Banque', true, 4); -INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, frd_id) VALUES (4, '440', 'Fournisseur', true, 8); -INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, frd_id) VALUES (5, '61', 'S & B D', true, 3); -INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, frd_id) VALUES (6, '700', 'Vente', true, 1); - - - -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (1, 'Vente Service', 700); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (2, 'Achat Marchandises', 604); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (3, 'Achat Service et biens divers', 61); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (4, 'Banque', 5500); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (5, 'Prêt > a un an', 17); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (6, 'Prêt < a un an', 430); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (8, 'Fournisseurs', 440); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (9, 'Clients', 400); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (10, 'Salaire Administrateur', 6200); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (11, 'Salaire Ouvrier', 6203); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (12, 'Salaire Employé', 6202); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (13, 'Dépenses non admises', 674); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (14, 'Administration des Finances', NULL); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (15, 'Autres fiches', NULL); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (7, 'Matériel à amortir', 2400); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (16, 'Contact', NULL); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (25, 'Compte Salarié / Administrateur', NULL); - - - - - - - - - - - - -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000398, 3000000, 1, 'Prestation [ case 03 ]', '[700%]-[7000005]'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000399, 3000000, 2, 'Prestation intra [ case 47 ]', '[7000005]'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000400, 3000000, 3, 'Tva due [case 54]', '[4513]+[4512]+[4511] FROM=01.2005'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000401, 3000000, 4, 'Marchandises, matière première et auxiliaire [case 81 ]', '[60%]'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000402, 3000000, 7, 'Service et bien divers [case 82]', '[61%]'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000403, 3000000, 8, 'bien d''invest [ case 83 ]', '[2400%]'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000404, 3000000, 9, 'TVA déductible [ case 59 ]', 'abs([4117]-[411%])'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000405, 3000000, 8, 'TVA non ded -> voiture', '[610022]*0.21/2'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000406, 3000000, 9, 'Acompte TVA', '[4117]'); - - - -INSERT INTO format_csv_banque (name, include_file) VALUES ('Fortis', 'fortis_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('EUB', 'eub_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('ING', 'ing_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('CBC', 'cbc_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('Argenta Belgique', 'argenta_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('CBC Belgique', 'cbc_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('Dexia', 'dexia_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('VMS Keytrade', 'keytrade_be.inc.php'); - - - -INSERT INTO formdef (fr_id, fr_label) VALUES (3000000, 'TVA déclaration Belge'); - - - - - - - - - -INSERT INTO info_def (id_type, id_description) VALUES ('BON_COMMANDE', 'Numero de bon de commande'); -INSERT INTO info_def (id_type, id_description) VALUES ('OTHER', 'Info diverses'); - - - - - - -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 1, 16, 0); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 1, 27, 0); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 1, 36, 0); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 1, 40, 0); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 4, 18, 2); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 12, 19, 3); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 19, 44, 2); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 13, 9, 31); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 13, 20, 31); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 13, 29, 31); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 2, 3, 1); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 12, 8, 1); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 3, 17, 1); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 12, 28, 1); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 2, 37, 1); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 2, 41, 1); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 6, 4, 120); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 6, 42, 120); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 7, 5, 130); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 7, 38, 130); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 7, 43, 130); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 14, 10, 40); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 14, 21, 40); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 14, 30, 40); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 16, 12, 70); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 16, 23, 70); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 16, 32, 70); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 17, 13, 80); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 17, 24, 80); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 17, 33, 80); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 18, 14, 90); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 18, 25, 90); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 18, 34, 90); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 23, 45, 400); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 23, 46, 400); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 23, 47, 400); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 23, 48, 400); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 23, 49, 400); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 23, 50, 400); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 24, 51, 60); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 24, 52, 60); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 15, 11, 50); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 15, 22, 50); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 15, 31, 50); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 5, 1, 30); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 5, 6, 30); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 5, 15, 30); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 5, 26, 30); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 5, 35, 30); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 5, 39, 30); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 1, 2, 0); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 1, 7, 0); - - - - - - - - - -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (2, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'VEN'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (4, 'Voir Impayés', 'Voir toutes les factures non payées', 'user_jrn.php', 'action=voir_jrn_non_paye', 'FR', 'VEN'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (1, 'Nouvelle', 'Création d''une facture', 'user_jrn.php', 'action=insert_vente&blank', 'FR', 'VEN'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (10, 'Nouveau', 'Encode un nouvel achat (matériel, marchandises, services et biens divers)', 'user_jrn.php', 'action=new&blank', 'FR', 'ACH'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (12, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'ACH'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (14, 'Voir Impayés', 'Voir toutes les factures non payées', 'user_jrn.php', 'action=voir_jrn_non_paye', 'FR', 'ACH'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (20, 'Nouveau', 'Encode un nouvel achat (matériel, marchandises, services et biens divers)', 'user_jrn.php', 'action=new&blank', 'FR', 'FIN'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (22, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'FIN'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (30, 'Nouveau', NULL, 'user_jrn.php', 'action=new&blank', 'FR', 'ODS'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (32, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'ODS'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (40, 'Soldes', 'Voir les soldes des comptes en banques', 'user_jrn.php', 'action=solde', 'FR', 'FIN'); - - - -INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, jrn_def_pj_pref) VALUES (4, 'Opération Diverses', NULL, NULL, NULL, NULL, 5, 5, false, NULL, 'ODS', 'ODS-01', 'ODS'); -INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, jrn_def_pj_pref) VALUES (1, 'Financier', '5* ', '5*', '3,2,4', '3,2,4', 5, 5, false, NULL, 'FIN', 'FIN-01', 'FIN'); -INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, jrn_def_pj_pref) VALUES (3, 'Achat', '6*', '4*', '5', '4', 1, 3, true, 'échéance', 'ACH', 'ACH-01', 'ACH'); -INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, jrn_def_pj_pref) VALUES (2, 'Vente', '4*', '7*', '2', '6', 2, 1, true, 'échéance', 'VEN', 'VEN-01', 'VEN'); - - - - - - -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 79, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 79, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 79, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 79, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 80, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 80, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 80, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 80, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 81, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 81, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 81, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 81, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 82, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 82, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 82, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 82, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 83, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 83, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 83, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 83, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 84, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 84, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 84, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 84, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 85, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 85, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 85, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 85, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 86, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 86, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 86, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 86, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 87, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 87, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 87, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 87, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 88, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 88, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 88, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 88, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 89, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 89, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 89, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 89, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 90, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 90, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 90, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 90, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 91, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 91, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 91, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 91, 'OP'); - - - - - - -INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('FIN', 'Financier'); -INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('VEN', 'Vente'); -INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('ACH', 'Achat'); -INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('ODS', 'Opérations Diverses'); - - - - - - - - - - - - -INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, mp_qcode) VALUES (2, 'Caisse', 1, 'VEN', NULL, NULL); -INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, mp_qcode) VALUES (4, 'Caisse', 1, 'ACH', NULL, NULL); -INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, mp_qcode) VALUES (1, 'Paiement électronique', 1, 'VEN', NULL, NULL); -INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, mp_qcode) VALUES (3, 'Par gérant ou administrateur', 2, 'ACH', NULL, NULL); - - - - - - - - - - - - -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_NAME', NULL); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_CP', NULL); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_COMMUNE', NULL); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_TVA', NULL); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_STREET', NULL); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_NUMBER', NULL); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_TEL', NULL); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_PAYS', NULL); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_FAX', NULL); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_ANALYTIC', 'nu'); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_COUNTRY', 'BE'); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_STRICT', 'Y'); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_TVA_USE', 'Y'); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_PJ_SUGGEST', 'Y'); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_CHECK_PERIODE', 'N'); - - - -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('DNA', '6740', 'Dépense non déductible'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('CUSTOMER', '400', 'Poste comptable de base pour les clients'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('COMPTE_TVA', '451', 'TVA à payer'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('BANQUE', '550', 'Poste comptable de base pour les banques'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('VIREMENT_INTERNE', '58', 'Poste Comptable pour les virements internes'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('COMPTE_COURANT', '56', 'Poste comptable pour le compte courant'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('CAISSE', '57', 'Poste comptable pour la caisse'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('TVA_DNA', '6740', 'Tva non déductible s'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('TVA_DED_IMPOT', '619000', 'Tva déductible par l''impôt'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('VENTE', '70', 'Poste comptable de base pour les ventes'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('DEP_PRIV', '4890', 'Depense a charge du gerant'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('SUPPLIER', '440', 'Poste par défaut pour les fournisseurs'); - - - -INSERT INTO parm_money (pm_id, pm_code, pm_rate) VALUES (1, 'EUR', 1.0000); - - - -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (79, '2010-01-01', '2010-01-31', '2010', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (80, '2010-02-01', '2010-02-28', '2010', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (81, '2010-03-01', '2010-03-31', '2010', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (82, '2010-04-01', '2010-04-30', '2010', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (83, '2010-05-01', '2010-05-31', '2010', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (84, '2010-06-01', '2010-06-30', '2010', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (85, '2010-07-01', '2010-07-31', '2010', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (86, '2010-08-01', '2010-08-31', '2010', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (87, '2010-09-01', '2010-09-30', '2010', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (88, '2010-10-01', '2010-10-31', '2010', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (89, '2010-11-01', '2010-11-30', '2010', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (90, '2010-12-01', '2010-12-30', '2010', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (91, '2010-12-31', '2010-12-31', '2010', false, false); - - - -INSERT INTO parm_poste (p_value, p_type) VALUES ('1', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('101', 'PASINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('141', 'PASINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('42', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('43', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('44', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('45', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('46', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('47', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('48', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('492', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('493', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('2', 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('2409', 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('3', 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('5', 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('491', 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('490', 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('6', 'CHA'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('7', 'PRO'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('4', 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('40', 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('5501', 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('5511', 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('5521', 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('5531', 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('5541', 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('5551', 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('5561', 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('5571', 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('5581', 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('5591', 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('6311', 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('6321', 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('6331', 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('6341', 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('6351', 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('6361', 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('6371', 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('649', 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('6511', 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('6701', 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('608', 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('709', 'PROINV'); - - - - - - - - - - - - - - - - - - -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('794', 'Intervention d''associés (ou du propriétaire) dans la perte', '79', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1', 'Fonds propres, provisions pour risques et charges à plus d''un an', '0', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2', 'Frais d''établissement, actifs immobilisés et créances à plus d''un an', '0', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('3', 'Stocks et commandes en cours d''éxécution', '0', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4', 'Créances et dettes à un an au plus', '0', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5', 'Placements de trésorerie et valeurs disponibles', '0', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6', 'Charges', '0', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('7', 'Produits', '0', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4000001', 'Client 1', '400', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4000002', 'Client 2', '400', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4000003', 'Client 3', '400', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6040001', 'Electricité', '604', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6040002', 'Loyer', '604', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('55000002', 'Banque 1', '5500', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('55000003', 'Banque 2', '5500', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4400001', 'Fournisseur 1', '440', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4400002', 'Fournisseur 2', '440', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4400003', 'Fournisseur 4', '440', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('610001', 'Electricité', '61', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('610002', 'Loyer', '61', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('610003', 'Assurance', '61', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('610004', 'Matériel bureau', '61', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('7000002', 'Marchandise A', '700', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('7000001', 'Prestation', '700', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('7000003', 'Déplacement', '700', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('101', 'Capital non appelé', '10', 'PASINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6190', 'TVA récupérable par l''impôt', '61', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6740', 'Dépense non admise', '67', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('9', 'Comptes hors Compta', '0', 'CON'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('100', 'Capital souscrit', '10', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1311', 'Autres réserves indisponibles', '131', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('132', ' Réserves immunisées', '13', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6711', 'Suppléments d''impôts estimés', '671', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6712', 'Provisions fiscales constituées', '671', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('672', 'Impôts étrangers sur le résultat de l''exercice', '67', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('673', 'Impôts étrangers sur le résultat d''exercice antérieures', '67', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('68', 'Transferts aux réserves immunisées', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('69', 'Affectations et prélévements', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('690', 'Perte reportée de l''exercice précédent', '69', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('691', 'Dotation à la réserve légale', '69', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('692', 'Dotation aux autres réserves', '69', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('693', 'Bénéfice à reporter', '69', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('694', 'Rémunération du capital', '69', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('695', 'Administrateurs ou gérants', '69', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('696', 'Autres allocataires', '69', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('70', 'Chiffre d''affaire', '7', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('700', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('701', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('702', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('703', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('704', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('706', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('707', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('709', 'Remises, ristournes et rabais accordés(-)', '70', 'PROINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('71', 'Variations des stocks et commandes en cours d''éxécution', '7', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('712', 'des en-cours de fabrication', '71', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('713', 'des produits finis', '71', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('715', 'des immeubles construits destinés à la vente', '71', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('717', ' des commandes en cours d''éxécution', '71', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('7170', 'Valeur d''acquisition', '717', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('7171', 'Bénéfice pris en compte', '717', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('72', 'Production immobilisée', '7', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('74', 'Autres produits d''exploitation', '7', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('740', 'Subsides d'' exploitation et montants compensatoires', '74', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('741', 'Plus-values sur réalisation courantes d'' immobilisations corporelles', '74', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('742', 'Plus-values sur réalisations de créances commerciales', '74', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('743', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('744', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('745', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('746', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('747', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('748', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('75', 'Produits financiers', '7', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('750', 'Produits sur immobilisations financières', '75', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('751', 'Produits des actifs circulants', '75', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('752', 'Plus-value sur réalisations d''actis circulants', '75', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('753', 'Subsides en capital et intérêts', '75', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('754', 'Différences de change', '75', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('755', 'Ecarts de conversion des devises', '75', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('221', 'Construction', '22', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('756', 'Produits financiers divers', '75', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('757', 'Produits financiers divers', '75', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('758', 'Produits financiers divers', '75', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('759', 'Produits financiers divers', '75', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('76', 'Produits exceptionnels', '7', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('760', 'Reprise d''amortissements et de réductions de valeur', '76', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('7601', 'sur immobilisations corporelles', '760', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('7602', 'sur immobilisations incorporelles', '760', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('761', 'Reprises de réductions de valeur sur immobilisations financières', '76', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('762', 'Reprises de provisions pour risques et charges exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('763', 'Plus-value sur réalisation d''actifs immobilisé', '76', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('764', 'Autres produits exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('765', 'Autres produits exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('766', 'Autres produits exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('767', 'Autres produits exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('768', 'Autres produits exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('769', 'Autres produits exceptionnels', '76', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('77', 'Régularisations d''impôts et reprises de provisions fiscales', '7', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('771', 'impôts belges sur le résultat', '77', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('7710', 'Régularisations d''impôts dus ou versé', '771', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('7711', 'Régularisations d''impôts estimés', '771', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('7712', 'Reprises de provisions fiscales', '771', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('773', 'Impôts étrangers sur le résultats', '77', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('79', 'Affectations et prélévements', '7', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('790', 'Bénéfice reporté de l''exercice précédent', '79', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('791', 'Prélévement sur le capital et les primes d''émission', '79', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('792', 'Prélévement sur les réserves', '79', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('793', 'Perte à reporter', '79', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6301', 'Dotations aux amortissements sur immobilisations incorporelles', '630', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6302', 'Dotations aux amortissements sur immobilisations corporelles', '630', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6308', 'Dotations aux réductions de valeur sur immobilisations incorporelles', '630', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6309', 'Dotations aux réductions de valeur sur immobilisations corporelles', '630', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('631', 'Réductions de valeur sur stocks', '63', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6310', 'Dotations', '631', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6311', 'Reprises(-)', '631', 'CHAINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('632', 'Réductions de valeur sur commande en cours d''éxécution', '63', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6320', 'Dotations', '632', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6321', 'Reprises(-)', '632', 'CHAINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('633', 'Réductions de valeurs sur créances commerciales à plus d''un an', '63', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6330', 'Dotations', '633', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6331', 'Reprises(-)', '633', 'CHAINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('634', 'Réductions de valeur sur créances commerciales à un an au plus', '63', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6340', 'Dotations', '634', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6341', 'Reprise', '634', 'CHAINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('635', 'Provisions pour pensions et obligations similaires', '63', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6350', 'Dotations', '635', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6351', 'Utilisation et reprises', '635', 'CHAINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('636', 'Provisions pour grosses réparations et gros entretien', '63', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6360', 'Dotations', '636', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6361', 'Reprises(-)', '636', 'CHAINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('637', 'Provisions pour autres risques et charges', '63', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6370', 'Dotations', '637', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6371', 'Reprises(-)', '637', 'CHAINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('64', 'Autres charges d''exploitation', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('640', 'Charges fiscales d''exploitation', '64', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('641', 'Moins-values sur réalisations courantes d''immobilisations corporelles', '64', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('642', 'Moins-value sur réalisation de créances commerciales', '64', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('643', 'Charges d''exploitations', '64', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('644', 'Charges d''exploitations', '64', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('645', 'Charges d''exploitations', '64', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('646', 'Charges d''exploitations', '64', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('647', 'Charges d''exploitations', '64', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('648', 'Charges d''exploitations', '64', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('649', 'Charges d''exploitation portées à l''actif au titre de frais de restructuration(-)', '64', 'CHAINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('65', 'Charges financières', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('650', 'Charges des dettes', '65', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6500', 'Intérêts, commmissions et frais afférents aux dettes', '650', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6501', 'Amortissements des frais d''émissions d''emrunts et des primes de remboursement', '650', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6502', 'Autres charges des dettes', '650', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6503', 'Intérêts intercalaires portés à l''actif(-)', '650', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('651', 'Réductions de valeur sur actifs circulants', '65', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6510', 'Dotations', '651', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6511', 'Reprises(-)', '651', 'CHAINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('652', 'Moins-value sur réalisation d''actifs circulants', '65', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('653', 'Charges d''escompte de créances', '65', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('654', 'Différences de changes', '65', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('655', 'Ecarts de conversion des devises', '65', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('656', 'Charges financières diverses', '65', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('657', 'Charges financières diverses', '65', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('658', 'Charges financières diverses', '65', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('659', 'Charges financières diverses', '65', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('66', 'Charges exceptionnelles', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('660', 'Amortissements et réductions de valeur exceptionnels (dotations)', '66', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6600', 'sur frais d''établissement', '660', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6601', 'sur immobilisations incorporelles', '660', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6602', 'sur immobilisations corporelles', '660', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('661', 'Réductions de valeur sur immobilisations financières (dotations)', '66', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('662', 'Provisions pour risques et charges exceptionnels', '66', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('663', 'Moins-values sur réalisations d''actifs immobilisés', '66', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('664', 'Autres charges exceptionnelles', '66', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('665', 'Autres charges exceptionnelles', '66', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('666', 'Autres charges exceptionnelles', '66', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('667', 'Autres charges exceptionnelles', '66', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('668', 'Autres charges exceptionnelles', '66', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('669', ' Charges exceptionnelles portées à l''actif au titre de frais de restructuration', '66', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('67', 'impôts sur le résultat', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('670', 'Impôts belge sur le résultat de l''exercice', '67', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6700', 'Impôts et précomptes dus ou versés', '670', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6701', 'Excédents de versement d''impôts et de précomptes portés à l''actifs (-)', '670', 'CHAINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6702', 'Charges fiscales estimées', '670', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('671', 'Impôts belges sur le résultats d''exercices antérieures', '67', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6710', 'Suppléments d''impôt dus ou versés', '671', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('50', 'Actions propres', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('51', 'Actions et parts', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('510', 'Valeur d''acquisition', '51', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('511', 'Montant non appelés', '51', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('519', 'Réductions de valeur actées', '51', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('52', 'Titres à revenu fixe', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('520', 'Valeur d''acquisition', '52', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('529', 'Réductions de valeur actées', '52', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('53', 'Dépôts à terme', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('530', 'de plus d''un an', '53', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('531', 'de plus d''un mois et d''un an au plus', '53', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('532', 'd''un mois au plus', '53', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('539', 'Réductions de valeur actées', '53', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('54', 'Valeurs échues à l''encaissement', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('55', 'Etablissement de crédit', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('550', 'Banque 1', '55', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5500', 'Comptes courants', '550', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5501', 'Chèques émis (-)', '550', 'ACTINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5509', 'Réduction de valeur actée', '550', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5510', 'Comptes courants', '551', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5511', 'Chèques émis (-)', '551', 'ACTINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5519', 'Réduction de valeur actée', '551', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5520', 'Comptes courants', '552', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5521', 'Chèques émis (-)', '552', 'ACTINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5529', 'Réduction de valeur actée', '552', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5530', 'Comptes courants', '553', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5531', 'Chèques émis (-)', '553', 'ACTINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5539', 'Réduction de valeur actée', '553', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5540', 'Comptes courants', '554', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5541', 'Chèques émis (-)', '554', 'ACTINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5549', 'Réduction de valeur actée', '554', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5550', 'Comptes courants', '555', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5551', 'Chèques émis (-)', '555', 'ACTINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5559', 'Réduction de valeur actée', '555', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5560', 'Comptes courants', '556', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5561', 'Chèques émis (-)', '556', 'ACTINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5569', 'Réduction de valeur actée', '556', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5570', 'Comptes courants', '557', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5571', 'Chèques émis (-)', '557', 'ACTINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5579', 'Réduction de valeur actée', '557', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5580', 'Comptes courants', '558', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5581', 'Chèques émis (-)', '558', 'ACTINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5589', 'Réduction de valeur actée', '558', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5590', 'Comptes courants', '559', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5591', 'Chèques émis (-)', '559', 'ACTINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5599', 'Réduction de valeur actée', '559', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('56', 'Office des chèques postaux', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('560', 'Compte courant', '56', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('561', 'Chèques émis', '56', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('578', 'Caisse timbre', '57', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('58', 'Virement interne', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('60', 'Approvisionnement et marchandises', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('600', 'Achats de matières premières', '60', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('601', 'Achats de fournitures', '60', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('602', 'Achats de services, travaux et études', '60', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('603', 'Sous-traitances générales', '60', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('604', 'Achats de marchandises', '60', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('605', 'Achats d''immeubles destinés à la vente', '60', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('608', 'Remises, ristournes et rabais obtenus(-)', '60', 'CHAINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('609', 'Variation de stock', '60', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6090', 'de matières premières', '609', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6091', 'de fournitures', '609', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6094', 'de marchandises', '609', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6095', 'immeubles achetés destinés à la vente', '609', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('61', 'Services et biens divers', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('62', 'Rémunérations, charges sociales et pensions', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('620', 'Rémunérations et avantages sociaux directs', '62', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6200', 'Administrateurs ou gérants', '620', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6201', 'Personnel de directions', '620', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6202', 'Employés,620', '6202', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6203', 'Ouvriers', '620', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6204', 'Autres membres du personnel', '620', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('621', 'Cotisations patronales d''assurances sociales', '62', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('622', 'Primes partonales pour assurances extra-légales', '62', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('623', 'Autres frais de personnel', '62', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('624', 'Pensions de retraite et de survie', '62', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6240', 'Administrateurs ou gérants', '624', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6241', 'Personnel', '624', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('63', 'Amortissements, réductions de valeurs et provisions pour risques et charges', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('630', 'Dotations aux amortissements et réduction de valeurs sur immobilisations', '63', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6300', ' Dotations aux amortissements sur frais d''établissement', '630', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('705', 'Ventes et prestations de services', '70', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('414', 'Produits à recevoir', '41', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('416', 'Créances diverses', '41', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4160', 'Comptes de l''exploitant', '416', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('417', 'Créances douteuses', '41', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('418', 'Cautionnements versés en numéraires', '41', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('419', 'Réductions de valeur actées', '41', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('42', 'Dettes à plus dun an échéant dans l''année', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('420', 'Emprunts subordonnés', '42', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4200', 'convertibles', '420', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4201', 'non convertibles', '420', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('421', 'Emprunts subordonnés', '42', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4210', 'convertibles', '420', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4211', 'non convertibles', '420', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('422', ' Dettes de locations financement', '42', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('423', ' Etablissement de crédit', '42', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4230', 'Dettes en comptes', '423', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4231', 'Promesses', '423', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4232', 'Crédits d''acceptation', '423', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('424', 'Autres emprunts', '42', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('425', 'Dettes commerciales', '42', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4250', 'Fournisseurs', '425', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4251', 'Effets à payer', '425', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('426', 'Acomptes reçus sur commandes', '42', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('428', 'Cautionnement reçus en numéraires', '42', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('429', 'Dettes diverses', '42', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('43', 'Dettes financières', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('430', 'Etablissements de crédit - Emprunts à compte à terme fixe', '43', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('431', 'Etablissements de crédit - Promesses', '43', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('432', ' Etablissements de crédit - Crédits d''acceptation', '43', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('433', 'Etablissements de crédit -Dettes en comptes courant', '43', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('439', 'Autres emprunts', '43', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('44', 'Dettes commerciales', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('440', 'Fournisseurs', '44', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('441', 'Effets à payer', '44', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('444', 'Factures à recevoir', '44', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('45', 'Dettes fiscales, salariales et sociales', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('450', 'Dettes fiscales estimées', '45', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4500', 'Impôts belges sur le résultat', '450', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4501', 'Impôts belges sur le résultat', '450', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4502', 'Impôts belges sur le résultat', '450', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4503', 'Impôts belges sur le résultat', '450', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4504', 'Impôts belges sur le résultat', '450', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4505', 'Autres impôts et taxes belges', '450', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4506', 'Autres impôts et taxes belges', '450', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4507', 'Autres impôts et taxes belges', '450', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4508', 'Impôts et taxes étrangers', '450', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('451', 'TVA à payer', '45', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4511', 'TVA à payer 21%', '451', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4512', 'TVA à payer 12%', '451', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4513', 'TVA à payer 6%', '451', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4514', 'TVA à payer 0%', '451', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('452', 'Impôts et taxes à payer', '45', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4520', 'Impôts belges sur le résultat', '452', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4521', 'Impôts belges sur le résultat', '452', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4522', 'Impôts belges sur le résultat', '452', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4523', 'Impôts belges sur le résultat', '452', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4524', 'Impôts belges sur le résultat', '452', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4525', 'Autres impôts et taxes belges', '452', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4526', 'Autres impôts et taxes belges', '452', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4527', 'Autres impôts et taxes belges', '452', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4528', 'Impôts et taxes étrangers', '452', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('453', 'Précomptes retenus', '45', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('454', 'Office National de la Sécurité Sociales', '45', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('455', 'Rémunérations', '45', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('456', 'Pécules de vacances', '45', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('459', 'Autres dettes sociales', '45', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('46', 'Acomptes reçus sur commandes', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('47', 'Dettes découlant de l''affectation du résultat', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('470', 'Dividendes et tantièmes d''exercices antérieurs', '47', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('471', 'Dividendes de l''exercice', '47', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('472', 'Tantièmes de l''exercice', '47', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('473', 'Autres allocataires', '47', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('48', 'Dettes diverses', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('480', 'Obligations et coupons échus', '48', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('488', 'Cautionnements reçus en numéraires', '48', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('489', 'Autres dettes diverses', '48', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4890', 'Compte de l''exploitant', '489', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('49', 'Comptes de régularisation', '4', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('490', 'Charges à reporter', '49', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('491', 'Produits acquis', '49', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('492', 'Charges à imputer', '49', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('493', 'Produits à reporter', '49', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('499', 'Comptes d''attentes', '49', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2821', 'Montants non-appelés(-)', '282', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2828', 'Plus-values actées', '282', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2829', 'Réductions de valeurs actées', '282', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('283', 'Créances sur des entreprises avec lesquelles existe un lien de participation', '28', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2830', 'Créance en compte', '283', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2831', 'Effets à recevoir', '283', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('57', 'Caisse', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2832', 'Titre à revenu fixe', '283', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2837', 'Créances douteuses', '283', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2839', 'Réduction de valeurs actées', '283', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('284', 'Autres actions et parts', '28', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2840', 'Valeur d''acquisition', '284', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2841', 'Montants non-appelés(-)', '284', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2848', 'Plus-values actées', '284', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2849', 'Réductions de valeurs actées', '284', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('285', 'Autres créances', '28', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2850', 'Créance en compte', '285', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2851', 'Effets à recevoir', '285', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2852', 'Titre à revenu fixe', '285', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2857', 'Créances douteuses', '285', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2859', 'Réductions de valeurs actées', '285', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('288', 'Cautionnements versés en numéraires', '28', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('29', 'Créances à plus d''un an', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('290', 'Créances commerciales', '29', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2900', 'Clients', '290', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2901', 'Effets à recevoir', '290', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2906', 'Acomptes versés', '290', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2907', 'Créances douteuses', '290', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2909', 'Réductions de valeurs actées', '290', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('291', 'Autres créances', '29', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2910', 'Créances en comptes', '291', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2911', 'Effets à recevoir', '291', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2917', 'Créances douteuses', '291', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2919', 'Réductions de valeurs actées(-)', '291', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('30', 'Approvisionements - Matières premières', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('300', 'Valeur d''acquisition', '30', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('309', 'Réductions de valeur actées', '30', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('31', 'Approvisionnements - fournitures', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('310', 'Valeur d''acquisition', '31', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('319', 'Réductions de valeurs actées(-)', '31', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('32', 'En-cours de fabrication', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('320', 'Valeurs d''acquisition', '32', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('329', 'Réductions de valeur actées', '32', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('33', 'Produits finis', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('330', 'Valeur d''acquisition', '33', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('339', 'Réductions de valeur actées', '33', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('34', 'Marchandises', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('340', 'Valeur d''acquisition', '34', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('349', 'Réductions de valeur actées', '34', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('35', 'Immeubles destinés à la vente', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('350', 'Valeur d''acquisition', '35', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('359', 'Réductions de valeur actées', '35', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('36', 'Acomptes versés sur achats pour stocks', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('360', 'Valeur d''acquisition', '36', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('369', 'Réductions de valeur actées', '36', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('37', 'Commandes en cours éxécution', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('370', 'Valeur d''acquisition', '37', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('371', 'Bénéfice pris en compte ', '37', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('379', 'Réductions de valeur actées', '37', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('40', 'Créances commerciales', '4', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('400', 'Clients', '40', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('401', 'Effets à recevoir', '40', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('404', 'Produits à recevoir', '40', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('406', 'Acomptes versés', '40', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('407', 'Créances douteuses', '40', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('409', 'Réductions de valeur actées', '40', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('41', 'Autres créances', '4', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('410', 'Capital appelé non versé', '41', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('411', 'TVA à récupérer', '41', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4111', 'TVA à récupérer 21%', '411', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4112', 'TVA à récupérer 12%', '411', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4113', 'TVA à récupérer 6% ', '411', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4114', 'TVA à récupérer 0%', '411', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('412', 'Impôts et précomptes à récupérer', '41', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4120', 'Impôt belge sur le résultat', '412', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4121', 'Impôt belge sur le résultat', '412', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4122', 'Impôt belge sur le résultat', '412', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4123', 'Impôt belge sur le résultat', '412', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4124', 'Impôt belge sur le résultat', '412', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4125', 'Autres impôts et taxes belges', '412', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4126', 'Autres impôts et taxes belges', '412', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4127', 'Autres impôts et taxes belges', '412', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4128', 'Impôts et taxes étrangers', '412', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('10', 'Capital ', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6040003', 'Petit matériel', '604', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('11', 'Prime d''émission ', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('12', 'Plus Value de réévaluation ', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('13', 'Réserve ', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('130', 'Réserve légale', '13', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('131', 'Réserve indisponible', '13', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1310', 'Réserve pour actions propres', '131', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6040004', 'Assurance', '604', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('55000001', 'Caisse', '5500', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('133', 'Réserves disponibles', '13', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('14', 'Bénéfice ou perte reportée', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('140', 'Bénéfice reporté', '14', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('141', 'Perte reportée', '14', 'PASINV'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('15', 'Subside en capital', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('16', 'Provisions pour risques et charges', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('160', 'Provisions pour pensions et obligations similaires', '16', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('161', 'Provisions pour charges fiscales', '16', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('749', 'Produits d''exploitations divers', '74', 'PRO'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('162', 'Provisions pour grosses réparation et gros entretien', '16', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('17', ' Dettes à plus d''un an', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('170', 'Emprunts subordonnés', '17', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1700', 'convertibles', '170', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1701', 'non convertibles', '170', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('171', 'Emprunts subordonnés', '17', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1710', 'convertibles', '170', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1711', 'non convertibles', '170', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('172', ' Dettes de locations financement', '17', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('173', ' Etablissement de crédit', '17', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1730', 'Dettes en comptes', '173', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1731', 'Promesses', '173', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1732', 'Crédits d''acceptation', '173', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('174', 'Autres emprunts', '17', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('175', 'Dettes commerciales', '17', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1750', 'Fournisseurs', '175', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1751', 'Effets à payer', '175', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('176', 'Acomptes reçus sur commandes', '17', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('178', 'Cautionnement reçus en numéraires', '17', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('179', 'Dettes diverses', '17', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('20', 'Frais d''établissement', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('200', 'Frais de constitution et d''augmentation de capital', '20', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('201', ' Frais d''émission d''emprunts et primes de remboursement', '20', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('202', 'Autres frais d''établissement', '20', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('204', 'Frais de restructuration', '20', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('21', 'Immobilisations incorporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('210', 'Frais de recherche et de développement', '21', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('211', 'Concessions, brevet, licence savoir faire, marque et droit similaires', '21', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('212', 'Goodwill', '21', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('213', 'Acomptes versés', '21', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('22', 'Terrains et construction', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('220', 'Terrains', '22', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('222', 'Terrains bâtis', '22', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('223', 'Autres droits réels sur des immeubles', '22', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('23', ' Installations, machines et outillages', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('24', 'Mobilier et Matériel roulant', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('25', 'Immobilisations détenus en location-financement et droits similaires', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('250', 'Terrains', '25', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('251', 'Construction', '25', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('252', 'Terrains bâtis', '25', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('253', 'Mobilier et matériels roulants', '25', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('26', 'Autres immobilisations corporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('27', 'Immobilisations corporelles en cours et acomptes versés', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('28', 'Immobilisations financières', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('280', 'Participation dans des entreprises liées', '28', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2800', 'Valeur d''acquisition', '280', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2801', 'Montants non-appelés(-)', '280', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2808', 'Plus-values actées', '280', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2809', 'Réductions de valeurs actées', '280', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('281', 'Créance sur des entreprises liées', '28', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2810', 'Créance en compte', '281', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2811', 'Effets à recevoir', '281', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2812', 'Titre à reveny fixe', '281', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2817', 'Créances douteuses', '281', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2819', 'Réduction de valeurs actées', '281', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('282', 'Participations dans des entreprises avec lesquelles il existe un lien de participation', '28', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2820', 'Valeur d''acquisition', '282', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4516', 'Tva Export 0%', '451', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4115', 'Tva Intracomm 0%', '411', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4116', 'Tva Export 0%', '411', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('41141', 'TVA pour l\\''export', '4114', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('41142', 'TVA sur les opérations intracommunautaires', '4114', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('45141', 'TVA pour l\\''export', '451', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('45142', 'TVA sur les opérations intracommunautaires', '4514', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('41143', 'TVA sur les opérations avec des assujettis art 44 Code TVA', '4114', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('45143', 'TVA sur les opérations avec des assujettis art 44 Code TVA', '4514', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('41144', 'TVA sur les opérations avec des cocontractants', '4114', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('45144', 'TVA sur les opérations avec des cocontractants', '4514', 'PAS'); - - - - - - -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (1, '21%', 0.2100, 'Tva applicable à tout ce qui bien et service divers', '4111,4511'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (2, '12%', 0.1200, 'Tva ', '4112,4512'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (3, '6%', 0.0600, 'Tva applicable aux journaux et livres', '4113,4513'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (4, '0%', 0.0000, 'Aucune tva n''est applicable', '4114,4514'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (6, 'EXPORT', 0.0000, 'Tva pour les exportations', '41141,45144'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (5, 'INTRA', 0.0000, 'Tva pour les livraisons / acquisition intra communautaires', '41142,45142'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (7, 'COC', 0.0000, 'Opérations avec des cocontractants', '41144,45144'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (8, 'ART44', 0.0000, 'Opérations pour les opérations avec des assujettis à l\\''art 44 Code TVA', '41143,45143'); - - - -INSERT INTO user_local_pref (user_id, parameter_type, parameter_value) VALUES ('1', 'MINIREPORT', '0'); -INSERT INTO user_local_pref (user_id, parameter_type, parameter_value) VALUES ('1', 'PERIODE', '79'); - - - - - - -INSERT INTO user_sec_extension (use_id, ex_id, use_login, use_access) VALUES (1, 1, 'phpcompta', 'Y'); - - - - - - -INSERT INTO version (val) VALUES (75); - - - diff --git a/sources/html/admin/sql/mod1/function.sql b/sources/html/admin/sql/mod1/function.sql deleted file mode 100644 index d90e0c5..0000000 --- a/sources/html/admin/sql/mod1/function.sql +++ /dev/null @@ -1,1193 +0,0 @@ -CREATE FUNCTION account_add(p_id public.account_type, p_name character varying) RETURNS void - AS $$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - nCount integer; -begin - select count(*) into nCount from tmp_pcmn where pcm_val=p_id; - if nCount = 0 then - nParent=account_parent(p_id); - insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent) - values (p_id, p_name,nParent); - end if; -return; -end ; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION account_auto(p_fd_id integer) RETURNS boolean - AS $$ -declare - l_auto bool; -begin - - select fd_create_account into l_auto from fiche_def where fd_id=p_fd_id; - if l_auto is null then - l_auto:=false; - end if; - return l_auto; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION account_compute(p_f_id integer) RETURNS public.account_type - AS $$ -declare - class_base fiche_def.fd_class_base%type; - maxcode numeric; - sResult account_type; -begin - select fd_class_base into class_base - from - fiche_def join fiche using (fd_id) - where - f_id=p_f_id; - raise notice 'account_compute class base %',class_base; - select count (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - if maxcode = 0 then - maxcode:=class_base::numeric; - else - select max (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - maxcode:=maxcode::numeric; - end if; - if maxcode::text = class_base then - maxcode:=class_base::numeric*1000; - end if; - maxcode:=maxcode+1; - raise notice 'account_compute Max code %',maxcode; - sResult:=maxcode::account_type; - return sResult; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION account_insert(p_f_id integer, p_account text) RETURNS integer - AS $_$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - nNew tmp_pcmn.pcm_val%type; - bAuto bool; - nFd_id integer; - sClass_Base fiche_def.fd_class_base%TYPE; - nCount integer; - first text; - second text; -begin - - if length(trim(p_account)) != 0 then - -- if there is coma in p_account, treat normally - if position (',' in p_account) = 0 then - raise info 'p_account is not empty'; - select count(*) into nCount from tmp_pcmn where pcm_val=p_account::account_type; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise info 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,p_account); - else - -- account doesn't exist, create it - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account::account_type); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::account_type,sName,nParent); - perform attribut_insert(p_f_id,5,p_account); - - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - perform attribut_insert(p_f_id,5,p_account); - end if; - else - raise info 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - - select fd_class_base into sClass_base from fiche_def where fd_id=nFd_id; -raise info 'sClass_Base : %',sClass_base; - if bAuto = true and sClass_base similar to '^[[:digit:]]*$' then - raise info 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise info 'nNew %', nNew; - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,nNew); - - else - -- if there is an account_base then it is the default - select fd_class_base::account_type into nNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if nNew is null or length(trim(nNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,nNew); - end if; - end if; - end if; - -return 0; -end; -$_$ - LANGUAGE plpgsql; -CREATE FUNCTION account_parent(p_account public.account_type) RETURNS public.account_type - AS $$ -declare - sSubParent tmp_pcmn.pcm_val_parent%type; - sResult tmp_pcmn.pcm_val_parent%type; - nCount integer; -begin - if p_account is NULL then - return NULL; - end if; - sSubParent:=p_account; - while true loop - select count(*) into nCount - from tmp_pcmn - where - pcm_val = sSubParent; - if nCount != 0 then - sResult:= sSubParent; - exit; - end if; - sSubParent:= substr(sSubParent,1,length(sSubParent)-1); - if length(sSubParent) <= 0 then - raise exception 'Impossible de trouver le compte parent pour %',p_account; - end if; - raise notice 'sSubParent % % ',sSubParent,length(sSubParent); - end loop; - raise notice 'account_parent : Parent is %',sSubParent; - return sSubParent; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION account_update(p_f_id integer, p_account public.account_type) RETURNS integer - AS $$ -declare - nMax fiche.f_id%type; - nCount integer; - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - nJft_id attr_value.jft_id%type; - first text; - second text; -begin - - if length(trim(p_account)) != 0 then - if position (',' in p_account) = 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - end if; - end if; - select jft_id into njft_id from jnt_fic_att_value where f_id=p_f_id and ad_id=5; - update attr_value set av_text=p_account where jft_id=njft_id; - -return njft_id; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION action_gestion_ins_upd() RETURNS trigger - AS $$ -begin -NEW.ag_title := substr(trim(NEW.ag_title),1,70); -NEW.ag_hour := substr(trim(NEW.ag_hour),1,5); -return NEW; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION action_get_tree(p_id bigint) RETURNS SETOF bigint - AS $$ - -declare - e bigint; - i bigint; -begin - for e in select ag_id from action_gestion where ag_ref_ag_id=p_id - loop - if e = 0 then - return; - end if; - return next e; - for i in select ag_id from action_gestion where ag_ref_ag_id=e - loop - if i = 0 then - return; - end if; - return next i; - end loop; - end loop; - return; - -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION attribut_insert(p_f_id integer, p_ad_id integer, p_value character varying) RETURNS void - AS $$ -declare - n_jft_id integer; -begin - select nextval('s_jnt_fic_att_value') into n_jft_id; - insert into jnt_fic_att_value (jft_id,f_id,ad_id) values (n_jft_id,p_f_id,p_ad_id); - insert into attr_value (jft_id,av_text) values (n_jft_id,trim(p_value)); -return; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION attribute_correct_order() RETURNS void - AS $$ -declare - crs_correct cursor for select A.jnt_id,A.jnt_order from jnt_fic_attr as A join jnt_fic_attr as B using (fd_id) where A.jnt_order=B.jnt_order and A.jnt_id > B.jnt_id; - rec record; -begin - open crs_correct; - loop - fetch crs_correct into rec; - if NOT FOUND then - close crs_correct; - return; - end if; - update jnt_fic_attr set jnt_order=jnt_order + 1 where jnt_id = rec.jnt_id; - end loop; - close crs_correct; - perform attribute_correct_order (); -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION card_class_base(p_f_id integer) RETURNS text - AS $$ -declare - n_poste fiche_def.fd_class_base%type; -begin - - select fd_class_base into n_poste from fiche_def join fiche using -(fd_id) - where f_id=p_f_id; - if not FOUND then - raise exception 'Invalid fiche card_class_base(%)',p_f_id; - end if; -return n_poste; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION check_balance(p_grpt integer) RETURNS numeric - AS $$ -declare - amount_jrnx_debit numeric; - amount_jrnx_credit numeric; - amount_jrn numeric; -begin - select sum (j_montant) into amount_jrnx_credit - from jrnx - where - j_grpt=p_grpt - and j_debit=false; - - select sum (j_montant) into amount_jrnx_debit - from jrnx - where - j_grpt=p_grpt - and j_debit=true; - - select jr_montant into amount_jrn - from jrn - where - jr_grpt_id=p_grpt; - - if ( amount_jrnx_debit != amount_jrnx_credit ) - then - return abs(amount_jrnx_debit-amount_jrnx_credit); - end if; - if ( amount_jrn != amount_jrnx_credit) - then - return -1*abs(amount_jrn - amount_jrnx_credit); - end if; - return 0; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION correct_sequence(p_sequence text, p_col text, p_table text) RETURNS integer - AS $$ -declare -last_sequence int8; -max_sequence int8; -n integer; -begin - select count(*) into n from pg_class where relkind='S' and relname=lower(p_sequence); - if n = 0 then - raise exception ' Unknow sequence % ',p_sequence; - end if; - select count(*) into n from pg_class where relkind='r' and relname=lower(p_table); - if n = 0 then - raise exception ' Unknow table % ',p_table; - end if; - - execute 'select last_value from '||p_sequence into last_sequence; - raise notice 'Last value of the sequence is %', last_sequence; - - execute 'select max('||p_col||') from '||p_table into max_sequence; - if max_sequence is null then - max_sequence := 0; - end if; - raise notice 'Max value of the sequence is %', max_sequence; - max_sequence:= max_sequence +1; - execute 'alter sequence '||p_sequence||' restart with '||max_sequence; -return 0; - -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION create_missing_sequence() RETURNS integer - AS $$ -declare -p_sequence text; -nSeq integer; -c1 cursor for select jrn_def_id from jrn_def; -begin - open c1; - loop - fetch c1 into nSeq; - if not FOUND THEN - close c1; - return 0; - end if; - p_sequence:='s_jrn_pj'||nSeq::text; - execute 'create sequence '||p_sequence; - end loop; -close c1; -return 0; - -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION drop_index(p_constraint character varying) RETURNS void - AS $$ -declare - nCount integer; -begin - select count(*) into nCount from pg_indexes where indexname=p_constraint; - if nCount = 1 then - execute 'drop index '||p_constraint ; - end if; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION drop_it(p_constraint character varying) RETURNS void - AS $$ -declare - nCount integer; -begin - select count(*) into nCount from pg_constraint where conname=p_constraint; - if nCount = 1 then - execute 'alter table parm_periode drop constraint '||p_constraint ; - end if; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION extension_ins_upd() RETURNS trigger - AS $$ -declare - sCode text; - sFile text; -begin -sCode:=trim(upper(NEW.ex_code)); -sCode:=replace(sCode,' ','_'); -sCode:=substr(sCode,1,15); -sCode=upper(sCode); -NEW.ex_code:=sCode; -sFile:=NEW.ex_file; -sFile:=replace(sFile,';','_'); -sFile:=replace(sFile,'<','_'); -sFile:=replace(sFile,'>','_'); -sFile:=replace(sFile,'..',''); -sFile:=replace(sFile,'&',''); -sFile:=replace(sFile,'|',''); - - - -return NEW; - -end; - -$$ - LANGUAGE plpgsql; -CREATE FUNCTION fiche_account_parent(p_f_id integer) RETURNS public.account_type - AS $$ -declare -ret tmp_pcmn.pcm_val%TYPE; -begin - select fd_class_base into ret from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if not FOUND then - raise exception '% N''existe pas',p_f_id; - end if; - return ret; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION fiche_attribut_synchro(p_fd_id integer) RETURNS void - AS $$ -declare - -- this sql gives the f_id and the missing attribute (ad_id) - list_missing cursor for select f_id,fd_id,ad_id,jnt_order from jnt_fic_attr join fiche as A using (fd_id) where fd_id=p_fd_id and ad_id not in (select ad_id from fiche join jnt_fic_att_value using (f_id) where fd_id=jnt_fic_attr.fd_id and A.f_id=f_id); - rec record; - -- value of the last insert - jnt jnt_fic_att_value%ROWTYPE; -begin - open list_missing; - loop - - fetch list_missing into rec; - IF NOT FOUND then - exit; - end if; - -- insert a value into jnt_fic_att_value - insert into jnt_fic_att_value (f_id,ad_id) values (rec.f_id,rec.ad_id) returning * into jnt; - - -- now we insert into attr_value - insert into attr_value values (jnt.jft_id,''); - end loop; - close list_missing; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION fiche_def_ins_upd() RETURNS trigger - AS $$ -begin - -if position (',' in NEW.fd_class_base) != 0 then - NEW.fd_create_account='f'; - -end if; -return NEW; -end;$$ - LANGUAGE plpgsql; -CREATE FUNCTION find_pcm_type(pp_value public.account_type) RETURNS text - AS $$ -declare - str_type parm_poste.p_type%TYPE; - str_value parm_poste.p_type%TYPE; - nLength integer; -begin - str_value:=pp_value; - nLength:=length(str_value::text); - while nLength > 0 loop - select p_type into str_type from parm_poste where p_value=str_value; - if FOUND then - return str_type; - end if; - nLength:=nLength-1; - str_value:=substring(str_value::text from 1 for nLength)::account_type; - end loop; -return 'CON'; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION get_letter_jnt(a bigint) RETURNS bigint - AS $$ -declare - nResult bigint; -begin - select jl_id into nResult from jnt_letter join letter_deb using (jl_id) where j_id = a; - if NOT FOUND then - select jl_id into nResult from jnt_letter join letter_cred using (jl_id) where j_id = a; - if NOT found then - return null; - end if; - end if; -return nResult; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION get_pcm_tree(source public.account_type) RETURNS SETOF public.account_type - AS $$ -declare - i account_type; - e account_type; -begin - for i in select pcm_val from tmp_pcmn where pcm_val_parent=source - loop - return next i; - for e in select get_pcm_tree from get_pcm_tree(i) - loop - return next e; - end loop; - - end loop; - return; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION group_analytic_ins_upd() RETURNS trigger - AS $$ -declare -name text; -begin -name:=upper(NEW.ga_id); -name:=trim(name); -name:=replace(name,' ',''); -NEW.ga_id:=name; -return NEW; -end;$$ - LANGUAGE plpgsql; -CREATE FUNCTION group_analytique_del() RETURNS trigger - AS $$ -begin -update poste_analytique set ga_id=null -where ga_id=OLD.ga_id; -return OLD; -end;$$ - LANGUAGE plpgsql; -CREATE FUNCTION html_quote(p_string text) RETURNS text - AS $$ -declare - r text; -begin - r:=p_string; - r:=replace(r,'<','<'); - r:=replace(r,'>','>'); - r:=replace(r,'''','"'); - return r; -end;$$ - LANGUAGE plpgsql; -CREATE FUNCTION info_def_ins_upd() RETURNS trigger - AS $$ -declare - row_info_def info_def%ROWTYPE; - str_type text; -begin -row_info_def:=NEW; -str_type:=upper(trim(NEW.id_type)); -str_type:=replace(str_type,' ',''); -str_type:=replace(str_type,',',''); -str_type:=replace(str_type,';',''); -if length(str_type) =0 then - raise exception 'id_type cannot be null'; -end if; -row_info_def.id_type:=str_type; -return row_info_def; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION insert_jrnx(p_date character varying, p_montant numeric, p_poste public.account_type, p_grpt integer, p_jrn_def integer, p_debit boolean, p_tech_user text, p_tech_per integer, p_qcode text, p_comment text) RETURNS void - AS $$ -declare - sCode varchar; - nCount_qcode integer; -begin - sCode=trim(p_qcode); - - -- if p_qcode is empty try to find one - if length(sCode) = 0 or p_qcode is null then - select count(*) into nCount_qcode - from vw_poste_qcode where j_poste=p_poste; - -- if we find only one q_code for a accountancy account - -- then retrieve it - if nCount_qcode = 1 then - select j_qcode::text into sCode - from vw_poste_qcode where j_poste=p_poste; - else - sCode=NULL; - end if; - - end if; - - insert into jrnx - ( - j_date, - j_montant, - j_poste, - j_grpt, - j_jrn_def, - j_debit, - j_text, - j_tech_user, - j_tech_per, - j_qcode - ) values - ( - to_date(p_date,'DD.MM.YYYY'), - p_montant, - p_poste, - p_grpt, - p_jrn_def, - p_debit, - p_comment, - p_tech_user, - p_tech_per, - sCode - ); - -return; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION insert_quant_purchase(p_internal text, p_j_id numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric, p_dep_priv numeric, p_client character varying) RETURNS void - AS $$ -declare - fid_client integer; - fid_good integer; -begin - select f_id into fid_client from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(trim(p_client)); - select f_id into fid_good from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(trim(p_fiche)); - insert into quant_purchase - (qp_internal, - j_id, - qp_fiche, - qp_quantite, - qp_price, - qp_vat, - qp_vat_code, - qp_nd_amount, - qp_nd_tva, - qp_nd_tva_recup, - qp_supplier, - qp_dep_priv) - values - (p_internal, - p_j_id, - fid_good, - p_quant, - p_price, - p_vat, - p_vat_code, - p_nd_amount, - p_nd_tva, - p_nd_tva_recup, - fid_client, - p_dep_priv); - return; -end; - $$ - LANGUAGE plpgsql; -CREATE FUNCTION insert_quant_sold(p_internal text, p_jid numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_client character varying) RETURNS void - AS $$ -declare - fid_client integer; - fid_good integer; -begin - - select f_id into fid_client from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(trim(p_client)); - select f_id into fid_good from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(trim(p_fiche)); - insert into quant_sold - (qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client,qs_valid) - values - (p_internal,p_jid,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client,'Y'); - return; -end; - $$ - LANGUAGE plpgsql; -CREATE FUNCTION insert_quick_code(nf_id integer, tav_text text) RETURNS integer - AS $$ - declare - ns integer; - nExist integer; - tText text; - begin - tText := upper(trim(tav_text)); - tText := replace(tText,' ',''); - - loop - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - if length (tText) = 0 or tText is null then - tText := 'FID'||ns; - end if; - -- av_text already used ? - select count(*) into nExist - from jnt_fic_att_value join attr_value using (jft_id) - where - ad_id=23 and av_text=upper(tText); - - if nExist = 0 then - exit; - end if; - tText:='FID'||ns; - end loop; - -- insert into table jnt_fic_att_value - insert into jnt_fic_att_value values (ns,nf_id,23); - -- insert value into attr_value - insert into attr_value values (ns,upper(tText)); - return ns; - end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION jrn_check_periode() RETURNS trigger - AS $$ -declare -bClosed bool; -str_status text; -ljr_tech_per jrn.jr_tech_per%TYPE; -ljr_def_id jrn.jr_def_id%TYPE; -lreturn jrn%ROWTYPE; -begin -if TG_OP='INSERT' then - ljr_tech_per :=NEW.jr_tech_per; - ljr_def_id :=NEW.jr_def_id; - lreturn :=NEW; -end if; - -if TG_OP='DELETE' then - ljr_tech_per :=OLD.jr_tech_per; - ljr_def_id :=OLD.jr_def_id; - lreturn :=OLD; -end if; - -select p_closed into bClosed from parm_periode - where p_id=ljr_tech_per; - -if bClosed = true then - raise exception 'Periode fermee'; -end if; - -select status into str_status from jrn_periode - where p_id =ljr_tech_per and jrn_def_id=ljr_def_id; - -if str_status <> 'OP' then - raise exception 'Periode fermee'; -end if; - -return lreturn; -end;$$ - LANGUAGE plpgsql; -CREATE FUNCTION jrn_def_add() RETURNS trigger - AS $$begin -execute 'insert into jrn_periode(p_id,jrn_def_id,status) select p_id,'||NEW.jrn_def_id||', - case when p_central=true then ''CE'' - when p_closed=true then ''CL'' - else ''OP'' - end -from -parm_periode '; -return NEW; -end;$$ - LANGUAGE plpgsql; -CREATE FUNCTION jrn_def_delete() RETURNS trigger - AS $$ -declare -nb numeric; -begin -select count(*) into nb from jrn where jr_def_id=OLD.jrn_def_id; - -if nb <> 0 then - raise exception 'EFFACEMENT INTERDIT: JOURNAL UTILISE'; -end if; -return OLD; -end;$$ - LANGUAGE plpgsql; -CREATE FUNCTION jrn_del() RETURNS trigger - AS $$ -declare -row jrn%ROWTYPE; -begin -row:=OLD; -insert into del_jrn ( jr_id, - jr_def_id, - jr_montant, - jr_comment, - jr_date, - jr_grpt_id, - jr_internal, - jr_tech_date, - jr_tech_per, - jrn_ech, - jr_ech, - jr_rapt, - jr_valid, - jr_opid, - jr_c_opid, - jr_pj, - jr_pj_name, - jr_pj_type, - jr_pj_number, - del_jrn_date) - select jr_id, - jr_def_id, - jr_montant, - jr_comment, - jr_date, - jr_grpt_id, - jr_internal, - jr_tech_date, - jr_tech_per, - jrn_ech, - jr_ech, - jr_rapt, - jr_valid, - jr_opid, - jr_c_opid, - jr_pj, - jr_pj_name, - jr_pj_type, - jr_pj_number - ,now() from jrn where jr_id=row.jr_id; -return row; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION jrnx_del() RETURNS trigger - AS $$ -declare -row jrnx%ROWTYPE; -begin -row:=OLD; -insert into del_jrnx select * from jrnx where j_id=row.j_id; -return row; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION plan_analytic_ins_upd() RETURNS trigger - AS $$ -declare - name text; -begin - name:=upper(NEW.pa_name); - name:=trim(name); - name:=replace(name,' ',''); - NEW.pa_name:=name; -return NEW; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION poste_analytique_ins_upd() RETURNS trigger - AS $$declare -name text; -rCount record; - -begin -name:=upper(NEW.po_name); -name:=trim(name); -name:=replace(name,' ',''); -NEW.po_name:=name; - -if NEW.ga_id is NULL then -return NEW; -end if; - -if length(trim(NEW.ga_id)) = 0 then - NEW.ga_id:=NULL; - return NEW; -end if; -perform 'select ga_id from groupe_analytique where ga_id='||NEW.ga_id; -if NOT FOUND then - raise exception' Inexistent Group Analytic %',NEW.ga_id; -end if; -return NEW; -end;$$ - LANGUAGE plpgsql; -CREATE FUNCTION proc_check_balance() RETURNS trigger - AS $$ -declare - diff numeric; - tt integer; -begin - if TG_OP = 'INSERT' or TG_OP='UPDATE' then - tt=NEW.jr_grpt_id; - diff:=check_balance(tt); - if diff != 0 then - raise exception 'balance error %',diff ; - end if; - return NEW; - end if; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION t_document_modele_validate() RETURNS trigger - AS $$ -declare - lText text; - modified document_modele%ROWTYPE; -begin - modified:=NEW; - - modified.md_filename:=replace(NEW.md_filename,' ','_'); - return modified; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION t_document_type_insert() RETURNS trigger - AS $$ -declare -nCounter integer; - BEGIN -select count(*) into nCounter from pg_class where relname='seq_doc_type_'||NEW.dt_id; -if nCounter = 0 then - execute 'create sequence seq_doc_type_'||NEW.dt_id; -end if; - RETURN NEW; - END; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION t_document_validate() RETURNS trigger - AS $$ -declare - lText text; - modified document%ROWTYPE; -begin - modified:=NEW; - modified.d_filename:=replace(NEW.d_filename,' ','_'); - return modified; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION t_jrn_def_sequence() RETURNS trigger - AS $$ -declare -nCounter integer; - - BEGIN - select count(*) into nCounter - from pg_class where relname='s_jrn_'||NEW.jrn_def_id; - if nCounter = 0 then - execute 'create sequence s_jrn_'||NEW.jrn_def_id; - raise notice 'Creating sequence s_jrn_%',NEW.jrn_def_id; - end if; - - RETURN NEW; - END; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION tmp_pcmn_ins() RETURNS trigger - AS $$ -declare - r_record tmp_pcmn%ROWTYPE; -begin -r_record=NEW; -if length(trim(r_record.pcm_type))=0 or r_record.pcm_type is NULL then - r_record.pcm_type:=find_pcm_type(NEW.pcm_val); - return r_record; -end if; -return NEW; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION trim_cvs_quote() RETURNS trigger - AS $$ -declare - modified import_tmp%ROWTYPE; -begin - modified:=NEW; - modified.devise=replace(new.devise,'"',''); - modified.poste_comptable=replace(new.poste_comptable,'"',''); - modified.compte_ordre=replace(NEW.COMPTE_ORDRE,'"',''); - modified.detail=replace(NEW.DETAIL,'"',''); - modified.num_compte=replace(NEW.NUM_COMPTE,'"',''); - return modified; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION trim_space_format_csv_banque() RETURNS trigger - AS $$ -declare - modified format_csv_banque%ROWTYPE; -begin - modified.name=trim(NEW.NAME); - modified.include_file=trim(new.include_file); - if ( length(modified.name) = 0 ) then - modified.name=null; - end if; - if ( length(modified.include_file) = 0 ) then - modified.include_file=null; - end if; - - return modified; -end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION tva_delete(integer) RETURNS void - AS $_$ -declare - p_tva_id alias for $1; - nCount integer; -begin - nCount=0; - select count(*) into nCount from quant_sold where qs_vat_code=p_tva_id; - if nCount != 0 then - return; - - end if; - select count(*) into nCount from quant_purchase where qp_vat_code=p_tva_id; - if nCount != 0 then - return; - - end if; - -delete from tva_rate where tva_id=p_tva_id; - return; -end; -$_$ - LANGUAGE plpgsql; -CREATE FUNCTION tva_insert(text, numeric, text, text) RETURNS integer - AS $_$ -declare - l_tva_id integer; - p_tva_label alias for $1; - p_tva_rate alias for $2; - p_tva_comment alias for $3; - p_tva_poste alias for $4; - debit text; - credit text; - nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::account_type; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::account_type; - if nCount = 0 then return 4; end if; - -end if; -select into l_tva_id nextval('s_tva') ; -insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste) - values (l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste); -return 0; -end; -$_$ - LANGUAGE plpgsql; -CREATE FUNCTION tva_modify(integer, text, numeric, text, text) RETURNS integer - AS $_$ -declare - p_tva_id alias for $1; - p_tva_label alias for $2; - p_tva_rate alias for $3; - p_tva_comment alias for $4; - p_tva_poste alias for $5; - debit text; - credit text; - nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::account_type; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::account_type; - if nCount = 0 then return 4; end if; - -end if; -update tva_rate set tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste - where tva_id=p_tva_id; -return 0; -end; -$_$ - LANGUAGE plpgsql; -CREATE FUNCTION update_quick_code(njft_id integer, tav_text text) RETURNS integer - AS $$ - declare - ns integer; - nExist integer; - tText text; - old_qcode varchar; - begin - -- get current value - select av_text into old_qcode from attr_value where jft_id=njft_id; - -- av_text didn't change so no update - if tav_text = upper( trim(old_qcode)) then - return 0; - end if; - - tText := trim(upper(tav_text)); - tText := replace(tText,' ',''); - if length ( tText) = 0 or tText is null then - return 0; - end if; - - ns := njft_id; - - loop - -- av_text already used ? - select count(*) into nExist - from jnt_fic_att_value join attr_value using (jft_id) - where - ad_id=23 and av_text=tText; - - if nExist = 0 then - exit; - end if; - if tText = 'FID'||ns then - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - end if; - tText :='FID'||ns; - - end loop; - update attr_value set av_text = tText where jft_id=njft_id; - - -- update also the contact - update attr_value set av_text = tText - where jft_id in - ( select jft_id - from jnt_fic_att_value join attr_value using (jft_id) - where ad_id=25 and av_text=old_qcode); - - - update jrnx set j_qcode=tText where j_qcode = old_qcode; - return ns; - end; -$$ - LANGUAGE plpgsql; -CREATE FUNCTION bud_card_ins_upd() RETURNS trigger - AS $$declare - sCode text; -begin - -sCode:=trim(upper(NEW.bc_code)); -sCode:=replace(sCode,' ','_'); -sCode:=substr(sCode,1,10); -NEW.bc_code:=sCode; -return NEW; -end;$$ - LANGUAGE plpgsql; -CREATE FUNCTION bud_detail_ins_upd() RETURNS trigger - AS $$declare -mline bud_detail%ROWTYPE; -begin -mline:=NEW; -if mline.po_id = -1 then - mline.po_id:=NULL; -end if; -return mline; -end;$$ - LANGUAGE plpgsql; diff --git a/sources/html/admin/sql/mod1/index.sql b/sources/html/admin/sql/mod1/index.sql deleted file mode 100644 index 5f94a96..0000000 --- a/sources/html/admin/sql/mod1/index.sql +++ /dev/null @@ -1,15 +0,0 @@ -CREATE UNIQUE INDEX attr_value_jft_id ON attr_value USING btree (jft_id); -CREATE UNIQUE INDEX fd_id_ad_id_x ON jnt_fic_attr USING btree (fd_id, ad_id); -CREATE INDEX fk_stock_goods_f_id ON stock_goods USING btree (f_id); -CREATE INDEX fk_stock_goods_j_id ON stock_goods USING btree (j_id); -CREATE UNIQUE INDEX idx_case ON format_csv_banque USING btree (upper(name)); -CREATE INDEX idx_qs_internal ON quant_sold USING btree (qs_internal); -CREATE INDEX jnt_fic_att_value_fd_id_idx ON jnt_fic_att_value USING btree (f_id); -CREATE INDEX jnt_fic_attr_fd_id_idx ON jnt_fic_attr USING btree (fd_id); -CREATE UNIQUE INDEX k_ag_ref ON action_gestion USING btree (ag_ref); -CREATE UNIQUE INDEX uj_login_uj_jrn_id ON user_sec_jrn USING btree (uj_login, uj_jrn_id); -CREATE UNIQUE INDEX ux_po_name ON poste_analytique USING btree (po_name); -CREATE UNIQUE INDEX x_jrn_jr_id ON jrn USING btree (jr_id); -CREATE INDEX x_mt ON jrn USING btree (jr_mt); -CREATE UNIQUE INDEX x_periode ON parm_periode USING btree (p_start, p_end); -CREATE INDEX x_poste ON jrnx USING btree (j_poste); diff --git a/sources/html/admin/sql/mod1/make-sql b/sources/html/admin/sql/mod1/make-sql deleted file mode 100755 index 9863b8f..0000000 --- a/sources/html/admin/sql/mod1/make-sql +++ /dev/null @@ -1,23 +0,0 @@ -pg_dump -O -U phpcompta -s ${DOMAIN}mod1|grep -v "COMMENT ON SCHEMA public IS 'Standard public schema';" |sed "/^--/d" > schema.sql -awk '/SEQUENCE/,/;/ { print $0;}' < schema.sql > sequence.sql -awk '/CREATE DOMAIN/,/;/ { print $0;}' < schema.sql > table.sql -awk '/CREATE TABLE/,/;/ { print $0;}' < schema.sql >> table.sql -awk '/CREATE VIEW/,/;/ { print $0;}' < schema.sql > view.sql -awk '/INDEX/,/;/ { print $0;}' < schema.sql > index.sql -( -echo " SET client_encoding = 'utf8';" -echo " SET check_function_bodies = false;" -echo " SET client_min_messages = warning;" -echo "SET search_path = public, pg_catalog;" -)> constraint.sql - - -awk '/ALTER TABLE/,/;/ { print $0;}' < schema.sql >> constraint.sql -awk '/CREATE FUNCTION/,/LANGUAGE/ { print $0;}' < schema.sql > function.sql -awk '/COMMENT/,/;/ {print $0;}' < schema.sql > comment.sql - -sed -i -e "/ALTER TABLE.*/d" -e "/ADD CONSTRAINT/d" -e "/CREATE PROCEDURAL/d" schema.sql - -grep setval schema.sql >> sequence.sql -pg_dump -O -U phpcompta -D -a -O ${DOMAIN}mod1 |sed "/^--/d" > data.sql - diff --git a/sources/html/admin/sql/mod1/schema.sql b/sources/html/admin/sql/mod1/schema.sql deleted file mode 100644 index b0f4bf0..0000000 --- a/sources/html/admin/sql/mod1/schema.sql +++ /dev/null @@ -1,3740 +0,0 @@ - -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = off; -SET check_function_bodies = false; -SET client_min_messages = warning; -SET escape_string_warning = off; - - -CREATE SCHEMA comptaproc; - - - - - -SET search_path = public, pg_catalog; - - -CREATE DOMAIN account_type AS character varying(40); - - -SET search_path = comptaproc, pg_catalog; - - -CREATE FUNCTION account_add(p_id public.account_type, p_name character varying) RETURNS void - AS $$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - nCount integer; -begin - select count(*) into nCount from tmp_pcmn where pcm_val=p_id; - if nCount = 0 then - nParent=account_parent(p_id); - insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent) - values (p_id, p_name,nParent); - end if; -return; -end ; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION account_auto(p_fd_id integer) RETURNS boolean - AS $$ -declare - l_auto bool; -begin - - select fd_create_account into l_auto from fiche_def where fd_id=p_fd_id; - if l_auto is null then - l_auto:=false; - end if; - return l_auto; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION account_compute(p_f_id integer) RETURNS public.account_type - AS $$ -declare - class_base fiche_def.fd_class_base%type; - maxcode numeric; - sResult account_type; -begin - select fd_class_base into class_base - from - fiche_def join fiche using (fd_id) - where - f_id=p_f_id; - raise notice 'account_compute class base %',class_base; - select count (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - if maxcode = 0 then - maxcode:=class_base::numeric; - else - select max (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - maxcode:=maxcode::numeric; - end if; - if maxcode::text = class_base then - maxcode:=class_base::numeric*1000; - end if; - maxcode:=maxcode+1; - raise notice 'account_compute Max code %',maxcode; - sResult:=maxcode::account_type; - return sResult; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION account_insert(p_f_id integer, p_account text) RETURNS integer - AS $_$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - nNew tmp_pcmn.pcm_val%type; - bAuto bool; - nFd_id integer; - sClass_Base fiche_def.fd_class_base%TYPE; - nCount integer; - first text; - second text; -begin - - if length(trim(p_account)) != 0 then - -- if there is coma in p_account, treat normally - if position (',' in p_account) = 0 then - raise info 'p_account is not empty'; - select count(*) into nCount from tmp_pcmn where pcm_val=p_account::account_type; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise info 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,p_account); - else - -- account doesn't exist, create it - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account::account_type); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::account_type,sName,nParent); - perform attribut_insert(p_f_id,5,p_account); - - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - perform attribut_insert(p_f_id,5,p_account); - end if; - else - raise info 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - - select fd_class_base into sClass_base from fiche_def where fd_id=nFd_id; -raise info 'sClass_Base : %',sClass_base; - if bAuto = true and sClass_base similar to '^[[:digit:]]*$' then - raise info 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise info 'nNew %', nNew; - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,nNew); - - else - -- if there is an account_base then it is the default - select fd_class_base::account_type into nNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if nNew is null or length(trim(nNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,nNew); - end if; - end if; - end if; - -return 0; -end; -$_$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION account_parent(p_account public.account_type) RETURNS public.account_type - AS $$ -declare - sSubParent tmp_pcmn.pcm_val_parent%type; - sResult tmp_pcmn.pcm_val_parent%type; - nCount integer; -begin - if p_account is NULL then - return NULL; - end if; - sSubParent:=p_account; - while true loop - select count(*) into nCount - from tmp_pcmn - where - pcm_val = sSubParent; - if nCount != 0 then - sResult:= sSubParent; - exit; - end if; - sSubParent:= substr(sSubParent,1,length(sSubParent)-1); - if length(sSubParent) <= 0 then - raise exception 'Impossible de trouver le compte parent pour %',p_account; - end if; - raise notice 'sSubParent % % ',sSubParent,length(sSubParent); - end loop; - raise notice 'account_parent : Parent is %',sSubParent; - return sSubParent; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION account_update(p_f_id integer, p_account public.account_type) RETURNS integer - AS $$ -declare - nMax fiche.f_id%type; - nCount integer; - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - nJft_id attr_value.jft_id%type; - first text; - second text; -begin - - if length(trim(p_account)) != 0 then - if position (',' in p_account) = 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - end if; - end if; - select jft_id into njft_id from jnt_fic_att_value where f_id=p_f_id and ad_id=5; - update attr_value set av_text=p_account where jft_id=njft_id; - -return njft_id; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION action_gestion_ins_upd() RETURNS trigger - AS $$ -begin -NEW.ag_title := substr(trim(NEW.ag_title),1,70); -NEW.ag_hour := substr(trim(NEW.ag_hour),1,5); -return NEW; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION action_get_tree(p_id bigint) RETURNS SETOF bigint - AS $$ - -declare - e bigint; - i bigint; -begin - for e in select ag_id from action_gestion where ag_ref_ag_id=p_id - loop - if e = 0 then - return; - end if; - return next e; - for i in select ag_id from action_gestion where ag_ref_ag_id=e - loop - if i = 0 then - return; - end if; - return next i; - end loop; - end loop; - return; - -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION attribut_insert(p_f_id integer, p_ad_id integer, p_value character varying) RETURNS void - AS $$ -declare - n_jft_id integer; -begin - select nextval('s_jnt_fic_att_value') into n_jft_id; - insert into jnt_fic_att_value (jft_id,f_id,ad_id) values (n_jft_id,p_f_id,p_ad_id); - insert into attr_value (jft_id,av_text) values (n_jft_id,trim(p_value)); -return; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION attribute_correct_order() RETURNS void - AS $$ -declare - crs_correct cursor for select A.jnt_id,A.jnt_order from jnt_fic_attr as A join jnt_fic_attr as B using (fd_id) where A.jnt_order=B.jnt_order and A.jnt_id > B.jnt_id; - rec record; -begin - open crs_correct; - loop - fetch crs_correct into rec; - if NOT FOUND then - close crs_correct; - return; - end if; - update jnt_fic_attr set jnt_order=jnt_order + 1 where jnt_id = rec.jnt_id; - end loop; - close crs_correct; - perform attribute_correct_order (); -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION card_class_base(p_f_id integer) RETURNS text - AS $$ -declare - n_poste fiche_def.fd_class_base%type; -begin - - select fd_class_base into n_poste from fiche_def join fiche using -(fd_id) - where f_id=p_f_id; - if not FOUND then - raise exception 'Invalid fiche card_class_base(%)',p_f_id; - end if; -return n_poste; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION check_balance(p_grpt integer) RETURNS numeric - AS $$ -declare - amount_jrnx_debit numeric; - amount_jrnx_credit numeric; - amount_jrn numeric; -begin - select sum (j_montant) into amount_jrnx_credit - from jrnx - where - j_grpt=p_grpt - and j_debit=false; - - select sum (j_montant) into amount_jrnx_debit - from jrnx - where - j_grpt=p_grpt - and j_debit=true; - - select jr_montant into amount_jrn - from jrn - where - jr_grpt_id=p_grpt; - - if ( amount_jrnx_debit != amount_jrnx_credit ) - then - return abs(amount_jrnx_debit-amount_jrnx_credit); - end if; - if ( amount_jrn != amount_jrnx_credit) - then - return -1*abs(amount_jrn - amount_jrnx_credit); - end if; - return 0; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION correct_sequence(p_sequence text, p_col text, p_table text) RETURNS integer - AS $$ -declare -last_sequence int8; -max_sequence int8; -n integer; -begin - select count(*) into n from pg_class where relkind='S' and relname=lower(p_sequence); - if n = 0 then - raise exception ' Unknow sequence % ',p_sequence; - end if; - select count(*) into n from pg_class where relkind='r' and relname=lower(p_table); - if n = 0 then - raise exception ' Unknow table % ',p_table; - end if; - - execute 'select last_value from '||p_sequence into last_sequence; - raise notice 'Last value of the sequence is %', last_sequence; - - execute 'select max('||p_col||') from '||p_table into max_sequence; - if max_sequence is null then - max_sequence := 0; - end if; - raise notice 'Max value of the sequence is %', max_sequence; - max_sequence:= max_sequence +1; - execute 'alter sequence '||p_sequence||' restart with '||max_sequence; -return 0; - -end; -$$ - LANGUAGE plpgsql; - - - -COMMENT ON FUNCTION correct_sequence(p_sequence text, p_col text, p_table text) IS ' Often the primary key is a sequence number and sometimes the value of the sequence is not synchronized with the primary key ( p_sequence : sequence name, p_col : col of the pk,p_table : concerned table'; - - - -CREATE FUNCTION create_missing_sequence() RETURNS integer - AS $$ -declare -p_sequence text; -nSeq integer; -c1 cursor for select jrn_def_id from jrn_def; -begin - open c1; - loop - fetch c1 into nSeq; - if not FOUND THEN - close c1; - return 0; - end if; - p_sequence:='s_jrn_pj'||nSeq::text; - execute 'create sequence '||p_sequence; - end loop; -close c1; -return 0; - -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION drop_index(p_constraint character varying) RETURNS void - AS $$ -declare - nCount integer; -begin - select count(*) into nCount from pg_indexes where indexname=p_constraint; - if nCount = 1 then - execute 'drop index '||p_constraint ; - end if; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION drop_it(p_constraint character varying) RETURNS void - AS $$ -declare - nCount integer; -begin - select count(*) into nCount from pg_constraint where conname=p_constraint; - if nCount = 1 then - execute 'alter table parm_periode drop constraint '||p_constraint ; - end if; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION extension_ins_upd() RETURNS trigger - AS $$ -declare - sCode text; - sFile text; -begin -sCode:=trim(upper(NEW.ex_code)); -sCode:=replace(sCode,' ','_'); -sCode:=substr(sCode,1,15); -sCode=upper(sCode); -NEW.ex_code:=sCode; -sFile:=NEW.ex_file; -sFile:=replace(sFile,';','_'); -sFile:=replace(sFile,'<','_'); -sFile:=replace(sFile,'>','_'); -sFile:=replace(sFile,'..',''); -sFile:=replace(sFile,'&',''); -sFile:=replace(sFile,'|',''); - - - -return NEW; - -end; - -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION fiche_account_parent(p_f_id integer) RETURNS public.account_type - AS $$ -declare -ret tmp_pcmn.pcm_val%TYPE; -begin - select fd_class_base into ret from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if not FOUND then - raise exception '% N''existe pas',p_f_id; - end if; - return ret; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION fiche_attribut_synchro(p_fd_id integer) RETURNS void - AS $$ -declare - -- this sql gives the f_id and the missing attribute (ad_id) - list_missing cursor for select f_id,fd_id,ad_id,jnt_order from jnt_fic_attr join fiche as A using (fd_id) where fd_id=p_fd_id and ad_id not in (select ad_id from fiche join jnt_fic_att_value using (f_id) where fd_id=jnt_fic_attr.fd_id and A.f_id=f_id); - rec record; - -- value of the last insert - jnt jnt_fic_att_value%ROWTYPE; -begin - open list_missing; - loop - - fetch list_missing into rec; - IF NOT FOUND then - exit; - end if; - -- insert a value into jnt_fic_att_value - insert into jnt_fic_att_value (f_id,ad_id) values (rec.f_id,rec.ad_id) returning * into jnt; - - -- now we insert into attr_value - insert into attr_value values (jnt.jft_id,''); - end loop; - close list_missing; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION fiche_def_ins_upd() RETURNS trigger - AS $$ -begin - -if position (',' in NEW.fd_class_base) != 0 then - NEW.fd_create_account='f'; - -end if; -return NEW; -end;$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION find_pcm_type(pp_value public.account_type) RETURNS text - AS $$ -declare - str_type parm_poste.p_type%TYPE; - str_value parm_poste.p_type%TYPE; - nLength integer; -begin - str_value:=pp_value; - nLength:=length(str_value::text); - while nLength > 0 loop - select p_type into str_type from parm_poste where p_value=str_value; - if FOUND then - return str_type; - end if; - nLength:=nLength-1; - str_value:=substring(str_value::text from 1 for nLength)::account_type; - end loop; -return 'CON'; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION get_letter_jnt(a bigint) RETURNS bigint - AS $$ -declare - nResult bigint; -begin - select jl_id into nResult from jnt_letter join letter_deb using (jl_id) where j_id = a; - if NOT FOUND then - select jl_id into nResult from jnt_letter join letter_cred using (jl_id) where j_id = a; - if NOT found then - return null; - end if; - end if; -return nResult; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION get_pcm_tree(source public.account_type) RETURNS SETOF public.account_type - AS $$ -declare - i account_type; - e account_type; -begin - for i in select pcm_val from tmp_pcmn where pcm_val_parent=source - loop - return next i; - for e in select get_pcm_tree from get_pcm_tree(i) - loop - return next e; - end loop; - - end loop; - return; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION group_analytic_ins_upd() RETURNS trigger - AS $$ -declare -name text; -begin -name:=upper(NEW.ga_id); -name:=trim(name); -name:=replace(name,' ',''); -NEW.ga_id:=name; -return NEW; -end;$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION group_analytique_del() RETURNS trigger - AS $$ -begin -update poste_analytique set ga_id=null -where ga_id=OLD.ga_id; -return OLD; -end;$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION html_quote(p_string text) RETURNS text - AS $$ -declare - r text; -begin - r:=p_string; - r:=replace(r,'<','<'); - r:=replace(r,'>','>'); - r:=replace(r,'''','"'); - return r; -end;$$ - LANGUAGE plpgsql; - - - -COMMENT ON FUNCTION html_quote(p_string text) IS 'remove harmfull HTML char'; - - - -CREATE FUNCTION info_def_ins_upd() RETURNS trigger - AS $$ -declare - row_info_def info_def%ROWTYPE; - str_type text; -begin -row_info_def:=NEW; -str_type:=upper(trim(NEW.id_type)); -str_type:=replace(str_type,' ',''); -str_type:=replace(str_type,',',''); -str_type:=replace(str_type,';',''); -if length(str_type) =0 then - raise exception 'id_type cannot be null'; -end if; -row_info_def.id_type:=str_type; -return row_info_def; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION insert_jrnx(p_date character varying, p_montant numeric, p_poste public.account_type, p_grpt integer, p_jrn_def integer, p_debit boolean, p_tech_user text, p_tech_per integer, p_qcode text, p_comment text) RETURNS void - AS $$ -declare - sCode varchar; - nCount_qcode integer; -begin - sCode=trim(p_qcode); - - -- if p_qcode is empty try to find one - if length(sCode) = 0 or p_qcode is null then - select count(*) into nCount_qcode - from vw_poste_qcode where j_poste=p_poste; - -- if we find only one q_code for a accountancy account - -- then retrieve it - if nCount_qcode = 1 then - select j_qcode::text into sCode - from vw_poste_qcode where j_poste=p_poste; - else - sCode=NULL; - end if; - - end if; - - insert into jrnx - ( - j_date, - j_montant, - j_poste, - j_grpt, - j_jrn_def, - j_debit, - j_text, - j_tech_user, - j_tech_per, - j_qcode - ) values - ( - to_date(p_date,'DD.MM.YYYY'), - p_montant, - p_poste, - p_grpt, - p_jrn_def, - p_debit, - p_comment, - p_tech_user, - p_tech_per, - sCode - ); - -return; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION insert_quant_purchase(p_internal text, p_j_id numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric, p_dep_priv numeric, p_client character varying) RETURNS void - AS $$ -declare - fid_client integer; - fid_good integer; -begin - select f_id into fid_client from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(trim(p_client)); - select f_id into fid_good from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(trim(p_fiche)); - insert into quant_purchase - (qp_internal, - j_id, - qp_fiche, - qp_quantite, - qp_price, - qp_vat, - qp_vat_code, - qp_nd_amount, - qp_nd_tva, - qp_nd_tva_recup, - qp_supplier, - qp_dep_priv) - values - (p_internal, - p_j_id, - fid_good, - p_quant, - p_price, - p_vat, - p_vat_code, - p_nd_amount, - p_nd_tva, - p_nd_tva_recup, - fid_client, - p_dep_priv); - return; -end; - $$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION insert_quant_sold(p_internal text, p_jid numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_client character varying) RETURNS void - AS $$ -declare - fid_client integer; - fid_good integer; -begin - - select f_id into fid_client from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(trim(p_client)); - select f_id into fid_good from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(trim(p_fiche)); - insert into quant_sold - (qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client,qs_valid) - values - (p_internal,p_jid,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client,'Y'); - return; -end; - $$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION insert_quick_code(nf_id integer, tav_text text) RETURNS integer - AS $$ - declare - ns integer; - nExist integer; - tText text; - begin - tText := upper(trim(tav_text)); - tText := replace(tText,' ',''); - - loop - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - if length (tText) = 0 or tText is null then - tText := 'FID'||ns; - end if; - -- av_text already used ? - select count(*) into nExist - from jnt_fic_att_value join attr_value using (jft_id) - where - ad_id=23 and av_text=upper(tText); - - if nExist = 0 then - exit; - end if; - tText:='FID'||ns; - end loop; - -- insert into table jnt_fic_att_value - insert into jnt_fic_att_value values (ns,nf_id,23); - -- insert value into attr_value - insert into attr_value values (ns,upper(tText)); - return ns; - end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION jrn_check_periode() RETURNS trigger - AS $$ -declare -bClosed bool; -str_status text; -ljr_tech_per jrn.jr_tech_per%TYPE; -ljr_def_id jrn.jr_def_id%TYPE; -lreturn jrn%ROWTYPE; -begin -if TG_OP='INSERT' then - ljr_tech_per :=NEW.jr_tech_per; - ljr_def_id :=NEW.jr_def_id; - lreturn :=NEW; -end if; - -if TG_OP='DELETE' then - ljr_tech_per :=OLD.jr_tech_per; - ljr_def_id :=OLD.jr_def_id; - lreturn :=OLD; -end if; - -select p_closed into bClosed from parm_periode - where p_id=ljr_tech_per; - -if bClosed = true then - raise exception 'Periode fermee'; -end if; - -select status into str_status from jrn_periode - where p_id =ljr_tech_per and jrn_def_id=ljr_def_id; - -if str_status <> 'OP' then - raise exception 'Periode fermee'; -end if; - -return lreturn; -end;$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION jrn_def_add() RETURNS trigger - AS $$begin -execute 'insert into jrn_periode(p_id,jrn_def_id,status) select p_id,'||NEW.jrn_def_id||', - case when p_central=true then ''CE'' - when p_closed=true then ''CL'' - else ''OP'' - end -from -parm_periode '; -return NEW; -end;$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION jrn_def_delete() RETURNS trigger - AS $$ -declare -nb numeric; -begin -select count(*) into nb from jrn where jr_def_id=OLD.jrn_def_id; - -if nb <> 0 then - raise exception 'EFFACEMENT INTERDIT: JOURNAL UTILISE'; -end if; -return OLD; -end;$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION jrn_del() RETURNS trigger - AS $$ -declare -row jrn%ROWTYPE; -begin -row:=OLD; -insert into del_jrn ( jr_id, - jr_def_id, - jr_montant, - jr_comment, - jr_date, - jr_grpt_id, - jr_internal, - jr_tech_date, - jr_tech_per, - jrn_ech, - jr_ech, - jr_rapt, - jr_valid, - jr_opid, - jr_c_opid, - jr_pj, - jr_pj_name, - jr_pj_type, - jr_pj_number, - del_jrn_date) - select jr_id, - jr_def_id, - jr_montant, - jr_comment, - jr_date, - jr_grpt_id, - jr_internal, - jr_tech_date, - jr_tech_per, - jrn_ech, - jr_ech, - jr_rapt, - jr_valid, - jr_opid, - jr_c_opid, - jr_pj, - jr_pj_name, - jr_pj_type, - jr_pj_number - ,now() from jrn where jr_id=row.jr_id; -return row; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION jrnx_del() RETURNS trigger - AS $$ -declare -row jrnx%ROWTYPE; -begin -row:=OLD; -insert into del_jrnx select * from jrnx where j_id=row.j_id; -return row; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION plan_analytic_ins_upd() RETURNS trigger - AS $$ -declare - name text; -begin - name:=upper(NEW.pa_name); - name:=trim(name); - name:=replace(name,' ',''); - NEW.pa_name:=name; -return NEW; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION poste_analytique_ins_upd() RETURNS trigger - AS $$declare -name text; -rCount record; - -begin -name:=upper(NEW.po_name); -name:=trim(name); -name:=replace(name,' ',''); -NEW.po_name:=name; - -if NEW.ga_id is NULL then -return NEW; -end if; - -if length(trim(NEW.ga_id)) = 0 then - NEW.ga_id:=NULL; - return NEW; -end if; -perform 'select ga_id from groupe_analytique where ga_id='||NEW.ga_id; -if NOT FOUND then - raise exception' Inexistent Group Analytic %',NEW.ga_id; -end if; -return NEW; -end;$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION proc_check_balance() RETURNS trigger - AS $$ -declare - diff numeric; - tt integer; -begin - if TG_OP = 'INSERT' or TG_OP='UPDATE' then - tt=NEW.jr_grpt_id; - diff:=check_balance(tt); - if diff != 0 then - raise exception 'balance error %',diff ; - end if; - return NEW; - end if; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION t_document_modele_validate() RETURNS trigger - AS $$ -declare - lText text; - modified document_modele%ROWTYPE; -begin - modified:=NEW; - - modified.md_filename:=replace(NEW.md_filename,' ','_'); - return modified; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION t_document_type_insert() RETURNS trigger - AS $$ -declare -nCounter integer; - BEGIN -select count(*) into nCounter from pg_class where relname='seq_doc_type_'||NEW.dt_id; -if nCounter = 0 then - execute 'create sequence seq_doc_type_'||NEW.dt_id; -end if; - RETURN NEW; - END; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION t_document_validate() RETURNS trigger - AS $$ -declare - lText text; - modified document%ROWTYPE; -begin - modified:=NEW; - modified.d_filename:=replace(NEW.d_filename,' ','_'); - return modified; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION t_jrn_def_sequence() RETURNS trigger - AS $$ -declare -nCounter integer; - - BEGIN - select count(*) into nCounter - from pg_class where relname='s_jrn_'||NEW.jrn_def_id; - if nCounter = 0 then - execute 'create sequence s_jrn_'||NEW.jrn_def_id; - raise notice 'Creating sequence s_jrn_%',NEW.jrn_def_id; - end if; - - RETURN NEW; - END; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION tmp_pcmn_ins() RETURNS trigger - AS $$ -declare - r_record tmp_pcmn%ROWTYPE; -begin -r_record=NEW; -if length(trim(r_record.pcm_type))=0 or r_record.pcm_type is NULL then - r_record.pcm_type:=find_pcm_type(NEW.pcm_val); - return r_record; -end if; -return NEW; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION trim_cvs_quote() RETURNS trigger - AS $$ -declare - modified import_tmp%ROWTYPE; -begin - modified:=NEW; - modified.devise=replace(new.devise,'"',''); - modified.poste_comptable=replace(new.poste_comptable,'"',''); - modified.compte_ordre=replace(NEW.COMPTE_ORDRE,'"',''); - modified.detail=replace(NEW.DETAIL,'"',''); - modified.num_compte=replace(NEW.NUM_COMPTE,'"',''); - return modified; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION trim_space_format_csv_banque() RETURNS trigger - AS $$ -declare - modified format_csv_banque%ROWTYPE; -begin - modified.name=trim(NEW.NAME); - modified.include_file=trim(new.include_file); - if ( length(modified.name) = 0 ) then - modified.name=null; - end if; - if ( length(modified.include_file) = 0 ) then - modified.include_file=null; - end if; - - return modified; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION tva_delete(integer) RETURNS void - AS $_$ -declare - p_tva_id alias for $1; - nCount integer; -begin - nCount=0; - select count(*) into nCount from quant_sold where qs_vat_code=p_tva_id; - if nCount != 0 then - return; - - end if; - select count(*) into nCount from quant_purchase where qp_vat_code=p_tva_id; - if nCount != 0 then - return; - - end if; - -delete from tva_rate where tva_id=p_tva_id; - return; -end; -$_$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION tva_insert(text, numeric, text, text) RETURNS integer - AS $_$ -declare - l_tva_id integer; - p_tva_label alias for $1; - p_tva_rate alias for $2; - p_tva_comment alias for $3; - p_tva_poste alias for $4; - debit text; - credit text; - nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::account_type; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::account_type; - if nCount = 0 then return 4; end if; - -end if; -select into l_tva_id nextval('s_tva') ; -insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste) - values (l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste); -return 0; -end; -$_$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION tva_modify(integer, text, numeric, text, text) RETURNS integer - AS $_$ -declare - p_tva_id alias for $1; - p_tva_label alias for $2; - p_tva_rate alias for $3; - p_tva_comment alias for $4; - p_tva_poste alias for $5; - debit text; - credit text; - nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::account_type; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::account_type; - if nCount = 0 then return 4; end if; - -end if; -update tva_rate set tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste - where tva_id=p_tva_id; -return 0; -end; -$_$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION update_quick_code(njft_id integer, tav_text text) RETURNS integer - AS $$ - declare - ns integer; - nExist integer; - tText text; - old_qcode varchar; - begin - -- get current value - select av_text into old_qcode from attr_value where jft_id=njft_id; - -- av_text didn't change so no update - if tav_text = upper( trim(old_qcode)) then - return 0; - end if; - - tText := trim(upper(tav_text)); - tText := replace(tText,' ',''); - if length ( tText) = 0 or tText is null then - return 0; - end if; - - ns := njft_id; - - loop - -- av_text already used ? - select count(*) into nExist - from jnt_fic_att_value join attr_value using (jft_id) - where - ad_id=23 and av_text=tText; - - if nExist = 0 then - exit; - end if; - if tText = 'FID'||ns then - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - end if; - tText :='FID'||ns; - - end loop; - update attr_value set av_text = tText where jft_id=njft_id; - - -- update also the contact - update attr_value set av_text = tText - where jft_id in - ( select jft_id - from jnt_fic_att_value join attr_value using (jft_id) - where ad_id=25 and av_text=old_qcode); - - - update jrnx set j_qcode=tText where j_qcode = old_qcode; - return ns; - end; -$$ - LANGUAGE plpgsql; - - -SET search_path = public, pg_catalog; - - -CREATE FUNCTION bud_card_ins_upd() RETURNS trigger - AS $$declare - sCode text; -begin - -sCode:=trim(upper(NEW.bc_code)); -sCode:=replace(sCode,' ','_'); -sCode:=substr(sCode,1,10); -NEW.bc_code:=sCode; -return NEW; -end;$$ - LANGUAGE plpgsql; - - - -CREATE FUNCTION bud_detail_ins_upd() RETURNS trigger - AS $$declare -mline bud_detail%ROWTYPE; -begin -mline:=NEW; -if mline.po_id = -1 then - mline.po_id:=NULL; -end if; -return mline; -end;$$ - LANGUAGE plpgsql; - - -SET default_tablespace = ''; - -SET default_with_oids = true; - - -CREATE TABLE action ( - ac_id integer NOT NULL, - ac_description text NOT NULL, - ac_module text, - ac_code character varying(9) -); - - - -COMMENT ON TABLE action IS 'The different privileges'; - - - -COMMENT ON COLUMN action.ac_code IS 'this code will be used in the code with the function User::check_action '; - - -SET default_with_oids = false; - - -CREATE TABLE action_detail ( - ad_id integer NOT NULL, - f_id bigint, - ad_text text, - ad_pu numeric(20,4) DEFAULT 0, - ad_quant numeric(20,4) DEFAULT 0, - ad_tva_id integer DEFAULT 0, - ad_tva_amount numeric(20,4) DEFAULT 0, - ad_total_amount numeric(20,4) DEFAULT 0, - ag_id integer DEFAULT 0 NOT NULL -); - - - -COMMENT ON TABLE action_detail IS 'Detail of action_gestion, see class Action_Detail'; - - - -COMMENT ON COLUMN action_detail.f_id IS 'the concerned card'; - - - -COMMENT ON COLUMN action_detail.ad_text IS ' Description '; - - - -COMMENT ON COLUMN action_detail.ad_pu IS ' price per unit '; - - - -COMMENT ON COLUMN action_detail.ad_quant IS 'quantity '; - - - -COMMENT ON COLUMN action_detail.ad_tva_id IS ' tva_id '; - - - -COMMENT ON COLUMN action_detail.ad_tva_amount IS ' tva_amount '; - - - -COMMENT ON COLUMN action_detail.ad_total_amount IS ' total amount'; - - - -CREATE SEQUENCE action_detail_ad_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -ALTER SEQUENCE action_detail_ad_id_seq OWNED BY action_detail.ad_id; - - - -CREATE SEQUENCE action_gestion_ag_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - -SET default_with_oids = true; - - -CREATE TABLE action_gestion ( - ag_id integer DEFAULT nextval('action_gestion_ag_id_seq'::regclass) NOT NULL, - ag_type integer, - f_id_dest integer NOT NULL, - ag_title character varying(70), - ag_timestamp timestamp without time zone DEFAULT now(), - ag_cal character(1) DEFAULT 'C'::bpchar, - ag_ref_ag_id integer, - ag_comment text, - ag_ref text, - ag_hour text, - ag_priority integer DEFAULT 2, - ag_dest text, - ag_owner text, - ag_contact bigint, - ag_state integer -); - - - -COMMENT ON TABLE action_gestion IS 'Contains the details for the follow-up of customer, supplier, administration'; - - - -COMMENT ON COLUMN action_gestion.ag_type IS ' type of action: see document_type '; - - - -COMMENT ON COLUMN action_gestion.f_id_dest IS ' third party '; - - - -COMMENT ON COLUMN action_gestion.ag_title IS ' title '; - - - -COMMENT ON COLUMN action_gestion.ag_timestamp IS ' '; - - - -COMMENT ON COLUMN action_gestion.ag_cal IS ' visible in the calendar if = C'; - - - -COMMENT ON COLUMN action_gestion.ag_ref_ag_id IS ' concerning the action '; - - - -COMMENT ON COLUMN action_gestion.ag_comment IS ' comment of the action'; - - - -COMMENT ON COLUMN action_gestion.ag_ref IS 'its reference '; - - - -COMMENT ON COLUMN action_gestion.ag_priority IS 'Low, medium, important '; - - - -COMMENT ON COLUMN action_gestion.ag_dest IS ' is the person who has to take care of this action '; - - - -COMMENT ON COLUMN action_gestion.ag_owner IS ' is the owner of this action '; - - - -COMMENT ON COLUMN action_gestion.ag_contact IS ' contact of the third part '; - - - -COMMENT ON COLUMN action_gestion.ag_state IS 'state of the action same as document_state '; - - - -CREATE TABLE attr_def ( - ad_id integer DEFAULT nextval(('s_attr_def'::text)::regclass) NOT NULL, - ad_text text -); - - - -COMMENT ON TABLE attr_def IS 'The available attributs for the cards'; - - - -CREATE TABLE attr_min ( - frd_id integer, - ad_id integer -); - - - -COMMENT ON TABLE attr_min IS 'The value of attributs for the cards'; - - - -CREATE TABLE attr_value ( - jft_id integer, - av_text text -); - - - -CREATE SEQUENCE bilan_b_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - -SET default_with_oids = false; - - -CREATE TABLE bilan ( - b_id integer DEFAULT nextval('bilan_b_id_seq'::regclass) NOT NULL, - b_name text NOT NULL, - b_file_template text NOT NULL, - b_file_form text, - b_type text NOT NULL -); - - - -COMMENT ON TABLE bilan IS 'contains the template and the data for generating different documents '; - - - -COMMENT ON COLUMN bilan.b_id IS 'primary key'; - - - -COMMENT ON COLUMN bilan.b_name IS 'Name of the document'; - - - -COMMENT ON COLUMN bilan.b_file_template IS 'path of the template (document/...)'; - - - -COMMENT ON COLUMN bilan.b_file_form IS 'path of the file with forms'; - - - -COMMENT ON COLUMN bilan.b_type IS 'type = ODS, RTF...'; - - - -CREATE SEQUENCE bud_card_bc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE bud_detail_bd_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE bud_detail_periode_bdp_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - -SET default_with_oids = true; - - -CREATE TABLE centralized ( - c_id integer DEFAULT nextval(('s_centralized'::text)::regclass) NOT NULL, - c_j_id integer, - c_date date NOT NULL, - c_internal text NOT NULL, - c_montant numeric(20,4) NOT NULL, - c_debit boolean DEFAULT true, - c_jrn_def integer NOT NULL, - c_poste account_type, - c_description text, - c_grp integer NOT NULL, - c_comment text, - c_rapt text, - c_periode integer, - c_order integer -); - - - -COMMENT ON TABLE centralized IS 'The centralized journal'; - - -SET default_with_oids = false; - - -CREATE TABLE del_action ( - del_id integer NOT NULL, - del_name text NOT NULL, - del_time timestamp without time zone -); - - - -CREATE SEQUENCE del_action_del_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -ALTER SEQUENCE del_action_del_id_seq OWNED BY del_action.del_id; - - - -CREATE TABLE del_jrn ( - jr_id integer NOT NULL, - jr_def_id integer, - jr_montant numeric(20,4), - jr_comment text, - jr_date date, - jr_grpt_id integer, - jr_internal text, - jr_tech_date timestamp without time zone, - jr_tech_per integer, - jrn_ech date, - jr_ech date, - jr_rapt text, - jr_valid boolean, - jr_opid integer, - jr_c_opid integer, - jr_pj oid, - jr_pj_name text, - jr_pj_type text, - del_jrn_date timestamp without time zone, - jr_pj_number text -); - - - -CREATE TABLE del_jrnx ( - j_id integer NOT NULL, - j_date date, - j_montant numeric(20,4), - j_poste account_type, - j_grpt integer, - j_rapt text, - j_jrn_def integer, - j_debit boolean, - j_text text, - j_centralized boolean, - j_internal text, - j_tech_user text, - j_tech_date timestamp without time zone, - j_tech_per integer, - j_qcode text -); - - - -CREATE SEQUENCE document_d_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - -SET default_with_oids = true; - - -CREATE TABLE document ( - d_id integer DEFAULT nextval('document_d_id_seq'::regclass) NOT NULL, - ag_id integer NOT NULL, - d_lob oid, - d_number bigint NOT NULL, - d_filename text, - d_mimetype text -); - - - -COMMENT ON TABLE document IS 'This table contains all the documents : summary and lob files'; - - - -CREATE SEQUENCE document_modele_md_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE TABLE document_modele ( - md_id integer DEFAULT nextval('document_modele_md_id_seq'::regclass) NOT NULL, - md_name text NOT NULL, - md_lob oid, - md_type integer NOT NULL, - md_filename text, - md_mimetype text, - md_affect character varying(3) NOT NULL -); - - - -COMMENT ON TABLE document_modele IS ' contains all the template for the documents'; - - - -CREATE SEQUENCE document_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -COMMENT ON SEQUENCE document_seq IS 'Sequence for the sequence bound to the document modele'; - - - -CREATE SEQUENCE document_state_s_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE TABLE document_state ( - s_id integer DEFAULT nextval('document_state_s_id_seq'::regclass) NOT NULL, - s_value character varying(50) NOT NULL -); - - - -COMMENT ON TABLE document_state IS 'State of the document'; - - - -CREATE SEQUENCE document_type_dt_id_seq - START WITH 25 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE TABLE document_type ( - dt_id integer DEFAULT nextval('document_type_dt_id_seq'::regclass) NOT NULL, - dt_value character varying(80) -); - - - -COMMENT ON TABLE document_type IS 'Type of document : meeting, invoice,...'; - - -SET default_with_oids = false; - - -CREATE TABLE extension ( - ex_id integer NOT NULL, - ex_name character varying(30) NOT NULL, - ex_code character varying(15) NOT NULL, - ex_desc character varying(250), - ex_file character varying NOT NULL, - ex_enable "char" DEFAULT 'Y'::"char" NOT NULL -); - - - -COMMENT ON TABLE extension IS 'Content the needed information for the extension'; - - - -COMMENT ON COLUMN extension.ex_id IS 'Primary key'; - - - -COMMENT ON COLUMN extension.ex_name IS 'code of the extension '; - - - -COMMENT ON COLUMN extension.ex_code IS 'code of the extension '; - - - -COMMENT ON COLUMN extension.ex_desc IS 'Description of the extension '; - - - -COMMENT ON COLUMN extension.ex_file IS 'path to the extension to include'; - - - -COMMENT ON COLUMN extension.ex_enable IS 'Y : enabled N : disabled '; - - - -CREATE SEQUENCE extension_ex_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -ALTER SEQUENCE extension_ex_id_seq OWNED BY extension.ex_id; - - -SET default_with_oids = true; - - -CREATE TABLE fiche ( - f_id integer DEFAULT nextval(('s_fiche'::text)::regclass) NOT NULL, - fd_id integer -); - - - -COMMENT ON TABLE fiche IS 'Cards'; - - - -CREATE TABLE fiche_def ( - fd_id integer DEFAULT nextval(('s_fdef'::text)::regclass) NOT NULL, - fd_class_base text, - fd_label text NOT NULL, - fd_create_account boolean DEFAULT false, - frd_id integer NOT NULL -); - - - -COMMENT ON TABLE fiche_def IS 'Cards definition'; - - - -CREATE TABLE fiche_def_ref ( - frd_id integer DEFAULT nextval(('s_fiche_def_ref'::text)::regclass) NOT NULL, - frd_text text, - frd_class_base integer -); - - - -COMMENT ON TABLE fiche_def_ref IS 'Family Cards definition'; - - -SET default_with_oids = false; - - -CREATE TABLE forecast ( - f_id integer NOT NULL, - f_name text NOT NULL -); - - - -COMMENT ON TABLE forecast IS 'contains the name of the forecast'; - - - -CREATE TABLE forecast_cat ( - fc_id integer NOT NULL, - fc_desc text NOT NULL, - f_id bigint, - fc_order integer DEFAULT 0 NOT NULL -); - - - -COMMENT ON COLUMN forecast_cat.fc_id IS 'primary key'; - - - -COMMENT ON COLUMN forecast_cat.fc_desc IS 'text of the category'; - - - -COMMENT ON COLUMN forecast_cat.f_id IS 'Foreign key, it is the parent from the table forecast'; - - - -COMMENT ON COLUMN forecast_cat.fc_order IS 'Order of the category, used when displaid'; - - - -CREATE SEQUENCE forecast_cat_fc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -ALTER SEQUENCE forecast_cat_fc_id_seq OWNED BY forecast_cat.fc_id; - - - -CREATE SEQUENCE forecast_f_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -ALTER SEQUENCE forecast_f_id_seq OWNED BY forecast.f_id; - - - -CREATE TABLE forecast_item ( - fi_id integer NOT NULL, - fi_text text, - fi_account text, - fi_card integer, - fi_order integer, - fc_id integer, - fi_amount numeric(20,4) DEFAULT 0, - fi_debit "char" DEFAULT 'd'::"char" NOT NULL, - fi_pid integer -); - - - -COMMENT ON COLUMN forecast_item.fi_id IS 'Primary key'; - - - -COMMENT ON COLUMN forecast_item.fi_text IS 'Label of the i tem'; - - - -COMMENT ON COLUMN forecast_item.fi_account IS 'Accountancy entry'; - - - -COMMENT ON COLUMN forecast_item.fi_card IS 'Card (fiche.f_id)'; - - - -COMMENT ON COLUMN forecast_item.fi_order IS 'Order of showing (not used)'; - - - -COMMENT ON COLUMN forecast_item.fi_amount IS 'Amount'; - - - -COMMENT ON COLUMN forecast_item.fi_debit IS 'possible values are D or C'; - - - -COMMENT ON COLUMN forecast_item.fi_pid IS '0 for every month, or the value parm_periode.p_id '; - - - -CREATE SEQUENCE forecast_item_fi_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -ALTER SEQUENCE forecast_item_fi_id_seq OWNED BY forecast_item.fi_id; - - -SET default_with_oids = true; - - -CREATE TABLE form ( - fo_id integer DEFAULT nextval(('s_form'::text)::regclass) NOT NULL, - fo_fr_id integer, - fo_pos integer, - fo_label text, - fo_formula text -); - - - -COMMENT ON TABLE form IS 'Forms content'; - - - -CREATE TABLE format_csv_banque ( - name text NOT NULL, - include_file text NOT NULL -); - - - -CREATE TABLE formdef ( - fr_id integer DEFAULT nextval(('s_formdef'::text)::regclass) NOT NULL, - fr_label text -); - - -SET default_with_oids = false; - - -CREATE TABLE groupe_analytique ( - ga_id character varying(10) NOT NULL, - pa_id integer, - ga_description text -); - - - -CREATE SEQUENCE historique_analytique_ha_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - -SET default_with_oids = true; - - -CREATE TABLE import_tmp ( - code text NOT NULL, - date_exec date NOT NULL, - date_valeur date NOT NULL, - devise text, - compte_ordre text, - detail text, - num_compte text, - poste_comptable text, - status character varying(1) DEFAULT 'n'::character varying NOT NULL, - bq_account text NOT NULL, - jrn integer NOT NULL, - jr_rapt text, - montant numeric(20,4) DEFAULT 0 NOT NULL, - CONSTRAINT import_tmp_status_check CHECK ((((((status)::text = 'n'::text) OR ((status)::text = 't'::text)) OR ((status)::text = 'd'::text)) OR ((status)::text = 'w'::text))) -); - - - -COMMENT ON TABLE import_tmp IS 'Table temporaire pour l''importation des banques en format CSV'; - - - -COMMENT ON COLUMN import_tmp.status IS 'Status w waiting, d delete t transfert'; - - -SET default_with_oids = false; - - -CREATE TABLE info_def ( - id_type text NOT NULL, - id_description text -); - - - -COMMENT ON TABLE info_def IS 'Contains the types of additionnal info we can add to a operation'; - - -SET default_with_oids = true; - - -CREATE TABLE jnt_fic_att_value ( - jft_id integer DEFAULT nextval(('s_jnt_fic_att_value'::text)::regclass) NOT NULL, - f_id integer, - ad_id integer -); - - - -COMMENT ON TABLE jnt_fic_att_value IS 'join between the card and the attribut definition'; - - - -CREATE SEQUENCE s_jnt_id - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE TABLE jnt_fic_attr ( - fd_id integer, - ad_id integer, - jnt_id bigint DEFAULT nextval('s_jnt_id'::regclass) NOT NULL, - jnt_order integer NOT NULL -); - - - -COMMENT ON TABLE jnt_fic_attr IS 'join between the family card and the attribut definition'; - - -SET default_with_oids = false; - - -CREATE TABLE jnt_letter ( - jl_id integer NOT NULL, - jl_amount_deb numeric(20,4) -); - - - -CREATE SEQUENCE jnt_letter_jl_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -ALTER SEQUENCE jnt_letter_jl_id_seq OWNED BY jnt_letter.jl_id; - - -SET default_with_oids = true; - - -CREATE TABLE jrn ( - jr_id integer DEFAULT nextval(('s_jrn'::text)::regclass) NOT NULL, - jr_def_id integer NOT NULL, - jr_montant numeric(20,4) NOT NULL, - jr_comment text, - jr_date date, - jr_grpt_id integer NOT NULL, - jr_internal text, - jr_tech_date timestamp without time zone DEFAULT now() NOT NULL, - jr_tech_per integer NOT NULL, - jrn_ech date, - jr_ech date, - jr_rapt text, - jr_valid boolean DEFAULT true, - jr_opid integer, - jr_c_opid integer, - jr_pj oid, - jr_pj_name text, - jr_pj_type text, - jr_pj_number text, - jr_mt text -); - - - -COMMENT ON TABLE jrn IS 'Journal: content one line for a group of accountancy writing'; - - - -CREATE TABLE jrn_action ( - ja_id integer DEFAULT nextval(('s_jrnaction'::text)::regclass) NOT NULL, - ja_name text NOT NULL, - ja_desc text, - ja_url text NOT NULL, - ja_action text NOT NULL, - ja_lang text DEFAULT 'FR'::text, - ja_jrn_type character(3) -); - - - -COMMENT ON TABLE jrn_action IS 'Possible action when we are in journal (menu)'; - - - -CREATE TABLE jrn_def ( - jrn_def_id integer DEFAULT nextval(('s_jrn_def'::text)::regclass) NOT NULL, - jrn_def_name text NOT NULL, - jrn_def_class_deb text, - jrn_def_class_cred text, - jrn_def_fiche_deb text, - jrn_def_fiche_cred text, - jrn_deb_max_line integer DEFAULT 1, - jrn_cred_max_line integer DEFAULT 1, - jrn_def_ech boolean DEFAULT false, - jrn_def_ech_lib text, - jrn_def_type character(3) NOT NULL, - jrn_def_code text NOT NULL, - jrn_def_pj_pref text -); - - - -COMMENT ON TABLE jrn_def IS 'Definition of a journal, his properties'; - - -SET default_with_oids = false; - - -CREATE TABLE jrn_info ( - ji_id integer NOT NULL, - jr_id integer NOT NULL, - id_type text NOT NULL, - ji_value text -); - - - -CREATE SEQUENCE jrn_info_ji_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -ALTER SEQUENCE jrn_info_ji_id_seq OWNED BY jrn_info.ji_id; - - - -CREATE TABLE jrn_periode ( - jrn_def_id integer NOT NULL, - p_id integer NOT NULL, - status text -); - - -SET default_with_oids = true; - - -CREATE TABLE jrn_rapt ( - jra_id integer DEFAULT nextval(('s_jrn_rapt'::text)::regclass) NOT NULL, - jr_id integer NOT NULL, - jra_concerned integer NOT NULL -); - - - -COMMENT ON TABLE jrn_rapt IS 'Rapprochement between operation'; - - - -CREATE TABLE jrn_type ( - jrn_type_id character(3) NOT NULL, - jrn_desc text -); - - - -COMMENT ON TABLE jrn_type IS 'Type of journal (Sell, Buy, Financial...)'; - - - -CREATE TABLE jrnx ( - j_id integer DEFAULT nextval(('s_jrn_op'::text)::regclass) NOT NULL, - j_date date DEFAULT now(), - j_montant numeric(20,4) DEFAULT 0, - j_poste account_type NOT NULL, - j_grpt integer NOT NULL, - j_rapt text, - j_jrn_def integer NOT NULL, - j_debit boolean DEFAULT true, - j_text text, - j_centralized boolean DEFAULT false, - j_internal text, - j_tech_user text NOT NULL, - j_tech_date timestamp without time zone DEFAULT now() NOT NULL, - j_tech_per integer NOT NULL, - j_qcode text -); - - - -COMMENT ON TABLE jrnx IS 'Journal: content one line for each accountancy writing'; - - -SET default_with_oids = false; - - -CREATE TABLE letter_cred ( - lc_id integer NOT NULL, - j_id bigint NOT NULL, - jl_id bigint NOT NULL -); - - - -CREATE SEQUENCE letter_cred_lc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -ALTER SEQUENCE letter_cred_lc_id_seq OWNED BY letter_cred.lc_id; - - - -CREATE TABLE letter_deb ( - ld_id integer NOT NULL, - j_id bigint NOT NULL, - jl_id bigint NOT NULL -); - - - -CREATE SEQUENCE letter_deb_ld_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -ALTER SEQUENCE letter_deb_ld_id_seq OWNED BY letter_deb.ld_id; - - - -CREATE TABLE mod_payment ( - mp_id integer NOT NULL, - mp_lib text NOT NULL, - mp_jrn_def_id integer NOT NULL, - mp_type character varying(3) NOT NULL, - mp_fd_id bigint, - mp_qcode text -); - - - -COMMENT ON TABLE mod_payment IS 'Contains the different media of payment and the corresponding ledger'; - - - -CREATE SEQUENCE mod_payment_mp_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -ALTER SEQUENCE mod_payment_mp_id_seq OWNED BY mod_payment.mp_id; - - - -CREATE SEQUENCE op_def_op_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE TABLE op_predef ( - od_id integer DEFAULT nextval('op_def_op_seq'::regclass) NOT NULL, - jrn_def_id integer NOT NULL, - od_name text NOT NULL, - od_item integer NOT NULL, - od_jrn_type text NOT NULL, - od_direct boolean NOT NULL -); - - - -COMMENT ON TABLE op_predef IS 'predefined operation'; - - - -COMMENT ON COLUMN op_predef.jrn_def_id IS 'jrn_id'; - - - -COMMENT ON COLUMN op_predef.od_name IS 'name of the operation'; - - - -CREATE SEQUENCE op_predef_detail_opd_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE TABLE op_predef_detail ( - opd_id integer DEFAULT nextval('op_predef_detail_opd_id_seq'::regclass) NOT NULL, - od_id integer NOT NULL, - opd_poste text NOT NULL, - opd_amount numeric(20,4), - opd_tva_id integer, - opd_quantity numeric(20,4), - opd_debit boolean NOT NULL, - opd_tva_amount numeric(20,4), - opd_comment text, - opd_qc boolean -); - - - -COMMENT ON TABLE op_predef_detail IS 'contains the detail of predefined operations'; - - - -CREATE SEQUENCE s_oa_group - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE TABLE operation_analytique ( - oa_id integer DEFAULT nextval('historique_analytique_ha_id_seq'::regclass) NOT NULL, - po_id integer NOT NULL, - pa_id integer NOT NULL, - oa_amount numeric(20,4) NOT NULL, - oa_description text, - oa_debit boolean DEFAULT true NOT NULL, - j_id integer, - oa_group integer DEFAULT nextval('s_oa_group'::regclass) NOT NULL, - oa_date date NOT NULL, - oa_row integer -); - - - -COMMENT ON TABLE operation_analytique IS 'History of the analytic account'; - - -SET default_with_oids = true; - - -CREATE TABLE parameter ( - pr_id text NOT NULL, - pr_value text -); - - - -COMMENT ON TABLE parameter IS 'parameter of the company'; - - - -CREATE TABLE parm_code ( - p_code text NOT NULL, - p_value text, - p_comment text -); - - - -CREATE TABLE parm_money ( - pm_id integer DEFAULT nextval(('s_currency'::text)::regclass), - pm_code character(3) NOT NULL, - pm_rate numeric(20,4) -); - - - -COMMENT ON TABLE parm_money IS 'Currency conversion'; - - - -CREATE TABLE parm_periode ( - p_id integer DEFAULT nextval(('s_periode'::text)::regclass) NOT NULL, - p_start date NOT NULL, - p_end date NOT NULL, - p_exercice text DEFAULT to_char(now(), 'YYYY'::text) NOT NULL, - p_closed boolean DEFAULT false, - p_central boolean DEFAULT false, - CONSTRAINT parm_periode_check CHECK ((p_end >= p_start)) -); - - - -COMMENT ON TABLE parm_periode IS 'Periode definition'; - - -SET default_with_oids = false; - - -CREATE TABLE parm_poste ( - p_value account_type NOT NULL, - p_type text NOT NULL -); - - - -COMMENT ON TABLE parm_poste IS 'Contains data for finding is the type of the account (asset)'; - - - -CREATE SEQUENCE plan_analytique_pa_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE TABLE plan_analytique ( - pa_id integer DEFAULT nextval('plan_analytique_pa_id_seq'::regclass) NOT NULL, - pa_name text DEFAULT 'Sans Nom'::text NOT NULL, - pa_description text -); - - - -COMMENT ON TABLE plan_analytique IS 'Plan Analytique (max 5)'; - - - -CREATE SEQUENCE poste_analytique_po_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE TABLE poste_analytique ( - po_id integer DEFAULT nextval('poste_analytique_po_id_seq'::regclass) NOT NULL, - po_name text NOT NULL, - pa_id integer NOT NULL, - po_amount numeric(20,4) DEFAULT 0.0 NOT NULL, - po_description text, - ga_id character varying(10) -); - - - -COMMENT ON TABLE poste_analytique IS 'Poste Analytique'; - - - -CREATE TABLE quant_purchase ( - qp_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL, - qp_internal text NOT NULL, - j_id integer NOT NULL, - qp_fiche integer NOT NULL, - qp_quantite numeric(20,4) NOT NULL, - qp_price numeric(20,4), - qp_vat numeric(20,4) DEFAULT 0.0, - qp_vat_code integer, - qp_nd_amount numeric(20,4) DEFAULT 0.0, - qp_nd_tva numeric(20,4) DEFAULT 0.0, - qp_nd_tva_recup numeric(20,4) DEFAULT 0.0, - qp_supplier integer NOT NULL, - qp_valid character(1) DEFAULT 'Y'::bpchar NOT NULL, - qp_dep_priv numeric(20,4) DEFAULT 0.0 -); - - -SET default_with_oids = true; - - -CREATE TABLE quant_sold ( - qs_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL, - qs_internal text NOT NULL, - qs_fiche integer NOT NULL, - qs_quantite numeric(20,4) NOT NULL, - qs_price numeric(20,4), - qs_vat numeric(20,4), - qs_vat_code integer, - qs_client integer NOT NULL, - qs_valid character(1) DEFAULT 'Y'::bpchar NOT NULL, - j_id integer NOT NULL -); - - - -COMMENT ON TABLE quant_sold IS 'Contains about invoice for customer'; - - - -CREATE SEQUENCE s_attr_def - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_cbc - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_central - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_central_order - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_centralized - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_currency - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_fdef - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_fiche - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_fiche_def_ref - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_form - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_formdef - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_grpt - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_idef - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_internal - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_invoice - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_isup - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jnt_fic_att_value - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrn - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrn_1 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrn_2 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrn_3 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrn_4 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrn_def - START WITH 5 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrn_op - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrn_pj1 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrn_pj2 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrn_pj3 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrn_pj4 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrn_rapt - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrnaction - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_jrnx - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_periode - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_quantity - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_stock_goods - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_tva - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_user_act - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE s_user_jrn - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_bud_hypothese_bh_id - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_1 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_10 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_2 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_20 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_21 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_22 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_3 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_4 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_5 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_6 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_7 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_8 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE SEQUENCE seq_doc_type_9 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -CREATE TABLE stock_goods ( - sg_id integer DEFAULT nextval(('s_stock_goods'::text)::regclass) NOT NULL, - j_id integer, - f_id integer NOT NULL, - sg_code text, - sg_quantity numeric(8,4) DEFAULT 0, - sg_type character(1) DEFAULT 'c'::bpchar NOT NULL, - sg_date date, - sg_tech_date date DEFAULT now(), - sg_tech_user text, - sg_comment character varying(80), - sg_exercice character varying(4), - CONSTRAINT stock_goods_sg_type CHECK (((sg_type = 'c'::bpchar) OR (sg_type = 'd'::bpchar))) -); - - - -COMMENT ON TABLE stock_goods IS 'About the goods'; - - - -CREATE TABLE tmp_pcmn ( - pcm_val account_type NOT NULL, - pcm_lib text, - pcm_val_parent account_type DEFAULT 0, - pcm_type text -); - - - -COMMENT ON TABLE tmp_pcmn IS 'Plan comptable minimum normalisé'; - - - -CREATE SEQUENCE todo_list_tl_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - -SET default_with_oids = false; - - -CREATE TABLE todo_list ( - tl_id integer DEFAULT nextval('todo_list_tl_id_seq'::regclass) NOT NULL, - tl_date date NOT NULL, - tl_title text NOT NULL, - tl_desc text, - use_login text NOT NULL -); - - - -COMMENT ON TABLE todo_list IS 'Todo list'; - - -SET default_with_oids = true; - - -CREATE TABLE tva_rate ( - tva_id integer DEFAULT nextval('s_tva'::regclass) NOT NULL, - tva_label text NOT NULL, - tva_rate numeric(8,4) DEFAULT 0.0 NOT NULL, - tva_comment text, - tva_poste text -); - - - -COMMENT ON TABLE tva_rate IS 'Rate of vat'; - - - -CREATE TABLE user_local_pref ( - user_id text NOT NULL, - parameter_type text NOT NULL, - parameter_value text -); - - - -COMMENT ON TABLE user_local_pref IS 'The user''s local parameter '; - - - -COMMENT ON COLUMN user_local_pref.user_id IS 'user''s login '; - - - -COMMENT ON COLUMN user_local_pref.parameter_type IS 'the type of parameter '; - - - -COMMENT ON COLUMN user_local_pref.parameter_value IS 'the value of parameter '; - - - -CREATE TABLE user_sec_act ( - ua_id integer DEFAULT nextval(('s_user_act'::text)::regclass) NOT NULL, - ua_login text, - ua_act_id integer -); - - -SET default_with_oids = false; - - -CREATE TABLE user_sec_extension ( - use_id integer NOT NULL, - ex_id integer NOT NULL, - use_login text NOT NULL, - use_access character(1) DEFAULT 0 NOT NULL -); - - - -COMMENT ON TABLE user_sec_extension IS 'Security for extension'; - - - -CREATE SEQUENCE user_sec_extension_use_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - -ALTER SEQUENCE user_sec_extension_use_id_seq OWNED BY user_sec_extension.use_id; - - -SET default_with_oids = true; - - -CREATE TABLE user_sec_jrn ( - uj_id integer DEFAULT nextval(('s_user_jrn'::text)::regclass) NOT NULL, - uj_login text, - uj_jrn_id integer, - uj_priv text -); - - - -CREATE TABLE version ( - val integer -); - - - -CREATE VIEW vw_client AS - SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email FROM (((((((((SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 1)) a JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 13)) b USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 23)) a1 USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 5)) c USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 14)) d USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 15)) e USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 16)) f USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 17)) g USING (f_id)) LEFT JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 18)) h USING (f_id)) WHERE (a.frd_id = 9); - - - -CREATE VIEW vw_fiche_attr AS - SELECT a.f_id, a.fd_id, a.av_text AS vw_name, b.av_text AS vw_sell, c.av_text AS vw_buy, d.av_text AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.av_text AS vw_addr, f.av_text AS vw_cp, j.av_text AS quick_code, h.av_text AS vw_description, i.av_text AS tva_num, fiche_def.frd_id FROM (((((((((((SELECT fiche.f_id, fiche.fd_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 1)) a LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 6)) b ON ((a.f_id = b.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 7)) c ON ((a.f_id = c.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 2)) d ON ((a.f_id = d.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 14)) e ON ((a.f_id = e.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 15)) f ON ((a.f_id = f.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 23)) j ON ((a.f_id = j.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 9)) h ON ((a.f_id = h.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 13)) i ON ((a.f_id = i.f_id))) LEFT JOIN tva_rate ON ((d.av_text = (tva_rate.tva_id)::text))) JOIN fiche_def USING (fd_id)); - - - -CREATE VIEW vw_fiche_def AS - SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, attr_def.ad_text, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def.frd_id FROM ((fiche_def JOIN jnt_fic_attr USING (fd_id)) JOIN attr_def ON ((attr_def.ad_id = jnt_fic_attr.ad_id))); - - - -COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family'; - - - -CREATE VIEW vw_fiche_min AS - SELECT attr_min.frd_id, attr_min.ad_id, attr_def.ad_text, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base FROM ((attr_min JOIN attr_def USING (ad_id)) JOIN fiche_def_ref USING (frd_id)); - - - -CREATE VIEW vw_poste_qcode AS - SELECT a.f_id, a.av_text AS j_poste, b.av_text AS j_qcode FROM ((SELECT jnt_fic_att_value.f_id, attr_value.av_text FROM (attr_value JOIN jnt_fic_att_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 5)) a JOIN (SELECT jnt_fic_att_value.f_id, attr_value.av_text FROM (attr_value JOIN jnt_fic_att_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 23)) b USING (f_id)); - - - -CREATE VIEW vw_supplier AS - SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email FROM (((((((((SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 1)) a JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 13)) b USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 23)) a1 USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 5)) c USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 14)) d USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 15)) e USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 16)) f USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 17)) g USING (f_id)) LEFT JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 18)) h USING (f_id)) WHERE (a.frd_id = 8); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CREATE UNIQUE INDEX attr_value_jft_id ON attr_value USING btree (jft_id); - - - -CREATE UNIQUE INDEX fd_id_ad_id_x ON jnt_fic_attr USING btree (fd_id, ad_id); - - - -CREATE INDEX fk_stock_goods_f_id ON stock_goods USING btree (f_id); - - - -CREATE INDEX fk_stock_goods_j_id ON stock_goods USING btree (j_id); - - - -CREATE UNIQUE INDEX idx_case ON format_csv_banque USING btree (upper(name)); - - - -CREATE INDEX idx_qs_internal ON quant_sold USING btree (qs_internal); - - - -CREATE INDEX jnt_fic_att_value_fd_id_idx ON jnt_fic_att_value USING btree (f_id); - - - -CREATE INDEX jnt_fic_attr_fd_id_idx ON jnt_fic_attr USING btree (fd_id); - - - -CREATE UNIQUE INDEX k_ag_ref ON action_gestion USING btree (ag_ref); - - - -CREATE UNIQUE INDEX uj_login_uj_jrn_id ON user_sec_jrn USING btree (uj_login, uj_jrn_id); - - - -CREATE UNIQUE INDEX ux_po_name ON poste_analytique USING btree (po_name); - - - -CREATE UNIQUE INDEX x_jrn_jr_id ON jrn USING btree (jr_id); - - - -CREATE INDEX x_mt ON jrn USING btree (jr_mt); - - - -CREATE UNIQUE INDEX x_periode ON parm_periode USING btree (p_start, p_end); - - - -CREATE INDEX x_poste ON jrnx USING btree (j_poste); - - - -CREATE TRIGGER action_gestion_t_insert_update - BEFORE INSERT OR UPDATE ON action_gestion - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.action_gestion_ins_upd(); - - - -COMMENT ON TRIGGER action_gestion_t_insert_update ON action_gestion IS 'Truncate the column ag_title to 70 char'; - - - -CREATE TRIGGER document_modele_validate - BEFORE INSERT OR UPDATE ON document_modele - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.t_document_modele_validate(); - - - -CREATE TRIGGER document_validate - BEFORE INSERT OR UPDATE ON document - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.t_document_validate(); - - - -CREATE TRIGGER fiche_def_ins_upd - BEFORE INSERT OR UPDATE ON fiche_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.fiche_def_ins_upd(); - - - -CREATE TRIGGER info_def_ins_upd_t - BEFORE INSERT OR UPDATE ON info_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.info_def_ins_upd(); - - - -CREATE TRIGGER t_check_balance - AFTER INSERT OR UPDATE ON jrn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.proc_check_balance(); - - - -CREATE TRIGGER t_check_jrn - BEFORE INSERT OR DELETE ON jrn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_check_periode(); - - - -CREATE TRIGGER t_group_analytic_del - BEFORE DELETE ON groupe_analytique - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.group_analytique_del(); - - - -CREATE TRIGGER t_group_analytic_ins_upd - BEFORE INSERT OR UPDATE ON groupe_analytique - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.group_analytic_ins_upd(); - - - -CREATE TRIGGER t_jrn_def_add_periode - AFTER INSERT ON jrn_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_def_add(); - - - -CREATE TRIGGER t_jrn_def_delete - BEFORE DELETE ON jrn_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_def_delete(); - - - -CREATE TRIGGER t_jrn_del - BEFORE DELETE ON jrn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_del(); - - - -CREATE TRIGGER t_jrnx_del - BEFORE DELETE ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrnx_del(); - - - -CREATE TRIGGER t_plan_analytique_ins_upd - BEFORE INSERT OR UPDATE ON plan_analytique - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.plan_analytic_ins_upd(); - - - -CREATE TRIGGER t_poste_analytique_ins_upd - BEFORE INSERT OR UPDATE ON poste_analytique - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.poste_analytique_ins_upd(); - - - -CREATE TRIGGER t_tmp_pcmn_ins - BEFORE INSERT ON tmp_pcmn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.tmp_pcmn_ins(); - - - -CREATE TRIGGER trg_extension_ins_upd - BEFORE INSERT OR UPDATE ON extension - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.extension_ins_upd(); - - - -CREATE TRIGGER trigger_document_type_i - AFTER INSERT ON document_type - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.t_document_type_insert(); - - - -CREATE TRIGGER trigger_jrn_def_sequence_i - AFTER INSERT ON jrn_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.t_jrn_def_sequence(); - - - -CREATE TRIGGER trim_quote - BEFORE INSERT OR UPDATE ON import_tmp - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.trim_cvs_quote(); - - - -CREATE TRIGGER trim_space - BEFORE INSERT OR UPDATE ON format_csv_banque - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.trim_space_format_csv_banque(); diff --git a/sources/html/admin/sql/mod1/sequence.sql b/sources/html/admin/sql/mod1/sequence.sql deleted file mode 100644 index a27a569..0000000 --- a/sources/html/admin/sql/mod1/sequence.sql +++ /dev/null @@ -1,481 +0,0 @@ -CREATE SEQUENCE action_detail_ad_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE action_detail_ad_id_seq OWNED BY action_detail.ad_id; -CREATE SEQUENCE action_gestion_ag_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE bilan_b_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE bud_card_bc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE bud_detail_bd_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE bud_detail_periode_bdp_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE del_action_del_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE del_action_del_id_seq OWNED BY del_action.del_id; -CREATE SEQUENCE document_d_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE document_modele_md_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE document_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -COMMENT ON SEQUENCE document_seq IS 'Sequence for the sequence bound to the document modele'; -CREATE SEQUENCE document_state_s_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE document_type_dt_id_seq - START WITH 25 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE extension_ex_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE extension_ex_id_seq OWNED BY extension.ex_id; -CREATE SEQUENCE forecast_cat_fc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE forecast_cat_fc_id_seq OWNED BY forecast_cat.fc_id; -CREATE SEQUENCE forecast_f_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE forecast_f_id_seq OWNED BY forecast.f_id; -CREATE SEQUENCE forecast_item_fi_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE forecast_item_fi_id_seq OWNED BY forecast_item.fi_id; -CREATE SEQUENCE historique_analytique_ha_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jnt_id - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE jnt_letter_jl_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE jnt_letter_jl_id_seq OWNED BY jnt_letter.jl_id; -CREATE SEQUENCE jrn_info_ji_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE jrn_info_ji_id_seq OWNED BY jrn_info.ji_id; -CREATE SEQUENCE letter_cred_lc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE letter_cred_lc_id_seq OWNED BY letter_cred.lc_id; -CREATE SEQUENCE letter_deb_ld_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE letter_deb_ld_id_seq OWNED BY letter_deb.ld_id; -CREATE SEQUENCE mod_payment_mp_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE mod_payment_mp_id_seq OWNED BY mod_payment.mp_id; -CREATE SEQUENCE op_def_op_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE op_predef_detail_opd_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_oa_group - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE plan_analytique_pa_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE poste_analytique_po_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_attr_def - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_cbc - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_central - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_central_order - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_centralized - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_currency - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_fdef - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_fiche - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_fiche_def_ref - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_form - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_formdef - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_grpt - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_idef - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_internal - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_invoice - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_isup - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jnt_fic_att_value - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrn - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrn_1 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrn_2 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrn_3 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrn_4 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrn_def - START WITH 5 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrn_op - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrn_pj1 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrn_pj2 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrn_pj3 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrn_pj4 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrn_rapt - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrnaction - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_jrnx - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_periode - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_quantity - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_stock_goods - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_tva - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_user_act - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE s_user_jrn - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_bud_hypothese_bh_id - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_1 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_10 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_2 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_20 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_21 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_22 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_3 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_4 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_5 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_6 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_7 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_8 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE seq_doc_type_9 - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE todo_list_tl_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -CREATE SEQUENCE user_sec_extension_use_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE user_sec_extension_use_id_seq OWNED BY user_sec_extension.use_id; diff --git a/sources/html/admin/sql/mod1/table.sql b/sources/html/admin/sql/mod1/table.sql deleted file mode 100644 index 510dbe3..0000000 --- a/sources/html/admin/sql/mod1/table.sql +++ /dev/null @@ -1,499 +0,0 @@ -CREATE DOMAIN account_type AS character varying(40); -CREATE TABLE action ( - ac_id integer NOT NULL, - ac_description text NOT NULL, - ac_module text, - ac_code character varying(9) -); -CREATE TABLE action_detail ( - ad_id integer NOT NULL, - f_id bigint, - ad_text text, - ad_pu numeric(20,4) DEFAULT 0, - ad_quant numeric(20,4) DEFAULT 0, - ad_tva_id integer DEFAULT 0, - ad_tva_amount numeric(20,4) DEFAULT 0, - ad_total_amount numeric(20,4) DEFAULT 0, - ag_id integer DEFAULT 0 NOT NULL -); -CREATE TABLE action_gestion ( - ag_id integer DEFAULT nextval('action_gestion_ag_id_seq'::regclass) NOT NULL, - ag_type integer, - f_id_dest integer NOT NULL, - ag_title character varying(70), - ag_timestamp timestamp without time zone DEFAULT now(), - ag_cal character(1) DEFAULT 'C'::bpchar, - ag_ref_ag_id integer, - ag_comment text, - ag_ref text, - ag_hour text, - ag_priority integer DEFAULT 2, - ag_dest text, - ag_owner text, - ag_contact bigint, - ag_state integer -); -CREATE TABLE attr_def ( - ad_id integer DEFAULT nextval(('s_attr_def'::text)::regclass) NOT NULL, - ad_text text -); -CREATE TABLE attr_min ( - frd_id integer, - ad_id integer -); -CREATE TABLE attr_value ( - jft_id integer, - av_text text -); -CREATE TABLE bilan ( - b_id integer DEFAULT nextval('bilan_b_id_seq'::regclass) NOT NULL, - b_name text NOT NULL, - b_file_template text NOT NULL, - b_file_form text, - b_type text NOT NULL -); -CREATE TABLE centralized ( - c_id integer DEFAULT nextval(('s_centralized'::text)::regclass) NOT NULL, - c_j_id integer, - c_date date NOT NULL, - c_internal text NOT NULL, - c_montant numeric(20,4) NOT NULL, - c_debit boolean DEFAULT true, - c_jrn_def integer NOT NULL, - c_poste account_type, - c_description text, - c_grp integer NOT NULL, - c_comment text, - c_rapt text, - c_periode integer, - c_order integer -); -CREATE TABLE del_action ( - del_id integer NOT NULL, - del_name text NOT NULL, - del_time timestamp without time zone -); -CREATE TABLE del_jrn ( - jr_id integer NOT NULL, - jr_def_id integer, - jr_montant numeric(20,4), - jr_comment text, - jr_date date, - jr_grpt_id integer, - jr_internal text, - jr_tech_date timestamp without time zone, - jr_tech_per integer, - jrn_ech date, - jr_ech date, - jr_rapt text, - jr_valid boolean, - jr_opid integer, - jr_c_opid integer, - jr_pj oid, - jr_pj_name text, - jr_pj_type text, - del_jrn_date timestamp without time zone, - jr_pj_number text -); -CREATE TABLE del_jrnx ( - j_id integer NOT NULL, - j_date date, - j_montant numeric(20,4), - j_poste account_type, - j_grpt integer, - j_rapt text, - j_jrn_def integer, - j_debit boolean, - j_text text, - j_centralized boolean, - j_internal text, - j_tech_user text, - j_tech_date timestamp without time zone, - j_tech_per integer, - j_qcode text -); -CREATE TABLE document ( - d_id integer DEFAULT nextval('document_d_id_seq'::regclass) NOT NULL, - ag_id integer NOT NULL, - d_lob oid, - d_number bigint NOT NULL, - d_filename text, - d_mimetype text -); -CREATE TABLE document_modele ( - md_id integer DEFAULT nextval('document_modele_md_id_seq'::regclass) NOT NULL, - md_name text NOT NULL, - md_lob oid, - md_type integer NOT NULL, - md_filename text, - md_mimetype text, - md_affect character varying(3) NOT NULL -); -CREATE TABLE document_state ( - s_id integer DEFAULT nextval('document_state_s_id_seq'::regclass) NOT NULL, - s_value character varying(50) NOT NULL -); -CREATE TABLE document_type ( - dt_id integer DEFAULT nextval('document_type_dt_id_seq'::regclass) NOT NULL, - dt_value character varying(80) -); -CREATE TABLE extension ( - ex_id integer NOT NULL, - ex_name character varying(30) NOT NULL, - ex_code character varying(15) NOT NULL, - ex_desc character varying(250), - ex_file character varying NOT NULL, - ex_enable "char" DEFAULT 'Y'::"char" NOT NULL -); -CREATE TABLE fiche ( - f_id integer DEFAULT nextval(('s_fiche'::text)::regclass) NOT NULL, - fd_id integer -); -CREATE TABLE fiche_def ( - fd_id integer DEFAULT nextval(('s_fdef'::text)::regclass) NOT NULL, - fd_class_base text, - fd_label text NOT NULL, - fd_create_account boolean DEFAULT false, - frd_id integer NOT NULL -); -CREATE TABLE fiche_def_ref ( - frd_id integer DEFAULT nextval(('s_fiche_def_ref'::text)::regclass) NOT NULL, - frd_text text, - frd_class_base integer -); -CREATE TABLE forecast ( - f_id integer NOT NULL, - f_name text NOT NULL -); -CREATE TABLE forecast_cat ( - fc_id integer NOT NULL, - fc_desc text NOT NULL, - f_id bigint, - fc_order integer DEFAULT 0 NOT NULL -); -CREATE TABLE forecast_item ( - fi_id integer NOT NULL, - fi_text text, - fi_account text, - fi_card integer, - fi_order integer, - fc_id integer, - fi_amount numeric(20,4) DEFAULT 0, - fi_debit "char" DEFAULT 'd'::"char" NOT NULL, - fi_pid integer -); -CREATE TABLE form ( - fo_id integer DEFAULT nextval(('s_form'::text)::regclass) NOT NULL, - fo_fr_id integer, - fo_pos integer, - fo_label text, - fo_formula text -); -CREATE TABLE format_csv_banque ( - name text NOT NULL, - include_file text NOT NULL -); -CREATE TABLE formdef ( - fr_id integer DEFAULT nextval(('s_formdef'::text)::regclass) NOT NULL, - fr_label text -); -CREATE TABLE groupe_analytique ( - ga_id character varying(10) NOT NULL, - pa_id integer, - ga_description text -); -CREATE TABLE import_tmp ( - code text NOT NULL, - date_exec date NOT NULL, - date_valeur date NOT NULL, - devise text, - compte_ordre text, - detail text, - num_compte text, - poste_comptable text, - status character varying(1) DEFAULT 'n'::character varying NOT NULL, - bq_account text NOT NULL, - jrn integer NOT NULL, - jr_rapt text, - montant numeric(20,4) DEFAULT 0 NOT NULL, - CONSTRAINT import_tmp_status_check CHECK ((((((status)::text = 'n'::text) OR ((status)::text = 't'::text)) OR ((status)::text = 'd'::text)) OR ((status)::text = 'w'::text))) -); -CREATE TABLE info_def ( - id_type text NOT NULL, - id_description text -); -CREATE TABLE jnt_fic_att_value ( - jft_id integer DEFAULT nextval(('s_jnt_fic_att_value'::text)::regclass) NOT NULL, - f_id integer, - ad_id integer -); -CREATE TABLE jnt_fic_attr ( - fd_id integer, - ad_id integer, - jnt_id bigint DEFAULT nextval('s_jnt_id'::regclass) NOT NULL, - jnt_order integer NOT NULL -); -CREATE TABLE jnt_letter ( - jl_id integer NOT NULL, - jl_amount_deb numeric(20,4) -); -CREATE TABLE jrn ( - jr_id integer DEFAULT nextval(('s_jrn'::text)::regclass) NOT NULL, - jr_def_id integer NOT NULL, - jr_montant numeric(20,4) NOT NULL, - jr_comment text, - jr_date date, - jr_grpt_id integer NOT NULL, - jr_internal text, - jr_tech_date timestamp without time zone DEFAULT now() NOT NULL, - jr_tech_per integer NOT NULL, - jrn_ech date, - jr_ech date, - jr_rapt text, - jr_valid boolean DEFAULT true, - jr_opid integer, - jr_c_opid integer, - jr_pj oid, - jr_pj_name text, - jr_pj_type text, - jr_pj_number text, - jr_mt text -); -CREATE TABLE jrn_action ( - ja_id integer DEFAULT nextval(('s_jrnaction'::text)::regclass) NOT NULL, - ja_name text NOT NULL, - ja_desc text, - ja_url text NOT NULL, - ja_action text NOT NULL, - ja_lang text DEFAULT 'FR'::text, - ja_jrn_type character(3) -); -CREATE TABLE jrn_def ( - jrn_def_id integer DEFAULT nextval(('s_jrn_def'::text)::regclass) NOT NULL, - jrn_def_name text NOT NULL, - jrn_def_class_deb text, - jrn_def_class_cred text, - jrn_def_fiche_deb text, - jrn_def_fiche_cred text, - jrn_deb_max_line integer DEFAULT 1, - jrn_cred_max_line integer DEFAULT 1, - jrn_def_ech boolean DEFAULT false, - jrn_def_ech_lib text, - jrn_def_type character(3) NOT NULL, - jrn_def_code text NOT NULL, - jrn_def_pj_pref text -); -CREATE TABLE jrn_info ( - ji_id integer NOT NULL, - jr_id integer NOT NULL, - id_type text NOT NULL, - ji_value text -); -CREATE TABLE jrn_periode ( - jrn_def_id integer NOT NULL, - p_id integer NOT NULL, - status text -); -CREATE TABLE jrn_rapt ( - jra_id integer DEFAULT nextval(('s_jrn_rapt'::text)::regclass) NOT NULL, - jr_id integer NOT NULL, - jra_concerned integer NOT NULL -); -CREATE TABLE jrn_type ( - jrn_type_id character(3) NOT NULL, - jrn_desc text -); -CREATE TABLE jrnx ( - j_id integer DEFAULT nextval(('s_jrn_op'::text)::regclass) NOT NULL, - j_date date DEFAULT now(), - j_montant numeric(20,4) DEFAULT 0, - j_poste account_type NOT NULL, - j_grpt integer NOT NULL, - j_rapt text, - j_jrn_def integer NOT NULL, - j_debit boolean DEFAULT true, - j_text text, - j_centralized boolean DEFAULT false, - j_internal text, - j_tech_user text NOT NULL, - j_tech_date timestamp without time zone DEFAULT now() NOT NULL, - j_tech_per integer NOT NULL, - j_qcode text -); -CREATE TABLE letter_cred ( - lc_id integer NOT NULL, - j_id bigint NOT NULL, - jl_id bigint NOT NULL -); -CREATE TABLE letter_deb ( - ld_id integer NOT NULL, - j_id bigint NOT NULL, - jl_id bigint NOT NULL -); -CREATE TABLE mod_payment ( - mp_id integer NOT NULL, - mp_lib text NOT NULL, - mp_jrn_def_id integer NOT NULL, - mp_type character varying(3) NOT NULL, - mp_fd_id bigint, - mp_qcode text -); -CREATE TABLE op_predef ( - od_id integer DEFAULT nextval('op_def_op_seq'::regclass) NOT NULL, - jrn_def_id integer NOT NULL, - od_name text NOT NULL, - od_item integer NOT NULL, - od_jrn_type text NOT NULL, - od_direct boolean NOT NULL -); -CREATE TABLE op_predef_detail ( - opd_id integer DEFAULT nextval('op_predef_detail_opd_id_seq'::regclass) NOT NULL, - od_id integer NOT NULL, - opd_poste text NOT NULL, - opd_amount numeric(20,4), - opd_tva_id integer, - opd_quantity numeric(20,4), - opd_debit boolean NOT NULL, - opd_tva_amount numeric(20,4), - opd_comment text, - opd_qc boolean -); -CREATE TABLE operation_analytique ( - oa_id integer DEFAULT nextval('historique_analytique_ha_id_seq'::regclass) NOT NULL, - po_id integer NOT NULL, - pa_id integer NOT NULL, - oa_amount numeric(20,4) NOT NULL, - oa_description text, - oa_debit boolean DEFAULT true NOT NULL, - j_id integer, - oa_group integer DEFAULT nextval('s_oa_group'::regclass) NOT NULL, - oa_date date NOT NULL, - oa_row integer -); -CREATE TABLE parameter ( - pr_id text NOT NULL, - pr_value text -); -CREATE TABLE parm_code ( - p_code text NOT NULL, - p_value text, - p_comment text -); -CREATE TABLE parm_money ( - pm_id integer DEFAULT nextval(('s_currency'::text)::regclass), - pm_code character(3) NOT NULL, - pm_rate numeric(20,4) -); -CREATE TABLE parm_periode ( - p_id integer DEFAULT nextval(('s_periode'::text)::regclass) NOT NULL, - p_start date NOT NULL, - p_end date NOT NULL, - p_exercice text DEFAULT to_char(now(), 'YYYY'::text) NOT NULL, - p_closed boolean DEFAULT false, - p_central boolean DEFAULT false, - CONSTRAINT parm_periode_check CHECK ((p_end >= p_start)) -); -CREATE TABLE parm_poste ( - p_value account_type NOT NULL, - p_type text NOT NULL -); -CREATE TABLE plan_analytique ( - pa_id integer DEFAULT nextval('plan_analytique_pa_id_seq'::regclass) NOT NULL, - pa_name text DEFAULT 'Sans Nom'::text NOT NULL, - pa_description text -); -CREATE TABLE poste_analytique ( - po_id integer DEFAULT nextval('poste_analytique_po_id_seq'::regclass) NOT NULL, - po_name text NOT NULL, - pa_id integer NOT NULL, - po_amount numeric(20,4) DEFAULT 0.0 NOT NULL, - po_description text, - ga_id character varying(10) -); -CREATE TABLE quant_purchase ( - qp_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL, - qp_internal text NOT NULL, - j_id integer NOT NULL, - qp_fiche integer NOT NULL, - qp_quantite numeric(20,4) NOT NULL, - qp_price numeric(20,4), - qp_vat numeric(20,4) DEFAULT 0.0, - qp_vat_code integer, - qp_nd_amount numeric(20,4) DEFAULT 0.0, - qp_nd_tva numeric(20,4) DEFAULT 0.0, - qp_nd_tva_recup numeric(20,4) DEFAULT 0.0, - qp_supplier integer NOT NULL, - qp_valid character(1) DEFAULT 'Y'::bpchar NOT NULL, - qp_dep_priv numeric(20,4) DEFAULT 0.0 -); -CREATE TABLE quant_sold ( - qs_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL, - qs_internal text NOT NULL, - qs_fiche integer NOT NULL, - qs_quantite numeric(20,4) NOT NULL, - qs_price numeric(20,4), - qs_vat numeric(20,4), - qs_vat_code integer, - qs_client integer NOT NULL, - qs_valid character(1) DEFAULT 'Y'::bpchar NOT NULL, - j_id integer NOT NULL -); -CREATE TABLE stock_goods ( - sg_id integer DEFAULT nextval(('s_stock_goods'::text)::regclass) NOT NULL, - j_id integer, - f_id integer NOT NULL, - sg_code text, - sg_quantity numeric(8,4) DEFAULT 0, - sg_type character(1) DEFAULT 'c'::bpchar NOT NULL, - sg_date date, - sg_tech_date date DEFAULT now(), - sg_tech_user text, - sg_comment character varying(80), - sg_exercice character varying(4), - CONSTRAINT stock_goods_sg_type CHECK (((sg_type = 'c'::bpchar) OR (sg_type = 'd'::bpchar))) -); -CREATE TABLE tmp_pcmn ( - pcm_val account_type NOT NULL, - pcm_lib text, - pcm_val_parent account_type DEFAULT 0, - pcm_type text -); -CREATE TABLE todo_list ( - tl_id integer DEFAULT nextval('todo_list_tl_id_seq'::regclass) NOT NULL, - tl_date date NOT NULL, - tl_title text NOT NULL, - tl_desc text, - use_login text NOT NULL -); -CREATE TABLE tva_rate ( - tva_id integer DEFAULT nextval('s_tva'::regclass) NOT NULL, - tva_label text NOT NULL, - tva_rate numeric(8,4) DEFAULT 0.0 NOT NULL, - tva_comment text, - tva_poste text -); -CREATE TABLE user_local_pref ( - user_id text NOT NULL, - parameter_type text NOT NULL, - parameter_value text -); -CREATE TABLE user_sec_act ( - ua_id integer DEFAULT nextval(('s_user_act'::text)::regclass) NOT NULL, - ua_login text, - ua_act_id integer -); -CREATE TABLE user_sec_extension ( - use_id integer NOT NULL, - ex_id integer NOT NULL, - use_login text NOT NULL, - use_access character(1) DEFAULT 0 NOT NULL -); -CREATE TABLE user_sec_jrn ( - uj_id integer DEFAULT nextval(('s_user_jrn'::text)::regclass) NOT NULL, - uj_login text, - uj_jrn_id integer, - uj_priv text -); -CREATE TABLE version ( - val integer -); diff --git a/sources/html/admin/sql/mod1/view.sql b/sources/html/admin/sql/mod1/view.sql deleted file mode 100644 index 317c4af..0000000 --- a/sources/html/admin/sql/mod1/view.sql +++ /dev/null @@ -1,12 +0,0 @@ -CREATE VIEW vw_client AS - SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email FROM (((((((((SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 1)) a JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 13)) b USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 23)) a1 USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 5)) c USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 14)) d USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 15)) e USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 16)) f USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 17)) g USING (f_id)) LEFT JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 18)) h USING (f_id)) WHERE (a.frd_id = 9); -CREATE VIEW vw_fiche_attr AS - SELECT a.f_id, a.fd_id, a.av_text AS vw_name, b.av_text AS vw_sell, c.av_text AS vw_buy, d.av_text AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.av_text AS vw_addr, f.av_text AS vw_cp, j.av_text AS quick_code, h.av_text AS vw_description, i.av_text AS tva_num, fiche_def.frd_id FROM (((((((((((SELECT fiche.f_id, fiche.fd_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 1)) a LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 6)) b ON ((a.f_id = b.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 7)) c ON ((a.f_id = c.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 2)) d ON ((a.f_id = d.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 14)) e ON ((a.f_id = e.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 15)) f ON ((a.f_id = f.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 23)) j ON ((a.f_id = j.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 9)) h ON ((a.f_id = h.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 13)) i ON ((a.f_id = i.f_id))) LEFT JOIN tva_rate ON ((d.av_text = (tva_rate.tva_id)::text))) JOIN fiche_def USING (fd_id)); -CREATE VIEW vw_fiche_def AS - SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, attr_def.ad_text, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def.frd_id FROM ((fiche_def JOIN jnt_fic_attr USING (fd_id)) JOIN attr_def ON ((attr_def.ad_id = jnt_fic_attr.ad_id))); -CREATE VIEW vw_fiche_min AS - SELECT attr_min.frd_id, attr_min.ad_id, attr_def.ad_text, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base FROM ((attr_min JOIN attr_def USING (ad_id)) JOIN fiche_def_ref USING (frd_id)); -CREATE VIEW vw_poste_qcode AS - SELECT a.f_id, a.av_text AS j_poste, b.av_text AS j_qcode FROM ((SELECT jnt_fic_att_value.f_id, attr_value.av_text FROM (attr_value JOIN jnt_fic_att_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 5)) a JOIN (SELECT jnt_fic_att_value.f_id, attr_value.av_text FROM (attr_value JOIN jnt_fic_att_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 23)) b USING (f_id)); -CREATE VIEW vw_supplier AS - SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email FROM (((((((((SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 1)) a JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 13)) b USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 23)) a1 USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 5)) c USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 14)) d USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 15)) e USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 16)) f USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 17)) g USING (f_id)) LEFT JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 18)) h USING (f_id)) WHERE (a.frd_id = 8); diff --git a/sources/html/admin/sql/mod2/data.sql b/sources/html/admin/sql/mod2/data.sql deleted file mode 100644 index fa90153..0000000 --- a/sources/html/admin/sql/mod2/data.sql +++ /dev/null @@ -1,1126 +0,0 @@ - -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = off; -SET check_function_bodies = false; -SET client_min_messages = warning; -SET escape_string_warning = off; - -SET search_path = public, pg_catalog; - - -SELECT pg_catalog.setval('action_detail_ad_id_seq', 1, false); - - - -SELECT pg_catalog.setval('action_gestion_ag_id_seq', 1, false); - - - -SELECT pg_catalog.setval('bilan_b_id_seq', 4, true); - - - -SELECT pg_catalog.setval('bud_card_bc_id_seq', 1, false); - - - -SELECT pg_catalog.setval('bud_detail_bd_id_seq', 1, false); - - - -SELECT pg_catalog.setval('bud_detail_periode_bdp_id_seq', 1, false); - - - -SELECT pg_catalog.setval('del_action_del_id_seq', 1, true); - - - -SELECT pg_catalog.setval('document_d_id_seq', 1, false); - - - -SELECT pg_catalog.setval('document_modele_md_id_seq', 1, false); - - - -SELECT pg_catalog.setval('document_seq', 1, false); - - - -SELECT pg_catalog.setval('document_state_s_id_seq', 3, true); - - - -SELECT pg_catalog.setval('document_type_dt_id_seq', 25, false); - - - -SELECT pg_catalog.setval('extension_ex_id_seq', 1, false); - - - -SELECT pg_catalog.setval('forecast_cat_fc_id_seq', 1, false); - - - -SELECT pg_catalog.setval('forecast_f_id_seq', 1, false); - - - -SELECT pg_catalog.setval('forecast_item_fi_id_seq', 1, false); - - - -SELECT pg_catalog.setval('historique_analytique_ha_id_seq', 1, false); - - - -SELECT pg_catalog.setval('s_jnt_id', 53, true); - - - -SELECT pg_catalog.setval('jnt_letter_jl_id_seq', 1, false); - - - -SELECT pg_catalog.setval('jrn_info_ji_id_seq', 1, false); - - - -SELECT pg_catalog.setval('letter_cred_lc_id_seq', 1, false); - - - -SELECT pg_catalog.setval('letter_deb_ld_id_seq', 1, false); - - - -SELECT pg_catalog.setval('mod_payment_mp_id_seq', 10, true); - - - -SELECT pg_catalog.setval('op_def_op_seq', 1, false); - - - -SELECT pg_catalog.setval('op_predef_detail_opd_id_seq', 1, false); - - - -SELECT pg_catalog.setval('s_oa_group', 7, true); - - - -SELECT pg_catalog.setval('plan_analytique_pa_id_seq', 1, false); - - - -SELECT pg_catalog.setval('poste_analytique_po_id_seq', 1, false); - - - -SELECT pg_catalog.setval('s_attr_def', 27, true); - - - -SELECT pg_catalog.setval('s_cbc', 1, false); - - - -SELECT pg_catalog.setval('s_central', 1, false); - - - -SELECT pg_catalog.setval('s_central_order', 1, false); - - - -SELECT pg_catalog.setval('s_centralized', 1, false); - - - -SELECT pg_catalog.setval('s_currency', 1, true); - - - -SELECT pg_catalog.setval('s_fdef', 6, true); - - - -SELECT pg_catalog.setval('s_fiche', 79, true); - - - -SELECT pg_catalog.setval('s_fiche_def_ref', 18, true); - - - -SELECT pg_catalog.setval('s_form', 1, false); - - - -SELECT pg_catalog.setval('s_formdef', 1, false); - - - -SELECT pg_catalog.setval('s_grpt', 102, true); - - - -SELECT pg_catalog.setval('s_idef', 1, false); - - - -SELECT pg_catalog.setval('s_internal', 1, false); - - - -SELECT pg_catalog.setval('s_invoice', 1, false); - - - -SELECT pg_catalog.setval('s_isup', 1, false); - - - -SELECT pg_catalog.setval('s_jnt_fic_att_value', 875, true); - - - -SELECT pg_catalog.setval('s_jrn', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_1', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_2', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_3', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_4', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_def', 5, false); - - - -SELECT pg_catalog.setval('s_jrn_op', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_pj1', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_pj2', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_pj3', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_pj4', 1, false); - - - -SELECT pg_catalog.setval('s_jrn_rapt', 20, true); - - - -SELECT pg_catalog.setval('s_jrnaction', 5, true); - - - -SELECT pg_catalog.setval('s_jrnx', 1, false); - - - -SELECT pg_catalog.setval('s_periode', 117, true); - - - -SELECT pg_catalog.setval('s_quantity', 13, true); - - - -SELECT pg_catalog.setval('s_stock_goods', 1, false); - - - -SELECT pg_catalog.setval('s_tva', 1000, false); - - - -SELECT pg_catalog.setval('s_user_act', 1, false); - - - -SELECT pg_catalog.setval('s_user_jrn', 8, true); - - - -SELECT pg_catalog.setval('seq_bud_hypothese_bh_id', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_1', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_10', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_2', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_20', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_21', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_22', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_3', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_4', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_5', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_6', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_7', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_8', 1, false); - - - -SELECT pg_catalog.setval('seq_doc_type_9', 1, false); - - - -SELECT pg_catalog.setval('todo_list_tl_id_seq', 1, false); - - - -SELECT pg_catalog.setval('user_sec_extension_use_id_seq', 1, false); - - - -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1135, 'Ajoute ou modifie des catégories de documents', 'parametre', 'PARCATDOC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (210, 'Ajout de plan analytique', 'compta_anal', 'CAPA'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (220, 'Ajout de poste analytique', 'compta_anal', 'CAPO'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (230, 'Ajout de groupe analytique', 'compta_anal', 'CAGA'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (235, 'Ajout d''operation diverses', 'compta_anal', 'CAOD'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (240, 'Impression', 'compta_anal', 'CAIMP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (300, 'Gestion', 'gestion', 'GESTION'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (305, 'Import en Banque', 'gestion', 'GEBQ'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (307, 'Effacement d''opération', 'gestion', 'GEOP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (310, 'Courrier (lecture & écriture)', 'gestion', 'GECOUR'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (311, 'Fournisseur', 'gestion', 'GESUPPL'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (312, 'Client', 'gestion', 'GECUST'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (700, 'Rapport', 'impression', 'IMPRAP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (710, 'Journaux', 'impression', 'IMPJRN'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (720, 'Fiche', 'impression', 'IMPFIC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (730, 'Poste', 'impression', 'IMPPOSTE'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (740, 'Bilan', 'impression', 'IMPBIL'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (750, 'Balance', 'impression', 'IMPBAL'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (800, 'Ajout de fiche', 'fiche', 'FICADD'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (805, 'Création, modification et effacement de fiche', 'fiche', 'FIC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (910, 'création, modification et effacement de catégorie de fiche', 'fiche', 'FICCAT'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1100, 'Mode comptabilité analytique', 'parametre', 'PARCA'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1110, 'Ajout de période', 'parametre', 'PARPER'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1120, 'Catégorie des fiches', 'parametre', 'PARFIC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1130, 'Document', 'parametre', 'PARDOC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1140, 'Modification journaux', 'parametre', 'PARJRN'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1150, 'TVA', 'parametre', 'PARTVA'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1160, 'Moyen de paiement', 'parametre', 'PARMP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1180, 'Clôture ', 'parametre', 'PARCLO'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1185, 'Changement du plan comptable ', 'parametre', 'PARPCMN'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1170, 'Poste Comptable de base', 'parametre', 'PARPOS'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1190, 'Centralisation', 'parametre', 'PARCENT'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1200, 'Écriture d''ouverture', 'parametre', 'PAREO'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1210, 'Mode strict', 'parametre', 'PARSTR'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1220, 'Coordonnées société', 'parametre', 'PARCOORD'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1230, 'Création de rapport', 'parametre', 'PARRAP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1240, 'Effacement et création d''opération prédéfinie', 'parametre', 'PARPREDE'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1245, 'Sécurité du dossier', 'parametre', 'PARSEC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1500, 'Stock (lecture)', 'stock', 'STOLE'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1510, 'Stock (changement)', 'stock', 'STOWRITE'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (313, 'Administration', 'gestion', 'GEADM'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1600, 'Gestion des extensions', 'extension', 'EXTENSION'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1701, 'Consultation', 'prvision', 'PREVCON'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1702, 'Modification et cration', 'prvision', 'PREVMOD'); - - - - - - - - - -INSERT INTO attr_def (ad_id, ad_text) VALUES (1, 'Nom'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (2, 'Taux TVA'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (3, 'Numéro de compte'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (4, 'Nom de la banque'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (5, 'Poste Comptable'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (6, 'Prix vente'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (7, 'Prix achat'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (8, 'Durée Amortissement'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (9, 'Description'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (10, 'Date début'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (11, 'Montant initial'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (12, 'Personne de contact '); -INSERT INTO attr_def (ad_id, ad_text) VALUES (13, 'numéro de tva '); -INSERT INTO attr_def (ad_id, ad_text) VALUES (14, 'Adresse '); -INSERT INTO attr_def (ad_id, ad_text) VALUES (16, 'pays '); -INSERT INTO attr_def (ad_id, ad_text) VALUES (17, 'téléphone '); -INSERT INTO attr_def (ad_id, ad_text) VALUES (18, 'email '); -INSERT INTO attr_def (ad_id, ad_text) VALUES (19, 'Gestion stock'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (20, 'Partie fiscalement non déductible'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (21, 'TVA non déductible'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (22, 'TVA non déductible récupérable par l''impôt'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (23, 'Quick Code'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (24, 'Ville'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (25, 'Société'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (26, 'Fax'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (27, 'GSM'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (15, 'code postal'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (30, 'Numero de client'); -INSERT INTO attr_def (ad_id, ad_text) VALUES (31, 'Dépense charge du gérant (partie privée)'); - - - -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 2); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 2); -INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 2); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 3); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 4); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 13); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 14); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 15); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 16); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 17); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 18); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 13); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 14); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 15); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 16); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 17); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 18); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 13); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 14); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 16); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 17); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 18); -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 6); -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 7); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 6); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 7); -INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 7); -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 19); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 19); -INSERT INTO attr_min (frd_id, ad_id) VALUES (14, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 4); -INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 10); -INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 4); -INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 10); -INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (10, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (10, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (11, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (11, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (12, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (12, 12); -INSERT INTO attr_min (frd_id, ad_id) VALUES (13, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (13, 9); -INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 8); -INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 9); -INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 10); -INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 11); -INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 11); -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 15); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 15); -INSERT INTO attr_min (frd_id, ad_id) VALUES (15, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (15, 9); -INSERT INTO attr_min (frd_id, ad_id) VALUES (1, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (3, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (4, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (5, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (6, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (10, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (11, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (12, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (13, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (14, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (15, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (7, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (9, 24); -INSERT INTO attr_min (frd_id, ad_id) VALUES (8, 24); -INSERT INTO attr_min (frd_id, ad_id) VALUES (14, 24); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 17); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 18); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 25); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 26); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 27); -INSERT INTO attr_min (frd_id, ad_id) VALUES (16, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (17, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (17, 9); -INSERT INTO attr_min (frd_id, ad_id) VALUES (18, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (18, 9); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 1); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 4); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 3); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 5); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 15); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 16); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 24); -INSERT INTO attr_min (frd_id, ad_id) VALUES (25, 23); -INSERT INTO attr_min (frd_id, ad_id) VALUES (2, 30); - - - - - - -INSERT INTO bilan (b_id, b_name, b_file_template, b_file_form, b_type) VALUES (5, 'Comptes de résultat', 'document/fr_fr/fr_plan_abrege_perso_cr1000.rtf', 'document/fr_fr/fr_plan_abrege_perso_cr1000.form', 'rtf'); -INSERT INTO bilan (b_id, b_name, b_file_template, b_file_form, b_type) VALUES (1, 'Bilan français', 'document/fr_fr/fr_plan_abrege_perso_bil10000.ods', 'document/fr_fr/fr_plan_abrege_perso_bil10000.form', 'ods'); - - - - - - - - - - - - - - - - - - - - - -INSERT INTO document_state (s_id, s_value) VALUES (1, 'Clôturé'); -INSERT INTO document_state (s_id, s_value) VALUES (2, 'A suivre'); -INSERT INTO document_state (s_id, s_value) VALUES (3, 'A faire'); -INSERT INTO document_state (s_id, s_value) VALUES (4, 'Abandonné'); - - - -INSERT INTO document_type (dt_id, dt_value) VALUES (1, 'Document Interne'); -INSERT INTO document_type (dt_id, dt_value) VALUES (2, 'Bons de commande client'); -INSERT INTO document_type (dt_id, dt_value) VALUES (3, 'Bon de commande Fournisseur'); -INSERT INTO document_type (dt_id, dt_value) VALUES (4, 'Facture'); -INSERT INTO document_type (dt_id, dt_value) VALUES (5, 'Lettre de rappel'); -INSERT INTO document_type (dt_id, dt_value) VALUES (6, 'Courrier'); -INSERT INTO document_type (dt_id, dt_value) VALUES (7, 'Proposition'); -INSERT INTO document_type (dt_id, dt_value) VALUES (8, 'Email'); -INSERT INTO document_type (dt_id, dt_value) VALUES (9, 'Divers'); -INSERT INTO document_type (dt_id, dt_value) VALUES (10, 'Note de frais'); -INSERT INTO document_type (dt_id, dt_value) VALUES (20, 'Réception commande Fournisseur'); -INSERT INTO document_type (dt_id, dt_value) VALUES (21, 'Réception commande Client'); -INSERT INTO document_type (dt_id, dt_value) VALUES (22, 'Réception magazine'); - - - - - - - - - -INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, frd_id) VALUES (2, '410', 'Client', true, 9); -INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, frd_id) VALUES (1, '604', 'Marchandises', true, 2); -INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, frd_id) VALUES (3, '51', 'Banque', true, 4); -INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, frd_id) VALUES (4, '400', 'Fournisseur', true, 8); -INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, frd_id) VALUES (5, '61', 'S & B D', true, 3); -INSERT INTO fiche_def (fd_id, fd_class_base, fd_label, fd_create_account, frd_id) VALUES (6, '700', 'Vente', true, 1); - - - -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (13, 'Dépenses non admises', 674); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (14, 'Administration des Finances', NULL); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (15, 'Autres fiches', NULL); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (4, 'Banque', 51); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (5, 'Prêt > a un an', 27); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (8, 'Fournisseurs', 400); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (6, 'Prêt < a un an', NULL); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (16, 'Contact', NULL); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (1, 'Vente Service', 706); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (2, 'Achat Marchandises', 603); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (9, 'Clients', 410); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (10, 'Salaire Administrateur', 644); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (11, 'Salaire Ouvrier', 641); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (12, 'Salaire Employé', 641); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (7, 'Matériel à amortir, immobilisation corporelle', 21); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (3, 'Achat Service et biens divers', 61); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (17, 'Escomptes accordées', 66); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (18, 'Produits Financiers', 76); -INSERT INTO fiche_def_ref (frd_id, frd_text, frd_class_base) VALUES (25, 'Compte Salarié / Administrateur', NULL); - - - - - - - - - - - - -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000398, 3000000, 1, 'Prestation [ case 03 ]', '[700%]-[7000005]'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000399, 3000000, 2, 'Prestation intra [ case 47 ]', '[7000005]'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000400, 3000000, 3, 'Tva due [case 54]', '[4513]+[4512]+[4511] FROM=01.2005'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000401, 3000000, 4, 'Marchandises, matière première et auxiliaire [case 81 ]', '[60%]'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000402, 3000000, 7, 'Service et bien divers [case 82]', '[61%]'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000403, 3000000, 8, 'bien d''invest [ case 83 ]', '[2400%]'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000404, 3000000, 9, 'TVA déductible [ case 59 ]', 'abs([4117]-[411%])'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000405, 3000000, 8, 'TVA non ded -> voiture', '[610022]*0.21/2'); -INSERT INTO form (fo_id, fo_fr_id, fo_pos, fo_label, fo_formula) VALUES (3000406, 3000000, 9, 'Acompte TVA', '[4117]'); - - - -INSERT INTO format_csv_banque (name, include_file) VALUES ('Fortis', 'fortis_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('EUB', 'eub_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('ING', 'ing_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('CBC', 'cbc_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('Argenta Belgique', 'argenta_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('CBC Belgique', 'cbc_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('Dexia', 'dexia_be.inc.php'); -INSERT INTO format_csv_banque (name, include_file) VALUES ('VMS Keytrade', 'keytrade_be.inc.php'); - - - -INSERT INTO formdef (fr_id, fr_label) VALUES (3000000, 'TVA déclaration Belge'); - - - - - - - - - -INSERT INTO info_def (id_type, id_description) VALUES ('BON_COMMANDE', 'Numero de bon de commande'); -INSERT INTO info_def (id_type, id_description) VALUES ('OTHER', 'Info diverses'); - - - - - - -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 2, 3, 1); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 12, 8, 1); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 3, 17, 1); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 12, 28, 1); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 2, 37, 1); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 2, 41, 1); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 6, 4, 120); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 6, 42, 120); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 7, 5, 130); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 7, 38, 130); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 7, 43, 130); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 14, 10, 40); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 14, 21, 40); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 14, 30, 40); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 16, 12, 70); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 16, 23, 70); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 16, 32, 70); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 17, 13, 80); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 17, 24, 80); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 17, 33, 80); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 18, 14, 90); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 18, 25, 90); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 18, 34, 90); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 23, 45, 400); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 23, 46, 400); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 23, 47, 400); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 23, 48, 400); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 23, 49, 400); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 23, 50, 400); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 24, 51, 60); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 24, 52, 60); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 15, 11, 50); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 15, 22, 50); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 15, 31, 50); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 5, 1, 30); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 5, 6, 30); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 5, 15, 30); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 5, 26, 30); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 5, 35, 30); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 5, 39, 30); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (1, 1, 2, 0); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 1, 7, 0); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 1, 16, 0); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 1, 27, 0); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (5, 1, 36, 0); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 1, 40, 0); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 4, 18, 2); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 12, 19, 3); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (6, 19, 44, 2); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (2, 13, 9, 31); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (3, 13, 20, 31); -INSERT INTO jnt_fic_attr (fd_id, ad_id, jnt_id, jnt_order) VALUES (4, 13, 29, 31); - - - - - - - - - -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (2, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'VEN'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (4, 'Voir Impayés', 'Voir toutes les factures non payées', 'user_jrn.php', 'action=voir_jrn_non_paye', 'FR', 'VEN'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (1, 'Nouvelle', 'Création d''une facture', 'user_jrn.php', 'action=insert_vente&blank', 'FR', 'VEN'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (10, 'Nouveau', 'Encode un nouvel achat (matériel, marchandises, services et biens divers)', 'user_jrn.php', 'action=new&blank', 'FR', 'ACH'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (12, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'ACH'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (14, 'Voir Impayés', 'Voir toutes les factures non payées', 'user_jrn.php', 'action=voir_jrn_non_paye', 'FR', 'ACH'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (20, 'Nouveau', 'Encode un nouvel achat (matériel, marchandises, services et biens divers)', 'user_jrn.php', 'action=new&blank', 'FR', 'FIN'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (22, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'FIN'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (40, 'Soldes', 'Voir les soldes des comptes en banques', 'user_jrn.php', 'action=solde', 'FR', 'FIN'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (30, 'Nouveau', NULL, 'user_jrn.php', 'action=new&blank', 'FR', 'ODS'); -INSERT INTO jrn_action (ja_id, ja_name, ja_desc, ja_url, ja_action, ja_lang, ja_jrn_type) VALUES (32, 'Voir', 'Voir toutes les factures', 'user_jrn.php', 'action=voir_jrn', 'FR', 'ODS'); - - - -INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, jrn_def_pj_pref) VALUES (4, 'Opération Diverses', NULL, NULL, NULL, NULL, 5, 5, false, NULL, 'ODS', 'OD-01', 'ODS'); -INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, jrn_def_pj_pref) VALUES (2, 'Vente', '', '', '2', '6', 10, 10, true, '''echeance''', 'VEN', 'VEN-01', 'VEN'); -INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, jrn_def_pj_pref) VALUES (3, 'Achat', '', '', '5', '4', 10, 10, true, '''echeance''', 'ACH', 'ACH-01', 'ACH'); -INSERT INTO jrn_def (jrn_def_id, jrn_def_name, jrn_def_class_deb, jrn_def_class_cred, jrn_def_fiche_deb, jrn_def_fiche_cred, jrn_deb_max_line, jrn_cred_max_line, jrn_def_ech, jrn_def_ech_lib, jrn_def_type, jrn_def_code, jrn_def_pj_pref) VALUES (1, 'Financier', '', '', '3,2,4,5', '3,2,4,5', 10, 10, true, '''echeance''', 'FIN', 'FIN-01', 'FIN'); - - - - - - -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 105, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 105, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 105, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 105, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 106, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 106, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 106, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 106, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 107, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 107, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 107, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 107, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 108, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 108, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 108, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 108, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 109, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 109, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 109, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 109, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 110, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 110, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 110, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 110, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 111, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 111, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 111, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 111, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 112, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 112, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 112, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 112, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 113, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 113, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 113, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 113, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 114, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 114, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 114, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 114, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 115, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 115, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 115, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 115, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 116, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 116, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 116, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 116, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (4, 117, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (2, 117, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (3, 117, 'OP'); -INSERT INTO jrn_periode (jrn_def_id, p_id, status) VALUES (1, 117, 'OP'); - - - - - - -INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('VEN', 'Vente'); -INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('ACH', 'Achat'); -INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('ODS', 'Opérations Diverses'); -INSERT INTO jrn_type (jrn_type_id, jrn_desc) VALUES ('FIN', 'Banque'); - - - - - - - - - - - - -INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, mp_qcode) VALUES (2, 'Caisse', 1, 'VEN', NULL, NULL); -INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, mp_qcode) VALUES (4, 'Caisse', 1, 'ACH', NULL, NULL); -INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, mp_qcode) VALUES (1, 'Paiement électronique', 1, 'VEN', NULL, NULL); -INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, mp_qcode) VALUES (3, 'Par gérant ou administrateur', 2, 'ACH', NULL, NULL); - - - - - - - - - - - - -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_NAME', 'LaMule'); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_TVA', 'FR33 123 456 789'); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_STREET', ''); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_NUMBER', ''); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_CP', ''); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_TEL', ''); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_PAYS', ''); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_COMMUNE', ''); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_FAX', ''); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_ANALYTIC', 'nu'); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_COUNTRY', 'FR'); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_STRICT', 'Y'); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_TVA_USE', 'Y'); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_PJ_SUGGEST', 'Y'); -INSERT INTO parameter (pr_id, pr_value) VALUES ('MY_CHECK_PERIODE', 'N'); - - - -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('BANQUE', '51', 'Poste comptable par défaut pour les banques'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('CAISSE', '53', 'Poste comptable par défaut pour les caisses'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('CUSTOMER', '410', 'Poste comptable par défaut pour les clients'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('VENTE', '707', 'Poste comptable par défaut pour les ventes'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('VIREMENT_INTERNE', '58', 'Poste comptable par défaut pour les virements internes'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('DEP_PRIV', '4890', 'Depense a charge du gerant'); -INSERT INTO parm_code (p_code, p_value, p_comment) VALUES ('SUPPLIER', '400', 'Poste par défaut pour les fournisseurs'); - - - -INSERT INTO parm_money (pm_id, pm_code, pm_rate) VALUES (1, 'EUR', 1.0000); - - - -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (105, '2009-01-01', '2009-01-31', '2009', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (106, '2009-02-01', '2009-02-28', '2009', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (107, '2009-03-01', '2009-03-31', '2009', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (108, '2009-04-01', '2009-04-30', '2009', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (109, '2009-05-01', '2009-05-31', '2009', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (110, '2009-06-01', '2009-06-30', '2009', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (111, '2009-07-01', '2009-07-31', '2009', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (112, '2009-08-01', '2009-08-31', '2009', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (113, '2009-09-01', '2009-09-30', '2009', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (114, '2009-10-01', '2009-10-31', '2009', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (115, '2009-11-01', '2009-11-30', '2009', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (116, '2009-12-01', '2009-12-30', '2009', false, false); -INSERT INTO parm_periode (p_id, p_start, p_end, p_exercice, p_closed, p_central) VALUES (117, '2009-12-31', '2009-12-31', '2009', false, false); - - - -INSERT INTO parm_poste (p_value, p_type) VALUES ('1', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('12', 'CON'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('2', 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('3', 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('41', 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('42', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('43', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('44', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('45', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('46', 'CON'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('47', 'CON'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('481', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('482', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('483', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('484', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('485', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('486', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('487', 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('49', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('5', 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('6', 'CHA'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('7', 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES ('40', 'ACT'); - - - - - - - - - - - - - - - - - - -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1', 'comptes de capitaux', '0', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('101', 'Capital', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('105', 'Ecarts de réévaluation', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1061', 'Réserve légale', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1063', 'Réserves statutaires ou contractuelles', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1064', 'Réserves réglementées', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('1068', 'Autres réserves', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('108', 'Compte de l''exploitant', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('12', 'résultat de l''exercice (bénéfice ou perte)', '1', 'CON'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('145', 'Amortissements dérogatoires', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('146', 'Provision spéciale de réévaluation', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('147', 'Plus-values réinvesties', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('148', 'Autres provisions réglementées', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('15', 'Provisions pour risques et charges', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('16', 'emprunts et dettes assimilees', '1', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('2', 'comptes d''immobilisations', '0', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('20', 'immobilisations incorporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('201', 'Frais d''établissement', '20', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('206', 'Droit au bail', '20', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('207', 'Fonds commercial', '20', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('208', 'Autres immobilisations incorporelles', '20', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('21', 'immobilisations corporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('23', 'immobilisations en cours', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('27', 'autres immobilisations financieres', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('280', 'Amortissements des immobilisations incorporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('281', 'Amortissements des immobilisations corporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('290', 'Provisions pour dépréciation des immobilisations incorporelles', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('291', 'Provisions pour dépréciation des immobilisations corporelles (même ventilation que celle du compte 21)', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('297', 'Provisions pour dépréciation des autres immobilisations financières', '2', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('3', 'comptes de stocks et en cours', '0', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('31', 'matieres premières (et fournitures)', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('32', 'autres approvisionnements', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('33', 'en-cours de production de biens', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('34', 'en-cours de production de services', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('35', 'stocks de produits', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('37', 'stocks de marchandises', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('391', 'Provisions pour dépréciation des matières premières (et fournitures)', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('392', 'Provisions pour dépréciation des autres approvisionnements', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('393', 'Provisions pour dépréciation des en-cours de production de biens', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('394', 'Provisions pour dépréciation des en-cours de production de services', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('395', 'Provisions pour dépréciation des stocks de produits', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('397', 'Provisions pour dépréciation des stocks de marchandises', '3', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4', 'comptes de tiers', '0', 'CON'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('400', 'Fournisseurs et Comptes rattachés', '4', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('409', 'Fournisseurs débiteurs', '4', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('410', 'Clients et Comptes rattachés', '4', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('419', 'Clients créditeurs', '4', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('421', 'Personnel - Rémunérations dues', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('428', 'Personnel - Charges à payer et produits à recevoir', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('43', 'Sécurité sociale et autres organismes sociaux', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('444', 'Etat - Impôts sur les bénéfices', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('445', 'Etat - Taxes sur le chiffre d''affaires', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('447', 'Autres impôts, taxes et versements assimilés', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('45', 'Groupe et associes', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('455', 'Associés - Comptes courants', '45', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('46', 'Débiteurs divers et créditeurs divers', '4', 'CON'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('47', 'comptes transitoires ou d''attente', '4', 'CON'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('481', 'Charges à répartir sur plusieurs exercices', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('486', 'Charges constatées d''avance', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('487', 'Produits constatés d''avance', '4', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('491', 'Provisions pour dépréciation des comptes de clients', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('496', 'Provisions pour dépréciation des comptes de débiteurs divers', '4', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('5', 'comptes financiers', '0', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('50', 'valeurs mobilières de placement', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('51', 'banques, établissements financiers et assimilés', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('53', 'Caisse', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('54', 'régies d''avance et accréditifs', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('58', 'virements internes', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('590', 'Provisions pour dépréciation des valeurs mobilières de placement', '5', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('6', 'comptes de charges', '0', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('60', 'Achats (sauf 603)', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('603', 'variations des stocks (approvisionnements et marchandises)', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('61', 'autres charges externes - Services extérieurs', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('62', 'autres charges externes - Autres services extérieurs', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('63', 'Impôts, taxes et versements assimiles', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('641', 'Rémunérations du personnel', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('644', 'Rémunération du travail de l''exploitant', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('645', 'Charges de sécurité sociale et de prévoyance', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('646', 'Cotisations sociales personnelles de l''exploitant', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('65', 'Autres charges de gestion courante', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('66', 'Charges financières', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('67', 'Charges exceptionnelles', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('681', 'Dotations aux amortissements et aux provisions - Charges d''exploitation', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('686', 'Dotations aux amortissements et aux provisions - Charges financières', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('687', 'Dotations aux amortissements et aux provisions - Charges exceptionnelles', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('691', 'Participation des salariés aux résultats', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('695', 'Impôts sur les bénéfices', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('697', 'Imposition forfaitaire annuelle des sociétés', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('699', 'Produits - Reports en arrière des déficits', '6', 'CHA'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('7', 'comptes de produits', '0', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('701', 'Ventes de produits finis', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('706', 'Prestations de services', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('707', 'Ventes de marchandises', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('708', 'Produits des activités annexes', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('709', 'Rabais, remises et ristournes accordés par l''entreprise', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('713', 'Variation des stocks (en-cours de production, produits)', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('72', 'Production immobilisée', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('73', 'Produits nets partiels sur opérations à long terme', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('74', 'Subventions d''exploitation', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('75', 'Autres produits de gestion courante', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('753', 'Jetons de présence et rémunérations d''administrateurs, gérants,...', '75', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('754', 'Ristournes perçues des coopératives (provenant des excédents)', '75', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('755', 'Quotes-parts de résultat sur opérations faites en commun', '75', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('76', 'Produits financiers', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('77', 'Produits exceptionnels', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('781', 'Reprises sur amortissements et provisions (à inscrire dans les produits d''exploitation)', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('786', 'Reprises sur provisions pour risques (à inscrire dans les produits financiers)', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('787', 'Reprises sur provisions (à inscrire dans les produits exceptionnels)', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('79', 'Transferts de charges', '7', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('8', 'Comptes spéciaux', '0', 'CON'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('9', 'Comptes analytiques', '0', 'CON'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4456601', 'TVA 19,6% - France métropolitaine - Taux immobilisations Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('445701', 'TVA 19,6% - France métropolitaine - Taux immobilisations Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4456602', 'TVA x% - France métropolitaine - Taux anciens Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('445702', 'TVA x% - France métropolitaine - Taux anciens Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4456603', 'TVA 8,5% - DOM - Taux normal Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('445703', 'TVA 8,5% - DOM - Taux normal Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4456604', 'TVA 8,5% - DOM - Taux normal NPR Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('445704', 'TVA 8,5% - DOM - Taux normal NPR Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4456605', 'TVA 2,1% - DOM - Taux réduit Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('445705', 'TVA 2,1% - DOM - Taux réduit Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4456606', 'TVA 1,75% - DOM - Taux I Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('445706', 'TVA 1,75% - DOM - Taux I Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4456607', 'TVA 1,05% - DOM - Taux publications de presse Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('445707', 'TVA 1,05% - DOM - Taux publications de presse Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4456608', 'TVA x% - DOM - Taux octroi de mer Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('445708', 'TVA x% - DOM - Taux octroi de mer Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4456609', 'TVA x% - DOM - Taux immobilisations Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('445709', 'TVA x% - DOM - Taux immobilisations Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('44566010', 'TVA 13% - Corse - Taux I Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4457010', 'TVA 13% - Corse - Taux I Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('44566011', 'TVA 8% - Corse - Taux II Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4457011', 'TVA 8% - Corse - Taux II Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('44566012', 'TVA 2,1% - Corse - Taux III Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4457012', 'TVA 2,1% - Corse - Taux III Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('44566013', 'TVA 0,9% - Corse - Taux IV Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4457013', 'TVA 0,9% - Corse - Taux IV Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('44566014', 'TVA x% - Corse - Taux immobilisations Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4457014', 'TVA x% - Corse - Taux immobilisations Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('44566015', 'TVA x% - Acquisitions intracommunautaires/Pays Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4457015', 'TVA x% - Acquisitions intracommunautaires/Pays Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('44566016', 'TVA x% - Acquisitions intracommunautaires immobilisations/Pays Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4457016', 'TVA x% - Acquisitions intracommunautaires immobilisations/Pays Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('44566017', 'TVA x% - Non imposable : Achats en franchise Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4457017', 'TVA x% - Non imposable : Achats en franchise Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('44566018', 'TVA x% - Non imposable : Exports hors CE/Pays Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4457018', 'TVA x% - Non imposable : Exports hors CE/Pays Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('44566019', 'TVA x% - Non imposable : Autres opérations Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4457019', 'TVA x% - Non imposable : Autres opérations Collectée ', '4457', 'PAS'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('44566020', 'TVA x% - Non imposable : Livraisons intracommunautaires/Pays Déductible', '4456', 'ACT'); -INSERT INTO tmp_pcmn (pcm_val, pcm_lib, pcm_val_parent, pcm_type) VALUES ('4457020', 'TVA x% - Non imposable : Livraisons intracommunautaires/Pays Collectée ', '4457', 'PAS'); - - - - - - -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (101, 'FR_NOR', 0.1960, 'TVA 19,6% - France métropolitaine - Taux normal', '445661,44571'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (102, 'FR_RED', 0.0550, 'TVA 5,5% - France métropolitaine - Taux réduit', '445662,44572'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (103, 'FR_SRED', 0.0210, 'TVA 2,1% - France métropolitaine - Taux super réduit', '445663,44573'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (104, 'FR_IMMO', 0.1960, 'TVA 19,6% - France métropolitaine - Taux immobilisations', '4456601,445701'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (105, 'FR_ANC', 0.0000, 'TVA x% - France métropolitaine - Taux anciens', '4456602,445702'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (201, 'DOM', 0.0850, 'TVA 8,5% - DOM - Taux normal', '4456603,445703'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (202, 'DOM_NPR', 0.0850, 'TVA 8,5% - DOM - Taux normal NPR', '4456604,445704'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (203, 'DOM_REDUIT', 0.0210, 'TVA 2,1% - DOM - Taux réduit', '4456605,445705'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (204, 'DOM_I', 0.0175, 'TVA 1,75% - DOM - Taux I', '4456606,445706'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (205, 'DOM_PRESSE', 0.0105, 'TVA 1,05% - DOM - Taux publications de presse', '4456607,445707'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (206, 'DOM_OCTROI', 0.0000, 'TVA x% - DOM - Taux octroi de mer', '4456608,445708'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (207, 'DOM_IMMO', 0.0000, 'TVA x% - DOM - Taux immobilisations', '4456609,445709'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (301, 'COR_I', 0.1300, 'TVA 13% - Corse - Taux I', '44566010,4457010'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (302, 'COR_II', 0.0800, 'TVA 8% - Corse - Taux II', '44566011,4457011'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (303, 'COR_III', 0.0210, 'TVA 2,1% - Corse - Taux III', '44566012,4457012'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (304, 'COR_IV', 0.0090, 'TVA 0,9% - Corse - Taux IV', '44566013,4457013'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (305, 'COR_IMMO', 0.0000, 'TVA x% - Corse - Taux immobilisations', '44566014,4457014'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (401, 'INTRA', 0.0000, 'TVA x% - Acquisitions intracommunautaires/Pays', '44566015,4457015'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (402, 'INTRA_IMMMO', 0.0000, 'TVA x% - Acquisitions intracommunautaires immobilisations/Pays', '44566016,4457016'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (501, 'FRANCH', 0.0000, 'TVA x% - Non imposable : Achats en franchise', '44566017,4457017'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (502, 'EXPORT', 0.0000, 'TVA x% - Non imposable : Exports hors CE/Pays', '44566018,4457018'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (503, 'AUTRE', 0.0000, 'TVA x% - Non imposable : Autres opérations', '44566019,4457019'); -INSERT INTO tva_rate (tva_id, tva_label, tva_rate, tva_comment, tva_poste) VALUES (504, 'INTRA_LIV', 0.0000, 'TVA x% - Non imposable : Livraisons intracommunautaires/Pays', '44566020,4457020'); - - - -INSERT INTO user_local_pref (user_id, parameter_type, parameter_value) VALUES ('1', 'MINIREPORT', '0'); -INSERT INTO user_local_pref (user_id, parameter_type, parameter_value) VALUES ('1', 'PERIODE', '105'); - - - - - - - - - - - - -INSERT INTO version (val) VALUES (75); - - - diff --git a/sources/html/admin/sql/mod2/make-sql b/sources/html/admin/sql/mod2/make-sql deleted file mode 100755 index abf4e55..0000000 --- a/sources/html/admin/sql/mod2/make-sql +++ /dev/null @@ -1,2 +0,0 @@ -pg_dump -O -U phpcompta -D -a -O ${DOMAIN}mod2 |sed -e "/^--/d" > data.sql - diff --git a/sources/html/admin/sql/patch/ac-upgrade10.sql b/sources/html/admin/sql/patch/ac-upgrade10.sql deleted file mode 100644 index 1f708b5..0000000 --- a/sources/html/admin/sql/patch/ac-upgrade10.sql +++ /dev/null @@ -1,9 +0,0 @@ -begin; ---- on account_repository -delete from user_global_pref where parameter_type='fr_FR.utf8'; - -insert into user_global_pref(user_id,parameter_type,parameter_value ) select use_login,'LANG','fr_FR.utf8' from ac_users ; - -update version set val=11; -commit; - diff --git a/sources/html/admin/sql/patch/ac-upgrade11.sql b/sources/html/admin/sql/patch/ac-upgrade11.sql deleted file mode 100644 index 513ef22..0000000 --- a/sources/html/admin/sql/patch/ac-upgrade11.sql +++ /dev/null @@ -1,25 +0,0 @@ -begin; -delete from jnt_use_dos where use_id not in (select use_id from ac_users); - -delete from jnt_use_dos where dos_id not in (select dos_id from ac_dossier); - -alter table jnt_use_dos add CONSTRAINT jnt_use_dos_dos_id_fkey FOREIGN KEY (dos_id) - REFERENCES ac_dossier (dos_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE; -alter table jnt_use_dos add CONSTRAINT jnt_use_dos_use_id_fkey FOREIGN KEY (use_id) - REFERENCES ac_users (use_id) MATCH SIMPLE - ON UPDATE NO ACTION ON DELETE NO ACTION; - - -delete from priv_user where priv_jnt not in (select jnt_id from jnt_use_dos); - -alter table jnt_use_dos drop constraint jnt_use_dos_pkey; - -alter table jnt_use_dos add constraint jnt_use_dos_pkey PRIMARY KEY (jnt_id); - -alter table priv_user add CONSTRAINT priv_user_priv_jnt_fkey FOREIGN KEY (priv_jnt) - REFERENCES jnt_use_dos (jnt_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE cascade; -alter table version add primary key (val); -update version set val=12; -commit; diff --git a/sources/html/admin/sql/patch/ac-upgrade12.sql b/sources/html/admin/sql/patch/ac-upgrade12.sql deleted file mode 100644 index 3613b63..0000000 --- a/sources/html/admin/sql/patch/ac-upgrade12.sql +++ /dev/null @@ -1,46 +0,0 @@ -begin; --- Table: audit_connect - --- DROP TABLE audit_connect; - -CREATE TABLE audit_connect -( - ac_id serial NOT NULL, - ac_user text, - ac_date timestamp without time zone DEFAULT now(), - ac_ip text, - ac_state text, - ac_module text, - ac_url text, - CONSTRAINT audit_connect_pkey PRIMARY KEY (ac_id), - CONSTRAINT valid_state CHECK (ac_state = 'FAIL'::text OR ac_state = 'SUCCESS'::text) -); - -CREATE OR REPLACE FUNCTION limit_user() - RETURNS trigger AS -$BODY$ - -begin -NEW.ac_user := substring(NEW.ac_user from 1 for 80); -return NEW; -end; $BODY$ -LANGUAGE plpgsql; - -CREATE TRIGGER limit_user_trg - BEFORE INSERT OR UPDATE - ON audit_connect - FOR EACH ROW - EXECUTE PROCEDURE limit_user(); - - --- Index: audit_connect_ac_user - --- DROP INDEX audit_connect_ac_user; - -CREATE INDEX audit_connect_ac_user - ON audit_connect - USING btree - (ac_user); - -update version set val=13; -commit; diff --git a/sources/html/admin/sql/patch/ac-upgrade13.sql b/sources/html/admin/sql/patch/ac-upgrade13.sql deleted file mode 100644 index 5449e40..0000000 --- a/sources/html/admin/sql/patch/ac-upgrade13.sql +++ /dev/null @@ -1,11 +0,0 @@ -begin; --- Check: valid_state - ALTER TABLE audit_connect DROP CONSTRAINT valid_state; - -ALTER TABLE audit_connect ADD CONSTRAINT valid_state CHECK (ac_state = 'FAIL'::text OR ac_state = 'SUCCESS'::text or ac_state='AUDIT'); --- run to the account_repository -insert into theme values ('EPad','style-epad.css',null); -update priv_user set priv_priv='R' where priv_priv='L'; -update priv_user set priv_priv='R' where priv_priv='P'; -update version set val=14; -commit; diff --git a/sources/html/admin/sql/patch/ac-upgrade14.sql b/sources/html/admin/sql/patch/ac-upgrade14.sql deleted file mode 100644 index 2c39589..0000000 --- a/sources/html/admin/sql/patch/ac-upgrade14.sql +++ /dev/null @@ -1,25 +0,0 @@ -begin; -update theme set the_name='Mandarine' ,the_filestyle='style-mandarine.css' where the_name='Colored'; -update theme set the_name='Mobile' ,the_filestyle='style-mobile.css' where the_name='EPad'; -update theme set the_name = 'Classique' where the_name='classic'; -update user_global_pref set parameter_value='Classique' where parameter_type='THEME'; -update theme set the_filestyle='style-classic.css' where the_filestyle='style.css'; - -CREATE OR REPLACE FUNCTION public.upgrade_repo(p_version integer) - RETURNS void -AS $function$ -declare - is_mono integer; -begin - select count (*) into is_mono from information_schema.tables where table_name='repo_version'; - if is_mono = 1 then - update repo_version set val=p_version; - else - update version set val=p_version; - end if; -end; -$function$ - language plpgsql; -select upgrade_repo(15); - -commit; diff --git a/sources/html/admin/sql/patch/ac-upgrade15.sql b/sources/html/admin/sql/patch/ac-upgrade15.sql deleted file mode 100644 index a5b8f94..0000000 --- a/sources/html/admin/sql/patch/ac-upgrade15.sql +++ /dev/null @@ -1,45 +0,0 @@ -begin; - -ALTER TABLE ac_dossier drop COLUMN dos_jnt_user ; -delete from jnt_use_dos where jnt_id in (select priv_jnt from priv_user where priv_priv='X'); -delete from jnt_use_dos where use_id in (select use_id from ac_users where use_admin=1 or use_active=0); -ALTER TABLE ac_users ADD COLUMN use_email text; -COMMENT ON COLUMN ac_users.use_email IS 'Email of the user'; - -CREATE OR REPLACE FUNCTION public.upgrade_repo(p_version integer) - RETURNS void -AS $function$ -declare - is_mono integer; -begin - select count (*) into is_mono from information_schema.tables where table_name='repo_version'; - if is_mono = 1 then - update repo_version set val=p_version; - else - update version set val=p_version; - end if; -end; -$function$ - language plpgsql; - -drop table priv_user; - -CREATE TABLE recover_pass -( - use_id bigint NOT NULL, - request text NOT NULL, - password text NOT NULL, - created_on timestamp with time zone, - created_host text, - recover_on timestamp with time zone, - recover_by text, - CONSTRAINT recover_pass_pkey PRIMARY KEY (request ), - CONSTRAINT ac_users_recover_pass_fk FOREIGN KEY (use_id) - REFERENCES ac_users (use_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE -); - -CREATE INDEX fki_ac_users_recover_pass_fk ON recover_pass USING btree (use_id ); - -select upgrade_repo(16); -commit; diff --git a/sources/html/admin/sql/patch/ac-upgrade4.sql b/sources/html/admin/sql/patch/ac-upgrade4.sql deleted file mode 100644 index 283454d..0000000 --- a/sources/html/admin/sql/patch/ac-upgrade4.sql +++ /dev/null @@ -1,4 +0,0 @@ -delete from jnt_use_dos where dos_id not in (select dos_id from ac_dossier ); - -delete from jnt_use_dos where dos_id not in (select dos_id from ac_dossier); -update version set val=5; diff --git a/sources/html/admin/sql/patch/ac-upgrade5.sql b/sources/html/admin/sql/patch/ac-upgrade5.sql deleted file mode 100644 index a868659..0000000 --- a/sources/html/admin/sql/patch/ac-upgrade5.sql +++ /dev/null @@ -1 +0,0 @@ -update version set val=6; diff --git a/sources/html/admin/sql/patch/ac-upgrade6.sql b/sources/html/admin/sql/patch/ac-upgrade6.sql deleted file mode 100644 index 0c9a6f7..0000000 --- a/sources/html/admin/sql/patch/ac-upgrade6.sql +++ /dev/null @@ -1,21 +0,0 @@ -begin; -create table user_global_pref ( - user_id text, - parameter_type text, - parameter_value text -); -comment on table user_global_pref is 'The user''s global parameter '; -comment on column user_global_pref.user_id is 'user''s login '; -comment on column user_global_pref.parameter_type is 'the type of parameter '; -comment on column user_global_pref.parameter_value is 'the value of parameter '; - -alter table user_global_pref add constraint fk_user_id foreign key (user_id) references ac_users(use_login) on delete cascade on update cascade; -alter table user_global_pref add constraint pk_user_global_pref primary key (user_id,parameter_type); - -insert into user_global_pref select use_login,'PAGESIZE','50' from ac_users; -insert into user_global_pref select use_login,'THEME',use_theme from ac_users; -alter table ac_users drop use_usertype; -alter table ac_users drop use_theme; -update version set val=7; -commit; - diff --git a/sources/html/admin/sql/patch/ac-upgrade7.sql b/sources/html/admin/sql/patch/ac-upgrade7.sql deleted file mode 100644 index 2b5ffb6..0000000 --- a/sources/html/admin/sql/patch/ac-upgrade7.sql +++ /dev/null @@ -1,6 +0,0 @@ -begin; - insert into Theme values ('Colored','style-color.css',null); -delete from theme where the_filestyle='style-aqua.css' or the_filestyle='style-elegant.css'; -update version set val=8; -commit; - diff --git a/sources/html/admin/sql/patch/ac-upgrade8.sql b/sources/html/admin/sql/patch/ac-upgrade8.sql deleted file mode 100644 index a6f14c7..0000000 --- a/sources/html/admin/sql/patch/ac-upgrade8.sql +++ /dev/null @@ -1,6 +0,0 @@ -begin; -update modeledef set mod_desc='Comptabilité Belge, à adapter' where mod_id=1; -update modeledef set mod_desc='Comptabilité Française, à adapter' where mod_id=2; -update version set val=9; -commit; - diff --git a/sources/html/admin/sql/patch/ac-upgrade9.sql b/sources/html/admin/sql/patch/ac-upgrade9.sql deleted file mode 100644 index 5e45190..0000000 --- a/sources/html/admin/sql/patch/ac-upgrade9.sql +++ /dev/null @@ -1,10 +0,0 @@ -begin; ---- on account_repository -update priv_user set priv_priv='X' where priv_priv='NO'; -update priv_user set priv_priv='R' where priv_priv='W'; -update user_global_pref set parameter_value='TEXT' where parameter_type='TOPMENU'; - - -update version set val=10; -commit; - diff --git a/sources/html/admin/sql/patch/downgrade7.sql b/sources/html/admin/sql/patch/downgrade7.sql deleted file mode 100644 index ce05a2c..0000000 --- a/sources/html/admin/sql/patch/downgrade7.sql +++ /dev/null @@ -1,29 +0,0 @@ -begin; - -insert into tva_rate values (5,'0%',0, 'Pas soumis à la TVA',null); - -update fiche_def_ref set frd_class_base=2400 where frd_id=7; - -update version set val=8; --- banque n'a pas de gestion stock -delete from jnt_fic_attr where fd_id=1 and ad_id=19; --- client n'a pas de gestion stock -delete from jnt_fic_attr where fd_id=2 and ad_id=19; --- default periode for phpcompta - update user_pref set pref_periode=40 where pref_user='phpcompta'; --- create index ix_j_grp on jrnx(j_grpt); --- create index ix_jr_grp on jrn(jr_grpt_id); -update jrnx set j_tech_per = jr_tech_per from jrn where j_grpt=jr_grpt_id and j_tech_per is null; -alter table jrnx alter j_tech_per set not null; -alter table jrn alter jr_tech_per set not null; -alter table jrn alter jr_montant type numeric(8,4); -alter table jrnx alter j_montant type numeric(8,4); - -update version set val=7; -commit; -drop trigger tr_jrn_check_balance on jrn ; -drop function proc_check_balance(); -drop function check_balance(text); -drop table user_local_pref; -commit; - diff --git a/sources/html/admin/sql/patch/upgrade10.sql b/sources/html/admin/sql/patch/upgrade10.sql deleted file mode 100644 index 000d21a..0000000 --- a/sources/html/admin/sql/patch/upgrade10.sql +++ /dev/null @@ -1,140 +0,0 @@ -begin; --- Function: proc_check_balance() - -CREATE OR REPLACE FUNCTION proc_check_balance() - RETURNS "trigger" AS -$BODY$ -declare - diff numeric; - tt integer; -begin - if TG_OP = 'INSERT' then - tt=NEW.jr_grpt_id; - diff:=check_balance(tt); - if diff != 0 then - raise exception 'balance error %',diff ; - end if; - return NEW; - end if; -end; -$BODY$ - LANGUAGE plpgsql VOLATILE; - - --- Function: check_balance(p_grpt text) - -DROP FUNCTION check_balance(text); - -CREATE OR REPLACE FUNCTION check_balance(p_grpt integer) - RETURNS "numeric" AS -$BODY$ -declare - amount_jrnx_debit numeric; - amount_jrnx_credit numeric; - amount_jrn numeric; -begin - select sum (j_montant) into amount_jrnx_credit - from jrnx - where - j_grpt=p_grpt - and j_debit=false; - - select sum (j_montant) into amount_jrnx_debit - from jrnx - where - j_grpt=p_grpt - and j_debit=true; - - select jr_montant into amount_jrn - from jrn - where - jr_grpt_id=p_grpt; - - if ( amount_jrnx_debit != amount_jrnx_credit ) - then - return abs(amount_jrnx_debit-amount_jrnx_credit); - end if; - if ( amount_jrn != amount_jrnx_credit) - then - return -1*abs(amount_jrn - amount_jrnx_credit); - end if; - return 0; -end; -$BODY$ - LANGUAGE plpgsql VOLATILE; - --- add quick_code to the vw_client view -drop view vw_client; - - -create view vw_client as - SELECT a.f_id, a.av_text AS name, a1.av_text as quick_code,b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email - FROM ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 1) a - inner JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 13) b USING (f_id) - inner JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 23) a1 USING (f_id) - inner JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 5) c USING (f_id) - inner JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 14) d USING (f_id) - inner JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 15) e USING (f_id) - inner JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 16) f USING (f_id) - inner JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 17) g USING (f_id) - LEFT JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 18) h USING (f_id) - WHERE a.frd_id = 9; - - - -update version set val=11; -commit; diff --git a/sources/html/admin/sql/patch/upgrade100.sql b/sources/html/admin/sql/patch/upgrade100.sql deleted file mode 100644 index 38bc440..0000000 --- a/sources/html/admin/sql/patch/upgrade100.sql +++ /dev/null @@ -1,27 +0,0 @@ -begin; -alter table attr_def add ad_extra text ; - -insert into attr_def (ad_id,ad_text,ad_type,ad_size) values (33,'Date Fin','date',8); - -ALTER TABLE fiche_detail DROP CONSTRAINT "$2"; - -ALTER TABLE fiche_detail - ADD CONSTRAINT fiche_detail_attr_def_fk FOREIGN KEY (ad_id) - REFERENCES attr_def (ad_id) MATCH SIMPLE - ON UPDATE cascade ON DELETE cascade; - -ALTER TABLE jnt_fic_attr DROP CONSTRAINT "$2"; - -ALTER TABLE jnt_fic_attr - ADD CONSTRAINT jnt_fic_attr_attr_def_fk FOREIGN KEY (ad_id) - REFERENCES attr_def (ad_id) MATCH SIMPLE - ON UPDATE cascade ON DELETE cascade; - -insert into menu_ref(me_code,me_menu,me_type) values ('CVS:reportinit','Export définition d''un raport','PR'); - -insert into profile_menu (me_code,p_id,p_type_display) values ('CVS:reportinit',1,'P'); -insert into profile_menu (me_code,p_id,p_type_display) values ('CVS:reportinit',2,'P'); - -update version set val=101; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade101.sql b/sources/html/admin/sql/patch/upgrade101.sql deleted file mode 100644 index b79c0f5..0000000 --- a/sources/html/admin/sql/patch/upgrade101.sql +++ /dev/null @@ -1,11 +0,0 @@ -begin; -delete from letter_deb where ld_id in (select a.ld_id from letter_deb as a join letter_deb as b on (a.j_id=b.j_id and a.ld_id > b.ld_id)); -delete from letter_cred where lc_id in (select a.lc_id from letter_cred as a join letter_cred as b on (a.j_id=b.j_id and a.lc_id > b.lc_id)); - -ALTER TABLE letter_deb ADD CONSTRAINT letter_deb_j_id_key UNIQUE(j_id ); -ALTER TABLE letter_cred ADD CONSTRAINT letter_cred_j_id_key UNIQUE(j_id ); - - -update version set val=102; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade102.sql b/sources/html/admin/sql/patch/upgrade102.sql deleted file mode 100644 index 2e4d25d..0000000 --- a/sources/html/admin/sql/patch/upgrade102.sql +++ /dev/null @@ -1,499 +0,0 @@ -begin; -CREATE OR REPLACE FUNCTION comptaproc.check_balance(p_grpt integer) - RETURNS numeric AS -$BODY$ -declare - amount_jrnx_debit numeric; - amount_jrnx_credit numeric; - amount_jrn numeric; -begin - select coalesce(sum (j_montant),0) into amount_jrnx_credit - from jrnx - where - j_grpt=p_grpt - and j_debit=false; - - select coalesce(sum (j_montant),0) into amount_jrnx_debit - from jrnx - where - j_grpt=p_grpt - and j_debit=true; - - select coalesce(jr_montant,0) into amount_jrn - from jrn - where - jr_grpt_id=p_grpt; - - if ( amount_jrnx_debit != amount_jrnx_credit ) - then - return abs(amount_jrnx_debit-amount_jrnx_credit); - end if; - if ( amount_jrn != amount_jrnx_credit) - then - return -1*abs(amount_jrn - amount_jrnx_credit); - end if; - return 0; -end; -$BODY$ - LANGUAGE plpgsql; - -update op_predef set od_direct='t' where od_jrn_type='ODS'; - - -update profile_menu set p_order=p_order*10; - -INSERT INTO menu_ref( - me_code, me_menu, me_file, me_url, me_description, me_parameter, - me_javascript, me_type) - VALUES ('BK', 'Banque', 'bank.inc.php', null, 'Information Banque', null,null,'ME'); - -INSERT INTO profile_menu( - me_code, me_code_dep, p_id, p_order, p_type_display, pm_default) - VALUES ('BK', 'GESTION', 1, 35, 'E', 0); -INSERT INTO profile_menu( - me_code, me_code_dep, p_id, p_order, p_type_display, pm_default) - VALUES ('BK', 'GESTION', 2, 35, 'E', 0); - - - -update menu_ref set me_description='Grand livre analytique' where me_code='ANCGL'; - -alter table action_gestion add ag_remind_date date; - -drop table jrn_action; - -update action_gestion set ag_dest=null; - alter table action_gestion alter ag_dest type bigint using ag_dest::numeric; - alter table action_gestion alter ag_dest set default null; -COMMENT ON COLUMN action_gestion.ag_dest IS ' is the profile which has to take care of this action '; -ALTER TABLE action_gestion - ADD CONSTRAINT profile_fkey FOREIGN KEY (ag_dest) - REFERENCES profile (p_id) MATCH SIMPLE - ON UPDATE SET NULL ON DELETE SET NULL; - -CREATE TABLE action_gestion_comment -( - agc_id bigserial NOT NULL, -- PK - ag_id bigint, -- FK to action_gestion - agc_date timestamp with time zone, - agc_comment text, -- comment - tech_user text, -- user_login - CONSTRAINT action_gestion_comment_pkey PRIMARY KEY (agc_id ), - CONSTRAINT action_gestion_comment_ag_id_fkey FOREIGN KEY (ag_id) - REFERENCES action_gestion (ag_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE -); -ALTER TABLE action_gestion_comment ALTER COLUMN agc_date SET DEFAULT now(); -COMMENT ON COLUMN action_gestion_comment.agc_id IS 'PK'; -COMMENT ON COLUMN action_gestion_comment.ag_id IS 'FK to action_gestion'; -COMMENT ON COLUMN action_gestion_comment.agc_comment IS 'comment'; -COMMENT ON COLUMN action_gestion_comment.tech_user IS 'user_login'; - - -insert into action_gestion_comment (ag_id,agc_date,agc_comment,tech_user) select ag_id,ag_timestamp,ag_comment,ag_owner from action_gestion; -ALTER TABLE action_gestion drop COLUMN ag_comment; - -CREATE TABLE action_gestion_operation -( - ago_id bigserial NOT NULL, -- pk - ag_id bigint, -- fk to action_gestion - jr_id bigint, -- fk to jrn - CONSTRAINT action_comment_operation_pkey PRIMARY KEY (ago_id ), - CONSTRAINT action_comment_operation_ag_id_fkey FOREIGN KEY (ag_id) - REFERENCES action_gestion (ag_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE, - CONSTRAINT action_comment_operation_jr_id_fkey FOREIGN KEY (jr_id) - REFERENCES jrn (jr_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE -); -COMMENT ON COLUMN action_gestion_operation.ago_id IS 'pk'; -COMMENT ON COLUMN action_gestion_operation.ag_id IS 'fk to action_gestion'; -COMMENT ON COLUMN action_gestion_operation.jr_id IS 'fk to jrn'; - -CREATE TABLE link_action_type -( - l_id bigserial NOT NULL, -- PK - l_desc character varying, - CONSTRAINT link_action_type_pkey PRIMARY KEY (l_id ) -); - - -CREATE TABLE action_gestion_related -( - aga_id bigserial NOT NULL, -- pk - aga_least bigint NOT NULL, -- fk to action_gestion, smallest ag_id - aga_greatest bigint NOT NULL, -- fk to action_gestion greatest ag_id - aga_type bigint, -- Type de liens - CONSTRAINT action_gestion_related_pkey PRIMARY KEY (aga_id ), - CONSTRAINT action_gestion_related_aga_greatest_fkey FOREIGN KEY (aga_greatest) - REFERENCES action_gestion (ag_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE, - CONSTRAINT action_gestion_related_aga_least_fkey FOREIGN KEY (aga_least) - REFERENCES action_gestion (ag_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE, - CONSTRAINT action_gestion_related_aga_type_fkey FOREIGN KEY (aga_type) - REFERENCES link_action_type (l_id) MATCH SIMPLE - ON UPDATE NO ACTION ON DELETE NO ACTION, - CONSTRAINT ux_aga_least_aga_greatest UNIQUE (aga_least , aga_greatest ) -); - -COMMENT ON COLUMN action_gestion_related.aga_id IS 'pk'; -COMMENT ON COLUMN action_gestion_related.aga_least IS 'fk to action_gestion, smallest ag_id'; -COMMENT ON COLUMN action_gestion_related.aga_greatest IS 'fk to action_gestion greatest ag_id'; -COMMENT ON COLUMN action_gestion_related.aga_type IS 'Type de liens'; - -CREATE INDEX link_action_type_fki - ON action_gestion_related - USING btree - (aga_type ); - --- Trigger: trg_action_gestion_related on action_gestion_related -CREATE OR REPLACE FUNCTION comptaproc.action_gestion_related_ins_up() - RETURNS trigger AS -$BODY$ -declare - nTmp bigint; -begin - -if NEW.aga_least > NEW.aga_greatest then - nTmp := NEW.aga_least; - NEW.aga_least := NEW.aga_greatest; - NEW.aga_greatest := nTmp; -end if; - -if NEW.aga_least = NEW.aga_greatest then - return NULL; -end if; - -return NEW; - -end; -$BODY$ - LANGUAGE plpgsql ; --- DROP TRIGGER trg_action_gestion_related ON action_gestion_related; - -CREATE TRIGGER trg_action_gestion_related - BEFORE INSERT OR UPDATE - ON action_gestion_related - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.action_gestion_related_ins_up(); - - -insert into action_gestion_related(aga_least,aga_greatest) select ag_id,ag_ref_ag_id from action_gestion where ag_ref_ag_id<>0; - -update menu_ref set me_menu='Action Gestion' where me_code='FOLLOW'; - -DROP FUNCTION comptaproc.action_get_tree(bigint); - -insert into menu_ref(me_code,me_menu,me_type) values ('CSV:ActionGestion','Export Action Gestion','PR'); -insert into profile_menu(me_code,p_id,p_type_display,pm_default) values ('CSV:ActionGestion',1,'P',0); - - -ALTER TABLE document_type ADD COLUMN dt_prefix text; -COMMENT ON COLUMN document_type.dt_prefix IS 'Prefix for ag_ref'; - -update document_type set dt_prefix= upper(substr(replace(dt_value,' ',''),0,7))||dt_id::text; - -CREATE TABLE user_sec_action_profile -( - ua_id bigserial NOT NULL, -- pk - p_id bigint, -- fk to profile - p_granted bigint, -- fk to profile - ua_right character(1), -- Type of right : R for readonly W for write - CONSTRAINT user_sec_action_profile_pkey PRIMARY KEY (ua_id ), - CONSTRAINT user_sec_action_profile_p_id_fkey FOREIGN KEY (p_id) - REFERENCES profile (p_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE, - CONSTRAINT user_sec_action_profile_p_granted_fkey FOREIGN KEY (p_granted) - REFERENCES profile (p_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE, - CONSTRAINT user_sec_action_profile_ua_right_check CHECK (ua_right = ANY (ARRAY['R'::bpchar, 'W'::bpchar])) -); -COMMENT ON TABLE user_sec_action_profile IS 'Available profile for user'; -COMMENT ON COLUMN user_sec_action_profile.ua_id IS 'pk'; -COMMENT ON COLUMN user_sec_action_profile.p_id IS 'fk to profile'; -COMMENT ON COLUMN user_sec_action_profile.ua_right IS 'Type of right : R for readonly W for write'; -INSERT INTO profile (p_name, p_id, p_desc, with_calc, with_direct_form) VALUES ('Public', -1, 'faux groupe', NULL, NULL); -insert into user_sec_action_profile(p_id,p_granted,ua_right) select 1,p_id,'W' from profile; -insert into user_sec_action_profile(p_id,p_granted ,ua_right) select 2,p_id,'W' from profile; -insert into parameter values('MY_STOCK','N'); - -INSERT INTO menu_ref(me_code, me_menu, me_file, me_url, me_description, me_parameter, - me_javascript, me_type) - VALUES ('CFGSTOCK', 'Configuration des dépôts', 'stock_cfg.inc.php', null, 'Configuration dépôts', null,null,'ME'); - -INSERT INTO profile_menu(me_code, me_code_dep, p_id, p_order, p_type_display, pm_default) - VALUES ('CFGSTOCK', 'PARAM', 1, 40, 'E', 0); -update menu_ref set me_file=null where me_code='STOCK'; -update profile_menu set me_code_dep='COMPTA',p_order=90 where me_code='STOCK' and me_code_dep='ADV'; - -CREATE TABLE stock_repository -( - r_id bigserial NOT NULL, -- pk - r_name text, -- name of the stock - r_adress text, -- adress of the stock - r_country text, -- country of the stock - r_city text, -- City of the stock - r_phone text, -- City of the stock - CONSTRAINT stock_repository_pkey PRIMARY KEY (r_id ) -); - -COMMENT ON TABLE stock_repository IS 'stock repository'; -COMMENT ON COLUMN stock_repository.r_id IS 'pk'; -COMMENT ON COLUMN stock_repository.r_name IS 'name of the stock'; -COMMENT ON COLUMN stock_repository.r_adress IS 'adress of the stock'; -COMMENT ON COLUMN stock_repository.r_country IS 'country of the stock'; -COMMENT ON COLUMN stock_repository.r_city IS 'City of the stock'; -COMMENT ON COLUMN stock_repository.r_phone IS 'Phone number'; - -insert into stock_repository(r_name) values ('Dépôt par défaut'); - - -CREATE TABLE profile_sec_repository -( - ur_id bigserial NOT NULL, -- pk - p_id bigint, -- fk to profile - r_id bigint, - ur_right character(1), -- Type of right : R for readonly W for write - CONSTRAINT profile_sec_repository_pkey PRIMARY KEY (ur_id ), - CONSTRAINT profile_sec_repository_p_id_fkey FOREIGN KEY (p_id) - REFERENCES profile (p_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE, - CONSTRAINT profile_sec_repository_r_id_fkey FOREIGN KEY (r_id) - REFERENCES stock_repository (r_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE, - CONSTRAINT user_sec_profile_ur_right_check CHECK (ur_right = ANY (ARRAY['R'::bpchar, 'W'::bpchar])) -); -COMMENT ON TABLE profile_sec_repository IS 'Available profile for user'; -COMMENT ON COLUMN profile_sec_repository.ur_id IS 'pk'; -COMMENT ON COLUMN profile_sec_repository.p_id IS 'fk to profile'; -COMMENT ON COLUMN profile_sec_repository.r_id IS 'fk to stock_repository'; -COMMENT ON COLUMN profile_sec_repository.ur_right IS 'Type of right : R for readonly W for write'; -alter table stock_goods add r_id bigint; - -alter table profile_sec_repository add constraint profile_sec_repository_r_id_p_id_u unique (r_id,p_id); -alter table user_sec_action_profile add constraint user_sec_action_profile_p_id_p_granted_u unique (p_id,p_granted); -update stock_goods set r_id=1; - -insert into profile_sec_repository (p_id,r_id,ur_right) select p_id,1,'W' from profile where p_id > 0; - -CREATE INDEX fk_stock_good_repository_r_id ON stock_goods (r_id ); -alter table action_gestion drop ag_cal; - - -update menu_ref set me_file=null where me_code='STOCK'; - -insert into menu_ref (me_code,me_file,me_menu,me_description,me_type) values ('STOCK_HISTO','stock_histo.inc.php','Historique stock','Historique des mouvement de stock','ME'); -insert into menu_ref (me_code,me_file,me_menu,me_description,me_type) values ('STOCK_STATE','stock_state.inc.php','Etat des stock','Etat des stock','ME'); -insert into menu_ref (me_code,me_file,me_menu,me_description,me_type) values ('STOCK_INVHISTO','stock_inv_histo.inc.php','Histo. Changement','Liste des changements manuels des stocks','ME'); -insert into menu_ref (me_code,me_menu,me_type) values ('CSV:StockHisto','Export Historique mouvement stock','PR'); -insert into menu_ref (me_code,me_menu,me_type) values ('CSV:StockResmList','Export Résumé list stock','PR'); - -insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display) values ('STOCK_HISTO','STOCK',1,10,'E'); -insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display) values ('STOCK_STATE','STOCK',1,20,'E'); -insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display) values ('STOCK_HISTO','STOCK',2,10,'E'); -insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display) values ('STOCK_STATE','STOCK',2,20,'E'); -insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display) values ('STOCK_INVHISTO','STOCK',1,30,'E'); -insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display) values ('STOCK_INVHISTO','STOCK',2,30,'E'); -insert into profile_menu(me_code,p_id,p_type_display) values ('CSV:StockHisto',1,'P'); -insert into profile_menu(me_code,p_id,p_type_display) values ('CSV:StockResmList',1,'P'); -insert into profile_menu(me_code,p_id,p_type_display) values ('CSV:StockHisto',2,'P'); -insert into profile_menu(me_code,p_id,p_type_display) values ('CSV:StockResmList',2,'P'); -insert into menu_ref (me_code,me_file,me_menu,me_description,me_type) values ('STOCK_INV','stock_inv.inc.php','Modification Stocks','Modification des stocks (inventaire)','ME'); -insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display) values ('STOCK_INV','STOCK',1,30,'E'); -insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display) values ('STOCK_INV','STOCK',2,30,'E'); - - --- clean stock_goods -delete from stock_goods where sg_code is null or sg_code='' or sg_code not in (select ad_value from fiche_detail as fd where ad_id=19 and ad_value is not null); - -CREATE INDEX fki_jrnx_j_grpt ON jrnx (j_grpt ); -CREATE INDEX fki_jrn_jr_grpt_id ON jrn (jr_grpt_id ); - --- -insert into fiche_def (fd_id,frd_id,fd_label) values (500000,15,'Stock'); -insert into jnt_fic_attr (fd_id,ad_id,jnt_order) values (500000,1,10); -insert into jnt_fic_attr (fd_id,ad_id,jnt_order) values (500000,9,20); -insert into jnt_fic_attr (fd_id,ad_id,jnt_order) values (500000,23,30); - -create or replace function migrate_stock() returns void -as -$body$ -declare - rt_row text; - n_fid bigint; -begin - for rt_row in select distinct ad_value from fiche_Detail where ad_id=19 and ad_value is not null and ad_Value <> '' - loop - insert into fiche (fd_id) values(500000) returning f_id into n_fid; - insert into fiche_detail (f_id,ad_id,ad_value) values (n_fid,1,rt_row); - insert into fiche_detail (f_id,ad_id,ad_value) values (n_fid,9,'Code stock '||rt_row); - insert into fiche_detail (f_id,ad_id,ad_value) values (n_fid,23,'STOCK'||n_fid::text); - update fiche_detail set ad_value='STOCK'||n_fid::text where ad_id=19 and ad_value=rt_row; - update stock_goods set sg_code='STOCK'||n_fid::text where sg_code=rt_row; - end loop; - -end; -$body$ language plpgsql; - -select migrate_stock(); - -select migrate_stock(); - -drop function migrate_stock(); - -update attr_def set ad_type='card', ad_extra='[sql] fd_id = 500000 ' where ad_id=19; - -create table tmp_stockgood (s_id bigserial primary key,s_date timestamp default now()); -create table tmp_stockgood_detail(d_id bigserial primary key,s_id bigint references tmp_stockgood(s_id) on delete cascade, -sg_code text,s_qin numeric(20,4),s_qout numeric(20,4),r_id bigint,f_id bigint); - - - -CREATE OR REPLACE FUNCTION comptaproc.fiche_detail_qcode_upd() - RETURNS trigger AS -$BODY$ -declare - i record; -begin - if NEW.ad_id=23 and NEW.ad_value != OLD.ad_value then - RAISE NOTICE 'new qcode [%] old qcode [%]',NEW.ad_value,OLD.ad_value; - - for i in select ad_id from attr_def where ad_type = 'card' or ad_id=25 loop - update fiche_detail set ad_value=NEW.ad_value where ad_value=OLD.ad_value and ad_id=i.ad_id; - RAISE NOTICE 'change for ad_id [%] ',i.ad_id; - if i.ad_id=19 then - RAISE NOTICE 'Change in stock_goods OLD[%] by NEW[%]',OLD.ad_value,NEW.ad_value; - update stock_goods set sg_code=NEW.ad_value where sg_code=OLD.ad_value; - end if; - - end loop; - end if; -return NEW; -end; -$BODY$ - LANGUAGE plpgsql VOLATILE; - - -CREATE TRIGGER fiche_detail_upd_trg BEFORE UPDATE ON fiche_detail FOR EACH ROW EXECUTE PROCEDURE comptaproc.fiche_detail_qcode_upd(); - -update menu_ref set me_description='Gestion des attributs de fiches ' where me_code='CFGATCARD'; -ALTER TABLE stock_goods ADD COLUMN c_id bigint; - -CREATE TABLE stock_change -( - c_id bigserial NOT NULL, - c_comment text, - c_date date, - tech_user text, - r_id bigint, - tech_date time with time zone NOT NULL DEFAULT now(), - CONSTRAINT stock_change_pkey PRIMARY KEY (c_id ), - CONSTRAINT stock_change_r_id_fkey FOREIGN KEY (r_id) - REFERENCES stock_repository (r_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE -); - -ALTER TABLE stock_goods ADD CONSTRAINT stock_goods_c_id_fkey FOREIGN KEY (c_id) REFERENCES stock_change (c_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE; - -update action_gestion set ag_dest=-1 ; -alter table action_gestion alter ag_dest set not null; -alter table action_gestion alter ag_dest set default -1; - -update menu_ref set me_code='CSV:reportinit' where me_code='CVS:reportinit'; - update menu_ref set me_file='export_histo_csv.php' where me_code='CSV:histo'; - update menu_ref set me_file='export_ledger_csv.php' where me_code='CSV:ledger'; - update menu_ref set me_file='export_ledger_pdf.php' where me_code='PDF:ledger'; - update menu_ref set me_file='export_poste_detail_csv.php' where me_code='CSV:postedetail'; - update menu_ref set me_file='export_poste_detail_pdf.php' where me_code='PDF:postedetail'; - update menu_ref set me_file='export_fiche_detail_csv.php' where me_code='CSV:fichedetail'; - update menu_ref set me_file='export_fiche_detail_pdf.php' where me_code='PDF:fichedetail'; - update menu_ref set me_file='export_fiche_balance_csv.php' where me_code='CSV:fiche_balance'; - update menu_ref set me_file='export_fiche_balance_pdf.php' where me_code='PDF:fiche_balance'; - update menu_ref set me_file='export_form_csv.php' where me_code='CSV:report'; - update menu_ref set me_file='export_form_pdf.php' where me_code='PDF:report'; - update menu_ref set me_file='export_fiche_csv.php' where me_code='CSV:fiche'; - update menu_ref set me_file='export_fiche_pdf.php' where me_code='PDF:fiche'; - update menu_ref set me_file='export_gl_csv.php' where me_code='CSV:glcompte'; - update menu_ref set me_file='export_gl_pdf.php' where me_code='PDF:glcompte'; - update menu_ref set me_file='export_security_pdf.php' where me_code='PDF:sec'; - update menu_ref set me_file='export_anc_list_csv.php' where me_code='CSV:AncList'; - update menu_ref set me_file='export_anc_balance_simple_csv.php' where me_code='CSV:AncBalSimple'; - update menu_ref set me_file='export_anc_balance_simple_pdf.php' where me_code='PDF:AncBalSimple'; - update menu_ref set me_file='export_anc_balance_double_csv.php' where me_code='CSV:AncBalDouble'; - update menu_ref set me_file='export_anc_balance_double_pdf.php' where me_code='PDF:AncBalDouble'; - update menu_ref set me_file='export_balance_csv.php' where me_code='CSV:balance'; - update menu_ref set me_file='export_balance_pdf.php' where me_code='PDF:balance'; - update menu_ref set me_file='export_anc_table_csv.php' where me_code='CSV:AncTable'; - update menu_ref set me_file='export_anc_acc_list_csv.php' where me_code='CSV:AncAccList'; - update menu_ref set me_file='export_anc_balance_group_csv.php' where me_code='CSV:AncBalGroup'; - update menu_ref set me_file='export_bilan_oth.php' where me_code='OTH:Bilan'; - update menu_ref set me_file='export_anc_grandlivre_csv.php' where me_code='CSV:AncGrandLivre'; - update menu_ref set me_file='export_reportinit_csv.php' where me_code='CSV:reportinit'; - update menu_ref set me_file='export_follow_up_csv.php' where me_code='CSV:ActionGestion'; - update menu_ref set me_file='export_stock_histo_csv.php' where me_code='CSV:StockHisto'; - update menu_ref set me_file='export_stock_resume_list.php' where me_code='CSV:StockResmList'; - -INSERT INTO menu_ref( - me_code, me_menu, me_file, me_url, me_description, me_parameter, - me_javascript, me_type) - VALUES ('CFGDOCST', 'Etat des documents', 'doc_state.inc.php', null, 'Etat des documents', null,null,'ME'); - -INSERT INTO profile_menu( - me_code, me_code_dep, p_id, p_order, p_type_display, pm_default) - VALUES ('CFGDOCST', 'DIVPARM', 1, 9, 'E', 0); -INSERT INTO profile_menu( - me_code, me_code_dep, p_id, p_order, p_type_display, pm_default) - VALUES ('CFGDOCST', 'DIVPARM', 2,9, 'E', 0); - -alter sequence document_state_s_id_seq restart with 100; - -CREATE INDEX quant_purchase_jrn_fki - ON quant_purchase - USING btree - (qp_internal ); - - - -ALTER TABLE quant_purchase DROP CONSTRAINT quant_purchase_qp_internal_fkey; - - -ALTER TABLE quant_purchase - ADD CONSTRAINT quant_purchase_qp_internal_fkey FOREIGN KEY (qp_internal) - REFERENCES jrn (jr_internal) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; - - -ALTER TABLE quant_sold DROP CONSTRAINT quant_sold_qs_internal_fkey; - -ALTER TABLE quant_sold - ADD CONSTRAINT quant_sold_qs_internal_fkey FOREIGN KEY (qs_internal) - REFERENCES jrn (jr_internal) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; -CREATE INDEX quant_sold_jrn_fki - ON quant_sold - USING btree - (qs_internal ); - - -create sequence uos_pk_seq; -create table tool_uos ( uos_value bigint default nextval ('uos_pk_seq') primary key ); - -update menu_ref set me_code='CFGCARD',me_file='cfgfiche.inc.php' where me_code='CARD'; -update menu_ref set me_code='CARD',me_file='fiche.inc.php' where me_code='PRINTCARD'; -update profile_menu set me_code='CARD' where me_code='CFGCARD'; -update profile_menu set me_code='CFGCARD' , me_code_dep='PARAM' where me_code='CARD' and me_code_dep='PRINT'; -update menu_ref set me_menu='Fiche',me_description='Liste,Balance,Historique par fiche' where me_code='CARD'; -update menu_ref set me_menu='Fiche',me_description='Configuration de catégorie de fiches' where me_code='CFGCARD'; - -drop table user_sec_extension; - -update attr_def set ad_type='card', ad_extra='[sql] frd_id in (4,8,9,14)' where ad_id=25; - -update attr_Def set ad_extra='2' where ad_type='numeric'; -update attr_Def set ad_extra='4' where ad_id=31; - -update version set val=103; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade103.sql b/sources/html/admin/sql/patch/upgrade103.sql deleted file mode 100644 index f09d0a0..0000000 --- a/sources/html/admin/sql/patch/upgrade103.sql +++ /dev/null @@ -1,37 +0,0 @@ -begin; -CREATE OR REPLACE FUNCTION comptaproc.format_account(p_account account_type) - RETURNS account_type AS -$BODY$ - -declare - -sResult account_type; - -begin -sResult := lower(p_account); - -sResult := translate(sResult,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); -sResult := translate(sResult,E' $€µ£%.+-/\\!(){}(),;_&|"#''^<>*',''); - -return upper(sResult); - -end; -$BODY$ - LANGUAGE plpgsql ; - -COMMENT ON FUNCTION comptaproc.format_account(account_type) IS 'format the accounting : -- upper case -- remove space and special char. -'; - -update tmp_pcmn set pcm_val_parent = '62' where pcm_val='6202'; - -update fiche_detail set ad_value = (to_number(ad_value,'9.99')*100)::text where ad_id in (21,22,20,31) and ad_value is not null and ad_value <> ''; - -update menu_ref set me_code='ACHISTO' WHERE me_code='ACHIMP'; -update menu_ref set me_code='VEHISTO' WHERE me_code='VENIMP'; -update menu_ref set me_code='FIHISTO' WHERE me_code='FIMP'; -update menu_ref set me_code='ODHISTO' WHERE me_code='ODSIMP'; -update version set val=104; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade104.sql b/sources/html/admin/sql/patch/upgrade104.sql deleted file mode 100644 index 0df6521..0000000 --- a/sources/html/admin/sql/patch/upgrade104.sql +++ /dev/null @@ -1,105 +0,0 @@ -begin; -CREATE OR REPLACE FUNCTION comptaproc.insert_quick_code(nf_id integer, tav_text text) - RETURNS integer AS -$BODY$ - declare - ns integer; - nExist integer; - tText text; - begin - tText := lower(trim(tav_text)); - tText := replace(tText,' ',''); - tText := translate(tText,E' $€µ£%.+-/\\!(){}(),;_&|"#''^<>*',''); - tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); - - - loop - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - if length (tText) = 0 or tText is null then - tText := 'FID'||ns; - end if; - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=upper(tText); - - if nExist = 0 then - exit; - end if; - tText:='FID'||ns; - end loop; - - - insert into fiche_detail(jft_id,f_id,ad_id,ad_value) values (ns,nf_id,23,upper(tText)); - return ns; - end; -$BODY$ -LANGUAGE plpgsql; - - - -CREATE OR REPLACE FUNCTION comptaproc.update_quick_code(njft_id integer, tav_text text) - RETURNS integer AS -$BODY$ - declare - ns integer; - nExist integer; - tText text; - old_qcode varchar; - begin - -- get current value - select ad_value into old_qcode from fiche_detail where jft_id=njft_id; - -- av_text didn't change so no update - if tav_text = upper( trim(old_qcode)) then - return 0; - end if; - - tText := trim(lower(tav_text)); - tText := replace(tText,' ',''); - tText := translate(tText,E' $€µ£%.+-/\\!(){}(),;_&|"#''^<>*',''); - tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); - tText := upper(tText); - if length ( tText) = 0 or tText is null then - return 0; - end if; - - ns := njft_id; - - loop - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=tText; - - if nExist = 0 then - exit; - end if; - if tText = 'FID'||ns then - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - end if; - tText :='FID'||ns; - - end loop; - update fiche_detail set ad_value = tText where jft_id=njft_id; - - -- update also the contact - update fiche_detail set ad_value = tText - where jft_id in - ( select jft_id - from fiche_detail - where ad_id=25 and ad_value=old_qcode); - - - update jrnx set j_qcode=tText where j_qcode = old_qcode; - return ns; - end; -$BODY$ -LANGUAGE plpgsql; - -update version set val=105; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade105.sql b/sources/html/admin/sql/patch/upgrade105.sql deleted file mode 100644 index 784e8cc..0000000 --- a/sources/html/admin/sql/patch/upgrade105.sql +++ /dev/null @@ -1,109 +0,0 @@ -begin; - -CREATE OR REPLACE FUNCTION comptaproc.insert_quick_code(nf_id integer, tav_text text) - RETURNS integer AS -$BODY$ - declare - ns integer; - nExist integer; - tText text; - begin - tText := lower(trim(tav_text)); - tText := replace(tText,' ',''); - tText := translate(tText,E' $€µ£%.+-/\\!(){}(),;_&|"#''^<>*',''); - tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); - - - loop - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - if length (tText) = 0 or tText is null then - tText := 'FID'||ns; - end if; - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=upper(tText); - - if nExist = 0 then - exit; - end if; - tText:='FID'||ns; - end loop; - - - insert into fiche_detail(jft_id,f_id,ad_id,ad_value) values (ns,nf_id,23,upper(tText)); - return ns; - end; -$BODY$ - LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION comptaproc.update_quick_code(njft_id integer, tav_text text) - RETURNS integer AS -$BODY$ - declare - ns integer; - nExist integer; - tText text; - old_qcode varchar; - begin - -- get current value - select ad_value into old_qcode from fiche_detail where jft_id=njft_id; - -- av_text didn't change so no update - if tav_text = upper( trim(old_qcode)) then - return 0; - end if; - - tText := trim(lower(tav_text)); - tText := replace(tText,' ',''); - tText := translate(tText,E' $€µ£%.+-/\\!(){}(),;_&|"#''^<>*',''); - tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); - tText := upper(tText); - if length ( tText) = 0 or tText is null then - return 0; - end if; - - ns := njft_id; - - loop - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=tText; - - if nExist = 0 then - exit; - end if; - if tText = 'FID'||ns then - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - end if; - tText :='FID'||ns; - - end loop; - update fiche_detail set ad_value = tText where jft_id=njft_id; - - -- update also the contact - update fiche_detail set ad_value = tText - where jft_id in - ( select jft_id - from fiche_detail - where ad_id=25 and ad_value=old_qcode); - - - update jrnx set j_qcode=tText where j_qcode = old_qcode; - return ns; - end; -$BODY$ - LANGUAGE plpgsql; - - -alter table document_state add s_status char(1); - -update document_state set s_status='C' where s_id in (1,4); - -update version set val=106; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade106.sql b/sources/html/admin/sql/patch/upgrade106.sql deleted file mode 100644 index 8eb2e72..0000000 --- a/sources/html/admin/sql/patch/upgrade106.sql +++ /dev/null @@ -1,69 +0,0 @@ -begin; -update attr_def set ad_text='Compte bancaire' where ad_id=3; -ALTER TABLE mod_payment DROP CONSTRAINT mod_payment_mp_fd_id_fkey ; -ALTER TABLE mod_payment ADD CONSTRAINT mod_payment_mp_fd_id_fkey FOREIGN KEY (mp_fd_id) REFERENCES fiche_def (fd_id) MATCH SIMPLE ON UPDATE cascade ON DELETE cascade; -ALTER TABLE mod_payment DROP CONSTRAINT mod_payment_mp_jrn_def_id_fkey ; -ALTER TABLE mod_payment ADD CONSTRAINT mod_payment_mp_jrn_def_id_fkey FOREIGN KEY (mp_jrn_def_id) REFERENCES jrn_def (jrn_def_id) MATCH SIMPLE ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE fiche_def ADD COLUMN fd_description text; -update fiche_def set fd_description='Achats de marchandises' where fd_id=1; -update fiche_def set fd_description='Catégorie qui contient la liste des clients' where fd_id=2; -update fiche_def set fd_description='Catégorie qui contient la liste des comptes financiers: banque, caisse,...' where fd_id=3; -update fiche_def set fd_description='Catégorie qui contient la liste des fournisseurs' where fd_id=4; -update fiche_def set fd_label='Services & Biens Divers',fd_description='Catégorie qui contient la liste des charges diverses' where fd_id=5; -update fiche_def set fd_description='Catégorie qui contient la liste des prestations, marchandises... que l''on vend ' where fd_id=6; - -update jrn_def set jrn_deb_max_line=5 where jrn_deb_max_line is null; - -CREATE OR REPLACE FUNCTION comptaproc.periode_exist(p_date text,p_periode_id bigint) - RETURNS integer -AS $function$ - -declare n_p_id int4; -begin - -select p_id into n_p_id - from parm_periode - where - p_start <= to_date(p_date,'DD.MM.YYYY') - and - p_end >= to_date(p_date,'DD.MM.YYYY') - and - p_id <> p_periode_id; - -if NOT FOUND then - return -1; -end if; - -return n_p_id; - -end;$function$ - LANGUAGE plpgsql; - -create or replace function comptaproc.check_periode () returns trigger -as -$$ -declare - nPeriode int; -begin -if periode_exist(to_char(NEW.p_start,'DD.MM.YYYY'),NEW.p_id) <> -1 then - nPeriode:=periode_exist(to_char(NEW.p_start,'DD.MM.YYYY'),NEW.p_id) ; - raise info 'Overlap periode start % periode %',NEW.p_start,nPeriode; - return null; -end if; - -if periode_exist(to_char(NEW.p_end,'DD.MM.YYYY'),NEW.p_id) <> -1 then - nPeriode:=periode_exist(to_char(NEW.p_start,'DD.MM.YYYY'),NEW.p_id) ; - raise info 'Overlap periode end % periode %',NEW.p_end,nPeriode; - return null; -end if; -return NEW; -end; -$$ language plpgsql -; - - -create trigger parm_periode_check_periode_trg before update or insert on parm_periode for each row execute procedure check_periode(); -update version set val=107; - -commit; - diff --git a/sources/html/admin/sql/patch/upgrade107.sql b/sources/html/admin/sql/patch/upgrade107.sql deleted file mode 100644 index fa89168..0000000 --- a/sources/html/admin/sql/patch/upgrade107.sql +++ /dev/null @@ -1,303 +0,0 @@ -begin; - --- si la fiche utilise le code DEPENSE PRIVEE alors ajout dans QP_DEP_PRIV -create or replace view m as -select qp_id, qp_price from quant_purchase join fiche_detail on (qp_fiche=f_id and ad_id=5) where ad_value in (select p_value from parm_code where p_code='DEP_PRIV'); - -update quant_purchase as e set qp_dep_priv=(select qp_price from m where m.qp_id=e.qp_id); - -update quant_purchase as e set qp_dep_priv=(select qp_price from m where m.qp_id=e.qp_id); - -update quant_purchase as e set qp_dep_priv=0 where qp_dep_priv is null; --- évite les valeurs nulles dans quant_purchase -update quant_purchase set qp_dep_priv = 0 where qp_dep_priv is null; - -drop view m; - --- update script insert_quant_purchase - - -CREATE OR REPLACE FUNCTION comptaproc.insert_quant_purchase( - p_internal text, - p_j_id numeric, - p_fiche text, - p_quant numeric, - p_price numeric, - p_vat numeric, - p_vat_code integer, - p_nd_amount numeric, - p_nd_tva numeric, - p_nd_tva_recup numeric, - p_dep_priv numeric, - p_client text, - p_tva_sided numeric) - RETURNS void AS -$BODY$ -declare - fid_client integer; - fid_good integer; - account_priv account_type; - fid_good_account account_type; - n_dep_priv numeric; -begin - n_dep_priv := 0; - select p_value into account_priv from parm_code where p_code='DEP_PRIV'; - select f_id into fid_client from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_client)); - select f_id into fid_good from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche)); - select ad_value into fid_good_account from fiche_detail where ad_id=5 and f_id=fid_good; - if strpos( fid_good_account , account_priv ) = 1 then - n_dep_priv=p_price; - end if; - - insert into quant_purchase - (qp_internal, - j_id, - qp_fiche, - qp_quantite, - qp_price, - qp_vat, - qp_vat_code, - qp_nd_amount, - qp_nd_tva, - qp_nd_tva_recup, - qp_supplier, - qp_dep_priv, - qp_vat_sided) - values - (p_internal, - p_j_id, - fid_good, - p_quant, - p_price, - p_vat, - p_vat_code, - p_nd_amount, - p_nd_tva, - p_nd_tva_recup, - fid_client, - n_dep_priv, - p_tva_sided); - return; -end; - $BODY$ - LANGUAGE plpgsql; - - --- ajout code manquant dans parm_code -create or replace function add_parm_code() returns void as -$fct$ -declare - country_code text; -begin - select pr_value into country_code from parameter where pr_id='MY_COUNTRY'; - if country_code='FR' then - insert into parm_code (p_code,p_comment,p_value) values ('DNA','Dépense non déductible','67'); - insert into parm_code (p_code,p_comment,p_value) values ('TVA_DNA','TVA non déductible',''); - insert into parm_code (p_code,p_comment,p_value) values ('TVA_DED_IMPOT','TVA déductible à l''impôt',''); - insert into parm_code (p_code,p_comment,p_value) values ('COMPTE_COURANT','Poste comptable pour le compte courant',''); - insert into parm_code (p_code,p_comment,p_value) values ('COMPTE_TVA','TVA à payer ou à recevoir',''); - end if; -end; -$fct$ -language plpgsql; - -select add_parm_code(); - -drop function add_parm_code(); - -update parm_code set p_value='67' where p_value='6740' and p_code='DNA'; - - alter table menu_ref add me_description_etendue text; - -insert into menu_ref(me_code,me_menu,me_file, me_url,me_description,me_parameter,me_javascript,me_type,me_description_etendue) -values -('NAVI','Navigateur',null,null,'Menu simplifié pour retrouver rapidement un menu',null,'ask_navigator()','ME','Le navigateur vous présente une liste de menu auquel vous avez accès et vous permet d''accèder plus rapidement au menu que vous souhaitez rapidement'); - -insert into profile_menu (me_code,me_code_dep,p_id,p_order, p_type_display,pm_default) -values -('NAVI',null,1,90,'M',0), ('NAVI',null,2,90,'M',0); - -insert into menu_ref(me_code,me_menu,me_file, me_url,me_description,me_parameter,me_javascript,me_type,me_description_etendue) -values -('BOOKMARK','Favori',null,null,'Raccourci vers vos menus préférés',null,'show_bookmark()','ME','Ce menu vous présente un menu rapide des menus que vous utilisez le plus souvent'); - -insert into profile_menu (me_code,me_code_dep,p_id,p_order, p_type_display,pm_default) -values -('BOOKMARK',null,1,85,'M',0), ('BOOKMARK',null,2,85,'M',0); - -update menu_ref set me_menu='Impression Journaux' where me_code='PRINTJRN'; -update menu_ref set me_description='Impression des journaux' where me_code='PRINTJRN'; -update menu_ref set me_menu='Liste Suivi' where me_code='FOLLOW'; -update menu_ref set me_description='Document de suivi sous forme de liste' where me_code='FOLLOW'; -update menu_ref set me_javascript='popup_recherche()' where me_code='SEARCH'; -update menu_ref set me_file=null,me_javascript='set_preference()' , me_description_etendue='Préférence de l''utilisateur, apparence de l''application pour l''utilisateur, période par défaut et mot de passe' where me_code='PREFERENCE'; -/* - * Vue montrant toutes les possibilités - */ -CREATE OR REPLACE VIEW v_menu_description AS - WITH t_menu AS ( - SELECT mr.me_menu, pm.me_code, pm.me_code_dep, pm.p_type_display, pu.user_name, mr.me_file, mr.me_javascript, mr.me_description, mr.me_description_etendue - FROM profile_menu pm - JOIN profile_user pu ON pu.p_id = pm.p_id - JOIN profile p ON p.p_id = pm.p_id - JOIN menu_ref mr USING (me_code) - ) - SELECT DISTINCT (COALESCE(v3.me_code || '/'::text, ''::text) || COALESCE(v2.me_code, ''::text)) || - CASE - WHEN v2.me_code IS NULL THEN COALESCE(v1.me_code, ''::text) - WHEN v2.me_code IS NOT NULL THEN COALESCE('/'::text || v1.me_code, ''::text) - ELSE NULL::text - END AS code, v1.me_code, v1.me_description, v1.me_description_etendue, v1.me_file, v1.user_name, '> '::text || v1.me_menu AS v1menu, - CASE - WHEN COALESCE(v3.me_menu, ''::text) <> ''::text THEN ' > '::text || v2.me_menu - ELSE v2.me_menu - END AS v2menu, v3.me_menu AS v3menu, v3.p_type_display, - coalesce(v1.me_javascript,coalesce(v2.me_javascript,v3.me_javascript)) as javascript - FROM t_menu v1 - LEFT JOIN t_menu v2 ON v1.me_code_dep = v2.me_code - LEFT JOIN t_menu v3 ON v2.me_code_dep = v3.me_code - WHERE v1.p_type_display <> 'P'::text AND (COALESCE(v1.me_file, ''::text) <> ''::text OR COALESCE(v1.me_javascript, ''::text) <> ''::text); - -COMMENT ON VIEW v_menu_description - IS 'Description des menus'; - -CREATE TABLE bookmark -( -b_id serial primary key, -b_order integer default 1, -b_action text, -login text -); -comment on table bookmark is 'Bookmark of the connected user'; - -create table tags ( - t_id serial primary key, - t_tag text not null, - t_description text -); - -create table action_tags -( - at_id serial primary key, - t_id integer references tags(t_id) on delete cascade on update cascade, - ag_id integer references action_gestion(ag_id) on delete cascade on update cascade -); -/* Config tag */ -insert into menu_ref(me_code,me_menu,me_file, me_url,me_description,me_parameter,me_javascript,me_type,me_description_etendue) -values -('CFGTAG','Configuration étiquette','cfgtags.inc.php',null,'Configuration des tags',null,null,'ME','Configuration des étiquettes. Vous pouvez en ajouter, en supprimer ou les modifier'); - -insert into profile_menu (me_code,me_code_dep,p_id,p_order, p_type_display,pm_default) -values -('CFGTAG','PARAM',1,390,'E',0); - -update fiche_def_ref set frd_text='Trésorerie' where frd_id=4; - -CREATE OR REPLACE FUNCTION comptaproc.insert_quick_code(nf_id integer, tav_text text) - RETURNS integer AS -$BODY$ - declare - ns integer; - nExist integer; - tText text; - tBase text; - tName text; - nCount Integer; - nDuplicate Integer; - begin - tText := lower(trim(tav_text)); - tText := replace(tText,' ',''); - tText := translate(tText,E' $€µ£%.+-/\\!(){}(),;_&|"#''^<>*',''); - tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); - nDuplicate := 0; - tBase := tText; - loop - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - if length (tText) = 0 or tText is null then - select count(*) into nCount from fiche_detail where f_id=nf_id and ad_id=1; - if nCount = 0 then - tText := 'FICHE'||ns::text; - else - select ad_value into tName from fiche_detail where f_id=nf_id and ad_id=1; - - tName := lower(trim(tName)); - tName := substr(tName,1,6); - tName := replace(tName,' ',''); - tName := translate(tName,E' $€µ£%.+-/\\!(){}(),;_&|"#''^<>*',''); - tName := translate(tName,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); - tBase := tName; - if nDuplicate = 0 then - tText := tName; - else - tText := tName||nDuplicate::text; - end if; - end if; - end if; - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=upper(tText); - - if nExist = 0 then - exit; - end if; - nDuplicate := nDuplicate + 1 ; - tText := tBase || nDuplicate::text; - - if nDuplicate > 9999 then - raise Exception 'too many duplicate % duplicate# %',tText,nDuplicate; - end if; - end loop; - - - insert into fiche_detail(jft_id,f_id,ad_id,ad_value) values (ns,nf_id,23,upper(tText)); - return ns; - end; -$BODY$ - -LANGUAGE plpgsql VOLATILE; - -alter table op_predef add od_description text; -create or replace function comptaproc.opd_limit_description() -returns trigger -as -$BEGIN$ - declare - sDescription text; - begin - sDescription := NEW.od_description; - NEW.od_description := substr(sDescription,1,80); - return NEW; - end; -$BEGIN$ -LANGUAGE plpgsql; - -create trigger opd_limit_description before update or insert on op_predef for each row execute procedure comptaproc.opd_limit_description(); - -update menu_ref set me_menu = 'Trésorerie' where me_code='MENUFIN'; - -create or replace function do_insert() returns void -as -$$ -declare - nCount integer; -begin - select count(*) into nCount from menu_ref where me_file='contact.inc.php'; - if nCount = 0 then - insert into menu_ref(ME_CODE,me_menu,me_file,me_description,me_type) values ('CONTACT','Contact','contact.inc.php','Liste des contacts','ME'); - end if; -end; -$$ -language plpgsql; - -select do_insert(); - -drop function do_insert(); - -update version set val=108; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade108.sql b/sources/html/admin/sql/patch/upgrade108.sql deleted file mode 100644 index e6c0f29..0000000 --- a/sources/html/admin/sql/patch/upgrade108.sql +++ /dev/null @@ -1,265 +0,0 @@ -begin; - - update menu_ref set me_description_etendue='Liste de tous vos contacts' where me_code='CONTACT' ; - update menu_ref set me_description_etendue='Vous permet d''encoder des achats, dépenses, des notes de frais ou des notes de crédits, vous pouvez spécifier un bénéficiaire ou un autre moyen de paiement' where me_code='ACH' ; - update menu_ref set me_description_etendue='Historique des imputations analytiques' where me_code='ANCHOP' ; - update menu_ref set me_description_etendue='Balance simple des imputations analytiques' where me_code='ANCBS' ; - update menu_ref set me_description_etendue='Tableau lié à la comptabilité' where me_code='ANCTAB' ; - update menu_ref set me_description_etendue='Lien entre comptabilité et Comptabilité analytique' where me_code='ANCBCC' ; - update menu_ref set me_description_etendue='Balance par groupe' where me_code='ANCGR' ; - update menu_ref set me_description_etendue='Permet d''ajouter des taux de TVA ou de les modifier ainsi que les postes comptables de ces TVA, ces TVA sont utilisables dans les menus de vente et d''achat' where me_code='CFGTVA' ; - update menu_ref set me_description_etendue='Encodage de tous vos revenus ou vente' where me_code='VEN' ; - update menu_ref set me_description_etendue='Ajout de menu ou de plugins' where me_code='CFGMENU' ; - update menu_ref set me_description_etendue='Suivi des fournisseurs : devis, lettres, email....' where me_code='SUPPL' ; - update menu_ref set me_description_etendue='Opérations diverses en Analytique' where me_code='ANCODS' ; - update menu_ref set me_description_etendue='Création de rapport sur mesure, comme les ratios, vous permet de créer des graphiques de vos données (vente, achat...)' where me_code='REPORT' ; - update menu_ref set me_description_etendue='Menu regroupant les plugins' where me_code='EXT' ; - update menu_ref set me_description_etendue='Les opérations prédéfinies sont des opérations que vous faites régulièrement (loyer, abonnement,...) ' where me_code='PREDOP' ; - update menu_ref set me_description_etendue='Axe analytique' where me_code='PLANANC' ; - update menu_ref set me_description_etendue='Regroupement de compte analytique' where me_code='ANCGROUP' ; - update menu_ref set me_description_etendue='Opération diverses tels que les amortissements, les augmentations de capital, les salaires, ...' where me_code='ODS' ; - update menu_ref set me_description_etendue='Encodage d''un extrait bancaire (=relevé bancaire)' where me_code='FIN' ; - update menu_ref set me_description_etendue='Historique de toutes vos opérations un menu de recherche dans une nouvelle fenêtre, vous permettra de retrouver rapidement l''opération qui vous intéresse' where me_code='JSSEARCH' ; - update menu_ref set me_description_etendue='Suivi client : devis, réunion, courrier, commande...' where me_code='CUST' ; - update menu_ref set me_description_etendue='Vous permet d''ajouter de nouveaux type de documents (bordereau de livraison, devis..)' where me_code='CFGCATDOC' ; - update menu_ref set me_description_etendue='Lettrage par fiche' where me_code='LETCARD' ; - update menu_ref set me_description_etendue='Historique de toutes vos opérations dans les journaux d''achats un menu de recherche, vous permettra de retrouver rapidement l''opération qui vous intéresse' where me_code='ACHISTO' ; - update menu_ref set me_description_etendue='Historique de toutes vos opérations dans les journaux d''opérations diverses un menu de recherche, vous permettra de retrouver rapidement l''opération qui vous intéresse' where me_code='ODHISTO' ; - update menu_ref set me_description_etendue='Impression du détail d''un poste comptable' where me_code='PRINTPOSTE' ; - update menu_ref set me_description_etendue='Impression de rapport personnalisé, il est aussi possible d''exporter en CSV afin de faire des graphiques' where me_code='PRINTREPORT' ; - update menu_ref set me_description_etendue='Impression du grand livre' where me_code='PRINTGL' ; - update menu_ref set me_description_etendue='Impression des balances comptables' where me_code='PRINTBAL' ; - update menu_ref set me_description_etendue='Regroupement pour les menus d''achats(nouvelle opération, historique...)' where me_code='MENUACH' ; - update menu_ref set me_description_etendue='Regroupement pour les menus et les profils' where me_code='MOD' ; - update menu_ref set me_description_etendue='Module paramètres' where me_code='PARAM' ; - update menu_ref set me_description_etendue='Menu impression' where me_code='PRINT' ; - update menu_ref set me_description_etendue='Regroupement des menus des journaux de trésorerie' where me_code='BK' ; - update menu_ref set me_description_etendue='Grand livre pour la comptabilité analytique' where me_code='ANCGL' ; - update menu_ref set me_description_etendue='Module gestion' where me_code='GESTION' ; - update menu_ref set me_description_etendue='Menu Lettrage' where me_code='LET' ; - update menu_ref set me_description_etendue='Choix de votre dossier' where me_code='ACCESS' ; - update menu_ref set me_description_etendue='Module comptabilité' where me_code='COMPTA' ; - update menu_ref set me_description_etendue='Menu de différents paramètres' where me_code='DIVPARM' ; - update menu_ref set me_description_etendue='Déconnexion ' where me_code='LOGOUT' ; - update menu_ref set me_description_etendue='Configuration des profils des utilisateurs, permet de fixer les journaux, profils dans les documents et stock que ce profil peut utiliser. Cela limite les utilisateurs puisque ceux-ci ont un profil' where me_code='CFGPRO' ; - update menu_ref set me_description_etendue='Config. poste comptable de base' where me_code='CFGACC' ; - update menu_ref set me_description_etendue='Permet d''avoir la balance de toutes vos fiches, les résumés exportables en CSV, les historiques avec ou sans lettrages' where me_code='CARD' ; - update menu_ref set me_description_etendue='Préférence de l''utilisateur, apparence de l''application pour l''utilisateur, période par défaut et mot de passe' where me_code='PREFERENCE' ; - update menu_ref set me_description_etendue='Configuration des tags ou dossiers, on l''appele tag ou dossier suivant la façon dont vous utilisez -cette fonctionnalité. Vous pouvez en ajouter, en supprimer ou les modifier' where me_code='CFGTAG' ; - update menu_ref set me_description_etendue='Balance double croisées des imputations analytiques' where me_code='ANCBC2' ; - update menu_ref set me_description_etendue='Information sur votre société : nom, adresse... utilisé lors de la génération de documents' where me_code='COMPANY' ; - update menu_ref set me_description_etendue='Gestion des périodes : clôture, ajout de période, afin de créer des périodes vous pouvez aussi utiliser le plugin outil comptable' where me_code='PERIODE' ; - update menu_ref set me_description_etendue='Vérifie que votre comptabilité ne contient pas d''erreur de base, tels que l''équilibre entre le passif et l''actif, l''utilisation des postes comptables...' where me_code='VERIFBIL' ; - update menu_ref set me_description_etendue='Ecriture d''ouverture ou écriture à nouveau, reporte les soldes des comptes de l''année passé du poste comptable 0xxx à 5xxxx sur l''année courante' where me_code='OPEN' ; - update menu_ref set me_description_etendue='Chargement de modèles de documents qui seront générés par NOALYSS, les formats utilisables sont libreoffice, html, text et rtf' where me_code='CFGDOC' ; - update menu_ref set me_description_etendue='Création et modification des journaux, préfixe des pièces justificatives, numérotation, catégories de fiches accessibles à ce journal' where me_code='CFGLED' ; - update menu_ref set me_description_etendue='Configuration de la sécurité, vous permet de donner un profil à vos utilisateurs, cela leur permettra d''utiliser ce que vous souhaitez qu''ils puissent utiliser' where me_code='CFGSEC' ; - update menu_ref set me_description_etendue='Permet d''ajouter de nouveaux attributs que vous pourrez par la suite ajouter à des catégories de fiches' where me_code='CFGATCARD' ; - update menu_ref set me_description_etendue='Etat des stock de l''exercice indiqué' where me_code='STOCK_STATE' ; - update menu_ref set me_description_etendue='Modification des stocks, menu utilisé pour l''inventaire' where me_code='STOCK_INV' ; - update menu_ref set me_description_etendue='Liste des changements manuels des stocks, inventaire, transfert de marchandises entre dépôts...' where me_code='STOCK_INVHISTO' ; - update menu_ref set me_description_etendue='Le navigateur vous présente une liste de menu auquel vous avez accès et vous permet d''accèder plus rapidement au menu que vous souhaitez' where me_code='NAVI' ; - update menu_ref set me_description_etendue='Historique de toutes vos opérations dans tous les journaux auquels vous avez accès, vous permettra de retrouver rapidement l''opération qui vous intéresse sur base de la date, du poste comptable, des montants...' where me_code='SEARCH' ; - update menu_ref set me_description_etendue='Historique de toutes vos opérations un menu de recherche, vous permettra de retrouver rapidement l''opération qui vous intéresse' where me_code='HIST' ; - update menu_ref set me_description_etendue='Permet de faire correspondre vos extraits bancaires avec les opérations de vente ou d''achat, le lettrage se fait automatiquement' where me_code='FREC' ; - update menu_ref set me_description_etendue='Solde des journaux de trésorerie cela concerne les comptes en banques, caisse , les chèques... ' where me_code='FSALDO' ; - update menu_ref set me_description_etendue='lettrage par poste comptable' where me_code='LETACC' ; - update menu_ref set me_description_etendue='Balance par catégorie de fiche ou pour toutes les fiches ayant un poste comptable' where me_code='CARDBAL' ; - update menu_ref set me_description_etendue='Modification de votre plan comptable, parfois il est plus rapide d''utiliser le plugin "Poste Comptable"' where me_code='CFGPCMN' ; - update menu_ref set me_description_etendue='Historique de toutes vos opérations dans les journaux de vente un menu de recherche, vous permettra de retrouver rapidement l''opération qui vous intéresse' where me_code='VEHISTO' ; - update menu_ref set me_description_etendue='Historique de toutes vos opérations dans les journaux de trésorerie un menu de recherche, vous permettra de retrouver rapidement l''opération qui vous intéresse' where me_code='FIHISTO' ; - update menu_ref set me_description_etendue='Impression des rapprochements : opérations non rapprochées ou avec des montants différents' where me_code='PRINTREC' ; - update menu_ref set me_description_etendue='Impression de bilan, ce module est basique, il est plus intéressant d''utiliser le plugin "rapport avancés"' where me_code='PRINTBILAN' ; - update menu_ref set me_description_etendue='Configuration des entrepots de dépôts' where me_code='CFGSTOCK' ; - update menu_ref set me_description_etendue='Permet d''ajouter de nouvelles catégorie de fiche, d''ajouter des attributs à ces catégories (numéro de téléphone, gsm, email...)' where me_code='STOCK' ; - update menu_ref set me_description_etendue='Permet de changer le poste comptable de base des catégories de fiches' where me_code='CFGCARDCAT' ; - update menu_ref set me_description_etendue='Permet d''ajouter de nouvelles catégorie de fiche, d''ajouter des attributs à ces catégories (numéro de téléphone, gsm, email...)' where me_code='CFGCARD' ; - update menu_ref set me_description_etendue='Permet d''ajouter des état pour les documents utilisés dans le suivi (à faire, à suivre...)' where me_code='CFGDOCST' ; - update menu_ref set me_description_etendue='Regroupement pour les menus d''opérations diverses (nouvelle opération, historique...)' where me_code='MENUODS' ; - update menu_ref set me_description_etendue='Impression des journaux avec les détails pour les parties privés, la TVA et ce qui est non déductibles en ce qui concerne les journaux de vente et d''achat' where me_code='PRINTJRN' ; - update menu_ref set me_description_etendue='Regroupement des menus ventes et recettes' where me_code='VENMENU' ; - update menu_ref set me_description_etendue='Impression compta. analytique' where me_code='ANCIMP' ; - update menu_ref set me_description_etendue='Module comptabilité analytique' where me_code='ANC' ; - update menu_ref set me_description_etendue='Tableau de suivi, vous permet de voir en un coup d''oeil vos dernières opérations, un petit calendrier, une liste de chose à faire...' where me_code='DASHBOARD' ; - update menu_ref set me_description_etendue='Menu regroupant la création de rapport, la vérification de la comptabilité...' where me_code='ADV' ; - update menu_ref set me_description_etendue='Ce menu vous présente un menu rapide de vos menus préférés' where me_code='BOOKMARK' ; - update menu_ref set me_description_etendue='Regroupement pour les menus de trésorerie (nouvelle opération, historique...)' where me_code='MENUFIN' ; - update menu_ref set me_description_etendue='Liste de vos suivis, en fait de tous les documents, réunions ... dont vous avez besoin afin de suivre vos clients, fournisseurs ou administrations. Il permet la génération de documents comme les devis, les bordereau de livraison...' where me_code='FOLLOW' ; - update menu_ref set me_description_etendue='Configuration des moyens de paiements que vous voulez utiliser dans les journaux de type VEN ou ACH, les moyens de paiement permettent de générer l''opération de trésorerie en même temps que l''achat, la note de frais ou la vente' where me_code='CFGPAY' ; - update menu_ref set me_description_etendue='Suivi des administrations : courrrier, déclarations.' where me_code='ADM' ; - update menu_ref set me_description_etendue='Prévision de vos achats, revenus, permet de suivre l''évolution de votre société. Vos prévisions sont des formules sur les postes comptables et vous permettent aussi vos marges brutes.' where me_code='FORECAST' ; - -CREATE OR REPLACE VIEW v_detail_sale AS -with m as - (select sum(qs_price) as htva, sum(qs_vat) as tot_vat,jr_id from quant_sold join jrnx using (j_id) join jrn on (j_grpt=jr_grpt_id) group by jr_id) - SELECT jrn.jr_id, - jrn.jr_date, - jrn.jr_tech_per, - jrn.jr_comment, - jrn.jr_pj_number, - jrn.jr_internal, - jrn.jr_def_id, - jrnx.j_poste, - jrnx.j_text, - jrnx.j_qcode, - quant_sold.qs_fiche as item_card, - a.name AS item_name, - quant_sold.qs_client, - b.vw_name AS tiers_name, - b.quick_code, - tva_rate.tva_label, - tva_rate.tva_comment, - tva_rate.tva_both_side, - quant_sold.qs_vat_sided as vat_sided, - quant_sold.qs_vat_code as vat_code, - quant_sold.qs_vat as vat, - quant_sold.qs_price as price, - quant_sold.qs_quantite as quantity, - quant_sold.qs_price / quant_sold.qs_quantite AS price_per_unit - , htva - ,tot_vat - FROM jrn - JOIN jrnx ON jrn.jr_grpt_id = jrnx.j_grpt - JOIN quant_sold USING (j_id) - JOIN vw_fiche_name a ON quant_sold.qs_fiche = a.f_id - JOIN vw_fiche_attr b ON quant_sold.qs_client = b.f_id - JOIN tva_rate ON quant_sold.qs_vat_code = tva_rate.tva_id - join m on (m.jr_id=jrn.jr_id) - ; - -CREATE OR REPLACE VIEW v_detail_purchase AS - WITH m AS ( - SELECT sum(quant_purchase.qp_price) AS htva, sum(quant_purchase.qp_vat) AS tot_vat, jrn.jr_id - FROM quant_purchase - JOIN jrnx USING (j_id) - JOIN jrn ON jrnx.j_grpt = jrn.jr_grpt_id - GROUP BY jrn.jr_id - ) - SELECT jrn.jr_id, - jrn.jr_date - , jrn.jr_tech_per - , jrn.jr_comment - , jrn.jr_pj_number - , jrn.jr_internal - , jrn.jr_def_id - , jrnx.j_poste - , jrnx.j_text - , jrnx.j_qcode - , quant_purchase.qp_fiche AS item_card - , a.name AS item_name - , quant_purchase.qp_supplier - , b.vw_name AS tiers_name - , b.quick_code - , tva_rate.tva_label - , tva_rate.tva_comment - , tva_rate.tva_both_side - , quant_purchase.qp_vat_sided AS vat_sided - , quant_purchase.qp_vat_code AS vat_code - , quant_purchase.qp_vat AS vat - , quant_purchase.qp_price AS price - , quant_purchase.qp_quantite AS quantity - , quant_purchase.qp_price / quant_purchase.qp_quantite AS price_per_unit - , quant_purchase.qp_nd_amount AS non_ded_amount - , quant_purchase.qp_nd_tva AS non_ded_tva - , quant_purchase.qp_nd_tva_recup AS non_ded_tva_recup - , m.htva, m.tot_vat - FROM jrn - JOIN jrnx ON jrn.jr_grpt_id = jrnx.j_grpt - JOIN quant_purchase USING (j_id) - JOIN vw_fiche_name a ON quant_purchase.qp_fiche = a.f_id - JOIN vw_fiche_attr b ON quant_purchase.qp_supplier = b.f_id - JOIN tva_rate ON quant_purchase.qp_vat_code = tva_rate.tva_id - JOIN m ON m.jr_id = jrn.jr_id; - - create or replace view v_quant_detail as -with quant as - (select - j_id, - qp_fiche as fiche_id, - qp_supplier as tiers, - qp_vat as vat_amount, - qp_price as price, - qp_vat_code as vat_code, - qp_dep_priv as dep_priv, - qp_nd_tva as nd_tva, - qp_nd_tva_recup as nd_tva_recup, - qp_nd_amount as nd_amount, - qp_vat_sided as vat_sided - from quant_purchase - union all - select - j_id, - qs_fiche, - qs_client, - qs_vat, - qs_price, - qs_vat_code, - 0, - 0, - 0, - 0, - qs_vat_sided - from - quant_sold -) -select - jr_id,quant.tiers,jrn_def_name,jrn_def_type,name,jr_comment,jr_montant,sum(price) as price,vat_code,sum(vat_amount) as vat_amount,sum(dep_priv) as dep_priv,sum(nd_tva) as nd_tva,sum(nd_tva_recup) as nd_tva_recup,sum(nd_amount) as nd_amount,vat_sided,tva_label -from -jrn -join jrnx on (jrnx.j_grpt=jrn.jr_grpt_id) -join quant using (j_id) -left join vw_fiche_name on (tiers=vw_fiche_name.f_id) -join jrn_def on (jrn_def_id=jr_def_id) -join tva_rate on (tva_id=vat_code) -group by -jr_id,quant.tiers,jr_comment,jr_montant,vat_code,vat_sided,name,jrn_def_name,jrn_def_type,tva_label; - - -insert into menu_ref(me_code,me_menu,me_file, me_url,me_description,me_parameter,me_javascript,me_type,me_description_etendue) -values -('CSV:Reconciliation','Export opérations rapprochées','export_rec_csv.php',null,'Export opérations rapprochées en CSV',null,null,'PR',''); - -insert into profile_menu (me_code,me_code_dep,p_id,p_order, p_type_display,pm_default) -values -('CSV:Reconciliation',null,1,0,'P',0), ('CSV:Reconciliation',null,2,null,'P',0); - -alter table stock_change alter tech_date type time; - -alter table jrn add column jr_date_paid date; - -create or replace function set_paiement_date() returns void - as - $body$ - declare - row_jrn jrn%ROWTYPE; - cursor_jrn cursor for select * from jrn where substr(jr_internal,1,1) in ('A','V') and jr_date_paid is null; - n_rec jrn_rapt.jr_id%TYPE; - nCount integer; - jrn_date jrn.jr_date%TYPE; - begin - for row_jrn in cursor_jrn - loop - select count(*) into nCount from jrn_rapt where jr_id=row_jrn.jr_id or jra_concerned=row_jrn.jr_id; - if nCount = 1 then - select jr_id into n_rec from jrn_rapt where jra_concerned=row_jrn.jr_id; - if NOT FOUND then - select jra_concerned into n_rec from jrn_rapt where jr_id=row_jrn.jr_id; - end if; - select jr_date into jrn_date from jrn where jr_id=n_rec; - update jrn set jr_date_paid = jrn_date where current of cursor_jrn; - end if; - - end loop; - -end; -$body$ -language plpgsql; - -select set_paiement_date(); - -drop function set_paiement_date(); - -update version set val=109; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade109.sql b/sources/html/admin/sql/patch/upgrade109.sql deleted file mode 100644 index e11b927..0000000 --- a/sources/html/admin/sql/patch/upgrade109.sql +++ /dev/null @@ -1,32 +0,0 @@ -begin; - -alter table jrn_def add jrn_def_description text; - -CREATE OR REPLACE FUNCTION comptaproc.t_jrn_def_description() - RETURNS trigger -AS $function$ - declare - str varchar(200); - BEGIN - str := substr(NEW.jrn_def_description,1,200); - NEW.jrn_def_description := str; - - RETURN NEW; - END; -$function$ - LANGUAGE plpgsql -; -create trigger jrn_def_description_ins_upd before insert or update on jrn_def for each row execute procedure comptaproc.t_jrn_def_description(); - -update jrn_def set jrn_def_description='Concerne tous les achats, factures reçues, notes de crédit reçues et notes de frais' where jrn_def_id=3; -update jrn_def set jrn_def_description='Concerne tous les mouvements financiers (comptes en banque, caisses, visa...)' where jrn_def_id=1; -update jrn_def set jrn_def_description='Concerne toutes les opérations comme les amortissements, les comptes TVA, ...' where jrn_def_id=4; -update jrn_def set jrn_def_description='Concerne toutes les ventes, notes de crédit envoyées' where jrn_def_id=2; - -alter table document add d_description text; - -update document set d_description = d_filename; - -update version set val=110; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade11.sql b/sources/html/admin/sql/patch/upgrade11.sql deleted file mode 100644 index ce2e89b..0000000 --- a/sources/html/admin/sql/patch/upgrade11.sql +++ /dev/null @@ -1,126 +0,0 @@ -begin; - -create table parm_code ( - p_code text primary key, - p_value text, - p_comment text -); - -INSERT INTO parm_code VALUES ('DNA', '6740', 'Dépense non déductible'); -INSERT INTO parm_code VALUES ('CUSTOMER', '400', 'Poste comptable de base pour les clients'); -INSERT INTO parm_code VALUES ('COMPTE_TVA', '451', 'TVA à payer'); -INSERT INTO parm_code VALUES ('BANQUE', '550', 'Poste comptable de base pour les banques'); -INSERT INTO parm_code VALUES ('VIREMENT_INTERNE', '58', 'Poste Comptable pour les virements internes'); -INSERT INTO parm_code VALUES ('COMPTE_COURANT', '56', 'Poste comptable pour le compte courant'); -INSERT INTO parm_code VALUES ('CAISSE', '57', 'Poste comptable pour la caisse'); -INSERT INTO parm_code VALUES ('TVA_DNA', '6740', 'Tva non déductible s'); -INSERT INTO parm_code VALUES ('TVA_DED_IMPOT', '619000', 'Tva déductible par l''impôt'); -INSERT INTO parm_code VALUES ('VENTE ', '70', 'Poste comptable de base pour les ventes'); - --- Function: tva_delete(p_tva_id int4) - -CREATE OR REPLACE FUNCTION tva_delete(int4) - RETURNS void AS -$BODY$ -declare - p_tva_id alias for $1; - nCount integer; -begin - nCount=0; - select count(*) into nCount from quant_sold where qs_vat_code=p_tva_id; - if nCount = 0 then - delete from tva_rate where tva_id=p_tva_id; - end if; - return; -end; -$BODY$ -LANGUAGE plpgsql VOLATILE; - --- Function: tva_insert(int4, text, numeric, text, text) - -CREATE OR REPLACE FUNCTION tva_insert(int4, text, "numeric", text, text) - RETURNS int4 AS -$BODY$ -declare -p_tva_id alias for $1; -p_tva_label alias for $2; -p_tva_rate alias for $3; -p_tva_comment alias for $4; -p_tva_poste alias for $5; -debit text; -credit text; -nCount integer; -begin --- verify that label is not null -if length(trim(p_tva_label)) = 0 then - return 3; -end if; -select count(*) into nCount from tva_rate - where tva_id=p_tva_id; -if nCount != 0 then - return 5; -end if; --- check is poste exists -if length(trim(p_tva_poste)) != 0 then --- check if it is a comma list - if position (',' in p_tva_poste) = 0 then return 4; end if; --- separate "credit" and "debit" - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); --- check if those account exist - select count(*) into nCount from tmp_pcmn where pcm_val=debit; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit; - if nCount = 0 then return 4; end if; - -end if; -insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste) - values (p_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste); -return 0; -end; -$BODY$ -LANGUAGE plpgsql VOLATILE; - --- Function: tva_insert(p_tva_id text, p_tva_label text, p_tva_rate text, p_tva_comment text, p_tva_poste text) - -CREATE OR REPLACE FUNCTION tva_modify(integer, text, numeric, text, text) - RETURNS int4 AS -$BODY$declare -p_tva_id alias for $1; -p_tva_label alias for $2; -p_tva_rate alias for $3; -p_tva_comment alias for $4; -p_tva_poste alias for $5; -debit text; -credit text; -nCount integer; -begin --- verify that label is not null -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - --- check is poste exists -if length(trim(p_tva_poste)) != 0 then --- check if it is a comma list - if position (',' in p_tva_poste) = 0 then return 4; end if; --- separate "credit" and "debit" - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); --- check if those account exist - select count(*) into nCount from tmp_pcmn where pcm_val=debit; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit; - if nCount = 0 then return 4; end if; - -end if; -update tva_rate set tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste - where tva_id=p_tva_id; -return 0; -end; -$BODY$ -LANGUAGE plpgsql VOLATILE; - - -update version set val=12; -commit; diff --git a/sources/html/admin/sql/patch/upgrade110.sql b/sources/html/admin/sql/patch/upgrade110.sql deleted file mode 100644 index 251671d..0000000 --- a/sources/html/admin/sql/patch/upgrade110.sql +++ /dev/null @@ -1,26 +0,0 @@ -begin; -create or replace view v_menu_description_favori as - WITH t_menu AS ( - SELECT mr.me_menu, pm.me_code, pm.me_code_dep, pm.p_type_display, pu.user_name, mr.me_file, mr.me_javascript, mr.me_description, mr.me_description_etendue - FROM profile_menu pm - JOIN profile_user pu ON pu.p_id = pm.p_id - JOIN profile p ON p.p_id = pm.p_id - JOIN menu_ref mr USING (me_code) - ) - SELECT DISTINCT (COALESCE(v3.me_code || '/'::text, ''::text) || COALESCE(v2.me_code, ''::text)) || - CASE - WHEN v2.me_code IS NULL THEN COALESCE(v1.me_code, ''::text) - WHEN v2.me_code IS NOT NULL THEN COALESCE('/'::text || v1.me_code, ''::text) - ELSE NULL::text - END AS code, v1.me_code, v1.me_description, v1.me_description_etendue, v1.me_file, v1.user_name, '> '::text || v1.me_menu AS v1menu, - CASE - WHEN COALESCE(v3.me_menu, ''::text) <> ''::text THEN ' > '::text || v2.me_menu - ELSE v2.me_menu - END AS v2menu, v3.me_menu AS v3menu, v3.p_type_display, COALESCE(v1.me_javascript, COALESCE(v2.me_javascript, v3.me_javascript)) AS javascript - FROM t_menu v1 - LEFT JOIN t_menu v2 ON v1.me_code_dep = v2.me_code - LEFT JOIN t_menu v3 ON v2.me_code_dep = v3.me_code - WHERE v1.p_type_display <> 'P'::text; -update version set val=111; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade111.sql b/sources/html/admin/sql/patch/upgrade111.sql deleted file mode 100644 index f7614e8..0000000 --- a/sources/html/admin/sql/patch/upgrade111.sql +++ /dev/null @@ -1,38 +0,0 @@ -begin; - -insert into menu_ref(me_code,me_menu,me_file, me_url,me_description,me_parameter,me_javascript,me_type,me_description_etendue) -values -('MANAGER','Administrateur','manager.inc.php',null,'Suivi des gérants, administrateurs et salariés',null,null,'ME','Suivi de vos salariés, managers ainsi que des administrateurs, pour les documents et les opérations comptables'); - -insert into profile_menu (me_code,me_code_dep,p_id,p_order, p_type_display,pm_default) -values -('MANAGER','GESTION',1,25,'E',0), ('MANAGER','GESTION',2,25,'E',0); - -insert into menu_ref(me_code,me_menu,me_file, me_url,me_description,me_parameter,me_javascript,me_type,me_description_etendue) -values -('CFGDEFMENU','Menu par défaut','default_menu.inc.php',null,'Configuration des menus par défaut',null,null,'ME','Configuration des menus par défaut, ces menus sont appelés par des actions dans d''autres menus'); - -insert into profile_menu (me_code,me_code_dep,p_id,p_order, p_type_display,pm_default) -values -('CFGDEFMENU','MOD',1,30,'E',0); - -insert into menu_ref(me_code,me_menu,me_file, me_url,me_description,me_parameter,me_javascript,me_type,me_description_etendue) -values -('AGENDA','Agenda','calendar.inc.php',null,'Agenda',null,null,'ME','Agenda, présentation du suivi sous forme d''agenda '); - -insert into profile_menu (me_code,me_code_dep,p_id,p_order, p_type_display,pm_default) -values -('AGENDA','NULL',1,410,'M',0),('AGENDA','NULL',2,410,'M',0); - -create table menu_default -( - md_id serial primary key, - md_code text not null unique , - me_code text not null -); -insert into menu_default (md_code,me_code) values ('code_invoice','COMPTA/VENMENU/VEN'),('code_follow','GESTION/FOLLOW'); -update menu_ref set me_file='customer.inc.php' where me_code ='CUST'; - -update version set val=112; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade112.sql b/sources/html/admin/sql/patch/upgrade112.sql deleted file mode 100644 index 786ee72..0000000 --- a/sources/html/admin/sql/patch/upgrade112.sql +++ /dev/null @@ -1,15 +0,0 @@ -begin; - -ALTER TABLE operation_analytique ADD COLUMN oa_jrnx_id_source bigint; -COMMENT ON COLUMN operation_analytique.oa_jrnx_id_source IS 'jrnx.j_id source of this amount, this amount is computed from an amount giving a ND VAT.Normally NULL is there is no ND VAT.'; - -ALTER TABLE operation_analytique ADD COLUMN oa_signed character(1); -ALTER TABLE operation_analytique ALTER COLUMN oa_signed SET DEFAULT 'Y'::bpchar; -update operation_analytique set oa_signed='Y'; -ALTER TABLE operation_analytique ALTER COLUMN oa_signed SET NOT NULL; - -COMMENT ON COLUMN operation_analytique.oa_signed IS 'Sign of the amount'; - -update version set val=113; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade113.sql b/sources/html/admin/sql/patch/upgrade113.sql deleted file mode 100644 index 39e445f..0000000 --- a/sources/html/admin/sql/patch/upgrade113.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -alter table operation_analytique rename oa_signed to oa_positive; - -update version set val=114; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade114.sql b/sources/html/admin/sql/patch/upgrade114.sql deleted file mode 100644 index e17e03a..0000000 --- a/sources/html/admin/sql/patch/upgrade114.sql +++ /dev/null @@ -1,51 +0,0 @@ -begin; - -DROP VIEW v_detail_purchase; - -CREATE OR REPLACE VIEW v_detail_purchase AS - WITH m AS ( - SELECT sum(quant_purchase.qp_price) AS htva, sum(quant_purchase.qp_vat) AS tot_vat, jrn.jr_id - FROM quant_purchase - JOIN jrnx USING (j_id) - JOIN jrn ON jrnx.j_grpt = jrn.jr_grpt_id - GROUP BY jrn.jr_id - ) - SELECT jrn.jr_id, jrn.jr_date, jrn.jr_date_paid,jr_ech, - jrn.jr_tech_per, jrn.jr_comment, - jrn.jr_pj_number, jrn.jr_internal, - jrn.jr_def_id, jrnx.j_poste, - jrnx.j_text, jrnx.j_qcode, - quant_purchase.qp_fiche AS item_card, a.name AS item_name, - quant_purchase.qp_supplier, b.vw_name AS tiers_name, - b.quick_code, tva_rate.tva_label, - tva_rate.tva_comment, tva_rate.tva_both_side, quant_purchase.qp_vat_sided AS vat_sided, quant_purchase.qp_vat_code AS vat_code, quant_purchase.qp_vat AS vat, quant_purchase.qp_price AS price, quant_purchase.qp_quantite AS quantity, quant_purchase.qp_price / quant_purchase.qp_quantite AS price_per_unit, quant_purchase.qp_nd_amount AS non_ded_amount, quant_purchase.qp_nd_tva AS non_ded_tva, quant_purchase.qp_nd_tva_recup AS non_ded_tva_recup, m.htva, m.tot_vat - FROM jrn - JOIN jrnx ON jrn.jr_grpt_id = jrnx.j_grpt - JOIN quant_purchase USING (j_id) - JOIN vw_fiche_name a ON quant_purchase.qp_fiche = a.f_id - JOIN vw_fiche_attr b ON quant_purchase.qp_supplier = b.f_id - JOIN tva_rate ON quant_purchase.qp_vat_code = tva_rate.tva_id - JOIN m ON m.jr_id = jrn.jr_id; - -DROP VIEW v_detail_sale; - -CREATE OR REPLACE VIEW v_detail_sale AS - WITH m AS ( - SELECT sum(quant_sold.qs_price) AS htva, sum(quant_sold.qs_vat) AS tot_vat, jrn.jr_id - FROM quant_sold - JOIN jrnx USING (j_id) - JOIN jrn ON jrnx.j_grpt = jrn.jr_grpt_id - GROUP BY jrn.jr_id - ) - SELECT jrn.jr_id, jrn.jr_date, jrn.jr_date_paid,jr_ech,jrn.jr_tech_per, jrn.jr_comment, jrn.jr_pj_number, jrn.jr_internal, jrn.jr_def_id, jrnx.j_poste, jrnx.j_text, jrnx.j_qcode, quant_sold.qs_fiche AS item_card, a.name AS item_name, quant_sold.qs_client, b.vw_name AS tiers_name, b.quick_code, tva_rate.tva_label, tva_rate.tva_comment, tva_rate.tva_both_side, quant_sold.qs_vat_sided AS vat_sided, quant_sold.qs_vat_code AS vat_code, quant_sold.qs_vat AS vat, quant_sold.qs_price AS price, quant_sold.qs_quantite AS quantity, quant_sold.qs_price / quant_sold.qs_quantite AS price_per_unit, m.htva, m.tot_vat - FROM jrn - JOIN jrnx ON jrn.jr_grpt_id = jrnx.j_grpt - JOIN quant_sold USING (j_id) - JOIN vw_fiche_name a ON quant_sold.qs_fiche = a.f_id - JOIN vw_fiche_attr b ON quant_sold.qs_client = b.f_id - JOIN tva_rate ON quant_sold.qs_vat_code = tva_rate.tva_id - join m on m.jr_id=jrn.jr_id; - -update version set val=115; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade115.sql b/sources/html/admin/sql/patch/upgrade115.sql deleted file mode 100644 index f458f13..0000000 --- a/sources/html/admin/sql/patch/upgrade115.sql +++ /dev/null @@ -1,9 +0,0 @@ -begin; - -INSERT INTO menu_ref(me_code, me_menu, me_file, me_type)VALUES ('PDF:AncReceipt', 'Export pièce PDF', 'export_anc_receipt_pdf.php','PR'); - -insert into profile_menu(me_code,p_id,p_type_display,pm_default) values ('PDF:AncReceipt',1,'P',0); - -update version set val=116; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade116.sql b/sources/html/admin/sql/patch/upgrade116.sql deleted file mode 100644 index 4d3f98c..0000000 --- a/sources/html/admin/sql/patch/upgrade116.sql +++ /dev/null @@ -1,225 +0,0 @@ -begin; - -insert into fiche_def_ref(frd_id,frd_text) values (26,'Projet'); -insert into attr_min (frd_id,ad_id) values (26,1),(26,9); -CREATE OR REPLACE FUNCTION public.upgrade_repo(p_version integer) - RETURNS void -AS $function$ -declare - is_mono integer; -begin - select count (*) into is_mono from information_schema.tables where table_name='repo_version'; - if is_mono = 1 then - update repo_version set val=p_version; - else - update version set val=p_version; - end if; -end; -$function$ - language plpgsql; - --- bug -alter table action_gestion alter ag_title type text; - -INSERT INTO menu_ref(me_code, me_menu, me_file, me_type,me_description_etendue)VALUES ('ANCKEY', 'Clef de répartition', 'anc_key.inc.php','ME','Permet de gèrer les clefs de répartition en comptabilité analytique'); - -insert into profile_menu(me_code,p_id,p_type_display,pm_default,me_code_dep,p_order) values ('ANCKEY',1,'E',0,'ANC',15); -insert into profile_menu(me_code,p_id,p_type_display,pm_default,me_code_dep,p_order) values ('ANCKEY',2,'E',0,'ANC',15); - -INSERT INTO menu_ref(me_code, me_menu, me_file, me_type,me_description_etendue)VALUES ('CFGPLUGIN', 'Configuration extension', 'cfgplugin.inc.php','ME','Permet d''installer et d''activer facilement des extensions'); - -insert into profile_menu(me_code,p_id,p_type_display,pm_default,me_code_dep,p_order) values ('CFGPLUGIN',1,'E',0,'PARAM',15); -insert into profile_menu(me_code,p_id,p_type_display,pm_default,me_code_dep,p_order) values ('CFGPLUGIN',2,'E',0,'PARAM',15); - -create table key_distribution ( - kd_id serial primary key, - kd_name text, - kd_description text); - -create table key_distribution_ledger ( - kl_id serial primary key, - kd_id bigint not null references key_distribution(kd_id) on update cascade on delete cascade, - jrn_def_id bigint not null references jrn_def(jrn_def_id) on update cascade on delete cascade - ); - -create table key_distribution_detail( - ke_id serial primary key, - kd_id bigint not null references key_distribution(kd_id) on update cascade on delete cascade, - ke_row integer not null, - ke_percent numeric(20,4) not null - - ); - -create table key_distribution_activity -( - ka_id serial primary key, - ke_id bigint not null references key_distribution_detail(ke_id) on update cascade on delete cascade, - po_id bigint references poste_analytique(po_id) on update cascade on delete cascade, - pa_id bigint not null references plan_analytique(pa_id) on update cascade on delete cascade -); - -comment on table key_distribution is 'Distribution key for analytic'; -comment on table key_distribution_activity is 'activity (account) linked to the row'; -comment on column key_distribution.kd_id is 'PK'; -comment on column key_distribution.kd_name is 'Name of the key'; -comment on column key_distribution.kd_description is 'Description of the key'; - -comment on table key_distribution_ledger is 'Legder where the distribution key can be used' ; -comment on column key_distribution_ledger.kl_id is 'pk'; -comment on column key_distribution_ledger.kd_id is 'fk to key_distribution'; -comment on column key_distribution_ledger.jrn_def_id is 'fk to jrnd_def, ledger where this key is available'; - - -comment on table key_distribution_detail is 'Row of activity and percent'; -comment on column key_distribution_detail.ke_id is 'pk'; -comment on column key_distribution_detail.kd_id is 'fk to key_distribution'; -comment on column key_distribution_detail.ke_row is 'group order'; - -comment on table key_distribution_activity is 'Contains the analytic account'; -comment on column key_distribution_activity.ka_id is 'pk'; -comment on column key_distribution_activity.ke_id is 'fk to key_distribution_detail'; -comment on column key_distribution_activity.po_id is 'fk to poste_analytique'; -comment on column key_distribution_activity.pa_id is 'fk to plan_analytique'; - -drop view vw_fiche_attr cascade; - -CREATE view vw_fiche_attr as -SELECT a.f_id, a.fd_id, a.ad_value AS vw_name, k.ad_value AS vw_first_name, b.ad_value AS vw_sell, c.ad_value AS vw_buy, d.ad_value AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.ad_value AS vw_addr, f.ad_value AS vw_cp, j.ad_value AS quick_code, h.ad_value AS vw_description, i.ad_value AS tva_num, fiche_def.frd_id,l.ad_value as accounting - FROM ( SELECT fiche.f_id, fiche.fd_id, fiche_detail.ad_value - FROM fiche - LEFT JOIN fiche_detail USING (f_id) - WHERE fiche_detail.ad_id = 1) a - LEFT JOIN ( SELECT fiche_detail.f_id, fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 6) b ON a.f_id = b.f_id - LEFT JOIN ( SELECT fiche_detail.f_id, fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 7) c ON a.f_id = c.f_id - LEFT JOIN ( SELECT fiche_detail.f_id, fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 2) d ON a.f_id = d.f_id - LEFT JOIN ( SELECT fiche_detail.f_id, fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 14) e ON a.f_id = e.f_id - LEFT JOIN ( SELECT fiche_detail.f_id, fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 15) f ON a.f_id = f.f_id - LEFT JOIN ( SELECT fiche_detail.f_id, fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 23) j ON a.f_id = j.f_id - LEFT JOIN ( SELECT fiche_detail.f_id, fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 9) h ON a.f_id = h.f_id - LEFT JOIN ( SELECT fiche_detail.f_id, fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 13) i ON a.f_id = i.f_id - LEFT JOIN ( SELECT fiche_detail.f_id, fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 32) k ON a.f_id = k.f_id - LEFT JOIN tva_rate ON d.ad_value = tva_rate.tva_id::text - JOIN fiche_def USING (fd_id) -LEFT JOIN ( SELECT fiche_detail.f_id, fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 5) l ON a.f_id = l.f_id; - - -create view v_detail_sale as -WITH m AS ( - SELECT sum(quant_sold.qs_price) AS htva, sum(quant_sold.qs_vat) AS tot_vat,sum(quant_sold.qs_vat_sided) as tot_tva_np, jrn.jr_id - FROM quant_sold - JOIN jrnx USING (j_id) - JOIN jrn ON jrnx.j_grpt = jrn.jr_grpt_id - GROUP BY jrn.jr_id - ) -SELECT jrn.jr_id, jrn.jr_date, jrn.jr_date_paid, jrn.jr_ech, jrn.jr_tech_per, jrn.jr_comment, jrn.jr_pj_number, jrn.jr_internal, jrn.jr_def_id, jrnx.j_poste, jrnx.j_text, jrnx.j_qcode, quant_sold.qs_fiche AS item_card, a.name AS item_name, quant_sold.qs_client, b.vw_name AS tiers_name, b.quick_code, tva_rate.tva_label, tva_rate.tva_comment, tva_rate.tva_both_side, quant_sold.qs_vat_sided AS vat_sided, quant_sold.qs_vat_code AS vat_code, quant_sold.qs_vat AS vat, quant_sold.qs_price AS price, quant_sold.qs_quantite AS quantity, quant_sold.qs_price / quant_sold.qs_quantite AS price_per_unit, m.htva, m.tot_vat,m.tot_tva_np - FROM jrn - JOIN jrnx ON jrn.jr_grpt_id = jrnx.j_grpt - JOIN quant_sold USING (j_id) - JOIN vw_fiche_name a ON quant_sold.qs_fiche = a.f_id - JOIN vw_fiche_attr b ON quant_sold.qs_client = b.f_id - JOIN tva_rate ON quant_sold.qs_vat_code = tva_rate.tva_id - JOIN m ON m.jr_id = jrn.jr_id; - - -create view v_detail_purchase as - WITH m AS ( - SELECT sum(quant_purchase.qp_price) AS htva, sum(quant_purchase.qp_vat) AS tot_vat, sum(quant_purchase.qp_vat_sided) as tot_tva_np, jrn.jr_id - FROM quant_purchase - JOIN jrnx USING (j_id) - JOIN jrn ON jrnx.j_grpt = jrn.jr_grpt_id - GROUP BY jrn.jr_id - ) - SELECT jrn.jr_id, jrn.jr_date, jrn.jr_date_paid, jrn.jr_ech, jrn.jr_tech_per, jrn.jr_comment, jrn.jr_pj_number, jrn.jr_internal, jrn.jr_def_id, jrnx.j_poste, jrnx.j_text, jrnx.j_qcode, quant_purchase.qp_fiche AS item_card, a.name AS item_name, -quant_purchase.qp_supplier, b.vw_name AS tiers_name, b.quick_code, tva_rate.tva_label, -tva_rate.tva_comment, tva_rate.tva_both_side, -quant_purchase.qp_vat_sided AS vat_sided, -quant_purchase.qp_vat_code AS vat_code, -quant_purchase.qp_vat AS vat, -quant_purchase.qp_price AS price, -quant_purchase.qp_quantite AS quantity, -quant_purchase.qp_price / quant_purchase.qp_quantite AS price_per_unit, -quant_purchase.qp_nd_amount AS non_ded_amount, - quant_purchase.qp_nd_tva AS non_ded_tva, -quant_purchase.qp_nd_tva_recup AS non_ded_tva_recup, - m.htva, m.tot_vat -,m.tot_tva_np - FROM jrn - JOIN jrnx ON jrn.jr_grpt_id = jrnx.j_grpt - JOIN quant_purchase USING (j_id) - JOIN vw_fiche_name a ON quant_purchase.qp_fiche = a.f_id - JOIN vw_fiche_attr b ON quant_purchase.qp_supplier = b.f_id - JOIN tva_rate ON quant_purchase.qp_vat_code = tva_rate.tva_id - JOIN m ON m.jr_id = jrn.jr_id; - -create index jrnx_j_qcode_ix on jrnx (j_qcode); - -CREATE TABLE action_person -( - ap_id SERIAL NOT NULL, - ag_id int4 NOT NULL references action_gestion(ag_id) on update cascade on delete cascade, - f_id int4 not null references fiche(f_id) on update cascade on delete cascade, - PRIMARY KEY (ap_id)); - -COMMENT ON TABLE action_person IS 'Person involved in the action'; -comment on column action_person.ap_id is 'pk'; -comment on column action_person.ag_id is 'fk to action_action'; -comment on column action_person.ag_id is 'fk to fiche'; - -ALTER TABLE action_person ADD CONSTRAINT action_gestion_ag_id_fk2 FOREIGN KEY (ag_id) REFERENCES action_gestion (ag_id); -ALTER TABLE action_person ADD CONSTRAINT fiche_f_id_fk2 FOREIGN KEY (f_id) REFERENCES fiche(f_id); - -alter table action_gestion alter f_id_dest drop not null; -update action_gestion set f_id_dest = null where f_id_dest = 0; -update action_gestion set f_id_dest =null where f_id_dest not in (select f_id from fiche); - -ALTER TABLE action_gestion ADD CONSTRAINT fiche_f_id_fk3 FOREIGN KEY (f_id_dest) REFERENCES fiche(f_id); -create index fk_action_person_action_gestion on action_person (ag_id); -create index fk_action_person_fiche on action_person (f_id); - - -CREATE OR REPLACE FUNCTION comptaproc.category_card_before_delete() - RETURNS trigger AS -$BODY$ - -begin - if OLD.fd_id > 499000 then - return null; - end if; - return OLD; - -end; -$BODY$ -language plpgsql; - -CREATE TRIGGER trg_category_card_before_delete - BEFORE delete - ON fiche_def - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.category_card_before_delete(); - -alter table action_gestion add constraint fk_action_gestion_document_type foreign key (ag_type) references document_type(dt_id); - - -update version set val=117; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade117.sql b/sources/html/admin/sql/patch/upgrade117.sql deleted file mode 100644 index dc43576..0000000 --- a/sources/html/admin/sql/patch/upgrade117.sql +++ /dev/null @@ -1,184 +0,0 @@ -begin; - -ALTER TABLE action ALTER COLUMN ac_code TYPE character varying(30); - -INSERT INTO action(ac_id, ac_description, ac_module, ac_code) - VALUES (1110, 'Enlever une pièce justificative', 'compta', 'RMRECEIPT'); -INSERT INTO action(ac_id, ac_description, ac_module, ac_code) - VALUES (1120, 'Effacer une opération ', 'compta', 'RMOPER'); -INSERT INTO action(ac_id, ac_description, ac_module, ac_code) - VALUES (1210, 'Partager une note', 'note', 'SHARENOTE'); -INSERT INTO action(ac_id, ac_description, ac_module, ac_code) - VALUES (1220, 'Créer une note publique', 'note', 'SHARENOTEPUBLIC'); -INSERT INTO action(ac_id, ac_description, ac_module, ac_code) - VALUES (1230, 'Effacer une note publique', 'note', 'SHARENOTEREMOVE'); - - -CREATE TABLE todo_list_shared (id serial primary key, todo_list_id int4 NOT NULL, use_login text NOT NULL, CONSTRAINT unique_todo_list_id_login - UNIQUE (todo_list_id, use_login)); - -ALTER TABLE todo_list_shared ADD CONSTRAINT fk_todo_list_shared_todo_list FOREIGN KEY (todo_list_id) REFERENCES todo_list (tl_id); - -comment on table todo_list_shared is 'Note of todo list shared with other users'; -comment on column todo_list_shared.todo_list_id is 'fk to todo_list'; -comment on column todo_list_shared.use_login is 'user login'; - -alter table todo_list add is_public char(1) default 'N'; -comment on column todo_list.is_public is 'Flag for the public parameter'; -ALTER TABLE todo_list ALTER COLUMN is_public SET NOT NULL; - -ALTER TABLE todo_list ADD CONSTRAINT ck_is_public CHECK (is_public in ('Y','N')); - -update menu_ref set me_menu = 'Favori ★ ' where me_code='BOOKMARK'; -update menu_ref set me_menu = 'Sortie ⎆' where me_code='LOGOUT'; - -insert into menu_ref(me_code,me_menu,me_file, me_url,me_description,me_parameter,me_javascript,me_type,me_description_etendue) -values -('BALAGE','Balance agée','balance_age.inc.php',null,'Balance agée',null,null,'ME','Balance agée pour les clients et fournisseurs') , -('CSV:balance_age','Export Balance agée','export_balance_age_csv.php',null,'Balance agée',null,null,'PR','Balance agée pour les clients et fournisseurs') ; - - -insert into profile_menu (me_code,me_code_dep,p_id,p_order, p_type_display,pm_default) -values -('BALAGE','PRINT',1,550,'E',0),('BALAGE','PRINT',2,550,'E',0), -('CSV:balance_age',null,1,null,'P',0),('CSV:balance_age',null,2,null,'P',0); - -CREATE OR REPLACE FUNCTION comptaproc.account_compute(p_f_id integer) - RETURNS account_type AS -$BODY$ -declare - class_base fiche_def.fd_class_base%type; - maxcode numeric; - sResult text; - bAlphanum bool; - sName text; -begin - select fd_class_base into class_base - from - fiche_def join fiche using (fd_id) - where - f_id=p_f_id; - raise notice 'account_compute class base %',class_base; - bAlphanum := account_alphanum(); - if bAlphanum = false then - raise info 'account_compute : Alphanum is false'; - select count (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - if maxcode = 0 then - maxcode:=class_base::numeric; - else - select max (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - maxcode:=maxcode::numeric; - end if; - if maxcode::text = class_base then - maxcode:=class_base::numeric*1000; - end if; - maxcode:=maxcode+1; - raise notice 'account_compute Max code %',maxcode; - sResult:=maxcode::account_type; - else - raise info 'account_compute : Alphanum is true'; - -- if alphanum, use name - select ad_value into sName from fiche_detail where f_id=p_f_id and ad_id=1; - raise info 'name is %',sName; - if sName is null then - raise exception 'Cannot compute an accounting without the name of the card for %',p_f_id; - end if; - sResult := class_base||sName; - sResult := substr(sResult,1,40); - raise info 'Result is %',sResult; - end if; - return sResult::account_type; -end; -$BODY$ -LANGUAGE plpgsql ; - -CREATE OR REPLACE FUNCTION comptaproc.account_insert(p_f_id integer, p_account text) - RETURNS text AS -$BODY$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - sNew tmp_pcmn.pcm_val%type; - bAuto bool; - nFd_id integer; - sClass_Base fiche_def.fd_class_base%TYPE; - nCount integer; - first text; - second text; - s_account text; -begin - - if p_account is not null and length(trim(p_account)) != 0 then - -- if there is coma in p_account, treat normally - if position (',' in p_account) = 0 then - raise info 'p_account is not empty'; - s_account := substr( p_account,1 , 40); - select count(*) into nCount from tmp_pcmn where pcm_val=s_account::account_type; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise info 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,s_account); - else - -- account doesn't exist, create it - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(s_account::account_type); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (s_account::account_type,sName,nParent); - perform attribut_insert(p_f_id,5,s_account); - - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - perform attribut_insert(p_f_id,5,p_account); - end if; - else - raise info 'A000 : p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - - select fd_class_base into sClass_base from fiche_def where fd_id=nFd_id; -raise info 'sClass_Base : %',sClass_base; - if bAuto = true and sClass_base similar to '[[:digit:]]*' then - raise info 'account generated automatically'; - sNew:=account_compute(p_f_id); - raise info 'sNew %', sNew; - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(sNew); - sNew := account_add (sNew,sName); - perform attribut_insert(p_f_id,5,sNew); - - else - -- if there is an account_base then it is the default - select fd_class_base::account_type into sNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if sNew is null or length(trim(sNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,sNew); - end if; - end if; - end if; - -return 0; -end; -$BODY$ LANGUAGE plpgsql ; - - -update version set val=118; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade118.sql b/sources/html/admin/sql/patch/upgrade118.sql deleted file mode 100644 index 23a03dd..0000000 --- a/sources/html/admin/sql/patch/upgrade118.sql +++ /dev/null @@ -1,167 +0,0 @@ -begin; - - -alter table profile_menu add pm_id_dep bigint ; -comment on column profile_menu.pm_id_dep is 'parent of this menu item'; - - -CREATE OR REPLACE VIEW v_menu_dependency AS - WITH t_menu AS ( - SELECT pm.pm_id, mr.me_menu, pm.me_code, pm.me_code_dep, pm.p_type_display, mr.me_file, mr.me_javascript, mr.me_description, mr.me_description_etendue, p.p_id - FROM profile_menu pm - JOIN profile p ON p.p_id = pm.p_id - JOIN menu_ref mr USING (me_code) - ) - SELECT DISTINCT (COALESCE(v3.me_code || '/'::text, ''::text) || COALESCE(v2.me_code, ''::text)) || - CASE - WHEN v2.me_code IS NULL THEN COALESCE(v1.me_code, ''::text) - WHEN v2.me_code IS NOT NULL THEN COALESCE('/'::text || v1.me_code, ''::text) - ELSE NULL::text - END AS code, v1.pm_id, v1.me_code, v1.me_description, v1.me_description_etendue, v1.me_file, '> '::text || v1.me_menu AS v1menu, - CASE - WHEN v2.pm_id IS NOT NULL THEN v2.pm_id - WHEN v3.pm_id IS NOT NULL THEN v3.pm_id - ELSE NULL::integer - END AS higher_dep, - CASE - WHEN COALESCE(v3.me_menu, ''::text) <> ''::text THEN ' > '::text || v2.me_menu - ELSE v2.me_menu - END AS v2menu, v3.me_menu AS v3menu, v3.p_type_display, COALESCE(v1.me_javascript, COALESCE(v2.me_javascript, v3.me_javascript)) AS javascript, v1.p_id, v2.p_id AS v2pid, v3.p_id AS v3pid - FROM t_menu v1 - LEFT JOIN t_menu v2 ON v1.me_code_dep = v2.me_code - LEFT JOIN t_menu v3 ON v2.me_code_dep = v3.me_code - WHERE COALESCE(v2.p_id, v1.p_id) = v1.p_id AND COALESCE(v3.p_id, v1.p_id) = v1.p_id AND v1.p_type_display <> 'P'::text - ORDER BY v1.pm_id; - -CREATE OR REPLACE FUNCTION modify_menu_system(n_profile numeric) - RETURNS void AS -$BODY$ -declare -r_duplicate profile_menu%ROWTYPE; -str_duplicate text; -n_lowest_id numeric; -- lowest pm_id : update the dependency in profile_menu -n_highest_id numeric; -- highest pm_id insert into profile_menu - -begin - -for str_duplicate in - select me_code - from profile_menu - where - p_id=n_profile and - p_type_display <> 'P' and - pm_id_dep is null - group by me_code - having count(*) > 1 -loop - raise info 'str_duplicate %',str_duplicate; - for r_duplicate in select * - from profile_menu - where - p_id=n_profile and - me_code_dep=str_duplicate - loop - raise info 'r_duplicate %',r_duplicate; - -- get the lowest - select a.pm_id into n_lowest_id from profile_menu a join profile_menu b on (a.me_code=b.me_code and a.p_id = b.p_id) - where - a.me_code=str_duplicate - and a.p_id=n_profile - and a.pm_id < b.pm_id; - raise info 'lowest is %',n_lowest_id; - -- get the highest - select a.pm_id into n_highest_id from profile_menu a join profile_menu b on (a.me_code=b.me_code and a.p_id = b.p_id) - where - a.me_code=str_duplicate - and a.p_id=n_profile - and a.pm_id > b.pm_id; - raise info 'highest is %',n_highest_id; - - -- update the first one - update profile_menu set pm_id_dep = n_lowest_id where pm_id=r_duplicate.pm_id; - -- insert a new one - insert into profile_menu (me_code, - me_code_dep, - p_id, - p_order, - p_type_display, - pm_default, - pm_id_dep) - values (r_duplicate.me_code, - r_duplicate.me_code_dep, - r_duplicate.p_id, - r_duplicate.p_order, - r_duplicate.p_type_display, - r_duplicate.pm_default, - n_highest_id); - - end loop; - -end loop; -end; -$BODY$ -language plpgsql; - -select modify_menu_system(1); -select modify_menu_system(2); - -update profile_menu set pm_id_dep=(select higher_dep from v_menu_dependency as a where - a.pm_id= profile_menu.pm_id) where pm_id_dep is null and p_id=1; - -update profile_menu set pm_id_dep=(select higher_dep from v_menu_dependency as a where - a.pm_id= profile_menu.pm_id) where pm_id_dep is null and p_id=2; -CREATE OR REPLACE VIEW v_menu_profile AS - WITH t_menu AS ( - SELECT pm.pm_id,pm.pm_id_dep, pm.me_code, pm.me_code_dep, pm.p_type_display,pm.p_id - FROM profile_menu pm - JOIN profile p ON p.p_id = pm.p_id - ) - SELECT DISTINCT - (COALESCE(v3.me_code || '/'::text, ''::text) || COALESCE(v2.me_code, ''::text)) || - CASE - WHEN v2.me_code IS NULL THEN COALESCE(v1.me_code, ''::text) - WHEN v2.me_code IS NOT NULL THEN COALESCE('/'::text || v1.me_code, ''::text) - ELSE NULL::text - END AS code, - v3.p_type_display, - coalesce(v3.pm_id,0) as pm_id_v3, - coalesce(v2.pm_id,0) as pm_id_v2, - v1.pm_id as pm_id_v1 - ,v1.p_id - FROM t_menu v1 - LEFT JOIN t_menu v2 ON v1.pm_id_dep = v2.pm_id - LEFT JOIN t_menu v3 ON v2.pm_id_dep= v3.pm_id - WHERE v1.p_type_display <> 'P'::text -; -COMMENT ON VIEW v_menu_profile IS 'Give the profile and the menu + dependencies'; - -CREATE OR REPLACE VIEW v_menu_description AS - WITH t_menu AS ( - SELECT pm.pm_id,pm.pm_id_dep,pm.p_id,mr.me_menu, pm.me_code, pm.me_code_dep, pm.p_type_display, pu.user_name, mr.me_file, mr.me_javascript, mr.me_description, mr.me_description_etendue - FROM profile_menu pm - JOIN profile_user pu ON pu.p_id = pm.p_id - JOIN profile p ON p.p_id = pm.p_id - JOIN menu_ref mr USING (me_code) - ) - SELECT DISTINCT (COALESCE(v3.me_code || '/'::text, ''::text) || COALESCE(v2.me_code, ''::text)) || - CASE - WHEN v2.me_code IS NULL THEN COALESCE(v1.me_code, ''::text) - WHEN v2.me_code IS NOT NULL THEN COALESCE('/'::text || v1.me_code, ''::text) - ELSE NULL::text - END AS code, v1.me_code, v1.me_description, v1.me_description_etendue, v1.me_file, v1.user_name, '> '::text || v1.me_menu AS v1menu, - CASE - WHEN COALESCE(v3.me_menu, ''::text) <> ''::text THEN ' > '::text || v2.me_menu - ELSE v2.me_menu - END AS v2menu, v3.me_menu AS v3menu, v3.p_type_display, COALESCE(v1.me_javascript, COALESCE(v2.me_javascript, v3.me_javascript)) AS javascript, - v1.pm_id,v1.pm_id_dep,v1.p_id - FROM t_menu v1 - LEFT JOIN t_menu v2 ON v1.me_code_dep = v2.me_code - LEFT JOIN t_menu v3 ON v2.me_code_dep = v3.me_code - WHERE v1.p_type_display <> 'P'::text AND (COALESCE(v1.me_file, ''::text) <> ''::text OR COALESCE(v1.me_javascript, ''::text) <> ''::text); - -COMMENT ON VIEW v_menu_description IS 'Description des menus'; - - -update version set val=119; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade119.sql b/sources/html/admin/sql/patch/upgrade119.sql deleted file mode 100644 index 07476ba..0000000 --- a/sources/html/admin/sql/patch/upgrade119.sql +++ /dev/null @@ -1,5 +0,0 @@ -begin; -update menu_ref set me_file = null where me_code='EXT'; -update version set val=120; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade12.sql b/sources/html/admin/sql/patch/upgrade12.sql deleted file mode 100644 index b1193b9..0000000 --- a/sources/html/admin/sql/patch/upgrade12.sql +++ /dev/null @@ -1,11 +0,0 @@ -begin; - -ALTER TABLE quant_sold ADD CONSTRAINT qs_id_pk PRIMARY KEY(qs_id); -COMMENT ON TABLE quant_sold IS 'Contains about invoice for customer'; -drop table user_pref; --- trim the space -update parm_code set p_code=trim(p_code); - -update version set val=13; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade120.sql b/sources/html/admin/sql/patch/upgrade120.sql deleted file mode 100644 index 1eb7daf..0000000 --- a/sources/html/admin/sql/patch/upgrade120.sql +++ /dev/null @@ -1,280 +0,0 @@ -begin; -update menu_ref set me_file = null where me_code='EXT'; -update op_predef_detail set opd_poste=trim(opd_poste) ; - -CREATE OR REPLACE FUNCTION comptaproc.fiche_detail_qcode_upd() - RETURNS trigger AS -$BODY$ -declare - i record; -begin - if NEW.ad_id=23 and NEW.ad_value != OLD.ad_value then - RAISE NOTICE 'new qcode [%] old qcode [%]',NEW.ad_value,OLD.ad_value; - update jrnx set j_qcode=NEW.ad_value where j_qcode = OLD.ad_value; - update op_predef_detail set opd_poste=NEW.ad_value where opd_poste=OLD.ad_value; - raise notice 'TRG fiche_detail update op_predef_detail set opd_poste=% where opd_poste=%;',NEW.ad_value,OLD.ad_value; - for i in select ad_id from attr_def where ad_type = 'card' or ad_id=25 loop - update fiche_detail set ad_value=NEW.ad_value where ad_value=OLD.ad_value and ad_id=i.ad_id; - RAISE NOTICE 'change for ad_id [%] ',i.ad_id; - if i.ad_id=19 then - RAISE NOTICE 'Change in stock_goods OLD[%] by NEW[%]',OLD.ad_value,NEW.ad_value; - update stock_goods set sg_code=NEW.ad_value where sg_code=OLD.ad_value; - end if; - - end loop; - end if; -return NEW; -end; -$BODY$ -LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION comptaproc.update_quick_code(njft_id integer, tav_text text) - RETURNS integer AS -$BODY$ - declare - ns integer; - nExist integer; - tText text; - old_qcode varchar; - num_rows_jrnx integer; - num_rows_predef integer; - begin - -- get current value - select ad_value into old_qcode from fiche_detail where jft_id=njft_id; - -- av_text didn't change so no update - if tav_text = upper( trim(old_qcode)) then - raise notice 'nothing to change % %' , tav_text,old_qcode; - return 0; - end if; - - tText := trim(lower(tav_text)); - tText := replace(tText,' ',''); - -- valid alpha is [ . : - _ ] - tText := translate(tText,E' $€µ£%+/\\!(){}(),;&|"#''^<>*',''); - tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); - tText := upper(tText); - if length ( tText) = 0 or tText is null then - return 0; - end if; - - ns := njft_id; - - loop - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=tText; - - if nExist = 0 then - exit; - end if; - if tText = 'FID'||ns then - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - end if; - tText :='FID'||ns; - - end loop; - update fiche_detail set ad_value = tText where jft_id=njft_id; - - -- update also the contact - update fiche_detail set ad_value = tText - where jft_id in - ( select jft_id - from fiche_detail - where ad_id=25 and ad_value=old_qcode); - - - return ns; - end; -$BODY$ - LANGUAGE plpgsql ; - - -CREATE OR REPLACE FUNCTION comptaproc.insert_quick_code(nf_id integer, tav_text text) - RETURNS integer AS -$BODY$ - declare - ns integer; - nExist integer; - tText text; - tBase text; - tName text; - nCount Integer; - nDuplicate Integer; - begin - tText := lower(trim(tav_text)); - tText := replace(tText,' ',''); - tName:= translate(tName,E' $€µ£%+/\\!(){}(),;&|"#''^<>*',''); - tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); - nDuplicate := 0; - tBase := tText; - loop - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - if length (tText) = 0 or tText is null then - select count(*) into nCount from fiche_detail where f_id=nf_id and ad_id=1; - if nCount = 0 then - tText := 'FICHE'||ns::text; - else - select ad_value into tName from fiche_detail where f_id=nf_id and ad_id=1; - - tName := lower(trim(tName)); - tName := substr(tName,1,6); - tName := replace(tName,' ',''); - tName:= translate(tName,E' $€µ£%+/\\!(){}(),;&|"#''^<>*',''); - tName := translate(tName,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); - tBase := tName; - if nDuplicate = 0 then - tText := tName; - else - tText := tName||nDuplicate::text; - end if; - end if; - end if; - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=upper(tText); - - if nExist = 0 then - exit; - end if; - nDuplicate := nDuplicate + 1 ; - tText := tBase || nDuplicate::text; - - if nDuplicate > 9999 then - raise Exception 'too many duplicate % duplicate# %',tText,nDuplicate; - end if; - end loop; - - - insert into fiche_detail(jft_id,f_id,ad_id,ad_value) values (ns,nf_id,23,upper(tText)); - return ns; - end; -$BODY$ -LANGUAGE plpgsql; - -create or replace function insert_menu() -returns void as -$BODY$ -declare - n_count integer := 0; -begin - select count(*) into n_count from menu_ref where me_code='CONTACT'; - if n_count = 0 then - insert into menu_ref(me_code, - me_file, - me_menu, - me_description,me_type,me_description_etendue) - values - ('CONTACT', - 'contact.inc.php', - 'Contact','Liste de vos contacts','ME','Liste de vos contacts normalement liée à des fiches de sociétés'); - end if; - - select count(*) into n_count from profile_menu where me_code='CONTACT' and p_id=1; - if n_count = 0 then - insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display,pm_default,pm_id_dep) select 'CONTACT','GESTION',1,22,'E',0,(select pm_id from profile_menu where me_code='GESTION' and p_id=1); - end if; - - select count(*) into n_count from profile_menu where me_code='CONTACT' and p_id=2; - if n_count = 0 then - insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display,pm_default,pm_id_dep) select 'CONTACT','GESTION',2,22,'E',0,(select pm_id from profile_menu where me_code='GESTION' and p_id=2); - end if; -end; -$BODY$ -LANGUAGE plpgsql; - -select insert_menu(); - -drop function insert_menu(); -drop view v_all_menu; - -CREATE OR REPLACE VIEW v_all_menu AS - SELECT pm.me_code, - pm.pm_id, - pm.me_code_dep, - pm.p_order, - pm.p_type_display, - p.p_name, - p.p_desc, - mr.me_menu, - mr.me_file, - mr.me_url, - mr.me_parameter, - mr.me_javascript, - mr.me_type, - pm.p_id, - mr.me_description - FROM profile_menu pm - JOIN profile p ON p.p_id = pm.p_id - JOIN menu_ref mr USING (me_code) - ORDER BY pm.p_order; - -DROP FUNCTION comptaproc.get_profile_menu(text); - -CREATE OR REPLACE FUNCTION comptaproc.get_profile_menu(p_profile integer) - RETURNS SETOF menu_tree AS -$BODY$ -declare - a menu_tree; - e menu_tree; -begin -for a in select me_code,me_description from v_all_menu where p_id=p_profile - and me_code_dep is null and me_type <> 'PR' and me_type <>'SP' -loop - return next a; - - for e in select * from get_menu_tree(a.code,p_profile) - loop - return next e; - end loop; - - end loop; -return; -end; -$BODY$ - LANGUAGE plpgsql ; - -DROP FUNCTION comptaproc.get_menu_tree(text, text); - -CREATE OR REPLACE FUNCTION comptaproc.get_menu_tree(p_code text, p_profile integer) - RETURNS SETOF menu_tree AS -$BODY$ -declare - i menu_tree; - e menu_tree; - a text; - x v_all_menu%ROWTYPE; -begin - for x in select * from v_all_menu where me_code_dep=p_code::text and p_id=p_profile - loop - if x.me_code_dep is not null then - i.code := x.me_code_dep||'/'||x.me_code; - else - i.code := x.me_code; - end if; - - i.description := x.me_description; - - return next i; - - for e in select * from get_menu_tree(x.me_code,p_profile) - loop - e.code:=x.me_code_dep||'/'||e.code; - return next e; - end loop; - - end loop; - return; -end; -$BODY$ -LANGUAGE plpgsql; - -update version set val=121; - -commit; - diff --git a/sources/html/admin/sql/patch/upgrade13.sql b/sources/html/admin/sql/patch/upgrade13.sql deleted file mode 100644 index 9a3343d..0000000 --- a/sources/html/admin/sql/patch/upgrade13.sql +++ /dev/null @@ -1,566 +0,0 @@ -begin; --- dropped all the views --- Name: vw_client; Type: VIEW; Schema: public; Owner: phpcompta -DROP VIEW vw_client ; --- Name: vw_fiche_attr; Type: VIEW; Schema: public; Owner: phpcompta -DROP VIEW vw_fiche_attr ; --- Name: vw_fiche_def; Type: VIEW; Schema: public; Owner: phpcompta -DROP VIEW vw_fiche_def ; --- Name: vw_fiche_min; Type: VIEW; Schema: public; Owner: phpcompta -DROP VIEW vw_fiche_min ; --- Name: vw_poste_qcode; Type: VIEW; Schema: public; Owner: phpcompta -DROP VIEW vw_poste_qcode; - --- Stan's problem : account were not large enough --- Converted to numeric to avoid integer limit -create domain poste_comptable as numeric(25); -alter table tmp_pcmn alter pcm_val type poste_comptable; -alter table tmp_pcmn alter pcm_val_parent type poste_comptable; -alter table jrnx alter j_poste TYPE poste_comptable ; -alter table centralized alter c_poste TYPE poste_comptable ; -alter table fiche_def alter fd_class_base TYPE poste_comptable ; - --- recreate all the views -CREATE VIEW vw_client AS -SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email FROM (((((((((SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 1)) a JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 13)) b USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 23)) a1 USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 5)) c USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 14)) d USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 15)) e USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 16)) f USING (f_id)) JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 17)) g USING (f_id)) LEFT JOIN (SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM ((((fiche JOIN fiche_def USING (fd_id)) JOIN fiche_def_ref USING (frd_id)) JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 18)) h USING (f_id)) WHERE (a.frd_id = 9); -CREATE VIEW vw_fiche_attr AS -SELECT a.f_id, a.fd_id, a.av_text AS vw_name, b.av_text AS vw_sell, c.av_text AS vw_buy, d.av_text AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.av_text AS vw_addr, f.av_text AS vw_cp, j.av_text AS quick_code, fiche_def.frd_id FROM (((((((((SELECT fiche.f_id, fiche.fd_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 1)) a LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 6)) b ON ((a.f_id = b.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 7)) c ON ((a.f_id = c.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 2)) d ON ((a.f_id = d.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 14)) e ON ((a.f_id = e.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 15)) f ON ((a.f_id = f.f_id))) LEFT JOIN (SELECT fiche.f_id, attr_value.av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (jnt_fic_att_value.ad_id = 23)) j ON ((a.f_id = j.f_id))) LEFT JOIN tva_rate ON ((d.av_text = (tva_rate.tva_id)::text))) JOIN fiche_def USING (fd_id)); -CREATE VIEW vw_fiche_def AS -SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, attr_def.ad_text, attr_value.av_text, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def.frd_id FROM (((((jnt_fic_att_value JOIN attr_value USING (jft_id)) JOIN fiche USING (f_id)) JOIN jnt_fic_attr USING (fd_id)) JOIN attr_def ON ((attr_def.ad_id = jnt_fic_attr.ad_id))) JOIN fiche_def USING (fd_id)); -CREATE VIEW vw_fiche_min AS -SELECT attr_min.frd_id, attr_min.ad_id, attr_def.ad_text, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base FROM ((attr_min JOIN attr_def USING (ad_id)) JOIN fiche_def_ref USING (frd_id)); -CREATE VIEW vw_poste_qcode AS -SELECT a.f_id, a.av_text AS j_poste, b.av_text AS j_qcode FROM ((SELECT jnt_fic_att_value.f_id, attr_value.av_text FROM (attr_value JOIN jnt_fic_att_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 5)) a JOIN (SELECT jnt_fic_att_value.f_id, attr_value.av_text FROM (attr_value JOIN jnt_fic_att_value USING (jft_id)) WHERE (jnt_fic_att_value.ad_id = 23)) b USING (f_id)); - --- comment -COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family'; --- Name: VIEW vw_fiche_min; Type: COMMENT; Schema: public; Owner: phpcompta -COMMENT ON VIEW vw_fiche_min IS 'minimum attribut for reference card'; - -create or replace function account_auto (p_fd_id fiche_def.fd_id%type) -returns bool -as -$$ --- account_auto --- param fd_id --- return true if the card generate automatically an account -declare - l_auto bool; -begin - - select fd_create_account into l_auto from fiche_def where fd_id=p_fd_id; - if l_auto is null then - l_auto:=false; - end if; - return l_auto; -end; -$$ language plpgsql; - -create or replace function account_compute(p_f_id fiche.f_id%type) -returns poste_comptable -as -$body$ --- account_compute --- param f_id --- compute the next account --- return new account -declare - class_base poste_comptable; - maxcode int8; -begin - -- Get the class base - select fd_class_base into class_base - from - fiche_def join fiche using (fd_id) - where - f_id=p_f_id; - raise notice 'class base %',class_base; - select max(pcm_val) into maxcode from tmp_pcmn where pcm_val = class_base; - if maxcode = class_base then - maxcode=class_base*1000+1; - end if; - raise notice 'Max code %',maxcode; -return maxcode+1; -end; -$body$ language plpgsql; - - - -create or replace function attribut_insert ( p_f_id integer, p_ad_id integer, p_value varchar) -returns void -as -$$ --- attribut_integer --- parameter : f_id, ad_id, p_value --- purpose add an attribute to a card --- it inserts a row into jnt_fic_att_value and attr_value -declare - n_jft_id integer; -begin - select nextval('s_jnt_fic_att_value') into n_jft_id; - insert into jnt_fic_att_value (jft_id,f_id,ad_id) values (n_jft_id,p_f_id,p_ad_id); - insert into attr_value (jft_id,av_text) values (n_jft_id,p_value); -return; -end; -$$ -language plpgsql volatile; - - - -CREATE OR REPLACE FUNCTION account_insert(p_f_id fiche.f_id%type,p_account tmp_pcmn.pcm_val%type) - RETURNS int4 AS -$BODY$ -declare --- account_insert --- parameter f_id,p_account label of account --- purpose : create a new account for a card --- check if the accound needs to be created automatically --- if p_account is empty or null --- into tables attr_value -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nNew tmp_pcmn.pcm_val%type; -bAuto bool; -nFd_id integer; -nCount integer; -begin - - -- if p_value empty - if length(trim(p_account)) != 0 then - -- does the account exist ? - select * into nCount from tmp_pcmn where pcm_val=p_account; - if nCount !=0 then - -- retrieve name - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - -- get parent - nParent:=account_parent(p_account); - -- account doesn't exist we need to add id - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) - values (p_account,sName,nParent); - -- insert as card's attribute - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999')); - - end if; - else - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - - if bAuto = true then - -- create automatically the account - -- compute the next account - nNew:=account_compute(p_f_id); -raise debug 'nNew %', nNew; - -- retrieve name - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - - -- get parent - nParent:=account_parent(nNew); - -- account doesn't exist we need to add id - perform account_add (nNew,sName); - -- insert as card's attribute - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999')); - - else - perform attribut_insert(p_f_id,5,null); - end if; - - end if; - -return 0; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -create or replace function account_parent(p_account tmp_pcmn.pcm_val%type) -returns - -- account_parent - -- parameter pcm_val%type; - -- purpose compute the parent account - - poste_comptable -as -$$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sParent varchar; - nCount integer; -begin - sParent:=to_char(p_account,'9999999999999999'); - sParent:=trim(sParent); - nParent:=0; - while nParent = 0 loop - select count(*) into nCount - from tmp_pcmn - where - pcm_val = to_number(sParent,'9999999999999999'); - if nCount != 0 then - nParent:=to_number(sParent,'9999999999999999'); - end if; - sParent:= substr(sParent,1,length(sParent)-1); - if length(sParent) <= 0 then - raise exception 'Impossible de trouver le compte parent pour %',p_account; - end if; - - end loop; - - return nParent; -end; -$$ language plpgsql volatile; --- Function: account_update() - --- DROP FUNCTION account_update(); - -CREATE OR REPLACE FUNCTION account_update(p_f_id fiche.f_id%type,p_account tmp_pcmn.pcm_val%type) - RETURNS int4 AS -$BODY$ --- account_update --- parameter f_id, pcm_val --- purpose update the account of a card and create it into PCMN if it doesn't exist yet --- -declare -nMax fiche.f_id%type; -nCount integer; -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nJft_id attr_value.jft_id%type; -begin - - -- if p_value empty - if length(trim(p_account)) != 0 then - -- does the account exist ? - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - -- retrieve name - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - -- get parent - nParent:=fiche_account_parent(p_f_id); - -- account doesn't exist we need to add id - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - end if; - end if; - -- we retrieve jft_id - select jft_id into njft_id from jnt_fic_att_value where f_id=p_f_id and ad_id=5; - -- we update the account - update attr_value set av_text=p_account where jft_id=njft_id; - -return njft_id; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -create or replace function account_add (p_id tmp_pcmn.pcm_val%type,p_name varchar) -returns void -as -$$ --- account_add (p_id tmp_pcmn.pcm_val%type,p_name varchar) --- parameter --- p_id id of the account --- name account's name --- purpose insert a new account if it doesn't exist yet -declare - nParent tmp_pcmn.pcm_val_parent%type; - nCount integer; -begin - select count(*) into nCount from tmp_pcmn where pcm_val=p_id; - if nCount = 0 then - nParent=account_parent(p_id); - insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent) - values (p_id, p_name,nParent); - end if; -return; -end ; -$$ language plpgsql; - - -create table document_type ( - dt_id serial primary key, - dt_value varchar(80) -); - -comment on table document_type is 'Type of document : meeting, invoice,...'; -CREATE or replace FUNCTION t_document_type_insert() RETURNS trigger AS $body$ - BEGIN - execute 'create sequence seq_doc_type_'||NEW.dt_id; -raise notice 'Creating sequence seq_doc_type_%',NEW.dt_id; - RETURN NEW; - END; -$body$ LANGUAGE plpgsql; - -CREATE TRIGGER trigger_document_type_i after INSERT oN document_type - FOR EACH ROW EXECUTE PROCEDURE t_document_type_insert(); - -INSERT INTO document_type VALUES (1,'Document Interne'); -INSERT INTO document_type VALUES (2,'Bons de commande client'); -INSERT INTO document_type VALUES (3,'Bon de commande Fournisseur'); -INSERT INTO document_type VALUES (4,'Facture'); -INSERT INTO document_type VALUES (5,'Lettre de rappel'); -INSERT INTO document_type VALUES (6,'Courrier'); -INSERT INTO document_type VALUES (7,'Proposition'); -INSERT INTO document_type VALUES (8,'Email'); -INSERT INTO document_type VALUES (9,'Divers'); -alter sequence document_type_dt_id_seq restart with 10; - -create table document_modele ( - md_id serial primary key, - md_name text not null, - md_lob oid, - md_type integer not null , - md_filename text, - md_mimetype text -); - - -comment on table document_modele is ' contains all the template for the documents'; - -alter table document_modele add constraint md_type foreign key (md_type) references document_type(dt_id); - - - -create or replace function card_class_base(p_f_id fiche.f_id%type) -returns fiche_def.fd_class_base%type -as -$$ - -declare - n_poste fiche_def.fd_class_base%type; -begin --- card_class_base (integer) --- param: $1 fiche.f_id --- purpose : retrieve the class of a card --- - - select fd_class_base into n_poste from fiche_def join fiche using (fd_id) - where f_id=p_f_id; - if not FOUND then - raise exception 'Invalid fiche card_class_base(%)',p_f_id; - end if; -return n_poste; -end; -$$ language plpgsql; - --- fiche_account_parent -create or replace function fiche_account_parent(p_f_id integer) -returns poste_comptable as $$ -declare --- fiche_account_parent returns the fd_class_base --- parameter f_id (from fiche) -ret poste_comptable; -begin - select fd_class_base into ret from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if not FOUND then - raise exception '% N''existe pas',p_f_id; - end if; - return ret; -end; -$$ -language plpgsql ; -delete from form where fo_fr_id=3000000; -delete from formdef where fr_id=3000000; - -INSERT INTO formdef (fr_id, fr_label) VALUES (3000000, 'TVA déclaration Belge'); --- --- Data for TOC entry 2 (OID 315304) --- Name: formdef; Type: TABLE DATA; Schema: public; Owner: dany --- --- - -INSERT INTO form VALUES (3000398, 3000000, 1, 'Prestation [ case 03 ]', '[700%]-[7000005]'); -INSERT INTO form VALUES (3000399, 3000000, 2, 'Prestation intra [ case 47 ]', '[7000005]'); -INSERT INTO form VALUES (3000400, 3000000, 3, 'Tva due [case 54]', '[4513]+[4512]+[4511] FROM=01.2005'); -INSERT INTO form VALUES (3000401, 3000000, 4, 'Marchandises, matière première et auxiliaire [case 81 ]', '[60%]'); -INSERT INTO form VALUES (3000402, 3000000, 7, 'Service et bien divers [case 82]', '[61%]'); -INSERT INTO form VALUES (3000403, 3000000, 8, 'bien d''invest [ case 83 ]', '[2400%]'); -INSERT INTO form VALUES (3000404, 3000000, 9, 'TVA déductible [ case 59 ]', 'abs([4117]-[411%])'); -INSERT INTO form VALUES (3000405, 3000000, 8, 'TVA non ded -> voiture', '[610022]*0.21/2'); -INSERT INTO form VALUES (3000406, 3000000, 9, 'Acompte TVA', '[4117]'); - --- create the table document - -create table document -( - d_id serial primary key, - ag_id int4 not null, - d_lob oid, - d_number int8 not null, - d_filename text, - d_mimetype text -); - - - -comment on table document is 'This table contains all the documents : summary and lob files'; - -create sequence document_seq; - -comment on sequence document_seq is 'Sequence for the sequence bound to the document modele'; - -CREATE TABLE document_state ( - s_id serial NOT NULL, - s_value character varying(50) NOT NULL -); - - -COMMENT ON TABLE document_state IS 'State of the document'; - -SELECT pg_catalog.setval(pg_catalog.pg_get_serial_sequence('document_state', 's_id'), 3, true); - - -INSERT INTO document_state VALUES (1, 'Envoyé'); -INSERT INTO document_state VALUES (2, 'Brouillon'); -INSERT INTO document_state VALUES (3, 'A envoyer'); -INSERT INTO document_state VALUES (4, 'Reçu'); - -ALTER TABLE ONLY document_state ADD CONSTRAINT document_state_pkey PRIMARY KEY (s_id); -alter sequence s_attr_def restart with 24; -insert into attr_def (ad_text) values ('Ville'); -insert into attr_min values(9,24); -insert into attr_min values(8,24); -insert into attr_min values(14,24); --- upgrade all customer -insert into jnt_fic_attr select fd_id,24 from jnt_fic_attr join fiche_def using (fd_id) where frd_id=9 and ad_id=1; --- supplier -insert into jnt_fic_attr select fd_id,24 from jnt_fic_attr join fiche_def using (fd_id) where frd_id=8 and ad_id=1; --- administration - -insert into jnt_fic_attr select fd_id,24 from jnt_fic_attr join fiche_def using (fd_id) where frd_id=9 and ad_id=14; - --- -create table action_gestion ( - ag_id serial primary key, - ag_type int4, - f_id_dest int4 not null, - f_id_exp int4 not null, - ag_title varchar(70), - ag_timestamp timestamp default now(), - ag_cal char(1) default 'C', - ag_ref_ag_id int4, - ag_comment text -); - -comment on table action_gestion is 'Action for Managing'; - - --- add contact -alter sequence s_fiche_def_ref restart 16; -insert into fiche_def_ref(frd_text) values ('Contact'); - -insert into attr_def(ad_text) values ('Société'); -insert into attr_def(ad_text) values ('Fax'); -insert into attr_min values(16,1); -insert into attr_min values(16,17); -insert into attr_min values(16,18); -insert into attr_min values(16,25); -insert into attr_min values(16,26); -insert into attr_def (ad_text) values ('GSM'); -insert into attr_min values(16,27); - -CREATE or replace FUNCTION t_jrn_def_sequence() RETURNS trigger AS $body$ - BEGIN - execute 'create sequence s_jrn_'||NEW.jrn_def_id; -raise notice 'Creating sequence s_jrn_%',NEW.jrn_def_id; - RETURN NEW; - END; -$body$ LANGUAGE plpgsql; - -CREATE TRIGGER trigger_jrn_def_sequence_i after INSERT oN jrn_def - FOR EACH ROW EXECUTE PROCEDURE t_jrn_def_sequence(); - -create view vw_supplier as SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email - FROM ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 1) a - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 13) b USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 23) a1 USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 5) c USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 14) d USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 15) e USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 16) f USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 17) g USING (f_id) - LEFT JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 18) h USING (f_id) - WHERE a.frd_id = 8; - - -insert into parameter (pr_id) values ('MY_TEL'); -insert into parameter (pr_id) values ('MY_PAYS'); -insert into parameter (pr_id) values ('MY_FAX'); -alter table document add d_state int; -alter table action_gestion add ag_ref text; - -create unique index k_ag_ref on action_gestion(ag_ref); -update version set val=14; -insert into action values(28,'Module Suivi Document'); -insert into action values(22,'Module Client'); -insert into action values (24,'Module Fournisseur'); -insert into action values (26,'Module Administration'); -insert into action values (30,'Module Gestion'); - -insert into format_csv_banque values ('Argenta Belgique','argenta_be.inc.php'); -insert into format_csv_banque values ('CBC Belgique','cbc_be.inc.php'); -CREATE SEQUENCE s_cbc - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade14.sql b/sources/html/admin/sql/patch/upgrade14.sql deleted file mode 100644 index b880124..0000000 --- a/sources/html/admin/sql/patch/upgrade14.sql +++ /dev/null @@ -1,45 +0,0 @@ -begin; -alter table import_tmp add column status varchar(1); -alter table import_tmp alter status set default 'n'; -create or replace function trim_cvs_quote() returns trigger as $trim$ -declare - modified import_tmp%ROWTYPE; -begin - modified:=NEW; - modified.devise=replace(new.devise,'"',''); - modified.poste_comptable=replace(new.poste_comptable,'"',''); - modified.compte_ordre=replace(NEW.COMPTE_ORDRE,'"',''); - modified.detail=replace(NEW.DETAIL,'"',''); - modified.num_compte=replace(NEW.NUM_COMPTE,'"',''); - return modified; -end; -$trim$ language plpgsql; - -update import_tmp set status = 't' where ok=true; -update import_tmp set status = 'n' where ok = false; -update import_tmp set status = 'n' where ok is null; - -alter table import_tmp add constraint chk_status check (status in ('n','w','d','t')); - - -alter table import_tmp drop column ok ; -comment on table import_tmp is 'Table temporaire pour l''importation des banques en format CSV'; -comment on column import_tmp.status is 'Status doit être w pour en attente, t pour transfèrer ou d à effacer'; - - -create or replace function trim_cvs_quote() returns trigger as $trim$ -declare - modified import_tmp%ROWTYPE; -begin - modified:=NEW; - modified.devise=replace(new.devise,'"',''); - modified.poste_comptable=replace(new.poste_comptable,'"',''); - modified.compte_ordre=replace(NEW.COMPTE_ORDRE,'"',''); - modified.detail=replace(NEW.DETAIL,'"',''); - modified.num_compte=replace(NEW.NUM_COMPTE,'"',''); - return modified; -end; -$trim$ language plpgsql; - -update version set val=15; -commit; diff --git a/sources/html/admin/sql/patch/upgrade15.sql b/sources/html/admin/sql/patch/upgrade15.sql deleted file mode 100644 index 7e4cfee..0000000 --- a/sources/html/admin/sql/patch/upgrade15.sql +++ /dev/null @@ -1,4 +0,0 @@ -begin; -update attr_def set ad_text='code postal' where ad_id=15; -update version set val=16; -commit; diff --git a/sources/html/admin/sql/patch/upgrade16.sql b/sources/html/admin/sql/patch/upgrade16.sql deleted file mode 100644 index b860869..0000000 --- a/sources/html/admin/sql/patch/upgrade16.sql +++ /dev/null @@ -1,25 +0,0 @@ -begin; - -create or replace function card_class_base(p_f_id fiche.f_id%type) -returns fiche_def.fd_class_base%type -as -$$ -declare - n_poste fiche_def.fd_class_base%type; -begin --- card_class_base (integer) --- param: $1 fiche.f_id --- purpose : retrieve the class of a card --- - - select fd_class_base into n_poste from fiche_def join fiche using -(fd_id) - where f_id=p_f_id; - if not FOUND then - raise exception 'Invalid fiche card_class_base(%)',p_f_id; - end if; -return n_poste; -end; -$$ language plpgsql; -update version set val=17; -commit; diff --git a/sources/html/admin/sql/patch/upgrade17.sql b/sources/html/admin/sql/patch/upgrade17.sql deleted file mode 100644 index 4bac8b2..0000000 --- a/sources/html/admin/sql/patch/upgrade17.sql +++ /dev/null @@ -1,14 +0,0 @@ -begin; --- add quick code for contact -insert into attr_min (frd_id,ad_id) values (16,23); - - - -insert into jnt_fic_attr select fd_id,23 from fiche_Def where frd_id=16; -insert into jnt_fic_att_value(jft_id,f_id,ad_id) select nextval('s_jnt_fic_att_value')+200,f_id,23 from fiche - where fd_id in (select fd_id from fiche_Def where frd_id=16); -insert into attr_value select jft_id,'FID'||f_id from jnt_fic_att_value join fiche using(f_id) where ad_id=23 and - fd_id in (select fd_id from fiche_Def where frd_id=16); - -update version set val=18; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade18.sql b/sources/html/admin/sql/patch/upgrade18.sql deleted file mode 100644 index 5f3e68e..0000000 --- a/sources/html/admin/sql/patch/upgrade18.sql +++ /dev/null @@ -1,5 +0,0 @@ -begin; -alter table parm_periode drop constraint parm_periode_p_start_key; - -update version set val=19; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade19.sql b/sources/html/admin/sql/patch/upgrade19.sql deleted file mode 100644 index 30f0e3d..0000000 --- a/sources/html/admin/sql/patch/upgrade19.sql +++ /dev/null @@ -1,181 +0,0 @@ -begin; --- bug 1753 -create or replace function correct_sequence ( p_sequence text,p_col text, p_table text ) -returns integer -as -$body$ -declare --- fonction description --- Often the primary key is a sequence number and sometimes --- the value of the sequence is not synchronized with the --- primary key --- parameter p_sequence : sequence name --- parameter p_col : col of the pk --- parameter p_table : concerned table --- variable --- last value of the sequence -last_sequence int8; --- max value of the pk -max_sequence int8; --- n integer -n integer; -begin --- the sequence exist ? - select count(*) into n from pg_class where relkind='S' and relname=lower(p_sequence); - if n = 0 then - raise exception ' Unknow sequence % ',p_sequence; - end if; - select count(*) into n from pg_class where relkind='r' and relname=lower(p_table); - if n = 0 then - raise exception ' Unknow table % ',p_table; - end if; - - execute 'select last_value from '||p_sequence into last_sequence; - raise notice 'Last value of the sequence is %', last_sequence; - - execute 'select max('||p_col||') from '||p_table into max_sequence; - if max_sequence is null then - max_sequence := 0; - end if; - raise notice 'Max value of the sequence is %', max_sequence; - max_sequence:= max_sequence +1; - execute 'alter sequence '||p_sequence||' restart with '||max_sequence; -return 0; - -end; -$body$ language plpgsql; - -comment on function correct_sequence (text,text,text) is ' Often the primary key is a sequence number and sometimes the value of the sequence is not synchronized with the primary key ( p_sequence : sequence name, p_col : col of the pk,p_table : concerned table'; -commit; -begin; -select correct_sequence('s_jnt_fic_att_value','jft_id','jnt_fic_att_value'); - --- bug 17544 --- add a pk to the table jnt_fic_attr -alter table jnt_fic_attr add jnt_id int8; -create sequence s_jnt_id; -alter table jnt_fic_attr alter jnt_id set default nextval('s_jnt_id'); -update jnt_fic_attr set jnt_id=nextval('s_jnt_id'); -alter table jnt_fic_attr add constraint pk_jnt_fic_attr primary key (jnt_id); - --- remove duplicate attr -delete from jnt_fic_attr where jnt_id in ( select a.jnt_id from jnt_fic_attr a join jnt_fic_attr b on (a.fd_id=b.fd_id and a.ad_id=b.ad_id) where a.jnt_id > b.jnt_id); - --- bug 17543 - ---account_compute -CREATE or replace FUNCTION account_parent(p_account poste_comptable) RETURNS poste_comptable - AS $$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sParent varchar; - nCount integer; -begin - sParent:=to_char(p_account,'9999999999999999'); - sParent:=trim(sParent); - nParent:=0; - while nParent = 0 loop - select count(*) into nCount - from tmp_pcmn - where - pcm_val = to_number(sParent,'9999999999999999'); - if nCount != 0 then - nParent:=to_number(sParent,'9999999999999999'); - end if; - sParent:= substr(sParent,1,length(sParent)-1); - if length(sParent) <= 0 then - raise exception 'Impossible de trouver le compte parent pour %',p_account; - end if; - end loop; - raise notice 'account_parent : Parent is %',nParent; - return nParent; -end; -$$ - LANGUAGE plpgsql; - - -commit; - - -CREATE or replace FUNCTION account_compute(p_f_id integer) RETURNS poste_comptable - AS $$ -declare - class_base poste_comptable; - maxcode int8; -begin - select fd_class_base into class_base - from - fiche_def join fiche using (fd_id) - where - f_id=p_f_id; - raise notice 'account_compute class base %',class_base; - select max(pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - if maxcode = class_base then - maxcode:=class_base*1000; - end if; - maxcode:=maxcode+1; - raise notice 'account_compute Max code %',maxcode; - return maxcode; -end; -$$ - LANGUAGE plpgsql; - - - --- --- Name: account_insert(integer, poste_comptable); Type: FUNCTION; Schema: public; Owner: phpcompta --- - -CREATE or replace FUNCTION account_insert(p_f_id integer, p_account poste_comptable) RETURNS integer - AS $$ -declare -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nNew tmp_pcmn.pcm_val%type; -bAuto bool; -nFd_id integer; -nCount integer; -begin - - if length(trim(p_account)) != 0 then - raise notice 'p_account is not empty'; - select * into nCount from tmp_pcmn where pcm_val=p_account; - if nCount !=0 then - raise notice 'this account exists in tmp_pcmn '; - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) - values (p_account,sName,nParent); - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999')); - - end if; - else - raise notice 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - if bAuto = true then - raise notice 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise notice 'nNew %', nNew; - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999')); - - else - perform attribut_insert(p_f_id,5,null); - end if; - end if; - -return 0; -end; -$$ - LANGUAGE plpgsql; -update version set val=20; -commit; diff --git a/sources/html/admin/sql/patch/upgrade20.sql b/sources/html/admin/sql/patch/upgrade20.sql deleted file mode 100644 index a779be7..0000000 --- a/sources/html/admin/sql/patch/upgrade20.sql +++ /dev/null @@ -1,125 +0,0 @@ -begin; -CREATE or replace FUNCTION insert_quant_sold - (p_internal text, - p_fiche character varying, - p_quant integer, - p_price numeric, - p_vat numeric, - p_vat_code integer, - p_client character varying) -RETURNS void -AS - $body$ -declare - fid_client integer; - fid_good integer; -begin - select f_id into fid_client from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(p_client); - - select f_id into fid_good from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(p_fiche); - - - insert into quant_sold - (qs_internal,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client) - values - (p_internal,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client); - return; -end; - $body$ LANGUAGE plpgsql; - --- add quick code for contact - -insert into attr_min (frd_id,ad_id) - select distinct 16,23 - from attr_min - where not exists (select * from attr_min where ad_id=23 and frd_id=16); - - -insert into jnt_fic_attr (fd_id,ad_id) - select fd_id,23 from fiche_def where frd_id=16 - and not exists (select * - from jnt_fic_attr join fiche_def using (fd_id) - where frd_id=16 and ad_id=23); - - -CREATE or replace FUNCTION update_quick_code(njft_id integer, tav_text text) RETURNS integer - AS $body$ - declare - ns integer; - nExist integer; - tText text; - old_qcode varchar; - begin - -- get current value - select av_text into old_qcode from attr_value where jft_id=njft_id; - -- av_text didn't change so no update - if tav_text = upper( trim(old_qcode)) then - return 0; - end if; - - tText := trim(upper(tav_text)); - tText := replace(tText,' ',''); - if length ( tText) = 0 or tText is null then - return 0; - end if; - - ns := njft_id; - - loop - -- av_text already used ? - select count(*) into nExist - from jnt_fic_att_value join attr_value using (jft_id) - where - ad_id=23 and av_text=tText; - - if nExist = 0 then - exit; - end if; - if tText = 'FID'||ns then - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - end if; - tText :='FID'||ns; - - end loop; - update attr_value set av_text = tText where jft_id=njft_id; - - -- update also the contact - update attr_value set av_text = tText - where jft_id in - ( select jft_id - from jnt_fic_att_value join attr_value using (jft_id) - where ad_id=25 and av_text=old_qcode); - - - update jrnx set j_qcode=tText where j_qcode = old_qcode; - return ns; - end; -$body$ - LANGUAGE plpgsql; - - -update parm_periode set p_end = p_start where p_end is null; -alter table parm_periode alter p_end set not null; - -create or replace function drop_it (p_constraint varchar) -returns void as -$body$ -declare --- drop a constraint if it exists - nCount integer; -begin - select count(*) into nCount from pg_constraint where conname=p_constraint; - if nCount = 1 then - execute 'alter table parm_periode drop constraint '||p_constraint ; - end if; -end; -$body$ language plpgsql; - -select drop_it('parm_periode_p_start_key'); -create unique index x_periode on parm_periode (p_start,p_end); - -update version set val=21; -commit; diff --git a/sources/html/admin/sql/patch/upgrade21.sql b/sources/html/admin/sql/patch/upgrade21.sql deleted file mode 100644 index 2c34de4..0000000 --- a/sources/html/admin/sql/patch/upgrade21.sql +++ /dev/null @@ -1,14 +0,0 @@ -begin; -alter table import_tmp add jr_rapt text; - -delete from jnt_fic_attr - where jnt_id in ( - select a.jnt_id - from jnt_fic_attr as a join jnt_fic_attr as b - on (a.fd_id=b.fd_id and a.ad_id=b.ad_id) - where b.jnt_id > a.jnt_id); - -create unique index fd_id_ad_id_x on jnt_fic_attr( fd_id,ad_id); - -update version set val=22; -commit; diff --git a/sources/html/admin/sql/patch/upgrade22.sql b/sources/html/admin/sql/patch/upgrade22.sql deleted file mode 100644 index d913d26..0000000 --- a/sources/html/admin/sql/patch/upgrade22.sql +++ /dev/null @@ -1,88 +0,0 @@ -begin; -create or replace function account_insert (p_f_id integer, p_account poste_comptable) -RETURNS int4 AS -$body$ -declare -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nNew tmp_pcmn.pcm_val%type; -bAuto bool; -nFd_id integer; -nCount integer; -begin - - if length(trim(p_account)) != 0 then - raise notice 'p_account is not empty'; - select * into nCount from tmp_pcmn where pcm_val=p_account; - if nCount !=0 then - raise notice 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,to_char(p_account,'999999999999')); - else - -- account doesn't exist, create it - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) - values (p_account,sName,nParent); - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999')); - - end if; - else - raise notice 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - if bAuto = true then - raise notice 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise notice 'nNew %', nNew; - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999')); - - else - perform attribut_insert(p_f_id,5,null); - end if; - end if; - -return 0; -end; -$body$ -LANGUAGE 'plpgsql' VOLATILE; - --- Function: attribut_insert(p_f_id int4, p_ad_id int4, p_value "varchar") - --- DROP FUNCTION attribut_insert(p_f_id int4, p_ad_id int4, p_value "varchar"); - -CREATE OR REPLACE FUNCTION attribut_insert(p_f_id int4, p_ad_id int4, p_value "varchar") - RETURNS void AS -$BODY$ -declare - n_jft_id integer; -begin - select nextval('s_jnt_fic_att_value') into n_jft_id; - insert into jnt_fic_att_value (jft_id,f_id,ad_id) values (n_jft_id,p_f_id,p_ad_id); - insert into attr_value (jft_id,av_text) values (n_jft_id,trim(p_value)); -return; -end; -$BODY$ LANGUAGE 'plpgsql' VOLATILE; - -update attr_value set av_text=trim(av_text); - -update jrnx set j_qcode = B.av_text from - (select f_id,av_text from attr_value join jnt_fic_att_value using (jft_id) - where ad_id=5) as A - join ( select f_id,av_text from attr_value join jnt_fic_att_value using (jft_id) - where ad_id=23) as B using(f_id) where j_poste=a.av_text; - - -update jrnx set j_qcode = upper(j_qcode); - -update version set val=23; -commit; diff --git a/sources/html/admin/sql/patch/upgrade23.sql b/sources/html/admin/sql/patch/upgrade23.sql deleted file mode 100644 index 70a06be..0000000 --- a/sources/html/admin/sql/patch/upgrade23.sql +++ /dev/null @@ -1,40 +0,0 @@ -begin; - -delete from jnt_fic_attr where jnt_id in ( select a.jnt_id from jnt_fic_attr a join jnt_fic_attr b using (fd_id, ad_id) where a.jnt_id > b.jnt_id); - - -alter table quant_sold alter qs_quantite type numeric(20,4); - -drop fUNCTION public.insert_quant_sold(p_internal text, p_fiche character varying, p_quant integer, p_price numeric, -p_vat numeric, p_vat_code integer, p_client character varying) ; -CREATE FUNCTION insert_quant_sold( - p_internal text, - p_fiche character varying, - p_quant numeric, - p_price numeric, - p_vat numeric, - p_vat_code integer, - p_client character varying) RETURNS void - AS $$ -declare - fid_client integer; - fid_good integer; -begin - select f_id into fid_client from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(p_client); - - select f_id into fid_good from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(p_fiche); - - - insert into quant_sold - (qs_internal,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client) - values - (p_internal,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client); - return; -end; - $$ - LANGUAGE plpgsql; -update version set val=24; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade24.sql b/sources/html/admin/sql/patch/upgrade24.sql deleted file mode 100644 index 7c36280..0000000 --- a/sources/html/admin/sql/patch/upgrade24.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -delete from attr_min where ad_id=5; - -update version set val=25; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade25.sql b/sources/html/admin/sql/patch/upgrade25.sql deleted file mode 100644 index 4a99abb..0000000 --- a/sources/html/admin/sql/patch/upgrade25.sql +++ /dev/null @@ -1,67 +0,0 @@ -begin; - -create or replace function account_insert (p_f_id integer, p_account poste_comptable) -RETURNS int4 AS -$body$ -declare -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nNew tmp_pcmn.pcm_val%type; -bAuto bool; -nFd_id integer; -nCount integer; -begin - - if length(trim(p_account)) != 0 then - raise notice 'p_account is not empty'; - select * into nCount from tmp_pcmn where pcm_val=p_account; - if nCount !=0 then - raise notice 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,to_char(p_account,'999999999999999999999999')); - else - -- account doesn't exist, create it - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) - values (p_account,sName,nParent); - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999999999999999')); - - end if; - else - raise notice 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - if bAuto = true then - raise notice 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise notice 'nNew %', nNew; - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999999999999999')); - - else - -- if there is an account_base then it is the default - select fd_class_base into nNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if nNew is null or length(trim(nNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999999999999999')); - end if; - end if; - end if; - -return 0; -end; -$body$ -LANGUAGE 'plpgsql' VOLATILE; -update version set val=26; -commit; diff --git a/sources/html/admin/sql/patch/upgrade26.sql b/sources/html/admin/sql/patch/upgrade26.sql deleted file mode 100644 index 3cfc9d5..0000000 --- a/sources/html/admin/sql/patch/upgrade26.sql +++ /dev/null @@ -1,94 +0,0 @@ -begin; -CREATE or replace FUNCTION account_compute(p_f_id integer) RETURNS poste_comptable - AS $$ -declare - class_base poste_comptable; - maxcode poste_comptable; -begin - select fd_class_base into class_base - from - fiche_def join fiche using (fd_id) - where - f_id=p_f_id; - raise notice 'account_compute class base %',class_base; - select count (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - if maxcode = 0 then - maxcode:=class_base; - else - select max (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - end if; - if maxcode = class_base then - maxcode:=class_base*1000; - end if; - maxcode:=maxcode+1; - raise notice 'account_compute Max code %',maxcode; - return maxcode; -end; -$$ - LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION account_insert(p_f_id integer, p_account poste_comptable) RETURNS integer - AS $$ -declare -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nNew tmp_pcmn.pcm_val%type; -bAuto bool; -nFd_id integer; -nCount integer; -begin - - if length(trim(p_account)) != 0 then - raise notice 'p_account is not empty'; - select * into nCount from tmp_pcmn where pcm_val=p_account; - if nCount !=0 then - raise notice 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,to_char(p_account,'999999999999999999999999')); - else - -- account doesn't exist, create it - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - perform attribut_insert(p_f_id,5,to_char(p_account,'999999999999999999999999')); - - end if; - else - raise notice 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - if bAuto = true then - raise notice 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise notice 'nNew %', nNew; - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999999999999999')); - - else - -- if there is an account_base then it is the default - select fd_class_base into nNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if nNew is null or length(trim(nNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999999999999999')); - end if; - end if; - end if; - -return 0; -end; -$$ - LANGUAGE plpgsql; - - -update version set val=27; -commit; diff --git a/sources/html/admin/sql/patch/upgrade27.sql b/sources/html/admin/sql/patch/upgrade27.sql deleted file mode 100644 index 0f38ef9..0000000 --- a/sources/html/admin/sql/patch/upgrade27.sql +++ /dev/null @@ -1,8 +0,0 @@ -begin; - -insert into format_csv_banque values ('Dexia','dexia_be.inc.php'); -alter table stock_goods alter sg_quantity type numeric(8,4); -alter table stock_goods add sg_comment varchar(80); -alter table stock_goods add sg_exercice varchar(4); -update version set val=28; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade28.sql b/sources/html/admin/sql/patch/upgrade28.sql deleted file mode 100644 index 950b895..0000000 --- a/sources/html/admin/sql/patch/upgrade28.sql +++ /dev/null @@ -1,14 +0,0 @@ -begin; -delete from user_sec_act where ua_act_id in (2,9,19,18); -delete from action where ac_id=2; -delete from action where ac_id=9; -delete from action where ac_id=19; -delete from action where ac_id=18; -update action set ac_description='Lecture du Grand-Livre' where ac_id=1; -insert into action values (31,'Gestion des périodes comptables'); -update action set ac_description = 'Lecture des fiches' where ac_id=3; -update action set ac_description = 'Ajout de fiche et modification' where ac_id=15; -update action set ac_description = 'Création et modifications des rapports' where ac_id=5; - -update version set val=29; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade29.sql b/sources/html/admin/sql/patch/upgrade29.sql deleted file mode 100644 index b8a09ec..0000000 --- a/sources/html/admin/sql/patch/upgrade29.sql +++ /dev/null @@ -1,31 +0,0 @@ -begin; -CREATE or REPLACE FUNCTION account_update(p_f_id integer, p_account poste_comptable) RETURNS integer - AS $$ -declare -nMax fiche.f_id%type; -nCount integer; -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nJft_id attr_value.jft_id%type; -begin - - if length(trim(p_account)) != 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - end if; - end if; - select jft_id into njft_id from jnt_fic_att_value where f_id=p_f_id and ad_id=5; - update attr_value set av_text=p_account where jft_id=njft_id; - -return njft_id; -end; -$$ - LANGUAGE plpgsql; -update version set val=30; -commit; diff --git a/sources/html/admin/sql/patch/upgrade30.sql b/sources/html/admin/sql/patch/upgrade30.sql deleted file mode 100644 index 364d728..0000000 --- a/sources/html/admin/sql/patch/upgrade30.sql +++ /dev/null @@ -1,14 +0,0 @@ -begin ; -alter table jrn_action drop constraint "$1"; -alter table jrn_def drop constraint "$1"; - -update jrn_action set ja_jrn_type='ODS' where ja_jrn_type='OD '; -update jrn_def set jrn_def_type='ODS' where jrn_def_type = 'OD '; -update jrn_type set jrn_type_id='ODS' where jrn_type_id ='OD '; - -alter table jrn_action add constraint "$1" foreign key (ja_jrn_type) references jrn_type(jrn_type_id); - -alter table jrn_def add constraint "$1" FOREIGN KEY (jrn_def_type) REFERENCES jrn_type(jrn_type_id); -update version set val=31; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade31.sql b/sources/html/admin/sql/patch/upgrade31.sql deleted file mode 100644 index 38345b2..0000000 --- a/sources/html/admin/sql/patch/upgrade31.sql +++ /dev/null @@ -1,613 +0,0 @@ -begin ; - -CREATE or replace FUNCTION insert_quant_sold( - p_internal text, - p_jid numeric, - p_fiche character varying, - p_quant numeric, - p_price numeric, - p_vat numeric, - p_vat_code integer, - p_client character varying) - RETURNS void - AS $$ -declare - fid_client integer; - fid_good integer; -begin - - select f_id into fid_client from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(p_client); - select f_id into fid_good from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(p_fiche); - insert into quant_sold - (qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client,qs_valid) - values - (p_internal,p_jid,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client,'Y'); - return; -end; - $$ - LANGUAGE plpgsql; - - - -CREATE or REPLACE FUNCTION account_update(p_f_id integer, p_account poste_comptable) RETURNS integer - AS $$ -declare -nMax fiche.f_id%type; -nCount integer; -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nJft_id attr_value.jft_id%type; -begin - - if length(trim(p_account)) != 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - end if; - end if; - select jft_id into njft_id from jnt_fic_att_value where f_id=p_f_id and ad_id=5; - update attr_value set av_text=p_account where jft_id=njft_id; - -return njft_id; -end; -$$ - LANGUAGE plpgsql; - - - -CREATE TABLE quant_purchase ( - qp_id integer DEFAULT nextval(('s_quantity'::text)::regclass) NOT NULL, - qp_internal text NOT NULL, - j_id integer not null, - qp_fiche integer NOT NULL, - qp_quantite numeric(20,4) NOT NULL, - qp_price numeric(20,4), - qp_vat numeric(20,4) default 0.0, - qp_vat_code integer, - qp_nd_amount numeric(20,4) default 0.0, - qp_nd_tva numeric(20,4) default 0.0, - qp_nd_tva_recup numeric(20,4) default 0.0, - qp_supplier integer NOT NULL, - qp_valid char(1) default 'Y' not null -); -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT qp_id_pk PRIMARY KEY (qp_id); - -ALTER TABLE ONLY quant_purchase - ADD CONSTRAINT quant_purchase_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - ---- -truncate quant_sold; -alter table quant_sold ADD qs_valid char(1) ; -alter table quant_sold add j_id integer; -alter table quant_sold alter j_id set not null; - -ALTER TABLE ONLY quant_sold - ADD CONSTRAINT quant_sold_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - -update quant_sold set qs_valid='Y'; -alter table quant_sold alter qs_valid set default 'Y'; -alter table quant_sold alter qs_valid set not null; - - - -CREATE or replace FUNCTION insert_quant_purchase - (p_internal text, - p_j_id numeric, - p_fiche character varying, - p_quant numeric, - p_price numeric, - p_vat numeric, - p_vat_code integer, - p_nd_amount numeric, - p_nd_tva numeric, - p_nd_tva_recup numeric, - p_client character varying) RETURNS void - AS $$ -declare - fid_client integer; - fid_good integer; -begin - select f_id into fid_client from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(p_client); - select f_id into fid_good from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(p_fiche); - insert into quant_purchase - (qp_internal, - j_id, - qp_fiche, - qp_quantite, - qp_price, - qp_vat, - qp_vat_code, - qp_nd_amount, - qp_nd_tva, - qp_nd_tva_recup, - qp_supplier) - values - (p_internal, - p_j_id, - fid_good, - p_quant, - p_price, - p_vat, - p_vat_code, - p_nd_amount, - p_nd_tva, - p_nd_tva_recup, - fid_client); - return; -end; - $$ - LANGUAGE plpgsql; -insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values(9,'Comptes hors Compta',0); - -COMMENT ON TABLE parameter IS 'parameter of the company'; - --- --- Name: plan_analytique; Type: TABLE; Schema: public; Owner: phpcompta; Tablespace: --- - -CREATE TABLE plan_analytique ( - pa_id integer NOT NULL, - pa_name text DEFAULT 'Sans Nom'::text NOT NULL, - pa_description text -); - --- --- Name: TABLE plan_analytique; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON TABLE plan_analytique IS 'Plan Analytique (max 5)'; - - --- --- Name: plan_analytique_pa_id_seq; Type: SEQUENCE; Schema: public; Owner: phpcompta --- - -CREATE SEQUENCE plan_analytique_pa_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: pa_id; Type: DEFAULT; Schema: public; Owner: phpcompta --- - -ALTER TABLE plan_analytique ALTER COLUMN pa_id SET DEFAULT nextval('plan_analytique_pa_id_seq'::regclass); - - --- --- Name: plan_analytique_pa_name_key; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY plan_analytique - ADD CONSTRAINT plan_analytique_pa_name_key UNIQUE (pa_name); - - --- --- Name: plan_analytique_pkey; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY plan_analytique - ADD CONSTRAINT plan_analytique_pkey PRIMARY KEY (pa_id); - - --- Ajout table operation_analytique - --- Ajout table poste_analytique --- --- Name: poste_analytique; Type: TABLE; Schema: public; Owner: phpcompta; Tablespace: --- - -CREATE TABLE poste_analytique ( - po_id integer NOT NULL, - po_name text NOT NULL, - pa_id integer NOT NULL, - po_amount numeric(20,4) DEFAULT 0.0 NOT NULL, - po_description text -); - - - --- --- Name: TABLE poste_analytique; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON TABLE poste_analytique IS 'Poste Analytique'; - - --- --- Name: poste_analytique_po_id_seq; Type: SEQUENCE; Schema: public; Owner: phpcompta --- - -CREATE SEQUENCE poste_analytique_po_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - - - - --- --- Name: po_id; Type: DEFAULT; Schema: public; Owner: phpcompta --- - -ALTER TABLE poste_analytique ALTER COLUMN po_id SET DEFAULT nextval('poste_analytique_po_id_seq'::regclass); - - --- --- Name: poste_analytique_pkey; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY poste_analytique - ADD CONSTRAINT poste_analytique_pkey PRIMARY KEY (po_id); - - --- --- Name: poste_analytique_pa_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta --- - -ALTER TABLE ONLY poste_analytique - ADD CONSTRAINT poste_analytique_pa_id_fkey FOREIGN KEY (pa_id) REFERENCES plan_analytique(pa_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: operation_analytique; Type: TABLE; Schema: public; Owner: phpcompta; Tablespace: --- -create sequence s_oa_group; - -CREATE TABLE operation_analytique ( - oa_id integer NOT NULL, - po_id integer NOT NULL, - pa_id integer not null, - oa_amount numeric(20,4) NOT NULL, - oa_description text, - oa_debit boolean DEFAULT true NOT NULL, - j_id integer, - oa_group integer DEFAULT nextval('s_oa_group'::regclass) NOT NULL, - oa_date date NOT NULL -); - - - --- --- Name: TABLE operation_analytique; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON TABLE operation_analytique IS 'History of the analytic account'; - - --- --- Name: historique_analytique_ha_id_seq; Type: SEQUENCE; Schema: public; Owner: phpcompta --- - -CREATE SEQUENCE historique_analytique_ha_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: oa_id; Type: DEFAULT; Schema: public; Owner: phpcompta --- - -ALTER TABLE operation_analytique ALTER COLUMN oa_id SET DEFAULT nextval('historique_analytique_ha_id_seq'::regclass); - - --- --- Name: historique_analytique_pkey; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY operation_analytique - ADD CONSTRAINT historique_analytique_pkey PRIMARY KEY (oa_id); - - --- --- Name: operation_analytique_j_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta --- - -ALTER TABLE ONLY operation_analytique - ADD CONSTRAINT operation_analytique_j_id_fkey FOREIGN KEY (j_id) REFERENCES jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: operation_analytique_po_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta --- - -ALTER TABLE ONLY operation_analytique - ADD CONSTRAINT operation_analytique_po_id_fkey FOREIGN KEY (po_id) REFERENCES poste_analytique(po_id) ON UPDATE CASCADE ON DELETE CASCADE; - -INSERT INTO parameter VALUES ('MY_ANALYTIC', 'nu'); - -alter table jrn add constraint ux_internal unique (jr_internal); - -alter table user_sec_jrn add constraint uj_priv_id_fkey foreign key(uj_jrn_id) references jrn_def(jrn_def_id) on update cascade on delete cascade; -alter table user_sec_jrn drop constraint "$1"; -alter table operation_analytique add oa_row int4; - -create or replace function upper_po_name() returns trigger as $$ -declare - name text; -begin - name:=upper(NEW.po_name); - name:=trim(name); - name:=replace(name,' ',''); - NEW.po_name:=name; - -return NEW; -end; -$$ LANGUAGE plpgsql; - -create or replace function upper_pa_name() returns trigger as $$ -declare - name text; -begin - name:=upper(NEW.pa_name); - name:=trim(name); - name:=replace(name,' ',''); - NEW.pa_name:=name; -return NEW; -end; -$$ LANGUAGE plpgsql; - - -CREATE TRIGGER t_upper_po_name BEFORE INSERT OR UPDATE ON poste_analytique - FOR EACH ROW EXECUTE PROCEDURE upper_po_name(); - -CREATE TRIGGER t_upper_pa_name before INSERT OR UPDATE on plan_analytique - FOR EACH ROW EXECUTE PROCEDURE upper_pa_name(); - -create unique index ux_po_name on poste_analytique (po_name); - -insert into parameter (pr_id,pr_value) select distinct 'MY_COUNTRY',pcm_country from tmp_pcmn limit 1; - -alter table tmp_pcmn drop pcm_country; - - -CREATE TABLE bilan ( - b_id integer NOT NULL, - b_name text NOT NULL, - b_file_template text NOT NULL, - b_file_form text, - b_type text NOT NULL -); - - - --- --- Name: TABLE bilan; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON TABLE bilan IS 'contains the template and the data for generating different documents '; - - --- --- Name: COLUMN bilan.b_id; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN bilan.b_id IS 'primary key'; - - --- --- Name: COLUMN bilan.b_name; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN bilan.b_name IS 'Name of the document'; - - --- --- Name: COLUMN bilan.b_file_template; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN bilan.b_file_template IS 'path of the template (document/...)'; - - --- --- Name: COLUMN bilan.b_file_form; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN bilan.b_file_form IS 'path of the file with forms'; - - --- --- Name: COLUMN bilan.b_type; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN bilan.b_type IS 'type = ODS, RTF...'; - - --- --- Name: bilan_b_id_seq; Type: SEQUENCE; Schema: public; Owner: phpcompta --- - -CREATE SEQUENCE bilan_b_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - - --- --- Name: bilan_b_id_seq; Type: SEQUENCE SET; Schema: public; Owner: phpcompta --- - -SELECT pg_catalog.setval('bilan_b_id_seq', 4, true); - - --- --- Name: b_id; Type: DEFAULT; Schema: public; Owner: phpcompta --- - -ALTER TABLE bilan ALTER COLUMN b_id SET DEFAULT nextval('bilan_b_id_seq'::regclass); - - --- --- Data for Name: bilan; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -INSERT INTO bilan VALUES (1, 'Bilan Belge complet', 'document/fr_be/bnb.rtf', 'document/fr_be/bnb.form', 'RTF'); - - --- --- Name: bilan_b_name_key; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY bilan - ADD CONSTRAINT bilan_b_name_key UNIQUE (b_name); - - --- --- Name: bilan_pkey; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY bilan - ADD CONSTRAINT bilan_pkey PRIMARY KEY (b_id); - - --- --- PostgreSQL database dump complete --- -CREATE TABLE op_predef ( - od_id integer NOT NULL, - jrn_def_id integer NOT NULL, - od_name text NOT NULL, - od_item integer NOT NULL, - od_jrn_type text NOT NULL -); - - - --- --- Name: TABLE op_predef; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON TABLE op_predef IS 'predefined operation'; - - --- --- Name: COLUMN op_predef.jrn_def_id; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN op_predef.jrn_def_id IS 'jrn_id'; - - --- --- Name: COLUMN op_predef.od_name; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN op_predef.od_name IS 'name of the operation'; - - --- --- Name: op_def_op_seq; Type: SEQUENCE; Schema: public; Owner: phpcompta --- - -CREATE SEQUENCE op_def_op_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - --- --- Name: od_id; Type: DEFAULT; Schema: public; Owner: phpcompta --- - -ALTER TABLE op_predef ALTER COLUMN od_id SET DEFAULT nextval('op_def_op_seq'::regclass); - - --- --- Name: op_def_op_name_key; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY op_predef - ADD CONSTRAINT op_def_op_name_key UNIQUE (od_name,jrn_def_id); - - --- --- Name: op_def_pkey; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY op_predef - ADD CONSTRAINT op_def_pkey PRIMARY KEY (od_id); - - --- --- Name: jrn_def_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta --- - -ALTER TABLE ONLY op_predef - ADD CONSTRAINT jrn_def_id_fk FOREIGN KEY (jrn_def_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - -CREATE TABLE op_predef_detail ( - opd_id integer NOT NULL, - od_id integer NOT NULL, - opd_poste text NOT NULL, - opd_amount numeric(20,4), - opd_tva_id integer, - opd_quantity numeric(20,4), - opd_debit boolean NOT NULL, - opd_tva_amount numeric(20,4), - opd_comment text -); - - - --- --- Name: TABLE op_predef_detail; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON TABLE op_predef_detail IS 'contains the detail of predefined operations'; - - --- --- Name: op_predef_detail_opd_id_seq; Type: SEQUENCE; Schema: public; Owner: phpcompta --- - -CREATE SEQUENCE op_predef_detail_opd_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - --- --- Name: opd_id; Type: DEFAULT; Schema: public; Owner: phpcompta --- - -ALTER TABLE op_predef_detail ALTER COLUMN opd_id SET DEFAULT nextval('op_predef_detail_opd_id_seq'::regclass); - - --- --- Name: op_predef_detail_pkey; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY op_predef_detail - ADD CONSTRAINT op_predef_detail_pkey PRIMARY KEY (opd_id); - -INSERT INTO "action" VALUES (50, 'Definir les Plans Analytiques et les postes'); -INSERT INTO "action" VALUES (51, 'Impression CA'); -INSERT INTO "action" VALUES (52, 'Operations Diverses CA'); -update version set val=32; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade32.sql b/sources/html/admin/sql/patch/upgrade32.sql deleted file mode 100644 index 55d77a2..0000000 --- a/sources/html/admin/sql/patch/upgrade32.sql +++ /dev/null @@ -1,10 +0,0 @@ -begin ; -delete from jrn where jr_internal is null; -delete from jrnx where j_grpt not in (select jr_grpt_id from jrn); -alter table op_predef add od_direct bool; -update op_predef set od_direct=false; -alter table op_predef alter od_direct set not null; -alter table op_predef_detail add od_qc bool; -update version set val=33; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade33.sql b/sources/html/admin/sql/patch/upgrade33.sql deleted file mode 100644 index 5c5c169..0000000 --- a/sources/html/admin/sql/patch/upgrade33.sql +++ /dev/null @@ -1,6 +0,0 @@ -begin ; - -alter table op_predef_detail rename od_qc to opd_qc; - -update version set val=34; -commit; diff --git a/sources/html/admin/sql/patch/upgrade34.sql b/sources/html/admin/sql/patch/upgrade34.sql deleted file mode 100644 index 6e158df..0000000 --- a/sources/html/admin/sql/patch/upgrade34.sql +++ /dev/null @@ -1,72 +0,0 @@ -begin; - -CREATE or replace FUNCTION t_jrn_def_sequence() RETURNS "trigger" - AS $$ -declare -nCounter integer; - - BEGIN - select count(*) into nCounter - from pg_class where relname='s_jrn_'||NEW.jrn_def_id; - if nCounter = 0 then - execute 'create sequence s_jrn_'||NEW.jrn_def_id; - raise notice 'Creating sequence s_jrn_%',NEW.jrn_def_id; - end if; - - RETURN NEW; - END; -$$ - LANGUAGE plpgsql; - -create or replace function correct_sequence_jrn () returns void -as $$ -declare - nCounter integer; - nJrn_id record; -begin - for nJrn_id in select jrn_Def_id from jrn_def loop - select count(*) into nCounter - from pg_class where relname='s_jrn_'||nJrn_id.jrn_def_id; - if nCounter = 0 then - execute 'create sequence s_jrn_'||nJrn_id.jrn_def_id; - raise notice 'Creating sequence s_jrn_%',nJrn_id.jrn_def_id; - end if; - - - end loop; -end; -$$ - LANGUAGE plpgsql; -select correct_sequence_jrn(); - -drop function correct_sequence_jrn(); - - - -CREATE OR REPLACE FUNCTION tva_delete(int4) - RETURNS void AS -$BODY$ -declare - p_tva_id alias for $1; - nCount integer; -begin - nCount=0; - select count(*) into nCount from quant_sold where qs_vat_code=p_tva_id; - if nCount != 0 then - return; - - end if; - select count(*) into nCount from quant_purchase where qp_vat_code=p_tva_id; - if nCount != 0 then - return; - - end if; - -delete from tva_rate where tva_id=p_tva_id; - return; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -update version set val=35; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade35.sql b/sources/html/admin/sql/patch/upgrade35.sql deleted file mode 100644 index bff598e..0000000 --- a/sources/html/admin/sql/patch/upgrade35.sql +++ /dev/null @@ -1,45 +0,0 @@ -begin; - - - -CREATE or replace FUNCTION t_document_modele_validate() RETURNS "trigger" - AS $$ -declare - lText text; - modified document_modele%ROWTYPE; -begin - modified=NEW; - - modified.md_filename=replace(NEW.md_filename,' ','_'); - return modified; -end; -$$ LANGUAGE plpgsql; - - - -CREATE or replace FUNCTION t_document_validate() RETURNS "trigger" - AS $$ -declare - lText text; - modified document%ROWTYPE; -begin - modified=NEW; - modified.d_filename=replace(NEW.d_filename,' ','_'); - return modified; -end; -$$ LANGUAGE plpgsql; - - -CREATE TRIGGER document_validate - BEFORE INSERT OR UPDATE ON document - FOR EACH ROW - EXECUTE PROCEDURE t_document_validate(); - -CREATE TRIGGER document_modele_validate - BEFORE INSERT OR UPDATE ON document_modele - FOR EACH ROW - EXECUTE PROCEDURE t_document_modele_validate(); - -update operation_analytique set oa_debit=j_debit from jrnx where jrnx.j_id=operation_analytique.j_id ; -update version set val=36; -commit; diff --git a/sources/html/admin/sql/patch/upgrade36.BE.sql b/sources/html/admin/sql/patch/upgrade36.BE.sql deleted file mode 100644 index aae9dbb..0000000 --- a/sources/html/admin/sql/patch/upgrade36.BE.sql +++ /dev/null @@ -1,44 +0,0 @@ -INSERT INTO parm_poste (p_value, p_type) VALUES (1, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (101, 'PASINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (141, 'PASINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (42, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (43, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (44, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (45, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (46, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (47, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (48, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (492, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (493, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (2, 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES (2409, 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (3, 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES (5, 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES (491, 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES (490, 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES (6, 'CHA'); -INSERT INTO parm_poste (p_value, p_type) VALUES (7, 'PRO'); -INSERT INTO parm_poste (p_value, p_type) VALUES (4, 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES (40, 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES (5501, 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (5511, 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (5521, 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (5531, 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (5541, 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (5551, 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (5561, 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (5571, 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (5581, 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (5591, 'ACTINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (6311, 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (6321, 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (6331, 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (6341, 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (6351, 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (6361, 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (6371, 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (649, 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (6511, 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (6701, 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (608, 'CHAINV'); -INSERT INTO parm_poste (p_value, p_type) VALUES (709, 'PROINV'); diff --git a/sources/html/admin/sql/patch/upgrade36.FR.sql b/sources/html/admin/sql/patch/upgrade36.FR.sql deleted file mode 100644 index a557b08..0000000 --- a/sources/html/admin/sql/patch/upgrade36.FR.sql +++ /dev/null @@ -1,45 +0,0 @@ --- --- PostgreSQL database dump --- - -SET client_encoding = 'utf8'; -SET standard_conforming_strings = off; -SET check_function_bodies = false; -SET client_min_messages = warning; -SET escape_string_warning = off; - -SET search_path = public, pg_catalog; - --- --- Data for Name: parm_poste; Type: TABLE DATA; Schema: public; Owner: phpcompta --- - -INSERT INTO parm_poste (p_value, p_type) VALUES (1, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (12, 'CON'); -INSERT INTO parm_poste (p_value, p_type) VALUES (2, 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES (3, 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES (41, 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES (42, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (43, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (44, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (45, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (46, 'CON'); -INSERT INTO parm_poste (p_value, p_type) VALUES (47, 'CON'); -INSERT INTO parm_poste (p_value, p_type) VALUES (481, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (482, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (483, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (484, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (485, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (486, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (487, 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES (49, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (5, 'ACT'); -INSERT INTO parm_poste (p_value, p_type) VALUES (6, 'CHA'); -INSERT INTO parm_poste (p_value, p_type) VALUES (7, 'PAS'); -INSERT INTO parm_poste (p_value, p_type) VALUES (40, 'ACT'); - - --- --- PostgreSQL database dump complete --- - diff --git a/sources/html/admin/sql/patch/upgrade36.sql b/sources/html/admin/sql/patch/upgrade36.sql deleted file mode 100644 index 82e2f3a..0000000 --- a/sources/html/admin/sql/patch/upgrade36.sql +++ /dev/null @@ -1,695 +0,0 @@ -begin; -alter table import_tmp add n_montant numeric(20,4); -update import_tmp set n_montant=to_number(montant,'999999999.99'); -alter table import_tmp drop montant; -alter table import_tmp rename n_montant to montant; --- alter table import_tmp alter montant type numeric(20,4); -alter table import_tmp alter montant set default 0; -alter table import_tmp alter montant set not null; -alter table import_tmp alter code set not null; -alter table import_tmp alter date_exec set not null; -alter table import_tmp alter date_valeur set not null; - -COMMENT ON TABLE import_tmp IS 'Table temporaire pour l''importation des banques en format CSV'; -COMMENT ON COLUMN import_tmp.status IS 'Status w waiting, d delete t transfert'; - - -alter table poste_analytique add ga_id varchar (10); - - -CREATE or replace FUNCTION t_document_validate() RETURNS "trigger" - AS $$ -declare - lText text; - modified document%ROWTYPE; -begin - modified:=NEW; - modified.d_filename:=replace(NEW.d_filename,' ','_'); - return modified; -end; -$$ - LANGUAGE plpgsql; - - -CREATE or replace FUNCTION t_document_type_insert() RETURNS "trigger" - AS $$ -declare -nCounter integer; - BEGIN -select count(*) into nCounter from pg_class where relname='seq_doc_type_'||NEW.dt_id; -if nCounter = 0 then - execute 'create sequence seq_doc_type_'||NEW.dt_id; -end if; - RETURN NEW; - END; -$$ - LANGUAGE plpgsql; - -CREATE or replace FUNCTION t_document_modele_validate() RETURNS "trigger" - AS $$ -declare - lText text; - modified document_modele%ROWTYPE; -begin - modified:=NEW; - - modified.md_filename:=replace(NEW.md_filename,' ','_'); - return modified; -end; -$$ - LANGUAGE plpgsql; - - -CREATE TABLE groupe_analytique -( - ga_id varchar(10) NOT NULL, - pa_id int, - ga_description text, - CONSTRAINT pk_ga_id PRIMARY KEY (ga_id) -) ; - - -CREATE OR REPLACE FUNCTION group_analytic_ins_upd() - RETURNS "trigger" AS -$BODY$ -declare -name text; -begin -name:=upper(NEW.ga_id); -name:=trim(name); -name:=replace(name,' ',''); -NEW.ga_id:=name; -return NEW; -end;$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -CREATE OR REPLACE FUNCTION group_analytique_del() - RETURNS "trigger" AS -$BODY$ -begin -update poste_analytique set ga_id=null -where ga_id=OLD.ga_id; -return OLD; -end;$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -CREATE OR REPLACE FUNCTION poste_analytique_ins_upd() - RETURNS "trigger" AS -$BODY$declare -name text; -rCount record; - -begin -name:=upper(NEW.po_name); -name:=trim(name); -name:=replace(name,' ',''); -NEW.po_name:=name; - -if NEW.ga_id is NULL then -return NEW; -end if; - -if length(trim(NEW.ga_id)) = 0 then - NEW.ga_id:=NULL; - return NEW; -end if; -perform 'select ga_id from groupe_analytique where ga_id='||NEW.ga_id; -if NOT FOUND then - raise exception' Inexistent Group Analytic %',NEW.ga_id; -end if; -return NEW; -end;$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -CREATE OR REPLACE FUNCTION plan_analytic_ins_upd() - RETURNS "trigger" AS -$BODY$ -declare - name text; -begin - name:=upper(NEW.pa_name); - name:=trim(name); - name:=replace(name,' ',''); - NEW.pa_name:=name; -return NEW; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -CREATE TRIGGER t_poste_analytique_ins_upd - BEFORE INSERT OR UPDATE - ON poste_analytique - FOR EACH ROW - EXECUTE PROCEDURE poste_analytique_ins_upd(); - -CREATE TRIGGER t_plan_analytique_ins_upd - BEFORE INSERT OR UPDATE - ON plan_analytique - FOR EACH ROW - EXECUTE PROCEDURE plan_analytic_ins_upd(); - -CREATE TRIGGER t_group_analytic_del - before DELETE - ON groupe_analytique - FOR EACH ROW - EXECUTE PROCEDURE group_analytique_del(); - -CREATE TRIGGER t_group_analytic_ins_upd - BEFORE INSERT OR UPDATE - ON groupe_analytique - FOR EACH ROW - EXECUTE PROCEDURE group_analytic_ins_upd(); - - -drop TRIGGER t_upper_pa_name on plan_analytique; -drop TRIGGER t_upper_po_name on poste_analytique; -drop function upper_pa_name(); -drop function upper_po_name(); - -CREATE TABLE bud_hypothese -( - bh_id int4 NOT NULL, - bh_name text NOT NULL, - bh_saldo numeric(20,4) DEFAULT 0, - bh_description text, - pa_id int4, - CONSTRAINT pk_bud_hypo PRIMARY KEY (bh_id), - CONSTRAINT fk_bud_hypo_pa_id FOREIGN KEY (pa_id) - REFERENCES plan_analytique (pa_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE -) -WITHOUT OIDS; - -create sequence seq_bud_hypothese_bh_id; - -alter table bud_hypothese alter bh_id set default nextval('seq_bud_hypothese_bh_id'); - --- --- Name: bud_card; Type: TABLE; Schema: public; Owner: phpcompta; Tablespace: --- - -CREATE TABLE bud_card ( - bc_id integer NOT NULL, - bc_code character varying(10) NOT NULL, - bc_description text, - bc_price_unit numeric(20,4) DEFAULT 0.0 NOT NULL, - bc_unit character varying(20), - bh_id integer -); --- --- Name: TABLE bud_card; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON TABLE bud_card IS 'card for budget module'; - - --- --- Name: COLUMN bud_card.bh_id; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN bud_card.bh_id IS 'fk to bud_hypothese'; - - --- --- Name: bud_card_bc_id_seq; Type: SEQUENCE; Schema: public; Owner: phpcompta --- - -CREATE SEQUENCE bud_card_bc_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - --- --- Name: bc_id; Type: DEFAULT; Schema: public; Owner: phpcompta --- - -ALTER TABLE bud_card ALTER COLUMN bc_id SET DEFAULT nextval('bud_card_bc_id_seq'::regclass); - - --- --- Name: pk_bud_card_bc_id; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY bud_card - ADD CONSTRAINT pk_bud_card_bc_id PRIMARY KEY (bc_id); - - --- --- Name: uq_bud_card_bc_code; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY bud_card - ADD CONSTRAINT uq_bud_card_bc_code_bh_id UNIQUE (bc_code,bh_id); - -ALTER TABLE bud_card ADD CONSTRAINT fk_bud_hypo_bh_id FOREIGN KEY (bh_id) REFERENCES bud_hypothese (bh_id) - ON UPDATE CASCADE ON DELETE CASCADE; -CREATE INDEX fki_bud_hypo_bh_id ON bud_card(bh_id); -ALTER TABLE bud_card ALTER COLUMN bh_id SET NOT NULL; - - - --- --- Name: bud_detail; Type: TABLE; Schema: public; Owner: phpcompta; Tablespace: --- - -CREATE TABLE bud_detail ( - bd_id integer NOT NULL, - po_id integer, - bc_id integer, - bh_id integer, - pcm_val poste_comptable -); - - - --- --- Name: TABLE bud_detail; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON TABLE bud_detail IS 'Detail for card '; - - --- --- Name: COLUMN bud_detail.bd_id; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN bud_detail.bd_id IS 'primary key'; - - --- --- Name: COLUMN bud_detail.po_id; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN bud_detail.po_id IS 'FK to poste_analytique'; - - --- --- Name: COLUMN bud_detail.bc_id; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN bud_detail.bc_id IS 'fk to bud_card'; - - --- --- Name: COLUMN bud_detail.pcm_val; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN bud_detail.pcm_val IS 'fk to tmp_pcmn'; - - --- --- Name: bud_detail_bd_id_seq; Type: SEQUENCE; Schema: public; Owner: phpcompta --- - -CREATE SEQUENCE bud_detail_bd_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - - --- --- Name: bd_id; Type: DEFAULT; Schema: public; Owner: phpcompta --- - -ALTER TABLE bud_detail ALTER COLUMN bd_id SET DEFAULT nextval('bud_detail_bd_id_seq'::regclass); - - --- --- Name: pk_bud_detail; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY bud_detail - ADD CONSTRAINT pk_bud_detail PRIMARY KEY (bd_id); - - --- --- Name: fki_bud_card; Type: INDEX; Schema: public; Owner: phpcompta; Tablespace: --- - -CREATE INDEX fki_bud_card ON bud_detail USING btree (bc_id); - - --- --- Name: fki_tmp_pcmn; Type: INDEX; Schema: public; Owner: phpcompta; Tablespace: --- - -CREATE INDEX fki_tmp_pcmn ON bud_detail USING btree (pcm_val); - - --- --- Name: fk_bud_card; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta --- - -ALTER TABLE ONLY bud_detail - ADD CONSTRAINT fk_bud_card FOREIGN KEY (bc_id) REFERENCES bud_card(bc_id) ON UPDATE CASCADE ON DELETE CASCADE;; - -ALTER TABLE ONLY bud_detail - add constraint fk_bud_hypothese_not_null FOREIGN KEY (bh_id) REFERENCES bud_hypothese(bh_id) ON UPDATE CASCADE ON DELETE CASCADE;; - - --- --- Name: fk_tmp_pcmn; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta --- - -ALTER TABLE ONLY bud_detail - ADD CONSTRAINT fk_tmp_pcmn FOREIGN KEY (pcm_val) REFERENCES tmp_pcmn(pcm_val) ON UPDATE CASCADE ON DELETE CASCADE; --- --- Name: bud_detail_periode; Type: TABLE; Schema: public; Owner: phpcompta; Tablespace: --- - -CREATE TABLE bud_detail_periode ( - bdp_id integer NOT NULL, - bdp_amount numeric(20,4) DEFAULT 0.0, - p_id integer NOT NULL, - bd_id integer -); - - - --- --- Name: TABLE bud_detail_periode; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON TABLE bud_detail_periode IS 'Module budget detail by periode'; - - --- --- Name: COLUMN bud_detail_periode.p_id; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN bud_detail_periode.p_id IS 'fk to parm_periode'; - - --- --- Name: COLUMN bud_detail_periode.bd_id; Type: COMMENT; Schema: public; Owner: phpcompta --- - -COMMENT ON COLUMN bud_detail_periode.bd_id IS 'fk to bud_detail'; - - --- --- Name: bud_detail_periode_bdp_id_seq; Type: SEQUENCE; Schema: public; Owner: phpcompta --- - -CREATE SEQUENCE bud_detail_periode_bdp_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - - --- --- Name: bdp_id; Type: DEFAULT; Schema: public; Owner: phpcompta --- - -ALTER TABLE bud_detail_periode ALTER COLUMN bdp_id SET DEFAULT nextval('bud_detail_periode_bdp_id_seq'::regclass); - - --- --- Name: pk_budget_detail_period; Type: CONSTRAINT; Schema: public; Owner: phpcompta; Tablespace: --- - -ALTER TABLE ONLY bud_detail_periode - ADD CONSTRAINT pk_budget_detail_period PRIMARY KEY (bdp_id); - - --- --- Name: fk_bud_detail_bd_id; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta --- - -ALTER TABLE ONLY bud_detail_periode - ADD CONSTRAINT fk_bud_detail_bd_id FOREIGN KEY (bd_id) REFERENCES bud_detail(bd_id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: fk_parm_periode; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta --- - -ALTER TABLE ONLY bud_detail_periode - ADD CONSTRAINT fk_parm_periode FOREIGN KEY (p_id) REFERENCES parm_periode(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -CREATE OR REPLACE FUNCTION bud_detail_ins_upd() - RETURNS "trigger" AS -$BODY$declare -mline bud_detail%ROWTYPE; -begin -mline:=NEW; -if mline.po_id = -1 then - mline.po_id:=NULL; -end if; -return mline; -end;$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - - -CREATE OR REPLACE FUNCTION bud_card_ins_upd() - RETURNS "trigger" AS -$BODY$declare - sCode text; -begin - -sCode:=trim(upper(NEW.bc_code)); -sCode:=replace(sCode,' ','_'); -sCode:=substr(sCode,1,10); -NEW.bc_code:=sCode; -return NEW; -end;$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - --- --- Name: t_bud_card_ins_up; Type: TRIGGER; Schema: public; Owner: phpcompta --- - -CREATE TRIGGER t_bud_card_ins_up - BEFORE INSERT OR UPDATE ON bud_card - FOR EACH ROW - EXECUTE PROCEDURE bud_card_ins_upd(); - - --- --- Name: bud_hypothese_bh_id; Type: FK CONSTRAINT; Schema: public; Owner: phpcompta --- - -ALTER TABLE ONLY bud_card - ADD CONSTRAINT bud_hypothese_bh_id FOREIGN KEY (bh_id) REFERENCES bud_hypothese(bh_id) ON UPDATE CASCADE ON DELETE CASCADE; - - -CREATE TRIGGER t_bud_detail_ins_upd - BEFORE INSERT OR UPDATE - ON bud_detail - FOR EACH ROW - EXECUTE PROCEDURE bud_detail_ins_upd(); - - - -CREATE TABLE jrn_periode -( - jrn_def_id int4 NOT NULL, - p_id int4 NOT NULL, - status text, - CONSTRAINT jrn_periode_pk PRIMARY KEY (jrn_def_id, p_id), - CONSTRAINT jrn_per_jrn_def_id FOREIGN KEY (jrn_def_id) - REFERENCES jrn_def (jrn_def_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE, - CONSTRAINT jrn_periode_p_id FOREIGN KEY (p_id) - REFERENCES parm_periode (p_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE -); - -insert into jrn_periode(p_id,jrn_def_id,status) select p_id,jrn_def_id, - case when p_central='t' then 'CE' - when p_closed='t' then 'CL' - else 'OP' - end -from -parm_periode cross join jrn_def; - -CREATE OR REPLACE FUNCTION jrn_def_add() - RETURNS "trigger" AS -$BODY$begin -execute 'insert into jrn_periode(p_id,jrn_def_id,status) select p_id,'||NEW.jrn_def_id||', - case when p_central=true then ''CE'' - when p_closed=true then ''CL'' - else ''OP'' - end -from -parm_periode '; -return NEW; -end;$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -CREATE TRIGGER t_jrn_def_add_periode - AFTER INSERT - ON jrn_def - FOR EACH ROW - EXECUTE PROCEDURE jrn_def_add(); - -CREATE OR REPLACE FUNCTION jrn_check_periode() - RETURNS "trigger" AS -$BODY$ -declare -bClosed bool; -str_status text; -begin - -select p_closed into bClosed from parm_periode - where p_id=NEW.jr_tech_per; - -if bClosed = true then - raise exception 'Periode fermee'; -end if; - -select status into str_status from jrn_periode - where p_id =NEW.jr_tech_per and jrn_def_id=NEW.jr_def_id; - -if str_status <> 'OP' then - raise exception 'Periode fermee'; -end if; - -return NEW; -end;$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - - -CREATE TRIGGER t_check_jrn - BEFORE INSERT OR DELETE - ON jrn - FOR EACH ROW - EXECUTE PROCEDURE jrn_check_periode(); - -drop TRIGGER tr_jrn_check_balance on jrn; - -CREATE OR REPLACE FUNCTION jrn_def_delete() - RETURNS "trigger" AS -$BODY$ -declare -nb numeric; -begin -select count(*) into nb from jrn where jr_def_id=OLD.jrn_def_id; - -if nb <> 0 then - raise exception 'EFFACEMENT INTERDIT: JOURNAL UTILISE'; -end if; -return OLD; -end;$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - - -CREATE TRIGGER t_jrn_def_delete - BEFORE DELETE - ON jrn_def - FOR EACH ROW - EXECUTE PROCEDURE jrn_def_delete(); - -CREATE OR REPLACE FUNCTION proc_check_balance() - RETURNS "trigger" AS -$BODY$ -declare - diff numeric; - tt integer; -begin - if TG_OP = 'INSERT' or TG_OP='UPDATE' then - tt=NEW.jr_grpt_id; - diff:=check_balance(tt); - if diff != 0 then - raise exception 'balance error %',diff ; - end if; - return NEW; - end if; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -CREATE TRIGGER t_check_balance - AFTER INSERT OR UPDATE - ON jrn - FOR EACH ROW - EXECUTE PROCEDURE proc_check_balance(); - -INSERT INTO "action" (ac_id, ac_description) VALUES (60, 'Module Budget'); -alter table tmp_pcmn add column pcm_type text; -ALTER TABLE tmp_pcmn ALTER COLUMN pcm_type set default NULL; - - -CREATE TABLE parm_poste ( - p_value poste_comptable NOT NULL, - p_type text NOT NULL -); - - --- --- Name: TABLE parm_poste; Type: COMMENT; Schema: public; Owner: postgres --- - -COMMENT ON TABLE parm_poste IS 'Contains data for finding is the type of the account (asset)'; - - --- --- Name: parm_poste_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: --- - -ALTER TABLE ONLY parm_poste - ADD CONSTRAINT parm_poste_pkey PRIMARY KEY (p_value); - - - -CREATE OR REPLACE FUNCTION find_pcm_type(pp_value "numeric") - RETURNS text AS -$BODY$ -declare - str_type text; - str_value text; - n_value numeric; - nLength integer; -begin - str_value:=trim(to_char(pp_value,'99999999999999999999999999999')); - nLength:=length(str_value); - while nLength > 0 loop - n_value:=to_number(str_value,'99999999999999999999999999999'); - select p_type into str_type from parm_poste where p_value=n_value; - if FOUND then - return str_type; - end if; - nLength:=nLength-1; - str_value:=substring(str_value from 1 for nLength); - end loop; -return 'CON'; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -CREATE OR REPLACE FUNCTION tmp_pcmn_ins() - RETURNS "trigger" AS -$BODY$ -declare - r_record tmp_pcmn%ROWTYPE; -begin -r_record=NEW; -if length(trim(r_record.pcm_type))=0 or r_record.pcm_type is NULL then - r_record.pcm_type:=find_pcm_type(NEW.pcm_val); - return r_record; -end if; -return NEW; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -CREATE TRIGGER t_tmp_pcmn_ins - BEFORE INSERT - ON tmp_pcmn - FOR EACH ROW - EXECUTE PROCEDURE tmp_pcmn_ins(); - -update tmp_pcmn set pcm_type=find_pcm_type(pcm_val); -update version set val=37; -commit; diff --git a/sources/html/admin/sql/patch/upgrade37.sql b/sources/html/admin/sql/patch/upgrade37.sql deleted file mode 100644 index bb6dd05..0000000 --- a/sources/html/admin/sql/patch/upgrade37.sql +++ /dev/null @@ -1,43 +0,0 @@ -begin; - -CREATE OR REPLACE FUNCTION jrn_check_periode() - RETURNS "trigger" AS -$BODY$ -declare -bClosed bool; -str_status text; -ljr_tech_per jrn.jr_tech_per%TYPE; -ljr_def_id jrn.jr_def_id%TYPE; -lreturn jrn%ROWTYPE; -begin -if TG_OP='INSERT' then - ljr_tech_per :=NEW.jr_tech_per; - ljr_def_id :=NEW.jr_def_id; - lreturn :=NEW; -end if; - -if TG_OP='DELETE' then - ljr_tech_per :=OLD.jr_tech_per; - ljr_def_id :=OLD.jr_def_id; - lreturn :=OLD; -end if; - -select p_closed into bClosed from parm_periode - where p_id=ljr_tech_per; - -if bClosed = true then - raise exception 'Periode fermee'; -end if; - -select status into str_status from jrn_periode - where p_id =ljr_tech_per and jrn_def_id=ljr_def_id; - -if str_status <> 'OP' then - raise exception 'Periode fermee'; -end if; - -return lreturn; -end;$BODY$ - LANGUAGE 'plpgsql' VOLATILE; -update version set val=38; -commit; diff --git a/sources/html/admin/sql/patch/upgrade38.sql b/sources/html/admin/sql/patch/upgrade38.sql deleted file mode 100644 index eb39eb6..0000000 --- a/sources/html/admin/sql/patch/upgrade38.sql +++ /dev/null @@ -1,28 +0,0 @@ -begin; -CREATE OR REPLACE FUNCTION find_pcm_type(pp_value "numeric") - RETURNS text AS -$BODY$ -declare - str_type text; - str_value text; - n_value numeric; - nLength integer; -begin - str_value:=trim(to_char(pp_value,'99999999999999999999999999999')); - nLength:=length(str_value); - while nLength > 0 loop - n_value:=to_number(str_value,'99999999999999999999999999999'); - select p_type into str_type from parm_poste where p_value=n_value; - if FOUND then - return str_type; - end if; - nLength:=nLength-1; - str_value:=substring(str_value from 1 for nLength); - end loop; -return 'CON'; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -update version set val=39; -commit; diff --git a/sources/html/admin/sql/patch/upgrade39.sql b/sources/html/admin/sql/patch/upgrade39.sql deleted file mode 100644 index 5d1db75..0000000 --- a/sources/html/admin/sql/patch/upgrade39.sql +++ /dev/null @@ -1,41 +0,0 @@ -begin; -create table info_def ( - id_type text primary key, - id_description text null -); - -comment on table info_def is 'Contains the types of additionnal info we can add to a operation'; -create or replace function info_def_ins_upd() returns trigger -AS -$$ -declare - row_info_def info_def%ROWTYPE; - str_type text; -begin -row_info_def:=NEW; -str_type:=upper(trim(NEW.id_type)); -str_type:=replace(str_type,' ',''); -str_type:=replace(str_type,',',''); -str_type:=replace(str_type,';',''); -if length(str_type) =0 then - raise exception 'id_type cannot be null'; -end if; -row_info_def.id_type:=str_type; -return row_info_def; -end; -$$ language plpgsql; -create trigger info_def_ins_upd_t before insert or update on info_def for each row execute procedure info_def_ins_upd(); - -create table jrn_info ( - ji_id serial primary key, - jr_id integer not null, - id_type text not null, - ji_value text -); -alter table jrn_info add constraint fk_jrn foreign key (jr_id) references jrn(jr_id) on delete cascade on update cascade; -alter table jrn_info add constraint fk_info_def foreign key (id_type) references info_def(id_type) on delete cascade on update cascade; -insert into info_def values ('BON_COMMANDE','Numero de bon de commande') ; -insert into info_def values ('OTHER','Info diverses'); -insert into attr_def values(30,'Numero de client'); -update version set val=40; -commit; diff --git a/sources/html/admin/sql/patch/upgrade4.sql b/sources/html/admin/sql/patch/upgrade4.sql deleted file mode 100644 index 3d76a1c..0000000 --- a/sources/html/admin/sql/patch/upgrade4.sql +++ /dev/null @@ -1,64 +0,0 @@ --- upgrade -comment on table action is 'The different privileges'; -comment on table attr_def is 'The available attributs for the cards'; -comment on table attr_min is 'The minimum attributs for the cards'; -comment on table attr_min is 'The value of attributs for the cards'; -comment on table centralized is 'The centralized journal'; -comment on table fiche is 'Cards'; -comment on table fiche_def is 'Cards definition'; -comment on table fiche_def_ref is 'Family Cards definition'; -comment on table form is 'Forms'; -comment on table form is 'Forms content'; -comment on table jnt_fic_att_value is 'join between the card and the attribut definition'; -comment on table jnt_fic_attr is 'join between the family card and the attribut definition'; -comment on table jrn is 'Journal: content one line for a group of accountancy writing'; -comment on table jrnx is 'Journal: content one line for each accountancy writing'; -comment on table jrn_action is 'Possible action when we are in journal (menu)'; -comment on table jrn_def is 'Definition of a journal, his properties'; -comment on table jrn_rapt is 'Rapprochement between operation'; -comment on table jrn_type is 'Type of journal (Sell, Buy, Financial...)'; -comment on table parm_money is 'Currency conversion'; -comment on table parm_periode is 'Periode definition'; -comment on table stock_goods is 'About the goods'; -comment on table tmp_pcmn is 'Plan comptable minimum normalisé'; -comment on table tva_rate is 'Rate of vat'; -create sequence s_central; - --- create index x_jr_grpt_id on jrn (jr_grpt_id); --- create index x_j_grpt on jrnx(j_grpt); -create index x_poste on jrnx(j_poste ); -delete from jrn_action where ja_name='Impression' or ja_name = 'Recherche'; -delete from fiche where f_id not in (select f_id from jnt_fic_att_value); -alter table jrn add jr_opid int4; -alter table jrn add jr_c_opid int4; -create SEQUENCE s_central_order; -alter table centralized add c_order int4; - - --- decentralize -delete from centralized; -create sequence s_internal; -select setval('s_centralized',1,false); -update jrnx set j_centralized='f'; -alter table parm_periode add p_central bool; -alter table parm_periode alter p_central set default false; -update parm_periode set p_central ='f'; ---for uploading doc -alter table jrn add jr_pj oid ; -alter table jrn add jr_pj_name text; -alter table jrn add jr_pj_type text; - --- task 3858 -delete from user_sec_act WHERE ua_act_id =14; -delete from action where ac_id=14; -insert into action values (18,'Devise'); -insert into action values (19,'Période'); -insert into action values (20,'Voir la balance des comptes'); - --- task 3374 -insert into jrn_action (ja_id,ja_name,ja_desc,ja_url,ja_action,ja_jrn_type) -values (40,'Soldes','Voir les soldes des comptes en banques', -'user_jrn.php','action=solde','FIN'); - --- always last line -update version set val=5; diff --git a/sources/html/admin/sql/patch/upgrade40.sql b/sources/html/admin/sql/patch/upgrade40.sql deleted file mode 100644 index d0edf6b..0000000 --- a/sources/html/admin/sql/patch/upgrade40.sql +++ /dev/null @@ -1,49 +0,0 @@ -begin; - -insert into parm_code values ('DEP_PRIV',4890,'Depense a charge du gerant'); -insert into attr_def values (31,'Depense à  charge du gérant (partie privée)'); -alter table quant_purchase add qp_dep_priv numeric(20,4) default 0.0; - -CREATE FUNCTION insert_quant_purchase(p_internal text, p_j_id numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric,p_dep_priv numeric , p_client character varying) RETURNS void - AS $$ -declare - fid_client integer; - fid_good integer; -begin - select f_id into fid_client from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(p_client); - select f_id into fid_good from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(p_fiche); - insert into quant_purchase - (qp_internal, - j_id, - qp_fiche, - qp_quantite, - qp_price, - qp_vat, - qp_vat_code, - qp_nd_amount, - qp_nd_tva, - qp_nd_tva_recup, - qp_supplier, - qp_dep_priv) - values - (p_internal, - p_j_id, - fid_good, - p_quant, - p_price, - p_vat, - p_vat_code, - p_nd_amount, - p_nd_tva, - p_nd_tva_recup, - fid_client, - p_dep_priv); - return; -end; - $$ - LANGUAGE plpgsql; - -update version set val=41; -commit; diff --git a/sources/html/admin/sql/patch/upgrade41.sql b/sources/html/admin/sql/patch/upgrade41.sql deleted file mode 100644 index 78d54a4..0000000 --- a/sources/html/admin/sql/patch/upgrade41.sql +++ /dev/null @@ -1,99 +0,0 @@ -begin; - -CREATE TABLE del_action -( - del_id serial NOT NULL, - del_name text NOT NULL, - del_time timestamp, - CONSTRAINT del_action_pkey PRIMARY KEY (del_id) -) ; - - -CREATE TABLE del_jrn -( - jr_id int4, - jr_def_id int4, - jr_montant numeric(20,4), - jr_comment text, - jr_date date, - jr_grpt_id int4, - jr_internal text, - jr_tech_date timestamp, - jr_tech_per int4, - jrn_ech date, - jr_ech date, - jr_rapt text, - jr_valid bool, - jr_opid int4, - jr_c_opid int4, - jr_pj oid, - jr_pj_name text, - jr_pj_type text, - del_jrn_date timestamp -) ; -ALTER TABLE del_jrn - ADD CONSTRAINT jr_id PRIMARY KEY(jr_id); - - -CREATE TABLE del_jrnx -( - j_id int4, - j_date date, - j_montant numeric(20,4), - j_poste poste_comptable, - j_grpt int4, - j_rapt text, - j_jrn_def int4, - j_debit bool, - j_text text, - j_centralized bool, - j_internal text, - j_tech_user text, - j_tech_date timestamp, - j_tech_per int4, - j_qcode text -) ; - -ALTER TABLE del_jrnx - ADD CONSTRAINT j_id PRIMARY KEY(j_id); - -CREATE OR REPLACE FUNCTION jrn_del() - RETURNS "trigger" AS -$BODY$ -declare -row jrn%ROWTYPE; -begin -row:=OLD; -insert into del_jrn select *,now() from jrn where jr_id=row.jr_id; -return row; -end; -$BODY$ -LANGUAGE 'plpgsql' VOLATILE; - -CREATE OR REPLACE FUNCTION jrnx_del() - RETURNS "trigger" AS -$BODY$ -declare -row jrnx%ROWTYPE; -begin -row:=OLD; -insert into del_jrnx select * from jrnx where j_id=row.j_id; -return row; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -CREATE TRIGGER t_jrnx_del - BEFORE DELETE - ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE jrnx_del(); - -CREATE TRIGGER t_jrn_del - BEFORE DELETE - ON jrn - FOR EACH ROW - EXECUTE PROCEDURE jrn_del(); - -update version set val=42; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade42.sql b/sources/html/admin/sql/patch/upgrade42.sql deleted file mode 100644 index babcc60..0000000 --- a/sources/html/admin/sql/patch/upgrade42.sql +++ /dev/null @@ -1,12 +0,0 @@ -begin; - -delete from tva_rate where tva_id in (select tva_id from tva_rate group by tva_id having count(tva_id) > 1); - update quant_sold set qs_vat_code = null where qs_vat_Code not in (select tva_id from tva_rate); - update quant_purchase set qp_vat_code = null where qp_vat_Code not in (select tva_id from tva_rate); - -alter table tva_rate add constraint tva_id_pk primary key (tva_id); -alter table quant_purchase add constraint qp_vat_code_fk foreign key(qp_vat_code) references tva_rate(tva_id); -alter table quant_sold add constraint qs_vat_code_fk foreign key(qs_vat_code) references tva_rate(tva_id); - -update version set val=43; -commit; diff --git a/sources/html/admin/sql/patch/upgrade43.sql b/sources/html/admin/sql/patch/upgrade43.sql deleted file mode 100644 index 6bf6b26..0000000 --- a/sources/html/admin/sql/patch/upgrade43.sql +++ /dev/null @@ -1,4 +0,0 @@ -begin; -delete from bud_detail where bd_id not in (select bd_id from bud_detail_periode); -update version set val=44; -commit; diff --git a/sources/html/admin/sql/patch/upgrade44.sql b/sources/html/admin/sql/patch/upgrade44.sql deleted file mode 100644 index 5529317..0000000 --- a/sources/html/admin/sql/patch/upgrade44.sql +++ /dev/null @@ -1,57 +0,0 @@ -begin; -CREATE OR REPLACE FUNCTION insert_jrnx(p_date "varchar", p_montant "numeric", p_poste int4, p_grpt int4, p_jrn_def int4, p_debit bool, p_tech_user text, p_tech_per int4, p_qcode text) - RETURNS void AS -$BODY$ -declare - sCode varchar; - nCount_qcode integer; -begin - sCode=trim(p_qcode); - - -- if p_qcode is empty try to find one - if length(sCode) = 0 or p_qcode is null then - - select count(*) into nCount_qcode - from vw_poste_qcode where j_poste=p_poste; - -- if we find only one q_code for a accountancy account - -- then retrieve it - if nCount_qcode = 1 then - select j_qcode into sCode - from vw_poste_qcode where j_poste=p_poste; - else - sCode=NULL; - end if; - - end if; - - insert into jrnx - ( - j_date, - j_montant, - j_poste, - j_grpt, - j_jrn_def, - j_debit, - j_tech_user, - j_tech_per, - j_qcode - ) values - ( - to_date(p_date,'DD.MM.YYYY'), - p_montant, - p_poste, - p_grpt, - p_jrn_def, - p_debit, - p_tech_user, - p_tech_per, - sCode - ); - -return; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -update version set val=45; - diff --git a/sources/html/admin/sql/patch/upgrade45.sql b/sources/html/admin/sql/patch/upgrade45.sql deleted file mode 100644 index 696dc2b..0000000 --- a/sources/html/admin/sql/patch/upgrade45.sql +++ /dev/null @@ -1,124 +0,0 @@ -begin; - -CREATE or replace FUNCTION account_insert(p_f_id integer, p_account poste_comptable) RETURNS integer - AS $$ -declare -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nNew tmp_pcmn.pcm_val%type; -bAuto bool; -nFd_id integer; -nCount integer; -begin - - if length(trim(p_account::text)) != 0 then - raise debug 'p_account is not empty'; - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise notice 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,to_char(p_account,'999999999999999999999999')); - else - -- account doesn't exist, create it - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - perform attribut_insert(p_f_id,5,to_char(p_account,'999999999999999999999999')); - - end if; - else - raise notice 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - if bAuto = true then - raise notice 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise notice 'nNew %', nNew; - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999999999999999')); - - else - -- if there is an account_base then it is the default - select fd_class_base::text into nNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if nNew is null or length(trim(nNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999999999999999')); - end if; - end if; - end if; - -return 0; -end; -$$ - LANGUAGE plpgsql; - -CREATE or replace FUNCTION account_parent(p_account poste_comptable) RETURNS poste_comptable - AS $$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sParent varchar; - nCount integer; -begin - sParent:=to_char(p_account,'9999999999999999'); - sParent:=trim(sParent::text); - nParent:=0; - while nParent = 0 loop - select count(*) into nCount - from tmp_pcmn - where - pcm_val = to_number(sParent,'9999999999999999'); - if nCount != 0 then - nParent:=to_number(sParent,'9999999999999999'); - end if; - sParent:= substr(sParent,1,length(sParent)-1); - if length(sParent) <= 0 then - raise exception 'Impossible de trouver le compte parent pour %',p_account; - end if; - end loop; - raise notice 'account_parent : Parent is %',nParent; - return nParent; -end; -$$ - LANGUAGE plpgsql; - -CREATE or replace FUNCTION account_update(p_f_id integer, p_account poste_comptable) RETURNS integer - AS $$ -declare -nMax fiche.f_id%type; -nCount integer; -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nJft_id attr_value.jft_id%type; -begin - - if length(trim(p_account::text)) != 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - end if; - end if; - select jft_id into njft_id from jnt_fic_att_value where f_id=p_f_id and ad_id=5; - update attr_value set av_text=p_account where jft_id=njft_id; - -return njft_id; -end; -$$ - LANGUAGE plpgsql; -update version set val=47; -commit; diff --git a/sources/html/admin/sql/patch/upgrade46.sql b/sources/html/admin/sql/patch/upgrade46.sql deleted file mode 100644 index 06a16cb..0000000 --- a/sources/html/admin/sql/patch/upgrade46.sql +++ /dev/null @@ -1,3 +0,0 @@ -begin; -update version set val=47; -commit; diff --git a/sources/html/admin/sql/patch/upgrade47.sql b/sources/html/admin/sql/patch/upgrade47.sql deleted file mode 100644 index 837e358..0000000 --- a/sources/html/admin/sql/patch/upgrade47.sql +++ /dev/null @@ -1,58 +0,0 @@ -begin; -drop function insert_jrnx(varchar,numeric,integer,integer,integer,boolean,text,integer,text); - -CREATE or replace FUNCTION insert_jrnx(p_date character varying, p_montant numeric, p_poste poste_comptable, p_grpt integer, p_jrn_def integer, p_debit boolean, p_tech_user text, p_tech_per integer, p_qcode text) RETURNS void - AS $$ -declare - sCode varchar; - nCount_qcode integer; -begin - sCode=trim(p_qcode); - - -- if p_qcode is empty try to find one - if length(sCode) = 0 or p_qcode is null then - - select count(*) into nCount_qcode - from vw_poste_qcode where j_poste=p_poste::text; - -- if we find only one q_code for a accountancy account - -- then retrieve it - if nCount_qcode = 1 then - select j_qcode into sCode - from vw_poste_qcode where j_poste=p_poste; - else - sCode=NULL; - end if; - - end if; - - insert into jrnx - ( - j_date, - j_montant, - j_poste, - j_grpt, - j_jrn_def, - j_debit, - j_tech_user, - j_tech_per, - j_qcode - ) values - ( - to_date(p_date,'DD.MM.YYYY'), - p_montant, - p_poste, - p_grpt, - p_jrn_def, - p_debit, - p_tech_user, - p_tech_per, - sCode - ); - -return; -end; -$$ -LANGUAGE plpgsql; - -update version set val=48; -commit; diff --git a/sources/html/admin/sql/patch/upgrade48.sql b/sources/html/admin/sql/patch/upgrade48.sql deleted file mode 100644 index 039a7bc..0000000 --- a/sources/html/admin/sql/patch/upgrade48.sql +++ /dev/null @@ -1,71 +0,0 @@ -begin; -create sequence s_tva start with 1000; - alter table tva_rate alter tva_id set default nextval('s_tva'); - alter table form drop constraint "$1"; - alter table form add constraint formdef_fk foreign key (fo_fr_id) references formdef(fr_id) on update cascade on delete cascade; -drop function tva_insert(integer,text,numeric,text,text); - -CREATE or replace FUNCTION tva_insert( text, numeric, text, text) -RETURNS integer - AS $_$ -declare -l_tva_id integer; -p_tva_label alias for $1; -p_tva_rate alias for $2; -p_tva_comment alias for $3; -p_tva_poste alias for $4; -debit text; -credit text; -nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit; - if nCount = 0 then return 4; end if; - -end if; -select into l_tva_id nextval('s_tva') ; -insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste) - values (l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste); -return 0; -end; -$_$ - LANGUAGE plpgsql; - -CREATE TABLE todo_list ( - tl_id integer NOT NULL, - tl_date date NOT NULL, - tl_title text NOT NULL, - tl_desc text, - use_login text NOT NULL -); - - -COMMENT ON TABLE todo_list IS 'Todo list'; - - -CREATE SEQUENCE todo_list_tl_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - - -ALTER TABLE todo_list ALTER COLUMN tl_id SET DEFAULT nextval('todo_list_tl_id_seq'::regclass); - - -ALTER TABLE ONLY todo_list ADD CONSTRAINT todo_list_pkey PRIMARY KEY (tl_id); - -update version set val=49; - -commit; - diff --git a/sources/html/admin/sql/patch/upgrade49.sql b/sources/html/admin/sql/patch/upgrade49.sql deleted file mode 100644 index d3aa7ca..0000000 --- a/sources/html/admin/sql/patch/upgrade49.sql +++ /dev/null @@ -1,23 +0,0 @@ -begin; -alter table jnt_fic_attr add column jnt_order int; -update jnt_fic_attr set jnt_order = 1; -alter table jnt_fic_attr alter jnt_order set not null; -update jnt_fic_attr set jnt_order = 4 where ad_id=5; -update jnt_fic_attr set jnt_order = 120 where ad_id=6; -update jnt_fic_attr set jnt_order = 130 where ad_id=7; -update jnt_fic_attr set jnt_order = 20 where ad_id=9; -update jnt_fic_attr set jnt_order = 30 where ad_id=13; -update jnt_fic_attr set jnt_order = 40 where ad_id=14; -update jnt_fic_attr set jnt_order = 70 where ad_id=16; -update jnt_fic_attr set jnt_order = 80 where ad_id=17; -update jnt_fic_attr set jnt_order = 90 where ad_id=18; -update jnt_fic_attr set jnt_order = 400 where ad_id=23; -update jnt_fic_attr set jnt_order = 60 where ad_id=24; -update jnt_fic_attr set jnt_order = 100 where ad_id=26; -update jnt_fic_attr set jnt_order = 110 where ad_id=27; -update jnt_fic_attr set jnt_order = 50 where ad_id=15; -update jnt_fic_attr set jnt_order = 30 where ad_id=5; -update jnt_fic_attr set jnt_order = 0 where ad_id=1; - -update version set val=50; -commit; diff --git a/sources/html/admin/sql/patch/upgrade5.sql b/sources/html/admin/sql/patch/upgrade5.sql deleted file mode 100644 index 27a3bf0..0000000 --- a/sources/html/admin/sql/patch/upgrade5.sql +++ /dev/null @@ -1,97 +0,0 @@ --- create vw_client view -create view vw_client as -select a.f_id, -a.av_text as name, -b.av_text as tva_num,c.av_text as poste_comptable, -d.av_text as rue, -e.av_text as code_postal, -f.av_text as pays, -g.av_text as telephone, -h.av_text as email - from ( - select * from fiche join fiche_def using (fd_id) - join fiche_def_ref using (frd_id) - join jnt_fic_att_value using (f_id) join attr_value using (jft_id) where ad_id=1 ) a - left join ( - select * from fiche join fiche_def using (fd_id) - join fiche_def_ref using (frd_id) - join jnt_fic_att_value using (f_id) join attr_value using (jft_id) where ad_id=13 ) b using (f_id) - left join ( - select * from fiche join fiche_def using (fd_id) - join fiche_def_ref using (frd_id) - join jnt_fic_att_value using (f_id) - join attr_value using (jft_id) - where ad_id=5 ) c using (f_id) - left join ( - select * from fiche join fiche_def using (fd_id) - join fiche_def_ref using (frd_id) - join jnt_fic_att_value using (f_id) - join attr_value using (jft_id) - where ad_id=14 ) d using (f_id) - left join ( - select * from fiche join fiche_def using (fd_id) - join fiche_def_ref using (frd_id) - join jnt_fic_att_value using (f_id) - join attr_value using (jft_id) - where ad_id=15 ) e using (f_id) - left join ( - select * from fiche join fiche_def using (fd_id) - join fiche_def_ref using (frd_id) - join jnt_fic_att_value using (f_id) - join attr_value using (jft_id) - where ad_id=16 ) f using (f_id) - left join ( - select * from fiche join fiche_def using (fd_id) - join fiche_def_ref using (frd_id) - join jnt_fic_att_value using (f_id) - join attr_value using (jft_id) - where ad_id=17 ) g using (f_id) - left join ( - select * from fiche join fiche_def using (fd_id) - join fiche_def_ref using (frd_id) - join jnt_fic_att_value using (f_id) - join attr_value using (jft_id) - where ad_id=18 ) h using (f_id) -where a.frd_id=9; - --- all the min attribut for card reference - -create view vw_fiche_min - as select frd_id, ad_id, ad_text, frd_text, frd_class_base - from - attr_min join attr_Def using (ad_id) - join fiche_Def_ref using (frd_id); --- definition for card -create view vw_fiche_Def as - SELECT fd_id, - ad_id, - ad_text, - fd_class_base, - fd_label, - fd_create_account, - frd_id - FROM jnt_fic_attr - JOIN attr_def USING (ad_id) - JOIN fiche_def USING (fd_id); - --- comments -comment on view vw_fiche_min is 'minimum attribut for reference card'; -comment on view vw_fiche_def is 'all the attributs for card family'; -comment on view vw_client is 'minimum attribut for the customer (frd_id=9)'; - --- new table : parameter -create table parameter ( - pr_id text primary key, - pr_value text -); - -insert into parameter (pr_id) values ('MY_NAME'); -insert into parameter (pr_id) values ('MY_CP'); -insert into parameter (pr_id) values ('MY_COMMUNE'); -insert into parameter (pr_id) values ('MY_TVA'); -insert into parameter (pr_id) values ('MY_STREET'); -insert into parameter (pr_id) values ('MY_NUMBER'); - - -update version set val=6; - diff --git a/sources/html/admin/sql/patch/upgrade50.sql b/sources/html/admin/sql/patch/upgrade50.sql deleted file mode 100644 index f2af255..0000000 --- a/sources/html/admin/sql/patch/upgrade50.sql +++ /dev/null @@ -1,57 +0,0 @@ -begin; - -CREATE OR REPLACE FUNCTION insert_jrnx(p_date character varying, p_montant numeric, p_poste poste_comptable, p_grpt integer, p_jrn_def integer, p_debit boolean, p_tech_user text, p_tech_per integer, p_qcode text) - RETURNS void AS -$BODY$ -declare - sCode varchar; - nCount_qcode integer; -begin - sCode=trim(p_qcode); - - -- if p_qcode is empty try to find one - if length(sCode) = 0 or p_qcode is null then - - select count(*) into nCount_qcode - from vw_poste_qcode where j_poste=p_poste::text; - -- if we find only one q_code for a accountancy account - -- then retrieve it - if nCount_qcode = 1 then - select j_qcode::text into sCode - from vw_poste_qcode where j_poste=p_poste::text; - else - sCode=NULL; - end if; - - end if; - - insert into jrnx - ( - j_date, - j_montant, - j_poste, - j_grpt, - j_jrn_def, - j_debit, - j_tech_user, - j_tech_per, - j_qcode - ) values - ( - to_date(p_date,'DD.MM.YYYY'), - p_montant, - p_poste, - p_grpt, - p_jrn_def, - p_debit, - p_tech_user, - p_tech_per, - sCode - ); - -return; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; -update version set val=51; -commit; diff --git a/sources/html/admin/sql/patch/upgrade51.sql b/sources/html/admin/sql/patch/upgrade51.sql deleted file mode 100644 index 7bd1820..0000000 --- a/sources/html/admin/sql/patch/upgrade51.sql +++ /dev/null @@ -1,4 +0,0 @@ -begin; -insert into parameter values ('MY_STRICT','N'); -update version set val=52; -commit; diff --git a/sources/html/admin/sql/patch/upgrade52.sql b/sources/html/admin/sql/patch/upgrade52.sql deleted file mode 100644 index 61332e3..0000000 --- a/sources/html/admin/sql/patch/upgrade52.sql +++ /dev/null @@ -1,37 +0,0 @@ -begin; -CREATE TABLE mod_payment ( - mp_id serial, - mp_lib text NOT NULL, - mp_jrn_def_id integer NOT NULL, - mp_type character varying(3) NOT NULL, - mp_fd_id bigint , - mp_qcode text -); -COMMENT ON TABLE mod_payment IS 'Contains the different media of payment and the corresponding ledger'; - -INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, mp_qcode) VALUES (2, 'Caisse', 1, 'VEN', NULL, NULL); -INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, mp_qcode) VALUES (4, 'Caisse', 1, 'ACH', NULL, NULL); -INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, mp_qcode) VALUES (1, 'Paiement électronique', 1, 'VEN', NULL, NULL); -INSERT INTO mod_payment (mp_id, mp_lib, mp_jrn_def_id, mp_type, mp_fd_id, mp_qcode) VALUES (3, 'Par gérant ou administrateur', 2, 'ACH', NULL, NULL); - -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_pkey PRIMARY KEY (mp_id); -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_mp_fd_id_fkey FOREIGN KEY (mp_fd_id) REFERENCES fiche_def(fd_id); -ALTER TABLE ONLY mod_payment - ADD CONSTRAINT mod_payment_mp_jrn_def_id_fkey FOREIGN KEY (mp_jrn_def_id) REFERENCES jrn_def(jrn_def_id); -INSERT INTO document_type (dt_id, dt_value) VALUES (10, 'Note de frais'); - -insert into fiche_def_ref (frd_id,frd_text) values (25,'Compte Salarié / Administrateur'); -insert into attr_min values (25,1); -insert into attr_min values(25,4); -insert into attr_min values (25,3); -insert into attr_min values(25,5); -insert into attr_min values (25,15); -insert into attr_min values(25,16); -insert into attr_min values(25,24); -insert into attr_min values(25,23); - - -update version set val=53; -commit; diff --git a/sources/html/admin/sql/patch/upgrade53.sql b/sources/html/admin/sql/patch/upgrade53.sql deleted file mode 100644 index c422c5a..0000000 --- a/sources/html/admin/sql/patch/upgrade53.sql +++ /dev/null @@ -1,52 +0,0 @@ -begin; -CREATE OR REPLACE FUNCTION html_quote(p_string text) - RETURNS text AS -$BODY$ -declare - r text; -begin - r:=p_string; - r:=replace(r,'<','<'); - r:=replace(r,'>','>'); - r:=replace(r,'''','"'); - return r; -end;$BODY$ - LANGUAGE plpgsql; - -COMMENT ON FUNCTION html_quote(text) IS 'remove harmfull HTML char'; - -CREATE OR REPLACE FUNCTION tva_modify(integer, text, numeric, text, text) - RETURNS integer AS -$BODY$ -declare -p_tva_id alias for $1; -p_tva_label alias for $2; -p_tva_rate alias for $3; -p_tva_comment alias for $4; -p_tva_poste alias for $5; -debit text; -credit text; -nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::poste_comptable; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::poste_comptable; - if nCount = 0 then return 4; end if; - -end if; -update tva_rate set tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste - where tva_id=p_tva_id; -return 0; -end; -$BODY$ - LANGUAGE plpgsql; -update version set val=54; -commit; diff --git a/sources/html/admin/sql/patch/upgrade54.sql b/sources/html/admin/sql/patch/upgrade54.sql deleted file mode 100644 index ece0035..0000000 --- a/sources/html/admin/sql/patch/upgrade54.sql +++ /dev/null @@ -1,52 +0,0 @@ -begin; -create or replace function fiche_attribut_synchro (p_fd_id fiche_def.fd_id%TYPE) returns void as -$BODY$ -declare - -- this sql gives the f_id and the missing attribute (ad_id) - list_missing cursor for select f_id,fd_id,ad_id,jnt_order from jnt_fic_attr join fiche as A using (fd_id) where fd_id=p_fd_id and ad_id not in (select ad_id from fiche join jnt_fic_att_value using (f_id) where fd_id=jnt_fic_attr.fd_id and A.f_id=f_id); - rec record; - -- value of the last insert - jnt jnt_fic_att_value%ROWTYPE; -begin - open list_missing; - loop - - fetch list_missing into rec; - IF NOT FOUND then - exit; - end if; - -- insert a value into jnt_fic_att_value - insert into jnt_fic_att_value (f_id,ad_id) values (rec.f_id,rec.ad_id) returning * into jnt; - - -- now we insert into attr_value - insert into attr_value values (jnt.jft_id,''); - end loop; - close list_missing; -end; -$BODY$ language plpgsql; - -create or replace function attribute_correct_order () returns void as -$BODY$ -declare - crs_correct cursor for select A.jnt_id,A.jnt_order from jnt_fic_attr as A join jnt_fic_attr as B using (fd_id) where A.jnt_order=B.jnt_order and A.jnt_id > B.jnt_id; - rec record; -begin - open crs_correct; - loop - fetch crs_correct into rec; - if NOT FOUND then - close crs_correct; - return; - end if; - update jnt_fic_attr set jnt_order=jnt_order + 1 where jnt_id = rec.jnt_id; - end loop; - close crs_correct; - perform attribute_correct_order (); -end; -$BODY$ language plpgsql; - -select fiche_attribut_synchro(fd_id) from fiche_def; -select attribute_correct_order(); -update version set val=55; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade55.sql b/sources/html/admin/sql/patch/upgrade55.sql deleted file mode 100644 index 447fe32..0000000 --- a/sources/html/admin/sql/patch/upgrade55.sql +++ /dev/null @@ -1,6 +0,0 @@ -begin; -alter table import_tmp alter bq_account type text; - -update version set val=56; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade56.sql b/sources/html/admin/sql/patch/upgrade56.sql deleted file mode 100644 index 044c41c..0000000 --- a/sources/html/admin/sql/patch/upgrade56.sql +++ /dev/null @@ -1,168 +0,0 @@ -begin; -CREATE OR REPLACE FUNCTION create_missing_sequence() - RETURNS integer AS -$BODY$ -declare -p_sequence text; -nSeq integer; -c1 cursor for select jrn_def_id from jrn_def; -begin - open c1; - loop - fetch c1 into nSeq; - if not FOUND THEN - close c1; - return 0; - end if; - p_sequence:='s_jrn_pj'||nSeq::text; - execute 'create sequence '||p_sequence; - end loop; -close c1; -return 0; - -end; -$BODY$ -LANGUAGE 'plpgsql'; - -select create_missing_sequence(); - - -CREATE OR REPLACE FUNCTION drop_index(p_constraint character varying) - RETURNS void AS -$BODY$ -declare - nCount integer; -begin - select count(*) into nCount from pg_indexes where indexname=p_constraint; - if nCount = 1 then - execute 'drop index '||p_constraint ; - end if; -end; -$BODY$ -LANGUAGE 'plpgsql'; --- on dossier - -insert into parameter (pr_id,pr_value) values ('MY_TVA_USE','Y'); -insert into parameter (pr_id,pr_value) values ('MY_PJ_SUGGEST','Y'); - --- new security -alter table action add ac_module text; -alter table action add ac_code varchar(9); -create unique index uj_login_uj_jrn_id on user_sec_jrn(uj_login,uj_jrn_id); - --- PostgreSQL database dump --- -delete from user_Sec_act; -delete from action; - -COMMENT ON TABLE action IS 'The different privileges'; -select drop_index('x_act'); - -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (100, 'Accès en lecture', 'budget', 'BUDLEC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (110, 'Création hypothèse', 'budget', 'BUDHYP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (120, 'Création de fiche', 'budget', 'BUDFIC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (130, 'Impression', 'budget', 'BUDIMP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (210, 'Ajout de plan analytique', 'compta_anal', 'CAPA'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (220, 'Ajout de poste analytique', 'compta_anal', 'CAPO'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (230, 'Ajout de groupe analytique', 'compta_anal', 'CAGA'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (235, 'Ajout d''operation diverses', 'compta_anal', 'CAOD'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (240, 'Impression', 'compta_anal', 'CAIMP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (300, 'Gestion', 'gestion', 'GESTION'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (305, 'Import en Banque', 'gestion', 'GEBQ'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (307, 'Effacement d''opération', 'gestion', 'GEOP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (310, 'Courrier (lecture & écriture)', 'gestion', 'GECOUR'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (311, 'Fournisseur', 'gestion', 'GESUPPL'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (312, 'Client', 'gestion', 'GECUST'); --- INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (320, 'gestion de stock', 'gestion', 'GESTOCK'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (700, 'Rapport', 'impression', 'IMPRAP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (710, 'Journaux', 'impression', 'IMPJRN'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (720, 'Fiche', 'impression', 'IMPFIC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (730, 'Poste', 'impression', 'IMPPOSTE'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (740, 'Bilan', 'impression', 'IMPBIL'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (750, 'Balance', 'impression', 'IMPBAL'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (800, 'Ajout de fiche', 'fiche', 'FICADD'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (805, 'Création, modification et effacement de fiche', 'fiche', 'FIC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (910, 'création, modification et effacement de catégorie de fiche', 'fiche', 'FICCAT'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1100, 'Mode comptabilité analytique', 'parametre', 'PARCA'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1110, 'Ajout de période', 'parametre', 'PARPER'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1120, 'Catégorie des fiches', 'parametre', 'PARFIC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1130, 'Document', 'parametre', 'PARDOC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1140, 'Modification journaux', 'parametre', 'PARJRN'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1150, 'TVA', 'parametre', 'PARTVA'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1160, 'Moyen de paiement', 'parametre', 'PARMP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1180, 'Clôture ', 'parametre', 'PARCLO'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1185, 'Changement du plan comptable ', 'parametre', 'PARPCMN'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1170, 'Poste Comptable de base', 'parametre', 'PARPOS'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1190, 'Centralisation', 'parametre', 'PARCENT'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1200, 'Écriture d''ouverture', 'parametre', 'PAREO'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1210, 'Mode strict', 'parametre', 'PARSTR'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1220, 'Coordonnées société', 'parametre', 'PARCOORD'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1230, 'Création de rapport', 'parametre', 'PARRAP'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1240, 'Effacement et création d''opération prédéfinie', 'parametre', 'PARPREDE'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1245, 'Sécurité du dossier', 'parametre', 'PARSEC'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1500, 'Stock (lecture)', 'stock', 'STOLE'); -INSERT INTO action (ac_id, ac_description, ac_module, ac_code) VALUES (1510, 'Stock (changement)', 'stock', 'STOWRITE'); - -ALTER TABLE jrn ADD COLUMN jr_pj_number text; -ALTER TABLE del_jrn ADD COLUMN jr_pj_number text; -ALTER TABLE jrn_def ADD COLUMN jrn_def_pj_pref text; - -update jrn_def set jrn_def_pj_pref=jrn_def_type ; - -CREATE OR REPLACE FUNCTION jrn_del() - RETURNS trigger AS -$BODY$ -declare -row jrn%ROWTYPE; -begin -row:=OLD; -insert into del_jrn ( jr_id, - jr_def_id, - jr_montant, - jr_comment, - jr_date, - jr_grpt_id, - jr_internal, - jr_tech_date, - jr_tech_per, - jrn_ech, - jr_ech, - jr_rapt, - jr_valid, - jr_opid, - jr_c_opid, - jr_pj, - jr_pj_name, - jr_pj_type, - jr_pj_number, - del_jrn_date) - select jr_id, - jr_def_id, - jr_montant, - jr_comment, - jr_date, - jr_grpt_id, - jr_internal, - jr_tech_date, - jr_tech_per, - jrn_ech, - jr_ech, - jr_rapt, - jr_valid, - jr_opid, - jr_c_opid, - jr_pj, - jr_pj_name, - jr_pj_type, - jr_pj_number - ,now() from jrn where jr_id=row.jr_id; -return row; -end; -$BODY$ -LANGUAGE 'plpgsql' ; - - - -update version set val=57; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade57.sql b/sources/html/admin/sql/patch/upgrade57.sql deleted file mode 100644 index 58ea477..0000000 --- a/sources/html/admin/sql/patch/upgrade57.sql +++ /dev/null @@ -1,43 +0,0 @@ -begin; -DROP FUNCTION tva_insert (text,numeric,text,text); - -CREATE FUNCTION tva_insert(text, numeric, text, text) RETURNS integer - AS $_$ -declare -l_tva_id integer; -p_tva_label alias for $1; -p_tva_rate alias for $2; -p_tva_comment alias for $3; -p_tva_poste alias for $4; -debit text; -credit text; -nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::poste_comptable; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::poste_comptable; - if nCount = 0 then return 4; end if; - -end if; -select into l_tva_id nextval('s_tva') ; -insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste) - values (l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste); -return 0; -end; -$_$ -LANGUAGE plpgsql; - - - -update version set val=58; - -commit; - diff --git a/sources/html/admin/sql/patch/upgrade58.sql b/sources/html/admin/sql/patch/upgrade58.sql deleted file mode 100644 index c3dc895..0000000 --- a/sources/html/admin/sql/patch/upgrade58.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; -INSERT INTO format_csv_banque(name, include_file) VALUES('VMS Keytrade', 'keytrade_be.inc.php'); - -update version set val=59; - -commit; - diff --git a/sources/html/admin/sql/patch/upgrade59.sql b/sources/html/admin/sql/patch/upgrade59.sql deleted file mode 100644 index 1b9be6e..0000000 --- a/sources/html/admin/sql/patch/upgrade59.sql +++ /dev/null @@ -1,414 +0,0 @@ -begin; - -insert into parameter(pr_id,pr_value) values ('MY_CHECK_PERIODE','Y'); -alter table jrn add jr_mt text ; -update jrn set jr_mt= extract (microseconds from jr_tech_date); -create index x_mt on jrn(jr_mt); -DROP FUNCTION insert_quant_purchase(text, numeric, character varying, numeric, numeric,numeric, integer, numeric, numeric, numeric, character varying); -DROP FUNCTION insert_quant_sold(text, character varying, numeric, numeric, numeric, integer, character varying); - -alter table groupe_analytique add constraint fk_pa_id foreign key(pa_id) references plan_analytique(pa_id) on delete cascade; -alter table stock_goods add constraint fk_stock_good_f_id foreign key(f_id) references fiche(f_id) ; - -drop table invoice; - -DROP FUNCTION account_parent(poste_comptable); - -CREATE FUNCTION account_parent(p_account poste_comptable) - RETURNS poste_comptable AS -$BODY$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sParent varchar; - nCount integer; -begin - sParent:=to_char(p_account,'9999999999999999'); - sParent:=trim(sParent::text); - nParent:=0; - while nParent = 0 loop - select count(*) into nCount - from tmp_pcmn - where - pcm_val = to_number(sParent,'9999999999999999'); - if nCount != 0 then - nParent:=to_number(sParent,'9999999999999999'); - exit; - end if; - sParent:= substr(sParent,1,length(sParent)-1); - if length(sParent) <= 0 then - raise exception 'Impossible de trouver le compte parent pour %',p_account; - end if; - end loop; - raise notice 'account_parent : Parent is %',nParent; - return nParent; -end; -$BODY$ -LANGUAGE 'plpgsql'; - -alter table document drop column d_state; - ---alter table action_gestion set ag_title type text; -ALTER TABLE action_gestion ADD COLUMN ag_hour text default null; -ALTER TABLE action_gestion ADD COLUMN ag_priority integer; -ALTER TABLE action_gestion ALTER COLUMN ag_priority SET DEFAULT 2; -ALTER TABLE action_gestion ADD COLUMN ag_dest text; -ALTER TABLE action_gestion ADD COLUMN ag_owner text; -ALTER TABLE action_gestion ADD COLUMN ag_contact int8; - -CREATE OR REPLACE FUNCTION action_gestion_ins_upd() - RETURNS trigger AS -$BODY$ -begin -NEW.ag_title := substr(trim(NEW.ag_title),1,70); -NEW.ag_hour := substr(trim(NEW.ag_hour),1,5); -return NEW; -end; -$BODY$ -LANGUAGE 'plpgsql' VOLATILE; - -CREATE TRIGGER action_gestion_t_insert_update - BEFORE INSERT OR UPDATE - ON action_gestion - FOR EACH ROW - EXECUTE PROCEDURE action_gestion_ins_upd(); - -COMMENT ON TRIGGER action_gestion_t_insert_update ON action_gestion IS 'Truncate the column ag_title to 70 char'; - -ALTER TABLE action_gestion ADD COLUMN ag_state integer; -update action_gestion set f_id_dest=f_id_exp where f_id_exp != 0; -alter table action_gestion drop column f_id_exp; -UPDATE document_state SET s_value= 'Clôturé' WHERE s_id=1; -UPDATE document_state SET s_value= 'A suivre' WHERE s_id=2; -UPDATE document_state SET s_value= 'A faire' WHERE s_id=3; -UPDATE document_state SET s_value= 'Abandonné' WHERE s_id=4; - - -CREATE TABLE action_detail -( - ad_id serial, - f_id int8, - ad_text text, - ad_pu numeric(20,4) DEFAULT 0, - ad_quant numeric(20,4) DEFAULT 0, - ad_tva_id integer DEFAULT 0, - ad_tva_amount numeric(20,4) DEFAULT 0, - ad_total_amount numeric(20,4) DEFAULT 0, - ag_id integer NOT NULL DEFAULT 0, - CONSTRAINT action_detail_pkey PRIMARY KEY (ad_id), - CONSTRAINT action_detail_ag_id_fkey FOREIGN KEY (ag_id) - REFERENCES action_gestion (ag_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE -); - -COMMENT ON TABLE action_detail IS 'Detail of action_gestion, see class Action_Detail'; --- trim the qcode -CREATE OR REPLACE FUNCTION insert_quant_purchase(p_internal text, p_j_id numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric, p_dep_priv numeric, p_client character varying) - RETURNS void AS -$BODY$ -declare - fid_client integer; - fid_good integer; -begin - select f_id into fid_client from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(trim(p_client)); - select f_id into fid_good from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(trim(p_fiche)); - insert into quant_purchase - (qp_internal, - j_id, - qp_fiche, - qp_quantite, - qp_price, - qp_vat, - qp_vat_code, - qp_nd_amount, - qp_nd_tva, - qp_nd_tva_recup, - qp_supplier, - qp_dep_priv) - values - (p_internal, - p_j_id, - fid_good, - p_quant, - p_price, - p_vat, - p_vat_code, - p_nd_amount, - p_nd_tva, - p_nd_tva_recup, - fid_client, - p_dep_priv); - return; -end; - $BODY$ -LANGUAGE 'plpgsql'; - -CREATE OR REPLACE FUNCTION insert_quant_sold(p_internal text, p_jid numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_client character varying) - RETURNS void AS -$BODY$ -declare - fid_client integer; - fid_good integer; -begin - - select f_id into fid_client from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(trim(p_client)); - select f_id into fid_good from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=upper(trim(p_fiche)); - insert into quant_sold - (qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client,qs_valid) - values - (p_internal,p_jid,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client,'Y'); - return; -end; - $BODY$ -LANGUAGE 'plpgsql'; -drop view vw_fiche_attr; - -create view vw_fiche_attr -as SELECT a.f_id, a.fd_id, a.av_text AS vw_name, b.av_text AS vw_sell, c.av_text AS vw_buy, d.av_text AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.av_text AS vw_addr, f.av_text AS vw_cp, j.av_text AS quick_code, h.av_text as vw_description,fiche_def.frd_id - FROM ( SELECT fiche.f_id, fiche.fd_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 1) a - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 6) b ON a.f_id = b.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 7) c ON a.f_id = c.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 2) d ON a.f_id = d.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 14) e ON a.f_id = e.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 15) f ON a.f_id = f.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 23) j ON a.f_id = j.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 9) h ON a.f_id = h.f_id - LEFT JOIN tva_rate ON d.av_text = tva_rate.tva_id::text - JOIN fiche_def USING (fd_id); - --- ajout n client dans attr_min -insert into attr_min values (2,30); -update attr_def set ad_text='Dpense charge du grant (partie prive)' where ad_id=31; - -CREATE OR REPLACE FUNCTION update_account_item_card() - RETURNS void AS -$BODY$ -declare -cCard cursor for select jft_id,fd_class_base from fiche join fiche_def using (fd_id) -join jnt_fic_att_value using (f_id) -join attr_value using (jft_id) -where -ad_id=5 and -fd_create_account=false -and av_text = ''; -njft_id integer; -sClass_base text; -begin -open cCard; -loop - fetch cCard into njft_id,sClass_base; - if NOT FOUND then - exit; - end if; - update attr_value set av_text=sClass_base where jft_id=njft_id; -end loop; - -end; -$BODY$ -LANGUAGE 'plpgsql'; - -select update_account_item_card(); - -drop function update_account_item_card(); - -delete from action where ac_module='budget'; - -drop table bud_hypothese cascade; -drop table bud_detail_periode cascade; -drop table bud_detail cascade; -drop table bud_card cascade; --- drop sequence bud_card_bc_id_seq; --- drop sequence bud_detail_bd_id_seq --- drop sequence bud_detail_bdp_id_seq; --- drop sequence bud_detail_periode_bdp_id_seq; -comment on column action.ac_code is 'this code will be used in the code with the function User::check_action '; -comment on column action_detail.f_id is 'the concerned card'; -comment on column action_detail.ad_text is ' Description '; -comment on column action_detail.ad_pu is ' price per unit '; -comment on column action_detail.ad_quant is 'quantity '; -comment on column action_detail.ad_tva_id is ' tva_id '; -comment on column action_detail.ad_tva_amount is ' tva_amount '; -comment on column action_detail.ad_total_amount is ' total amount'; -comment on column action_gestion.ag_type is ' type of action: see document_type '; -comment on column action_gestion.f_id_dest is ' third party '; -comment on column action_gestion.ag_title is ' title '; -comment on column action_gestion.ag_timestamp is ' '; -comment on column action_gestion.ag_cal is ' visible in the calendar if = C'; -comment on column action_gestion.ag_ref_ag_id is ' concerning the action '; -comment on column action_gestion.ag_comment is ' comment of the action'; -comment on column action_gestion.ag_ref is 'its reference '; -comment on column action_gestion.ag_priority is 'Low, medium, important '; -comment on column action_gestion.ag_dest is ' is the person who has to take care of this action '; -comment on column action_gestion.ag_owner is ' is the owner of this action '; -comment on column action_gestion.ag_contact is ' contact of the third part '; -comment on column action_gestion.ag_state is 'state of the action same as document_state '; -comment on table action_gestion is 'Contains the details for the follow-up of customer, supplier, administration'; --- clean the bud part -delete from document where ag_id=0; - -INSERT INTO action(ac_id, ac_description, ac_module, ac_code) VALUES (313, 'Administration', 'gestion', 'GEADM'); -INSERT INTO action(ac_id, ac_description, ac_module, ac_code) VALUES (1600, 'Gestion des extensions', 'extension', 'EXTENSION'); -INSERT INTO action(ac_id, ac_description, ac_module, ac_code) VALUES (1701, 'Consultation', 'prvision', 'PREVCON'); -INSERT INTO action(ac_id, ac_description, ac_module, ac_code) VALUES (1702, 'Modification et cration', 'prvision', 'PREVMOD'); -update action_gestion set ag_state=2,ag_priority=2,ag_owner='phpcompta'; --- Function: extension_ins_upd() - --- DROP FUNCTION extension_ins_upd(); - -CREATE OR REPLACE FUNCTION extension_ins_upd() - RETURNS trigger AS -$BODY$ -declare - sCode text; -begin -sCode:=trim(upper(NEW.ex_code)); -sCode:=replace(sCode,' ','_'); -sCode:=substr(sCode,1,15); -sCode=upper(sCode); -NEW.ex_code:=sCode; -return NEW; - -end; - -$BODY$ -LANGUAGE 'plpgsql'; --- Table: extension - --- DROP TABLE extension; - -CREATE TABLE extension -( - ex_id serial NOT NULL, - ex_name character varying(30) NOT NULL, - ex_code character varying(15) NOT NULL, - ex_desc character varying(250), - ex_file character varying NOT NULL, - ex_enable "char" NOT NULL DEFAULT 'Y'::"char", - CONSTRAINT pk_extension PRIMARY KEY (ex_id), - CONSTRAINT idx_ex_code UNIQUE (ex_code) -); -COMMENT ON TABLE extension IS 'Content the needed information for the extension'; -COMMENT ON COLUMN extension.ex_id IS 'Primary key'; -COMMENT ON COLUMN extension.ex_code IS 'code of the extension '; -COMMENT ON COLUMN extension.ex_name IS 'code of the extension '; -COMMENT ON COLUMN extension.ex_desc IS 'Description of the extension '; -COMMENT ON COLUMN extension.ex_file IS 'path to the extension to include'; -COMMENT ON COLUMN extension.ex_enable IS 'Y : enabled; N : disabled '; - -CREATE TRIGGER trg_extension_ins_upd - BEFORE INSERT OR UPDATE - ON extension - FOR EACH ROW - EXECUTE PROCEDURE extension_ins_upd(); - -CREATE TABLE user_sec_extension -( - use_id serial NOT NULL, - ex_id integer NOT NULL, - use_login text NOT NULL, - use_access character(1) NOT NULL DEFAULT 0, - CONSTRAINT user_sec_extension_pkey PRIMARY KEY (use_id), - CONSTRAINT user_sec_extension_ex_id_key UNIQUE (ex_id, use_login) -); -COMMENT ON TABLE user_sec_extension IS 'Security for extension'; - -CREATE TABLE forecast -( - f_id serial NOT NULL, - f_name text NOT NULL, - CONSTRAINT forecast_pk PRIMARY KEY (f_id) -); - -COMMENT ON TABLE forecast IS 'contains the name of the forecast'; - - -CREATE TABLE forecast_cat -( - fc_id serial NOT NULL, -- primary key - fc_desc text NOT NULL, -- text of the category - f_id bigint, -- Foreign key, it is the parent from the table forecast - fc_order integer NOT NULL DEFAULT 0, -- Order of the category, used when displaid - CONSTRAINT forecast_cat_pk PRIMARY KEY (fc_id), - CONSTRAINT forecast_child FOREIGN KEY (f_id) - REFERENCES forecast (f_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE -); -COMMENT ON COLUMN forecast_cat.fc_id IS 'primary key'; -COMMENT ON COLUMN forecast_cat.fc_desc IS 'text of the category'; -COMMENT ON COLUMN forecast_cat.f_id IS 'Foreign key, it is the parent from the table forecast'; -COMMENT ON COLUMN forecast_cat.fc_order IS 'Order of the category, used when displaid'; - -CREATE TABLE forecast_item -( - fi_id serial NOT NULL, - fi_text text, - fi_account text, - fi_card integer, - fi_order integer, - fc_id integer, - fi_amount numeric(20,4) DEFAULT 0, - fi_debit "char" NOT NULL DEFAULT 'd'::"char", - fi_pid integer, - CONSTRAINT forecast_item_pkey PRIMARY KEY (fi_id), - CONSTRAINT card FOREIGN KEY (fi_card) - REFERENCES fiche (f_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE, - CONSTRAINT fk_forecast FOREIGN KEY (fc_id) - REFERENCES forecast_cat (fc_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE -); -COMMENT ON COLUMN forecast_item.fi_id IS 'Primary key'; -COMMENT ON COLUMN forecast_item.fi_text IS 'Label of the i tem'; -COMMENT ON COLUMN forecast_item.fi_account IS 'Accountancy entry'; -COMMENT ON COLUMN forecast_item.fi_card IS 'Card (fiche.f_id)'; -COMMENT ON COLUMN forecast_item.fi_amount IS 'Amount'; -COMMENT ON COLUMN forecast_item.fi_debit IS 'possible values are D or C'; -COMMENT ON COLUMN forecast_item.fi_order IS 'Order of showing (not used)'; -COMMENT ON COLUMN forecast_item.fi_pid IS '0 for every month, or the value parm_periode.p_id '; - -update version set val=60; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade6.sql b/sources/html/admin/sql/patch/upgrade6.sql deleted file mode 100644 index be19a83..0000000 --- a/sources/html/admin/sql/patch/upgrade6.sql +++ /dev/null @@ -1,8 +0,0 @@ -begin; ---make sure that p_start < p_end -ALTER TABLE parm_periode ADD CHECK (p_end >= p_start); -insert into tva_rate values (5,'0%',0, 'Pas soumis à la TVA',null); - - -update version set val=7; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade60.sql b/sources/html/admin/sql/patch/upgrade60.sql deleted file mode 100644 index 503bab8..0000000 --- a/sources/html/admin/sql/patch/upgrade60.sql +++ /dev/null @@ -1,40 +0,0 @@ -begin; -alter SEQUENCE document_type_dt_id_seq start 25; - -insert into document_type (dt_id,dt_value) values (20,'Réception commande Fournisseur'); -insert into document_type (dt_id,dt_value) values (21,'Réception commande Client'); -insert into document_type (dt_id,dt_value) values (22,'Réception magazine'); - -CREATE OR REPLACE FUNCTION extension_ins_upd() - RETURNS "trigger" AS -$BODY$ -declare - sCode text; - sFile text; -begin -sCode:=trim(upper(NEW.ex_code)); -sCode:=replace(sCode,' ','_'); -sCode:=substr(sCode,1,15); -sCode=upper(sCode); -NEW.ex_code:=sCode; --- remove forbidden char -sFile:=NEW.ex_file; -sFile:=replace(sFile,';','_'); -sFile:=replace(sFile,'<','_'); -sFile:=replace(sFile,'>','_'); -sFile:=replace(sFile,'..',''); -sFile:=replace(sFile,'&',''); -sFile:=replace(sFile,'|',''); - - - -return NEW; - -end; - -$BODY$ -LANGUAGE 'plpgsql'; - -update version set val=61; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade61.BE.sql b/sources/html/admin/sql/patch/upgrade61.BE.sql deleted file mode 100644 index 8339ae0..0000000 --- a/sources/html/admin/sql/patch/upgrade61.BE.sql +++ /dev/null @@ -1,13 +0,0 @@ - -begin; -insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4515,'Tva Intracomm 0%',451,'PAS'); -insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4516,'Tva Export 0%',451,'PAS'); -insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4115,'Tva Intracomm 0%',411,'ACT'); -insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4116,'Tva Export 0%',411,'ACT'); -insert into tva_rate (tva_id,tva_label,tva_rate,tva_comment,tva_poste) values (5,'INTRA',0,'Tva pour les livraisons / acquisition intra communautaires','4115,4515'); -insert into tva_rate (tva_id,tva_label,tva_rate,tva_comment,tva_poste) values (6,'EXPORT',0,'Tva pour les exportations','4116,4516'); - -update version set val=62; -commit; - - diff --git a/sources/html/admin/sql/patch/upgrade61.FR.sql b/sources/html/admin/sql/patch/upgrade61.FR.sql deleted file mode 100644 index a99bfc6..0000000 --- a/sources/html/admin/sql/patch/upgrade61.FR.sql +++ /dev/null @@ -1,90 +0,0 @@ -begin; --- insert into parm_code(p_code,p_value,p_comment)values('SUPPLIER','400','Poste comptable par défaut pour les fournisseurs'); --- update tva_rate set tva_poste = '445,445' where tva_poste is null or tva_poste='' or tva_poste like '%,0'; -update tva_rate set tva_label='FR_NOR' where tva_id= 101; -update tva_rate set tva_label='FR_RED' where tva_id= 102; -update tva_rate set tva_label='FR_SRED' where tva_id= 103; -update tva_rate set tva_label='FR_ANC' where tva_id= 105; -update tva_rate set tva_label='DOM' where tva_id= 201; -update tva_rate set tva_label='DOM_NPR' where tva_id= 202; -update tva_rate set tva_label='DOM_REDUIT' where tva_id= 203; -update tva_rate set tva_label='DOM_I' where tva_id= 204; -update tva_rate set tva_label='DOM_PRESSE' where tva_id= 205; -update tva_rate set tva_label='DOM_OCTROI' where tva_id= 206; -update tva_rate set tva_label='COR_I' where tva_id= 301; -update tva_rate set tva_label='COR_II' where tva_id= 302; -update tva_rate set tva_label='COR_III' where tva_id= 303; -update tva_rate set tva_label='COR_IV' where tva_id= 304; -update tva_rate set tva_label='INTRA' where tva_id= 401; -update tva_rate set tva_label='DOM_IMMO' where tva_id= 207; -update tva_rate set tva_label='COR_IMMO' where tva_id= 305; -update tva_rate set tva_label='INTRA_IMMMO' where tva_id= 402; -update tva_rate set tva_label='FRANCH' where tva_id= 501; -update tva_rate set tva_label='EXPORT' where tva_id= 502; -update tva_rate set tva_label='AUTRE' where tva_id= 503; -update tva_rate set tva_label='INTRA_LIV' where tva_id= 504; -update tva_rate set tva_label='FR_IMMO' where tva_id= 104; -update tmp_pcmn set pcm_type='ACT' where pcm_val in ('445661','445662','445663'); -update tva_rate set tva_poste='4456601,445701' where tva_id='104' and tva_poste='44562,0'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4456601,'TVA 19,6% - France métropolitaine - Taux immobilisations Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (445701,'TVA 19,6% - France métropolitaine - Taux immobilisations Collectée ','4457','PAS'); -update tva_rate set tva_poste='4456602,445702' where tva_id='105' and tva_poste='445,445'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4456602,'TVA x% - France métropolitaine - Taux anciens Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (445702,'TVA x% - France métropolitaine - Taux anciens Collectée ','4457','PAS'); -update tva_rate set tva_poste='4456603,445703' where tva_id='201' and tva_poste='445,445'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4456603,'TVA 8,5% - DOM - Taux normal Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (445703,'TVA 8,5% - DOM - Taux normal Collectée ','4457','PAS'); -update tva_rate set tva_poste='4456604,445704' where tva_id='202' and tva_poste='445,445'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4456604,'TVA 8,5% - DOM - Taux normal NPR Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (445704,'TVA 8,5% - DOM - Taux normal NPR Collectée ','4457','PAS'); -update tva_rate set tva_poste='4456605,445705' where tva_id='203' and tva_poste='445,445'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4456605,'TVA 2,1% - DOM - Taux réduit Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (445705,'TVA 2,1% - DOM - Taux réduit Collectée ','4457','PAS'); -update tva_rate set tva_poste='4456606,445706' where tva_id='204' and tva_poste='445,445'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4456606,'TVA 1,75% - DOM - Taux I Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (445706,'TVA 1,75% - DOM - Taux I Collectée ','4457','PAS'); -update tva_rate set tva_poste='4456607,445707' where tva_id='205' and tva_poste='445,445'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4456607,'TVA 1,05% - DOM - Taux publications de presse Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (445707,'TVA 1,05% - DOM - Taux publications de presse Collectée ','4457','PAS'); -update tva_rate set tva_poste='4456608,445708' where tva_id='206' and tva_poste='445,445'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4456608,'TVA x% - DOM - Taux octroi de mer Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (445708,'TVA x% - DOM - Taux octroi de mer Collectée ','4457','PAS'); -update tva_rate set tva_poste='4456609,445709' where tva_id='207' and tva_poste='445,0'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4456609,'TVA x% - DOM - Taux immobilisations Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (445709,'TVA x% - DOM - Taux immobilisations Collectée ','4457','PAS'); -update tva_rate set tva_poste='44566010,4457010' where tva_id='301' and tva_poste='445,445'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (44566010,'TVA 13% - Corse - Taux I Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4457010,'TVA 13% - Corse - Taux I Collectée ','4457','PAS'); -update tva_rate set tva_poste='44566011,4457011' where tva_id='302' and tva_poste='445,445'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (44566011,'TVA 8% - Corse - Taux II Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4457011,'TVA 8% - Corse - Taux II Collectée ','4457','PAS'); -update tva_rate set tva_poste='44566012,4457012' where tva_id='303' and tva_poste='445,445'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (44566012,'TVA 2,1% - Corse - Taux III Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4457012,'TVA 2,1% - Corse - Taux III Collectée ','4457','PAS'); -update tva_rate set tva_poste='44566013,4457013' where tva_id='304' and tva_poste='445,445'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (44566013,'TVA 0,9% - Corse - Taux IV Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4457013,'TVA 0,9% - Corse - Taux IV Collectée ','4457','PAS'); -update tva_rate set tva_poste='44566014,4457014' where tva_id='305' and tva_poste='445,0'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (44566014,'TVA x% - Corse - Taux immobilisations Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4457014,'TVA x% - Corse - Taux immobilisations Collectée ','4457','PAS'); -update tva_rate set tva_poste='44566015,4457015' where tva_id='401' and tva_poste='445,445'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (44566015,'TVA x% - Acquisitions intracommunautaires/Pays Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4457015,'TVA x% - Acquisitions intracommunautaires/Pays Collectée ','4457','PAS'); -update tva_rate set tva_poste='44566016,4457016' where tva_id='402' and tva_poste='445,0'; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (44566016,'TVA x% - Acquisitions intracommunautaires immobilisations/Pays Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4457016,'TVA x% - Acquisitions intracommunautaires immobilisations/Pays Collectée ','4457','PAS'); -update tva_rate set tva_poste='44566017,4457017' where tva_id='501' and tva_poste=''; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (44566017,'TVA x% - Non imposable : Achats en franchise Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4457017,'TVA x% - Non imposable : Achats en franchise Collectée ','4457','PAS'); -update tva_rate set tva_poste='44566018,4457018' where tva_id='502' and tva_poste=''; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (44566018,'TVA x% - Non imposable : Exports hors CE/Pays Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4457018,'TVA x% - Non imposable : Exports hors CE/Pays Collectée ','4457','PAS'); -update tva_rate set tva_poste='44566019,4457019' where tva_id='503' and tva_poste=''; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (44566019,'TVA x% - Non imposable : Autres opérations Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4457019,'TVA x% - Non imposable : Autres opérations Collectée ','4457','PAS'); -update tva_rate set tva_poste='44566020,4457020' where tva_id='504' and tva_poste=''; -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (44566020,'TVA x% - Non imposable : Livraisons intracommunautaires/Pays Déductible','4456','ACT'); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values (4457020,'TVA x% - Non imposable : Livraisons intracommunautaires/Pays Collectée ','4457','PAS'); - -update version set val=62; -commit; diff --git a/sources/html/admin/sql/patch/upgrade61.sql b/sources/html/admin/sql/patch/upgrade61.sql deleted file mode 100644 index 2ca731b..0000000 --- a/sources/html/admin/sql/patch/upgrade61.sql +++ /dev/null @@ -1,15 +0,0 @@ -begin; --- View: vw_fiche_def - -DROP VIEW vw_fiche_def; - -CREATE VIEW vw_fiche_def AS - SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, attr_def.ad_text,fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def.frd_id - from fiche_def - join jnt_fic_attr USING (fd_id) - JOIN attr_def ON attr_def.ad_id = jnt_fic_attr.ad_id -; -COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family'; - - -commit; diff --git a/sources/html/admin/sql/patch/upgrade62.sql b/sources/html/admin/sql/patch/upgrade62.sql deleted file mode 100644 index 4b29b7a..0000000 --- a/sources/html/admin/sql/patch/upgrade62.sql +++ /dev/null @@ -1,9 +0,0 @@ -begin; --- View: vw_fiche_def - -create index jnt_fic_att_value_fd_id_idx on jnt_fic_att_value(f_id); -create index jnt_fic_attr_fd_id_idx on jnt_fic_attr(fd_id); - -update version set val=63; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade63.sql b/sources/html/admin/sql/patch/upgrade63.sql deleted file mode 100644 index afaf0b8..0000000 --- a/sources/html/admin/sql/patch/upgrade63.sql +++ /dev/null @@ -1,62 +0,0 @@ -begin; - -DROP FUNCTION insert_jrnx(character varying, numeric, poste_comptable, integer, integer, boolean, text, integer, text); - -CREATE OR REPLACE FUNCTION insert_jrnx(p_date character varying, p_montant numeric, p_poste poste_comptable, p_grpt integer, p_jrn_def integer, p_debit boolean, p_tech_user text, p_tech_per integer, p_qcode text,p_comment text) - RETURNS void AS -$BODY$ -declare - sCode varchar; - nCount_qcode integer; -begin - sCode=trim(p_qcode); - - -- if p_qcode is empty try to find one - if length(sCode) = 0 or p_qcode is null then - select count(*) into nCount_qcode - from vw_poste_qcode where j_poste=p_poste::text; - -- if we find only one q_code for a accountancy account - -- then retrieve it - if nCount_qcode = 1 then - select j_qcode::text into sCode - from vw_poste_qcode where j_poste=p_poste::text; - else - sCode=NULL; - end if; - - end if; - - insert into jrnx - ( - j_date, - j_montant, - j_poste, - j_grpt, - j_jrn_def, - j_debit, - j_text, - j_tech_user, - j_tech_per, - j_qcode - ) values - ( - to_date(p_date,'DD.MM.YYYY'), - p_montant, - p_poste, - p_grpt, - p_jrn_def, - p_debit, - p_comment, - p_tech_user, - p_tech_per, - sCode - ); - -return; -end; -$BODY$ -LANGUAGE plpgsql; - -update version set val=64; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade64.sql b/sources/html/admin/sql/patch/upgrade64.sql deleted file mode 100644 index a580f84..0000000 --- a/sources/html/admin/sql/patch/upgrade64.sql +++ /dev/null @@ -1,67 +0,0 @@ -begin; - -DROP VIEW vw_fiche_attr; - -CREATE OR REPLACE VIEW vw_fiche_attr AS - SELECT a.f_id, a.fd_id, a.av_text AS vw_name, b.av_text AS vw_sell, c.av_text AS vw_buy, d.av_text AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.av_text AS vw_addr, f.av_text AS vw_cp, j.av_text AS quick_code, h.av_text AS vw_description, i.av_text AS tva_num, fiche_def.frd_id - FROM ( SELECT fiche.f_id, fiche.fd_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 1) a - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 6) b ON a.f_id = b.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 7) c ON a.f_id = c.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 2) d ON a.f_id = d.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 14) e ON a.f_id = e.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 15) f ON a.f_id = f.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 23) j ON a.f_id = j.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 9) h ON a.f_id = h.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 13) i ON a.f_id = i.f_id - LEFT JOIN tva_rate ON d.av_text = tva_rate.tva_id::text - JOIN fiche_def USING (fd_id); - -update version set val=65; - -commit; - diff --git a/sources/html/admin/sql/patch/upgrade65.sql b/sources/html/admin/sql/patch/upgrade65.sql deleted file mode 100644 index b1d1ce2..0000000 --- a/sources/html/admin/sql/patch/upgrade65.sql +++ /dev/null @@ -1,4 +0,0 @@ -begin; -SELECT setval('public.mod_payment_mp_id_seq', 10, true); -update version set val=66; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade66.sql b/sources/html/admin/sql/patch/upgrade66.sql deleted file mode 100644 index 219a1d7..0000000 --- a/sources/html/admin/sql/patch/upgrade66.sql +++ /dev/null @@ -1,134 +0,0 @@ -begin; - -drop function account_insert(p_f_id integer, p_account poste_comptable); - -CREATE OR REPLACE FUNCTION account_insert(p_f_id integer, p_account text) - RETURNS integer AS -$BODY$ -declare -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nNew tmp_pcmn.pcm_val%type; -bAuto bool; -nFd_id integer; -nCount integer; -first text; -second text; -begin - - if length(trim(p_account)) != 0 then - -- if there is coma in p_account, treat normally - if position (',' in p_account) = 0 then - raise info 'p_account is not empty'; - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise info 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,p_account); - else - -- account doesn't exist, create it - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account::poste_comptable); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::poste_comptable,sName,nParent); - perform attribut_insert(p_f_id,5,p_account); - - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - perform attribut_insert(p_f_id,5,p_account); - end if; - else - raise info 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - if bAuto = true then - raise notice 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise notice 'nNew %', nNew; - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999999999999999')); - - else - -- if there is an account_base then it is the default - select fd_class_base::text into nNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if nNew is null or length(trim(nNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999999999999999')); - end if; - end if; - end if; - -return 0; -end; -$BODY$ -LANGUAGE 'plpgsql'; - -drop function account_update(p_f_id integer, p_account poste_comptable); - -CREATE OR REPLACE FUNCTION account_update(p_f_id integer, p_account text) - RETURNS integer AS -$BODY$ -declare -nMax fiche.f_id%type; -nCount integer; -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nJft_id attr_value.jft_id%type; -first text; -second text; -begin - - if length(trim(p_account)) != 0 then - if position (',' in p_account) = 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account::poste_comptable); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::poste_comptable,sName,nParent); - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - end if; - end if; - select jft_id into njft_id from jnt_fic_att_value where f_id=p_f_id and ad_id=5; - update attr_value set av_text=p_account where jft_id=njft_id; - -return njft_id; -end; -$BODY$ -LANGUAGE 'plpgsql'; - -update version set val=67; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade67.sql b/sources/html/admin/sql/patch/upgrade67.sql deleted file mode 100644 index 203b1b5..0000000 --- a/sources/html/admin/sql/patch/upgrade67.sql +++ /dev/null @@ -1,177 +0,0 @@ -begin; - -DROP VIEW vw_fiche_def; -DROP VIEW vw_supplier; -DROP VIEW vw_client; - -alter table fiche_def alter fd_class_base type text; -CREATE OR REPLACE VIEW vw_fiche_def AS - SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, attr_def.ad_text, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def.frd_id - FROM fiche_def - JOIN jnt_fic_attr USING (fd_id) - JOIN attr_def ON attr_def.ad_id = jnt_fic_attr.ad_id; - -COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family'; - -CREATE OR REPLACE VIEW vw_supplier AS - SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email - FROM ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 1) a - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 13) b USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 23) a1 USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 5) c USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 14) d USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 15) e USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 16) f USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 17) g USING (f_id) - LEFT JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 18) h USING (f_id) - WHERE a.frd_id = 8; -CREATE OR REPLACE VIEW vw_client AS - SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email - FROM ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 1) a - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 13) b USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 23) a1 USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 5) c USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 14) d USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 15) e USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 16) f USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 17) g USING (f_id) - LEFT JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 18) h USING (f_id) - WHERE a.frd_id = 9; - - -CREATE OR REPLACE FUNCTION fiche_def_ins_upd() - RETURNS "trigger" AS -$BODY$ -begin - -if position (',' in NEW.fd_class_base) != 0 then - NEW.fd_create_account='f'; - -end if; -return NEW; -end;$BODY$ -LANGUAGE 'plpgsql'; - -CREATE TRIGGER fiche_def_ins_upd - BEFORE INSERT OR UPDATE - ON fiche_def - FOR EACH ROW - EXECUTE PROCEDURE fiche_def_ins_upd(); - -ALTER TABLE stock_goods DROP CONSTRAINT fk_stock_good_f_id; - -ALTER TABLE stock_goods - ADD CONSTRAINT fk_stock_good_f_id FOREIGN KEY (f_id) - REFERENCES fiche (f_id) MATCH SIMPLE - ON UPDATE cascade ON DELETE cascade; - -update version set val=68; -commit; diff --git a/sources/html/admin/sql/patch/upgrade68.sql b/sources/html/admin/sql/patch/upgrade68.sql deleted file mode 100644 index 5f4d72a..0000000 --- a/sources/html/admin/sql/patch/upgrade68.sql +++ /dev/null @@ -1,86 +0,0 @@ -begin; - -CREATE OR REPLACE FUNCTION account_insert(p_f_id integer, p_account text) - RETURNS integer AS -$BODY$ -declare -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nNew tmp_pcmn.pcm_val%type; -bAuto bool; -nFd_id integer; -nCount integer; -first text; -second text; -begin - - if length(trim(p_account)) != 0 then - -- if there is coma in p_account, treat normally - if position (',' in p_account) = 0 then - raise info 'p_account is not empty'; - select count(*) into nCount from tmp_pcmn where pcm_val=p_account::poste_comptable; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise info 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,p_account); - else - -- account doesn't exist, create it - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account::poste_comptable); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::poste_comptable,sName,nParent); - perform attribut_insert(p_f_id,5,p_account); - - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - perform attribut_insert(p_f_id,5,p_account); - end if; - else - raise info 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - if bAuto = true then - raise notice 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise notice 'nNew %', nNew; - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999999999999999')); - - else - -- if there is an account_base then it is the default - select fd_class_base::text into nNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if nNew is null or length(trim(nNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,to_char(nNew,'999999999999999999999999')); - end if; - end if; - end if; - -return 0; -end; -$BODY$ -LANGUAGE 'plpgsql'; - -update version set val=69; -commit; - diff --git a/sources/html/admin/sql/patch/upgrade69.sql b/sources/html/admin/sql/patch/upgrade69.sql deleted file mode 100644 index 319b634..0000000 --- a/sources/html/admin/sql/patch/upgrade69.sql +++ /dev/null @@ -1,49 +0,0 @@ -begin; - -CREATE OR REPLACE FUNCTION account_update(p_f_id integer, p_account text) - RETURNS integer AS -$BODY$ -declare -nMax fiche.f_id%type; -nCount integer; -nParent tmp_pcmn.pcm_val_parent%type; -sName varchar; -nJft_id attr_value.jft_id%type; -first text; -second text; -begin - - if length(trim(p_account)) != 0 then - if position (',' in p_account) = 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account::poste_comptable; - if nCount = 0 then - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account::poste_comptable); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::poste_comptable,sName,nParent); - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - end if; - end if; - select jft_id into njft_id from jnt_fic_att_value where f_id=p_f_id and ad_id=5; - update attr_value set av_text=p_account where jft_id=njft_id; - -return njft_id; -end; -$BODY$ -LANGUAGE 'plpgsql' ; - -update version set val=70; -commit; diff --git a/sources/html/admin/sql/patch/upgrade7.sql b/sources/html/admin/sql/patch/upgrade7.sql deleted file mode 100644 index 7580a33..0000000 --- a/sources/html/admin/sql/patch/upgrade7.sql +++ /dev/null @@ -1,135 +0,0 @@ -begin; - -insert into tva_rate values (5,'0%',0, 'Pas soumis à la TVA',null); - -update fiche_def_ref set frd_class_base=2400 where frd_id=7; - --- banque n'a pas de gestion stock -delete from jnt_fic_attr where fd_id=1 and ad_id=19; --- client n'a pas de gestion stock -delete from jnt_fic_attr where fd_id=2 and ad_id=19; --- default periode for phpcompta - update user_pref set pref_periode=40 where pref_user='phpcompta'; --- create index ix_j_grp on jrnx(j_grpt); --- create index ix_jr_grp on jrn(jr_grpt_id); -update jrnx set j_tech_per = jr_tech_per from jrn where j_grpt=jr_grpt_id and j_tech_per is null; -alter table jrnx alter j_tech_per set not null; -alter table jrn alter jr_tech_per set not null; -alter table jrn alter jr_montant type numeric(20,4); -alter table jrnx alter j_montant type numeric(20,4); -alter table centralized alter c_montant type numeric(20,4); -alter table parm_money alter pm_rate type numeric(20,4); -drop view vw_fiche_attr; -alter table tva_rate alter tva_rate type numeric(8,4); --- version 8 -create view vw_fiche_attr as SELECT a.f_id, a.fd_id, a.av_text AS vw_name, b.av_text AS vw_sell, c.av_text AS vw_buy, d.av_text AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.av_text AS vw_addr, f.av_text AS vw_cp, fiche_def.frd_id - FROM ( SELECT fiche.f_id, fiche.fd_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 1) a - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 6) b ON a.f_id = b.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 7) c ON a.f_id = c.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 2) d ON a.f_id = d.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 14) e ON a.f_id = e.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 15) f ON a.f_id = f.f_id - LEFT JOIN tva_rate ON d.av_text = tva_rate.tva_id::text - JOIN fiche_def USING (fd_id); - - -create function check_balance (p_internal text) returns numeric as $$ -declare - amount_jrnx_debit numeric; - amount_jrnx_credit numeric; - amount_jrn numeric; -begin - select sum (j_montant) into amount_jrnx_credit - from jrnx join jrn on (j_grpt=jr_grpt_id) - where - jr_internal=p_internal - and j_debit=false; - - select sum (j_montant) into amount_jrnx_debit - from jrnx join jrn on (j_grpt=jr_grpt_id) - where - jr_internal=p_internal - and j_debit=true; - - select jr_montant into amount_jrn - from jrn - where - jr_internal=p_internal; - - if ( amount_jrnx_debit != amount_jrnx_credit ) - then - return abs(amount_jrnx_debit-amount_jrnx_credit); - end if; - if ( amount_jrn != amount_jrnx_credit) - then - return -1*abs(amount_jrn - amount_jrnx_credit); - end if; - return 0; -end; -$$ language plpgsql; - -create function proc_check_balance () returns TRIGGER as $jrn$ -declare - diff numeric; - tt text; -begin - if TG_OP = 'INSERT' then - tt=NEW.jr_internal; - diff:=check_balance(tt); - if diff != 0 then - raise exception 'Rounded error %',diff ; - end if; - return NEW; - end if; -end; -$jrn$ language plpgsql; -create trigger tr_jrn_check_balance after insert on jrn for each row execute procedure proc_check_balance(); -create table user_local_pref ( - user_id text, - parameter_type text, - parameter_value text -); -comment on table user_local_pref is 'The user''s local parameter '; -comment on column user_local_pref.user_id is 'user''s login '; -comment on column user_local_pref.parameter_type is 'the type of parameter '; -comment on column user_local_pref.parameter_value is 'the value of parameter '; - -alter table user_local_pref add constraint pk_user_local_pref primary key (user_id,parameter_type); - -insert into user_local_pref (user_id,parameter_type,parameter_value) -select pref_user,'PERIODE',pref_periode from user_pref ; - -update version set val=8; - - -commit; diff --git a/sources/html/admin/sql/patch/upgrade70.sql b/sources/html/admin/sql/patch/upgrade70.sql deleted file mode 100644 index b064a26..0000000 --- a/sources/html/admin/sql/patch/upgrade70.sql +++ /dev/null @@ -1,4 +0,0 @@ -begin; -insert into action (ac_id,ac_description,ac_module,ac_code) values (1135,'Ajoute ou modifie des catégories de documents','parametre','PARCATDOC'); -update version set val=71; -commit; diff --git a/sources/html/admin/sql/patch/upgrade71.sql b/sources/html/admin/sql/patch/upgrade71.sql deleted file mode 100644 index 4f3833f..0000000 --- a/sources/html/admin/sql/patch/upgrade71.sql +++ /dev/null @@ -1,8 +0,0 @@ -begin; -alter table document_modele add md_affect varchar(3) default null; -update document_modele set md_affect='ACH' where md_type=10; -update document_modele set md_affect='VEN' where md_type=4; -update document_modele set md_affect='GES' where md_affect is null; -alter table document_modele alter md_affect set not null; -update version set val=72; -commit; diff --git a/sources/html/admin/sql/patch/upgrade72.sql b/sources/html/admin/sql/patch/upgrade72.sql deleted file mode 100644 index c0fc059..0000000 --- a/sources/html/admin/sql/patch/upgrade72.sql +++ /dev/null @@ -1,755 +0,0 @@ -begin; -create schema comptaproc; - - alter function account_add (poste_comptable,character varying) set schema comptaproc; - alter function account_auto (integer) set schema comptaproc; - alter function account_compute (integer) set schema comptaproc; - alter function account_insert (integer,text) set schema comptaproc; - alter function account_parent (poste_comptable) set schema comptaproc; - alter function account_update (integer,text) set schema comptaproc; - alter function action_gestion_ins_upd () set schema comptaproc; - alter function attribut_insert (integer,integer,character varying) set schema comptaproc; - alter function attribute_correct_order () set schema comptaproc; - alter function card_class_base (integer) set schema comptaproc; - alter function check_balance (integer) set schema comptaproc; - alter function correct_sequence (text,text,text) set schema comptaproc; - alter function create_missing_sequence () set schema comptaproc; - alter function drop_index (character varying) set schema comptaproc; - alter function drop_it (character varying) set schema comptaproc; - alter function extension_ins_upd () set schema comptaproc; - alter function fiche_account_parent (integer) set schema comptaproc; - alter function fiche_attribut_synchro (integer) set schema comptaproc; - alter function fiche_def_ins_upd () set schema comptaproc; - alter function find_pcm_type (numeric) set schema comptaproc; - alter function group_analytic_ins_upd () set schema comptaproc; - alter function group_analytique_del () set schema comptaproc; - alter function html_quote (text) set schema comptaproc; - alter function info_def_ins_upd () set schema comptaproc; - alter function insert_jrnx (p_date character varying, p_montant numeric, p_poste poste_comptable, p_grpt integer, p_jrn_def integer, p_debit boolean, p_tech_user text, p_tech_per integer, p_qcode text, p_comment text) set schema comptaproc; - alter function insert_quant_purchase ( p_internal text, p_j_id numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric, p_dep_priv numeric, p_client character varying) set schema comptaproc; - alter function insert_quant_sold (p_internal text, p_jid numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_client character varying) set schema comptaproc; - alter function insert_quick_code (integer,text) set schema comptaproc; - alter function jrn_check_periode () set schema comptaproc; - alter function jrn_def_add () set schema comptaproc; - alter function jrn_def_delete () set schema comptaproc; - alter function jrn_del () set schema comptaproc; - alter function jrnx_del () set schema comptaproc; - alter function plan_analytic_ins_upd () set schema comptaproc; - alter function poste_analytique_ins_upd () set schema comptaproc; - alter function proc_check_balance () set schema comptaproc; - alter function t_document_modele_validate () set schema comptaproc; - alter function t_document_type_insert () set schema comptaproc; - alter function t_document_validate () set schema comptaproc; - alter function t_jrn_def_sequence () set schema comptaproc; - alter function tmp_pcmn_ins () set schema comptaproc; - alter function trim_cvs_quote () set schema comptaproc; - alter function trim_space_format_csv_banque () set schema comptaproc; - alter function tva_delete (integer) set schema comptaproc; - alter function tva_insert (text,numeric,text,text) set schema comptaproc; - alter function tva_modify (integer,text,numeric,text,text) set schema comptaproc; - alter function update_quick_code (integer,text) set schema comptaproc; - -set search_path to public,comptaproc; -alter table centralized DROP CONSTRAINT "$2"; -alter table jrnx DROP CONSTRAINT "$1"; - -DROP VIEW vw_client ; -DROP VIEW vw_fiche_attr ; -DROP VIEW vw_fiche_def ; -DROP VIEW vw_fiche_min ; -DROP VIEW vw_poste_qcode ; -DROP VIEW vw_supplier ; - -create domain account_type varchar(40); -alter table tmp_pcmn alter pcm_val_parent type account_type; -alter table tmp_pcmn alter pcm_val type account_type; -alter table centralized alter c_poste type account_type; -alter table del_jrnx alter j_poste type account_type; -alter table fiche_def alter fd_class_base type text; -alter table jrnx alter j_poste type account_type; -alter table parm_poste alter p_value type account_type; - -CREATE OR REPLACE VIEW vw_client AS - SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email - FROM ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 1) a - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 13) b USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 23) a1 USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 5) c USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 14) d USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 15) e USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 16) f USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 17) g USING (f_id) - LEFT JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 18) h USING (f_id) - WHERE a.frd_id = 9; - - -CREATE OR REPLACE VIEW vw_fiche_attr AS - SELECT a.f_id, a.fd_id, a.av_text AS vw_name, b.av_text AS vw_sell, c.av_text AS vw_buy, d.av_text AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.av_text AS vw_addr, f.av_text AS vw_cp, j.av_text AS quick_code, h.av_text AS vw_description, i.av_text AS tva_num, fiche_def.frd_id - FROM ( SELECT fiche.f_id, fiche.fd_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 1) a - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 6) b ON a.f_id = b.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 7) c ON a.f_id = c.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 2) d ON a.f_id = d.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 14) e ON a.f_id = e.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 15) f ON a.f_id = f.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 23) j ON a.f_id = j.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 9) h ON a.f_id = h.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 13) i ON a.f_id = i.f_id - LEFT JOIN tva_rate ON d.av_text = tva_rate.tva_id::text - JOIN fiche_def USING (fd_id); - -CREATE OR REPLACE VIEW vw_fiche_def AS - SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, attr_def.ad_text, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def.frd_id - FROM fiche_def - JOIN jnt_fic_attr USING (fd_id) - JOIN attr_def ON attr_def.ad_id = jnt_fic_attr.ad_id; - -COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family'; - - -CREATE OR REPLACE VIEW vw_fiche_min AS - SELECT attr_min.frd_id, attr_min.ad_id, attr_def.ad_text, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base - FROM attr_min - JOIN attr_def USING (ad_id) - JOIN fiche_def_ref USING (frd_id); - -CREATE OR REPLACE VIEW vw_poste_qcode AS - SELECT a.f_id, a.av_text AS j_poste, b.av_text AS j_qcode - FROM ( SELECT jnt_fic_att_value.f_id, attr_value.av_text - FROM attr_value - JOIN jnt_fic_att_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 5) a - JOIN ( SELECT jnt_fic_att_value.f_id, attr_value.av_text - FROM attr_value - JOIN jnt_fic_att_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 23) b USING (f_id); - -CREATE OR REPLACE VIEW vw_poste_qcode AS - SELECT a.f_id, a.av_text AS j_poste, b.av_text AS j_qcode - FROM ( SELECT jnt_fic_att_value.f_id, attr_value.av_text - FROM attr_value - JOIN jnt_fic_att_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 5) a - JOIN ( SELECT jnt_fic_att_value.f_id, attr_value.av_text - FROM attr_value - JOIN jnt_fic_att_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 23) b USING (f_id); - -CREATE OR REPLACE VIEW vw_supplier AS - SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email - FROM ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 1) a - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 13) b USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 23) a1 USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 5) c USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 14) d USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 15) e USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 16) f USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 17) g USING (f_id) - LEFT JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 18) h USING (f_id) - WHERE a.frd_id = 8; - -alter table jrnx add CONSTRAINT fk_pcmn_val foreign key (j_poste) references tmp_pcmn (pcm_val); -alter table centralized add CONSTRAINT fk_pcmn_val foreign key (c_poste) references tmp_pcmn (pcm_val); - -drop function comptaproc.account_add (p_id poste_comptable,t character varying) ; -drop function comptaproc.account_parent (a poste_comptable) ; -drop function comptaproc.insert_jrnx (p_date character varying, p_montant numeric, p_poste poste_comptable, p_grpt integer, p_jrn_def integer, p_debit boolean, p_tech_user text, p_tech_per integer, p_qcode text, p_comment text); -drop function comptaproc.account_update(integer,text); -drop function comptaproc.find_pcm_type(numeric); -drop function comptaproc.account_compute(integer); - --- --- Name: account_update(integer, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE OR REPLACE FUNCTION comptaproc.account_update(p_f_id integer, p_account tmp_pcmn.pcm_val_parent%type ) RETURNS integer - AS $$ -declare - nMax fiche.f_id%type; - nCount integer; - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - nJft_id attr_value.jft_id%type; - first text; - second text; -begin - - if length(trim(p_account)) != 0 then - if position (',' in p_account) = 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - end if; - end if; - select jft_id into njft_id from jnt_fic_att_value where f_id=p_f_id and ad_id=5; - update attr_value set av_text=p_account where jft_id=njft_id; - -return njft_id; -end; -$$ - LANGUAGE plpgsql; - - --- --- Name: insert_jrnx(character varying, numeric, public.account_type, integer, integer, boolean, text, integer, text, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE OR REPLACE FUNCTION comptaproc.insert_jrnx(p_date character varying, p_montant numeric, p_poste tmp_pcmn.pcm_val_parent%type, p_grpt integer, p_jrn_def integer, p_debit boolean, p_tech_user text, p_tech_per integer, p_qcode text, p_comment text) RETURNS void - AS $$ -declare - sCode varchar; - nCount_qcode integer; -begin - sCode=trim(p_qcode); - - -- if p_qcode is empty try to find one - if length(sCode) = 0 or p_qcode is null then - select count(*) into nCount_qcode - from vw_poste_qcode where j_poste=p_poste; - -- if we find only one q_code for a accountancy account - -- then retrieve it - if nCount_qcode = 1 then - select j_qcode::text into sCode - from vw_poste_qcode where j_poste=p_poste; - else - sCode=NULL; - end if; - - end if; - - insert into jrnx - ( - j_date, - j_montant, - j_poste, - j_grpt, - j_jrn_def, - j_debit, - j_text, - j_tech_user, - j_tech_per, - j_qcode - ) values - ( - to_date(p_date,'DD.MM.YYYY'), - p_montant, - p_poste, - p_grpt, - p_jrn_def, - p_debit, - p_comment, - p_tech_user, - p_tech_per, - sCode - ); - -return; -end; -$$ - LANGUAGE plpgsql; - - --- --- Name: tva_insert(text, numeric, text, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE OR REPLACE FUNCTION comptaproc.tva_insert(text, numeric, text, text) RETURNS integer - AS $_$ -declare - l_tva_id integer; - p_tva_label alias for $1; - p_tva_rate alias for $2; - p_tva_comment alias for $3; - p_tva_poste alias for $4; - debit text; - credit text; - nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::account_type; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::account_type; - if nCount = 0 then return 4; end if; - -end if; -select into l_tva_id nextval('s_tva') ; -insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste) - values (l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste); -return 0; -end; -$_$ - LANGUAGE plpgsql; - - -CREATE OR REPLACE FUNCTION comptaproc.tva_modify(integer, text, numeric, text, text) RETURNS integer - AS $_$ -declare - p_tva_id alias for $1; - p_tva_label alias for $2; - p_tva_rate alias for $3; - p_tva_comment alias for $4; - p_tva_poste alias for $5; - debit text; - credit text; - nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::account_type; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::account_type; - if nCount = 0 then return 4; end if; - -end if; -update tva_rate set tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste - where tva_id=p_tva_id; -return 0; -end; -$_$ - LANGUAGE plpgsql; - --- Function: comptaproc.account_add(account_type, character varying) - --- DROP FUNCTION comptaproc.account_add(account_type, character varying); - -CREATE OR REPLACE FUNCTION comptaproc.account_add(p_id account_type, p_name character varying) - RETURNS void AS -$BODY$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - nCount integer; -begin - select count(*) into nCount from tmp_pcmn where pcm_val=p_id; - if nCount = 0 then - nParent=account_parent(p_id); - insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent) - values (p_id, p_name,nParent); - end if; -return; -end ; -$BODY$ -LANGUAGE 'plpgsql'; --- Function: comptaproc.account_compute(integer) - --- DROP FUNCTION comptaproc.account_compute(integer); - -CREATE OR REPLACE FUNCTION comptaproc.account_compute(p_f_id integer) - RETURNS account_type AS -$BODY$ -declare - class_base fiche_def.fd_class_base%type; - maxcode numeric; - sResult account_type; -begin - select fd_class_base into class_base - from - fiche_def join fiche using (fd_id) - where - f_id=p_f_id; - raise notice 'account_compute class base %',class_base; - select count (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - if maxcode = 0 then - maxcode:=class_base::numeric; - else - select max (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - maxcode:=maxcode::numeric; - end if; - if maxcode::text = class_base then - maxcode:=class_base::numeric*1000; - end if; - maxcode:=maxcode+1; - raise notice 'account_compute Max code %',maxcode; - sResult:=maxcode::account_type; - return sResult; -end; -$BODY$ - LANGUAGE 'plpgsql' ; --- Function: comptaproc.account_insert(integer, text) - --- DROP FUNCTION comptaproc.account_insert(integer, text); - -CREATE OR REPLACE FUNCTION comptaproc.account_insert(p_f_id integer, p_account text) - RETURNS integer AS -$BODY$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - nNew tmp_pcmn.pcm_val%type; - bAuto bool; - nFd_id integer; - sClass_Base fiche_def.fd_class_base%TYPE; - nCount integer; - first text; - second text; -begin - - if length(trim(p_account)) != 0 then - -- if there is coma in p_account, treat normally - if position (',' in p_account) = 0 then - raise info 'p_account is not empty'; - select count(*) into nCount from tmp_pcmn where pcm_val=p_account::account_type; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise info 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,p_account); - else - -- account doesn't exist, create it - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account::account_type); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::account_type,sName,nParent); - perform attribut_insert(p_f_id,5,p_account); - - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - perform attribut_insert(p_f_id,5,p_account); - end if; - else - raise info 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - - select fd_class_base into sClass_base from fiche_def where fd_id=nFd_id; -raise info 'sClass_Base : %',sClass_base; - if bAuto = true and sClass_base similar to '^[[:digit:]]*$' then - raise info 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise info 'nNew %', nNew; - select av_text into sName from - attr_value join jnt_fic_att_value using (jft_id) - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,nNew); - - else - -- if there is an account_base then it is the default - select fd_class_base::account_type into nNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if nNew is null or length(trim(nNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,nNew); - end if; - end if; - end if; - -return 0; -end; -$BODY$ - LANGUAGE 'plpgsql' ; --- Function: comptaproc.account_parent(account_type) - --- DROP FUNCTION comptaproc.account_parent(account_type); - -CREATE OR REPLACE FUNCTION comptaproc.account_parent(p_account account_type) - RETURNS account_type AS -$BODY$ -declare - sSubParent tmp_pcmn.pcm_val_parent%type; - sResult tmp_pcmn.pcm_val_parent%type; - nCount integer; -begin - if p_account is NULL then - return NULL; - end if; - sSubParent:=p_account; - while true loop - select count(*) into nCount - from tmp_pcmn - where - pcm_val = sSubParent; - if nCount != 0 then - sResult:= sSubParent; - exit; - end if; - sSubParent:= substr(sSubParent,1,length(sSubParent)-1); - if length(sSubParent) <= 0 then - raise exception 'Impossible de trouver le compte parent pour %',p_account; - end if; - raise notice 'sSubParent % % ',sSubParent,length(sSubParent); - end loop; - raise notice 'account_parent : Parent is %',sSubParent; - return sSubParent; -end; -$BODY$ - LANGUAGE 'plpgsql'; --- Function: comptaproc.card_class_base(integer) - --- DROP FUNCTION comptaproc.card_class_base(integer); -DROP FUNCTION comptaproc.card_class_base(p_f_id integer); - -CREATE OR REPLACE FUNCTION comptaproc.card_class_base(p_f_id integer) - RETURNS fiche_def.fd_class_base%TYPE AS -$BODY$ -declare - n_poste fiche_def.fd_class_base%type; -begin - - select fd_class_base into n_poste from fiche_def join fiche using -(fd_id) - where f_id=p_f_id; - if not FOUND then - raise exception 'Invalid fiche card_class_base(%)',p_f_id; - end if; -return n_poste; -end; -$BODY$ - LANGUAGE 'plpgsql' ; --- Function: comptaproc.fiche_account_parent(integer) - --- DROP FUNCTION comptaproc.fiche_account_parent(integer); - -CREATE OR REPLACE FUNCTION comptaproc.fiche_account_parent(p_f_id integer) - RETURNS poste_comptable AS -$BODY$ -declare -ret tmp_pcmn.pcm_val%TYPE; -begin - select fd_class_base into ret from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if not FOUND then - raise exception '% N''existe pas',p_f_id; - end if; - return ret; -end; -$BODY$ - LANGUAGE 'plpgsql' ; -CREATE OR REPLACE FUNCTION comptaproc.find_pcm_type(pp_value account_type) - RETURNS text AS -$BODY$ -declare - str_type parm_poste.p_type%TYPE; - str_value parm_poste.p_type%TYPE; - nLength integer; -begin - str_value:=pp_value; - nLength:=length(str_value::text); - while nLength > 0 loop - select p_type into str_type from parm_poste where p_value=str_value; - if FOUND then - return str_type; - end if; - nLength:=nLength-1; - str_value:=substring(str_value::text from 1 for nLength)::account_type; - end loop; -return 'CON'; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; -DROP FUNCTION comptaproc.fiche_account_parent(integer); - -CREATE OR REPLACE FUNCTION comptaproc.fiche_account_parent(p_f_id integer) - RETURNS account_type AS -$BODY$ -declare -ret tmp_pcmn.pcm_val%TYPE; -begin - select fd_class_base into ret from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if not FOUND then - raise exception '% N''existe pas',p_f_id; - end if; - return ret; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -drop domain poste_comptable; - -update version set val=73; -commit; diff --git a/sources/html/admin/sql/patch/upgrade73.sql b/sources/html/admin/sql/patch/upgrade73.sql deleted file mode 100644 index d17cf2d..0000000 --- a/sources/html/admin/sql/patch/upgrade73.sql +++ /dev/null @@ -1,33 +0,0 @@ -begin; -DROP FUNCTION if exists comptaproc.get_action_tree(); - -CREATE OR REPLACE FUNCTION comptaproc.action_get_tree(p_id bigint) - RETURNS setof bigint AS -$BODY$ - -declare - e bigint; - i bigint; -begin - for e in select ag_id from action_gestion where ag_ref_ag_id=p_id - loop - if e = 0 then - return; - end if; - return next e; - for i in select ag_id from action_gestion where ag_ref_ag_id=e - loop - if i = 0 then - return; - end if; - return next i; - end loop; - end loop; - return; - -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -update version set val=74; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade74.sql b/sources/html/admin/sql/patch/upgrade74.sql deleted file mode 100644 index bfcc03a..0000000 --- a/sources/html/admin/sql/patch/upgrade74.sql +++ /dev/null @@ -1,71 +0,0 @@ -begin; - -drop function if exists comptaproc.get_pcm_tree(account_type); - -create or replace function comptaproc.get_pcm_tree(source account_type) returns setof account_type -as -$_$ -declare - i account_type; - e account_type; -begin - for i in select pcm_val from tmp_pcmn where pcm_val_parent=source - loop - return next i; - for e in select get_pcm_tree from get_pcm_tree(i) - loop - return next e; - end loop; - - end loop; - return; -end; -$_$ -language plpgsql; - -drop table if exists letter_deb; -drop table if exists letter_cred; -drop table if exists jnt_letter cascade; -create table jnt_letter( - jl_id serial not null, - jl_amount_deb numeric(20,4), - constraint jnt_letter_pk primary key (jl_id) - ); -create table letter_deb ( - ld_id serial, - j_id bigint not null, - jl_id bigint not null, - constraint letter_deb_pk primary key (ld_id), - constraint letter_deb_fk foreign key (j_id) references jrnx(j_id) on update cascade on delete cascade, - constraint jnt_deb_fk foreign key (jl_id) references jnt_letter(jl_id) on update cascade on delete cascade - ); - -create table letter_cred ( - lc_id serial, - j_id bigint not null, - jl_id bigint not null, - constraint letter_cred_pk primary key (lc_id), - constraint letter_cred_fk foreign key (j_id) references jrnx(j_id) on update cascade on delete cascade, - constraint jnt_cred_fk foreign key (jl_id) references jnt_letter(jl_id) on update cascade on delete cascade - ); - - -create or replace function comptaproc.get_letter_jnt(a bigint) returns bigint -as -$_$ -declare - nResult bigint; -begin - select jl_id into nResult from jnt_letter join letter_deb using (jl_id) where j_id = a; - if NOT FOUND then - select jl_id into nResult from jnt_letter join letter_cred using (jl_id) where j_id = a; - if NOT found then - return null; - end if; - end if; -return nResult; -end; -$_$ language plpgsql; - -update version set val=75; -commit; diff --git a/sources/html/admin/sql/patch/upgrade75.sql b/sources/html/admin/sql/patch/upgrade75.sql deleted file mode 100644 index bb4f580..0000000 --- a/sources/html/admin/sql/patch/upgrade75.sql +++ /dev/null @@ -1,156 +0,0 @@ -begin; - -drop view vw_supplier; -drop view vw_fiche_min; -drop view vw_client; - -alter table fiche_def_ref alter frd_class_base type account_type; - -create view vw_client as - SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email - FROM ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 1) a - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 13) b USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 23) a1 USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 5) c USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 14) d USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 15) e USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 16) f USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 17) g USING (f_id) - LEFT JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 18) h USING (f_id) - WHERE a.frd_id = 9; - - - - - -create view vw_fiche_min as -SELECT attr_min.frd_id, attr_min.ad_id, attr_def.ad_text, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base - FROM attr_min - JOIN attr_def USING (ad_id) - JOIN fiche_def_ref USING (frd_id); - -create view vw_supplier as - SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email - FROM ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 1) a - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 13) b USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 23) a1 USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 5) c USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 14) d USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 15) e USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 16) f USING (f_id) - JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 17) g USING (f_id) - LEFT JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text - FROM fiche - JOIN fiche_def USING (fd_id) - JOIN fiche_def_ref USING (frd_id) - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 18) h USING (f_id) - WHERE a.frd_id = 8; - alter table attr_min add constraint frd_ad_attr_min_pk primary key (frd_id,ad_id); - -update version set val=76; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade76.sql b/sources/html/admin/sql/patch/upgrade76.sql deleted file mode 100644 index 9925949..0000000 --- a/sources/html/admin/sql/patch/upgrade76.sql +++ /dev/null @@ -1,114 +0,0 @@ -begin; -drop table if exists quant_fin; - -CREATE TABLE quant_fin -( - qf_id bigserial NOT NULL, - qf_bank bigint, - jr_id bigint, - qf_other bigint, - qf_amount numeric(20,4) DEFAULT 0, - CONSTRAINT quant_fin_pk PRIMARY KEY (qf_id), - CONSTRAINT fk_card FOREIGN KEY (qf_bank) - REFERENCES fiche (f_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE, - CONSTRAINT fk_card_other FOREIGN KEY (qf_other) - REFERENCES fiche (f_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE, - CONSTRAINT fk_jrn FOREIGN KEY (jr_id) - REFERENCES jrn (jr_id) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE -); -COMMENT ON TABLE quant_fin IS 'Simple operation for financial'; - -create or replace function comptaproc.fill_quant_fin() returns void as -$_$ -declare - sBank text; - sCassa text; - rec record; - recBank record; - nCount integer; - nAmount numeric; - nBank integer; - nOther integer; -begin - select p_value into sBank from parm_code where p_code='BANQUE'; - select p_value into sCassa from parm_code where p_code='CAISSE'; - - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nBank := 0; nOther:=0; - for recBank in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recBank.j_poste like sBank||'%' then - -- retrieve f_id for bank - select f_id into nBank from vw_poste_qcode where j_qcode=recBank.j_qcode; - if recBank.j_debit = false then - nAmount=recBank.j_montant*(-1); - else - nAmount=recBank.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recBank.j_qcode; - end if; - end loop; - if nBank != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nBank,nOther,nAmount); - end if; - end loop; --- only cash - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nBank := 0; nOther:=0; - for recBank in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recBank.j_poste like sCassa||'%' then - -- retrieve f_id for bank - select f_id into nBank from vw_poste_qcode where j_qcode=recBank.j_qcode; - if recBank.j_debit = false then - nAmount=recBank.j_montant*(-1); - else - nAmount=recBank.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recBank.j_qcode; - end if; - end loop; - if nBank != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nBank,nOther,nAmount); - end if; - end loop; - - return; -end; -$_$ -language plpgsql; -select comptaproc.fill_quant_fin(); - -alter table del_jrn drop constraint jr_id; -alter table del_jrn add dj_id serial; -alter table del_jrn add constraint dj_id primary key(dj_id); - -alter table del_jrnx drop constraint j_id; -alter table del_jrnx add djx_id serial; -alter table del_jrnx add constraint djx_id primary key(djx_id); - -update version set val=77; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade77.sql b/sources/html/admin/sql/patch/upgrade77.sql deleted file mode 100644 index d85a80b..0000000 --- a/sources/html/admin/sql/patch/upgrade77.sql +++ /dev/null @@ -1,4 +0,0 @@ -begin; -insert into parameter(pr_id,pr_value) values ('MY_DATE_SUGGEST','Y'); -update version set val=78; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade78.sql b/sources/html/admin/sql/patch/upgrade78.sql deleted file mode 100644 index c7ebbb9..0000000 --- a/sources/html/admin/sql/patch/upgrade78.sql +++ /dev/null @@ -1,31 +0,0 @@ -begin; - -DROP FUNCTION if exists comptaproc.action_get_tree(bigint); - -CREATE OR REPLACE FUNCTION comptaproc.action_get_tree(p_id bigint) - RETURNS setof bigint AS -$BODY$ - -declare - e bigint; - i bigint; -begin - for e in select ag_id from action_gestion where ag_ref_ag_id=p_id - loop - for i in select action_get_tree from comptaproc.action_get_tree(e) - loop - raise notice ' == i %', i; - return next i; - end loop; - raise notice ' = e %', e; - return next e; - end loop; - return; - -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -update version set val=79; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade79.sql b/sources/html/admin/sql/patch/upgrade79.sql deleted file mode 100644 index 825ec74..0000000 --- a/sources/html/admin/sql/patch/upgrade79.sql +++ /dev/null @@ -1,32 +0,0 @@ -begin; - -CREATE OR REPLACE FUNCTION comptaproc.jrnx_letter_del() - RETURNS trigger AS -$BODY$ -declare -row jrnx%ROWTYPE; -begin -row:=OLD; --- remove orphan -delete from jnt_letter - where (jl_id in (select jl_id from letter_deb) and jl_id not in(select jl_id from letter_cred )) - or (jl_id not in (select jl_id from letter_deb ) and jl_id in(select jl_id from letter_cred )); -return row; -end; -$BODY$ - LANGUAGE 'plpgsql'; - -delete from jnt_letter where (jl_id in (select jl_id from letter_deb ) and jl_id not in(select jl_id from letter_cred )) or (jl_id not in (select jl_id from letter_deb ) and jl_id in(select jl_id from letter_cred )); - --- Function: comptaproc.jrnx_del() - -CREATE TRIGGER t_letter_del - AFTER DELETE - ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrnx_letter_del(); -COMMENT ON TRIGGER t_letter_del ON jrnx IS 'Delete the lettering for this row'; - -update version set val=80; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade8.sql b/sources/html/admin/sql/patch/upgrade8.sql deleted file mode 100644 index c78a276..0000000 --- a/sources/html/admin/sql/patch/upgrade8.sql +++ /dev/null @@ -1,112 +0,0 @@ -begin; - -insert into action values (21,'Import et export des écritures d''ouverture'); -create sequence s_quantity; - - -CREATE TABLE quant_sold ( - qs_id integer DEFAULT nextval('s_quantity'::text), - qs_internal text NOT NULL, - qs_fiche integer NOT NULL, - qs_quantite integer NOT NULL, - qs_price numeric(20,4), - qs_vat numeric(20,4), - qs_vat_code integer, - qs_client integer not null -); - -create index idx_qs_internal on quant_sold(qs_internal); - -create table format_csv_banque -( - name text primary key, - include_file text not null -); - -create sequence s_invoice; - -CREATE TABLE invoice ( - iv_id integer DEFAULT nextval('s_invoice'::text) NOT NULL, - iv_name text NOT NULL, - iv_file oid -); -alter TABLE invoice add primary key(iv_id); -create unique index ix_iv_name on invoice (upper(iv_name)); - - - --- drop trigger trim_space on format_csv_banque; --- --- drop function trim_space_format_csv_banque(); - -create function trim_space_format_csv_banque() returns trigger as $trim$ -declare - modified format_csv_banque%ROWTYPE; -begin - modified.name=trim(NEW.NAME); - modified.include_file=trim(new.include_file); - if ( length(modified.name) = 0 ) then - modified.name=null; - end if; - if ( length(modified.include_file) = 0 ) then - modified.include_file=null; - end if; - - return modified; -end; -$trim$ language plpgsql; - -create trigger trim_space before insert or update on format_csv_banque FOR EACH ROW execute procedure trim_space_format_csv_banque(); - -create unique index idx_case on format_csv_banque (upper(name)); -INSERT INTO format_csv_banque VALUES ('Fortis', 'fortis_be.inc.php'); -INSERT INTO format_csv_banque VALUES ('EUB', 'eub_be.inc.php'); -INSERT INTO format_csv_banque VALUES ('ING', 'ing_be.inc.php'); -INSERT INTO format_csv_banque VALUES ('CBC', 'cbc_be.inc.php'); - -CREATE TABLE import_tmp ( - code text not null, - date_exec date not null , - date_valeur date not null, - montant numeric(20,4) not null default 0, - devise text, - compte_ordre text, - detail text, - num_compte text, - poste_comptable text, - ok boolean DEFAULT false, - bq_account integer not null, - jrn integer not null -); -create function trim_cvs_quote() returns trigger as $trim$ -declare - modified import_tmp%ROWTYPE; -begin - modified.code=new.code; - modified.montant=new.montant; - modified.date_exec=new.date_exec; - modified.date_valeur=new.date_valeur; - modified.devise=replace(new.devise,'"',''); - modified.poste_comptable=replace(new.poste_comptable,'"',''); - modified.compte_ordre=replace(NEW.COMPTE_ORDRE,'"',''); - modified.detail=replace(NEW.DETAIL,'"',''); - modified.num_compte=replace(NEW.NUM_COMPTE,'"',''); - modified.bq_account=NEW.bq_account; - modified.jrn=NEW.jrn; - modified.ok=new.ok; - return modified; -end; -$trim$ language plpgsql; - -create trigger trim_quote before insert or update on import_tmp FOR EACH ROW execute procedure trim_cvs_quote(); -alter sequence s_attr_def restart 20; -insert into attr_def(ad_text) values ('Partie fiscalement non déductible'); -insert into attr_def(ad_text) values ('TVA non déductible'); -insert into attr_def(ad_text) values ('TVA non déductible récupérable par l''impôt'); -insert into tmp_pcmn( pcm_val,pcm_lib,pcm_val_parent,pcm_country) select distinct 6190,'TVA récupérable par l''impôt',61,'BE' from tmp_pcmn where pcm_country='BE'; -insert into tmp_pcmn( pcm_val,pcm_lib,pcm_val_parent,pcm_country) select distinct 6740,'Dépense non admise',67,'BE' from tmp_pcmn where pcm_country='BE' and not exists (select pcm_val from tmp_pcmn where pcm_val=6740); --- Change for Stan alter table tmp_pcmn alter pcm_val type text; -update version set val=9; - - -commit; diff --git a/sources/html/admin/sql/patch/upgrade80.sql b/sources/html/admin/sql/patch/upgrade80.sql deleted file mode 100644 index ea56356..0000000 --- a/sources/html/admin/sql/patch/upgrade80.sql +++ /dev/null @@ -1,4 +0,0 @@ -begin; -INSERT INTO format_csv_banque (name, include_file) VALUES ('CBC Online', 'cbc_be_ol.inc.php'); -update version set val=81; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade81.sql b/sources/html/admin/sql/patch/upgrade81.sql deleted file mode 100644 index a7b97b5..0000000 --- a/sources/html/admin/sql/patch/upgrade81.sql +++ /dev/null @@ -1,6 +0,0 @@ -begin; - -ALTER TABLE import_tmp ADD COLUMN it_pj text; - -update version set val=82; -commit; diff --git a/sources/html/admin/sql/patch/upgrade82.sql b/sources/html/admin/sql/patch/upgrade82.sql deleted file mode 100644 index 251d197..0000000 --- a/sources/html/admin/sql/patch/upgrade82.sql +++ /dev/null @@ -1,11 +0,0 @@ -begin; - -CREATE OR REPLACE VIEW vw_fiche_name AS - SELECT jnt_fic_att_value.f_id, attr_value.av_text AS name - FROM jnt_fic_att_value - JOIN attr_value USING (jft_id) - WHERE jnt_fic_att_value.ad_id = 1; - - -update version set val=83; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade83.sql b/sources/html/admin/sql/patch/upgrade83.sql deleted file mode 100644 index b95531f..0000000 --- a/sources/html/admin/sql/patch/upgrade83.sql +++ /dev/null @@ -1,165 +0,0 @@ -begin; -create or replace function comptaproc.fill_quant_fin() returns void as -$_$ -declare - sBank text; - sCassa text; - sCustomer text; - sSupplier text; - rec record; - recBank record; - recSupp_Cust record; - nCount integer; - nAmount numeric; - nBank integer; - nOther integer; - nSupp_Cust integer; -begin - select p_value into sBank from parm_code where p_code='BANQUE'; - select p_value into sCassa from parm_code where p_code='CAISSE'; - select p_value into sSupplier from parm_code where p_code='SUPPLIER'; - select p_value into sCustomer from parm_code where p_code='CUSTOMER'; - - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') - and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nBank := 0; nOther:=0; - for recBank in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recBank.j_poste like sBank||'%' then - -- retrieve f_id for bank - select f_id into nBank from vw_poste_qcode where j_qcode=recBank.j_qcode; - if recBank.j_debit = false then - nAmount=recBank.j_montant*(-1); - else - nAmount=recBank.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recBank.j_qcode; - end if; - end loop; - if nBank != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nBank,nOther,nAmount); - end if; - end loop; --- only cash - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nBank := 0; nOther:=0; - for recBank in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recBank.j_poste like sCassa||'%' then - -- retrieve f_id for bank - select f_id into nBank from vw_poste_qcode where j_qcode=recBank.j_qcode; - if recBank.j_debit = false then - nAmount=recBank.j_montant*(-1); - else - nAmount=recBank.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recBank.j_qcode; - end if; - end loop; - if nBank != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nBank,nOther,nAmount); - end if; - end loop; - --- if row remains - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nSupp_Cust := 0; nOther:=0; - for recSupp_Cust in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recSupp_Cust.j_poste like sSupplier||'%' then - -- retrieve f_id for bank - select f_id into nSupp_Cust from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - if recSupp_Cust.j_debit = true then - nAmount=recSupp_Cust.j_montant*(-1); - else - nAmount=recSupp_Cust.j_montant; - end if; - else if recSupp_Cust.j_poste like sCustomer||'%' then - select f_id into nSupp_Cust from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - if recSupp_Cust.j_debit = false then - nAmount=recSupp_Cust.j_montant*(-1); - else - nAmount=recSupp_Cust.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - - end if; - end if; - end loop; - if nSupp_Cust != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nOther,nSupp_Cust,nAmount); - end if; - end loop; --- if row remains --> VISA (441*) - for rec in select jr_id,jr_grpt_id from jrn - where jr_def_id in (select jrn_def_id from jrn_def where jrn_def_type='FIN') and jr_id not in (select jr_id from quant_fin) - loop - -- there are only 2 lines for bank operations - -- first debit - select count(j_id) into nCount from jrnx where j_grpt=rec.jr_grpt_id; - if nCount > 2 then - raise notice 'Trop de valeur pour jr_grpt_id % count %',rec.jr_grpt_id,nCount; - return; - end if; - nSupp_Cust := 0; nOther:=0; - for recSupp_Cust in select j_id, j_montant,j_debit,j_qcode,j_poste from jrnx where j_grpt=rec.jr_grpt_id - loop - if recSupp_Cust.j_poste like '441%' then - -- retrieve f_id for bank - select f_id into nSupp_Cust from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - if recSupp_Cust.j_debit = false then - nAmount=recSupp_Cust.j_montant*(-1); - else - nAmount=recSupp_Cust.j_montant; - end if; - else - select f_id into nOther from vw_poste_qcode where j_qcode=recSupp_Cust.j_qcode; - - - end if; - end loop; - if nSupp_Cust != 0 and nOther != 0 then - insert into quant_fin (jr_id,qf_bank,qf_other,qf_amount) values (rec.jr_id,nOther,nSupp_Cust,nAmount); - end if; - end loop; - return; -end; -$_$ -language plpgsql; -select comptaproc.fill_quant_fin(); - -update jrnx set j_date=jr_date from jrn where j_grpt=jr_grpt_id; -update jrnx set j_jrn_def=jr_def_id from jrn where j_grpt=jr_grpt_id; - -update version set val=84; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade84.sql b/sources/html/admin/sql/patch/upgrade84.sql deleted file mode 100644 index 48a77a1..0000000 --- a/sources/html/admin/sql/patch/upgrade84.sql +++ /dev/null @@ -1,87 +0,0 @@ -begin; -update jrnx set j_qcode=null where trim(j_qcode)=''; - -CREATE OR REPLACE FUNCTION comptaproc.insert_jrnx(p_date character varying, p_montant numeric, -p_poste account_type, p_grpt integer, p_jrn_def integer, p_debit boolean, p_tech_user text, p_tech_per integer, -p_qcode text, p_comment text) - RETURNS void AS -$BODY$ -begin - insert into jrnx - ( - j_date, - j_montant, - j_poste, - j_grpt, - j_jrn_def, - j_debit, - j_text, - j_tech_user, - j_tech_per, - j_qcode - ) values - ( - to_date(p_date,'DD.MM.YYYY'), - p_montant, - p_poste, - p_grpt, - p_jrn_def, - p_debit, - p_comment, - p_tech_user, - p_tech_per, - p_qcode - ); - -return; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -CREATE OR REPLACE FUNCTION comptaproc.jrnx_ins() - RETURNS trigger AS -$BODY$ -declare -n_fid bigint; -begin - -if NEW.j_qcode is NULL then - return NEW; -end if; - -NEW.j_qcode=trim(upper(NEW.j_qcode)); - -if length (NEW.j_qcode) = 0 then - NEW.j_qcode=NULL; - else - select f_id into n_fid from fiche join jnt_fic_att_value using (f_id) join attr_value using(jft_id) where ad_id=23 and av_text=NEW.j_qcode; - if NOT FOUND then - raise exception 'La fiche dont le quick code est % n''existe pas',NEW.j_qcode; - end if; -end if; -return NEW; -end; -$BODY$ - LANGUAGE 'plpgsql' ; - - -CREATE TRIGGER t_jrnx_ins - BEFORE INSERT - ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrnx_ins(); -COMMENT ON TRIGGER t_jrnx_ins ON jrnx IS 'check that the qcode used by the card exists and format it : uppercase and trim the space'; - - - -CREATE TRIGGER t_jrnx_upd - BEFORE UPDATE - ON jrnx - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrnx_ins(); -COMMENT ON TRIGGER t_jrnx_ins ON jrnx IS 'check that the qcode used by the card exists and format it : uppercase and trim the space'; - - - -update version set val=85; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade85.sql b/sources/html/admin/sql/patch/upgrade85.sql deleted file mode 100644 index 8d04b9f..0000000 --- a/sources/html/admin/sql/patch/upgrade85.sql +++ /dev/null @@ -1,76 +0,0 @@ -begin; - -CREATE OR REPLACE FUNCTION comptaproc.jrnx_ins() - RETURNS trigger AS -$BODY$ -declare -n_fid bigint; -begin - -if NEW.j_qcode is NULL then - return NEW; -end if; - -NEW.j_qcode=trim(upper(NEW.j_qcode)); - -if length (NEW.j_qcode) = 0 then - NEW.j_qcode=NULL; - else - select f_id into n_fid from fiche join jnt_fic_att_value using (f_id) join attr_value using(jft_id) where ad_id=23 and av_text=NEW.j_qcode; - if NOT FOUND then - raise exception 'La fiche dont le quick code est % n''existe pas',NEW.j_qcode; - end if; -end if; -return NEW; -end; -$BODY$ - LANGUAGE 'plpgsql' ; --- update jrn set jr_internal=jrn.jr_internal||jrn.jr_id::text from jrn as B where jrn.jr_internal=B.jr_internal and jrn.jr_id > B.jr_id; --- create unique index ux_jr_internal on jrn(jr_internal); - -delete from quant_purchase where qp_internal not in (select jr_internal from jrn); -alter table quant_purchase ADD CONSTRAINT quant_purchase_qp_internal_fkey FOREIGN KEY (qp_internal) - REFERENCES jrn (jr_internal) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE; - -delete from quant_sold where qs_internal not in (select jr_internal from jrn); - -ALTER TABLE quant_sold - ADD CONSTRAINT quant_sold_qs_internal_fkey FOREIGN KEY (qs_internal) - REFERENCES jrn (jr_internal) MATCH SIMPLE - ON UPDATE CASCADE ON DELETE CASCADE; - -delete from stock_goods where j_id not in (select j_id from jrnx); - -delete from stock_goods where j_id not in (select j_id from jrnx); - -ALTER TABLE stock_goods - ADD CONSTRAINT stock_goods_j_id_fkey FOREIGN KEY (j_id) - REFERENCES jrnx (j_id) MATCH SIMPLE - ON UPDATE cascade ON DELETE cascade; - -delete from jrn_rapt where jr_id not in (select jr_id from jrn); -delete from jrn_rapt where jra_id not in (select jr_id from jrn); - -delete from jrn_rapt where jr_id not in (select jr_id from jrn); -delete from jrn_rapt where jra_concerned not in (select jr_id from jrn); - -ALTER TABLE jrn_rapt - ADD CONSTRAINT jrn_rapt_jr_id_fkey FOREIGN KEY (jr_id) - REFERENCES jrn (jr_id) MATCH SIMPLE - ON UPDATE cascade ON DELETE cascade; -ALTER TABLE jrn_rapt - ADD CONSTRAINT jrn_rapt_jra_concerned_fkey FOREIGN KEY (jra_concerned) - REFERENCES jrn (jr_id) MATCH SIMPLE - ON UPDATE cascade ON DELETE cascade; - -ALTER TABLE attr_def ADD COLUMN ad_type text; -alter table quant_sold alter qs_internal drop not null; -alter table quant_purchase alter qp_internal drop not null; - -update attr_def set ad_type='text'; -update attr_def set ad_type='numeric' where ad_id in (6,7,8,11,21,22); -update attr_def set ad_type='date' where ad_id in (10); -alter sequence s_attr_def restart with 9001; -update version set val=86; -commit; diff --git a/sources/html/admin/sql/patch/upgrade86.sql b/sources/html/admin/sql/patch/upgrade86.sql deleted file mode 100644 index f91c77d..0000000 --- a/sources/html/admin/sql/patch/upgrade86.sql +++ /dev/null @@ -1,181 +0,0 @@ -begin; -alter table jrnx add f_id bigint; -alter table jrnx alter f_id set default null; -update jrnx set f_id=(select f_id from fiche join jnt_fic_att_value using(f_id) join attr_value using(jft_id) where ad_id=23 and av_text=jrnx.j_qcode); -alter table quant_sold alter qs_internal drop not null; -alter table quant_purchase alter qp_internal drop not null; -alter table attr_Def add ad_size text; -update attr_def set ad_size='8' where ad_type='date'; -update attr_def set ad_size='6' where ad_type='numeric'; -update attr_def set ad_size='22' where ad_size is null; -alter table attr_def alter ad_size set not null; - -ALTER TABLE jrnx ADD CONSTRAINT jrnx_f_id_fkey FOREIGN KEY (f_id) REFERENCES fiche (f_id) MATCH SIMPLE ON UPDATE cascade ON DELETE NO ACTION; -CREATE INDEX fki_jrnx_f_id ON jrnx USING btree (f_id); - -CREATE OR REPLACE FUNCTION correct_quant_purchase() returns void -as -$BODY$ -declare - r_invalid quant_purchase; - s_QuickCode text; - b_j_debit bool; - r_new record; - r_jrnx record; -begin - -for r_invalid in select * from quant_purchase where qp_valid='A' -loop - --- get qcode -select j_qcode into s_QuickCode from vw_poste_qcode where f_id=r_invalid.qp_fiche; -raise notice 'qp_id % Quick code is %',r_invalid.qp_id,s_QuickCode; - --- get deb or cred -select j_debit,j_grpt,j_jrn_def,j_montant into r_jrnx from jrnx where j_id=r_invalid.j_id; -if NOT FOUND then - raise notice 'error not found jrnx %',r_invalid.j_id; - update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id; - continue; -end if; -raise notice 'j_debit % , j_grpt % ,j_jrn_def % qp_price %',r_jrnx.j_debit,r_jrnx.j_grpt,r_jrnx.j_jrn_def ,r_invalid.qp_price; - -select jr_internal,j_id,j_montant into r_new - from jrnx join jrn on (j_grpt=jr_grpt_id) - where - j_jrn_def=r_jrnx.j_jrn_def - and j_id not in (select j_id from quant_purchase) - and j_qcode=s_QuickCode - and j_montant=r_jrnx.j_montant - and j_debit != r_jrnx.j_debit; - -if NOT FOUND then - raise notice 'error not found %', r_invalid.j_id; - update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id; - continue; -end if; -raise notice 'j_id % found amount %',r_new.j_id,r_new.j_montant; - --- insert into quant_purchase -insert into quant_purchase (qp_internal,j_id,qp_fiche,qp_quantite,qp_price,qp_vat,qp_nd_amount,qp_nd_tva_recup,qp_valid,qp_dep_priv,qp_supplier,qp_vat_code) -values (r_new.jr_internal,r_invalid.j_id,r_invalid.qp_fiche,(r_invalid.qp_quantite * (-1)),r_invalid.qp_price * (-1),r_invalid.qp_vat*(-1),r_invalid.qp_nd_amount*(-1),r_invalid.qp_nd_tva_recup*(-1) ,'Y',r_invalid.qp_dep_priv*(-1),r_invalid.qp_supplier,r_invalid.qp_vat_code); - -update quant_purchase set qp_valid='Y' where qp_id=r_invalid.qp_id; -end loop; -return; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -select correct_quant_purchase(); - -CREATE OR REPLACE FUNCTION correct_quant_sale() returns void -as -$BODY$ -declare - r_invalid quant_sold; - s_QuickCode text; - b_j_debit bool; - r_new record; - r_jrnx record; -begin - -for r_invalid in select * from quant_sold where qs_valid='A' -loop - --- get qcode -select j_qcode into s_QuickCode from vw_poste_qcode where f_id=r_invalid.qs_fiche; -raise notice 'qp_id % Quick code is %',r_invalid.qs_id,s_QuickCode; - --- get deb or cred -select j_debit,j_grpt,j_jrn_def,j_montant into r_jrnx from jrnx where j_id=r_invalid.j_id; -if NOT FOUND then - update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id; - raise notice 'error not found jrnx %',r_invalid.j_id; - continue; -end if; -raise notice 'j_debit % , j_grpt % ,j_jrn_def % qs_price %',r_jrnx.j_debit,r_jrnx.j_grpt,r_jrnx.j_jrn_def ,r_invalid.qs_price; - -select jr_internal,j_id,j_montant into r_new - from jrnx join jrn on (j_grpt=jr_grpt_id) - where - j_jrn_def=r_jrnx.j_jrn_def - and j_id not in (select j_id from quant_sold) - and j_qcode=s_QuickCode - and j_montant=r_jrnx.j_montant - and j_debit != r_jrnx.j_debit; - -if NOT FOUND then - update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id; - raise notice 'error not found %', r_invalid.j_id; - continue; -end if; -raise notice 'j_id % found amount %',r_new.j_id,r_new.j_montant; - --- insert into quant_sold - - insert into quant_sold (qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_valid,qs_client,qs_vat_code) - values (r_new.jr_internal,r_invalid.j_id,r_invalid.qs_fiche,(r_invalid.qs_quantite * (-1)),r_invalid.qs_price * (-1),r_invalid.qs_vat*(-1),'Y',r_invalid.qs_client,r_invalid.qs_vat_code); - update quant_sold set qs_valid='Y' where qs_id=r_invalid.qs_id; -end loop; -return; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -select correct_quant_sale() ; - -ALTER TABLE jrn_def ADD COLUMN jrn_def_bank bigint; -alter table jrn_def add jrn_def_num_op integer; -ALTER TABLE del_jrnx ADD COLUMN f_id bigint; - - -CREATE OR REPLACE FUNCTION comptaproc.jrnx_del() - RETURNS trigger AS -$BODY$ -declare -row jrnx%ROWTYPE; -begin -row:=OLD; - - -insert into del_jrnx( - j_id, j_date, j_montant, j_poste, j_grpt, j_rapt, j_jrn_def, - j_debit, j_text, j_centralized, j_internal, j_tech_user, j_tech_date, - j_tech_per, j_qcode, f_id) SELECT j_id, j_date, j_montant, j_poste, j_grpt, j_rapt, j_jrn_def, - j_debit, j_text, j_centralized, j_internal, j_tech_user, j_tech_date, - j_tech_per, j_qcode, f_id from jrnx where j_id=row.j_id; -return row; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -ALTER TABLE stock_goods ALTER COLUMN f_id DROP NOT NULL; - -CREATE OR REPLACE FUNCTION comptaproc.jnt_fic_attr_ins() - RETURNS trigger AS -$BODY$ -declare - r_record jnt_fic_attr%ROWTYPE; - i_max integer; -begin -r_record=NEW; -perform comptaproc.fiche_attribut_synchro(r_record.fd_id); -select coalesce(max(jnt_order),0) into i_max from jnt_fic_attr where fd_id=r_record.fd_id; -i_max := i_max + 10; -NEW.jnt_order=i_max; -return NEW; -end; -$BODY$ - LANGUAGE 'plpgsql' VOLATILE; - -CREATE TRIGGER t_jnt_fic_attr_ins - BEFORE INSERT - ON jnt_fic_attr - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jnt_fic_attr_ins(); - - -update version set val=87; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade87.sql b/sources/html/admin/sql/patch/upgrade87.sql deleted file mode 100644 index 79368f9..0000000 --- a/sources/html/admin/sql/patch/upgrade87.sql +++ /dev/null @@ -1,15 +0,0 @@ -BEGIN; -select comptaproc.fiche_attribut_synchro(fd_id) from fiche_def; - -DROP TRIGGER t_jnt_fic_attr_ins ON jnt_fic_attr; - -CREATE TRIGGER t_jnt_fic_attr_ins - after INSERT - ON jnt_fic_attr - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jnt_fic_attr_ins(); - -UPDATE VERSION SET VAL=88; - - -COMMIT; diff --git a/sources/html/admin/sql/patch/upgrade88.sql b/sources/html/admin/sql/patch/upgrade88.sql deleted file mode 100644 index 5d9ccd2..0000000 --- a/sources/html/admin/sql/patch/upgrade88.sql +++ /dev/null @@ -1,44 +0,0 @@ -begin; - -update quant_sold set qs_price=abs(qs_price)*(-1), qs_vat=abs(qs_vat)*(-1), qs_quantite=abs(qs_quantite)*(-1) where qs_price < 0 or qs_quantite < 0 or qs_vat < 0; - -update quant_purchase set qp_price=abs(qp_price)*(-1), qp_vat=abs(qp_vat)*(-1), qp_quantite=abs(qp_quantite)*(-1) where qp_price < 0 or qp_quantite < 0 or qp_vat < 0; - - -select comptaproc.fill_quant_fin(); - -create function comptaproc.quant_purchase_ins_upd () returns trigger -as -$$ - begin - if NEW.qp_price < 0 OR NEW.qp_quantite <0 THEN - NEW.qp_price := abs (NEW.qp_price)*(-1); - NEW.qp_quantite := abs (NEW.qp_quantite)*(-1); - end if; -return NEW; -end; -$$ -language plpgsql; - -drop trigger if exists quant_purchase_ins_upd_tr on quant_purchase ; -create trigger quant_sold_ins_upd_tr after insert or update on quant_purchase for each row execute procedure comptaproc.quant_purchase_ins_upd(); - -create function comptaproc.quant_sold_ins_upd () returns trigger -as -$$ - begin - if NEW.qs_price < 0 OR NEW.qs_quantite <0 THEN - NEW.qs_price := abs (NEW.qs_price)*(-1); - NEW.qs_quantite := abs (NEW.qs_quantite)*(-1); - end if; -return NEW; -end; -$$ -language plpgsql; - -drop trigger if exists quant_sold_ins_upd_tr on quant_sold ; -create trigger quant_sold_ins_upd_tr after insert or update on quant_sold for each row execute procedure comptaproc.quant_sold_ins_upd(); - -update version set val=89; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade89.sql b/sources/html/admin/sql/patch/upgrade89.sql deleted file mode 100644 index 6e0587e..0000000 --- a/sources/html/admin/sql/patch/upgrade89.sql +++ /dev/null @@ -1,105 +0,0 @@ -begin; - -update jrnx set f_id = (select f_id from vw_poste_qcode where vw_poste_qcode.j_qcode=jrnx.j_qcode) where j_qcode is not null; -CREATE OR REPLACE FUNCTION comptaproc.jrnx_ins() - RETURNS trigger AS -$BODY$ -declare -n_fid bigint; -begin - -if NEW.j_qcode is NULL then - return NEW; -end if; - -NEW.j_qcode=trim(upper(NEW.j_qcode)); - -if length (NEW.j_qcode) = 0 then - NEW.j_qcode=NULL; - else - select f_id into n_fid from fiche join jnt_fic_att_value using (f_id) join attr_value using(jft_id) where ad_id=23 and av_text=NEW.j_qcode; - if NOT FOUND then - raise exception 'La fiche dont le quick code est % n''existe pas',NEW.j_qcode; - end if; -end if; -NEW.f_id:=n_fid; -return NEW; -end; -$BODY$ -LANGUAGE plpgsql; - -insert into attr_Def values (32,'Prénom','text',22); -update attr_def set ad_text='Dépense charge du grant (partie privé) ' where ad_id=31; - - --- add the first name - -DROP VIEW vw_fiche_attr; - -CREATE OR REPLACE VIEW vw_fiche_attr AS - SELECT a.f_id, a.fd_id, a.av_text AS vw_name, b.av_text AS vw_sell, c.av_text AS vw_buy, d.av_text AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.av_text AS vw_addr, f.av_text AS vw_cp, j.av_text AS quick_code, h.av_text AS vw_description, i.av_text AS tva_num, k.av_text AS vw_first_name, fiche_def.frd_id - FROM ( SELECT fiche.f_id, fiche.fd_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 1) a - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 6) b ON a.f_id = b.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 7) c ON a.f_id = c.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 2) d ON a.f_id = d.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 14) e ON a.f_id = e.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 15) f ON a.f_id = f.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 23) j ON a.f_id = j.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 9) h ON a.f_id = h.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 13) i ON a.f_id = i.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 32) k ON a.f_id = k.f_id - LEFT JOIN tva_rate ON d.av_text = tva_rate.tva_id::text - JOIN fiche_def USING (fd_id); -update version set val=90; - -commit; diff --git a/sources/html/admin/sql/patch/upgrade9.sql b/sources/html/admin/sql/patch/upgrade9.sql deleted file mode 100644 index 634e8b2..0000000 --- a/sources/html/admin/sql/patch/upgrade9.sql +++ /dev/null @@ -1,303 +0,0 @@ -begin; --- index needed -create unique index attr_value_jft_id on attr_value (jft_id); --- add quick code -insert into attr_def (ad_id,ad_text) values(23,'Quick Code'); --- update existing card & template -insert into attr_min select frd_id,23 from fiche_def_ref; -insert into jnt_fic_attr select fd_id,23 from fiche_Def; -insert into jnt_fic_att_value(jft_id,f_id,ad_id) select nextval('s_jnt_fic_att_value')+200,f_id,23 from fiche; --- generate a quick code -insert into attr_value select jft_id,'FID'||f_id from jnt_fic_att_value join fiche using(f_id) where ad_id=23; --- add quick code to jrnx -alter table jrnx add j_qcode text; - -update jrnx set j_qcode = B.av_text from - (select f_id,av_text from attr_value join jnt_fic_att_value using (jft_id) - where ad_id=5) as A - join ( select f_id,av_text from attr_value join jnt_fic_att_value using (jft_id) - where ad_id=23) as B using(f_id) where j_poste=a.av_text; - -create or replace function insert_jrnx ( - p_date varchar, - p_montant jrnx.j_montant%TYPE, - p_poste jrnx.j_poste%TYPE, - p_grpt jrnx.j_grpt%type, - p_jrn_def jrnx.j_jrn_def%type, - p_debit jrnx.j_debit%type, - p_tech_user jrnx.j_tech_user%type, - p_tech_per jrnx.j_tech_per%type, - p_qcode jrnx.j_qcode%type -) returns void as $body$ -declare - sCode varchar; - nCount_qcode integer; -begin - sCode=trim(p_qcode); - - -- if p_qcode is empty try to find one - if length(sCode) = 0 or p_qcode is null then - - select count(*) into nCount_qcode - from vw_poste_qcode where j_poste=p_poste; - -- if we find only one q_code for a accountancy account - -- then retrieve it - if nCount_qcode = 1 then - select j_qcode into sCode - from vw_poste_qcode where j_poste=p_poste; - else - sCode=NULL; - end if; - - end if; - if p_montant = 0.0 then - return; - end if; - insert into jrnx - ( - j_date, - j_montant, - j_poste, - j_grpt, - j_jrn_def, - j_debit, - j_tech_user, - j_tech_per, - j_qcode - ) values - ( - to_date(p_date,'DD.MM.YYYY'), - p_montant, - p_poste, - p_grpt, - p_jrn_def, - p_debit, - p_tech_user, - p_tech_per, - sCode - ); - -return; -end; -$body$ - language plpgsql; - - - --- Function: update_quick_code(njft_id int4, tav_text text) - --- DROP FUNCTION update_quick_code(int4, text); - -CREATE OR REPLACE FUNCTION update_quick_code(njft_id int4,tav_text text) - RETURNS int4 AS $BODY$ - declare - ns integer; - nExist integer; - tText text; - old_qcode varchar; - begin - -- get current value - select av_text into old_qcode from attr_value where jft_id=njft_id; - -- av_text didn't change so no update - if tav_text = upper( trim(old_qcode)) then - return 0; - end if; - - tText := trim(upper(tav_text)); - tText := replace(tText,' ',''); - if length ( tText) = 0 or tText is null then - return 0; - end if; - - ns := njft_id; - - loop - -- av_text already used ? - select count(*) into nExist - from jnt_fic_att_value join attr_value using (jft_id) - where - ad_id=23 and av_text=upper(tText); - - if nExist = 0 then - exit; - end if; - if tText = 'FID'||ns then - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - end if; - tText :='FID'||ns; - - end loop; - update attr_value set av_text = tText where jft_id=njft_id; - update jrnx set j_qcode=tText where j_qcode = old_qcode; - return ns; - end; -$BODY$ - LANGUAGE plpgsql VOLATILE; - - - - - --- View: "vw_fiche_def" - -DROP VIEW vw_fiche_def; - -CREATE OR REPLACE VIEW vw_fiche_def AS - SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, - attr_def.ad_text, - attr_value.av_text, - fiche_def.fd_class_base, - fiche_def.fd_label, fiche_def.fd_create_account, fiche_def.frd_id - FROM jnt_fic_att_value - JOIN attr_value using (jft_id) - join fiche using (f_id) - join jnt_fic_attr using (fd_id) - JOIN attr_def on (attr_def.ad_id=jnt_fic_attr.ad_id) - JOIN fiche_def USING (fd_id); - -COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family'; - - - -create or replace function insert_quant_sold ( - p_internal quant_sold.qs_internal%type, - p_fiche varchar, - p_quant quant_sold.qs_quantite%type, - p_price quant_sold.qs_price%type, - p_vat quant_sold.qs_vat%type, - p_vat_code quant_sold.qs_vat_code%type, - p_client varchar) returns void as $body$ -declare - fid_client integer; - fid_good integer; -begin - select f_id into fid_client from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=p_client; - - select f_id into fid_good from - attr_value join jnt_fic_att_value using (jft_id) where ad_id=23 and av_text=p_fiche; - - - insert into quant_sold - (qs_internal,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client) - values - (p_internal,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client); - return; -end; -$body$ - LANGUAGE plpgsql VOLATILE; - - - --- Function: insert_quick_code(nf_id int4, tav_text text) - --- DROP FUNCTION insert_quick_code(int4, text); - -CREATE OR REPLACE FUNCTION insert_quick_code(nf_id int4, tav_text text) - RETURNS int4 AS $BODY$ - declare - ns integer; - nExist integer; - tText text; - begin - tText := upper(trim(tav_text)); - tText := replace(tText,' ',''); - - loop - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - if length (tText) = 0 or tText is null then - tText := 'FID'||ns; - end if; - -- av_text already used ? - select count(*) into nExist - from jnt_fic_att_value join attr_value using (jft_id) - where - ad_id=23 and av_text=upper(tText); - - if nExist = 0 then - exit; - end if; - tText:='FID'||ns; - end loop; - -- insert into table jnt_fic_att_value - insert into jnt_fic_att_value values (ns,nf_id,23); - -- insert value into attr_value - insert into attr_value values (ns,upper(tText)); - return ns; - end; -$BODY$ - LANGUAGE plpgsql VOLATILE; - - - - -DROP VIEW vw_fiche_attr; -CREATE view vw_fiche_attr as -SELECT a.f_id, a.fd_id, a.av_text AS vw_name, b.av_text AS vw_sell, c.av_text AS vw_buy, d.av_text AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.av_text AS vw_addr, f.av_text AS vw_cp, j.av_text as quick_code,fiche_def.frd_id - FROM ( SELECT fiche.f_id, fiche.fd_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 1) a - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 6) b ON a.f_id = b.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 7) c ON a.f_id = c.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 2) d ON a.f_id = d.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 14) e ON a.f_id = e.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 15) f ON a.f_id = f.f_id - LEFT JOIN ( SELECT fiche.f_id, attr_value.av_text - FROM fiche - JOIN jnt_fic_att_value USING (f_id) - JOIN attr_value USING (jft_id) - JOIN attr_def USING (ad_id) - WHERE jnt_fic_att_value.ad_id = 23) j ON a.f_id = j.f_id - LEFT JOIN tva_rate ON d.av_text = tva_rate.tva_id::text - JOIN fiche_def USING (fd_id); - - - -create view vw_poste_qcode - as - select A.f_id,a.av_text as j_poste,b.av_text as j_qcode - from (select f_id,av_text from attr_value join jnt_fic_att_value using (jft_id) - where ad_id=5) as A - join ( select f_id,av_text from attr_value join jnt_fic_att_value using (jft_id) - where ad_id=23) as B using(f_id) -; - - - - - - - - -update version set val=10; -commit; diff --git a/sources/html/admin/sql/patch/upgrade90.sql b/sources/html/admin/sql/patch/upgrade90.sql deleted file mode 100644 index 89a85bb..0000000 --- a/sources/html/admin/sql/patch/upgrade90.sql +++ /dev/null @@ -1,504 +0,0 @@ -begin; - -alter table jnt_fic_att_value add ad_value text; -update jnt_fic_att_value set ad_value=av_text from attr_value where jnt_fic_att_value.jft_id=attr_value.jft_id; -DROP VIEW vw_supplier; -DROP VIEW vw_poste_qcode; -DROP VIEW vw_fiche_attr; -DROP VIEW vw_fiche_name; -DROP VIEW vw_client; -alter table jnt_fic_att_value rename to fiche_detail; - -drop table attr_value; - -CREATE OR REPLACE VIEW vw_poste_qcode AS - SELECT c.f_id, a.ad_value AS j_poste, b.ad_value AS j_qcode - FROM - fiche c - left join - ( SELECT f_id,ad_value from fiche_Detail - WHERE ad_id = 5) a using(f_id) - left JOIN ( select f_id,ad_value from fiche_detail - WHERE ad_id = 23) b USING (f_id); - - -CREATE OR REPLACE VIEW vw_client AS - SELECT fiche.f_id, a1.ad_value AS name, a.ad_value AS quick_code, b.ad_value AS tva_num, c.ad_value AS poste_comptable, d.ad_value AS rue, e.ad_value AS code_postal, f.ad_value AS pays, g.ad_value AS telephone, h.ad_value AS email - FROM fiche - join fiche_def using (fd_id) - join fiche_def_ref using(frd_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 1) a1 USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 13) b USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 23) a USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 5) c USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 14) d USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 15) e USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 16) f USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 17) g USING (f_id) - LEFT JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 18) h USING (f_id) - WHERE fiche_def_ref.frd_id = 9; - -CREATE OR REPLACE VIEW vw_fiche_name AS - SELECT f_id, ad_value AS name - FROM fiche_detail - WHERE ad_id = 1; - - CREATE OR REPLACE VIEW vw_supplier AS - SELECT fiche.f_id, a1.ad_value AS name, a.ad_value AS quick_code, b.ad_value AS tva_num, c.ad_value AS poste_comptable, d.ad_value AS rue, e.ad_value AS code_postal, f.ad_value AS pays, g.ad_value AS telephone, h.ad_value AS email - FROM fiche - join fiche_def using (fd_id) - join fiche_def_ref using(frd_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 1) a1 USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 13) b USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 23) a USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 5) c USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 14) d USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 15) e USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 16) f USING (f_id) - left JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 17) g USING (f_id) - LEFT JOIN ( SELECT jft_id, F_ID, ad_id, ad_value - from fiche_detail - WHERE ad_id = 18) h USING (f_id) - WHERE fiche_def_ref.frd_id = 8; - - -CREATE OR REPLACE VIEW vw_fiche_attr AS - SELECT a.f_id, a.fd_id, a.ad_value AS vw_name, k.ad_value as vw_first_name, b.ad_value AS vw_sell, c.ad_value AS vw_buy, d.ad_value AS tva_code, tva_rate.tva_id, tva_rate.tva_rate, tva_rate.tva_label, e.ad_value AS vw_addr, f.ad_value AS vw_cp, j.ad_value AS quick_code, h.ad_value AS vw_description, i.ad_value AS tva_num, fiche_def.frd_id - FROM ( SELECT fiche.f_id, fiche.fd_id, ad_value - FROM fiche - left join fiche_detail using (f_id) - WHERE ad_id = 1) a - LEFT JOIN ( - select f_id ,ad_value from fiche_detail - WHERE ad_id = 6) b ON a.f_id = b.f_id - LEFT JOIN ( select f_id,ad_value from fiche_detail - WHERE ad_id = 7) c ON a.f_id = c.f_id - LEFT JOIN ( select f_id,ad_value from fiche_detail - WHERE ad_id = 2) d ON a.f_id = d.f_id - LEFT JOIN ( select f_id,ad_value from fiche_detail - WHERE ad_id = 14) e ON a.f_id = e.f_id - LEFT JOIN ( select f_id,ad_value from fiche_detail - WHERE ad_id = 15) f ON a.f_id = f.f_id - LEFT JOIN ( select f_id,ad_value from fiche_detail - WHERE ad_id = 23) j ON a.f_id = j.f_id - LEFT JOIN ( select f_id,ad_value from fiche_detail - WHERE ad_id = 9) h ON a.f_id = h.f_id - LEFT JOIN ( select f_id,ad_value from fiche_detail - WHERE ad_id = 13) i ON a.f_id = i.f_id - LEFT JOIN ( select f_id,ad_value from fiche_detail - WHERE ad_id = 32) k ON a.f_id = k.f_id - LEFT JOIN tva_rate ON d.ad_value = tva_rate.tva_id::text - JOIN fiche_def USING (fd_id); - - --- --- Name: account_insert(integer, text); Type: FUNCTION; Schema: comptaproc; Owner: dany --- - -CREATE OR REPLACE FUNCTION COMPTAPROC.account_insert(p_f_id integer, p_account text) RETURNS integer - AS $_$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - nNew tmp_pcmn.pcm_val%type; - bAuto bool; - nFd_id integer; - sClass_Base fiche_def.fd_class_base%TYPE; - nCount integer; - first text; - second text; -begin - - if length(trim(p_account)) != 0 then - -- if there is coma in p_account, treat normally - if position (',' in p_account) = 0 then - raise info 'p_account is not empty'; - select count(*) into nCount from tmp_pcmn where pcm_val=p_account::account_type; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise info 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,p_account); - else - -- account doesn't exist, create it - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account::account_type); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::account_type,sName,nParent); - perform attribut_insert(p_f_id,5,p_account); - - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - perform attribut_insert(p_f_id,5,p_account); - end if; - else - raise info 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - - select fd_class_base into sClass_base from fiche_def where fd_id=nFd_id; -raise info 'sClass_Base : %',sClass_base; - if bAuto = true and sClass_base similar to '^[[:digit:]]*$' then - raise info 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise info 'nNew %', nNew; - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,nNew); - - else - -- if there is an account_base then it is the default - select fd_class_base::account_type into nNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if nNew is null or length(trim(nNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,nNew); - end if; - end if; - end if; - -return 0; -end; -$_$ -LANGUAGE plpgsql; --- --- Name: account_update(integer, public.account_type); Type: FUNCTION; Schema: comptaproc; Owner: dany --- - -CREATE OR REPLACE FUNCTION COMPTAPROC.account_update(p_f_id integer, p_account public.account_type) RETURNS integer - AS $$ -declare - nMax fiche.f_id%type; - nCount integer; - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - first text; - second text; -begin - - if length(trim(p_account)) != 0 then - if position (',' in p_account) = 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - end if; - end if; - - update fiche_detail set ad_value=p_account where f_id=p_f_id and ad_id=5 ; - -return 0; -end; -$$ -LANGUAGE plpgsql; - --- --- Name: attribut_insert(integer, integer, character varying); Type: FUNCTION; Schema: comptaproc; Owner: dany --- - -CREATE OR REPLACE FUNCTION COMPTAPROC.attribut_insert(p_f_id integer, p_ad_id integer, p_value character varying) RETURNS void - AS $$ -begin - insert into fiche_detail (f_id,ad_id, ad_value) values (p_f_id,p_ad_id,p_value); - -return; -end; -$$ -LANGUAGE plpgsql; - --- --- Name: fiche_attribut_synchro(integer); Type: FUNCTION; Schema: comptaproc; Owner: dany --- - -CREATE OR REPLACE FUNCTION COMPTAPROC.fiche_attribut_synchro(p_fd_id integer) RETURNS void - AS $$ -declare - -- this sql gives the f_id and the missing attribute (ad_id) - list_missing cursor for select f_id,fd_id,ad_id,jnt_order from jnt_fic_attr join fiche as A using (fd_id) where fd_id=p_fd_id and ad_id not in (select ad_id from fiche join fiche_detail using (f_id) where fd_id=jnt_fic_attr.fd_id and A.f_id=f_id); - rec record; -begin - open list_missing; - loop - - fetch list_missing into rec; - IF NOT FOUND then - exit; - end if; - - -- now we insert into attr_value - insert into fiche_detail (f_id,ad_id,ad_value) values (rec.f_id,rec.ad_id,null); - end loop; - close list_missing; -end; -$$ -LANGUAGE plpgsql; - --- --- Name: insert_quant_sold(text, numeric, character varying, numeric, numeric, numeric, integer, character varying); Type: FUNCTION; Schema: comptaproc; Owner: dany --- - -CREATE OR REPLACE FUNCTION COMPTAPROC.insert_quant_sold(p_internal text, p_jid numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_client character varying) RETURNS void - AS $$ -declare - fid_client integer; - fid_good integer; -begin - - select f_id into fid_client from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_client)); - select f_id into fid_good from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche)); - insert into quant_sold - (qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client,qs_valid) - values - (p_internal,p_jid,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client,'Y'); - return; -end; - $$ -LANGUAGE plpgsql; - --- --- Name: insert_quant_purchase(text, numeric, character varying, numeric, numeric, numeric, integer, numeric, numeric, numeric, numeric, character varying); Type: FUNCTION; Schema: comptaproc; Owner: dany --- - -CREATE OR REPLACE FUNCTION COMPTAPROC.insert_quant_purchase(p_internal text, p_j_id numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric, p_dep_priv numeric, p_client character varying) RETURNS void - AS $$ -declare - fid_client integer; - fid_good integer; -begin - select f_id into fid_client from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_client)); - select f_id into fid_good from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche)); - insert into quant_purchase - (qp_internal, - j_id, - qp_fiche, - qp_quantite, - qp_price, - qp_vat, - qp_vat_code, - qp_nd_amount, - qp_nd_tva, - qp_nd_tva_recup, - qp_supplier, - qp_dep_priv) - values - (p_internal, - p_j_id, - fid_good, - p_quant, - p_price, - p_vat, - p_vat_code, - p_nd_amount, - p_nd_tva, - p_nd_tva_recup, - fid_client, - p_dep_priv); - return; -end; - $$ -LANGUAGE plpgsql; - --- --- Name: insert_quick_code(integer, text); Type: FUNCTION; Schema: comptaproc; Owner: dany --- - -CREATE OR REPLACE FUNCTION COMPTAPROC.insert_quick_code(nf_id integer, tav_text text) RETURNS integer - AS $$ - declare - ns integer; - nExist integer; - tText text; - begin - tText := upper(trim(tav_text)); - tText := replace(tText,' ',''); - - loop - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - if length (tText) = 0 or tText is null then - tText := 'FID'||ns; - end if; - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=upper(tText); - - if nExist = 0 then - exit; - end if; - tText:='FID'||ns; - end loop; - - - insert into fiche_detail(jft_id,f_id,ad_id,ad_value) values (ns,nf_id,23,upper(tText)); - return ns; - end; -$$ -LANGUAGE plpgsql; - - --- --- Name: update_quick_code(integer, text); Type: FUNCTION; Schema: comptaproc; Owner: dany --- - -CREATE OR REPLACE FUNCTION COMPTAPROC.update_quick_code(njft_id integer, tav_text text) RETURNS integer - AS $$ - declare - ns integer; - nExist integer; - tText text; - old_qcode varchar; - begin - -- get current value - select ad_value into old_qcode from fiche_detail where jft_id=njft_id; - -- av_text didn't change so no update - if tav_text = upper( trim(old_qcode)) then - return 0; - end if; - - tText := trim(upper(tav_text)); - tText := replace(tText,' ',''); - if length ( tText) = 0 or tText is null then - return 0; - end if; - - ns := njft_id; - - loop - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=tText; - - if nExist = 0 then - exit; - end if; - if tText = 'FID'||ns then - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - end if; - tText :='FID'||ns; - - end loop; - update fiche_detail set ad_value = tText where jft_id=njft_id; - - -- update also the contact - update fiche_detail set ad_value = tText - where jft_id in - ( select jft_id - from fiche_detail - where ad_id=25 and ad_value=old_qcode); - - - update jrnx set j_qcode=tText where j_qcode = old_qcode; - return ns; - end; -$$ -LANGUAGE plpgsql; - - --- --- Name: jrnx_ins(); Type: FUNCTION; Schema: comptaproc; Owner: dany --- - -CREATE OR REPLACE FUNCTION COMPTAPROC.jrnx_ins() RETURNS trigger - AS $$ -declare -n_fid bigint; -begin - -if NEW.j_qcode is NULL then - return NEW; -end if; - -NEW.j_qcode=trim(upper(NEW.j_qcode)); - -if length (NEW.j_qcode) = 0 then - NEW.j_qcode=NULL; - else - select f_id into n_fid from fiche_detail where ad_id=23 and ad_value=NEW.j_qcode; - if NOT FOUND then - raise exception 'La fiche dont le quick code est % n''existe pas',NEW.j_qcode; - end if; -end if; -NEW.f_id:=n_fid; -return NEW; -end; -$$ -LANGUAGE plpgsql; - -update version set val=91; -commit; diff --git a/sources/html/admin/sql/patch/upgrade91.sql b/sources/html/admin/sql/patch/upgrade91.sql deleted file mode 100644 index c9b5e76..0000000 --- a/sources/html/admin/sql/patch/upgrade91.sql +++ /dev/null @@ -1,213 +0,0 @@ -begin; -CREATE OR REPLACE FUNCTION comptaproc.jrnx_ins() - RETURNS trigger AS -$BODY$ -declare -n_fid bigint; -begin - -NEW.j_tech_per := comptaproc.find_periode(to_char(NEW.j_date,'DD.MM.YYYY')); -if NEW.j_tech_per = -1 then - raise exception 'Période invalide'; -end if; - -if NEW.j_qcode is NULL then - return NEW; -end if; - -NEW.j_qcode=trim(upper(NEW.j_qcode)); - -if length (NEW.j_qcode) = 0 then - NEW.j_qcode=NULL; - else - select f_id into n_fid from fiche_detail where ad_id=23 and ad_value=NEW.j_qcode; - if NOT FOUND then - raise exception 'La fiche dont le quick code est % n''existe pas',NEW.j_qcode; - end if; -end if; -NEW.f_id:=n_fid; -return NEW; -end; -$BODY$ -LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION comptaproc.jrn_check_periode() - RETURNS trigger AS -$BODY$ -declare -bClosed bool; -str_status text; -ljr_tech_per jrn.jr_tech_per%TYPE; -ljr_def_id jrn.jr_def_id%TYPE; -lreturn jrn%ROWTYPE; -begin -if TG_OP='UPDATE' then - ljr_tech_per :=OLD.jr_tech_per ; - NEW.jr_tech_per := comptaproc.find_periode(to_char(NEW.jr_date,'DD.MM.YYYY')); - ljr_def_id :=OLD.jr_def_id; - lreturn :=NEW; - if NEW.jr_date = OLD.jr_date then - return NEW; - end if; - if comptaproc.is_closed(NEW.jr_tech_per,NEW.jr_def_id) = true then - raise exception 'Periode fermee'; - end if; -end if; - -if TG_OP='INSERT' then - NEW.jr_tech_per := comptaproc.find_periode(to_char(NEW.jr_date,'DD.MM.YYYY')); - ljr_tech_per :=NEW.jr_tech_per ; - ljr_def_id :=NEW.jr_def_id; - lreturn :=NEW; -end if; - -if TG_OP='DELETE' then - ljr_tech_per :=OLD.jr_tech_per; - ljr_def_id :=OLD.jr_def_id; - lreturn :=OLD; -end if; - -if comptaproc.is_closed (ljr_def_id,ljr_def_id) = true then - raise exception 'Periode fermee'; -end if; - -return lreturn; -end;$BODY$ - LANGUAGE 'plpgsql'; - -create or replace function comptaproc.is_closed (p_periode jrn.jr_tech_per%TYPE,p_jrn_def_id jrn.jr_def_id%TYPE) -returns bool as -$BODY$ -declare -bClosed bool; -str_status text; -begin --- return true is the periode is closed otherwise false -select p_closed into bClosed from parm_periode - where p_id=p_periode; - -if bClosed = true then - return bClosed; -end if; - -select status into str_status from jrn_periode - where p_id =p_periode and jrn_def_id=p_jrn_def_id; - -if str_status <> 'OP' then - return bClosed; -end if; -return false; -end; -$BODY$ -LANGUAGE plpgsql; - - -CREATE OR REPLACE FUNCTION comptaproc.find_periode(p_date text) - RETURNS integer AS -$BODY$ - -declare n_p_id int4; -begin - -select p_id into n_p_id - from parm_periode - where - p_start <= to_date(p_date,'DD.MM.YYYY') - and - p_end >= to_date(p_date,'DD.MM.YYYY'); - -if NOT FOUND then - return -1; -end if; - -return n_p_id; - -end;$BODY$ - LANGUAGE plpgsql; - - -DROP TRIGGER t_check_jrn ON jrn; - -CREATE TRIGGER t_check_jrn - BEFORE INSERT OR DELETE OR update - ON jrn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.jrn_check_periode(); - - -CREATE TABLE jrn_note -( - n_id serial, - n_text text, - jr_id bigint NOT NULL, - CONSTRAINT jrnx_note_pkey PRIMARY KEY (n_id), CONSTRAINT jrnx_note_j_id_fkey FOREIGN KEY (jr_id) REFERENCES jrn (jr_id) MATCH SIMPLE ON UPDATE CASCADE ON DELETE CASCADE); - -COMMENT ON TABLE jrn_note IS 'Note about operation'; -ALTER TABLE forecast ADD COLUMN f_start_date bigint; -ALTER TABLE forecast ADD COLUMN f_end_date bigint; -ALTER TABLE forecast - ADD CONSTRAINT forecast_f_end_date_fkey FOREIGN KEY (f_end_date) - REFERENCES parm_periode (p_id) MATCH SIMPLE - ON UPDATE SET NULL ON DELETE SET NULL; -ALTER TABLE forecast - ADD CONSTRAINT forecast_f_start_date_fkey FOREIGN KEY (f_start_date) - REFERENCES parm_periode (p_id) MATCH SIMPLE - ON UPDATE SET NULL ON DELETE SET NULL; -CREATE INDEX fki_f_start_date - ON forecast - USING btree - (f_start_date); -CREATE INDEX fki_f_end_date - ON forecast - USING btree - (f_end_date); - - -CREATE OR REPLACE FUNCTION comptaproc.jrn_add_note(p_jrid bigint, p_note text) - RETURNS void AS -$BODY$ -declare - tmp bigint; -begin - if length(trim(p_note)) = 0 then - delete from jrn_note where jr_id= p_jrid; - return; - end if; - - select n_id into tmp from jrn_note where jr_id = p_jrid; - - if FOUND then - update jrn_note set n_text=trim(p_note) where jr_id = p_jrid; - else - insert into jrn_note (jr_id,n_text) values ( p_jrid, p_note); - - end if; - - return; -end; -$BODY$ LANGUAGE plpgsql ; - - -delete from action_gestion where f_id_dest != 0 and f_id_dest not in (select f_id from fiche); - -CREATE OR REPLACE FUNCTION comptaproc.card_after_delete() - RETURNS trigger AS -$BODY$ - -begin - - delete from action_gestion where f_id_dest = OLD.f_id; - return OLD; - -end; -$BODY$ -LANGUAGE plpgsql ; - -CREATE TRIGGER remove_action_gestion - AFTER DELETE - ON fiche - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.card_after_delete(); - -update version set val=92; -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade92.sql b/sources/html/admin/sql/patch/upgrade92.sql deleted file mode 100644 index 5bfe757..0000000 --- a/sources/html/admin/sql/patch/upgrade92.sql +++ /dev/null @@ -1,14 +0,0 @@ -begin; - -insert into attr_def(ad_id,ad_text,ad_type,ad_size) values (50,'Contrepartie pour TVA récup par impot','poste',22); -insert into attr_def(ad_id,ad_text,ad_type,ad_size) values (51,'Contrepartie pour TVA non Ded.','poste',22); -insert into attr_def(ad_id,ad_text,ad_type,ad_size) values (52,'Contrepartie pour dépense à charge du gérant','poste',22); -insert into attr_def(ad_id,ad_text,ad_type,ad_size) values (53,'Contrepartie pour dépense fiscal. non déd.','poste',22); -update jrn_def set jrn_def_code=substr(jrn_def_code,1,1)||substr(jrn_def_code,length(jrn_def_code)-1,length(jrn_def_code)); - -create unique index qs_j_id on quant_sold(j_id); -create unique index qp_j_id on quant_purchase(j_id); -create unique index qf_jr_id on quant_fin(jr_id); - -update version set val=93; -commit; diff --git a/sources/html/admin/sql/patch/upgrade93.sql b/sources/html/admin/sql/patch/upgrade93.sql deleted file mode 100644 index d50002d..0000000 --- a/sources/html/admin/sql/patch/upgrade93.sql +++ /dev/null @@ -1,126 +0,0 @@ -begin; - -alter table operation_analytique drop column pa_id; -ALTER TABLE operation_analytique ADD CONSTRAINT operation_analytique_oa_amount_check CHECK (oa_amount >= 0::numeric); - -create type anc_table_card_type as (po_id bigint,pa_id bigint,PO_NAME TEXT,po_description text,sum_amount numeric(25,4),f_id bigint,card_account text,name text); - -create or replace function comptaproc.table_analytic_card (p_from text,p_to text) -returns setof anc_table_card_type -as -$BODY$ -declare - ret ANC_table_card_type%ROWTYPE; - sql_from text:=''; - sql_to text:=''; - sWhere text:=''; - sAnd text:=''; - sResult text:=''; -begin -if p_from <> '' and p_from is not null then - sql_from:='oa_date >= to_date('''||p_from::text||''',''DD.MM.YYYY'')'; - sWhere:=' where '; -end if; - -if p_to <> '' and p_to is not null then - sql_to=' oa_date <= to_date('''||p_to::text||''',''DD.MM.YYYY'')'; - sWhere := ' where '; -end if; - -if sql_to <> '' and sql_from <> '' then - sAnd :=' and '; -end if; - -sResult := sWhere || sql_from || sAnd || sql_to; - -for ret in EXECUTE ' SELECT po.po_id, po.pa_id, po.po_name, po.po_description, sum( - CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount - END) AS sum_amount, jrnx.f_id, jrnx.j_qcode, ( SELECT fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id) AS name - FROM operation_analytique - JOIN poste_analytique po USING (po_id) - JOIN jrnx USING (j_id)'|| sResult ||' - GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.f_id, jrnx.j_qcode, ( SELECT fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id), po.po_description - HAVING sum( -CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount -END) <> 0::numeric;' - - - loop - return next ret; -end loop; -end; -$BODY$ language plpgsql; - - -create type anc_table_account_type as (po_id bigint,pa_id bigint,PO_NAME TEXT,po_description text,sum_amount numeric(25,4),card_account text,name text); - - -create or replace function comptaproc.table_analytic_account (p_from text,p_to text) -returns setof anc_table_account_type -as -$BODY$ -declare - ret ANC_table_account_type%ROWTYPE; - sql_from text:=''; - sql_to text:=''; - sWhere text:=''; - sAnd text:=''; - sResult text:=''; -begin -if p_from <> '' and p_from is not null then - sql_from:='oa_date >= to_date('''||p_from::text||''',''DD.MM.YYYY'')'; - sWhere:=' where '; -end if; - -if p_to <> '' and p_to is not null then - sql_to=' oa_date <= to_date('''||p_to::text||''',''DD.MM.YYYY'')'; - sWhere := ' where '; -end if; - -if sql_to <> '' and sql_from <> '' then - sAnd:=' and '; -end if; - -sResult := sWhere || sql_from || sAnd || sql_to; - -for ret in EXECUTE 'SELECT po.po_id, - po.pa_id, po.po_name, - po.po_description,sum( - CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount - END) AS sum_amount, jrnx.j_poste, tmp_pcmn.pcm_lib AS name - FROM operation_analytique - JOIN poste_analytique po USING (po_id) - JOIN jrnx USING (j_id) - JOIN tmp_pcmn ON jrnx.j_poste::text = tmp_pcmn.pcm_val::text -'|| sResult ||' - GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.j_poste, tmp_pcmn.pcm_lib, po.po_description - HAVING sum( -CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount -END) <> 0::numeric ' - loop - return next ret; -end loop; -end; -$BODY$ language plpgsql; - -update operation_analytique set oa_date=j_date - from jrnx - where operation_analytique.j_id=jrnx.j_id - and operation_analytique.j_id in (select j_id - from jrnx join jrn on (j_grpt=jr_grpt_id) - ); - -update version set val=94; -commit; diff --git a/sources/html/admin/sql/patch/upgrade94.sql b/sources/html/admin/sql/patch/upgrade94.sql deleted file mode 100644 index 713292c..0000000 --- a/sources/html/admin/sql/patch/upgrade94.sql +++ /dev/null @@ -1,93 +0,0 @@ -begin; - --- --- Name: account_insert(integer, text); Type: FUNCTION; Schema: comptaproc; Owner: - --- - -CREATE FUNCTION account_insert(p_f_id integer, p_account text) RETURNS integer - AS $_$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - nNew tmp_pcmn.pcm_val%type; - bAuto bool; - nFd_id integer; - sClass_Base fiche_def.fd_class_base%TYPE; - nCount integer; - first text; - second text; -begin - - if p_account is not null and length(trim(p_account)) != 0 then - -- if there is coma in p_account, treat normally - if position (',' in p_account) = 0 then - raise info 'p_account is not empty'; - select count(*) into nCount from tmp_pcmn where pcm_val=p_account::account_type; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise info 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,p_account); - else - -- account doesn't exist, create it - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account::account_type); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::account_type,sName,nParent); - perform attribut_insert(p_f_id,5,p_account); - - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - perform attribut_insert(p_f_id,5,p_account); - end if; - else - raise info 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - - select fd_class_base into sClass_base from fiche_def where fd_id=nFd_id; -raise info 'sClass_Base : %',sClass_base; - if bAuto = true and sClass_base similar to '^[[:digit:]]*$' then - raise info 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise info 'nNew %', nNew; - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,nNew); - - else - -- if there is an account_base then it is the default - select fd_class_base::account_type into nNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if nNew is null or length(trim(nNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,nNew); - end if; - end if; - end if; - -return 0; -end; -$_$ -LANGUAGE plpgsql; - -update version set val=95; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade95.sql b/sources/html/admin/sql/patch/upgrade95.sql deleted file mode 100644 index a58278a..0000000 --- a/sources/html/admin/sql/patch/upgrade95.sql +++ /dev/null @@ -1,147 +0,0 @@ -begin; - -delete from fiche_detail where jft_id in ( - select a.jft_id -from fiche_detail as a ,fiche_detail as b -where -a.f_id=b.f_id -and a.ad_id = b.ad_id -and a.jft_id > b.jft_id); - - -create unique index fiche_Detail_f_id_ad_id on fiche_detail (f_id,ad_id); - -CREATE OR REPLACE FUNCTION comptaproc.account_insert(p_f_id integer, p_account text) - RETURNS integer AS -$BODY$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - nNew tmp_pcmn.pcm_val%type; - bAuto bool; - nFd_id integer; - sClass_Base fiche_def.fd_class_base%TYPE; - nCount integer; - first text; - second text; -begin - - if p_account is not null and length(trim(p_account)) != 0 then - -- if there is coma in p_account, treat normally - if position (',' in p_account) = 0 then - raise info 'p_account is not empty'; - select count(*) into nCount from tmp_pcmn where pcm_val=p_account::account_type; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise info 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,p_account); - else - -- account doesn't exist, create it - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account::account_type); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::account_type,sName,nParent); - perform attribut_insert(p_f_id,5,p_account); - - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - perform attribut_insert(p_f_id,5,p_account); - end if; - else - raise info 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - - select fd_class_base into sClass_base from fiche_def where fd_id=nFd_id; -raise info 'sClass_Base : %',sClass_base; - if bAuto = true and sClass_base similar to '[[:digit:]]*' then - raise info 'account generated automatically'; - nNew:=account_compute(p_f_id); - raise info 'nNew %', nNew; - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(nNew); - perform account_add (nNew,sName); - perform attribut_insert(p_f_id,5,nNew); - - else - -- if there is an account_base then it is the default - select fd_class_base::account_type into nNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if nNew is null or length(trim(nNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,nNew); - end if; - end if; - end if; - -return 0; -end; -$BODY$ - LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION comptaproc.account_update(p_f_id integer, p_account account_type) - RETURNS integer AS -$BODY$ -declare - nMax fiche.f_id%type; - nCount integer; - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - first text; - second text; -begin - - if p_account is not null and length(trim(p_account)) != 0 then - if position (',' in p_account) = 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - end if; - end if; - - update fiche_detail set ad_value=p_account where f_id=p_f_id and ad_id=5 ; - -return 0; -end; -$BODY$ - LANGUAGE plpgsql; - -update operation_analytique set oa_debit=j_debit from jrnx where jrnx.j_id = operation_analytique.j_id; - -update version set val=96; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade96.sql b/sources/html/admin/sql/patch/upgrade96.sql deleted file mode 100644 index c7d680f..0000000 --- a/sources/html/admin/sql/patch/upgrade96.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -drop function if exists public.account_insert(integer,text); - -update version set val=97; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade97.sql b/sources/html/admin/sql/patch/upgrade97.sql deleted file mode 100644 index f2232ab..0000000 --- a/sources/html/admin/sql/patch/upgrade97.sql +++ /dev/null @@ -1,965 +0,0 @@ -begin; -drop table public.import_tmp; -drop table public.format_csv_banque; -insert into parameter values ('MY_ALPHANUM','N'); -update PARAMETER set pr_value='N' where pr_id='MY_CHECK_PERIODE'; -delete from user_sec_act where ua_act_id not in (800,805,910); -delete from action where ac_id not in (800,805,910); -insert into action (ac_id,ac_description, ac_module, ac_code) values(1020,'Effacer les documents du suivi','followup','RMDOC'); -insert into action (ac_id,ac_description, ac_module, ac_code) values(1010,'Voir les documents du suivi','followup','VIEWDOC'); -insert into action (ac_id,ac_description, ac_module, ac_code) values(1050,'Modifier le type de document','followup','PARCATDOC'); -create unique index qcode_idx on fiche_detail (ad_value) where ad_id=23; - -CREATE OR REPLACE FUNCTION comptaproc.account_alphanum() - RETURNS boolean AS -$BODY$ -declare - l_auto bool; -begin - l_auto := true; - select pr_value into l_auto from parameter where pr_id='MY_ALPHANUM'; - if l_auto = 'N' or l_auto is null then - l_auto:=false; - end if; - return l_auto; -end; -$BODY$ - LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION comptaproc.account_compute(p_f_id integer) - RETURNS account_type AS -$BODY$ -declare - class_base fiche_def.fd_class_base%type; - maxcode numeric; - sResult account_type; - bAlphanum bool; - sName text; -begin - select fd_class_base into class_base - from - fiche_def join fiche using (fd_id) - where - f_id=p_f_id; - raise notice 'account_compute class base %',class_base; - bAlphanum := account_alphanum(); - if bAlphanum = false then - select count (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - if maxcode = 0 then - maxcode:=class_base::numeric; - else - select max (pcm_val) into maxcode from tmp_pcmn where pcm_val_parent = class_base; - maxcode:=maxcode::numeric; - end if; - if maxcode::text = class_base then - maxcode:=class_base::numeric*1000; - end if; - maxcode:=maxcode+1; - raise notice 'account_compute Max code %',maxcode; - sResult:=maxcode::account_type; - else - -- if alphanum, use name - select ad_value into sName from fiche_detail where f_id=p_f_id and ad_id=1; - if sName is null then - raise exception 'Cannot compute an accounting without the name of the card for %',p_f_id; - end if; - sResult := class_base||sName; - end if; - return sResult; -end; -$BODY$ -LANGUAGE plpgsql; - -DROP FUNCTION comptaproc.account_insert(integer, text); - -CREATE OR REPLACE FUNCTION comptaproc.account_insert(p_f_id integer, p_account text) - RETURNS text AS -$BODY$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - sNew tmp_pcmn.pcm_val%type; - bAuto bool; - nFd_id integer; - sClass_Base fiche_def.fd_class_base%TYPE; - nCount integer; - first text; - second text; -begin - - if p_account is not null and length(trim(p_account)) != 0 then - -- if there is coma in p_account, treat normally - if position (',' in p_account) = 0 then - raise info 'p_account is not empty'; - select count(*) into nCount from tmp_pcmn where pcm_val=p_account::account_type; - raise notice 'found in tmp_pcm %',nCount; - if nCount !=0 then - raise info 'this account exists in tmp_pcmn '; - perform attribut_insert(p_f_id,5,p_account); - else - -- account doesn't exist, create it - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - - nParent:=account_parent(p_account::account_type); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account::account_type,sName,nParent); - perform attribut_insert(p_f_id,5,p_account); - - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - perform attribut_insert(p_f_id,5,p_account); - end if; - else - raise info 'p_account is empty'; - select fd_id into nFd_id from fiche where f_id=p_f_id; - bAuto:= account_auto(nFd_id); - - select fd_class_base into sClass_base from fiche_def where fd_id=nFd_id; -raise info 'sClass_Base : %',sClass_base; - if bAuto = true and sClass_base similar to '[[:digit:]]*' then - raise info 'account generated automatically'; - sNew:=account_compute(p_f_id); - raise info 'sNew %', sNew; - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(sNew); - sNew := account_add (sNew,sName); - perform attribut_insert(p_f_id,5,sNew); - - else - -- if there is an account_base then it is the default - select fd_class_base::account_type into sNew from fiche_def join fiche using (fd_id) where f_id=p_f_id; - if sNew is null or length(trim(sNew)) = 0 then - raise notice 'count is null'; - perform attribut_insert(p_f_id,5,null); - else - perform attribut_insert(p_f_id,5,sNew); - end if; - end if; - end if; - -return 0; -end; -$BODY$ -LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION comptaproc.account_update(p_f_id integer, p_account account_type) - RETURNS integer AS -$BODY$ -declare - nMax fiche.f_id%type; - nCount integer; - nParent tmp_pcmn.pcm_val_parent%type; - sName varchar; - first text; - second text; -begin - - if length(trim(p_account)) != 0 then - -- 2 accounts in card separated by comma - if position (',' in p_account) = 0 then - select count(*) into nCount from tmp_pcmn where pcm_val=p_account; - if nCount = 0 then - select ad_value into sName from - fiche_detail - where - ad_id=1 and f_id=p_f_id; - nParent:=account_parent(p_account); - insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent) values (p_account,sName,nParent); - end if; - else - raise info 'presence of a comma'; - -- there is 2 accounts separated by a comma - first := split_part(p_account,',',1); - second := split_part(p_account,',',2); - -- check there is no other coma - raise info 'first value % second value %', first, second; - - if position (',' in first) != 0 or position (',' in second) != 0 then - raise exception 'Too many comas, invalid account'; - end if; - -- check that both account are in PCMN - - end if; - else - -- account is null - update fiche_detail set ad_value=null where f_id=p_f_id and ad_id=5 ; - end if; - - update fiche_detail set ad_value=p_account where f_id=p_f_id and ad_id=5 ; - -return 0; -end; -$BODY$ -LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION comptaproc.format_account(p_account account_type) - RETURNS account_type AS -$BODY$ - -declare - -sResult account_type; - -begin -sResult := lower(p_account); - -sResult := translate(sResult,'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); -sResult := translate(sResult,' $€µ£%.+-/\!(){}(),;_&|"#''^<>*',''); - -return upper(sResult); - -end; -$BODY$ -LANGUAGE plpgsql; - -COMMENT ON FUNCTION comptaproc.format_account(account_type) IS 'format the accounting : -- upper case -- remove space and special char. -'; - -CREATE OR REPLACE FUNCTION comptaproc.tmp_pcmn_alphanum_ins_upd() - RETURNS trigger AS -$BODY$ -declare - r_record tmp_pcmn%ROWTYPE; -begin -r_record := NEW; -r_record.pcm_val:=format_account(NEW.pcm_val); - -return r_record; -end; -$BODY$ -LANGUAGE plpgsql; -CREATE OR REPLACE FUNCTION comptaproc.tmp_pcmn_ins() - RETURNS trigger AS -$BODY$ -declare - r_record tmp_pcmn%ROWTYPE; -begin -r_record := NEW; -if length(trim(r_record.pcm_type))=0 or r_record.pcm_type is NULL then - r_record.pcm_type:=find_pcm_type(NEW.pcm_val); - return r_record; -end if; -return NEW; -end; -$BODY$ -LANGUAGE plpgsql; - -CREATE TRIGGER t_tmp_pcm_alphanum_ins_upd - BEFORE INSERT OR UPDATE - ON tmp_pcmn - FOR EACH ROW - EXECUTE PROCEDURE comptaproc.tmp_pcmn_alphanum_ins_upd(); - -DROP FUNCTION comptaproc.account_add(account_type, character varying); - -CREATE OR REPLACE FUNCTION comptaproc.account_add(p_id account_type, p_name character varying) - RETURNS text AS -$BODY$ -declare - nParent tmp_pcmn.pcm_val_parent%type; - nCount integer; - sReturn text; -begin - sReturn:= format_account(p_id); - select count(*) into nCount from tmp_pcmn where pcm_val=sReturn; - if nCount = 0 then - nParent=account_parent(p_id); - insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent) - values (p_id, p_name,nParent) returning pcm_val into sReturn; - end if; -return sReturn; -end ; -$BODY$ - LANGUAGE plpgsql; - -CREATE TABLE menu_ref ( - me_code text NOT NULL, - me_menu text, - me_file text, - me_url text, - me_description text, - me_parameter text, - me_javascript text, - me_type character varying(2) -); -COMMENT ON COLUMN menu_ref.me_code IS 'Menu Code '; -COMMENT ON COLUMN menu_ref.me_menu IS 'Label to display'; -COMMENT ON COLUMN menu_ref.me_file IS 'if not empty file to include'; -COMMENT ON COLUMN menu_ref.me_url IS 'url '; -COMMENT ON COLUMN menu_ref.me_type IS 'ME for menu -PR for Printing -SP for special meaning (ex: return to line) -PL for plugin'; - -CREATE TABLE profile ( - p_name text NOT NULL, - p_id integer NOT NULL, - p_desc text, - with_calc boolean DEFAULT true, - with_direct_form boolean DEFAULT true -); - -COMMENT ON TABLE profile IS 'Available profile '; -COMMENT ON COLUMN profile.p_name IS 'Name of the profile'; -COMMENT ON COLUMN profile.p_desc IS 'description of the profile'; -COMMENT ON COLUMN profile.with_calc IS 'show the calculator'; -COMMENT ON COLUMN profile.with_direct_form IS 'show the direct form'; - -CREATE TABLE profile_menu ( - pm_id integer NOT NULL, - me_code text, - me_code_dep text, - p_id integer, - p_order integer, - p_type_display text NOT NULL, - pm_default integer -); -COMMENT ON TABLE profile_menu IS 'Join between the profile and the menu '; -COMMENT ON COLUMN profile_menu.me_code_dep IS 'menu code dependency'; -COMMENT ON COLUMN profile_menu.p_id IS 'link to profile'; -COMMENT ON COLUMN profile_menu.p_order IS 'order of displaying menu'; -COMMENT ON COLUMN profile_menu.pm_default IS 'default menu'; -COMMENT ON COLUMN profile_menu.p_type_display IS 'M is a module -E is a menu -S is a select (for plugin)'; - - -CREATE SEQUENCE profile_menu_pm_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE profile_menu_pm_id_seq OWNED BY profile_menu.pm_id; -SELECT pg_catalog.setval('profile_menu_pm_id_seq', 778, true); - -CREATE TABLE profile_menu_type ( - pm_type text NOT NULL, - pm_desc text -); - -CREATE SEQUENCE profile_p_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - -ALTER SEQUENCE profile_p_id_seq OWNED BY profile.p_id; - -SELECT pg_catalog.setval('profile_p_id_seq', 11, true); - -CREATE TABLE profile_user ( - user_name text NOT NULL, - pu_id integer NOT NULL, - p_id integer -); - -COMMENT ON TABLE profile_user IS 'Contains the available profile for users'; -COMMENT ON COLUMN profile_user.user_name IS 'fk to available_user : login'; -COMMENT ON COLUMN profile_user.p_id IS 'fk to profile'; - -CREATE SEQUENCE profile_user_pu_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; -ALTER SEQUENCE profile_user_pu_id_seq OWNED BY profile_user.pu_id; -SELECT pg_catalog.setval('profile_user_pu_id_seq', 6, true); -CREATE VIEW v_all_menu AS - SELECT pm.me_code, pm.pm_id, pm.me_code_dep, pm.p_order, pm.p_type_display, pu.user_name, pu.pu_id, p.p_name, p.p_desc, mr.me_menu, mr.me_file, mr.me_url, mr.me_parameter, mr.me_javascript, mr.me_type, pm.p_id, mr.me_description FROM (((profile_menu pm JOIN profile_user pu ON ((pu.p_id = pm.p_id))) JOIN profile p ON ((p.p_id = pm.p_id))) JOIN menu_ref mr USING (me_code)) ORDER BY pm.p_order; -ALTER TABLE profile ALTER COLUMN p_id SET DEFAULT nextval('profile_p_id_seq'::regclass); -ALTER TABLE profile_menu ALTER COLUMN pm_id SET DEFAULT nextval('profile_menu_pm_id_seq'::regclass); -ALTER TABLE profile_user ALTER COLUMN pu_id SET DEFAULT nextval('profile_user_pu_id_seq'::regclass); -INSERT INTO menu_ref VALUES ('ACH', 'Achat', 'compta_ach.inc.php', NULL, 'Nouvel achat ou dépense', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCHOP', 'Historique', 'anc_history.inc.php', NULL, 'Historique des imputations analytiques', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCGL', 'Grand''Livre', 'anc_great_ledger.inc.php', NULL, 'Grand livre d''plan analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCBS', 'Balance simple', 'anc_balance_simple.inc.php', NULL, 'Balance simple des imputations analytiques', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCBC2', 'Balance croisée double', 'anc_balance_double.inc.php', NULL, 'Balance double croisées des imputations analytiques', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCTAB', 'Tableau', 'anc_acc_table.inc.php', NULL, 'Tableau lié à la comptabilité', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCBCC', 'Balance Analytique/comptabilité', 'anc_acc_balance.inc.php', NULL, 'Lien entre comptabilité et Comptabilité analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCGR', 'Groupe', 'anc_group_balance.inc.php', NULL, 'Balance par groupe', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CSV:AncGrandLivre', 'Impression Grand-Livre', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncBalGroup', 'Export Balance groupe analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('OTH:Bilan', 'Export Bilan', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:ledger', 'Export Journaux', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:postedetail', 'Export Poste détail', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:postedetail', 'Export Poste détail', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:fichedetail', 'Export Fiche détail', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('SEARCH', 'Recherche', NULL, NULL, 'Recherche', NULL, 'popup_recherche()', 'ME'); -INSERT INTO menu_ref VALUES ('DIVPARM', 'Divers', NULL, NULL, 'Paramètres divers', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGTVA', 'TVA', 'tva.inc.php', NULL, 'Config. de la tva', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CARD', 'Fiche', 'fiche.inc.php', NULL, 'Fiche', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('STOCK', 'Stock', 'stock.inc.php', NULL, 'Stock', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('MOD', 'Menu et profil', NULL, NULL, 'Menu ', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGPRO', 'Profil', 'profile.inc.php', NULL, 'Configuration profil', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGPAY', 'Moyen de paiement', 'payment_middle.inc.php', NULL, 'Config. des méthodes de paiement', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGACC', 'Poste', 'poste.inc.php', NULL, 'Config. poste comptable de base', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('VEN', 'Vente', 'compta_ven.inc.php', NULL, 'Nouvelle vente ou recette', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGMENU', 'Config. Menu', 'menu.inc.php', NULL, 'Configuration des menus et plugins', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('COMPANY', 'Sociétés', 'company.inc.php', NULL, 'Parametre societe', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PERIODE', 'Période', 'periode.inc.php', NULL, 'Gestion des périodes', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PDF:fichedetail', 'Export Fiche détail', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:fiche_balance', 'Export Fiche balance', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:fiche_balance', 'Export Fiche balance', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:report', 'Export report', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:report', 'Export report', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:fiche', 'Export Fiche', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:fiche', 'Export Fiche', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:glcompte', 'Export Grand Livre', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:glcompte', 'Export Grand Livre', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:sec', 'Export Sécurité', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncList', 'Export Comptabilité analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncBalSimple', 'Export Comptabilité analytique balance simple', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:AncBalSimple', 'Export Comptabilité analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncBalDouble', 'Export Comptabilité analytique balance double', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:AncBalDouble', 'Export Comptabilité analytique balance double', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:balance', 'Export Balance comptable', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('PDF:balance', 'Export Balance comptable', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:histo', 'Export Historique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:ledger', 'Export Journaux', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncTable', 'Export Tableau Analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('CSV:AncAccList', 'Export Historique Compt. Analytique', NULL, NULL, NULL, NULL, NULL, 'PR'); -INSERT INTO menu_ref VALUES ('SUPPL', 'Fournisseur', 'supplier.inc.php', NULL, 'Suivi fournisseur', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('LET', 'Lettrage', NULL, NULL, 'Lettrage', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCODS', 'Opérations diverses', 'anc_od.inc.php', NULL, 'OD analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('VERIFBIL', 'Vérification ', 'verif_bilan.inc.php', NULL, 'Vérification de la comptabilité', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('REPORT', 'Création de rapport', 'report.inc.php', NULL, 'Création de rapport', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('OPEN', 'Ecriture Ouverture', 'opening.inc.php', NULL, 'Ecriture d''ouverture', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ACHIMP', 'Historique achat', 'history_operation.inc.php', NULL, 'Historique achat', 'ledger_type=ACH', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FOLLOW', 'Courrier', 'action.inc.php', NULL, 'Suivi, courrier, devis', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FORECAST', 'Prévision', 'forecast.inc.php', NULL, 'Prévision', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('EXT', 'Extension', 'extension_choice.inc.php', NULL, 'Extensions (plugins)', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGDOC', 'Document', 'document_modele.inc.php', NULL, 'Config. modèle de document', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGLED', 'journaux', 'cfgledger.inc.php', NULL, 'Configuration des journaux', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PREDOP', 'Ecriture prédefinie', 'preod.inc.php', NULL, 'Gestion des opérations prédéfinifies', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ADV', 'Avancé', NULL, NULL, 'Menu avancé', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANC', 'Compta Analytique', NULL, NULL, 'Module comptabilité analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGSEC', 'Sécurité', 'param_sec.inc.php', NULL, 'configuration de la sécurité', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PLANANC', 'Plan Compt. analytique', 'anc_pa.inc.php', NULL, 'Plan analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCGROUP', 'Groupe', 'anc_group.inc.php', NULL, 'Groupe analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ODSIMP', 'Historique opérations diverses', 'history_operation.inc.php', NULL, 'Historique opérations diverses', 'ledger_type=ODS', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('VENMENU', 'Vente / Recette', NULL, NULL, 'Menu ventes et recettes', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PREFERENCE', 'Préférence', 'pref.inc.php', NULL, 'Préférence', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('HIST', 'Historique', 'history_operation.inc.php', NULL, 'Historique', 'ledger_type=ALL', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('MENUFIN', 'Financier', NULL, NULL, 'Menu Financier', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FIMP', 'Historique financier', 'history_operation.inc.php', NULL, 'Historique financier', 'ledger_type=FIN', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('MENUACH', 'Achat', NULL, NULL, 'Menu achat', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('MENUODS', 'Opérations diverses', NULL, NULL, 'Menu opérations diverses', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ODS', 'Opérations Diverses', 'compta_ods.inc.php', NULL, 'Nouvelle opérations diverses', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FREC', 'Rapprochement', 'compta_fin_rec.inc.php', NULL, 'Rapprochement bancaire', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ADM', 'Administration', 'adm.inc.php', NULL, 'Suivi administration, banque', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FIN', 'Nouvel extrait', 'compta_fin.inc.php', NULL, 'Nouvel extrait bancaire', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGATCARD', 'Attribut de fiche', 'card_attr.inc.php', NULL, 'Gestion des modèles de fiches', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('FSALDO', 'Soldes', 'compta_fin_saldo.inc.php', NULL, 'Solde des comptes en banques, caisse...', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('JSSEARCH', 'Recherche', NULL, NULL, 'Recherche', NULL, 'search_reconcile()', 'ME'); -INSERT INTO menu_ref VALUES ('LETACC', 'Lettrage par Poste', 'lettering.account.inc.php', NULL, 'lettrage par poste comptable', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CARDBAL', 'Balance', 'balance_card.inc.php', NULL, 'Balance par catégorie de fiche', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CUST', 'Client', 'client.inc.php', NULL, 'Suivi client', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGCARDCAT', 'Catégorie de fiche', 'fiche_def.inc.php', NULL, 'Gestion catégorie de fiche', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGCATDOC', 'Catégorie de documents', 'cat_document.inc.php', NULL, 'Config. catégorie de documents', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('VENIMP', 'Historique vente', 'history_operation.inc.php', NULL, 'Historique des ventes', 'ledger_type=VEN', NULL, 'ME'); -INSERT INTO menu_ref VALUES ('LETCARD', 'Lettrage par Fiche', 'lettering.card.inc.php', NULL, 'Lettrage par fiche', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('CFGPCMN', 'Plan Comptable', 'param_pcmn.inc.php', NULL, 'Config. du plan comptable', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('LOGOUT', 'Sortie', NULL, 'logout.php', 'Sortie', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('DASHBOARD', 'Tableau de bord', 'dashboard.inc.php', NULL, 'Tableau de bord', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('COMPTA', 'Comptabilité', NULL, NULL, 'Module comptabilité', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('GESTION', 'Gestion', NULL, NULL, 'Module gestion', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PARAM', 'Paramètre', NULL, NULL, 'Module paramètre', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTJRN', 'Historique', 'impress_jrn.inc.php', NULL, 'Impression historique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTREC', 'Rapprochement', 'impress_rec.inc.php', NULL, 'Impression des rapprochements', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTPOSTE', 'Poste', 'impress_poste.inc.php', NULL, 'Impression du détail d''un poste comptable', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTREPORT', 'Rapport', 'impress_rapport.inc.php', NULL, 'Impression de rapport', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTBILAN', 'Bilan', 'impress_bilan.inc.php', NULL, 'Impression de bilan', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTGL', 'Grand Livre', 'impress_gl_comptes.inc.php', NULL, 'Impression du grand livre', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTBAL', 'Balance', 'balance.inc.php', NULL, 'Impression des balances comptables', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINTCARD', 'Catégorie de Fiches', 'impress_fiche.inc.php', NULL, 'Impression catégorie de fiches', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('PRINT', 'Impression', NULL, NULL, 'Menu impression', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ACCESS', 'Accueil', NULL, 'user_login.php', 'Accueil', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('ANCIMP', 'Impression', NULL, NULL, 'Impression compta. analytique', NULL, NULL, 'ME'); -INSERT INTO menu_ref VALUES ('new_line', 'saut de ligne', NULL, NULL, 'Saut de ligne', NULL, NULL, 'SP'); - -INSERT INTO profile VALUES ('Administrateur', 1, 'Profil par défaut pour les adminstrateurs', true, true); -INSERT INTO profile VALUES ('Utilisateur', 2, 'Profil par défaut pour les utilisateurs', true, true); -INSERT INTO profile_menu VALUES (59, 'CFGPAY', 'DIVPARM', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (68, 'CFGATCARD', 'DIVPARM', 1, 9, 'E', 0); -INSERT INTO profile_menu VALUES (61, 'CFGACC', 'DIVPARM', 1, 6, 'E', 0); -INSERT INTO profile_menu VALUES (54, 'COMPANY', 'PARAM', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (651, 'ANCHOP', 'ANCIMP', 1, 10, 'E', 0); -INSERT INTO profile_menu VALUES (173, 'COMPTA', NULL, 1, 40, 'M', 0); -INSERT INTO profile_menu VALUES (55, 'PERIODE', 'PARAM', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (56, 'DIVPARM', 'PARAM', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (652, 'ANCGL', 'ANCIMP', 1, 20, 'E', 0); -INSERT INTO profile_menu VALUES (60, 'CFGTVA', 'DIVPARM', 1, 5, 'E', 0); -INSERT INTO profile_menu VALUES (653, 'ANCBS', 'ANCIMP', 1, 30, 'E', 0); -INSERT INTO profile_menu VALUES (654, 'ANCBC2', 'ANCIMP', 1, 40, 'E', 0); -INSERT INTO profile_menu VALUES (655, 'ANCTAB', 'ANCIMP', 1, 50, 'E', 0); -INSERT INTO profile_menu VALUES (656, 'ANCBCC', 'ANCIMP', 1, 60, 'E', 0); -INSERT INTO profile_menu VALUES (657, 'ANCGR', 'ANCIMP', 1, 70, 'E', 0); -INSERT INTO profile_menu VALUES (658, 'CSV:AncGrandLivre', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (662, 'new_line', NULL, 1, 35, 'M', 0); -INSERT INTO profile_menu VALUES (67, 'CFGCATDOC', 'DIVPARM', 1, 8, 'E', 0); -INSERT INTO profile_menu VALUES (69, 'CFGPCMN', 'PARAM', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (526, 'PRINTGL', 'PRINT', 1, 20, 'E', 0); -INSERT INTO profile_menu VALUES (23, 'LET', 'COMPTA', 1, 8, 'E', 0); -INSERT INTO profile_menu VALUES (523, 'PRINTBAL', 'PRINT', 1, 50, 'E', 0); -INSERT INTO profile_menu VALUES (529, 'PRINTREPORT', 'PRINT', 1, 85, 'E', 0); -INSERT INTO profile_menu VALUES (72, 'PREDOP', 'PARAM', 1, 7, 'E', 0); -INSERT INTO profile_menu VALUES (75, 'PLANANC', 'ANC', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (65, 'CFGCARDCAT', 'DIVPARM', 1, 7, 'E', 0); -INSERT INTO profile_menu VALUES (76, 'ANCODS', 'ANC', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (77, 'ANCGROUP', 'ANC', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (78, 'ANCIMP', 'ANC', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (45, 'PARAM', NULL, 1, 20, 'M', 0); -INSERT INTO profile_menu VALUES (527, 'PRINTJRN', 'PRINT', 1, 10, 'E', 0); -INSERT INTO profile_menu VALUES (530, 'PRINTREC', 'PRINT', 1, 100, 'E', 0); -INSERT INTO profile_menu VALUES (524, 'PRINTBILAN', 'PRINT', 1, 90, 'E', 0); -INSERT INTO profile_menu VALUES (79, 'PREFERENCE', NULL, 1, 15, 'M', 0); -INSERT INTO profile_menu VALUES (37, 'CUST', 'GESTION', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (38, 'SUPPL', 'GESTION', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (39, 'ADM', 'GESTION', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (36, 'CARD', 'GESTION', 1, 6, 'E', 0); -INSERT INTO profile_menu VALUES (40, 'STOCK', 'GESTION', 1, 5, 'E', 0); -INSERT INTO profile_menu VALUES (41, 'FORECAST', 'GESTION', 1, 7, 'E', 0); -INSERT INTO profile_menu VALUES (42, 'FOLLOW', 'GESTION', 1, 8, 'E', 0); -INSERT INTO profile_menu VALUES (29, 'VERIFBIL', 'ADV', 1, 21, 'E', 0); -INSERT INTO profile_menu VALUES (30, 'STOCK', 'ADV', 1, 22, 'E', 0); -INSERT INTO profile_menu VALUES (31, 'PREDOP', 'ADV', 1, 23, 'E', 0); -INSERT INTO profile_menu VALUES (32, 'OPEN', 'ADV', 1, 24, 'E', 0); -INSERT INTO profile_menu VALUES (33, 'REPORT', 'ADV', 1, 25, 'E', 0); -INSERT INTO profile_menu VALUES (5, 'CARD', 'COMPTA', 1, 7, 'E', 0); -INSERT INTO profile_menu VALUES (43, 'HIST', 'COMPTA', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (28, 'ADV', 'COMPTA', 1, 20, 'E', 0); -INSERT INTO profile_menu VALUES (53, 'ACCESS', NULL, 1, 25, 'M', 0); -INSERT INTO profile_menu VALUES (123, 'CSV:histo', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (20, 'LOGOUT', NULL, 1, 30, 'M', 0); -INSERT INTO profile_menu VALUES (35, 'PRINT', 'GESTION', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (124, 'CSV:ledger', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (125, 'PDF:ledger', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (6, 'PRINT', 'COMPTA', 1, 6, 'E', 0); -INSERT INTO profile_menu VALUES (126, 'CSV:postedetail', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (3, 'MENUACH', 'COMPTA', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (86, 'ACHIMP', 'MENUACH', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (34, 'GESTION', NULL, 1, 45, 'M', 0); -INSERT INTO profile_menu VALUES (18, 'MENUODS', 'COMPTA', 1, 5, 'E', 0); -INSERT INTO profile_menu VALUES (88, 'ODS', 'MENUODS', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (89, 'ODSIMP', 'MENUODS', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (2, 'ANC', NULL, 1, 50, 'M', 0); -INSERT INTO profile_menu VALUES (4, 'VENMENU', 'COMPTA', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (90, 'VEN', 'VENMENU', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (91, 'VENIMP', 'VENMENU', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (19, 'FIN', 'MENUFIN', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (73, 'CFGDOC', 'PARAM', 1, 8, 'E', 0); -INSERT INTO profile_menu VALUES (74, 'CFGLED', 'PARAM', 1, 9, 'E', 0); -INSERT INTO profile_menu VALUES (71, 'CFGSEC', 'PARAM', 1, 6, 'E', 0); -INSERT INTO profile_menu VALUES (82, 'EXT', NULL, 1, 55, 'M', 0); -INSERT INTO profile_menu VALUES (95, 'FREC', 'MENUFIN', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (94, 'FSALDO', 'MENUFIN', 1, 3, 'E', 0); -INSERT INTO profile_menu VALUES (27, 'LETACC', 'LET', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (24, 'LETCARD', 'LET', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (167, 'MOD', 'PARAM', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (92, 'MENUFIN', 'COMPTA', 1, 4, 'E', 0); -INSERT INTO profile_menu VALUES (93, 'FIMP', 'MENUFIN', 1, 2, 'E', 0); -INSERT INTO profile_menu VALUES (151, 'SEARCH', NULL, 1, 60, 'M', 0); -INSERT INTO profile_menu VALUES (85, 'ACH', 'MENUACH', 1, 1, 'E', 0); -INSERT INTO profile_menu VALUES (127, 'PDF:postedetail', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (128, 'CSV:fichedetail', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (129, 'PDF:fichedetail', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (130, 'CSV:fiche_balance', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (131, 'PDF:fiche_balance', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (132, 'CSV:report', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (133, 'PDF:report', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (134, 'CSV:fiche', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (135, 'PDF:fiche', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (136, 'CSV:glcompte', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (137, 'PDF:glcompte', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (138, 'PDF:sec', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (139, 'CSV:AncList', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (140, 'CSV:AncBalSimple', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (141, 'PDF:AncBalSimple', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (142, 'CSV:AncBalDouble', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (143, 'PDF:AncBalDouble', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (144, 'CSV:balance', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (145, 'PDF:balance', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (146, 'CSV:AncTable', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (147, 'CSV:AncAccList', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (148, 'CSV:AncBalGroup', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (149, 'OTH:Bilan', NULL, 1, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (528, 'PRINTPOSTE', 'PRINT', 1, 30, 'E', 0); -INSERT INTO profile_menu VALUES (525, 'PRINTCARD', 'PRINT', 1, 40, 'E', 0); -INSERT INTO profile_menu VALUES (1, 'DASHBOARD', NULL, 1, 10, 'M', 1); -INSERT INTO profile_menu VALUES (172, 'CFGPRO', 'MOD', 1, NULL, 'E', 0); -INSERT INTO profile_menu VALUES (171, 'CFGMENU', 'MOD', 1, NULL, 'E', 0); -INSERT INTO profile_menu VALUES (663, 'CFGPAY', 'DIVPARM', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (664, 'CFGATCARD', 'DIVPARM', 2, 9, 'E', 0); -INSERT INTO profile_menu VALUES (665, 'CFGACC', 'DIVPARM', 2, 6, 'E', 0); -INSERT INTO profile_menu VALUES (668, 'ANCHOP', 'ANCIMP', 2, 10, 'E', 0); -INSERT INTO profile_menu VALUES (669, 'COMPTA', NULL, 2, 40, 'M', 0); -INSERT INTO profile_menu VALUES (672, 'ANCGL', 'ANCIMP', 2, 20, 'E', 0); -INSERT INTO profile_menu VALUES (673, 'CFGTVA', 'DIVPARM', 2, 5, 'E', 0); -INSERT INTO profile_menu VALUES (674, 'ANCBS', 'ANCIMP', 2, 30, 'E', 0); -INSERT INTO profile_menu VALUES (675, 'ANCBC2', 'ANCIMP', 2, 40, 'E', 0); -INSERT INTO profile_menu VALUES (676, 'ANCTAB', 'ANCIMP', 2, 50, 'E', 0); -INSERT INTO profile_menu VALUES (677, 'ANCBCC', 'ANCIMP', 2, 60, 'E', 0); -INSERT INTO profile_menu VALUES (678, 'ANCGR', 'ANCIMP', 2, 70, 'E', 0); -INSERT INTO profile_menu VALUES (679, 'CSV:AncGrandLivre', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (680, 'new_line', NULL, 2, 35, 'M', 0); -INSERT INTO profile_menu VALUES (681, 'CFGCATDOC', 'DIVPARM', 2, 8, 'E', 0); -INSERT INTO profile_menu VALUES (683, 'PRINTGL', 'PRINT', 2, 20, 'E', 0); -INSERT INTO profile_menu VALUES (684, 'LET', 'COMPTA', 2, 8, 'E', 0); -INSERT INTO profile_menu VALUES (685, 'PRINTBAL', 'PRINT', 2, 50, 'E', 0); -INSERT INTO profile_menu VALUES (686, 'PRINTREPORT', 'PRINT', 2, 85, 'E', 0); -INSERT INTO profile_menu VALUES (688, 'PLANANC', 'ANC', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (689, 'CFGCARDCAT', 'DIVPARM', 2, 7, 'E', 0); -INSERT INTO profile_menu VALUES (690, 'ANCODS', 'ANC', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (717, 'CSV:ledger', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (718, 'PDF:ledger', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (719, 'PRINT', 'COMPTA', 2, 6, 'E', 0); -INSERT INTO profile_menu VALUES (720, 'CSV:postedetail', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (721, 'MENUACH', 'COMPTA', 2, 3, 'E', 0); -INSERT INTO profile_menu VALUES (722, 'ACHIMP', 'MENUACH', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (723, 'GESTION', NULL, 2, 45, 'M', 0); -INSERT INTO profile_menu VALUES (724, 'MENUODS', 'COMPTA', 2, 5, 'E', 0); -INSERT INTO profile_menu VALUES (725, 'ODS', 'MENUODS', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (726, 'ODSIMP', 'MENUODS', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (727, 'ANC', NULL, 2, 50, 'M', 0); -INSERT INTO profile_menu VALUES (728, 'VENMENU', 'COMPTA', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (729, 'VEN', 'VENMENU', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (730, 'VENIMP', 'VENMENU', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (731, 'FIN', 'MENUFIN', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (735, 'EXT', NULL, 2, 55, 'M', 0); -INSERT INTO profile_menu VALUES (736, 'FREC', 'MENUFIN', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (737, 'FSALDO', 'MENUFIN', 2, 3, 'E', 0); -INSERT INTO profile_menu VALUES (738, 'LETACC', 'LET', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (691, 'ANCGROUP', 'ANC', 2, 3, 'E', 0); -INSERT INTO profile_menu VALUES (692, 'ANCIMP', 'ANC', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (694, 'PRINTJRN', 'PRINT', 2, 10, 'E', 0); -INSERT INTO profile_menu VALUES (695, 'PRINTREC', 'PRINT', 2, 100, 'E', 0); -INSERT INTO profile_menu VALUES (696, 'PRINTBILAN', 'PRINT', 2, 90, 'E', 0); -INSERT INTO profile_menu VALUES (697, 'PREFERENCE', NULL, 2, 15, 'M', 0); -INSERT INTO profile_menu VALUES (698, 'CUST', 'GESTION', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (699, 'SUPPL', 'GESTION', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (700, 'ADM', 'GESTION', 2, 3, 'E', 0); -INSERT INTO profile_menu VALUES (701, 'CARD', 'GESTION', 2, 6, 'E', 0); -INSERT INTO profile_menu VALUES (702, 'STOCK', 'GESTION', 2, 5, 'E', 0); -INSERT INTO profile_menu VALUES (703, 'FORECAST', 'GESTION', 2, 7, 'E', 0); -INSERT INTO profile_menu VALUES (704, 'FOLLOW', 'GESTION', 2, 8, 'E', 0); -INSERT INTO profile_menu VALUES (705, 'VERIFBIL', 'ADV', 2, 21, 'E', 0); -INSERT INTO profile_menu VALUES (706, 'STOCK', 'ADV', 2, 22, 'E', 0); -INSERT INTO profile_menu VALUES (707, 'PREDOP', 'ADV', 2, 23, 'E', 0); -INSERT INTO profile_menu VALUES (708, 'OPEN', 'ADV', 2, 24, 'E', 0); -INSERT INTO profile_menu VALUES (709, 'REPORT', 'ADV', 2, 25, 'E', 0); -INSERT INTO profile_menu VALUES (710, 'CARD', 'COMPTA', 2, 7, 'E', 0); -INSERT INTO profile_menu VALUES (711, 'HIST', 'COMPTA', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (712, 'ADV', 'COMPTA', 2, 20, 'E', 0); -INSERT INTO profile_menu VALUES (713, 'ACCESS', NULL, 2, 25, 'M', 0); -INSERT INTO profile_menu VALUES (714, 'CSV:histo', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (715, 'LOGOUT', NULL, 2, 30, 'M', 0); -INSERT INTO profile_menu VALUES (716, 'PRINT', 'GESTION', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (739, 'LETCARD', 'LET', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (742, 'MENUFIN', 'COMPTA', 2, 4, 'E', 0); -INSERT INTO profile_menu VALUES (743, 'FIMP', 'MENUFIN', 2, 2, 'E', 0); -INSERT INTO profile_menu VALUES (744, 'SEARCH', NULL, 2, 60, 'M', 0); -INSERT INTO profile_menu VALUES (745, 'ACH', 'MENUACH', 2, 1, 'E', 0); -INSERT INTO profile_menu VALUES (746, 'PDF:postedetail', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (747, 'CSV:fichedetail', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (748, 'PDF:fichedetail', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (749, 'CSV:fiche_balance', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (750, 'PDF:fiche_balance', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (751, 'CSV:report', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (752, 'PDF:report', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (753, 'CSV:fiche', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (754, 'PDF:fiche', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (755, 'CSV:glcompte', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (756, 'PDF:glcompte', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (757, 'PDF:sec', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (758, 'CSV:AncList', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (759, 'CSV:AncBalSimple', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (760, 'PDF:AncBalSimple', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (761, 'CSV:AncBalDouble', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (762, 'PDF:AncBalDouble', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (763, 'CSV:balance', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (764, 'PDF:balance', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (765, 'CSV:AncTable', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (766, 'CSV:AncAccList', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (767, 'CSV:AncBalGroup', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (768, 'OTH:Bilan', NULL, 2, NULL, 'P', 0); -INSERT INTO profile_menu VALUES (769, 'PRINTPOSTE', 'PRINT', 2, 30, 'E', 0); -INSERT INTO profile_menu VALUES (770, 'PRINTCARD', 'PRINT', 2, 40, 'E', 0); -INSERT INTO profile_menu VALUES (777, 'CFGPRO', 'MOD', 2, NULL, 'E', 0); -INSERT INTO profile_menu VALUES (778, 'CFGMENU', 'MOD', 2, NULL, 'E', 0); -INSERT INTO profile_menu VALUES (772, 'DASHBOARD', NULL, 2, 10, 'M', 1); -INSERT INTO profile_menu_type VALUES ('P', 'Impression'); -INSERT INTO profile_menu_type VALUES ('S', 'Extension'); -INSERT INTO profile_menu_type VALUES ('E', 'Menu'); -INSERT INTO profile_menu_type VALUES ('M', 'Module'); -INSERT INTO profile_user VALUES ('phpcompta', 1, 1); -ALTER TABLE ONLY menu_ref ADD CONSTRAINT menu_ref_pkey PRIMARY KEY (me_code); -ALTER TABLE ONLY profile_menu ADD CONSTRAINT profile_menu_pkey PRIMARY KEY (pm_id); -ALTER TABLE ONLY profile_menu_type ADD CONSTRAINT profile_menu_type_pkey PRIMARY KEY (pm_type); -ALTER TABLE ONLY profile ADD CONSTRAINT profile_pkey PRIMARY KEY (p_id); -ALTER TABLE ONLY profile_user ADD CONSTRAINT profile_user_pkey PRIMARY KEY (pu_id); -ALTER TABLE ONLY profile_user ADD CONSTRAINT profile_user_user_name_key UNIQUE (user_name, p_id); -CREATE INDEX fki_profile_menu_me_code ON profile_menu USING btree (me_code); -CREATE INDEX fki_profile_menu_profile ON profile_menu USING btree (p_id); -CREATE INDEX fki_profile_menu_type_fkey ON profile_menu USING btree (p_type_display); -ALTER TABLE ONLY profile_menu ADD CONSTRAINT profile_menu_me_code_fkey FOREIGN KEY (me_code) REFERENCES menu_ref(me_code) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY profile_menu ADD CONSTRAINT profile_menu_p_id_fkey FOREIGN KEY (p_id) REFERENCES profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY profile_menu ADD CONSTRAINT profile_menu_type_fkey FOREIGN KEY (p_type_display) REFERENCES profile_menu_type(pm_type); -ALTER TABLE ONLY profile_user ADD CONSTRAINT profile_user_p_id_fkey FOREIGN KEY (p_id) REFERENCES profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; -create type menu_tree as (code text,description text); - -create or replace function comptaproc.get_profile_menu(login text) -returns setof menu_tree -as -$BODY$ -declare - a menu_tree; - e menu_tree; -begin -for a in select me_code,me_description from v_all_menu where user_name=login - and me_code_dep is null and me_type <> 'PR' and me_type <>'SP' -loop - return next a; - - for e in select * from get_menu_tree(a.code,login) - loop - return next e; - end loop; - - end loop; -return; -end; -$BODY$ language plpgsql; - - - - -CREATE OR REPLACE FUNCTION comptaproc.get_menu_tree(p_code text,login text) - RETURNS SETOF menu_tree AS -$BODY$ -declare - i menu_tree; - e menu_tree; - a text; - x v_all_menu%ROWTYPE; -begin - for x in select * from v_all_menu where me_code_dep=p_code::text and user_name=login::text - loop - if x.me_code_dep is not null then - i.code := x.me_code_dep||'/'||x.me_code; - else - i.code := x.me_code; - end if; - - i.description := x.me_description; - - return next i; - - for e in select * from get_menu_tree(x.me_code,login) - loop - e.code:=x.me_code_dep||'/'||e.code; - return next e; - end loop; - - end loop; - return; -end; -$BODY$ -LANGUAGE plpgsql; - -alter table mod_payment add jrn_def_id bigint; -update mod_payment set jrn_def_id=2 where mp_type='VEN'; -update mod_payment set jrn_def_id=3 where mp_type='ACH'; - -alter table mod_payment drop mp_type; - -delete from mod_payment where jrn_def_id not in (select jrn_def_id from jrn_def); - -alter table mod_payment add constraint mod_payment_jrn_def_id_fk foreign key (jrn_def_id) references jrn_def(jrn_def_id) on delete cascade on update cascade; - -comment on column mod_payment.jrn_def_id is 'Ledger using this payment method'; -alter table tva_rate add tva_both_side integer ; -alter table tva_rate alter tva_both_side set default 0; -update tva_rate set tva_both_side=0; - -drop FUNCTION comptaproc.tva_modify(integer, text, numeric, text, text); -alter table quant_purchase add qp_vat_sided numeric (20,4); -alter table quant_sold add qs_vat_sided numeric (20,4); - -alter table quant_purchase alter qp_vat_sided set default 0.0; -alter table quant_sold alter qs_vat_sided set default 0.0; - -update quant_purchase set qp_vat_sided=0.0; -update quant_sold set qs_vat_sided=0.0; - -comment on column quant_purchase.qp_vat_sided is 'amount of the VAT which avoid VAT, case of the VAT which add the same amount at the deb and cred'; -comment on column quant_purchase.qp_vat_sided is 'amount of the VAT which avoid VAT, case of the VAT which add the same amount at the deb and cred'; - -CREATE OR REPLACE FUNCTION comptaproc.tva_modify(integer, text, numeric, text, text,integer) - RETURNS integer -AS $function$ -declare - p_tva_id alias for $1; - p_tva_label alias for $2; - p_tva_rate alias for $3; - p_tva_comment alias for $4; - p_tva_poste alias for $5; - p_tva_both_side alias for $6; - debit text; - credit text; - nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::account_type; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::account_type; - if nCount = 0 then return 4; end if; - -end if; -update tva_rate set tva_label=p_tva_label,tva_rate=p_tva_rate,tva_comment=p_tva_comment,tva_poste=p_tva_poste,tva_both_side=p_tva_both_side - where tva_id=p_tva_id; -return 0; -end; -$function$ -LANGUAGE plpgsql; - -drop FUNCTION comptaproc.tva_insert(text, numeric, text, text); - -CREATE OR REPLACE FUNCTION comptaproc.tva_insert(text, numeric, text, text,integer) - RETURNS integer -AS $function$ -declare - l_tva_id integer; - p_tva_label alias for $1; - p_tva_rate alias for $2; - p_tva_comment alias for $3; - p_tva_poste alias for $4; - p_tva_both_side alias for $5; - debit text; - credit text; - nCount integer; -begin -if length(trim(p_tva_label)) = 0 then - return 3; -end if; - -if length(trim(p_tva_poste)) != 0 then - if position (',' in p_tva_poste) = 0 then return 4; end if; - debit = split_part(p_tva_poste,',',1); - credit = split_part(p_tva_poste,',',2); - select count(*) into nCount from tmp_pcmn where pcm_val=debit::account_type; - if nCount = 0 then return 4; end if; - select count(*) into nCount from tmp_pcmn where pcm_val=credit::account_type; - if nCount = 0 then return 4; end if; - -end if; -select into l_tva_id nextval('s_tva') ; -insert into tva_rate(tva_id,tva_label,tva_rate,tva_comment,tva_poste,tva_both_side) - values (l_tva_id,p_tva_label,p_tva_rate,p_tva_comment,p_tva_poste,p_tva_both_side); -return 0; -end; -$function$ -LANGUAGE plpgsql; - -DROP FUNCTION comptaproc.insert_quant_purchase(text,numeric, character varying,numeric,numeric,numeric,integer,numeric,numeric,numeric,numeric,character varying); - -CREATE OR REPLACE FUNCTION comptaproc.insert_quant_purchase(p_internal text, p_j_id numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_nd_amount numeric, p_nd_tva numeric, p_nd_tva_recup numeric, p_dep_priv numeric, p_client character varying,p_tva_sided numeric) - RETURNS void -AS $function$ -declare - fid_client integer; - fid_good integer; -begin - select f_id into fid_client from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_client)); - select f_id into fid_good from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche)); - insert into quant_purchase - (qp_internal, - j_id, - qp_fiche, - qp_quantite, - qp_price, - qp_vat, - qp_vat_code, - qp_nd_amount, - qp_nd_tva, - qp_nd_tva_recup, - qp_supplier, - qp_dep_priv, - qp_vat_sided) - values - (p_internal, - p_j_id, - fid_good, - p_quant, - p_price, - p_vat, - p_vat_code, - p_nd_amount, - p_nd_tva, - p_nd_tva_recup, - fid_client, - p_dep_priv, - p_tva_sided); - return; -end; - $function$ - LANGUAGE plpgsql; - -DROP FUNCTION comptaproc.insert_quant_sold(text, numeric, character varying, numeric, numeric, numeric, integer, character varying); -CREATE OR REPLACE FUNCTION comptaproc.insert_quant_sold(p_internal text, p_jid numeric, p_fiche character varying, p_quant numeric, p_price numeric, p_vat numeric, p_vat_code integer, p_client character varying,p_tva_sided numeric) - RETURNS void -AS $function$ -declare - fid_client integer; - fid_good integer; -begin - - select f_id into fid_client from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_client)); - select f_id into fid_good from - fiche_detail where ad_id=23 and ad_value=upper(trim(p_fiche)); - insert into quant_sold - (qs_internal,j_id,qs_fiche,qs_quantite,qs_price,qs_vat,qs_vat_code,qs_client,qs_valid,qs_vat_sided) - values - (p_internal,p_jid,fid_good,p_quant,p_price,p_vat,p_vat_code,fid_client,'Y',p_tva_sided); - return; -end; - $function$ - LANGUAGE plpgsql; - -insert into menu_ref(me_code,me_menu,me_file,me_description,me_type,me_parameter) select ex_code,ex_name,ex_file,ex_desC,'PL','plugin_code='||ex_code from extension; - -insert into profile_menu (me_code,me_code_dep,p_id,p_type_display) select me_code,'EXT',1,'S' from menu_ref where me_type='PL'; -update jrn set jr_internal=substr(jrn_def_type,1,1)||lpad(upper(to_hex(jr_id+1)),6,'0') from jrn_def where jrn_def_id=jr_def_id; - -update version set val=98; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade98.sql b/sources/html/admin/sql/patch/upgrade98.sql deleted file mode 100644 index bdc9333..0000000 --- a/sources/html/admin/sql/patch/upgrade98.sql +++ /dev/null @@ -1,13 +0,0 @@ -begin; - -update attr_def set ad_type='poste' where ad_id=5; -update attr_def set ad_type='numeric',ad_size=6 where ad_id in (20,31); -update attr_def set ad_size=17 where ad_type='poste'; - -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) select split_part(tva_poste,',',1),tva_comment,substring(split_part(tva_poste,',',1),1,3),'PAS' from tva_rate where split_part(tva_poste,',',1) not in (select pcm_val from tmp_pcmn); -insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) select split_part(tva_poste,',',2),tva_comment,substring(split_part(tva_poste,',',2),1,3),'ACT' from tva_rate where split_part(tva_poste,',',2) not in (select pcm_val from tmp_pcmn); - - -update version set val=99; - -commit; \ No newline at end of file diff --git a/sources/html/admin/sql/patch/upgrade99.sql b/sources/html/admin/sql/patch/upgrade99.sql deleted file mode 100644 index c3cd723..0000000 --- a/sources/html/admin/sql/patch/upgrade99.sql +++ /dev/null @@ -1,45 +0,0 @@ -begin; -CREATE OR REPLACE FUNCTION comptaproc.get_menu_dependency(profile_menu_id int) - RETURNS SETOF int AS -$BODY$ -declare - i int; - x int; - e int; -begin - for x in select pm_id,me_code - from profile_menu - where me_code_dep in (select me_code from profile_menu where pm_id=profile_menu_id) - and p_id = (select p_id from profile_menu where pm_id=profile_menu_id) - loop - return next x; - - for e in select * from comptaproc.get_menu_dependency(x) - loop - return next e; - end loop; - - end loop; - return; -end; -$BODY$ -LANGUAGE plpgsql; - -delete from profile_menu where p_id=2 and me_code_dep='DIVPARM'; -delete from profile_menu where p_id=2 and me_code_dep='MOD'; - -update quant_sold set qs_price=(-1)*qs_price, qs_vat=(-1)*qs_vat where qs_quantite < 0 and qs_price > 0 and qs_vat >= 0; - -update quant_purchase set qp_price=(-1)*qp_price, qp_vat=(-1)*qp_vat, - qp_nd_amount=(-1)*qp_nd_amount, - qp_nd_tva=(-1)*qp_nd_tva, - qp_nd_tva_recup=(-1)*qp_nd_tva_recup, - qp_dep_priv=(-1)*qp_dep_priv -where qp_quantite < 0 and qp_price > 0 and qp_vat >= 0; - -update jrnx set j_text = null from jrn where jr_grpt_id=j_grpt and j_text=jr_comment; -insert into parameter (pr_id,pr_value) values ('MY_UPDLAB','N'); - -update version set val=100; - -commit; \ No newline at end of file diff --git a/sources/html/admin/template_config_form.php b/sources/html/admin/template_config_form.php deleted file mode 100644 index 9e8d1fb..0000000 --- a/sources/html/admin/template_config_form.php +++ /dev/null @@ -1,82 +0,0 @@ - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Répertoire temporaire input(); echo HtmlInput::infobulle(200);?>
      Changement de langue input();echo HtmlInput::infobulle(201)?>
      Chemin complet vers les executable de Postgresql input();echo HtmlInput::infobulle(202)?>
      Utilisateur de la base de donnée input();echo HtmlInput::infobulle(203)?>
      Mot de passe de l'utilisateur input();echo HtmlInput::infobulle(204)?>
      Port de postgresql input();echo HtmlInput::infobulle(205)?>
      Mode Serveur mutualisé input() ?>
      -
      -
      - - Attention : si vous installez sous windows n'utilisez pas le \ mais plutôt le / dans les nom de répertoire (càd les chemins ou path) - -
      - diff --git a/sources/html/admin_repo.php b/sources/html/admin_repo.php deleted file mode 100644 index e2fa577..0000000 --- a/sources/html/admin_repo.php +++ /dev/null @@ -1,95 +0,0 @@ -Check(); - -html_page_start($User->theme); - -if ($User->admin != 1) -{ - html_page_stop(); - return; -} -load_all_script(); -echo '

      '._('Administration Globale').'

      '; -echo '
      '; - -echo MenuAdmin()."
      "; - -define('ALLOWED',true); - - -?> -
      - -
      - diff --git a/sources/html/ajax.php b/sources/html/ajax.php deleted file mode 100644 index cab34f0..0000000 --- a/sources/html/ajax.php +++ /dev/null @@ -1,71 +0,0 @@ -check(true); -set_language(); -/* if a code has been asked */ -if (isset($_REQUEST['plugin_code']) ) -{ - if ( LOGINPUT) - { - $file_loginput=fopen($_ENV['TMP'].'/scenario-'.$_SERVER['REQUEST_TIME'].'.php','a+'); - fwrite ($file_loginput,"search($_REQUEST['plugin_code']) != -1) - { - /* security */ - if ( !isset ($_SESSION['g_user']) || $ext->can_request($_SESSION['g_user']) == 0 ) - { - exit(); - } - /* call the ajax script */ - require_once(NOALYSS_PLUGIN.DIRECTORY_SEPARATOR.dirname(trim($ext->getp('me_file'))).DIRECTORY_SEPARATOR.'ajax.php'); - } - else - { - alert(j(_("Cette extension n'existe pas "))); - exit(); - } - -} -?> \ No newline at end of file diff --git a/sources/html/ajax_card.php b/sources/html/ajax_card.php deleted file mode 100644 index c33f2a9..0000000 --- a/sources/html/ajax_card.php +++ /dev/null @@ -1,585 +0,0 @@ -check(true); -$g_user->check_dossier($gDossier,true); -$html=var_export($_REQUEST,true); -if ( LOGINPUT) - { - $file_loginput=fopen($_ENV['TMP'].'/scenario-'.$_SERVER['REQUEST_TIME'].'.php','a+'); - fwrite ($file_loginput,"check_action(FICCAT)==0)exit(); - ob_start(); - if( ! isset($_GET['ad_id']) || isNumber($_GET['ad_id']) ==0) - throw new Exception ( _("Parametre ad_id est invalide"),11); - $ad_id= $_GET['ad_id']; - try - { - $cn->start(); - $fa=new Fiche_Attr($cn,$ad_id); - $fa->delete(); - $cn->commit(); - } - catch (Exception $e) - { - $cn->rollback(); - echo $e->getMessage(); - } - $html=ob_get_contents(); - ob_end_clean(); - break; - /* ------------------------------------------------------------ */ - /* Display card detail */ - /* ------------------------------------------------------------ */ - -case 'dc': - $f=new Fiche($cn); - /* add title + close */ - $html=HtmlInput::title_box(_("Détail fiche"), $ctl); - if ( $qcode != '') - { - $f->get_by_qcode($qcode); - $can_modify=$g_user->check_action(FIC); - if ( isset($ro) ) - { - $can_modify=0; - } - if ( $can_modify==1) - $card=$f->Display(false); - else - $card=$f->Display(true); - if ( $card == 'FNT' ) - { - $html.='

      '._('Fiche non trouvée').'

      '; - } - else - { - - if ($can_modify==1) - { - $html.='
      '; - $html.=dossier::hidden(); - $html.=HtmlInput::hidden('f_id',$f->id); - $html.=HtmlInput::hidden('ctl',$ctl); - } - $html.=$card; - $html.='

      '; - if ( $can_modify==1) - { - $html.=HtmlInput::submit('save',_('Sauver')); - } - if ( ! isset ($nohistory))$html.=HtmlInput::history_card_button($f->id,_('Historique')); - $html.='

      '; - if ($can_modify==1) - { - $html.='
      '; - } - } - } - else - { - $html.='

      '._('Aucune fiche demandée').'

      '; - } - break; - /* ------------------------------------------------------------ */ - /* Blank card */ - /* ------------------------------------------------------------ */ -case 'bc': - if ( $g_user->check_action(FICADD)==1 ) - { - $r=HtmlInput::title_box(_("Nouvelle fiche"), $ctl); - /* get cat. name */ - $cat_name=$cn->get_value('select fd_label from fiche_def where fd_id=$1', - array($fd_id)); - $f=new Fiche($cn); - $r.='
      '; - $r.=dossier::hidden(); - $r.=(isset($ref))?HtmlInput::hidden('ref',1):''; - $r.=HtmlInput::hidden('fd_id',$fd_id); - $r.=HtmlInput::hidden('ctl',$ctl); - $r.=$f->blank($fd_id); - $r.='

      '; - $r.=HtmlInput::submit('sc',_('Sauve')); - $r.='

      '; - $r.='
      '; - $html=$r; - } - else - { - $html=alert(_('Action interdite'),true); - } - break; - /* ------------------------------------------------------------ */ - /* Show Type */ - /* Before inserting a new card, the type must be selected */ - /* ------------------------------------------------------------ */ -case 'st': - $sql="select fd_id,fd_label,fd_description from fiche_def"; - /* if we filter thanks the ledger*/ - if ( $ledger != -1 ) - { - /* we want the card for deb or cred or both of this ledger */ - switch( $fil ) - { - case -1: - $l=new Acc_Ledger($cn,$ledger); - $where=' where fd_id in ('.$l->get_all_fiche_def().')'; - break; - case 'cred': - $l=new Acc_Ledger($cn,$ledger); - $prop=$l->get_propertie(); - if ( $prop['jrn_def_fiche_cred']=='')$prop=-1; - $where=' where fd_id in ('.$prop['jrn_def_fiche_cred'].')'; - break; - case 'deb': - $l=new Acc_Ledger($cn,$ledger); - $prop=$l->get_propertie(); - if ( $prop=='')$prop=-1; - $where=' where fd_id in ('.$prop['jrn_def_fiche_deb'].')'; - break; - } - } - else - { - /* we filter thanks a given model of card */ - if ( isset($cat)) - { - $where=sprintf(' where frd_id in ('.sql_string ($cat).')'); - } - else - /* we filter thanks a given list of category of card - */ - if ( isset($fil) && strlen(trim($fil)) > 0 ) - { - $where=sprintf(" where fd_id in (%s)", - sql_string($fil)); - } - } - if ( strpos($where," in ()") != 0) - { - $html=HtmlInput::anchor_close('select_card_div'); - $html.=h2info(_('Choix de la catégorie')); - $html.='

      '; - $html.=_("Aucune catégorie de fiche ne correspond à". - " votre demande, le journal pourrait n'avoir accès à aucune fiche"); - $html.='

      '; - break; - } - $sql.=" ".$where." order by fd_label"; - - $array=$cn->get_array($sql); - $html=HtmlInput::title_box(_("Choix de la catégorie"), $ctl); - - if ( empty($array)) - { - $html.=_("Aucune catégorie de fiche ne correspond à". - " votre demande"); - if ( DEBUG ) $html.=$sql; - } - else - { - $r=''; - $r.='

      '; - $r.=_("Choisissez la catégorie de fiche à laquelle vous aimeriez ajouter une fiche").'

      '; - - $r.='
      '; - - $msg=_('Choisissez une catégorie svp'); - $r.='
      " ; - $r.=''; - $r.=dossier::hidden(); - $r.=(isset($ref))?HtmlInput::hidden('ref',1):''; - $r.=_('Filtrer').' '.HtmlInput::filter_table("cat_card_table", '0,1', 0); - $r.=''; - for ($i=0;$i'; - $r.=''; - $r.=''; - - $r.=""; - } - $r.='
      '; - $r.=''.h($array[$i]['fd_label']).''; - $r.=''; - $r.=''.h($array[$i]['fd_description']).''; - $r.='
      '; - $r.=HtmlInput::hidden('fd_id',0); - $r.='

      '; - $r.=HtmlInput::submit('st','choix'); - $r.=HtmlInput::button('Annuler',_('Annuler')," onclick=\"removeDiv('$ctl')\" "); - $r.='

      '; - $r.='
      '; - $r.='
      '; - $html.=$r; - - } - break; - /*---------------------------------------------------------------------- - * SC save card - * save the new card (insert) - * - ----------------------------------------------------------------------*/ -case 'sc': - $html=HtmlInput::title_box(_("Choix de la catégorie"), $ctl); - if ( $g_user->check_action(FICADD)==1 ) - { - $f=new Fiche($cn); - $f->insert($fd_id,$_POST); - $f->Get(); - $html.='

      '._('Fiche sauvée').'

      '; - $html.=$f->Display(true); - $js=""; - if ( isset( $_POST['ref'])) $js=create_script(' window.location.reload()'); - $html.=$js; - } - else - { - $html.=alert(_('Action interdite'),true); - } - break; - /*---------------------------------------------------------------------- - * Search a card - * - *----------------------------------------------------------------------*/ -case 'fs': - require_once NOALYSS_INCLUDE.'/class_acc_ledger.php'; - $r=HtmlInput::title_box(_("Détail fiche"), 'search_card'); - $r.='
      '; - $q=new IText('query'); - $q->value=(isset($query))?$query:''; - $r.=''; - $r.=_('Fiche contenant').HtmlInput::infobulle(19); - $r.=$q->input(); - $r.=HtmlInput::submit('fs',_('Recherche'),"","smallbutton"); - $r.=''; - $r.=dossier::hidden().HtmlInput::hidden('op','fs'); - $array=array(); - foreach (array('query','inp','jrn','label','typecard','price','tvaid') as $i) - { - if (isset(${$i}) ) - { - $r.=HtmlInput::hidden($i,${$i}); - $sql_array[$i]=${$i}; - } - } - /* what is the type of the ledger */ - $type="GL"; - if (isset($jrn) && $jrn > 1) - { - $ledger=new Acc_Ledger($cn,$jrn); - $type=$ledger->get_type(); - } - $fiche=new Fiche($cn); - /* Build the SQL and show result */ - $sql=$fiche->build_sql($sql_array); - - if ( strpos($sql," in ()") != 0) - { - $html=HtmlInput::anchor_close('search_card'); - $html.='
      '.h2info(_('Recherche de fiche')).'
      '; - $html.='

      '; - $html.=_("Aucune catégorie de fiche ne correspond à". - " votre demande, le journal pourrait n'avoir accès à aucune fiche"); - $html.='

      '; - break; - } - /* We limit the search to MAX_SEARCH_CARD records */ - $sql=$sql.' order by vw_name limit '.MAX_SEARCH_CARD; - $a=$cn->get_array($sql); - for($i=0;$icheck_action(FICCAT)==1 ) - { - - /*---------------------------------------------------------------------- - * Add a category, display first the form - * - *----------------------------------------------------------------------*/ - $ipopup=str_replace('_content','',$ctl); - $msg="";$base=""; - switch($cat) - { - case FICHE_TYPE_CLIENT: - $msg=_(' de clients'); - $base=$cn->get_value("select p_value from parm_code where p_code='CUSTOMER'"); - break; - case FICHE_TYPE_FOURNISSEUR: - $msg=_(' de fournisseurs'); - $base=$cn->get_value("select p_value from parm_code where p_code='SUPPLIER'"); - break; - case FICHE_TYPE_ADM_TAX: - $msg=_(' d\'administration'); - $base=''; - break; - case FICHE_TYPE_CONTACT: - $msg=_(' de contacts'); - $base=''; - break; - case FICHE_TYPE_FIN: - $msg=_(' Banque'); - $base=$cn->get_value("select p_value from parm_code where p_code='BANQUE'"); - break; - case FICHE_TYPE_EMPL: - $msg=_(' Employé ou administrateur'); - $base=''; - break; - - } - - $html=''; - /* show the form */ - - $search=new IPoste("class_base"); - $search->size=40; - $search->value=$base; - $search->label=_("Recherche poste"); - $search->set_attribute('gDossier',dossier::id()); - $search->set_attribute('account',$search->name); - $search->set_attribute('ipopup','ipop_account'); - - $nom_mod=new IText("nom_mod"); - $str_poste=$search->input(); - $submit=HtmlInput::submit('save',_('Sauve')); - ob_start(); - require('template/category_of_card.php'); - $html.=ob_get_contents(); - ob_end_clean(); - - } - else - { - $html=alert(_('Action interdite'),true); - } - break; -case 'scc': - /*---------------------------------------------------------------------- - * Save card Category into the database and return a ok message - * - *----------------------------------------------------------------------*/ - $html=''; - if ( $g_user->check_action(FICCAT) == 1 ) - { - $script=create_script("removeDiv('$ctl')"); - $html.=$script; - if ( strlen(trim($_GET['nom_mod'])) != 0 ) - { - $array=array("FICHE_REF"=>$cat, - "nom_mod"=>$_GET['nom_mod'], - "class_base"=>$_GET['class_base'], - "fd_description"=>$_GET['fd_description']); - if ( isset ($_POST['create'])) $array['create']=1; - $catcard=new Fiche_Def($cn); - if ( $catcard->Add($array) == -1) - $script="alert_box('"._('Catégorie existe déjà')."')"; - else - $script="alert_box('"._('Catégorie sauvée')."')"; - $html.=create_script($script); - } - else - { - $script="alert_box('"._("Le nom ne peut pas être vide")."')"; - $html.=create_script($script); - - $invalid=1; - } - } - else - { - $html=alert(_('Action interdite'),true); - } - break; -case 'upc': - $html=HtmlInput::title_box("Détail fiche", $ctl); - - if ( $g_user->check_action(FICADD)==0 ) - { - $html.=alert(_('Action interdite'),true); - } - else - { - if ($cn->get_value('select count(*) from fiche where f_id=$1',array($_GET['f_id'])) == '0' ) - { - $html.=alert(_('Fiche non valide'),true); - } - - else - { - $html=HtmlInput::title_box(_('Détail fiche (sauvée)'),$ctl); - - $f=new Fiche($cn,$_GET['f_id']); - ob_start(); - $f->update($_GET); - $html.=ob_get_contents(); - ob_end_clean(); - $html.=$f->Display(true); - } - } -} // switch -$xml=escape_xml($html); -if (DEBUG && headers_sent()) { - echo $html;return; -} -header('Content-type: text/xml; charset=UTF-8'); -echo << - -$ctl -$xml - -EOF; diff --git a/sources/html/ajax_history.php b/sources/html/ajax_history.php deleted file mode 100644 index 0e77920..0000000 --- a/sources/html/ajax_history.php +++ /dev/null @@ -1,222 +0,0 @@ -check_dossier(dossier::id(),true) == 'X' ) exit(); - -$from_div = (isset($_REQUEST['ajax'])) ? 1 : $_GET['l']; -if ( LOGINPUT) - { - $file_loginput=fopen($_ENV['TMP'].'/scenario-'.$_SERVER['REQUEST_TIME'].'.php','a+'); - fwrite ($file_loginput,"get_exercice(); - if ( $year == 0 ) - { - $html=_("erreur aucune période par défaut, allez dans préférence pour en choisir une"); - } - else - { - $per=new Periode($cn); - $limit_periode=$per->get_limit($year); - $array['from_periode']=$limit_periode[0]->first_day(); - $array['to_periode']=$limit_periode[1]->last_day(); - if (isset($_GET['ex'])) - { - $limit_periode=$per->get_limit($_GET['ex']); - if ( $_GET['ex'] < $year) - $array['from_periode']=$limit_periode[0]->first_day(); - else - $array['to_periode']=$limit_periode[1]->last_day(); - - } - - /* - * Add button to select another year - */ - if ($exercice->count() > 1 ) - { - $default=(isset($_GET['ex']))?$_GET['ex']:$year; - $dossier=dossier::id(); - if ( $div != 'popup') - { - $obj="{div:'$div',f_id:'".$_GET['f_id']."',gDossier:'$dossier',select:this}"; - $is=$exercice->select('p_exercice',$default,' onchange="update_history_card('.$obj.');"'); - $old=_("Autre exercice")." ".$is->input(); - } - else - { - $old=''; - $is=$exercice->select('ex',$default,'onchange = "submit(this)"'); - $old.=_("Autre exercice")." ".$is->input(); - $old.=HtmlInput::hidden('div','popup'); - $old.=HtmlInput::hidden('act',$_GET['act']); - $old.=HtmlInput::hidden('f_id',$_GET['f_id']); - $old.=HtmlInput::hidden('ajax',$_GET['ajax']); - $old.=dossier::hidden(); - $old.=''; - } - } - - ob_start(); - require_once NOALYSS_INCLUDE.'/template/history_top.php'; - $detail_card=HtmlInput::card_detail($fiche->strAttribut(ATTR_DEF_QUICKCODE),$fiche->getName()); - echo h2( $fiche->getName().'['.$fiche->strAttribut(ATTR_DEF_QUICKCODE).']',' class="title" '); - echo '

      '.$detail_card.'

      '; - - if ( $fiche->HtmlTable($array,0,$from_div)==-1){ - echo h2(_("Aucune opération pour l'exercice courant"),'class="error"'); - } - - echo $old; - - $html=ob_get_contents(); - ob_end_clean(); - } - } -/////////////////////////////////////////////////////////////////////////// -// for an account -/////////////////////////////////////////////////////////////////////////// -if ( isset($_REQUEST['pcm_val'])) - { - $poste=new Acc_Account_Ledger($cn,$_REQUEST['pcm_val']); - $year=$g_user->get_exercice(); - if ( $year == 0 ) - { - $html=_("erreur aucune période par défaut, allez dans préférence pour en choisir une"); - } - else - { - $exercice=new Exercice($cn); - $old=''; - $per=new Periode($cn); - $limit_periode=$per->get_limit($year); - $array['from_periode']=$limit_periode[0]->first_day(); - $array['to_periode']=$limit_periode[1]->last_day(); - if (isset($_GET['ex'])) - { - $limit_periode=$per->get_limit($_GET['ex']); - if ( $_GET['ex'] < $year) - $array['from_periode']=$limit_periode[0]->first_day(); - else - $array['to_periode']=$limit_periode[1]->last_day(); - - } - /* - * Add button to select another year - */ - if ($exercice->count() > 1 ) - { - $default=(isset($_GET['ex']))?$_GET['ex']:$year; - $dossier=dossier::id(); - if ( $div != 'popup') - { - $obj="{div:'$div',pcm_val:'".$_GET['pcm_val']."',gDossier:'$dossier',select:this}"; - $is=$exercice->select('p_exercice',$default,' onchange="update_history_account('.$obj.');"'); - $old=_("Autre exercice")." ".$is->input(); - } - else - { - $old='
      '; - $is=$exercice->select('ex',$default,'onchange = "submit(this)"'); - $old.=_("Autre exercice")." ".$is->input(); - $old.=HtmlInput::hidden('div','popup'); - $old.=HtmlInput::hidden('act',$_GET['act']); - $old.=HtmlInput::hidden('pcm_val',$_GET['pcm_val']); - $old.=HtmlInput::hidden('ajax',$_GET['ajax']); - $old.=dossier::hidden(); - $old.='
      '; - } - - } - - ob_start(); - require_once NOALYSS_INCLUDE.'/template/history_top.php'; - - if ( $poste->HtmlTable($array) == -1) - { - echo h2($poste->id." ".$poste->name,' class="title"'); - echo h2(_("Aucune opération pour l'exercice courant"),'class="error"'); - } - echo $old; - - $html=ob_get_contents(); - ob_end_clean(); - } - } -$xml=escape_xml($html); -if (DEBUG && headers_sent()) { - echo $html;return; -} -header('Content-type: text/xml; charset=UTF-8'); -echo << - -$div -$xml - -EOF; diff --git a/sources/html/ajax_ledger.php b/sources/html/ajax_ledger.php deleted file mode 100644 index 842b676..0000000 --- a/sources/html/ajax_ledger.php +++ /dev/null @@ -1,599 +0,0 @@ -check(); -if ( $g_user->check_dossier(dossier::id(),true)=='X' ) -{ - ob_start(); - require_once NOALYSS_INCLUDE.'/template/ledger_detail_forbidden.php'; - echo HtmlInput::button_close($div); - $html=ob_get_contents(); - ob_end_clean(); - $html=escape_xml($html); - header('Content-type: text/xml; charset=UTF-8'); - echo << - -$div -$html - -EOF; - exit(); -} - - -// check if the user can access the ledger where the operation is (view) and -// if he can modify it -$op=new Acc_Operation($cn); -$op->jr_id=$_REQUEST['jr_id']; -$ledger=$op->get_ledger(); -if ($ledger=="") -{ - - ob_start(); - echo HtmlInput::title_box(_("Information"), $div); - require_once NOALYSS_INCLUDE.'/template/ledger_detail_forbidden.php'; - echo HtmlInput::button_close($div); - $html=ob_get_contents(); - ob_end_clean(); - - $html=escape_xml($html); - if ( ! headers_sent()) { header('Content-type: text/xml; charset=UTF-8');} else { echo "HTML".unescape_xml($html);} - echo << - -$div -$html - -EOF; - exit(); - -} -$access=$g_user->get_ledger_access($ledger); -if ( $access == 'X' ) -{ - ob_start(); - echo HtmlInput::title_box(_("Information"), $div); - require_once NOALYSS_INCLUDE.'/template/ledger_detail_forbidden.php'; - echo HtmlInput::button_close($div); - $html=ob_get_contents(); - ob_end_clean(); - $html=escape_xml($html); - header('Content-type: text/xml; charset=UTF-8'); - echo << - -$div -$html - -EOF; - exit(); -} -$html=var_export($_REQUEST,true); -switch ($action) -{ - /////////////////////////////////////////////////////////////////////////// - // remove op - /////////////////////////////////////////////////////////////////////////// -case 'rmop': - if ( $access=='W' && $g_user->check_action(RMOPER) == 1) - { - ob_start(); - /* get the ledger */ - try - { - $cn->start(); - $oLedger=new Acc_Ledger($cn,$ledger); - $oLedger->jr_id=$_REQUEST['jr_id']; - $oLedger->delete(); - $cn->commit(); - echo _("Opération Effacée"); - } - catch (Exception $e) - { - $e->getMessage(); - $cn->rollback; - } - $html=ob_get_contents(); - ob_end_clean(); - } - else - { - $html= _("Effacement refusé"); - } - break; - ////////////////////////////////////////////////////////////////////// - // DE Detail - ////////////////////////////////////////////////////////////////////// -case 'de': - ob_start(); - - try - { - /* get detail op (D/C) */ - $op->get(); - /* return an obj. ACH / FIN or VEN or null if nothing is found*/ - $obj=$op->get_quant(); - - $oLedger=new Acc_Ledger($cn,$ledger); - if ( $obj==null || $obj->signature == 'ODS' ) - { - /* only the details */ - require_once NOALYSS_INCLUDE.'/template/ledger_detail_misc.php'; - } - elseif ( $obj->signature=='ACH') - { - require_once NOALYSS_INCLUDE.'/template/ledger_detail_ach.php'; - } - elseif ($obj->signature=='FIN') - { - require_once NOALYSS_INCLUDE.'/template/ledger_detail_fin.php'; - } - elseif ( $obj->signature=='VEN') - { - require_once NOALYSS_INCLUDE.'/template/ledger_detail_ven.php'; - } - } - catch (Exception $e) - { - echo HtmlInput::anchor_close($div); - echo '

      '._("Désolé il y a une erreur").'

      '; - } - $html=ob_get_contents(); - ob_end_clean(); - - break; - ///////////////////////////////////////////////////////////////////////////// - // form for the file - ///////////////////////////////////////////////////////////////////////////// -case 'file': - $op->get(); - $obj=$op->get_quant(); /* return an obj. ACH / FIN or VEN or null if nothing is found*/ - - $repo = new Database(); - $theme = $repo->get_value("select the_filestyle from theme where the_name=$1", array($_SESSION['g_theme'])); - html_min_page_start($theme); - - // if there is a receipt document - if ( $obj->det->jr_pj_name=='') - { - if ( ! isset($_REQUEST['ajax']) ) { - echo '
      '; - }else { - echo "
      "; - - } - if ( $access=='W') - { - echo '
      '; - - $sp=new ISpan('file'.$div); - $sp->style="display:none;background-color:red;color:white;font-size:12px"; - $sp->value="Chargement"; - echo $sp->input(); - echo HtmlInput::hidden('act','loadfile'); - echo dossier::hidden(); - echo HtmlInput::hidden('jr_id',$jr_id); - echo HtmlInput::hidden('div',$div); - - echo ''; - echo '
      '; - } - else - { - if (!isset($_REQUEST['ajax'])) - { - echo '
      '; - } - else - { - echo "
      "; - } - - - echo _('Aucun fichier'); - } - echo '
      '; - exit(); - } - else - { - // There is no document attached to this writing - // - if ( ! isset($_REQUEST['ajax']) ) { - echo '
      '; - }else { - echo "
      "; - - } - echo '
      '; - $x=''; - if ($access=='W' && $g_user->check_action (RMRECEIPT) == 1) - { - // Not possible to remove the file thanks a modal dialog box, - // because of the frameset - $x=sprintf(''.SMALLX.'', - $gDossier,$div,$jr_id); - - } - $filename= $obj->det->jr_pj_name; - if ( strlen($obj->det->jr_pj_name) > 20 ) - { - $filename=mb_substr($obj->det->jr_pj_name,0,23); - } - $h=sprintf('%s', - $gDossier,$ledger,$obj->det->jr_grpt_id,h( $filename)); - echo $h; - echo $x; - echo '
      '; - echo ''; - exit(); - } -///////////////////////////////////////////////////////////////////////////// -// load a file -///////////////////////////////////////////////////////////////////////////// -case 'loadfile': - if ( $access == 'W' && isset ($_FILES)) - { - $cn->start(); - // remove the file - $grpt=$cn->get_value('select jr_grpt_id from jrn where jr_id=$1',array($jr_id)); - $cn->save_upload_document($grpt); - $cn->commit(); - // Show a link to the new file - $op->get(); - $obj=$op->get_quant(); /* return an obj. ACH / FIN or VEN or null if nothing is found*/ - - echo ""; - $repo=new Database(); - $theme=$repo->get_value("select the_filestyle from theme where the_name=$1",array($_SESSION['g_theme'])); - echo " "; - echo ""; - if ( ! isset($_REQUEST['ajax']) ) echo ""; else echo ""; - echo "

      "._("Document")."

      "; - echo '
      '; - - // check if the user can remove a document - if ($g_user->check_action (RMRECEIPT) == 1) { - // Not possible to remove the file thanks a modal dialog box, - // because of the frameset - $x=sprintf(''.SMALLX.'', - $gDossier,$div,$jr_id); - echo $x; - } - $filename= $obj->det->jr_pj_name; - $h=sprintf('%s', - $gDossier,$ledger,$obj->det->jr_grpt_id,h($filename)); - echo $h; - echo '
      '; - - } - exit(); -///////////////////////////////////////////////////////////////////////////// -// remove a file -///////////////////////////////////////////////////////////////////////////// -case 'rmf': - if ( $access == 'W' && $g_user->check_action (RMRECEIPT) == 1) - { - echo ""; - $repo=new Database(); - $theme=$repo->get_value("select the_filestyle from theme where the_name=$1",array($_SESSION['g_theme'])); - echo " "; - echo ""; - echo "

      "._("Document")."

      "; - echo '
      '; - echo '
      '; - $sp=new ISpan('file'.$div); - $sp->style="display:none;width:155;height:15;background-color:red;color:white;font-size:10"; - $sp->value=_("Chargement"); - echo $sp->input(); - - echo HtmlInput::hidden('act','loadfile'); - echo dossier::hidden(); - echo HtmlInput::hidden('jr_id',$jr_id); - echo HtmlInput::hidden('div',$div); - - echo ''; - echo '
      '; - $ret=$cn->exec_sql("select jr_pj from jrn where jr_id=$1",array($jr_id)); - if (Database::num_row($ret) != 0) - { - $r=Database::fetch_array($ret,0); - $old_oid=$r['jr_pj']; - if (strlen($old_oid) != 0) - { - // check if this pj is used somewhere else - $c=$cn->count_sql("select * from jrn where jr_pj=".$old_oid); - if ( $c == 1 ) - $cn->lo_unlink($old_oid); - } - $cn->exec_sql("update jrn set jr_pj=null, jr_pj_name=null, ". - "jr_pj_type=null where jr_id=$1",array($jr_id)); - } - } - echo '
      '; - exit(); -///////////////////////////////////////////////////////////////////////////// -// Save operation detail -///////////////////////////////////////////////////////////////////////////// -case 'save': - ob_start(); - try - { - $cn->start(); - if ( $access=="W") - { - if (isset($_POST['p_ech']) ) - { - $ech=$_POST['p_ech']; - if ( trim($ech) != '' && isDate($ech) != null) - { - $cn->exec_sql("update jrn set jr_ech=to_date($1,'DD.MM.YYYY') where jr_id=$2", - array($ech,$jr_id)); - - } - else - { - $cn->exec_sql("update jrn set jr_ech=null where jr_id=$1", - array($jr_id)); - - } - } - - if (isset($_POST['p_date_paid']) ) - { - $ech=$_POST['p_date_paid']; - if ( trim($ech) != '' && isDate($ech) != null) - { - $cn->exec_sql("update jrn set jr_date_paid=to_date($1,'DD.MM.YYYY') where jr_id=$2", - array($ech,$jr_id)); - - } - else - { - $cn->exec_sql("update jrn set jr_date_paid=null where jr_id=$1", - array($jr_id)); - - } - } - - $cn->exec_sql("update jrn set jr_comment=$1,jr_pj_number=$2,jr_date=to_date($4,'DD.MM.YYYY') where jr_id=$3", - array($_POST['lib'],$_POST['npj'],$jr_id,$_POST['p_date'])); - $cn->exec_sql("update jrnx set j_date=to_date($1,'DD.MM.YYYY') where j_grpt in (select jr_grpt_id from jrn where jr_id=$2)", - array($_POST['p_date'],$jr_id)); - $cn->exec_sql('update operation_analytique set oa_date=j_date from jrnx - where - operation_analytique.j_id=jrnx.j_id and - operation_analytique.j_id in (select j_id - from jrnx join jrn on (j_grpt=jr_grpt_id) - where jr_id=$1) - ',array($jr_id)); - $cn->exec_sql("select comptaproc.jrn_add_note($1,$2)", - array($jr_id,$_POST['jrn_note'])); - $rapt=$_POST['rapt']; - - if ( $g_parameter->MY_UPDLAB=='Y' && isset ($_POST['j_id'])) - { - $a_rowid=$_POST["j_id"]; - for ($e=0;$eexec_sql('update jrnx set j_text=$1 where j_id=$2', array(strip_tags($_POST[$id]),$a_rowid[$e])); - } - } - if (trim($rapt) != '') - { - $rec=new Acc_Reconciliation ($cn); - $rec->set_jr_id($jr_id); - - if (strpos($rapt,",") != 0 ) - { - $aRapt=explode(',',$rapt); - /* reconcialition */ - foreach ($aRapt as $rRapt) - { - if ( isNumber($rRapt) == 1 ) - { - // Add a "concerned operation to bound these op.together - $rec->insert($rRapt); - } - } - } - else - if ( isNumber($rapt) == 1 ) - { - $rec->insert($rapt); - } - } - if ( isset($_POST['ipaid'])) - { - $cn->exec_sql("update jrn set jr_rapt='paid' where jr_id=$1",array($jr_id)); - } - else - { - $cn->exec_sql("update jrn set jr_rapt=null where jr_id=$1",array($jr_id)); - } - //////////////////////////////////////////////////// - // CA - ////////////////////////////////////////////////// - $owner = new Own($cn); - if ( $owner->MY_ANALYTIC != "nu" && isset ($_POST['op']) ) - { - // for each item, insert into operation_analytique */ - $opanc=new Anc_Operation($cn); - $opanc->save_update_form($_POST); - } - ////////////////////////////////////////////////////////////////// - //Save other info - ////////////////////////////////////////////////////////////////// - $op->save_info($_POST['OTHER'],'OTHER'); - $op->save_info($_POST['BON_COMMANDE'],'BON_COMMANDE'); - /////////////////////////////////////////////////////////////////// - // Save related - ////////////////////////////////////////////////////////////////// - $related=HtmlInput::default_value_post("related", "0"); - if ($related == "0" ) - throw new Exception('Parameter not send -> related'.__FILE__.__LINE__,10); - $op->insert_related_action($related); - - } - echo _('Opération sauvée'); - $cn->commit(); - } - catch (Exception $e) - { - if ( DEBUG ) echo $e->getMessage(); - alert(_( "Changement impossible: on ne peut pas changer la date dans une période fermée")); - } - $html=ob_get_contents(); - ob_end_clean(); - - break; - //////////////////////////////////////////////////////////////////////////// - // remove a reconciliation - //////////////////////////////////////////////////////////////////////////// -case 'rmr': - if ( $access=='W') - { - $rec=new Acc_Reconciliation($cn); - $rec->set_jr_id($jr_id); - $rec->remove($_GET['jr_id2']); - } - break; - //////////////////////////////////////////////////////////////////////////// - // ask for a date for reversing the operation - //////////////////////////////////////////////////////////////////////////// -case 'ask_extdate': - $date=new IDate('p_date'); - $html.="
      "; - $html.=HtmlInput::hidden('jr_id',$_REQUEST['jr_id']). - HtmlInput::hidden('div',$div). - dossier::hidden(). - HtmlInput::hidden('act','reverseop'); - - $html.='

      '._('entrez une date').'

      '.$date->input(); - $html.=HtmlInput::submit('x','accepter'); - $html.=HtmlInput::button_close($div); - $html.='
      '; - break; - //////////////////////////////////////////////////////////////////////////// - // Reverse an operation - //////////////////////////////////////////////////////////////////////////// -case 'reverseop': - if ( $access=='W') - { - ob_start(); - try - { - $cn->start(); - $oLedger=new Acc_Ledger($cn,$ledger); - $oLedger->jr_id=$_REQUEST['jr_id']; - $oLedger->reverse($_REQUEST['ext_date']); - $cn->commit(); - echo _("Opération extournée"); - } - catch (Exception $e) - { - $e->getMessage(); - $cn->rollback(); - } - } - $html=ob_get_contents(); - ob_end_clean(); - break; -} -$html=escape_xml($html); - if ( ! headers_sent()) { header('Content-type: text/xml; charset=UTF-8');} else { echo "HTML".unescape_xml($html);} - - echo << - -$div -$html - -EOF; diff --git a/sources/html/ajax_misc.php b/sources/html/ajax_misc.php deleted file mode 100644 index f30f470..0000000 --- a/sources/html/ajax_misc.php +++ /dev/null @@ -1,749 +0,0 @@ -0) { - $cn = new Database($gDossier); - $g_parameter=new Own($cn); - $g_user = new User($cn); - $g_user->check(true); - $g_user->check_dossier($gDossier, true); -} -else -{ - // connect to repository - $cn=new Database(); - $g_user = new User($cn); - $g_user->check(true); -} -$html = var_export($_REQUEST, true); - -if ( LOGINPUT) - { - $file_loginput=fopen($_ENV['TMP'].'/scenario-'.$_SERVER['REQUEST_TIME'].'.php','a+'); - fwrite ($file_loginput,"check_module('ANCODS') == 0) - exit(); - $cn->exec_sql("delete from operation_analytique where oa_group=$1", array($_GET['oa'])); - break; - case "rm_stock": - if ($g_user->check_module('STOCK') == 0) - exit(); - require_once NOALYSS_INCLUDE.'/constant.security.php'; - $cn->exec_sql('delete from stock_goods where sg_id=$1', array($s_id)); - $html = escape_xml($s_id); - header('Content-type: text/xml; charset=UTF-8'); - printf('{"d_id":"%s"}', $s_id); - exit(); - break; - //-------------------------------------------------- - // get the last date of a ledger - case 'lastdate': - require_once NOALYSS_INCLUDE.'/class_acc_ledger_fin.php'; - $ledger = new Acc_Ledger_Fin($cn, $_GET['p_jrn']); - $html = $ledger->get_last_date(); - $html = escape_xml($html); - header('Content-type: text/xml; charset=UTF-8'); - echo << - -e_date -$html - -EOF; - - break; - case 'bkname': - require_once NOALYSS_INCLUDE.'/class_acc_ledger_fin.php'; - $ledger = new Acc_Ledger_Fin($cn, $_GET['p_jrn']); - $html = $ledger->get_bank_name(); - $html = escape_xml($html); - header('Content-type: text/xml; charset=UTF-8'); - echo << - -bkname -$html - -EOF; - break; - // display new calendar - case 'cal': - require_once NOALYSS_INCLUDE.'/class_calendar.php'; - /* others report */ - $cal = new Calendar(); - $cal->set_periode($per); - $notitle=HtmlInput::default_value_get("notitle", 0); - $html = ""; - $html = $cal->display($_GET['t'],$notitle); - $html = escape_xml($html); - header('Content-type: text/xml; charset=UTF-8'); - echo << - -$html - -EOF; - break; - /* rem a cat of document */ - case 'rem_cat_doc': - require_once NOALYSS_INCLUDE.'/class_document_type.php'; - // if user can not return error message - $message=""; - if ($g_user->check_action(PARCATDOC) == 0) - { - $html = "nok"; - $message=_('Action non autorisée'); - header('Content-type: text/xml; charset=UTF-8'); - echo << - -$html -$message - -EOF; - return; - } - // remove the cat if no action - $count_md = $cn->get_value('select count(*) from document_modele where md_type=$1', array($dt_id)); - $count_a = $cn->get_value('select count(*) from action_gestion where ag_type=$1', array($dt_id)); - - if ($count_md != 0 || $count_a != 0) - { - $message=_('Des actions dépendent de cette catégorie'); - $html = "nok"; - header('Content-type: text/xml; charset=UTF-8'); - echo << - -$html -$message - -EOF; - exit; - } - $cn->exec_sql('delete from document_type where dt_id=$1', array($dt_id)); - $html = $dt_id; - header('Content-type: text/xml; charset=UTF-8'); - echo << - -$html -$message - -EOF; - return; - break; - case 'mod_cat_doc': - require_once NOALYSS_INCLUDE.'/template/document_mod_change.php'; - break; - case 'dsp_tva': - $cn = new Database($gDossier); - $Res = $cn->exec_sql("select * from tva_rate order by tva_rate desc"); - $Max = Database::num_row($Res); - $r = ""; - $r = HtmlInput::anchor_close('tva_select'); - $r.=h2(_('Choisissez la TVA '),'class="title"'); - $r.='
      '; - $r.=_('Filter')." ".HtmlInput::filter_table("tva_select_table",'0,1,2,3' , 1); - $r.= ''; - $r.=th(_('code')); - $r.=th(_('Taux')); - $r.=th(_('Symbole')); - $r.=th(_('Explication')); - - for ($i = 0; $i < $Max; $i++) - { - $row = Database::fetch_array($Res, $i); - if (!isset($compute)) - { - if (!isset($code)) - { - $script = "onclick=\"$('$ctl').value='" . $row['tva_id'] . "';removeDiv('tva_select');\""; - } - else - { - $script = "onclick=\"$('$ctl').value='" . $row['tva_id'] . "';set_value('$code','" . $row['tva_label'] . "');removeDiv('tva_select');\""; - } - } - else - { - if (!isset($code)) - { - $script = "onclick=\"$('$ctl').value='" . $row['tva_id'] . "';removeDiv('tva_select');clean_tva('$compute');compute_ledger('$compute');\""; - } - else - { - $script = "onclick=\"$('$ctl').value='" . $row['tva_id'] . "';set_value('$code','" . $row['tva_label'] . "');removeDiv('tva_select');clean_tva('$compute');compute_ledger('$compute');\""; - } - } - $set = ''; - $class=($i%2 == 0)?' class="odd" ':' class="even" '; - $r.=''; - $r.=td($row['tva_id']); - $r.=td($row['tva_rate']); - $r.=td($row['tva_label']); - $r.=td($row['tva_comment']); - $r.=''; - } - $r.='
      '; - $r.='
      '; - - $html = escape_xml($r); - - header('Content-type: text/xml; charset=UTF-8'); - echo << - -$html -$popup - -EOF; - break; - case 'label_tva': - $cn = new Database($gDossier); - if (isNumber($id) == 0) - $value = _('tva inconnue'); - else - { - $Res = $cn->get_array("select * from tva_rate where tva_id = $1", array($id)); - if (count($Res) == 0) - $value = _('tva inconnue'); - else - $value = $Res[0]['tva_label']; - } - header('Content-type: text/xml; charset=UTF-8'); - echo << - -$code -$value - -EOF; - - break; - /** - * display the lettering - */ - case 'dl': - require_once NOALYSS_INCLUDE.'/class_lettering.php'; - $exercice = $g_user->get_exercice(); - if ($g_user->check_module("LETCARD") == 0 && $g_user->check_module("LETACC") == 0) - exit(); - $periode = new Periode($cn); - list($first_per, $last_per) = $periode->get_limit($exercice); - - $ret = new IButton('return'); - $ret->label = _('Retour'); - $ret->javascript = "$('detail').hide();$('list').show();$('search').show();"; - - // retrieve info for the given j_id (date, amount,side and comment) - $sql = "select j_date,to_char(j_date,'DD.MM.YYYY') as j_date_fmt,J_POSTE,j_qcode,jr_id, - jr_comment,j_montant, j_debit,jr_internal from jrnx join jrn on (j_grpt=jr_grpt_id) - where j_id=$1"; - $arow = $cn->get_array($sql, array($j_id)); - $row = $arow[0]; - $r = ''; - $r.='
      ' . _('Lettrage') . ''; - $r.=_('Poste')." " . $row['j_poste'] . ' ' . $row['j_qcode'] . '
      '; - - $detail = " " . $row['jr_internal'] . ""; - - $r.=_('Date').' : ' . $row['j_date_fmt'] . ' ref :' . $detail . '
      '; - $r.=h($row['jr_comment']) ." ". _("montant")." : " . ($row['j_montant']) . " " . (($row['j_debit'] == 't') ? 'D' : 'C'); - $r.='
      '; - $r.='
      '; - $r.='
      '; - $r.='
      '; - // needed hidden var - $r.=dossier::hidden(); - if (isset($_REQUEST['ac'])) - $r.=HtmlInput::hidden('ac', $_REQUEST['ac']); - if (isset($_REQUEST['sa'])) - $r.=HtmlInput::hidden('sa', $_REQUEST['sa']); - if (isset($_REQUEST['acc'])) - $r.=HtmlInput::hidden('acc', $_REQUEST['acc']); - $r.=HtmlInput::hidden('j_id', $j_id); - $r.=HtmlInput::hidden('op', $op); - $r.=HtmlInput::hidden('ot', $ot); - - $r.=''; - //min amount - $line = td(_('Montant min. ')); - $min = new INum('min_amount'); - $min->value = (isset($min_amount)) ? $min_amount : $row['j_montant']; - $min_amount = (isset($min_amount)) ? $min_amount : $row['j_montant']; - - $line.=td($min->input()); - // max amount - $line.=td(_('Montant max. ')); - $max = new INum('max_amount'); - $max->value = (isset($max_amount)) ? $max_amount : $row['j_montant']; - $max_amount = (isset($max_amount)) ? $max_amount : $row['j_montant']; - $line.=td($max->input()); - $r.=tr($line); - - $date_error=""; - // start date - $start = new IDate('search_start'); - - /* check if date are valid */ - if (isset($search_start) && isDate($search_start) == null) - { - ob_start(); - alert(_('Date malformée')); - $date_error = ob_get_contents(); - ob_end_clean(); - $search_start=$first_per->first_day(); - } - $start->value = (isset($search_start)) ? $search_start : $first_per->first_day(); - - $line = td('Date Debut') . td($start->input()); - // end date - $end = new IDate('search_end'); - /* check if date are valid */ - if (isset($search_end) && isDate($search_end) == null) - { - ob_start(); - alert(_('Date malformée')); - $date_error = ob_get_contents(); - ob_end_clean(); - $search_end=$last_per->last_day(); - } - $end->value = (isset($search_end)) ? $search_end : $last_per->last_day(); - $line.=td(_('Date Fin')) . td($end->input()); - $r.=tr($line); - // Side - $line = td(_('Debit / Credit')); - $iside = new ISelect('side'); - $iside->value = array( - array('label' => _('Debit'), 'value' => 0), - array('label' => _('Credit'), 'value' => 1), - array('label' => _('Les 2'), 'value' => 3) - ); - /** - * - * if $side is not then - * - if jl_id exist and is > 0 show by default all the operation (=3) - * - if jl_id does not exist or is < 0 then show by default the opposite - * side - */ - if (!isset($side)) - { - // find the jl_id of the j_id - $jl_id = $cn->get_value('select comptaproc.get_letter_jnt($1)', array($j_id)); - if ($jl_id == null) - { - // get the other side - $iside->selected = (isset($side)) ? $side : (($row['j_debit'] == 't') ? 1 : 0); - $side = (isset($side)) ? $side : (($row['j_debit'] == 't') ? 1 : 0); - } - else - { - // show everything - $iside->selected = 3; - $side = 3; - } - } - else - { - $iside->selected = $side; - } - - $r.=tr($line . td($iside->input())); - $r.='
      '; - $r.='
      '; - $r.='
      '; - $r.=HtmlInput::submit('search', 'Rechercher'); - $r.='
      '; - $r.='
      '; - $r.='
      '; - - $form = '
      '; - - $form.='
      '; - $form.=dossier::hidden(); - if (isset($_REQUEST['p_action'])) - $form.=HtmlInput::hidden('p_action', $_REQUEST['p_action']); - if (isset($_REQUEST['sa'])) - $form.=HtmlInput::hidden('sa', $_REQUEST['sa']); - if (isset($_REQUEST['acc'])) - $form.=HtmlInput::hidden('acc', $_REQUEST['acc']); - if (isset($_REQUEST['sc'])) - $form.=HtmlInput::hidden('sc', $_REQUEST['sc']); - if (isset($_REQUEST['sb'])) - $form.=HtmlInput::hidden('sb', $_REQUEST['sb']); - if (isset($_REQUEST['f_id'])) - $form.=HtmlInput::hidden('f_id', $_REQUEST['f_id']); - - - // display a list of operation from the other side + box button - if ($ot == 'account') - { - $obj = new Lettering_Account($cn, $row['j_poste']); - if (isset($search_start)) - $obj->start = $search_start; - if (isset($search_end)) - $obj->end = $search_end; - if (isset($max_amount)) - $obj->fil_amount_max = $max_amount; - if (isset($min_amount)) - $obj->fil_amount_min = $min_amount; - if (isset($side)) - $obj->fil_deb = $side; - - $form.=$obj->show_letter($j_id); - } - else if ($ot == 'card') - { - $obj = new Lettering_Card($cn, $row['j_qcode']); - if (isset($search_start)) - $obj->start = $search_start; - if (isset($search_end)) - $obj->end = $search_end; - if (isset($max_amount)) - $obj->fil_amount_max = $max_amount; - if (isset($min_amount)) - $obj->fil_amount_min = $min_amount; - if (isset($side)) - $obj->fil_deb = $side; - $form.=$obj->show_letter($j_id); - } - else - { - $form.=_('Mauvais type objet'); - } - - $form.=HtmlInput::submit('record', _('Sauver')) . $ret->input(); - $form.='
      '; - $form.='
      '; - - $html = $r . $form; - $html.=$date_error; - // echo $html;exit; - $html = escape_xml($html); - - header('Content-type: text/xml; charset=UTF-8'); - echo << - -detail -$html - -EOF; - break; - case 'mod_doc': - require_once NOALYSS_INCLUDE.'/ajax_mod_document.php'; - break; - case 'input_per': - require_once NOALYSS_INCLUDE.'/ajax_mod_periode.php'; - break; - case 'save_per': - require_once NOALYSS_INCLUDE.'/ajax_mod_periode.php'; - break; - case 'mod_predf': - require_once NOALYSS_INCLUDE.'/ajax_mod_predf_op.php'; - break; - case 'save_predf': - require_once NOALYSS_INCLUDE.'/ajax_save_predf_op.php'; - break; - case 'search_op': - require_once NOALYSS_INCLUDE.'/search.inc.php'; - break; - case 'search_action': - require_once NOALYSS_INCLUDE.'/ajax_search_action.php'; - break; - case 'display_profile': - require_once NOALYSS_INCLUDE.'/ajax_get_profile.php'; - break; - case 'det_menu': - require_once NOALYSS_INCLUDE.'/ajax_get_menu_detail.php'; - break; - case 'add_menu': - require_once NOALYSS_INCLUDE.'/ajax_add_menu.php'; - break; - case 'display_submenu': - require_once NOALYSS_INCLUDE.'/ajax_display_submenu.php'; - break; - case 'remove_submenu': - require_once NOALYSS_INCLUDE.'/ajax_remove_submenu.php'; - break; - case 'cardsearch': - require_once NOALYSS_INCLUDE.'/ajax_boxcard_search.php'; - break; - case 'add_plugin': - $me_code = new IText('me_code'); - $me_file = new IText('me_file'); - $me_menu = new IText('me_menu'); - $me_description = new IText("me_description"); - $me_parameter = new IText("me_parameter"); - $new = true; - require_once NOALYSS_INCLUDE.'/ajax_plugin_detail.php'; - break; - case 'mod_plugin': - $m = $cn->get_array("select me_code,me_file,me_menu,me_description,me_parameter - from menu_ref where me_code=$1", array($me_code)); - if (empty($m)) - { - echo HtmlInput::title_box("Ce plugin n'existe pas ", $ctl); - echo "

      Il y a une erreur, ce plugin n'existe pas"; - exit; - } - $me_code = new IText('me_code', $m[0] ['me_code']); - $me_file = new IText('me_file', $m[0] ['me_file']); - $me_menu = new IText('me_menu', $m[0] ['me_menu']); - $me_description = new IText("me_description", $m[0] ['me_description']); - $me_parameter = new IText("me_parameter", $m[0] ['me_parameter']); - $new = false; - require_once NOALYSS_INCLUDE.'/ajax_plugin_detail.php'; - break; - case 'saldo': - require_once NOALYSS_INCLUDE.'/ajax_bank_saldo.php'; - break; - case 'up_predef': - require_once NOALYSS_INCLUDE.'/ajax_update_predef.php'; - break; - case 'upd_receipt': - require_once NOALYSS_INCLUDE.'/ajax_get_receipt.php'; - break; - case 'up_pay_method': - require_once NOALYSS_INCLUDE.'/ajax_update_payment.php'; - break; - case 'openancsearch': - case 'resultancsearch': - require_once NOALYSS_INCLUDE.'/ajax_anc_search.php'; - break; - case 'autoanc': - require_once NOALYSS_INCLUDE.'/ajax_auto_anc_card.php'; - break; - case 'create_menu'; - require_once NOALYSS_INCLUDE.'/ajax_create_menu.php'; - break; - case 'modify_menu'; - require_once NOALYSS_INCLUDE.'/ajax_mod_menu.php'; - break; - case 'mod_stock_repo': - require_once NOALYSS_INCLUDE.'/ajax_mod_stock_repo.php'; - break; - case 'view_mod_stock': - require_once NOALYSS_INCLUDE.'/ajax_view_mod_stock.php'; - break; - case 'fddetail': - require_once NOALYSS_INCLUDE.'/ajax_fiche_def_detail.php'; - break; - case 'vw_action': - require_once NOALYSS_INCLUDE.'/ajax_view_action.php'; - break; - case 'minrow': - require_once NOALYSS_INCLUDE.'/ajax_min_row.php'; - break; - case 'navigator': - require_once NOALYSS_INCLUDE.'/ajax_navigator.php'; - break; - case 'preference': - require_once NOALYSS_INCLUDE.'/ajax_preference.php'; - break; - case 'bookmark': - require_once NOALYSS_INCLUDE.'/ajax_bookmark.php'; - break; - case 'tag_detail': - require_once NOALYSS_INCLUDE.'/ajax_tag_detail.php'; - break; - case 'tag_save': - require_once NOALYSS_INCLUDE.'/ajax_tag_save.php'; - break; - case 'tag_list': - require_once NOALYSS_INCLUDE.'/ajax_tag_list.php'; - break; - case 'tag_add': - require_once NOALYSS_INCLUDE.'/ajax_tag_add_action.php'; - break; - case 'tag_remove': - require_once NOALYSS_INCLUDE.'/ajax_tag_remove_action.php'; - break; - case 'tag_choose': - require_once NOALYSS_INCLUDE.'/ajax_tag_choose.php'; - break; - case 'tag_choose': - require_once NOALYSS_INCLUDE.'/ajax_tag_choose.php'; - break; - case 'search_display_tag': - require_once NOALYSS_INCLUDE.'/ajax_search_display_tag.php'; - break; - case 'search_add_tag': - require_once NOALYSS_INCLUDE.'/ajax_search_add_tag.php'; - break; - case 'search_clear_tag': - require_once NOALYSS_INCLUDE.'/ajax_search_clear_tag.php'; - break; - case 'calendar_zoom': - require_once NOALYSS_INCLUDE.'/ajax_calendar_zoom.php'; - break; - case 'ledger_show': - require_once NOALYSS_INCLUDE.'/ajax_ledger_show.php'; - case 'ledger_description': - $ajrn=$cn->get_array('select jrn_def_name,jrn_def_description from jrn_def where jrn_def_id=$1',array($l)); - if ( count($ajrn)==1) - { - echo '

      '; - echo '

      '.$ajrn[0]['jrn_def_name'].'

      '; - if ( trim($ajrn[0]['jrn_def_description']) != "") { - echo '

      '.$ajrn[0]['jrn_def_description'].'

      '; - } - echo '
      '; - } - exit(); - break; - - case 'anc_key_choice': - /* - * Show the available distribution keys for analytic - */ - require_once NOALYSS_INCLUDE.'/ajax_anc_key_choice.php'; - break; - case 'anc_key_compute': - /* - * Show the activities computed with the selected distribution key - */ - require_once NOALYSS_INCLUDE.'/ajax_anc_key_compute.php'; - break; - case 'account_update': - /** - * update an accounting (from CFGPCMN) - */ - require_once NOALYSS_INCLUDE.'/ajax_account_update.php'; - break; - // From admin, revoke the access to a folder from an - // user - case 'folder_remove': - require_once NOALYSS_INCLUDE.'/ajax_admin.php'; - break; - // From admin, display a list of folder to which the user has - // no access - case 'folder_display': - require_once NOALYSS_INCLUDE.'/ajax_admin.php'; - break; - // From admin, grant the access to a folder to an - // user - case 'folder_add': - require_once NOALYSS_INCLUDE.'/ajax_admin.php'; - break; - - // From admin, display info and propose to drop the folder - case 'folder_drop': - require_once NOALYSS_INCLUDE.'/ajax_admin.php'; - break; - - // From admin, display the information of a folder you can - // modify - case 'folder_modify': - require_once NOALYSS_INCLUDE.'/ajax_admin.php'; - break; - // From admin, display info and propose to drop the template - case 'modele_drop': - require_once NOALYSS_INCLUDE.'/ajax_admin.php'; - break; - - // From admin, display the information of a template you can - // modify - case 'modele_modify': - require_once NOALYSS_INCLUDE.'/ajax_admin.php'; - break; - // From dashboard, display detail about last operation - case 'action_show': - require_once NOALYSS_INCLUDE.'/ajax_gestion.php'; - break; - // From dashboard, display form for a new event - case 'action_add': - require_once NOALYSS_INCLUDE.'/ajax_gestion.php'; - break; - // Save a event given in the short form - case 'action_save': - require_once NOALYSS_INCLUDE.'/ajax_gestion.php'; - break; - default: - var_dump($_GET); -} diff --git a/sources/html/ajax_poste.php b/sources/html/ajax_poste.php deleted file mode 100644 index 13f0e1d..0000000 --- a/sources/html/ajax_poste.php +++ /dev/null @@ -1,206 +0,0 @@ - php jrn - - param c : control for storing the pcm_val -> javascript account - - param l : control for storing the pcm_lib -> javascript label - - param ctl : the node to update (ipopup) - - param q : the acc_query -> javascript query - * - ctl (to return) - * - * - */ -if ( ! defined('ALLOWED')) define ('ALLOWED',1); - -require_once '../include/constant.php'; -require_once NOALYSS_INCLUDE.'/ac_common.php'; -require_once NOALYSS_INCLUDE.'/class_acc_ledger.php'; -require_once NOALYSS_INCLUDE.'/class_database.php'; -require_once NOALYSS_INCLUDE.'/function_javascript.php'; -require_once NOALYSS_INCLUDE.'/class_acc_account_ledger.php'; -mb_internal_encoding("UTF-8"); - -extract($_REQUEST); -$var=array('gDossier','op','ctl'); -$cont=0; -/* check if mandatory parameters are given */ -foreach ($var as $v) -{ - if ( ! isset ($_REQUEST [$v] ) ) - { - echo "$v is not set "; - $cont=1; - } -} -ajax_disconnected($ctl); - -set_language(); - -if ( $cont != 0 ) exit(); -$cn=new Database(dossier::id()); -require_once NOALYSS_INCLUDE.'/class_user.php'; -global $g_user; -$g_user=new User($cn); -$g_user->Check(); -if ($g_user->check_dossier(dossier::id()) == 'X') exit(); -$xml=""; -if ( LOGINPUT) - { - $file_loginput=fopen($_ENV['TMP'].'/scenario-'.$_SERVER['REQUEST_TIME'].'.php','a+'); - fwrite ($file_loginput,"size=30; - $it->value=(isset($q))?$q:''; - $str_poste=$it->input(); - $str_submit=HtmlInput::submit('sf',_('Recherche'),"","smallbutton"); - $r=''; - $r=HtmlInput::anchor_close('search_account'); - $r.='
      '.h2(_('Poste Comptable'),' class="title"').'
      '; - - $r.='
      '; - ob_start(); - require_once NOALYSS_INCLUDE.'/template/account_search.php'; - $r.=ob_get_contents(); - ob_end_clean(); - $r.=dossier::hidden(); - $r.=(isset ($c))?HtmlInput::hidden('account',$c):""; - $r.=(isset ($l))?HtmlInput::hidden('label',$l):""; - $r.=(isset ($j))?HtmlInput::hidden('jrn',$j):""; - $r.=(isset ($nover))?HtmlInput::hidden('nover','1'):""; - $r.=(isset ($nosearch))?HtmlInput::hidden('nosearch','1'):""; - $r.=(isset ($bracket))?HtmlInput::hidden('bracket','1'):""; - - - $r.='
      '; - $sql=" - select pcm_val,pcm_lib,array_to_string(array_agg(j_qcode) , ',') as acode - from tmp_pcmn left join vw_poste_qcode on (j_poste=pcm_val) "; - $sep=" where "; - /* build the sql stmt */ - if ( isset($j) && $j > 0 && isNumber($j)) - { - /* create a filter on the ledger */ - $ledger=new Acc_Account_Ledger($cn,0); - $fd_id=$ledger->build_sql_account($j); - if ( $fd_id != '' ) - { - $sql.=" $sep (".$fd_id.')'; - $sep=" and "; - } - } - /* show result */ - if ( isset($q) && strlen(trim($q)) > 0) - { - $q= sql_string($q); - $sql.=sprintf(" $sep ( pcm_val::text like '%s%%' or pcm_lib::text ilike '%%%s%%') ", - $q,$q); - } - $sql.=' group by pcm_val,pcm_lib,pcm_val_parent, pcm_type order by pcm_val::text limit 50'; - if ( isset($q) && strlen(trim($q))> 0 ) - { - $array=$cn->get_array($sql); - } - if ( ! isset($q) ) $array=array(); - if ( isset($q) && strlen(trim($q))==0) $array=array(); - - /* set the javascript */ - for ($i=0;$i - -$ctl -$xml - -EOF; diff --git a/sources/html/ajax_todo_list.php b/sources/html/ajax_todo_list.php deleted file mode 100644 index e71f29d..0000000 --- a/sources/html/ajax_todo_list.php +++ /dev/null @@ -1,291 +0,0 @@ -check(true); -$g_user->check_dossier(Dossier::id(),true); -set_language(); -ajax_disconnected('add_todo_list'); -//////////////////////////////////////////////////////////////////////////////// -// Display the note -//////////////////////////////////////////////////////////////////////////////// -if (isset($_REQUEST['show'])) -{ - $cn=new Database(dossier::id()); - $todo=new Todo_list($cn); - $todo->set_parameter('id',$_REQUEST['id']); - $todo->load(); - $content=$todo->display(); - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0','UTF-8'); - $tl_id=$dom->createElement('tl_id',$todo->get_parameter('id')); - $tl_content=$dom->createElement('tl_content',$content); - - - $root=$dom->createElement("root"); - - $root->appendChild($tl_id); - $root->appendChild($tl_content); - $dom->appendChild($root); - - echo $dom->saveXML(); - exit(); -} -//////////////////////////////////////////////////////////////////////////////// -// Delete the note -//////////////////////////////////////////////////////////////////////////////// -if (isset($_REQUEST['del'])) -{ - $cn=new Database(dossier::id()); - $todo=new Todo_list($cn); - $todo->set_parameter('id',$_REQUEST['id']); - $todo->delete(); - exit(); -} -$ac=HtmlInput::default_value_get('act', 'save'); - -//////////////////////////////////////////////////////////////////////////////// -// Save the modification of a note -//////////////////////////////////////////////////////////////////////////////// -if ($ac == 'save') -{ - - $cn=new Database(dossier::id()); - $todo=new Todo_List($cn); - $id=HtmlInput::default_value_get("id", 0); - $todo->set_parameter("id",$id); - if ($id <> 0 ) { $todo->load(); } - else - { - $todo->set_parameter("owner", $_SESSION['g_user']); - } - - $todo->set_parameter("date", HtmlInput::default_value_get("p_date_todo", "")); - $todo->set_parameter("title", HtmlInput::default_value_get("p_title", "")); - $todo->set_parameter("desc", HtmlInput::default_value_get("p_desc", "")); - $todo->set_is_public(HtmlInput::default_value_get("p_public", "N")); - - if ( $todo->get_parameter('owner') == $_SESSION['g_user'] ) $todo->save(); - $todo->load(); - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0','UTF-8'); - $tl_id=$dom->createElement('tl_id',$todo->get_parameter('id')); - $tl_content=$dom->createElement('row',$todo->display_row('class="odd"','N')); - $root=$dom->createElement("root"); - $todo_class=$todo->get_class(); - $todo_class=($todo_class=="")?' odd ':$todo_class; - $class=$dom->createElement("style",$todo_class); - - $root->appendChild($tl_id); - $root->appendChild($tl_content); - $root->appendChild($class); - $dom->appendChild($root); - - echo $dom->saveXML(); - exit(); -} - -//////////////////////////////////////////////////////////////////////////////// -// Display a list to select the user with who we want to share notes -//////////////////////////////////////////////////////////////////////////////// -if ($ac=='shared_note') -{ - $id=HtmlInput::default_value_get("todo_id", -1); - // If note_id is not correct then give an error - if ($id==-1||isNumber($id)==0) - { - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $tl_id=$dom->createElement('content', _("Erreur : note invalide")); - $dom->appendChild($tl_id); - echo $dom->saveXML(); - return; - } - if ($id==0) - { - ob_start(); - echo HtmlInput::title_box(_('Liste utilisateurs'), "shared_{$id}"); - echo '

      '; - echo _("Vous devez d'abord sauver"); - echo '

      '; - echo '

      '; - echo HtmlInput::submit('close'.$id, 'Ferme'," onclick=\"\$('shared_{$id}').remove();\""); - echo '

      '; - $result=ob_get_clean(); - // - // output the XML - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $tl_id=$dom->createElement('content', escape_xml($result)); - $dom->appendChild($tl_id); - echo $dom->saveXML(); - return; - } - $todo=new Todo_List($cn); - $todo->set_parameter("id", $id); - $todo->load(); - if ($g_user->login!=$todo->get_parameter("owner")) - { - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $tl_id=$dom->createElement('content', _("Cette note n'est pas à vous")); - $dom->appendChild($tl_id); - echo $dom->saveXML(); - return; - } - if ($g_user->check_action(SHARENOTE)== 0) - { - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $tl_id=$dom->createElement('content', _("Accès interdit")); - $dom->appendChild($tl_id); - echo $dom->saveXML(); - return; - } - ob_start(); - echo HtmlInput::title_box(_('Liste utilisateurs'), "shared_".$id); - $todo->display_user(); - echo '

      '; - echo HtmlInput::submit('close'.$id, 'Ferme'," onclick=\"\$('shared_{$id}').remove();\""); - echo '

      '; - $result=ob_get_clean(); - // - // output the XML - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $tl_id=$dom->createElement('content', escape_xml($result)); - $dom->appendChild($tl_id); - echo $dom->saveXML(); - return; -} -//////////////////////////////////////////////////////////////////////////////// -// Share the note with someone or remove it -//////////////////////////////////////////////////////////////////////////////// -if ( $ac=="set_share") -{ - $id=HtmlInput::default_value_get("todo_id", 0); - $p_login=HtmlInput::default_value_get("login",""); - // If note_id is not correct then give an error - if ($id==0||isNumber($id)==0 || trim ($p_login)=="") - { - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $tl_id=$dom->createElement('content', _("Erreur : paramètre invalide")); - $dom->appendChild($tl_id); - echo $dom->saveXML(); - return; - } - $todo=new Todo_List($cn); - $todo->set_parameter("id", $id); - $todo->load(); - if ($g_user->login!=$todo->get_parameter("owner")) - { - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $tl_id=$dom->createElement('content', _("Cette note n'est pas à vous")); - $dom->appendChild($tl_id); - echo $dom->saveXML(); - return; - } - if ($g_user->login!=$todo->get_parameter("owner")) - { - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $tl_id=$dom->createElement('content', _("Cette note n'est pas à vous")); - $dom->appendChild($tl_id); - echo $dom->saveXML(); - return; - } - if ($g_user->check_action(SHARENOTE)== 0) - { - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $tl_id=$dom->createElement('content', _("Accès interdit")); - $dom->appendChild($tl_id); - echo $dom->saveXML(); - return; - } - if ( $todo->is_shared_with($p_login) == 0 ) - { - // Add a share to the user - $todo->add_share($p_login); - - } else { - // remove a share from the user - $todo->remove_share($p_login); - } -} -//////////////////////////////////////////////////////////////////////////////// -// Remove the share of a note which the connected user doesn't own -// -//////////////////////////////////////////////////////////////////////////////// -if ( $ac=="remove_share") -{ - $id=HtmlInput::default_value_get("todo_id", 0); - $p_login=HtmlInput::default_value_get("login",""); - // If note_id is not correct then give an error - if ($id==0||isNumber($id)==0 || trim ($p_login)=="") - { - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $status=$dom->createElement('status', "nok"); - $tl_id=$dom->createElement('content', _("Erreur : paramètre invalide")); - $dom->appendChild($status); - $dom->appendChild($tl_id); - echo $dom->saveXML(); - return; - } - $todo=new Todo_List($cn); - $todo->set_parameter("id", $id); - $todo->load(); - $todo->remove_share($p_login); - - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $status=$dom->createElement('status', "ok"); - $dom->appendChild($status); - echo $dom->saveXML(); - return; -} \ No newline at end of file diff --git a/sources/html/backup.php b/sources/html/backup.php deleted file mode 100644 index 127a5a0..0000000 --- a/sources/html/backup.php +++ /dev/null @@ -1,99 +0,0 @@ -Check(); - - -if ($User->admin != 1) -{ - echo ""; - return; -} -$dossier_number=HtmlInput::default_value_request("d", 0); -if ($dossier_number == 0 - || isNumber($dossier_number) ==0 ) { - die ('Invalid folder number'); -} -/*!\file - * \brief Make and restore backup - */ -if ( isset ($_REQUEST['sa']) ) -{ - if ( defined ('PG_PATH') ) - putenv("PATH=".PG_PATH); - - - if ( ! isset($_REQUEST['t'])) - { - echo "Erreur : paramètre manquant "; - exit(); - } - - $sa=$_REQUEST['sa']; - // backup - if ( $sa=='b') - { - $cmd=escapeshellcmd (PG_DUMP); - if ( defined ("noalyss_user")) - { - putenv("PGPASSWORD=".noalyss_password); - putenv("PGUSER=".noalyss_user); - putenv("PGHOST=".noalyss_psql_host); - putenv("PGPORT=".noalyss_psql_port); - }else if (defined ("phpcompta_user")) - { - putenv("PGPASSWORD=".phpcompta_password); - putenv("PGUSER=".phpcompta_user); - putenv("PGHOST=".phpcompta_psql_host); - putenv("PGPORT=".phpcompta_psql_port); - } else { - die ('Aucune connection'); - } - - if ( $_REQUEST['t'] == 'd' ) - { - $database=domaine."dossier".$dossier_number; - $args= " -Fc -Z9 --no-owner -h ".getenv("PGHOST")." -p ".getenv("PGPORT")." ".$database; - header('Content-type: application/octet'); - header('Content-Disposition:attachment;filename="'.$database.'.bin"',FALSE); - - passthru ($cmd.$args,$a); - - } - - if ( $_REQUEST['t'] == 'm' ) - { - $database=domaine."mod".$dossier_number; - $args= " -Fc -Z9 --no-owner -h ".getenv("PGHOST")." -p ".getenv("PGPORT")." ".$database; - header('Content-type: bin/x-application'); - header('Content-Disposition: attachment;filename="'.$database.'.bin"',FALSE); - $a=passthru ($cmd.$args); - } - } -} - diff --git a/sources/html/calendar-blue.css b/sources/html/calendar-blue.css deleted file mode 100644 index c7bb87f..0000000 --- a/sources/html/calendar-blue.css +++ /dev/null @@ -1,233 +0,0 @@ -/* The main calendar widget. DIV containing a table. */ - -div.calendar { position: relative; z-index:13; } - -.calendar, .calendar table { - border: 1px solid #556; - font-size: 11px; - color: #000; - cursor: default; - background: #eef; - font-family: tahoma,verdana,sans-serif; -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; /* They are the navigation buttons */ - padding: 2px; /* Make the buttons seem like they're pressing */ - border-radius: 0px; -} - -.calendar .nav { - background: #778 url(menuarrow.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; /* Pressing it will take you to the current date */ - text-align: center; - background: #fff; - color: #000; - padding: 2px; -} - -.calendar thead .headrow { /* Row containing navigation buttons */ - background: #778; - color: #fff; -} - -.calendar thead .daynames { /* Row containing the day names */ - background: #bdf; -} - -.calendar thead .name { /* Cells containing the day names */ - border-bottom: 1px solid #556; - padding: 2px; - text-align: center; - color: #000; -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #a66; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - background-color: #aaf; - color: #000; - border: 1px solid #04f; - padding: 1px; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - background-color: #77c; - padding: 2px 0px 0px 2px; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells containing month days dates */ - width: 2em; - color: #456; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 80%; - color: #bbb; -} -.calendar tbody .day.othermonth.oweekend { - color: #fbb; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid #000; - background: #bdf; -} - -.calendar tbody .rowhilite td { - background: #def; -} - -.calendar tbody .rowhilite td.wn { - background: #eef; -} - -.calendar tbody td.hilite { /* Hovered cells */ - background: #def; - padding: 1px 3px 1px 1px; - border: 1px solid #bbb; -} - -.calendar tbody td.active { /* Active (pressed) cells */ - background: #cde; - padding: 2px 2px 0px 2px; -} - -.calendar tbody td.selected { /* Cell showing today date */ - font-weight: bold; - border: 1px solid #000; - padding: 1px 3px 1px 1px; - background: #fff; - color: #000; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #a66; -} - -.calendar tbody td.today { /* Cell showing selected date */ - font-weight: bold; - color: #00f; -} - -.calendar tbody .disabled { color: #999; } - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The in footer (only one right now) */ - text-align: center; - background: #556; - color: #fff; -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell */ - background: #fff; - color: #445; - border-top: 1px solid #556; - padding: 1px; -} - -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - background: #aaf; - border: 1px solid #04f; - color: #000; - padding: 1px; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - background: #77c; - padding: 2px 0px 0px 2px; -} - -/* Combo boxes (menus that display months/years for direct selection) */ - -.calendar .combo { - position: absolute; - display: none; - top: 0px; - left: 0px; - width: 4em; - cursor: default; - border: 1px solid #655; - background: #def; - color: #000; - font-size: 90%; - z-index: 100; -} - -.calendar .combo .label, -.calendar .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.calendar .combo .label-IEfix { - width: 4em; -} - -.calendar .combo .hilite { - background: #acf; -} - -.calendar .combo .active { - border-top: 1px solid #46a; - border-bottom: 1px solid #46a; - background: #eef; - font-weight: bold; -} - -.calendar td.time { - border-top: 1px solid #000; - padding: 1px 0px; - text-align: center; - background-color: #f4f0e8; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #889; - font-weight: bold; - background-color: #fff; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; - font-weight: bold; -} - -.calendar td.time span.hilite { - border-color: #000; - background-color: #667; - color: #fff; -} - -.calendar td.time span.active { - border-color: #f00; - background-color: #000; - color: #0f0; -} diff --git a/sources/html/compute.php b/sources/html/compute.php deleted file mode 100644 index 8e5d441..0000000 --- a/sources/html/compute.php +++ /dev/null @@ -1,88 +0,0 @@ -Check(); -// Retrieve the rate of vat, it $t == -1 it means no VAT -if ( $t != -1 && isNumber($t) == 1 ) -{ - $tva_rate=new Acc_Tva($cn); - $tva_rate->set_parameter('id',$t); - /** - *if the tva_rate->load failed we don't compute tva - */ - if ( $tva_rate->load() != 0 ) - { - $tva_rate->set_parameter('rate',0); - } -} - -$total=new Acc_Compute(); -bcscale(4); -$amount=round(bcmul($p,$q),2); -$total->set_parameter('amount',$amount); -if ( $t != -1 && isNumber($t) == 1 ) -{ - $total->set_parameter('amount_vat_rate',$tva_rate->get_parameter('rate')); - $total->compute_vat(); - if ($tva_rate->get_parameter('both_side')== 1) $total->set_parameter('amount_vat', 0); - $tvac=($tva_rate->get_parameter('rate') == 0 || $tva_rate->get_parameter('both_side')== 1) ? $amount : bcadd($total->get_parameter('amount_vat'),$amount); - header("Content-type: text/html; charset: utf8",true); - echo '{"ctl":"'.$n.'","htva":"'.$amount.'","tva":"'.$total->get_parameter('amount_vat').'","tvac":"'.$tvac.'"}'; -} -else -{ - /* there is no vat to compute */ - header("Content-type: text/html; charset: utf8",true); - echo '{"ctl":"'.$n.'","htva":"'.$amount.'","tva":"NA","tvac":"'.$amount.'"}'; -} -?> - diff --git a/sources/html/direct.php b/sources/html/direct.php deleted file mode 100644 index 12f0e80..0000000 --- a/sources/html/direct.php +++ /dev/null @@ -1,44 +0,0 @@ -Check(); -$g_user->check_dossier($_GET['gDossier']); -$res=$cn->exec_sql("select distinct code,description from get_profile_menu($1) where code ~* $2 or description ~* $3 order by code limit 5 ",array($g_user->get_profile(),$_POST['acs'],$_POST['acs'])); -$nb=Database::num_row($res); - echo "
        "; -for ($i = 0;$i< $nb;$i++) -{ - $row=Database::fetch_array($res,$i); - echo "
      • "; - echo $row['code']; - echo ' '.$row['description'].'
      • '; -} - echo "
      "; -if ( $nb == 0 ) { - echo _('Aucune correspondance'); -} -?> diff --git a/sources/html/do.php b/sources/html/do.php deleted file mode 100644 index 6354d60..0000000 --- a/sources/html/do.php +++ /dev/null @@ -1,281 +0,0 @@ -"._('Vous êtes déconnecté').""; - $backurl=$_SERVER['REQUEST_URI']; - $url="index.php?".http_build_query(array('reconnect'=>1,'backurl'=>urlencode($backurl))); - redirect($url); - exit(); - - } -$style_user=HtmlInput::default_value_post("style_user",$_SESSION['g_theme']); - -html_page_start($style_user); -if ( DEBUG ) { - ?> - - - - -exist_table('version')) { - echo '

      '._('Désolé').'

      '; - echo _('Ce dossier est vide'); - echo '

      '; - echo ''._("Retour à l'accueil").''; - echo '

      '; - return; -} - -$g_user = new User($cn); - -$g_parameter=new Own($cn); - -load_all_script(); -/* Check Browser version if < IE6 then unsupported */ -$browser = $_SERVER['HTTP_USER_AGENT']; -if (strpos($browser, 'MSIE 6') != false || - strpos($browser, 'MSIE 5') != false) -{ - - - echo << -
      -
      Close this notice
      -
      -
      Warning!
      -
      -
      Vous utilisez un navigateur dépassé depuis près de 8 ans!
      -
      Pour une meilleure expérience web, prenez le temps de mettre votre navigateur à jour.
      -
      -
      Get Firefox 3.5
      -
      Get Safari 4
      -
      Get Google Chrome
      -
      -
      - -EOF; - exit(); -} -if ($cn->exist_table('version') == false) -{ - echo '

      ' . _("Base de donnée invalide") . '

      '; - $base = dirname($_SERVER['REQUEST_URI']); - echo HtmlInput::button_anchor('Retour', $base . '/user_login.php'); - exit(); -} -if (DBVERSION < dossier::get_version($cn)) -{ - echo '

      ' . _("Attention: la version de base de donnée est supérieure à la version du programme, vous devriez mettre à jour") . '

      '; -} -if (DBVERSION > dossier::get_version($cn)) -{ - echo '

      ' . _("Votre base de données n'est pas à jour") . ' '; - $a = _("cliquez ici pour appliquer le patch"); - $base = dirname($_SERVER['REQUEST_URI']); - if ($base == '/') { $base = ''; } - $base .= '/admin/setup.php'; - echo '' . $a . '

      '; -} - -/* - * Set a correct periode for the user - */ -$periode = $g_user->get_periode(); -$oPeriode = new Periode($cn, $periode); - -if ($oPeriode->load() == -1) -{ - $periode = $cn->get_value('select p_id from parm_periode order by p_start asc limit 1'); - $g_user->set_periode($periode); -} - -$module_selected = -1; - -/* - * Set the user preference - */ -if ( isset ($_POST['set_preference'])) { - //// Save value - extract($_POST); - - if (strlen(trim($pass_1)) != 0 && strlen(trim($pass_2)) != 0) - { - $g_user->save_password($pass_1,$pass_2); - - } - $g_user->set_periode($period); - $g_user->save_global_preference('THEME', $style_user); - $g_user->save_global_preference('LANG', $lang); - $g_user->save_global_preference('PAGESIZE', $p_size); - $g_user->set_mini_report($minirap); - $_SESSION['g_theme']=$style_user; - $_SESSION['g_pagesize']=$p_size; - $_SESSION['g_lang']=$lang; - $g_user->save_email($p_email); -} - -/* - * if an action is requested - */ -if (isset($_REQUEST['ac'])) -{ - // When debugging save all the input in a file - if ( LOGINPUT) - { - $file_loginput=fopen($_ENV['TMP'].'/scenario-'.$_SERVER['REQUEST_TIME'].'.php','a+'); - $tmp_ac=explode('/',trim(strtoupper($_REQUEST['ac']))); - $last=count($tmp_ac); - if ($last > 0) $last--; - fwrite ($file_loginput,"get_profile(); - - - $amenu_id=$cn->get_array('select - pm_id_v3,pm_id_v2,pm_id_v1 - from v_menu_profile where code= upper($1) and p_id=$2', - array($AC,$user_profile)); - try { - if ( count($amenu_id) != 1 ) { - // if AC is a simple code and this menu can be accessed - // we should find the first menu which used it and change the - // request AC to it - $pm_id=$cn->get_array('select pm_id from profile_menu ' - . ' where lower(me_code)=lower($1) and p_id=$2', - array($AC,$user_profile)); - if ( count($pm_id) > 0 ) { - show_menu($pm_id[0]['pm_id']); - } else { - throw new Exception(_('Erreur menu'),10); - } - } - - $module_id=$cn->get_value('select case when pm_id_v3 = 0 then (case when pm_id_v2 = 0 then pm_id_v1 else pm_id_v2 end) else pm_id_v3 end - from v_menu_profile where p_id=$1 and upper(code)=upper($2)', - array($user_profile,$AC)); - $g_user->audit(); - // Show module and highligt selected one - show_module($module_id); - show_menu( $amenu_id[0]['pm_id_v3']); - show_menu( $amenu_id[0]['pm_id_v2']); - show_menu($amenu_id[0]['pm_id_v1']); - } catch (Exception $e) { - if ( $e->getCode() == 10 ) { - alert(_('Accès menu impossible')); - } - else { - alert($e->getTraceAsString()); - } - } -} -else -{ - $default = find_default_module(); - $user_profile=$g_user->get_profile(); - - if ( $user_profile == "" ) - throw new Exception (_('Aucun profil utilisateur')); - - $menu_id=$cn->get_value('select - case when pm_id_v3 = 0 then - (case when pm_id_v2 = 0 then pm_id_v1 else pm_id_v2 end) - else pm_id_v3 end - from v_menu_profile where code= upper($1) and p_id=$2', - array($default,$user_profile)); - $_GET['ac']=$default; - $_POST['ac']=$default; - $_REQUEST['ac']=$default; - show_module($menu_id); - $all[0] = $default; - show_menu($menu_id); -} - - diff --git a/sources/html/document/fr_be/bnb.form b/sources/html/document/fr_be/bnb.form deleted file mode 100644 index ba7c6d8..0000000 --- a/sources/html/document/fr_be/bnb.form +++ /dev/null @@ -1,198 +0,0 @@ -# Les postesg*(-1) - $C10=round([10%s],2)*(-1) - $C100=round([100%s],2)*(-1) - $C101=round([101%s],2) - $C11=round([11%s],2)*(-1) - $C12=round([12%s],2)*(-1) - $C13=round([13%s],2)*(-1) - $C130=round([130%s],2)*(-1) - $C131=round([131%s],2)*(-1) - $C1310=round([1310%s],2)*(-1) - $C1311=round([1311%s],2)*(-1) - $C132=round([132%s],2)*(-1) - $C133=round([133%s],2)*(-1) - $C14=round([14%s],2)*(-1) - $C140=round([140%s],2)*(-1) - $C141=round([141%s],2) - $C15=round([15%s],2)*(-1) - $C16=round([16%s],2)*(-1) - $C160=round([160%s],2)*(-1) - $C161=round([161%s],2)*(-1) - $C162=round([162%s],2)*(-1) - $C163=round([163%s],2)*(-1) - $C164=round([164%s],2)*(-1) - $C165=round([165%s],2)*(-1) - $C168=round([168%s],2)*(-1) -$C17=round([17%s],2)*(-1) - $C170=round([170%s],2)*(-1) - $C171=round([171%s],2)*(-1) - $C172=round([172%s],2)*(-1) - $C173=round([173%s],2)*(-1) - $C174=round([174%s],2)*(-1) - $C175=round([175%s],2)*(-1) - $C176=round([176%s],2)*(-1) - $C178=round([178%s],2)*(-1) - $C179=round([179%s],2)*(-1) -$C2=round([2%s],2)*(-1) - $C20=round([20%s],2) - $C21=round([21%s],2) - $C22=round([22%s],2) - $C23=round([23%s],2) - $C24=round([24%s],2) - $C25=round([25%s],2) - $C26=round([26%s],2) - $C27=round([27%s],2) - $C28=round([28%s],2) - $C29=round([29%s],2) - $C290=round([290%s],2) - $C291=round([291%s],2) -$C3=round([3%s],2) - $C30=round([30%s],2) - $C31=round([31%s],2) - $C32=round([32%s],2) - $C33=round([33%s],2) - $C34=round([34%s],2) - $C35=round([35%s],2) - $C36=round([36%s],2) - $C37=round([37%s],2) - $C40=round([40%s],2) - $C41=round([41%s],2) - $C42=round([42%s],2)*(-1) - $C43=round([43%s],2)*(-1) - $C439=round([439%s],2)*(-1) - $C44=round([44%s],2)*(-1) - $C440=round([440%s],2)*(-1) - $C441=round([441%s],2)*(-1) - $C444=round([444%s],2)*(-1) - $C45=round([45%s],2)*(-1) - $C450=round([450%s],2)*(-1) - $C451=round([451%s],2)*(-1) - $C452=round([452%s],2)*(-1) - $C453=round([453%s],2)*(-1) - $C454=round([454%s],2)*(-1) -$C455=round([455%s],2)*(-1) -$C456=round([456%s],2)*(-1) -$C457=round([457%s],2)*(-1) -$C458=round([458%s],2)*(-1) - $C459=round([459%s],2)*(-1) - $C46=round([46%s],2) - $C47=round([47%s],2)*(-1) - $C48=round([48%s],2)*(-1) - $C49=round([49%s],2) - $C490=round([490%s],2) - $C491=round([491%s],2) - $C492=round([492%s],2)*(-1) - $C493=round([493%s],2)*(-1) - $C50=round([50%s],2) - $C51=round([51%s],2) - $C52=round([52%s],2) - $C53=round([53%s],2) - $C54=round([54%s],2) - $C55=round([55%s],2) - $C56=round([56%s],2) - $C57=round([57%s],2) - $C58=round([58%s],2) - $C60=round([60%s],2) - $C61=round([61%s],2) - $C62=round([62%s],2) - $C63=round([63%s],2) -$C630=round([630%s],2) -$C631=round([631%s],2) -$C632=round([632%s],2) -$C633=round([633%s],2) -$C634=round([634%s],2) -$C635=round([635%s],2) -$C636=round([636%s],2) -$C637=round([637%s],2) - - $C649=round([649%s],2)*(-1) - $C64=round([64%s],2) - - $C65=round([65%s],2) - $C66=round([66%s],2) - $C67=round([67%s],2) - $C68=round([68%s],2) - $C680=round([680%s],2) -$C689=round([689%s],2) - $C69=round([69%s],2) - $C690=round([690%s],2) - $C691=round([691%s],2) - $C692=round([692%s],2) - $C6920=round([6920%s],2) - $C6921=round([6921%s],2) - $C693=round([693%s],2) - $C694=round([694%s],2) - $C695=round([695%s],2) - $C696=round([696%s],2) - -$C7=round([7%s],2)*(-1) - $C70=round([70%s],2)*(-1) - $C71=round([71%s],2)*(-1) - $C73=round([73%s],2)*(-1) - $C72=round([72%s],2)*(-1) - $C74=round([74%s],2)*(-1) - $C75=round([75%s],2)*(-1) - $C76=round([76%s],2)*(-1) - $C77=round([77%s],2)*(-1) -$C780=round([780%s],2)*(-1) -$C789=round([789%s],2)*(-1) - $C79=round([79%s],2)*(-1) -$C790=round([790%s],2)*(-1) -$C791=round([791%s],2)*(-1) -$C792=round([792%s],2)*(-1) -$C793=round([793%s],2)*(-1) -$C794=round([794%s],2)*(-1) -# Les formules (*-1) -# -$S1=abs($C2-$C29) -$S2=$C22+$C23+$C24+$C25+$C26+$C27 -$S4=$C30+$C31+$C32+$C33+$C34+$C35+$C36 -$S3=$C29+$C50+$C51+$C52+$C53+$C54+$C55+$C56+$C57+$C58+$C490+$C491+$C41+$C40+$S4 - -$S5=$C40+$C41 -$S6=$C50+$C51+$C52+$C53 -$S7=$C54+$C55+$C56+$C57+$C58 -$S8=$C490+$C491 -$S9=$S1+$S3 -$S10=$C10+$C11+$C12+$C13+$C14+$C15 -$S11=$C160+$C161+$C162+$C163+$C164+$C165 -$S12=$C17+$C42+$C43+$C44+$C45+$C46+$C47+$C48+$C492+$C493 -$S13=$C170+$C171+$C172+$C173+$C174 -$S14=$C172+$C173 -$S15=$C178+$C179 -$S16=$C42+$C43+$C44+$C45+$C46+$C47+$C48 -$S17=$C43-$C439 -$S18=$C440+$C444 -$S19=$C450+$C451+$C452+$C453 -$S20=$C454+$C455+$C456+$C457+$C458+$C459 -$S21=$C47+$C48 -$S22=$C492+$C493 -$S23=$C10+$C11+$C12+$C13+$C14+$C15+$C16+$C17+$C42+$C43+$C44+$C45+$C46+$C47+$C48+$C492+$C493 -$S24=$C60+$C61 -$S25=($C70+$C73+$C74-$C60-$C61>=0)?$C70+$C73+$C74-$C60-$C61:0 -$S26=($C70+$C73+$C74-$C60<0)?$C70+$C73+$C74-$C60-$C61:0 -$S27=$C631+$C632+$C633+$C634 -$S28=$C635+$C636+$C637 -$S29=abs($C64)-$C649 -$F1=$C70+$C73+$C74+$C649-$S29-$C60-$C63-$C61-$C62 -$S30=($F1>=0)?$F1:0 -$S31=($F1<=0)?$F1*(-1):0 -$F3=$F1-$C65+$C75 -$S32=($F3>=0)?$F3:0 -$S33=($F3<0)?$F3*(-1):0 -$F4=$F3-$C66+$C76 -$S34=($F4>=0)?$F4:0 -$S35=($F4<0)?$F4*(-1):0 -$F5=$F4+$C77-$C67 -$S36=($F5>=0)?$F5:0 -$S37=($F5<0)?$F5*(-1):0 -$S38=$C77-$C67 -$F6=$F5-$C689+$C789 -$S39=($F6>=0)?$F6:0 -$S40=($F6<0)?$F6*(-1):0 -$S41=$C791+$C792 -$S42=$C691+$C692 -$S43=$C694+$C695+$C696 -$F7=$F6-$C690+$C790 -$S44=($F7>=0)?$F7:0 -$S45=($F7<0)?$F7*(-1):0 diff --git a/sources/html/document/fr_be/bnb.rtf b/sources/html/document/fr_be/bnb.rtf deleted file mode 100644 index 90b4d53..0000000 --- a/sources/html/document/fr_be/bnb.rtf +++ /dev/null @@ -1,488 +0,0 @@ -{\rtf1\ansi\deff3\adeflang1025 -{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset128 Liberation Serif{\*\falt Times New Roman};}{\f4\froman\fprq0\fcharset128 Nimbus Sans L{\*\falt Arial};}{\f5\froman\fprq0\fcharset128 Times New Roman;}{\f6\fswiss\fprq0\fcharset128 Nimbus Sans L{\*\falt Arial};}{\f7\froman\fprq0\fcharset128 Times{\*\falt Times New Roman};}{\f8\froman\fprq0\fcharset128 Arial;}{\f9\fnil\fprq0\fcharset128 Arial;}{\f10\fnil\fprq0\fcharset128 Times{\*\falt Times New Roman};}{\f11\fnil\fprq0\fcharset128 WenQuanYi Micro Hei;}{\f12\fnil\fprq0\fcharset128 Times New Roman;}{\f13\fnil\fprq0\fcharset128 Lohit Hindi;}{\f14\fnil\fprq0\fcharset128 Arial Unicode MS;}{\f15\fnil\fprq0\fcharset128 AR PL ShanHeiSun Uni;}{\f16\fnil\fprq0\fcharset128 Nimbus Sans L{\*\falt Arial};}} -{\colortbl;\red0\green0\blue0;\red128\green128\blue128;} -{\stylesheet{\s0\snext0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033 Standard;} -{\s15\sbasedon0\snext16\ql\widctlpar\sb240\sa120\keepn\ltrpar\cf0\kerning1\hich\af11\langfe255\dbch\af15\afs28\alang1081\loch\f6\fs28\lang1033 Titre;} -{\s16\sbasedon0\snext16\ql\widctlpar\sb0\sa120\ltrpar\cf0\kerning1\hich\af10\langfe255\dbch\af12\afs24\alang1081\loch\f5\fs24\lang1036 Corps de texte;} -{\s17\sbasedon16\snext17\ql\widctlpar\sb0\sa120\ltrpar\cf0\kerning1\hich\af10\langfe255\dbch\af12\afs24\alang1081\loch\f5\fs24\lang1036 Liste;} -{\s18\sbasedon0\snext18\ql\widctlpar\sb120\sa120\noline\ltrpar\cf0\i\kerning1\hich\af10\langfe255\dbch\af13\afs24\alang1081\ai\loch\f5\fs24\lang1033 L\u233\'3fgende;} -{\s19\sbasedon0\snext19\ql\widctlpar\noline\ltrpar\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033 Index;} -{\s20\sbasedon0\snext20\ql\widctlpar\sb120\sa120\ltrpar\cf0\i\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\ai\loch\f5\fs24\lang1033 caption;} -{\s21\sbasedon0\snext21\ql\widctlpar\sb240\sa120\keepn\ltrpar\cf0\kerning1\hich\af10\langfe255\dbch\af16\afs28\alang1081\loch\f4\fs28\lang1033 WW-Heading;} -{\s22\sbasedon0\snext22\ql\widctlpar\sb120\sa120\ltrpar\cf0\i\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\ai\loch\f7\fs24\lang1033 WW-caption;} -{\s23\sbasedon0\snext23\ql\widctlpar\ltrpar\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033 WW-Index;} -{\s24\sbasedon0\snext24\ql\widctlpar\sb120\sa120\ltrpar\cf0\i\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\ai\loch\f7\fs24\lang1033 WW-caption1;} -{\s25\sbasedon0\snext25\ql\widctlpar\sb120\sa120\ltrpar\cf0\i\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\ai\loch\f5\fs24\lang1033 WW-caption11;} -{\s26\sbasedon0\snext26\ql\widctlpar\sb240\sa120\keepn\ltrpar\cf0\kerning1\hich\af10\langfe255\dbch\af16\afs28\alang1081\loch\f4\fs28\lang1033 WW-Heading1;} -{\s27\sbasedon0\snext27\ql\widctlpar\sb120\sa120\ltrpar\cf0\i\kerning1\hich\af10\langfe255\dbch\af12\afs20\alang1081\ai\loch\f5\fs20\lang1036 WW-caption111;} -{\s28\sbasedon0\snext28\ql\widctlpar\ltrpar\cf0\kerning1\hich\af10\langfe255\dbch\af12\afs24\alang1081\loch\f5\fs24\lang1036 WW-Index1;} -{\s29\sbasedon0\snext29\ql\widctlpar\sb120\sa120\ltrpar\cf0\i\kerning1\hich\af10\langfe255\dbch\af12\afs20\alang1081\ai\loch\f5\fs20\lang1036 WW-caption1111;} -{\s30\sbasedon0\snext30\ql\widctlpar\tqc\tx4320\tqr\tx8640\noline\ltrpar\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033 En-t\u234\'3fte;} -{\s31\sbasedon0\snext31\ql\widctlpar\tqc\tx4320\tqr\tx8640\ltrpar\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033 WW-header;} -{\s32\sbasedon0\snext32\ql\widctlpar\tqc\tx4320\tqr\tx8640\ltrpar\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033 WW-header1;} -}{\info{\creatim\yr2008\mo4\dy1\hr15\min27}{\revtim\yr1601\mo1\dy1\hr0\min0}{\printim\yr1601\mo1\dy1\hr0\min0}{\comment LibreOffice}{\vern3500}}\deftab709 - -{\*\pgdsctbl -{\pgdsc0\pgdscuse195\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1700\headery1134\margbsxn1134{\header\pard\plain \s30\ql\widctlpar\tqc\tx4320\tqr\tx8640\noline\ltrpar\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tqc\tx4320\tqc\tx4818\tqr\tx8640\tqr\tx9637{\cf1\i0\b0\kerning1\hich\af10\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033 -<
      >} -\par }\pgdscnxt0 Standard;}} -\formshade{\*\pgdscno0}\paperh16838\paperw11906\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\sectunlocked1\pgndec\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1700\headery1134\margbsxn1134{\header\pard\plain \s30\ql\widctlpar\tqc\tx4320\tqr\tx8640\noline\ltrpar\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tqc\tx4320\tqc\tx4818\tqr\tx8640\tqr\tx9637{\cf1\i0\b0\kerning1\hich\af10\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033 -<
      >} -\par }\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc -\pgndec\pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\qc\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af10\langfe255\dbch\af9\afs28\alang1025\ab\rtlch \ltrch\loch\fs28\lang1033\loch\f8 -ACTIF} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs20\alang1025\ab\rtlch \ltrch\loch\fs20\lang1033\loch\f8 -\tab ACTIFS IMMOBILISES \tab 20/28 \tab <<$S1>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -I Frais d'\u233\'e9tablissement}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 - \tab 20}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 - \tab <<$C20>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -II Immobilisations incorporelles }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(annexe I, A) \tab 21 \tab <<$C21>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -III Immobilisations corporelles }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(ann I, B) \tab 22/27 \tab <<$S2>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab A Terrains et constructions \tab 22 \tab <<$C22>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab B Installations, machines et outillage \tab 23 \tab <<$C23>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab C Mobilier et mat\u233\'e9riel roulant \tab 24 \tab <<$C24>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab D Location-financement et droits similaires \tab 25 \tab <<$C25>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab E Autres immobilisations corporelles \tab 26 \tab <<$C26>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab F Immobilisations en cours et acomptes vers\u233\'e9s \tab 27 \tab <<$C27>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -IV Immobilisations financi\u232\'e8res }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(ann I, C et II) \tab 28 \tab <<$C28>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs20\alang1025\ab\rtlch \ltrch\loch\fs20\lang1033\loch\f8 -\tab ACTIFS CIRCULANTS \tab 29/58\tab <<$S3>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -V Cr\u233\'e9ances \u224\'e0 plus d'un an \tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -\tab <<$C29>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab A Cr\u233\'e9ances commerciales \tab 290 \tab <<$C290>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab B Autres cr\u233\'e9ances \tab 291\tab <<$C291>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -VI Stocks et commandes en cours d'ex\u233\'e9cution \tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 - \tab <<$C3>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab A Stocks \tab 30/36 \tab <<$S4>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab B Commandes en cours d'ex\u233\'e9cution \tab 37 \tab <<$C37>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -VII Cr\u233\'e9ances \u224\'e0 un an au plus}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 40}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/41 \tab <<$S5>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab A Cr\u233\'e9ances commerciales \tab 40 \tab <<$C40>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab B Autres cr\u233\'e9ances \tab 41 \tab <<$C41>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -VIII Placements de tr\u233\'e9sorerie }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(ann II) \tab 50/53 \tab <<$S6>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -IX Valeurs disponibles }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 55}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/58 \tab <<$S7>> \tab } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -X Comptes de r\u233\'e9gularisation}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 - \tab 490}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/1 \tab <<$S8>>\tab } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -TOTAL DE L'ACTIF \tab 20/58\tab }{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs20\lang1033\loch\f8 -<<$S9>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\pagebb\qc\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs28\alang1025\ab\rtlch \ltrch\loch\fs28\lang1033\loch\f8 -PASSIF} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs20\alang1025\ab\rtlch \ltrch\loch\fs20\lang1033\loch\f8 -\tab CAPITAUX PROPRES \tab 10/15 \tab <<$S10>>\tab } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -I Capital (}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -ann III) \tab 10 \tab <<$C10>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab A Capital souscrit \tab 100 \tab <<$C100>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab B Capital non appel\u233\'e9 (-) \tab 101 \tab (<<$C101>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -II Primes d'\u233\'e9mission\tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -11}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab0\rtlch \ltrch\loch\fs18\lang255\loch\f8 - \tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -<<$C11>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -III Plus-values de r\u233\'e9\u233\'e9valuation \tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -12\tab <<$C12>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -IV R\u233\'e9serves \tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -13\tab <<$C13>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab A R\u233\'e9serve l\u233\'e9gale \tab 130 \tab <<$C130>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab B R\u233\'e9serves indisponibles \tab 131 \tab <<$C131>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab \tab 1 Pour actions propres \tab 1310 \tab <<$C1310>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab \tab 2 Autres \tab 1311 \tab <<$C1311>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab C R\u233\'e9serves immunis\u233\'e9es\tab 132 \tab <<$C132>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab D R\u233\'e9serves disponibles \tab 133 \tab <<$C133>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -V B\u233\'e9n\u233\'e9fice report\u233\'e9 \tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -140\tab <<$C140>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Perte report\u233\'e9e }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(-) \tab 141 \tab (<<$C141>>) } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -VI Subsides en capital \tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -15}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab0\rtlch \ltrch\loch\fs18\lang255\loch\f8 - \tab <<$C15>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs20\alang1025\ab\rtlch \ltrch\loch\fs20\lang1033\loch\f8 -\tab PROVISIONS ET IMP\u212\'d4TS DIFFERES \tab 16 \tab <<$C16>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -VII A Provisions pour risques et charges }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(ann IV) \tab 160/5 \tab <<$S11>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -B Imp\u244\'f4ts diff\u233\'e9r\u233\'e9s \tab 168 \tab <<$C168>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs20\alang1025\ab\rtlch \ltrch\loch\fs20\lang1033\loch\f8 -\tab DETTES \tab 17/49 \tab <<$S12>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -VIII Dettes \u224\'e0 plus d'un an }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(ann V)\tab 17 \tab <<$C17>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -A Dettes financi\u232\'e8res \tab 170/4 \tab <<$S13>> \tab } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 1 Etablissements de cr\u233\'e9dit, dettes de locationfinancement et assimil\u233\'e9es \tab 172/3 \tab <<$S14>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 2 Autres emprunts \tab 174/0 \tab <<$C174>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -B Dettes commerciales \tab 175 \tab <<$C175>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -C Acomptes re\u231\'e7us sur commandes \tab 176 \tab <<$C176>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -D Autres dettes \tab 178/9\tab <<$S15>>\tab } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -IX Dettes \u224\'e0 un an au plus }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(ann V) \tab 42/48 \tab <<$S16>>\tab } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab A Dettes \u224\'e0 plus d'un an \u233\'e9ch\u233\'e9ant dans l'ann\u233\'e9e \tab 42 \tab <<$C42>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab B Dettes financi\u232\'e8res \tab 43 \tab <<$C43>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab \tab 1 Etablissements de cr\u233\'e9dit \tab 430/8 \tab <<$S17>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab \tab 2 Autres emprunts \tab 439 \tab <<$C439>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab C Dettes commerciales \tab 44 \tab <<$C44>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab \tab 1 Fournisseurs \tab 440/4 \tab <<$S18>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab \tab 2 Effets \u224\'e0 payer \tab 441 \tab <<$C441>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab D Acomptes re\u231\'e7us sur commandes \tab 46 \tab <<$C46>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab E Dettes fiscales, salariales et sociales \tab 45 \tab <<$C45>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab \tab 1 Imp\u244\'f4ts \tab 450/3 \tab <<$S19>>\tab } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab \tab 2 R\u233\'e9mun\u233\'e9rations et charges sociales \tab 454/9 \tab <<$S20>> } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab F Autres dettes \tab 47/48 \tab <<$S21>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -X Comptes de r\u233\'e9gularisation}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 492}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/3 \tab <<$S22>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -TOTAL DU PASSIF \tab 10/49\tab <<$S23>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\pagebb\qc\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs28\alang1025\ab\rtlch \ltrch\loch\fs28\lang1033\loch\f8 -COMPTE DE RESULTATS} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -I-II Produits et charges d'exploitation} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Chiffre d'affaires }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 - \tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ai0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -70}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ai0\rtlch \ltrch\loch\fs18\lang255\loch\f8 -\tab <<$C}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -70>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{{\*\bkmkstart DDE_LINK}{\*\bkmkend DDE_LINK}\cf1\i\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ai\rtlch \ltrch\loch\fs18\lang255\loch\f8 -Dons et subsides\tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ai0\rtlch \ltrch\loch\fs18\lang255\loch\f8 -73\tab <<$C73>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{{\*\bkmkstart DDE_LINK1}{\*\bkmkend DDE_LINK1}\cf1\i\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ai\rtlch \ltrch\loch\fs18\lang255\loch\f8 -Autrs produits d'exploitation\tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ai0\rtlch \ltrch\loch\fs18\lang255\loch\f8 -74\tab <<$C74>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Approvisionnements, marchandises; \tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -60}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 - \tab (<<$C60>>}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -services et biens divers}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 61 \tab (}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -<<$C61>>}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab \tab \tab 60/61\tab (<<$S24>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -A.B. Marge brute d'exploitation (solde positif) \tab 70/61 \tab <<$S25>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\fs18\lang1033\loch\f8 - }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Marge brute d'exploitation (solde n\u233\'e9gatif) (-) \tab 61/70 \tab (<<$S26>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -C R\u233\'e9mun\u233\'e9rations, charges sociales et pensions\tab 62\tab (<<$C62>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -D Amortissements et r\u233\'e9ductions de valeur sur frais d'\u233\'e9tablissement, } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -sur immobilisations incorporelles et corporelles (-)\tab 630\tab (<<$C630>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -E R\u233\'e9ductions de valeur sur stocks, sur commandes en cours d'ex\u233\'e9cution et } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -sur cr\u233\'e9ances commerciales (dotations -, reprises + ) \tab 631/4\tab <<$S27>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -F Provisions pour risques et charges (dotations -,utilisations et reprises +) \tab 635/7\tab <<$S28>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -G Autres charges d'exploitation (-) \tab 640/8 \tab (<<$S29>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -H Charges d'exploitation port\u233\'e9es \u224\'e0 l'actif au titre de frais de restructuration (+)\tab 649\tab <<$C649>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -III B\u233\'e9n\u233\'e9fice d'exploitation}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ai0\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 - (+)}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 70}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/64\tab <<$S30>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Perte d'exploitation}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\ai0\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 - (-) }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 64}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/70 \tab (<<$S31>>)\tab } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -IV-V Produits financiers \tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -75\tab <<$C75>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Charges financi\u232\'e8res }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(-) \tab 65\tab (<<$C65>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -VI B\u233\'e9n\u233\'e9fice courant avant imp\u244\'f4ts}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ai0\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 - (+)}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 70}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/65\tab <<$S32>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Perte courante avant imp\u244\'f4ts}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ai0\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 - (-)}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 65}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/70\tab (<<$S33>>)\tab } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -VII-VIII Produits exceptionnels}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 76}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 - \tab <<$C76>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Charges exceptionnelles }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(-) \tab 66\tab (<<$C66>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -IX B\u233\'e9n\u233\'e9fice de l'exercice avant imp\u244\'f4ts }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\ai0\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(+)}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 70}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/66\tab <<$S34>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Perte de l'exercice avant imp\u244\'f4ts }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ai0\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(-)}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 66}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/70\tab (<<$S35>>)\tab } -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -IXbis Pr\u233\'e9l\u232\'e8vements sur les imp\u244\'f4ts diff\u233\'e9r\u233\'e9s }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(+) \tab 780 \tab <<$C780>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Transferts aux imp\u244\'f4ts diff\u233\'e9r\u233\'e9s }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(-) \tab 680 \tab (<<$C680>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -X Imp\u244\'f4ts sur le r\u233\'e9sultat }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(-) (+) \tab 67/77\tab <<$S38>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -XI B\u233\'e9n\u233\'e9fice de l'exercice }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ai0\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(+) }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 70}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/67\tab <<$S36>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Perte de l'exercice }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ai0\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(-) }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 67}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/70\tab (<<$S37>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -XII Pr\u233\'e9l\u232\'e8vements sur les r\u233\'e9serves immunis\u233\'e9es }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(+) \tab 789\tab <<$C789>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Transferts aux r\u233\'e9serves immunis\u233\'e9es }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(-) \tab 689 \tab (<<$C689>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -XII B\u233\'e9n\u233\'e9fice de l'exercice \u224\'e0 affecter }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\ai0\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(+)}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 70}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/68\tab <<$S39>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i\b\kerning1\hich\af9\langfe255\dbch\af9\afs20\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Perte de l'exercice \u224\'e0 affecter}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs20\alang1025\ai0\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 - (-) }{\cf1\i\b0\kerning1\hich\af9\langfe255\dbch\af9\afs20\alang1025\rtlch \ltrch\loch\fs16\lang1033\loch\f8 -\tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs20\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -68/70\tab (<<$S40>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\pagebb\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -AFFECTATIONS ET PRELEVEMENTS} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -A B\u233\'e9n\u233\'e9fice \u224\'e0 affecter}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 70}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/69\tab <<$S44>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\fs18\lang1033\loch\f8 - }{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -Perte \u224\'e0 affecter }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(-) \tab 69/70 \tab (<<$S45>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 1 B\u233\'e9n\u233\'e9fice de l'exercice \u224\'e0 affecter \tab 70/68 \tab <<$S39>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab Perte de l'exercice \u224\'e0 affecter (-) \tab 68/70 \tab (<<$S40>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 2 B\u233\'e9n\u233\'e9fice report\u233\'e9 de l' exercice pr\u233\'e9c\u233\'e9dent \tab 790 \tab <<$C790>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab Perte report\u233\'e9e de l' exercice pr\u233\'e9c\u233\'e9dent (-) \tab 690\tab (<<$C690>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -B Pr\u233\'e9l\u232\'e8vements sur les capitaux propres}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 - \tab 791}{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang255\loch\f8 -/2 \tab <<$S41>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -C Affectations aux capitaux propres }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(-) \tab 691/2\tab (<<$S42>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 1 au capital et aux primes d'\u233\'e9mission \tab 691 \tab (<<$C691>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 2 \u224\'e0 la r\u233\'e9serve l\u233\'e9gale \tab 6920 \tab (<<$C6920>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 3 aux autres r\u233\'e9serves \tab 6921 \tab (<<$C6921>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -D 1 B\u233\'e9n\u233\'e9fice \u224\'e0 reporter }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af14\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(-) \tab 693\tab (<<$C693>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\fs18\lang1033\loch\f8 - }{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -2 Perte \u224\'e0 reporter \tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -793\tab <<$C793>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -E Intervention d'associ\u233\'e9s (ou du propri\u233\'e9taire) dans la perte \tab }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\ab0\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -794\tab <<$C794>>} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch\lang1033 - -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -F B\u233\'e9n\u233\'e9fice \u224\'e0 distribuer }{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -(-) \tab 694/6 \tab (<<$S43>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 1 R\u233\'e9mun\u233\'e9ration du capital \tab 694 \tab (<<$C694>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 2 Administrateurs ou g\u233\'e9rants \tab 695 \tab (<<$C695>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725{\cf1\i0\b0\kerning1\hich\af9\langfe255\dbch\af9\afs18\alang1025\rtlch \ltrch\loch\fs18\lang1033\loch\f8 -\tab 3 Autres allocataires \tab 696 \tab (<<$C696>>)} -\par \pard\plain \s0\ql\widctlpar\ltrpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af10\langfe255\dbch\af14\afs24\alang1081\loch\f5\fs24\lang1033\ql\widctlpar\tx330\tx915\tx6930\tx7725\rtlch \ltrch\loch - -\par } \ No newline at end of file diff --git a/sources/html/document/fr_fr/fr_plan_abrege_perso_bil10000.form b/sources/html/document/fr_fr/fr_plan_abrege_perso_bil10000.form deleted file mode 100644 index 7b4b2f0..0000000 --- a/sources/html/document/fr_fr/fr_plan_abrege_perso_bil10000.form +++ /dev/null @@ -1,180 +0,0 @@ -# Bilan (Système abrégé personnalisé) -# version 2007/10/28 13:54 (en compte) - -# Liste des comptes utilisés -$C101=round([101%],2) -$C105=round([105%],2) -$C1061=round([1061%],2) -$C1063=round([1063%],2) -$C1064=round([1064%],2) -$C1068=round([1068%],2) -$C108=round([108%],2) -### REPORT A NOUVEAU -$C11=round([11%],2) -### RESULTAT DE L'EXERCICE -$C12=round([12%],2) -$C145=round([145%],2) -$C146=round([146%],2) -$C147=round([147%],2) -$C148=round([148%],2) -$C15=round([15%],2) -$C16=round([16%],2) -$C201=round([201%],2) -$C206=round([206%],2) -$C207=round([207%],2) -$C208=round([208%],2) -$C21=round([21%],2) -$C23=round([23%],2) -$C27=round([27%],2) -$C280=round([280%],2) -$C281=round([281%],2) -$C290=round([290%],2) -$C291=round([291%],2) -$C297=round([297%],2) -$C31=round([31%],2) -$C33=round([33%],2) -$C34=round([34%],2) -$C35=round([35%],2) -$C37=round([37%],2) -$C391=round([391%],2) -$C393=round([393%],2) -$C394=round([394%],2) -$C395=round([395%],2) -$C397=round([397%],2) -$C400=round([400%],2) -$C409=round([409%],2) -$C410=round([410%],2) -$C419=round([419%],2) -$C421=round([421%],2) -$C428=round([428%],2) -$C43D=round([43%],2) -$C43C=round([43%],2) -$C444D=round([444%],2) -$C444C=round([444%],2) -$C445D=round([445%],2) -$C445C=round([445%],2) -$C447=round([447%],2) -$C455D=round([455%],2) -$C455C=round([455%],2) -$C46=round([46%],2) -$C486=round([486%],2) -$C487=round([486%],2) -$C491=round([491%],2) -$C496=round([496%],2) -$C50=round([50%],2) -$C51D=round([51%],2) -$C53=round([53%],2) -$C54=round([54%],2) -$C58=round([58%],2) -$C590=round([590%],2) - -# --- ACTIF --- -## Actif immobilisé -### immobilisations incorporelles -$S10001=$C206+$C207 -$S10002=$C201+$C208 -$S10003=$C280+$C290 -### immobilisations corporelles -$S10004=$C21+$C23 -$S10005=$C281+$C291 -### immobilisations financières -$S10006=$C27 -$S10007=$C297 -## Actif circulant -### Stock et en-cours (autres) -$S10011=$C31+$C33+$C34+$C35 -$S10012=$C391+$C393+$C394+$C395 -### Stock et en-cours (marchandises) -$S10013=$C37 -$S10014=$C397 -### Avances et acomptes versés -$S10015=$C409 -### Créances clients -$S10016=$C410 -$S10017=$C491 -### Créances autres -$S10018=$C428+$C43D+$C444D+$C445D+$C455D+$C46 -$S10019=$C496 -### Valeurs mobilières -$S10020=$C50 -$S10021=$C590 -### Disponibilités -$S10022=$C51D+$C54+$C58 -### Caisse -$S10023=$C53 -### Charges constatées d'avance -$S10031=$C486 - -## Total I -$S10111=$S10001+$S10002+$S10004+$S10006 -$S10112=$S10003+$S10005+$S10007 -$S10113=$S10111-$S10112 -## Total I N-1 -$S10114=0 -## Total II -$S10121=$S10011+$S10013+$S10015+$S10016+$S10018+$S10020+$S10022+$S10023 -$S10122=$S10012+$S10014+$S10017+$S10019+$S10021 -$S10123=$S10121-$S10122 -## Total II N-1 -$S10124=0 -## Total III -$S10131=$S10031 -## Total I+II+III -$S10991=$S10111+$S10121+$S10131 -$S10992=$S10112+$S10122 -$S10993=$S10113+$S10123 -## Total I+II+III N-1 -$S10994=0 - - -# --- PASSIF --- -## Capitaux propres -### Capital -$S11001=$C101+$C108 -### Ecarts de réévaluation -$S11002=$C105 -### Réserves -### Réserve légale -$S11003=$C1061 -### Réserves réglementées -$S11004=$C1064 -### Autres réserves -$S11005=$C1063+$C1068 -### REPORT A NOUVEAU -$S11006=$C11 -# RESULTAT DE L'EXERCICE -$S11007=$C12 -### Provisions réglementées -$S11008=$C145+$C146+$C147+$C148 -## Provisions -$S11011=$C15 -## Dettes -### Emprunts et dettes assimilées -$S11021=$C16 -### Avances et acomptes reçus -$S11022=$C419 -### Fournisseurs et comptes rattachés -$S11023=$C400 -### Autres dettes -$S11024=$C421+$C428+$C43C+$C444C+$C445C+$C447+$C455C+$C46 -## Produits constatés d'avance -$S11031=$C487 - -## Total I -$S11111=$S11001+$S11002+$S11003+$S11004+$S11005+$S11007+$S11008 -## Total I N-1 -$S11112=0 -## Total II -$S11121=$S11011 -## Total II N-1 -$S11122=0 -## Total III -$S11131=$S11021+$S11022+$S11023+$S11024 -## Total III N-1 -$S11132=0 -## Total IV -$S11141=$S11031 -## Total I+II+III+IV -$S11991=$S11111+$S11121+$S11131+$S11141 -## Total I+II+III+IV N-1 -$S11992=0 diff --git a/sources/html/document/fr_fr/fr_plan_abrege_perso_bil10000.ods b/sources/html/document/fr_fr/fr_plan_abrege_perso_bil10000.ods deleted file mode 100644 index a7f418384cd6764408b17eb3d8faaaccd875df7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20884 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 Wc}bgsa_=$*(lG}F0HSsG&i(@tHt6dB diff --git a/sources/html/document/fr_fr/fr_plan_abrege_perso_cr1000.form b/sources/html/document/fr_fr/fr_plan_abrege_perso_cr1000.form deleted file mode 100644 index 5caa509..0000000 --- a/sources/html/document/fr_fr/fr_plan_abrege_perso_cr1000.form +++ /dev/null @@ -1,142 +0,0 @@ -# Compte de résultat (Système abrégé personnalisé) -# version 2007/10/28 10:08 (en compte) - -# Liste des comptes utilisés -$C60=round([60],2) -$C607=round([607%],2) -$C6031=round([6031%],2) -$C6032=round([6032%],2) -$C6037=round([6037%],2) -$C61=round([61%],2) -$C62=round([62%],2) -$C63=round([63%],2) -$C641=round([641%],2) -$C644=round([644%],2) -$C645=round([645%],2) -$C646=round([646%],2) -$C65=round([65%],2) -$C66=round([66%],2) -$C67=round([67%],2) -$C6811=round([6811%],2) -$C6815=round([6815%],2) -$C6816=round([6816%],2) -$C6817=round([6817%],2) -$C686=round([686%],2) -$C687=round([687%],2) -$C691=round([691%],2) -$C695=round([695%],2) -$C697=round([697%],2) -$C701=round([701%],2) -$C706=round([706%],2) -$C707=round([707%],2) -$C708=round([708%],2) -$C709=round([709%],2) -$C713=round([713%],2) -$C72=round([72%],2) -$C74=round([74%],2) -$C75=round([75%],2) -$C76=round([76%],2) -$C77=round([77%],2) -$C781=round([781%],2) -$C786=round([786%],2) -$C787=round([787%],2) -$C79=round([79%],2) - - -# --- CHARGES --- -## Charges d'exploitation -### Achats marchandises -$S10001=$C607 -### Variation stocks marchandises -$S10002=$C6037 -### Achats approvisionnements sauf 607 -$S10003=$C60 -### Variation stocks approvisionnements -$S10004=$C6031+$C6032 -### Autres charges externes -$S10005=$C61+$C62 -### Impôts et taxes assimilés -$S10006=$C63 -### Rémunérations du personnel -$S10007=$C641+$C644 -### Charges sociales -$S10008=$C645+$C646 -### Dotation amortissements -$S10009=$C6811 -### Dotation provisions -$S10010=$C6815+$C6816+$C6817 -### Autres charges -$S10011=$C65 -## Charges financières -$S10012=$C66+$C686 -## Charges exceptionnelles -$S10021=$C67+$C687+$C691 -## Impôts sur les bénéfices -$S10031=$C695+$C697 - -# --- PRODUITS --- -## Produits d'exploitation -### Vente marchandises -$S11001=$C707-$C709 -### Production vendue -$S11002=$C701+$C706+$C708 -### Production stockée -$S11003=$C713 -### Production immobilisée -$S11004=$C72 -### Subventions -$S11005=$C74 -###Autres produits -$S11006=$C75+$C781 -## Produits financiers -$S11007=$C76+$C786 -## Produits exceptionnels -$S11021=$C77+$C787+$C79 - -# --- CHARGES --- -## Total I -$S10111=$S10001+$S10002+$S10003+$S10004+$S10005+$S10006+$S10007+$S10008+$S10009+$S10010+$S10011+$S10012 -## Total I N-1 -$S10112=0 -## Total II -$S10121=$S10021 -## Total III -$S10131=$S10031 -## Total I+II+III -$S10141=$S10111+$S10121+$S10131 - -# --- PRODUITS --- -## Total I -$S11111=$S11001+$S11002+$S11003+$S11004+$S11005+$S11006+$S11007 -## Total I N-1 -$S11112=0 -## Total II -$S11121=$S11021 -## Total I+II -$S11131=$S11111+$S11121 - -# --- CHARGES --- -### Bénéfice -$F1001=$S11131-$S10141 -$S10151=($F1001>=0)?$F1001:0 -### Bénéfice N-1 -$S10152=0 - -# --- PRODUITS --- -### Perte -$F1002=$S10141-$S11131 -$S11141=($F1002>=0)?$F1002:0 -### Perte N-1 -$S11142=0 - -# --- CHARGES --- -## Total -$S10991=$S10141+$S10151 -## Total N-1 -$S10992=0 - -# --- PRODUITS --- -## Total -$S11991=$S11131+$S11141 -## Total N-1 -$S11992=0 diff --git a/sources/html/document/fr_fr/fr_plan_abrege_perso_cr1000.rtf b/sources/html/document/fr_fr/fr_plan_abrege_perso_cr1000.rtf deleted file mode 100644 index 09fc139..0000000 --- a/sources/html/document/fr_fr/fr_plan_abrege_perso_cr1000.rtf +++ /dev/null @@ -1,260 +0,0 @@ -{\rtf1\ansi\deff1\adeflang1025 -{\fonttbl{\f0\froman\fprq2\fcharset0 DejaVu Sans;}{\f1\fswiss\fprq0\fcharset0 Avant Garde Gothic;}{\f2\fswiss\fprq2\fcharset0 FreeSans;}{\f3\fnil\fprq0\fcharset0 Helvetica;}{\f4\fswiss\fprq0\fcharset0 Avant Garde Gothic;}{\f5\froman\fprq2\fcharset0 Times New Roman;}{\f6\fnil\fprq2\fcharset0 DejaVu Sans;}{\f7\fnil\fprq2\fcharset128 \'93\'8c\'95\'97\'96\'be\'92\'a9;}{\f8\fswiss\fprq2\fcharset0 Arial;}{\f9\fswiss\fprq2\fcharset0 Tahoma{\*\falt Lucidasans};}{\f10\fswiss\fprq0\fcharset0 Tahoma{\*\falt Lucidasans};}} -{\colortbl;\red0\green0\blue0;\red128\green128\blue128;} -{\stylesheet{\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af9\afs24\lang255\ltrch\dbch\af7\langfe1041\hich\f1\fs24\lang1036\loch\f1\fs24\lang1036\snext1 Normal;} -{\s2\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs28\lang255\ltrch\dbch\af6\langfe1041\hich\f3\fs28\lang1036\loch\f3\fs28\lang1036\sbasedon1\snext3 Heading;} -{\s3\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1041\hich\f1\fs24\lang1036\loch\f1\fs24\lang1036\sbasedon1\snext3 Body Text;} -{\s4\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af10\afs24\lang255\ltrch\dbch\langfe1041\hich\fs24\lang1036\loch\fs24\lang1036\sbasedon3\snext4 List;} -{\s5\sb120\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af10\afs20\lang255\ai\ltrch\dbch\af1\langfe1041\hich\fs20\lang1036\i\loch\fs20\lang1036\i\sbasedon1\snext5 caption;} -{\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af10\afs24\lang255\ltrch\dbch\af1\langfe1041\hich\fs24\lang1036\loch\fs24\lang1036\sbasedon1\snext6 Index;} -{\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f5\fs24\lang1036\loch\f5\fs24\lang1036\sbasedon1\snext7 Normal;} -{\s8\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\afs24\lang255\ltrch\dbch\langfe1041\hich\f1\fs24\lang1036\loch\f1\fs24\lang1036\sbasedon3\snext8 Table Contents;} -{\s9\cf0\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\afs24\lang255\ai\ab\ltrch\dbch\langfe1041\hich\f1\fs24\lang1036\i\b\loch\f1\fs24\lang1036\i\b\sbasedon8\snext9 Table Heading;} -} -{\info{\creatim\yr2007\mo10\dy27\hr2\min49}{\revtim\yr1601\mo1\dy1\hr0\min0}{\printim\yr1601\mo1\dy1\hr0\min0}{\comment StarWriter}{\vern6800}}\deftab709 -{\*\pgdsctbl -{\pgdsc0\pgdscuse195\lndscpsxn\pgwsxn16837\pghsxn11905\marglsxn567\margrsxn567\margtsxn567\margbsxn567\pgdscnxt0 Standard;}} -{\*\pgdscno0}\landscape\paperh11905\paperw16837\margl567\margr567\margt567\margb567\sectd\sbknone\lndscpsxn\pgwsxn16837\pghsxn11905\marglsxn567\margrsxn567\margtsxn567\margbsxn567\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc -\pard\plain \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Soci\'e9t\'e9 : <
      >} -\par \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch } -\par \pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Compte de r\'e9sultat (Syst\'e8me abr\'e9g\'e9 personnalis\'e9)} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 P\'e9riode du :__/__/____ au : __/__/____} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 version 2007/09/10 21:25 (en compte) } -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f5\fs24\lang1036\loch\f5\fs24\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f5\fs24\lang1036\loch\f5\fs24\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b CHARGES (hors taxes)} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Exercice N} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Exercice N-1} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b PRODUITS (hors taxes)} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Exercice N} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Exercice N-1} -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Charges d'exploitation :} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Produits d'exploitation :} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh204\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Achat de marchandises} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af1\afs16\lang255\ltrch\dbch\af1\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10001>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af1\afs16\lang255\ltrch\dbch\af1\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Vente de marchandises} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11001>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Variation de stocks (marchandises)} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10002>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 {\*\bkmkstart DDE_LINK}Production vendue (B et S){\*\bkmkend DDE_LINK}} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11002>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Achats d'approvisionnements} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10003>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Production stock\'e9e} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11003>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Variation de stocks (approvisionnements)} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10004>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Production immobilis\'e9e} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11004>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Autres charges externes} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10005>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Subvention d'exploitation} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11005>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Imp\'f4ts, taxes et versements assimil\'e9s} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10006>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Autres produits} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11006>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 R\'e9mun\'e9rations du personnel} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10007>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Charges sociales} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10008>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Dotation aux amortissements} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10009>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Dotation aux provisions} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10010>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Autres charges } -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10011>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Charges financi\'e8res} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\loch\f2\fs16\lang2057 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10012>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\loch\f2\fs16\lang2057 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\loch\f2\fs16\lang2057 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\b\loch\f2\fs16\lang2057\b {\rtlch \ltrch\loch\f2\fs16\lang2057\i0\b Produits financiers} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11007>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\loch\f2\fs16\lang2057 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\b\loch\f2\fs16\lang2057\b {\rtlch \ltrch\loch\f2\fs16\lang2057\i0\b Total (I)} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f5\fs24\lang1036\loch\f5\fs24\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\loch\f2\fs16\lang2057 {\rtlch \ltrch\loch\f2\fs16\lang2057\i0\b0 <<$S10111>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\loch\f2\fs16\lang2057 {\rtlch \ltrch\loch\f2\fs16\lang2057\i0\b0 <<$S10112>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\loch\f2\fs16\lang2057 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\b\loch\f2\fs16\lang2057\b {\rtlch \ltrch\loch\f2\fs16\lang2057\i0\b Total (I)} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\b\loch\f2\fs16\lang2057\b -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11111>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11112>>} -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Charges exceptionnelles (II)} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10121>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Produits exceptionnels (II)} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11121>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Imp\'f4ts sur les b\'e9n\'e9fices (III)} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10131>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Total des charges (I+II+III)} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10141>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\b\loch\f2\fs16\lang1036\b {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b Total des produits (I+II)} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11131>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Solde cr\'e9diteur : B\'e9n\'e9fice} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10151>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S10152>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 Solde d\'e9biteur : Perte} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 (<<$S11141>>)} -\cell\pard\plain \intbl\ltrpar\s7\cf0\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 (<<$S11142>>)} -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f5\fs24\lang1036\loch\f5\fs24\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f5\fs24\lang1036\loch\f5\fs24\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\loch\f2\fs16\lang2057 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\loch\f2\fs16\lang2057 -\cell\row\pard \trowd\trql\trleft-12\trrh264\trpaddft3\trpaddt12\trpaddfl3\trpaddl12\trpaddfb3\trpaddb0\trpaddfr3\trpaddr12\clvertalb\cellx4127\clvertalb\cellx5478\clvertalb\cellx6785\clvertalb\cellx7918\clvertalb\cellx8550\clvertalb\cellx11601\clvertalb\cellx13060\clvertalb\cellx14368\clvertalb\cellx15703 -\pard\intbl\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af8\afs16\lang255\ab\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang2057\b\loch\f2\fs16\lang2057\b {\rtlch \ltrch\loch\f2\fs16\lang2057\i0\b TOTAL GENERAL} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f2\fs16\lang2057\loch\f2\fs16\lang2057 {\rtlch \ltrch\loch\f2\fs16\lang2057\i0\b0 <<$S10991>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f2\fs16\lang2057\loch\f2\fs16\lang2057 {\rtlch \ltrch\loch\f2\fs16\lang2057\i0\b0 <<$S10992>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f5\fs24\lang1036\loch\f5\fs24\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f2\fs16\lang2057\b\loch\f2\fs16\lang2057\b {\rtlch \ltrch\loch\f2\fs16\lang2057\i0\b TOTAL GENERAL} -\cell\pard\plain \intbl\ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11991>>} -\cell\pard\plain \intbl\ltrpar\s7\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af8\afs16\lang255\ltrch\dbch\af8\langfe1036\hich\f2\fs16\lang1036\loch\f2\fs16\lang1036 {\rtlch \ltrch\loch\f2\fs16\lang1036\i0\b0 <<$S11992>>} -\cell\row\pard \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af9\afs24\lang255\ltrch\dbch\af7\langfe1041\hich\f1\fs24\lang1036\loch\f1\fs24\lang1036 -\par } \ No newline at end of file diff --git a/sources/html/export.php b/sources/html/export.php deleted file mode 100644 index 14038c3..0000000 --- a/sources/html/export.php +++ /dev/null @@ -1,56 +0,0 @@ -Check(); -$action=$g_user->check_dossier($gDossier); -set_language(); -if ( $action=='X' || ! isset($_GET['act']) || $g_user->check_print($_GET['act'])==0 ) - { - echo alert(_('Accès interdit')); - redirect("do.php?".dossier::get()); - exit(); - } -// get file and execute it -$action=HtmlInput::default_value_get('act', null); -if ($action == null ) -{ - die(_('Appel invalide')); -} - $prfile=$cn->get_value("select me_file from menu_ref where me_code=$1",array($action)); - if ( $prfile == "") { - die (_('Export impossible')); - } - require_once $prfile; - ?> \ No newline at end of file diff --git a/sources/html/extension.raw.php b/sources/html/extension.raw.php deleted file mode 100644 index 7000f14..0000000 --- a/sources/html/extension.raw.php +++ /dev/null @@ -1,60 +0,0 @@ -check(); -$only_plugin=$g_user->check_dossier(dossier::id()); -set_language(); -$ext=new Extension($cn); - -if ( $ext->search($_REQUEST['plugin_code']) != -1 ) - { - /* security */ - if ( !isset ($_SESSION['g_user']) || $ext->can_request($_SESSION['g_user']) == 0 ) - { - exit(); - } - /* call the ajax script */ - require_once(NOALYSS_PLUGIN.DIRECTORY_SEPARATOR.dirname(trim($ext->getp('me_file'))).DIRECTORY_SEPARATOR.'raw.php'); - } -else - { - alert(j(_("Cette extension n'existe pas "))); - exit(); - } -?> diff --git a/sources/html/favicon.ico b/sources/html/favicon.ico deleted file mode 100644 index 305053243ebdae9e7b17a7cd012bca906ef1ecd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3758 zcmbtXPiz!r6rU|Ii;2;A@#LWiN_V!QMz|0?U`R9sjRr$10(#Jk9*hSKN+Q|-m7u|D zym+zQH5e)ZJronWf7(K=Yq0Dr1)5UY?LzFuY_CRQM@F3lA7tXa#ffg06+K zzybYI`2Mx>@qX>rfC7I%>EP3~J~FPJru@txnX@r6)5B!Wjo3&JVLeLu>7QX2BE-n? z-Can8TbhkSPlgoaJITHZH%A*rZt^V0Vj0QM3ysFGq=o%=v|c~&H=E#g;$?lfPNn=y z$-dH8cMh&oZcU3CvgVGjW=E-;R_qsysO5q&5njKP3c1{@G1u74oVWQh7ceqv=nfmv zMr^Ctd3-aj{$Te=Dm=yk7^%<+&fD~`t;KI%j}fUVnKQ$+06(a+|AK`84Kr6A)j9;H~Ay!$zC~gda|#gr_7Aqr^c0jxue_z zP@Fiq&quzXY_x~wUfxFY1IJ~~F=b;twD{4RWFhaBP3@#ld`Hm1T7G4xh4>BRGl}sa zyTg1)&K1sF?%EmPEEyBuOW*N&IXAyM`7$?y0xDS@n~39K{yzs#NZncc@poRNUD(4t zz;)pLOWM7=1%0jLlOZ3tIuXkiyiWn2>8a4eZ0q$zkNm&(v;jS~F+kB`Pei)+3m5bA z8e(c$4F=ys3>MaW(8bGb-D{5i&bZp%E*d!RQ~RG~y+!|+-G?p6y;aUZAmFc?sEQ%y z&pQ7V|B9wge@q$FpM6ha&iOJowFM~g{w}9aOqIv8ZIc)k%r3-!A93iZMJ_H<^c_qjMZ}<~g4=?ycF~&(Ob5Z;|{5kG&?} z_&e91-9VRa;aAmyhugZB-2UU*;*N_P-7EDsH+RU$+B>~i%FhJM�Ts!_dvYkfeAK zt2lph&q0Ub+rLsQ@?}N->ke+RgKn7SZ3(O|IZtp!oTuFM@@ckf5`VD#^o}%6|c~$VvQHP_(yL>r0*_X z?6){7ZYm<;VFD+v552^3}{5`{aAo&9$Tt znVb7B8ag00d{374Uo(8=d)%{K%unLsn7ja+^8IUlk9TiZ5JSq7?_LZRzR$pJ{aX2W zKV=>wQha1#3Vbr6DE=<~m(d0WMd`wP1jr~4tjqYe^<;d*WTOuwqX*E6NMKw5GX9Kj M5g^QMEUqK^54Zc}CjbBd diff --git a/sources/html/fid.php b/sources/html/fid.php deleted file mode 100644 index 7284bb2..0000000 --- a/sources/html/fid.php +++ /dev/null @@ -1,155 +0,0 @@ -check(); -$g_user->check_dossier(dossier::id()); -set_language(); -$fLabel=(isset($_REQUEST['l']))?$_REQUEST['l']:'none'; -$fTva_id=(isset($_REQUEST['t']))?$_REQUEST['t']:'none'; -$fPrice_sale=(isset($_REQUEST['p']))?$_REQUEST['p']:'none'; -$fPrice_purchase=(isset($_REQUEST['b']))?$_REQUEST['b']:'none'; - - - -if ( isset($_SESSION['isValid']) && $_SESSION['isValid'] == 1) -{ - $jrn=sql_string($_GET['j']); - $d=sql_string($_GET['d']); - - if ( $jrn == -1 ) - $d='all'; - if ( strpos($d,'sql') == false ) - { - - switch ($d) - { - case 'cred': - $filter_jrn=$cn->make_list("select jrn_def_fiche_cred from jrn_def where jrn_def_id=$1",array($jrn)); - $filter_card=($filter_jrn != "")?" and fd_id in ($filter_jrn)":' and false '; - - break; - case 'deb': - $filter_jrn=$cn->make_list("select jrn_def_fiche_deb from jrn_def where jrn_def_id=$1",array($jrn)); - $filter_card=($filter_jrn != "")?" and fd_id in ($filter_jrn)":' and false '; - break; - case 'all': - $filter_card=""; - break; - case 'filter': - $get_cred='jrn_def_fiche_cred'; - $get_deb='jrn_def_fiche_deb'; - $deb=$cn->get_value("select $get_deb from jrn_def where jrn_def_id=$1",array($jrn)); - $cred=$cn->get_value("select $get_cred from jrn_def where jrn_def_id=$1",array($jrn)); - - $filter_jrn=""; - - if ($deb!=='' && $cred!='') - $filter_jrn =$deb.','.$cred; - elseif($deb != '') - $filter_jrn=$deb; - elseif($cred != '') - $filter_jrn=$cred; - - $filter_card=($filter_jrn != "")?" and fd_id in ($filter_jrn)":' and false '; - break; - case 'all': - $filter_card=''; - break; - - default: - $filter_card="and fd_id in ($d)"; - } - } - else - { - $filter_card=$d; - $filter_card=str_replace('[sql]','',$d); - } - $sql="select vw_name,vw_addr,vw_cp,vw_buy,vw_sell,tva_id - from vw_fiche_attr - where quick_code=upper($1)". $filter_card; - - $array=$cn->get_array($sql, array($_REQUEST['FID'])); - - if ( empty($array)) - { - echo '{"answer":"nok","flabel":"'.$fLabel.'"}'; - exit; - } - - - $name=$array[0]['vw_name']; - $sell=$array[0]['vw_sell'] ; - $buy=$array[0]['vw_buy']; - $tva_id=$array[0]['tva_id']; - - // Check null - $name=($name==null)?" ":str_replace('"','',$name); - $sell=($sell==null)?" ":str_replace('"','',$sell); - $buy=($buy==null)?" ":str_replace('"','',$buy); - $tva_id=($tva_id==null)?" ":str_replace('"','',$tva_id); - /* store the answer in an array and transform it later into a JSON object */ - $tmp=array(); - $tmp[]=array('flabel',$fLabel); - $tmp[]=array('name',$name); - $tmp[]=array('ftva_id',$fTva_id); - $tmp[]=array('tva_id',$tva_id); - $tmp[]=array('fPrice_sale',$fPrice_sale); - $tmp[]=array('sell',$sell); - $tmp[]=array('fPrice_purchase',$fPrice_purchase); - $tmp[]=array('buy',$buy); - $a='{"answer":"ok"'; - for ($o=0;$o < count($tmp);$o++) - { - $a.=sprintf(',"%s":"%s"',$tmp[$o][0],$tmp[$o][1]); - } - $a.='}'; -} -else - $a='{"answer":"unauthorized"}'; -header("Content-type: text/html; charset: utf8",true); -print $a; -?> diff --git a/sources/html/fid_card.php b/sources/html/fid_card.php deleted file mode 100644 index 8af3a64..0000000 --- a/sources/html/fid_card.php +++ /dev/null @@ -1,172 +0,0 @@ -check(); -$g_user->check_dossier(dossier::id()); -set_language(); - -if ( $d == 'all') -{ - $filter_card=''; -} -else if (strpos($d,'sql]')==true) -{ - $filter_card= str_replace('[sql]', " and ", $d); -} else - $filter_card="and fd_id in ($d)"; - -if ( $jrn != -1 ) -{ - switch ($d) - { - case 'cred': - $filter_jrn=$cn->make_list("select jrn_def_fiche_cred from jrn_def where jrn_def_id=$1",array($jrn)); - $filter_card=($filter_jrn != "")?" and fd_id in ($filter_jrn)":' and false '; - break; - case 'deb': - $filter_jrn=$cn->make_list("select jrn_def_fiche_deb from jrn_def where jrn_def_id=$1",array($jrn)); - $filter_card=($filter_jrn != "")?" and fd_id in ($filter_jrn)":' and false '; - break; - case 'filter': - $get_cred='jrn_def_fiche_cred'; - $get_deb='jrn_def_fiche_deb'; - $deb=$cn->get_value("select $get_deb from jrn_def where jrn_def_id=$1",array($jrn)); - $cred=$cn->get_value("select $get_cred from jrn_def where jrn_def_id=$1",array($jrn)); - - $filter_jrn=""; - - if ($deb!=='' && $cred!='') - $filter_jrn =$deb.','.$cred; - elseif($deb != '') - $filter_jrn=$deb; - elseif($cred != '') - $filter_jrn=$cred; - - $filter_card=($filter_jrn != "")?" and fd_id in ($filter_jrn)":' and false '; - - break; - - } -} -else -{ - if (isset($_REQUEST['type'])) - { - if ($_REQUEST['type']=='gl' || $_REQUEST['type']=='') $filter_card=''; - else - { - $get_cred='jrn_def_fiche_cred'; - $get_deb='jrn_def_fiche_deb'; - - $filter_jrn=$cn->make_list("select $get_cred||','||$get_deb as fiche from jrn_def where jrn_def_type=$1",array($_REQUEST['type'])); - $filter_card=($filter_jrn != "")?" and fd_id in ($filter_jrn)":' and false '; - - } - } -} - - -/* create a filter based on j */ -/*$sql_str="select f_id, vw_name,quick_code,vw_description ". - " from vw_fiche_attr where ". - " ( vw_name ilike '%'||$1||'%' or quick_code ilike $2||'%' or vw_description ilike '%'||$3||'%') ". - $filter_card; -*/ - -$sql_str="select distinct f_id from fiche join fiche_detail using (f_id) where ad_id in (9,1,23) and ad_value ilike '%'||$1||'%' ".$filter_card.' limit 12'; - -$sql=$cn->get_array($sql_str ,array($_REQUEST['FID'])); - -if (sizeof($sql) != 0 ) -{ - echo "
        "; - $sql_get=$cn->prepare('get_name',"select ad_value from fiche_detail where f_id = $1 and ad_id=$2"); - - for ($i =0;$i<12 && $i < count($sql) ;$i++) - { - $name=''; - $quick_code=''; - $desc=''; - - $sql_name=$cn->execute('get_name',array($sql[$i]['f_id'],1)); - if ( Database::num_row($sql_name) == 1) $name=Database::fetch_result($sql_name,0,0); - - $sql_name=$cn->execute('get_name',array($sql[$i]['f_id'],9)); - if ( Database::num_row($sql_name) == 1) $desc=Database::fetch_result($sql_name,0,0); - - $sql_name=$cn->execute('get_name',array($sql[$i]['f_id'],23)); - if (Database::num_row($sql_name) == 1) $quick_code=Database::fetch_result($sql_name,0,0); - - - /* Highlight the found pattern with bold format */ - $name=str_ireplace($_REQUEST['FID'],''.$_REQUEST['FID'].'',h($name)); - $qcode=str_ireplace($_REQUEST['FID'],''.$_REQUEST['FID'].'',h($quick_code)); - $desc=str_ireplace($_REQUEST['FID'],''.$_REQUEST['FID'].'',h($desc)); - printf('
      • %s %s %s
      • ', - $quick_code, - $quick_code, - $name, - $desc - ); - } - echo '
      '; - if (count($sql) > 12) - { - printf ('...'._('Résultat limité à 12').' ...'); - } -} -else -{ - echo "
      • "._("Non trouvé")."
      "; -} -?> diff --git a/sources/html/image/OpenSansRegular.eot b/sources/html/image/OpenSansRegular.eot deleted file mode 100644 index 055d92fcf5f4c8dc049ad26a90db7a8df2957328..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217534 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≥iJqJi8-dWUUDMsu@y6TI-fB!G^=OOD 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 diff --git a/sources/html/image/OpenSansRegular.woff b/sources/html/image/OpenSansRegular.woff deleted file mode 100644 index 26fdb315964e2c53fa217ed6384596bdd9fd8b77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109000 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

      Z_();S>1zrhr^Vb>MjqanoT}> zORseZDEIGeH^5YSE8h}H){M@FE`;5B=x%ZIZXD9>+Hpi@BdVg%gU`1f=fr|z$77fa zH|%iln_f5Ux$ea^AC5YEGTgBPH_RM8YQ~IFqyF(gXNInVfONr}{cwstZfx0KnN1Bn z<~~x8Iy=W7+tEYpSUY{nh}y~1hqmq5u`PVlcmvBgV;r|o=6kMZvlutKS!W!#Q}Oxg z&IoRoRIlQ!kkQeJ`k9O5NADA_LP~F1*lZ9Uv zK9-eTH`i4>Z+^kwAW8sH#Eb-io!Y{^qK zd2V}m+3LHp9;Il+tpH-3SS#nCV}Z85jPx+4DR{UQHz>4ItX%|SeK2-~_^mv!1II*cK0-gZtX(iQ#YhtXDUe2=BIOrzczf*c`G(q#N zfKDHtF>=&D?w8rRptHEQcKX!XXyT(8$X)P6I9U^|u0s-wW-A<578| z;^}Y0gx}g6?&c_ctBt$t<#zNZ-BlyZVU{MdEO-Iww0F#cZ%ioEAF@7>H&Xa-#g%@p zs{iSUcrf&g{5)wNQiIQ%N-H1%F$oF0S|fPU;`D0x;*+iPR2AezWip2WXWpUii9?-J zUh~ZGSAScOk(F2M%_zY8!oP`i&(F7aeWjyN(7K?tTn5E{Ms7s4k^9UVl6q?$y)m# z#sKmGphdr*=M>+s>F!uO0(eM|_@qbKO`;E>nEsMr>F|PpB$dd~reK27pDUkeml8_idDOG)e=h z9B+1-wN8OHEo5CTk;>52xlr}@#-}CGxey=|eRpW;h_BF!b^hYtTRYzPgElby&rROH zru1*k9X})Q<2JY@&c>|)z2V3{+d<0+K7U|;w?^Sw|8wDPcWR{932Iseue2wQ>Pn|H zr4!B_AP4Spdb*QC2RQS~{MN?7i%-&inlfzKzY}1$iC|C0W*);{1^cuG`SXu-s34G} zRq>ppmJE6sby`8Is|;$bf{L~VyiHFg+KkxYp`R%P$6I)uyBc!$;}@-VXdhUOTHt}GQ;O`+UE3+^FCNhX~PABmk5)DR`T2QlXXrtn2&HI`83o*S<^JHS6 zg(~pAbNExCA;a+dB!#b8%1z*MmT%xfmqHuYMi{|EWCd?thqsVcy@7%%^80OaTr7u|RiU4|xU2kyn{{hQXiwIzR(l9pxuEfduDjeP zFMaT8yImy*&VKb?oOo*A!s}1hlhEADmmkN%wk_8eH+H*t{MC;>KKS+px;v#~A?&U_ z!!@Wo@i$h}-zkuyRap=+VnofoRZ$2}PIG>Qf?!}KXU$iEP zMXd|MR_$Q$Oct=`bLHpnGG8?}{G7%5+4INc=j~&oFFTo@m>kg)HRLVXUv@`lTuo$} zWF>nXUc5R!l}1fRkV#4^_t6r z>H4N1aZ}Ts*xG||<_Jw<40qh2T|1}=<*}c&Z?;y(zeTgr;y4?+UfCq2M+A3 zBP~VC>&?s7sw%{yM7sJQ;S(SKkg#q z+Y}P}Fq|<-=ny*e(|yUy=5P<(JogXsg_7MmOtP}ug7$$_U!s{$aXK}KPZV=nno%0> zmfS7MgKj75mUyR%e%cV^_Qm`NWM5%{6|=g1+4|=^OQyWJjUC^mzpDx`e+&%f%9Y2xl*FSn0i)8X+ z2dfG%Y<=MY7!1oZ1ey#hIc+3QNuVVlb=Wn|iYoR0&~-IwCybiB`Jh>!P_2jk5K zRkOBHtc2!oEt4JIRHZP@5w0#TjNPTf?%__YCMQ>|tf?Ql=*y3OeQ<8=_q|){@LMHnd$$S1socpn zo6*Q4H(1{mZ!!-9%7YlmVQGI1UCJq}65=9-0pO^FO9DD^#gbBHmSe$GB^ zDSXdpN4e2m(&QFtdW{ww1!~ttt{0=*DgEC)(g66&FMtG@-E+~gp{%QTUQ7b zjW@=OV%@EFKF{lvd+P+D9CZ2(s?%@%2Dm8)Uos8(0|{#E;KAtk#sL!IoXIIENT-uv zN-XzYuc!#;HjhM1#>8IlDx)|TztbY0F`ZJdg3l*WgU9WX| z3BQK>k~KuQ%xb4)p2?#WBDhb<5cDQ6Wf4U-#yr-jX5LBm*Fc9W+1aS z(mMMNpWK0gFr{v+O^qNehiLiVo&Lf+$0K0nIu=LhcH^GW`_3u=}vDC)YYu*>A- z@1EH5*oDRQk4-M)4*Tc+YxZ+5HE_S}T~=M&G2NQ<;NZ?{Ms#0QP~6d-_U@h~A7$zT z7p88>*Dsw{{p7uq?+@Qj3qt^R{TS}t@b@3AD^?L$|2mb;%-eJZ(dn{k3?>l8Kx7UP zv0lL8;vwXZ?W!inMU-T;Vpu#7pfD?=O-{{4;;sL3xzO_y|5WR|xDa=?v7A3#RkkeD zp{f{kLOq;gE$eKTNV`uuG#YI@xIIb95^pqGK#7{Q2`s}prf?}%2(aXJxhS6TosTI@ zSxpMHx6lu-Jgiply!qqBM&jAB?vaB}uYZ#BkzdKDLpy#eG+I(sDbjD;2d4xQr^~aHtaaG>>4l#_8gcffdX;Zxj8;)TW24r<9{*XB+PC3x|qR z+ArU_dLA5QQCI(i!{0xS?brKkDJq;hX-@;EUGR8yTI%@0UDn@QzB<1}ZidxIF5+Zd zRsHp`PaEPm2jPwJxBh0^X%IPu<`JR z?7s8XRh~*C8)_MF@g}4(Sp>U-v)EvMn@KO02lanng&YE~N6RKpVKKjoRG-eRP4G@= zv%i6yUoBKD3$49mP|Y$~8ydLTRb}DMdlMOz`T`ccP2z35%V`o|;-)5&(QTT5{jpNsD&i&WICqG?6-XtF*xi_TP z6DWY*V{{I9wL)rKoF2JtHlz{+Z@M{=YA4B*s>h%hK+G`}rP!)bZbU>=r6Y^E*abXo z7Fh`h?NK7BELhQCMMc~^()j-<`x3yWs_gG~?_2Y-yzEKav}u~A3#F7cw51eifYOax z7HcK!Ap2I3O~8tXh-@OV2nYxW6>CKX*+gVS5eFGWL`-R0bK&pG#;-w*wEc2TfD7+=3`|7TC$*ahZ3Jhr^*wUfvSKGR}HUjk|2 zL9@Pi7|rs+$!{D(mu~JuO-~Cbg-Lz=(nAl1pD|v?`ujRwQ~j7KEV~5(4|aK3n=^q= za(Gy$U}HE(oC!DB6vs(2{H7FHS0wpM&c%|oxP|C$f?95g*59}ZG%-f7a^II%)xG^{ z(0xCuKGtzSQD$b>!Wk@HDgvjtqs6YhH!0P@4TbSQH*l z7lWe@^wTahky*u~yad~Xu~fH!+in2{LyW|TqGX}tT(J~yl|YO!2AfbuyA(CP{-WE* zSJ9(>GoEA?YXUsn^6WcI^q`}sV}12S2%CL7(GB!_{rZK zi2&wA73@VNu_&^LeR8wxku>8!s)8w#vdX-Hcy9#19Xy?1+*n-j(4=7#woe>7>7o4I zjXerZAN;&n)58kV&}INOZoakU_@}GtKt4M4=!#E|KMR;G&!9iHgwWp(l6a4XSP7&O zMDf(9iA0>0(`8fi>GE{>GtVg1A_Z-$MU)Jt8O<3?)t=UsQ;N4YquJZ5PK~ObQL7P- z%I~XDP!gpfpU5`dwTeEqP3=0-G1u9ia&)02kYYC&Bq1)&3MCVp;I`|_gLb=QwwcVP z@}QZPl*~9w)D{)lf}<>1Hgf7oTqzaqjHEPRyAf+_`s|3j{J~?!FIs^XHK4upA=C@3 zICJ@g)xO^H@U%sbP7lWs-U~GB&-+##J0G1z3P!3Y)q|q5NL41SFWEC#i*yd)JK!w?LKIhb4MwdAZWK85c25A_KqRwpd;vTSm9_$jX zTzvA-Tc3{w4Ig~Yx=~s9_olfqt75y4y9thge}tb7-?MzhvWJyAZoXP(F^Q!r0x2Z% zSTdV+457Xeh$i9)?U|(2l5-)!%$QqRUv!sQpx`E_yzv>j{kL^Gu^7#N19Xs1JC zFAr)o3`=f%8?W45Ws#s-;GMChPQMO?@ibP`!@`wc9{*)#==YzFy|VYxS=Keq0vhi*GHi9Y8b+5@-NfJdi7Zmosz4l}HUH;M)wc5ZYc&$3pVXeh~ zI!@Lg=4OB0--bb5#c`5l&nzz*+`ab?`e(^s#2cJ9p89ZRR~n^irgY01@F%!sG=JB672tIu5P zyR}2k`jt;CTear#Nss1KJlN-+cX7*4V;LPF=LvQSI1La=oJJ!^g3-h>Iz84el9?m? zk2yvD$f;DT0E0y)E@&oG^PYa*AkdwTY%^&>r;o4)L+7s^WKP_ypnaz@eXCvC)z zd02{>iw(%cb=#Rzq=Hl4GgGMBPJIZY6w!S$N^84-%`89-<8T`Ef}S#|ynvSG3jN3+wpb$y zpOjzzZNPR~ZS~L*Qy2FPzjqYujWGx=Ef}{SWmYeF$(m4~F=jc_BXm4FtJ+TIHvRLB zhQ7*y-+@wx={i?;e)*ZcZRZU^NsCA*JeFN|05cS%n{#P1shd&*zWUyp7wN z_7TOqDg0ft=EZktz;}F4on^aLFcD@)%4%Z`_|hyeYt-YPHk^*~EUSK?Y7ys~{LFg| z>rPHQd!=E)s*!(ssR0hjO+EG+>>WNkcV>J(d|#1Rey-e~?0}O2q(>ABpf%|AT83hbCPR`2-%4gw zSI-bt4eW0l%=fq4h=BK*PBp;NMp)L+xTED}H@_m|NVGrM-5n~H4Bo3WdOc$zOpUbN zAy)us7@lA?@ie3V?|YS3VXKOUlwlnx{0AyUd%?}$0G^W2zd{FIdiC@digEO8_~|n! zcKM1YAE6Z1T27QT0;ysw3MA56EhX_btCj4XF?jJ>#NcFJdIMwhIX$Wc7@Bco~@Y-K4G0!$MVAb*TnX?~!zIx?~rSro?Q!4xT5xG5P zBEh7V$v`ob#mbxUi0};Fz_l%da+{DT146*57~n~iO&{h6`oAU=(||W1Er=Mnyxg6Mla5!|V4mUw(VX-04 zGIwWGRd8Y%;+?8nOd@3=2a6Oq-?*c!@%lwjumi0{4PS1)xA6h&=v#$wHaufT|Ht|( zpRV4Ej$B4hqR9p8Y)QZaj2o^2NXF&Xb)Hm_kTVr*b(6@sMbE|H+0)SOM5BwGbLx29 zKAlFSHD=o0LOfWc&eiRa3i+UuR;^ZZ+Y|`?8}u^z5S>RaYthz*1~A$I`U5vsTs2MG ze*EU2KYah~cR$0+Xe*iyYQcSq84L136{tW44as<7AA=y5~vOP8j&wMrK!7Ct%=z&;s zq85*=nNIfVw34eNsFfreYjc(aZFUy4V7C{vO|`Wc&H2gs4u z5`NKWp7Zh7AmKAN+O=-=YF^j<#H9ECfo}fu8*~$dKsNfma^l2WxV=r99Im z$@BZi)g#c&Z_zDu1&q1?7K0f@Zd3kTm>5z zE!m9DgKXe-&#y!8ftXE?(7BUpEgH)swHxc1vM>zxN6*4d{d%F(m1^xLO;A$h93qId zE6*{YB*-X~TTwYgvLiqjBXd1mOCJf9;O{^x9W7?Y%W=`W+RmjxQHt2kB|&o4|G{?7 zQ*CE2ww;;r+rw~M%@Z4Fn6U-D^SgfaWVD#T*+KCj_$SsPrF7okQNikFR3kaYUMBCr z4A$;fm=eWu#v*MJIffMtlAh3IYOyP1Fz9JYl0;r_`%jj0E328<(QxNR@a{pB2mbFZ zl&}%G{|tUc`3J!}OiB0$XbJxiJ_9qtpU4kCd5+ssjOBa*GXzWZJ%J3UPq0|@l1FfI z-ehBvC&^P1l#<*@P)jEz*+rT6#V#_0Jm|lkVkXL5U=bMLh^#atwR*g{U?Ip4-Sf!U z!iH0Ces<=Ong9CqhlPjUczO*wwE-?{+~I1sr1H5Z4i^Z%rQlbg@)jps3&5hI32c`Kay*G^18{fD??OfKcmARl`UqGB%1>) z9y%=)S&^p%iQ#Q`w3wUc&Tpc#4x&^@y^VCFIy?MR_!OBV{MYyR`o>$o&{y&Gjl^aK z6fKDoMVn0$O%7vtU1^ZF1KV9}W^6L6Lykq4zPcM7iW{+Uc3z_0HRDMyTu2{5o6)eh zb@Ms!HTX&C3!8-{(@NzAVrY(I&5~qfjdmMvpbT2tBymQY%xDwUpJ<1~hX<96El)Dh zXho9&ZnuEo(d}`DT zYpH@j0>rHV8Vw#yy$%Q^!7NY&AOIq*l{nGXjQ)Jv*{f`6DGL|Wz_Io9;Z1mKQ7$;$ zbQt`I%yJcc+tV*{=Q4a}ISY*fEVdp64dhFLP-21YZdqucrk>ugJA9BSYa#@->WSnm z`MUQ;aLr`AGfu`k15`TJZ)@cHBnQkyzp=ES0W8Os1i6Tgi#{h&qcijxw7DK_qbCwo zM<01AQez{ZeGZW`%%&qNTf$kfZgFBepfZqZ*0>~wvFTWB39!Tx&{J`CogE90&gimn zHmvxbz1Xw9)#q3;iL(T0-2=N8c6w?9CNm5}f_(8oW&^_iKjHl6(oSdbdpWBE+Y z02SmO4OZp^YxB#pG+=9wqj?eQaS^Y0y}(GKs=mS9{1xDBvAUVd^`W`-u%!MuqN$lO ztfF5JmEt>W#&^t=^Iq@@=0s5gOd6BbLL2avIVZQ5I%dx1}|#Qj`W*tiC4R(b1c<^E)oxEG}Xq%xlPE0B|j16C4bZFlik zd{O=ieHDDY`(}@NaIJn7{d&`3r9;YyE#a}2Ry-D+hSCFKZZLWc@mQcJk=lPbLB^S*6_ZP^dh71I%SgLgn-!Vj*FfX5(?cbXa>}`;9W21wF$E zB5ku%CX(?aXtg3Slmv50P_X?cpT(0CF)VUDK(#DjCMfvg!j;dF5AA>qtbBM2Is*!T z1uok3T>Wmm7($_;_o8Ph#pYq>${LwiJ=kL*yoHQKr`1{n+TqmMC`oRQULy&{mbTo* zV`*uPpExR5u_O|&1=N6ybEiHziwf!)Z+(5!We@{|d28UJ=QizniD&|>z8lfAuMepv zIby06rcrzr342P|Y2>XIN+d1e1&P;|1bN%td=~7eC@nA%+e*Ft0I>7Yd2IQBz~d_x zu7!)x=^c&AO@|B}d>@vB0<3lF@ZKIv6=Q!uqj5S#GsNBsnFdMg*5Ylwh2WRsZlhUM zQ(7DaQRgMHTTXnH2*RX%1OaMZoZWTB;5~1O*tAGDzO;SZvsw8&`vD4w=!&&qjU)NU z>nj_#<*kVIqD$yH`W5|6;qm4CxP8Q9=^x0v&0~>Met4p(+&bJ=os#}T+oLi76o{$2 z`7YQ+NmYFpVrsV{Gvxf}))$}LG@z^X^}u5do&6ku(2vh--@5LZ?c1M$KHSESf%e~I zqd>V|HKDWU=J`vXT>R+MPjSnASj>*gHi#_iCM?+o7O+rc>^40XDJbamKoGEDElAqt zjpI(fir=eduqiuETZ_ z4KJ>EcBU1ZKt}9owo8mz>3`v+mB$Vgt|^FAs>`-Oje@wNFv;TQm2zFlf5iq>uy)k% z+#`FZ*hb`f%J~rSr0!c|rQ+gvJHzl+1C!vUVu_N`S*@CqpjFbDNR1&M*P?IkqKH*$ z6+3pG<&(D-OOohhys8rEy}zA5jryQ52&El(xwC3k_5;`Jwtn*iun}E|_R&YeH&J)h z#tel9--ng7tP#1LvJVtPPT3@_RtGE=qhM!QK_^3;NLWh&NfJ!Nq?ebH?SD9BlaFtW zQ73H{+)lFM36uQA)2IrKKw@JfxLN-*us*txDM5uBaU*4mu!Qi)hxaH-8_$f2j)h10 zJ1XJ{=wzw;SdluvEOk~>t9oZ$q~00k9g4!SRQ6@21ov6CWEdc7SwYZ}NToK3gOUaS z>{)@9t-t7Qp-L~zLJR9*MLk+ouk61~N6-?rih>ciFID@MX0dss5qJ^-Rbi)3wjz2} zu4bag?g&q6U=M;!)J3ktiFn}bQhcSY|5N1KZO*7fEb)oVuUob$Fd6LBI+cij@6C%KR*;c_fjA z_v!4TI?wOvqmSDM0o`2m@3!A$fuLb|{LPb*0zn4{d9OJi(Z3%A z@t+cTDMB~E6zWI3@+2y9trGQG5Q{X;N4LW6@TS1j{42hm^E0P74eY_Do5O%>jGbsk z{7txD{-#9526PONtzb%^b>vX8xfBwl=2`r>NglOFV7=6N-u#3@efUC4-!1@Q2D&n` zxsTCTHrTw&zUW&G5 zpU6i0K_&hLM$q55n{G0kyCDH=N5d1;dvC(`wo$VJU39$7$Y3vxwPIyN8?+kE0szPI zjNO5)BZzepM`^5Dt;t}~>C75~p2z=KiDH`(^6~##xC&eT*W#N-9MqQ9+9K_ZG#bAE z3&2S9eD=v~R1XGaWRU;kC*-vZ@Qr(SJaGu)ce_Cbh;#2w01urs$(wnZIlP6((?p_%w{fM(Z6-#r$w<(gl`?4~-ZFh8fEZ;RN4>?~ z`Q_{P4&A?h=)K^F?VH!V06K5j1t)|)SxaZYZTAix91IR7Z|!()?F%4({fkYV`zx>Y z2jA~_j(mLmiwtaNAgCj|8@~SL$1C8}&zEjium?l%<(FQ3<>g(wUjF*)pDu$_*Dtp` z|MBnmIT_Q%bUje27DY;Z4)@|!$Wbh%@a)clZkZh^HXt&P<{&5VELM8aL>rddc=DpT z@#LzpSuj3w6`Eoo1#iEK%G3el@64j4N&sCUBP}xWj5B~BsQ@$=E09%kt)=A<#X^Rr z$)QG3gb@x;2wWAKyNX`I9wZ|}>g#9^e20Ax`%5W!cQ+G%$*i$j7|Bg(L^oE5IYs{e zR1)D&w3%RKRlf%Z&m3V8`>Y0#_JEz$r4#0%op9s8F*i{)zRM`QyLsijjy{1jgACiJ zHA0qW%@&#$_^Kc!7)+Hx!5|n|QPfukMUHhwPCVpNraJ)$0R_NFriD>(gTP_X3H`Nx z?_SyzUI&ZAN5S%i*w+ykG8xZ?zaukHOrmk@DeP@c3k38UlPM`7Rx8<{6zfXFmUybs z74NDF>f?2Zp2Vu4#v^&$o+3|Q4?{edc#nf}SSy2$+j(S3Bb$8~QyWWCZEggD#ip{M zwq}-? zZ5++UCnU7%6HMUZo!IsdVrRJ}6W&4km8G(Zw1EWiHCGd<;7xuxEk8my;z?{tV`8h4 zYP4OaPFc8ROZQQiFLy$#0BS&$zljeT*abL1q44%je|f#}(12M6rY_;hW#DYT-hV#7 z5S89DfPVJNe}<2<2hWFpT)ktpjQCKbo|dLi(*s5E4!7MNtA#utn`~mlSO=GyrgbjHy{6>WKfc{$vAYpFF@hnAOvSo58vsA%^RP2`3H2RL;VH_H|$IW$v>RhRa(#H zqA3dt0+|c@y)v3q-h+cBGa4!>uUDP%PCli{t;);{W43m5$^z`rd#pk02RVmt}X~Xk}Uf;6y@R7|w z{`mc+KW*Rrns=Q0$L~F3e9BoTy&2D&3-3qW0&Z_?tfYyz({_!H@uhereT>NJEKmn^ zoZEucBe5lwPPD>dRf|FVN@O&bux95+_zobCh0oGS)=kN;;lw3NNYn{lV;9TT zrjzO$NTqjTQxqc!iMz>T5kXHu1!CQ}fli&y#?Xl#y*0~Spj(|69E5w{;tST@rdXyMDl;L;cG} zU0jp%!oXMNdDj4T%geV`JcYu$(B|Bd2@BJodl)VUw%nex(091CrC1aHs`3>MQTPg* zNN!w!9uasVohd(zf{2KOHXJN-syC2Zd(DG?~ zZH`f|y_sAacGD@>o*ub&`<72n#Gj_rPnW3IoLQv4H_7&*2y?cB|#_6#6_0@-8pB%NJw(A5S!&P(|nSQfLCmuT)K!o7P+{V zR4g#LFQV(OG`{iVx6h7zCWAp=cYnHL)^imfeHz{|y#673%%lCr>>4wMu17af?suo& zdI|Wq5A8DutZVOi-r+;nn@&Cr==CEfKYsJk*^l8~sCXaPa???10gHwe8J02VITo-Q zl8HugN88kSWp^aGaoB*sOWXreQo-4JaIWbH^mI!@A$Sg<;_+%LLA^6Ap zO4gf^^+fO`D4u3`Mk6S=Boq_Z_GAwz2YV)FPAJsC3`9m=f8$ra{>C7}9g2+1Wi{U{ zme*i^K!75L7qL#S!eZctMqCo*CPBa?D&d^)MkWy23wwok(hbNsiQY{6CqEks zg;o;3e>_|%^D)zuEueuE%QREVwD|txvH!Vp*)oDzbn6%9D7S$Uh^H@zcn>AP8o~sc zMQTtYM8hmrUAZ0$@Wa{#=)3*E^F4%14YXlNxSD;F*d=qo8a9(5d1oFflW^R)br}@p zi_tM1vapF_;xra1jTFLCvbQK}e!uB9Le`YjDBf=(QCNubBL&)oZYq*j%Vxg#=+KQl zx^5h}X!q_#2j)He`r;j-x}H<=a;B73jvfiO_neaNpITZudJH_f==F&+$4`IdsV82$ zbm3L>#^BK-hfcWv-icuDkWnLtO{%_c0v-n)vcenK|Fn|YPr(e$dfH|;YFS0Mw4A8s zIBaC=G_`O9n~booZ~N@-dw0E1QP{1^LC$JiYX9}-)xB?6me_w~-C!bFb)&!%CX;bv zU6w_x(ljZKmgww`sR;?re!*t@C81rQU2?x*T)TjTU0nPI=jO6FGAZVOS=TQ}6EgKg zGj_hShMvfvVx7h_@-c?dc_Q}jZC;2LOL+0@yETHj!}C355{}cj~0SZ6%@yOC)(XcojQ_P6c)7dr-XqWkSo6x+%bc8Ww^J z;qMmJf#XYoaVc;Ye7zL?ycAu_Z)UH)2vhL>LbR*GUaffzP-I_MbZg6JJa_&Kp4(ci zi@LGzU|po45(9dH;%JH%wHhAEBy#uq^CbCEvA=_ozHUenT&L1Z4~ z?|{9gOgF(^D|@{`+^iWqecS`uExLWo#Z^1U4;VOV>pD`yO->7HfL<#I2E9g# zKGtcDW;DY<`c1}+;f1|>Rh8Gv5Zw3O&xD$c=qM%gU!Q@53+cb}Ut3be-P(a!gP3di zFZMV4kCxzXPe+BY_ST~2Z)+Z9?)>fPE^ZT3EhroTe|(Zfb2D}0B)6enr(#l8IP|?XTmm<#Z4PL5i;}U z`Hc>H;N4J(dh8uAY*b63wl{WBhI#Eq77}`4grkZ6otgmy4^7iC* z$~VwF5BJxtMpMCt<#p&6?0F|7Xm``r_un6bw~;gNJkdv&nwe?(9m`N5%!fhxBNF%r&-Dt#bnTm;sM&jV$v_cqj5EKl#eB5(NA zDPs#N-Gv_T6Ix{L&Wv9*f5mfd$D*W^dxKR2O+q@@HvVg!oEd<}eFq+Q2jwNqm~m#0 zk~`^3PSDyY$tXcdqMbI6K)ajsdCUcE(k979Vw2mVo*~MuWFsxa+e-SSOBLCj?p?WF z6ym4fSGTr)<;GV)asLMf*4#I3BK;0vZ%GfDH`Zqqu6^X`ogY0g^nt#E2Neb%ChM&L z&(|tBg5(P5@%&Jb<^@P6Q1aX~?-~}Os%&5f7={X94cdmkbz|nR&@Xu3^y5CR!F{w* zNqFBZ3MAR}DV7Y{#q%_4#P)fIEY_Hqs7;Schw14tqQ{GMm0Z_>r~MAV{c_Hn+D8Hd zAfFM_&GpN8ceN;3C*&y@{qVDE_wHKu%=6{sapSl)gm3s0<7Iek4<;6YOj4fQk zb%td()|4n>d)`EQlj9AdR%?|EZUZzJXouA;(4MFXGqn<5Vp6JmYof*5Vhz}R5i~{u zT(kMJkMGUS9tx~B(L1xpqKz*-xnVCl+<*9e_gBvt$CRL7Zb>t(pv2$lnMF_TdVlcn z`|(@dM?Og5)>Wg0{Bib2tgW?_3CmU-9#OCC|7B5rDxWH(il|;xDRnP3n3_b*q#mZ0 zQa1uidIY+4&F&~+d$YP~VAehUjp*#m&zjV! zeVNyt=%P(kx|n6lMXFuTLH(Z?GIL0JkCN`AXU&@2yW3-RHGL+{o|KZ~%eLvMo}fqf zA>AhHvvcT4x*?M%O`1G}2AS>ST`^9JS<)4B&h6w$B+0DAd{Tc}{)(X7;vpn-*J&~eHiRP9@=;hibr za$st@3JmBMU|jm@@3_{GJ_>+hrA2WcvnzVVztVF*S7)m}8)0?eXKa=)>cGK#=wJlqqkc zbL0*js;#}b8yFx2(#^stQ$RhwcLljkC<_?p0x3Km7|U00-n^P{jJ^BriIKhT&F+bJ z&f?tuK`<%_+eBY(%J5a7o8nlZ20Viv9R2{Yo~zMuz5(xzw2W)iArJ$!4j+@?Hqn}l z_Gt-LLsEjlkdQ<}yq9MwlkIP=0MgKG3#~5Ja}HI_5s+RR9UWIdbYrMGR6~E?zQ?%o zH+JCWz~gor6oPf%X*dd=B%Nb(EapFO<6fTvIjgeaLK05?e_KSl9k&h zuXtKTA^M@Hth{@myi8^8xj%}zrxLwHwMI)<&+;G#dD){EvF~|>%fOm0j~W{&h~pjF zPQDIqcLvOaJ}qzN@;h4%r9sNm!BZN{=pc1)cYqq&+QHg^O-suz38n!yz6C?%_Nd++ zBA9?6Hjsji{FW*_CAAo<6GEGqnv$#tCS~#4d?`@g6d0z4L0_OSnq!ob6Jzou&%MJ3 z4wa1GfjP_-bZXnd-5&y~-755+>(Kn6BY}mk>d*r{kGI!>1@q@Qvb>UJcIwcf-bIgh zISZ#1wTBaqE_(U}bOv2mxbQrnhWA;yNyVF)kL^Yq_F%0hGjF!ib_a$3Z#J`HMRO^L zg4U?|A7*o2WJklBI!RK+JIK71_YCRMF)h}eR#@}!7q|{go8n@!X+90M6Tjc zxg_CW>OJy0x^n9}`w@GFAgWr4H!uX1;`cSL(J+>dcmuP-pTJyfskXrzw$YO2f5jVy zxpia5JoM0*F^^1*z=)$gBOjVIYSgURBMDMC!5fCu24*}w%f5?!cXB6#K|>2Vi-vW^ zK&@b-vQB({vPEv15qmpfFONV6*{t~1U~h@*&Gb3hRp{Fv=DL0Eq4~X-B?snNs~QVt zztF8LJ=bb6#=0tsRiA@9kA03*svPc><6Wvx!cK|!B-}f9c)u@sUuCNqEuZjuh<#w^ zB$LTSQC2O-Bzdh`TBC872PKWnEgvZ`I@yY8wpDSF46N$t4s-nu+%J1{c@cXQZ9ykx zY}JvV7wG+3PM5fYhWJI}M>Ng4`P;9*|LYf-Po9()soXRdbiKw-us`=o>RyD<-_Qpj z8)Se~kd4l%9G7ei^K-h+k&bQ2FuYsK3DU5Psk#;G_ zwJj(kCN`!^iTi-T)3^>@MK^FeK5qEy$-~FlgC~XV)27-F9*zmG#KZSb;11J!LM4Yz z96w4QR#A7@^~^6=LW%=Pz@?WYi*o7Jn!|eLB3duMGP~(<@=7R%xp)h( zmnj|$Xd-9wAS^J4(F|@Cwj%L5hb*hdu0Lhb8nJJQmpSphRLux*cfG0V22CO^iD*W> zI6+ra)vLUFVoGm7u@_b(P2X$C$;e3OMvM5`g=iasx9W(EdVr%SHGM!0#zkchgbNE5 z(DTAy3i9#_^7Hel+gUuRUbj9~GL7^R-KbP_&xllXV~cmZ@(I&jcs{9Khg!2>DfKO$ zNPP>{>+{yRl#6d&=T~EYAe)?NCE44hW@$7`YMhHLZ^z>*FHfD8h=mhAXqA%YTO4jnWFH@#`sZaHzB#2BbH!`3XItdB)eA2 zNfZ<3;!TvPJjhT&Yhi*Uk4~^1Ut~M zQ!pF-8#STv=s5WPleZ2W`RpKb6U3sg*J6We^oO4@V?!BBpI$bPQro$iO_j4bO9Lqk zWwA(FJI_O{o{5d4^#*-OkTK&2qcu_nNo#4TF~sVjEi_3~#y}+TUCtpkMN;o~gMnx_ zC;|tre2zTde_u~33zuwW%2uFv(V6<)^wAYpLT8jTP9WFCdStGY3c`qFv2xCM9qYu` z^(4hn<-s_HGds+9uW~r7*vvLZ1MoCcGC6PKvTK9G(^4brlf{@_^(6|q;h)3Z1fco% zrnfiz9UVuz1hj*c$tHm5pyMY8%SLZefO&pG{~*9T(?GRaBkKoMaL6+qQ{+rctaUdt zL-1}(I9g+3L|VhLoH5af&AcS9-a-JeVi*lpx^_w9)oOC-U$ zIZ;0OwmfGNP-fHotd7MxM9}GYf!5OUNvxcVW-e%5 z14Z%_yaeDJKRl@f?VR4QcJn%PWgi^B6^=U;9s(){bWU&vU_-cuJjh8mU3B*8(W7?C zJ`0x7xpLi&nP7ploT%gUG~lcjM$ic*L6cUe6SWctMcdt)0KBx^3cT!TPYO|8a5p&D zcy{`;GtM-Ea~>dNbWYN^Nc9K!4mrpJk4EO?WfO;}2sHdK85bdzDhc=uqNs(m8Oxl& zYxy`A3p7ObtWKT5pf&1f3r}n1(eSIJc>dN{i>*dQojqlAAUS?v7q8m127P%1B%$G0 z=&k~8D;#??JQj4H?b2Di1Xd{WP~e5|XqAE7nyg;q)%Gs0W4YsfiBtVD7OLu@?xy7VD z8@IYU%m=xw2e9dA(Ckg4a~AJe>Mb4XbgQUEQ0y$!NthL zl`Y?i3c;z`5h>xG@L1~bT9gmoeg3I(9{jX;BPt-h&=IyIJmQIzm#PZ1!@^`tay#7# zq#L|1*$t8s6O*u*8q5ji(x4Y6Bsdc#+z(spe%!4i^d0&^EB#=WqdoW6mS;cLxHzdx zb)~pb+h;)M)FlmzoE^)j-jDu7Cx-U}A5%5~ZR0!kn}E&je)pHU!oNc?HZTnB0sXp7 z=$j*e5ffIR;}JQ37tcpB_8~?Fay{|!2`OI52vdE42dT!SIIlB7lb+@U$=GEt51I`w zkE=YG3bFs1OuK2PQAjYiNYUN8_1|VGFF&#-NFVubXy`*5$7DXadzrgr!f590PqREl9=W@cTO!?!UNrwpf9e0$T`n8#8CYB1QJ&J83UQOz zr#e3cPidA9?~wH{7wx4zky+i!XID)?4}yL*C9d!dD8v;FA+!2W8Zyciv!n3DzDM%8 zP!*HQoum3tj|c9dES{p6k`l2fzgO3GuFN!xw(_2GdquF^QqU=z1bnhO&>Ff!yFjma zSG=nt7$0x!+OA!4MX((sVl5{cjWkyKUKx=hsksitcrpSK+6oi`*TUWt}oHl!~ zgSZd*kthlu36*2>+~{eI)|8);nwslZ_(Ih~1ba)!l3_XS=lg>rA9|?dxzc{yiYH8% z@Y>;v-~ROg3MhC^6W^Fxv-?=VtnB$i77bYx$m!_JXkXiL-|;^;9661yp|6)cu{1x2 z=ThtaEL*quk%byz*-D_3k)HBEB;N180ho5NJ zd^x)v&8HWzRa6PJC{X1{&(n4=8WXj&LFk?n=$fuAEi3NcgJMgAl+?rBBdZ4<)*jtc zu#f7EF9{m_IsTlIV2ao8_omQ^-Me=#2@2hfiAk3Br9n$%_xHEt2g+lbL5BKcJgO(! zVmmY+jVnWhM~IA*K?(lk=actRyv<{stRiDI7yILpRt6g0@Mk*Hv&Lo4TXFuzFIR_7 z>DVV&Gw;>9R9kiaYmW_i`uSt~LDlBx*Uka?p^8-l3m<-D$hi4^Rt$WCt&*mReY?As zO*&j4l)k@qHw_)_+Gl65Z0ahDlV#^jn^{LQ$3_lX*|;Mqc}c!BYgAmPrBm<2o{Y*r z0XZ;BWj~bhMDg==t+-(nobS?ruQkqhc~G*02+Friv#V=~VEiYP?*S55o5x{_~MH>4C4jxVurs;AYF@m}p|a$k{Cp6IBs3 zF(S*+YIeU$dZ;*rvRy~0%<$$auTkb|VO0S-{BHQi{a`?uH?d?#VfEBtyS|;-{BZ}G zuCWJ0HSeu@`U>R!yrG9>rB#i>c4G!$i#H)40f*$&<84xJWPv23legRt8%Y*3cGWDA zdlAv4!Fn`t&(+Zu!7*TjuXJ#AWQRu|U|?4mt~ej7a-`-!>p=64bo2-QPES5$n# zGU9o|M~UZ6&t@*%k*%Yf99dteerB{R|v=bwIdm8sqPdzDqt-uu;Fl+pX>la&?uJ%`QmcEf_Z4b{qmI~F`C zGaFq%XXJQWI>QS#+4OeFNhx}4ESMxc?TU5q4wAX0I19}M?5%Ch zs0tP%#ggt4)Md&?_5g+gRVy=^ayQ(n0ob zzk#gOfi?qNtTbPSlu;72nI&Ul zLYyY9B*@Vk+kfk&5}SfNr{w*}_`-QgK9HGUG$fEbNbpB z9}3+IItMiG|0C3|ZmF(o?l|WY52KL2n?JX!ZfPC#eTT02@-j0zCxeu0-+{#B&h0V^ zQqbpD|MZc&T~dYnqgTO*?(Gs2+q=)HT9#iR6yinKo2sVn3v}p}@6N~oDJ6aSm37tS zi}%&oAmn+YZa|={OH!aqpgfq?g>l(C*~^0+Iz>f~y9r(fcL}RRtA@$8nD~5GB-hvIQzkmL5jww04vgc3h zUfT;~PMuL2EJ&Nv{f!U)-QQTf>Y*_ilj>$n>oR@zqAK+Bk8=`|6Yxk{d-TBC$N(H5 zEiq=f|8IXo!}_&L0XzQoH~;dOM67WBiFeA+xLpq=w@V&ta*wX{W%w>{?_QSH*=jPy z#1X7`NRYhv1w2FPsQ@)R(5Yi`L0)%<1DNyDb;*2>o`%fS%<^DDe!eG_)oAnqjZ~(` zj(5PC$`txN{_4Yhr3g3)5d#Kz3L-366rLnQs}*t7^(;&kx=LI zeu+6pvOU>HvpoIiUR{S~mOQ-it6S(FC_J;VQd8A9O_956>mN}9pC29T@tD71?CPT* z@8X%b#&P(kF%D%k$3T~(2Re4l&H~%OgG9`lW1v{fQc{#4Xa&|?BnYZRX}EZHCmt&- zX@TTqV2F*=nfZ+NX*Pq~PMgfpL*$J!OC}{M+A=Cp;nCJ(!T*O?DRXc@Le9}_clObo zgnpngwLy-Xrlt!z?~yifQ+8*hlOf-5w4MY|YhU*E2T$H9fJ!j8k(K$9Jxz3Oz)4FQ z(I!f?GsZ%d2Q7?_BLQnM?hfclAW4DN&L=Jwp0rNpWTjxF>|f{$AOcuh&|pOe(DSc? zvQK|#D1Djrqqoqv=ri=OBRms)N>H}H05ylJpQ(}=B&;%ngp;t^NVLPQvD0)+tRqfE zATUQE5JV%8+y*_M5(D8z!C44}fT^kP&W_nnjsMfjFTb4Iub|!v+yHAfkdfqA=|6M% z^S_v4!&AYhWF#iu3Nf=-4)3v90S^NOnxjm-Xw;i^27}FNp=c8)u|{4mYIIrxn0ZDm z=D=e?r&@gZto(4$Ebqe)2oKIZh_3boo-^o5FW`B7_F>>DMpyp|5_*6F^iD6(vwp^I zFuH!$ZqTh4daHg$J=(f^2En{#R@05_e%y|PfR5rsBWJYQXi6_<6t_B6ZB82UG-rH) zC0x6X{`7Wv;5e6&<uNamh8_)+4^Jx|l+;}p%UcKJO{wfS&N#J};=7cU_2}EXxO-*I0}l+DICl7; zDGBY{`}|o+X>^{^!S}74IK`jmaOC-?Oswq73mUyuPWR4I^ONKsJdTcLBkQ(5B7!4l zeDhw}6rm$eT%_V_{a3**OPT}9?`0bj?SmuuBYtxPKR2Xd+IRHuN?=I|wU@4|xg z_HI{Bu10Sx3KVAW9r9vq@usX)DcNseu{dUBnVT0aOU_fhdHHlINr=TBRz4w~PDy3) z&Vvnq2f!9$z5~C`%YHkZnv$B2Uv=1Jj3Z1fSg+oHdMNZy_}okQcZO*|?_TpO>4~P)LH1tm$5On?2bm4zi=RJ+ z?DCb!6_qQ424m{LnBu7eL+gyeBK#Zv9j-W3a`J)Dcd+-{T}yJ_=_E%J(IQUZhf!84 zi3$d?^rDV87&I0LtyX8EMr4z{Rx`)qt;uYliuiyv?EsojL-09oa2DCk~xD;Q`H7 z-2v>Bo}2x_z0Ap*{|J8%>S*7q|8C0VGFI)JTs3s)^J`_Uz$Gk6Br)OH?Hgz(@*0L5 z<^f{L42hAKeS|l0cW#NfWK1tVyN(rhL+_rUmXb@AjdezRc)q_TC zU5DGArQ+wCcWxnw5QE&|FtP@u zqKhDK<-!-2k%u4|Wdrx)&$I4@;cJ_o+u6WuUHGr2FOQcktM5S890)&U1ch zzC)!Ym^)+gL!;M?ee!SvSc;7UTj*x}{gsm^uUPQ*`+s3{3r-bmseUVtlZep*%UQC`l8(K&?07B1^FpfGY_nT^j-+I-Ahyf!CB-C4F?a~ITE>dKYRRaP zgg7cO>fli(61qK_?N<`bRH`nOun$|naz98tixO~Ddja=M`cqe(u6{|35O`_IXFnX8 zF?vzyl-=v$riQHaxf2(TS#Rw-U~LlW#&udhs2}8^{sI&-eH86pfa1Wl1>h^C){SB=;U2~jt||>pGcg7O zZ)F%)yvb1>G`Y0c_{9?zp}UCcWos)~1*;}9h3~9Fy?Nx)0J1(Qm_2$>16>{-IcP2j zfcuD(a&KM9{H0*QEefvEg|W8S7!HZp3pt72MZ0XS4cP$wi$pXD7LrKc#G@j&QHZe` z43Y%RF-*M6t|ch5lF^7)t5K3#1CZSrFR&R^R;~t(ZZ3o+tH;cozxc_02YOf3!%avx zpb!`V{}mFut}A-~!j%tA$j6jDg%0V^HSB+5cT(oIzfWQNbnk6amG_|`3|0`(;9954m^iNyTq1z?~Y zoi9c`3Gy(0{ha!`(9BPeq2lc)5{wHPLcBONEZ!J(9L?$pdbtd-uF@1JkYH_iVSP&b z`DRjz1&uq#hQHg`&;Xx372Yp17QlC(48Ox33}?Vk!i!a;(QYzUc9(#goX&GB3!s*f zjF9AHQaVX%6KDcN#@+qKt;SA;_5};}JzpIG_eBH4zk~VB0KY0~*LS$bW|5IM?dCNSu*p*2hJ&ap`2KD5$wIJiuF~_lpyCX0Bj2Pj0)>|&n)y39 zKcX~{A}~fHFlh}sku%_%TW!3BvS8~%D;Q`K-bwW)vxXQKYI205;Erid#Ihhz7s{ZJ zK_WKA<;!rLJSrcA|8HZ%CYIT^?^!ezUXn-T-6z7wnJJ__#F~i1)`Xk^AqtG$4jg79 zXL7`Fv2j*WvN&vf3>8BV(Xc(2g^f)LVl75d>OpRExGj3DqU{}QaAGSws%_TII|=;` zjklisG%)QwR17Y@hwAEfZe|A^IkF)9?cjW8MMtn0WrmkSW+EEPTp|e36vZx*ceLC< z9Ntf~tiUmX7H=^EqqLfQ40>`;(MC&@E{aj`?)N0OOotF$QX#O#ooELU4`>Vj z5I#+o34K)63dd!wP#j1mT0zgUGINQBHkuS#1J-b7%}|haJEXg!9$M(QSoe+{4I$Lf zKtqMiq$MpzMbu?($ZWe+fefJ68}KNz0?)Gse0Re6C;>Ot6g0u5mL!8s#Cw)#6IwN* z6{cisnCh0s$WYbm>(@7fRV((mlJlbK3a(b3>!N^%pp9#38d8wQcCE;k2Nh!ij|MH! z%JE3iU7;O4Q3K%NYSG@tFog$z0wFg3=9f_epx}Zlc&FuoRG`)Bpdj!JufuoMOF)e3 zKP~8NGA6Us0;;Pbw6?v!DPqw?Iu2R1y#=OwMW|TqwrtS|@iO-x$u49GQ?x^`Hv^VQ za2svqL8D8IC7owEjxNVmGhn0nA=+9s(b(NBW{qmq$Y%%4#fETk17j?%1392SwhYkb z`A;kW^S=JJ-2x{W9Xv84b!a#G3wjULXA`^T7r^qYYT0nRajRXVttPV#OA8+x3k_x_ zKEZ*9%Hc3uEJnhMYB0AlZv1zhDaF1qHJdkT!^!amWF3n}PMQ33ePge(-Qg?sbZwuW zzXR@^Y~O(GS3b0%boy|p43BB50bM}fpx@9X`NXY}y~>`U(x^^Uzd-vqQv13yM9s4=;Q0pw#8!uD(S=d_C5s&yhHtwP0+{js>H_}(RDeZbf?kBykW?jQ4Rd^z|Y zUtZtMs~dLua=GQZpIy6U(y&gwdS<7BUxsbZZNGKu_jTb1?nzsYb^;6NXkTVI_ss_% zY3Q|AUpfBfpX$y9Vhu|TGE)_{y$DlP3Sp`uHWpOa=4N2qi{R0x$awU`_F5#{UPiQt zFj>h6rE#1V+g=(iV03!Ic&IgNlCU|1l?&N+Z{xOA>iBI6>b@6TLD@_N%HFY~k&WND zv8hgBHp2S`T0*auvoJfgx`T3U0<^Cfsx556t-|50?y(eYqsODISY6UbSF8w~Cz_Iq z;B(6Oa9tHXaO}xKS$m}itQ61z8tW~A*YgAh7}|i$C*O*nK~Ahxk1O&m*!r!mM*|wK z-)j*(CEqoo0oeKamZ=Os_xF*@4!|)@`~P2SR{|Ynk*%x#t(SCq`Fl&JlP29scM?Jf zNeD5rHH!ffK#UAS14cw-b7L6@h!_wt!w5t~R)L9#8O-n;bWj)&1lczsA~G2V99&U( z>WsUji&x9ve=kY!y>s5lIT||Ew{G2gtLolcRrdqxE3nt`ZhULdBWShBI!@9hnM8}M zNirmnyokwQ&_NU4qm&2Va#`Cbk5)FZEA{?MU@_MlKDisEz&vzeJ30^Zk!uh4KKFj> zqMqx}MmTX@F<%!mLMw?eEf7ka*~$qT(PqbyxoFaufFKHkLKe}^#a8;4%i>?`imcn1 zfqU&_=wCn^8W|n_NGLBttKt2N$lVA<1iQ%v2cX6FbAj&CrNIp9w;Lp#UaQ4hv`Hrk z#CO-;%y(D)b{2FHzrA=1jyG!1^qufi)bkB^KYZvl)RS$|i^B`JR&GytA2%R86!)Hu z{r6J3OPArjQKu6nJ{dp)r)R=@5=a&dkdzZQ*!4aEn$*3~S*Ds8Q$W;($879Ii}yh< z%-D+-!@Sjvx1lrW{B@17-e5+vxa%L7zbc$yf%-db}~1Ek-^` zqs4xTmInsWkN~olVCOMNYYHYU_E1pMmg_swD4_uPxo;H6H9EB@N*SJ4;yPOMzi-gT zB}qIE1$mH^jC+Rk`aKSzxFn9nfD9fb+I2$peM_|RKPd`353S|O8#gw#&P8wXBltb7 z7b3;~`8~@h-W&GKrr=RKam3aMZ)rSdGH{}SPjSh*At6~79m#xx(i6S1s7uxk0^IY@ z$6>%ROzC>(J_SS_jWtWFt?b z80GDEae_Y7a&`)SIsR`1aRR#n+-y|RRJUQllP_%FzHQM04!{{iBsFv3IMkHfi#z*E z1vk2%g~oUUmxol$L1p)uZpmUlG4E5sXd|7PH zSeERWC5p6;*UVVb*tl>`jiX^V5!N0FFJ6~YLJSRKZ0b*6G_9uciXcwPpdjevEI6#w zYGs>Mz#$7K3xZCTN#sH*C9s-R(ejqoVoO%BieT#_0y)tH!C`7C_wQLv;N!NAd-Ij> z9{(wyIePyl9YQ%wklF_KunSj==Am%3Y=e2Zay^s;JI`;gA zmeCt=h*nJ?^z%MTV-pnN=9<86JmtwoctztQ`~HK{N5vob(7x!EN0Aj@LWdi-W{ ziU$ZexfYKGJ5^a4PQ$qkZrhNM+iLJ)|6NFU8r@ErLt1~fw3s}9E-t0mY!>z+g}m3G zZ&G{#=;JhAbD+0-rEP{!Oozju6XwF4>;E)D@yGj4E}wbnadZ^DU|sPX|Ci=(%=|;A z__`rIih51XgPq|Zv;@`PhJHd{cgowC?ST{F&^cTt`u=CAyH0$m;v3h5OTrjH>embn z=IFI}qG#Fd>3Ft_**Om0fJK^V&=@qpV#z2EVJFa)P-(yI$SlRmbCj$Sb!-eKE&3LP z=7+uA1AN7|=$eFna4ok@vrE2TcAfoq*dT5HulxQuVf3bkC)XOe-pg#z(<)rLt*D^q z5Feb2)&QB z(vjYFeAzgZ>C2D~$H2llv)k8N9}%sVUR6|vHHPC@qA@S_`$q>0sKzq90jx7GR+^OC z+3V}%V2blAiu0+8v;X=?*)Rj#&9p~HN%hBFc=LSw>Ra(*<3OfAeJ5!7S33&qC!qD> zV5-7)P|GPcv1U9MfIAq@Ei|(?<#OazB*kE(s9xt3B;2j+O}T7Q@u`96!s}8R=pXcx zf{Lj|qfT!V#B>i!qiZ<4kb{a4L7>zsd35&Vv7QrqPS!lI~et^|HI0nz*HB z!b?)&?QjCgLsvao{>Zw$$I+ME{7&Jm3WV-R4(&x}@r2!KOUE&1^1rW!m55XD(ufmt zO0w%ty;(15Am-F)!`q!(NE;N=q?U&S4gQcbLHkWO^+pn=vc;xc5{>58;mEC9;YYhr zDFm$#onG?$ySqLxsBYcf{Z-?zEBFg1A&-DQM&G~E`b4jlu0YH2^Ji12ce+?yN&SPe zU?-kbvV)=#?>P<)0f9GIaHyH+6eiTpBi;c$*K7v`m>kEpg9OYRq&9HC%uA~i>M6=u zlpj(i&Z;3%d6Ib$c9KLuV3>ZLpLm3|56JOqBYG{Zdfl8`(;R6tmio9w_0(0`jn<)w z2lTZPY=J*0r!)kGn4w+DMx)7^M9LzWc!yI?CT^3-X68*Yk6kD}4Rn;u!komM$;2kK z(5L8n)g!~^*TH2O7KHld<adMR}GE2C8dI8$VQr1-ZK z%Vr?MvbjpD2Kd#AE0lsiLIF$zz3J-*p372SKTsMJOJyKKr}~zmQ{AfK7$LmiEuwt= zp4Dr?-ZH~R+6JQa52_>e4=|r*R^7l5U){hEscyjaFi<|-Y!~Oi>>Jm_(G(TgMJ(89 zG&>wR9cScI-6p(?<3&v}SjjC=39lrQa5GdoAFYS0ysNO3csalq$)#Q#*RA{L!&&b< z2`k~ls1cnCZx;$I=;uT4{A_NmJ1v$B-5kh3GthHr3!1@wSq}Bkczrlb{t^Au8mZ$e z3F82%^nv46mo6m z*c|Ye@1YZg|8eeH?mO|XjT2tHJG5oPk`0FNq2B^sdeBYNhpD0*I{=sAj+Lq|aL%zeo8`~}l_R!6}#+N z=nVP--FRXAg}7m7Oj8!$v-TIm)BFQ9XGP^jd-n% z@+AnEFP*{{R=+%mpanWj8oUK*+&ANk6b1sBF&85uY;9ltX)XHu*I)c$*YW3%ymxXQ zJQ7~Y-vZBSW}f{0W%O0~hEe+)wl>X#XvKUGsV^e!jMNu_!@y291Fd3g{Sa|Nq<#n- zR!IG5izTi?iC?WyG7aokbmmue#%P>ZYmiLq&2*NjYM#E`qw7tPLZw-;!+ezreI-ZN zn<_>no!Md6cq*haIrmrumzCkaa<%l|YA@vPF}(HwK6O7nQtA#k(RD zC?ETj(ezaK=%Vt$Xq=DG0Mm9cKJw!EpcQ5qA9sS~3YE_BR8+hx3En9%D!D2ZniZqG z98`FjrclXMsZbnNDw8XW7bl~Vqt0CH1<<=&I&zy|(2?7#I#Qt*dqFx`;{$xmF?a0I zgjGE>IKlS~-~ascP2%g3LkYTb^ZoJ8-G-`yk;=y$WVcUs2louJt!Z2%lrL+&KsI5e zu9=>W_=vLRxfNT=kF|So9v$%~id2pOW=&mG$rYg4WX#y!o}*_q3&ARCt1_BR?v>%s zNo9G7Uo@M1s>Q8OP_&tztToSW+hpUmS&Kro&!n z58QWPX?#*yID-7!AuofXyx4IV`@iO8Hk8p$C5itk zOhF&QDR0m;KAeQEay8h)Bj7Csi;$k=@kw;XfyI~?vPbBFm0%VKR;$JYG{A17kAiuv zsKtAPRu*{>cfcN#oa~MKSG*Wz!HlC#=w9?a`i|G{x%}4ar&{3Fci-lw z|59-QzW?Zo`X`hXrj+6i4x+Ck7n4eVbic|3<-sfupQ6`mGEK6a$@5u$$vq^LBAF#K z0X54285JQrNlGbY{^+IFm}AP=8h?yIn^N&vDcf#U9(?sE;f8?`oziwbrCMiQL)l z3hoHzcCi{VGSX86yd(vzd_gx4NH(WB1Oa>OeFs!i+qSlfihzKMfOHiUk#3L{ihzKE zfQW*0kzPY5Kp-N$qx7yKAkvf;dgvV@(xe6wdJi=~fIm^sIi7a^^WS&xdH4O}jWNf! z=lbT{bI!ez?46ygwYFh$s|aU{fGKLwB&_;@njPt6!DB9qrfSI;V=aEJwI{j4uY5#| zjvFD{Yv5#NUHijfE80aOD%v|R*_k{~XXhc7J$hklwD$zu+I4!6d$vB)A_XhXC9@aC zLI*T#dK^baj?H}X1;o`eYJ0e8Os;si4*EiEpEroFnsshiuPg#x!_Zx}!wVYXm|NC!)&SygVO-`^ z#e?F;cdklHm7?I2Q_SN15J;!Ob35Pd3f3>%8<8(sm_2CNgEUi48wQYbq<9@;I zP)$=PXHkgv-k`@pP1U-rF1h*<^_Er{+b>mVu^{BjsqFSvx8>GRW36GdAg!Z zV&X9Bxu*!;gUR}sX@Evazmm9s)1>%pAk=TW>cifrE$-oorYkDl1(dL@R84-|YHG}q zy}2&bgXVS1-1e!5>~X&QH8SA-79N#^Ve9P{NI_J0E6?gN6$K;Ld(4Yi_eFDw1P}g0 zQH0)A!!2Po>W`z!gZPIvs#%)U7hJiyFtFiy(3?oBEH3DwhPH@bW#gsVYY|FO9V!3P%G`W< z?S4X_%bI=B^ozv zBGDCgq3RHOucNj1*!k{?632LV88uF160PJ?gvuByeZ;5_)$%a8(?TwU@&>({RfC-biWJ#|0n*KV9Vu&qIhJ_KxbBQ`h|8d!xGa0^2=MCr`I4mCsca48Om1X1h;Mno1vD@!$ zBQgg_YJh<{ZiY7US<&59BiUzs&+d}y`VhU^9))j=^n<4(d*tg?7iS zeOy^-G;};?7KzCdqv9_@{BuJmi+f~q`i;g&k5{mAw4Ux9x^$^9`q@QF5~A05 z>D%PzOuRK`eMv1$^hTXMk==mF&r%Cf>FbxCnW`>(0YEG$hS^T$5qGA}_uHp3>`X%S zC_8Q}GqtJHff$C2vN<%lD6asY-dd)zy>)Ky3XGEGbrbQ7j@5|EcnwKWC`;!GNotLQ z^0WPb!6ea+OKtAtTcUhhha=&tw+dsQ26qZ5bcS zU%rnOZtr+Kh}v&}`sZ^T?D1|m0Je~(XF)7_PY!@tmz0Nv8XifcaPj5LTlAjM*Z~*t z@m^hbk?q7Oozv2sM$o73WNQ>Szm;Vbr$gJL9iW|O=^>%3f#-sU4IQA;l39Y%Ct#W< z9t)(<2B$H~o95YOktajil%l#u!e-4lABwK~#5nKRDM)5HPLnVIUjd}j*8@cJaM+}b zrku~Nw;yMHqC1l=<0ze7VxoGU_dOM(h{kiV>y{E4(Kox#g(ebT=bq`tmaXYtwyRc2 zYA9BZF5IcR=?gFwGyN<@&`hDsK7R2a8% z^;(T4U8aaWEA!sWu&1$!y%qIF_RFhoVGoruxLrQP?|?)B z74mG#D(dgXD)@5O*w1Z9us{zu`u1Q7!J3O1Uh3&y^s{rP)1|C}kaw*us4SjEHc+n4 z$V4O9KX6?saemqOw(R~|+2ib?>EjlOkAkdI0$MHf0wO3d|f*bKo%80AJ|i4WpVaVkTH{*z$cDN;SA{j7?bGseH;AII^Xu!qDcd& zBq4busoohs;)v-xn@n;&S-!!QG?^LW_?2>c+o>SuB+Z>2Fi6%-Qk>&$)yW%D%%ufN zve-lF$ka<7bTH3l{(Tz5;ixLCM*_&#b$oira)lUU*`~nR(ANEtll}xLWdJ(EJyx_Zm-+oc# za16?{y&`=y+)ykn;;hPRz1O#zFcJ*@yeV>0J|_=6t=-YDh7xLuoV*{bzB~V+WLnL7 zH0=)5?Dp<)@n;_43Wt3G#EPH=;#q5twH-NU|KKE!`_`dqvsTq-!$y`fhvw5mUUR&@ zDgg|Ar=iSxC)nI7DvSRh>Xv+~**Je?qge~alry%MD)hZ%L%SP|=;b8#wBs}8S1Jyk zu($T<9o{yR0@6t{Wr0{{L%~|ZN}uc4j_pLb`Av|t6dhACd8Xd(C@i}vROA5J*1)-c zUgo~d(2QIwfbt$Fnax28@~gJniF9?tdJfT^TBfJCh4f-9q;AM2fBfQQ^ikOLE~r^D zhUnbVBL2sEo;2O-;wDr9m7kf@8!1c$8_#tcy;<+;SxI(PacbRI2JYrF@xN`}0?vfd zYF%$08$k3~9(f*hhG!&M5P1d-ZiHzN|Of zSaZAE-|iO6{@GpCYJ0<4%I-38|7}M9H()xe>}a{!_T88%Cncw7<{;`5Ns=P_VU6V> z&yZI_Blt|!KHQe*iSweu*5*pN1j%O>4i}Cxr#2gRAMG9|I!UyO*&^b30KHSDXf1Ki za9m+rs}H&>vP_=} ztK~E#)XG~1`ee(Ww_$k%sHQA8NqEa3YF&42srPLk%0+Ft5K&21ENx(`2_GLZX4+yu zZs5Pq(O=uVIiRBpAZ3uh3xUQiCj>4LdA$6RDtGxY^DE0wd5uTqZh#8Y(~a5UPh7gv zXsvyXs-@-4Q$@{M17ktaVfpQALFl8@{R)qE3l5BRahhQg#Olo-FLx%!r2yq(C$=*c z>We4V`5F1i_@9uq9vgkW^^m0`;+YvASd3%qV#!(1eBJqu?({d?6zI)bY3yZMzF;n< zVOcSKeiME>vk*<4pqURB7;eMfaCGooMcfX(9)9Nhn}di~dvUic_(%dSXU=rS7;&o{ zy?IL8+?pZZMwwV}1*Aa$W=W2QT zh)6D+;`h~}1J-?vdo-ylj7Dp_O>O0kJ(IYV%h8@gWpFxr_mDH%ZNpc(QDy7wgWG0D zWIanp`%H+O41@pOrcf(1ME!nx=Diysvb%N% z;Ib+I)I-d6YJHspXAEde2M!_9cvdanY(OF)O~oaZ`3a8D-A66;4BVkVGHFPo;A`=U z_-KyjDK8o}I)UeM&qM+DUW1zFj%92uUV(jP3%$xfjoa~oqr1q?`x&@m9 z7+iG^?bL5zwfEwwJ->E;%-rYc`{A7Y)A2+c%Cn60m*1khS@?`WB#ZTp^;vi6yXU5O zOVn$l6HOdl-gn|izK_jk!o~n#2Ybf5o3p(bi(iYXSS}J zy`_t3s2lS!KFC&5SuvB2?cRn1g}0W2(G!q|`x^kLMD_efj1pxS0vobOf? zmW&Y4Z(S@Xdv#_SzwYx8`wH}}`_6`x3*(zpSIrXn0xe`u?tANL_S)&Z^dqip(YC%H z)o5@j*-9W@prFID1ET(xnR4Rh)>-|@Qy~(wCZ)NP%CFyg)xC|ep15ptxJaPGlp6v@ zLW+KE5tA#zg*t4vmk;l&-E{XjT_3$tI|V)I1b(xR1@DyYIWtNtW;4h|+tb!p;J$3* zCcns^8Xb$!A1NiFNsqN39!R^SJjEP$|6&S?&C2i|l9$9aPLafsG=ViBOH4?hAyJBE zmch^{Vifp%PRD6M9v5#*<#zX;K72B^@OU(xT4(yhQAZQydc$o)&dU|%@K*?H%p8f8 zzb~Z`gLu8PTVnT}HqS?XR!5ZqTn#(W6Fp-LB6WdBB3=TX(#fqYHbfkIE-5zULL`50 zcY2RaW^Mt1+{HGP^|5rwmh6VADQ>VUpohZp()6bi>E|N1Z_) zyNyAFjZ(n5u`cwA`JfGlF?G>O1LGuJEp`^x%8lT+zU>R#OTJB77+tt{C$_MNNi1{80h`qdBO8G3kJ?;a zcyt))`!`}W<4&Nz7c93&T9YiIxWKlxv-KDnGzlINZ_O{nv~}C z^*oW04r(8=@&5FQ^$q8s&`P$Z13Qk*a279*EDa>dV5#*}kpmoT(ZLPvO9Zgpd!RK@ z3DA_<*m_v)U>eTe-ZkTdF^Tmrs9Y9Md(R=O+#TirpyS3h%2o_}cTStfh`3gz)ce_* z%kjQ1s7Ew)v>3fSGuOQthKkg`;AS!h@_knpUS>dt);3`?l5wd~1=u0Pp{DLmR}wXE z|DtI8_QV`C+0v#=a$!ue7V^$t>+u(C$7b#T{?UxfBb(`_tFyD$?)Wt28}V1&W*scJ z(|hYsxgfj^>Cb>-b>7;hjDlN^FWH_C&ZuZE4%n(0)si{XdsVGfo7z=Z!9>ZGPbB3d zb`kNQ#pc16&@XL)SC0kD2uKA{=Ul{Gh5I!o&Z^Q71-`g2oBx=<>Zw*oS+|J9=W@H# zusC|_qnzDiKEkBib)(WYQXB#quN@SoyQo|9N3Z~!!l2uRq|w(mq@^X1D4OU=o}|xD zFNn5jnO)|VsOMhpje5`R$9m-r)#ap+I*Bftr!U@~h!|(`y-h0Y<5!#@z3C1k(vTK# zJ=V9z8$m_4D~^B0joUfJY7GA}{&AMxRybFx{pFU`J_bv#=|>M*-hl#NQePb!XImRR zOcprMua3m7Y{vQBdTJu)o!F3Xl-4UJSH^I&M(dF%+d%1&XNN~S{e~isfQQ&d-NCvV z9y3s;WW5`SijKGA9;TTq)`$!#GY+ag93CuK5Q}?t`l!^?s6IdpuU7?n3_)~eOg=LeHu_Zt+oWzEs zf(uQo4v)lmXD8D!V6Ngm&9~D@`oYF?!&c5fbw;?V$yaIwjf)M5ouAS=8@?Z5*O|DR z9zK38Y{Ee7InsGrn7PsLaUB|bOa%qNa;4O*ydQSJid8?OnqMz?aJ4Z%AhRJq2);rp zS;K+~U%iRrPiX>xX%G{xxWIz3hEx>7j)QNT0ZdXmyqM!l+wwW%D@&t8RLNOhtBF`{Mpb`1V-I<*_A)w+I0qdb`^-itcLrqH z2?xXxlH-3Lct z*~46(3T=%KV9a|J+hwzM6f!D zQCb)`%t=f!N)+RSa>K|K4~3A})H1B@V~^s_cwR`1;GGhAa3EMov{ILhC5h^+w3=qA z(Zybr2nioI#W=jynAFCoLc|uh&&r1iTQsP$hSA&g2BgU`-bB6oU+RB*g7BU|syizU z78=LKP;2-D^n9HjhbI;|>uQyVv=5{k513xj(~23VS+rAT*+L(oK%JpLOK5xvCtkgn zkq1~xqDyKNfiNL!V5_EHWiC%osH2Q8EK|fz2Z0}zdfG7cqfX}3yPb|N7l6?fa}Lak zRuqWoB@Bn==9M(-vuqCV25djgTwt_Sp3gT#nKmLDXBb^;`>J8(0Q6f{C^{ch-qq;L z9S9AClXCIahoi;uAId%Hz^U*6`1w5b17nOvQjZ@~nB#;7#u9tM6Bwl@!E@k%BNLmz z-o*g&)?=}iXkOuiH|O;2b+p^q8}i4qu^M5iG>4HY`+x(^JZyIV6w<389{!LkbH@ce z^?C#c3Opnm3t_1ZM{$=DC1RW_skB#Z-s+{e?WmwKS9`E$JWslyXL>WKSsI%QcOM$D zqJYNKnkr;mPdS-u_#qVR{K5vZJi>ai84zbSHHilH2KGk$N#T@T|2$Wh78A-=h~q-y z3B$rCRx}}<&+%(;3z9XN)PCXm4WMD&iD8dP9z*4BOH>op4kWx4tBtbR(pXAY@gj6 zoIRCOqfmLee)h4UV@|7^r#g!`G&BW%bzx^B=}I%<{n$%15OrvReYi8cnqq4b^P(mZ z!-`d{JmK;LFowTAkd1}X=2JQ9$;{j&0B1W-rvkhn=b2>zAirY+B7)u=WL#^zhp0K( z3=4ogO=MmA;+6cxcQj7aL0T+O%`0AFa1-EhOvumShR3n!Xvb&dvmO(LbQ@|_CJX6u`= z$Gr@}Zn~=ZobyhyReA3Qs5i^s=xOvKgLbu5p`7y|+5OyiaOzFin*;S9Nb&dYVCOeu z-i$ry)edq~R0VO&bIVqx|B4LNQ%%$8ou$6%Ci|bDCUw@p<2oC>oAbCi$K4B|mgc1~ z5|(p?Kfn!3j>4E5mc@?N{V|IcQ=sNgF~vg#>e~Gl?ON8F+1!@J#MD8vK6Su!`$aMxE0?G}b-#hQP2DGCzp1!b1Bp$meR&GS!rX^nLE)fAX`QFo zGh%+HWb>Jhajve31?_Y4Wlz7#mfEUT*bU&Rp-Wmq%v&;PTE=^WH?fQc;WLA{5yel9N@Mhsp)vpB* z5|`&Ke%9Z2Z#tIOI&D6nIw!iT6FWy0R`l(AE&8}J>fx&r{mi8S^F1fc;X?FOtj~is zWSEN&tLDNnC~bbt_C)k!Z%d3t<;ekbF<7_BZ7@G}{|8ulk8kE?|BCyK%P&pRUbR;# z$2JS}dH4QlfVb+Jt7*!rqpogeC@m``iuofO7=$oQN|kn0ppnTPTt)$_;x%#5S8+ZKlCX2c@N&ki>HzPiZh+)fDqZ_La}9xrk=o)3!Xp~DJFBM!HQl|1~0^~0dQE{vuMwAEve&BE^hJQc3 z;cpAdrei+I*u%qx#+}n=Q_CoyrU5n)BmPmvi!BOITwSpbU74Ze^&J+G@qHOQ$;%(ou~(7aHHg5M5XvOWo)BUh>0R^hv+=4HG&PHh7i0Y*7SUh1J^I=&V2%q2vXQP1) zEVM$wpnBj3CC%?wo-gPQiN)rlj189449>*bVAvZ3I(qn^s`bRS zv=RZ7XjbfC2+8)HQu#XZbIUJm!+qS@Mp!49|CjoY>4_gdeB=113)=o7{R-s27j+i$ zekO8tM)H1o@_q_(b#n54GIDiN^8RDw>PN|^56Mjq$W6w{O}fZUQpl&1$W0Q-r{f7? z5=TBALv9jHJ{?JJ@{)Wyg4`rrJ4X-p7-lmOs(k}=+OAtazfLr#nbK(AL2)|ND-=xS z*`i;6@R55f+`6@rpAq@(oUPsOQ1V5xBz@5))k5tl(D@0wvw_f-a3STM-4SBDQ~nqd zWAQ*%;UGish468h9b-6(pKHQS%!?gE2cc1!a4ANKK$!JwNSr(eMIuoe4QeQj#vY5k zzy5&*_LO{yFKO&5;&#rk?xuuI){Qy@kCk50IHM7Syi$D+XM>rNc;s7~Tr!zglg(82 z^=ipNtH9n^ExTl_ zs9hD9)u!nep*S6Xsag|ffRS%dLWKu`q|jkRR;>&!kSAX)x)6V?GDa6g zgHisd8jsIn9+zow@WzjFoCk7-rAeM|@$Ha>NpW9?MRt6jIv_iDT130kp(J6(>Ly~) zBBiiT%rx7zOMTrx*Mvg5lddFz+sbJhIbRL$V}fS8@2k74=PskQM{8l_E+D7W(fQ@F zzERWcy)Jc^q}=73+M|{wo( zUajUvhlU|%v7sp~qqBh{KW&U%_AJ4kPHF6XLeq7CK8C^r7BCSHkU1r9WOi3bud;e` zkGS1ae0`oWM%HTz9tdg&M}7u9*i}-1-<=cU*uR>Ne7lht<@qP%p`!XOEkMpobIuFD zXW?g%`fjI$Q=!VuctxS_A|ezI5Q^^+jL-kSiM3$7sbIW;V7&I92)ST9v0(gB!T7zK z@tHT{J#NM?3H*V~2*gha#19L^BLw1G1>)-k;;RJWVFK|V1>&;>;?p4^DJ*F-&9giF zZeu7ccNp?3%wu!Ikk|KMZ3npp(Co!OQRjDI_&!@)x!*>SzW7%_!2v5NPRELS#>&zl zS4mReQKqSH(I1_FLJ{)r4C1BNH}ZCV!yjK1;~;NXT_d*sL)T|DZ`})lZc8 z2Wm;4dC42|k{I)nAoG4e;%0}5c%df3swBe(R=?9^T9-2!?LJF=fx-cb6aE8!HYGCHN^veWx3weJnQcoxLHs~w!u|0c6| z)|}f-HCV6r4Q=tP>>sKC?%jLA5WKqSk@SHh8By+zT2-E|!KM=f!SY_ww%FdCB&YX%) zuJTS?S!YLCXHr>bPH88kwDVqRCu8XkQND$A7$Br0MEx-Zz|tD9U#fY+=%jwvncFu zrnYd63&(#-?((V3yNk(j`IQ54GH`Z8YKB7e@20}O*7H;H&t;Ka$&Sl!9oUnBb0c?W zlto?sW~%F3J>Qdemj!p}IxfF)piQor9g&^k5q0^Ssl2cC{FJ<>EU|0UaXG_5D7j*8 zL}|uG)a7rcmcP~WEjhHW>oYUy_We@-67iy?*9Mg2?q*+P>Y3@cK7H`_6YpJktw*`( z_HIC?ig|wXe!jok4^%3%^-A~FKY+so!2==4X?R%Gvsxi5jirv z8a^_5a#rvb>}WapC+lZ6e;aiNCRI-U**e0;+mYez@Ws)SbAo>tCF98OX86pg->l$m z*rjsvZtDP>zm2*FGbktTv5vE;cVx&I<{R~!6a2fVy+!E}Q(BZn#hL9v-%Q>;r@tBh zU$IZYqWGm&?pt-vte@1aJ8%ExqW*|bW$`16@Y@!?(L<~+v`o|gEJ?pH!M9J7;2Ro4 z@Xh+IZ@=AF7af9&QY^t`@V7317X3%QKm3pTF4}|;_}?n&Nrb9-Gx6o9cYf^~2aBbz zoD_lU@BVs#j$aQjnc%AVl^!6_kDT#z0{qeLygMlxX z9K2;rPW;?Dv|Nlhyy@I>NDrKZhBB?en|^j)#`=$7D9g|+Kazw9|6rfro5d$8#@QjX zIG+{U)K#YC$S}z{>{kdtvxbEWOQ5jt&}m`eq7w7iIJ99{xQN6w)}WaZ==lXx9~KUj zSjLvFWHfsSi7(?H8-i2{-?MQWap^%TNv=u38)_oKxoMV!2U&LfY$aG)Mn6V2`qw=J;#y zfP+2S{x1Q-B>lLY*PuQTG6oa%S%qW&FM z!@%>#FHydSbZsQ0!$j@V@6^a>l%Xc;=jl62ja~xyKj7BYJMURZ@z6{@{qF=+{vxUHQkVTu z@>J2_rg`B)kI6u0XP!!;ZmM8~gtfEB(Bkf|3>7lT&incK@@Ml@2eVoL`cE zZ!zo<@^u`I5vjRB{CN6EJL8jhA})t##uOiZAa{Z__Sig0B||AEOl^hyeibDsDX(Sj ze*oaWEG$K0IdB3JKB={%7wpR~XL1rC+rIqz{{%>YgNuI|0BP7V_dY4FZO)>_JdZ2q z_6@nX+}k&*X+bqsS6*UFtm?v1RR_Cd7^I&t-e|)4LWgG~GUTkukVz%!!Utv{gMO78 zdc4Yf3+#064L=V$+0!wQWUld!EAJ|DFtMeXS#^RC;TPpQ;ph4C<1tRm4IS^HbGvt& zoE`@=e4tpcO9Ke`i~8Vg-7l`-t{hzF!>54L6_M_~R6>iw_Q-z9k^H&YeUr-mKE9_HR zPM)|c-E{0^^cY~0HKUYM}KR)9}bQ|33&>jZ0{ZT~9zlbLOcotMgX`EUvmLmu7WK6ALw>vIxcbXD?7AF{nRu%KR zA{NHJ$|m8BKyg6m^lLRRdsrgerGryH4wy+b>rTX~;as0Q9yZ|`uUH+u6VGUDFTihD zHWD(mw%YV8Wcwt3F(4xdWi@T^1@xm*3QId8!g#@k&bV=!%A?5ed8+;{I>`{FYx1rl zq?R)wF5|kTRFYn=OCA;IU)lTr4Y>FE3iSU!1Is#!r4Z^tCR3#^naP+c{LGy^P3z8` z3(?*#Mn4lu4g$f)+jI5*(}<5{ydo2pawe#A}z%{LcpCz`61s1n52D~ zw^tgwR??(HMJUTspDxR&s_ZKM5N2ZGHD!O(HF za8vQgw$+TZ5Y;E(9@Qq8G1pqrWfjhEAOMeyUI%K5eB00oiLh_P|7`rl?XPL;3%Vlk zvFP7z=u&MDBIhNarwRM{V@`Pv$D_gL!wpEn(IjGli19)&DLmT=F|m$4R{icORhO%# z=FbC&x^UI302E7rX`|$ML?D#SlN=h7i8-Cp=m2Kc-_A-6K%Rkfcq-!5Fo*_8TH;@h z$|i;%oPZQ=fBc)#Lp?!axh;PMa9vt*`;nQ{u39ht5O%6cLbgTEH5vY~`A_%z2ZjV> zV!K%p;dNObcAz7S3q(Gb^L3mjhG5)tq;m;cp@B-@lSxtU(C=M6I^s)- zs>h!4q&cj~e4g32T120sUf*K@*6QeannJT)6qng3#yxG$uM+I~ztsQCor{b?|nxxsUi~$Q(6<=;nVNG!Sl^Isa7{x!`&8s^QUkE@MM%UtEYRw2E+# zQeT)8nj&hm(QB8M8O9*)^wkUfA24(pX>ENPP9KRm2O+Mel3^LUFeaG#@nYV2xFRGT zJBn&=e1shapZGp1d=vlVBYrvn6 zTLN8$+LK`PO7f9HyxfGex&Xz`JWrV$otM_@Y-+ zF+U8T-biva{9yp*Y9XD_j>OZ*6;{C=b(ctx)4rgYO=RYBB1EOUwQyUhntRmBqiC?r ztPoJ2zve4!WKbC0ZNiz>sV&hdIqkWiA0LTUmlvz7MW9 z3n0nm#n)Q9)Q*biP{f0*YC8O`*34jNCy(j1(J`bjpY-=A5{c=7Gq zkDH*sP^eMP8QNb>buhTF`L%kzrIzovSKGG13pk0fXT#p=BKzE#a80yT*BodXpb>!N^i0JnaEU%(4QsS) z)CkO{$*0n1&7;nz1)b67%%jq0&!YwXeB&@=LtQ9B*tHWy87z6(<{b1PgpA$=pK!e? z`Fj#rFn$gRN44U}x3@<%%@WStCJu=4-uRQ{-h;`6uSbGPCH zS@9WK@o8A`DQ;9~h``;W*ZGi;nBd73My+C_95mmofmdm zV%~+q{`qJIEX_%ku`Var`tVYcGcbIVVEq`tAmdSokAL;c?Dr|Fr$Kow*u)97iB4*| z`hc;nMRz5gktpdH+u|KeA0d&xJ#3^E%vBuDSHM>Ly(FXjFapKrG0Ng7aoobK|_f#9=*G5)4N7t@5K)>3&!$5QQV$+Kg{(fp*RSBBcK_#2#-QE_{h@DgNN z-*ZTHaBtHV$%+MB>i ziQ&^7&5(J9FfpD3z@pP+B1*z^3wYz143-z>ht`u%G~0cDMLBwY&ct0VPqP+xcD+zx1dnb*_lqWV$v-3MR9w} zP&)0>%VJ%*ejafPJfX!K?`lP{F|1^j@_0HjuQERQeI0cL{41`ogWm?! z-;|8iWj6#57&pO8t@>cvn@j2*6_1cMf491Q-;k1N%XU;;$AxlWG);1GqTGEWNPHK; zoLAw$u#9h&F8{1v`|vxe$OFGyz0>wj5q_YZ3NJv!5>^IadNLcWOrZU5Eq z`ACA8c&q{GwuKK|<+p-lK#*RCO?hz*sK7!f?~H^>Dne~~J!+@&#ilFk0$I`iF>81P z8G^q$BAOX2c~S@~t?m}!%?^>;hrc?2&U#|}<(gUO&qCiFt~hm8<&|kvZ?z5R?F?m0 zxKCN;Yb`y>u39VpiR9ELkdUS5{Qo!7ecNJ1Z)Z1cM5Dcby4p+-D_dC0n?UZ_ZMCX6 zh*>cTIW~v8A`0aIvIAcxuP2Yh>P~Q0&Jx6an_78|TKO~n0Ynoz?io$-A^J^{jm@hI zSm6V@0~g#?Pfk7t{Xyyi3^mr04%k~Jll%=l3J2#BJC%`&&bxXAirVEx>A!$Bc}3p` z?a}hS_u9GTeVN)G)d{+}0K@Zf9`h>zPdaZhkLY^H%?fGZH75)jgX$mut;eU9*gW+{e76NCFAZFm&yFRVCXM zNVty2=syP`uu7@>83@lFQ}|pVa$^v*YlWRkjs^Hp-^cDJb7c@lARCp0yLt33r0KD2 z?!Fs{H3sm7!~G`8)UixSu@2rQWnae4^KcY zvMehRuNkcLd*Oh9WXefiYK;J1%Jdm1Cvg2@GjP_^BVvWABYgtQBbF;3N4AHen674( z@Ive^xM0dU$SJ1vPNjBs?k-T;bvb!X7Or?sbD zpeTE0eV0l0JbbT?HNaLgu>jKp9UOd>w(Agyf_FL!$L#?JcHHF;q;TQ$>%7?futO+z zC2tGb80kxs1Gzm z-}xX_cwMEDFl9H)C9tAVpL#n0e)Rx^U;Jbgb5w)5$s63FpL&aqm!;m0Tl8wo{#xcL zB6+7Md*2sZioHEcqM1sW>V}^Z=+Mn~!_VEuP(l>+ucy|tbkE=X zc%bG*l{Sn|KzcP5MXsrJoV$6woiFD{Lj35i%`dDkne-F!@D|5`G+Dv zz)e9lL%y3Qdq&7EK)CvP9*DE|sXP#8>l1oVb-9n_f$KeEz9}&d#NBqne;LYfeap`U*Ein!0@ihLP&Jg z7APvz7@fm~lZpixMM4jK4nq!uI4=x2#mO^GtNM$4HVAXXt6ly~PvtwHVR1W*t-dpT z@*NO@%D*o1blQQ<(h0lZ!Vf8gux)!_bTYJQXC=+bm5CP(-GPih&0lKEi=e5yh;_De`MCu+}J8a6Qxd9p~nbwzeB_9@i^0{LuIX!S**L zO`%NN9o8cN7{=-?r72_m3?qrS^T-7jgc1rVymr;ETYPzExO4`D9xSDhuPbF1%4-f? zz^q9%Z%-KDN*tOR*&$nRvGH7q=)nLA$e76d6Rz+c*OAA}nOmh}5_zz2h5>XD6R$@7 zS}H0CE%gxtVMd-+=tVTI#|CjWOdLK9VSvl$mV{|pGj+OQk*2597T-k=sB-3~O-*FA zsG_&uVZcQ=l*rdrl)(M*Gpk~L-7X#Px8fcx@h=P-_7^ta*gTLhWRUQN(#7?O?LCyp znNn;rY;}8U^e_gj-1?4-F8WGZ0imH9NE@9auh7qWW#Prk%{v4a@dpLW9Gc-#e;?g& zS0U+pUd+t5DjKwZQxj_P=L#E!74h{_=;O=8?BLx4hhy=zioyRv<;zTjD8PSwoHv#U zxzqB0jwh`5n|=}d&_JXp_TguTpS#Lk6Yn`0rj9SIEdL*OY?v0_$*%Y3PDkZ^KS14r zpW_N!x4KON%h=n;Iy^FQD>sVa^{&E|s*_8U91~uh+IpA69F0hen!mO$*2c~_MHP0vv704E`efJ|Nwe7ye}Z#J z22+~(@6-o^%56<|2ZcEp*p1O|t&*ZbBMa>QMdTHROe6F|HHgAkRtA>EU+r~jC}yC+ zf8s3oJoCDFzVLDnuo0AMLGOd~k?ErITB*slz4WFd_2rJ5RB_!-nNpY}d8(aJb}3c$ zbjt!t=7Z2dUV>}2zV6PRJluIrqR^IK94gO1g# zX@7%b+T;FDI79ZVm2XO(l$>utUy`tXv|RM4tmhJ9_*j$2%S;&?Lq-R8QKOqp-Y6G{ z8#T}EB59W)($TpH7}$s^gp)SYc&@Ur0&P`rMj=-NXeD9Qh-0acA zm(XKD0B1b>W9Q#k_YB-83ElpkR?xD%3*@GQ#}@Uxbk_Q;tT<%eimfuj>D}<;#j_zu z#io@j=wyxrQIljsV1BAr8gai1wR8f2@b%LkMme%xn1z2cY0(``idt`@h z8FkvlPL2|sF?V6nH{L|6@N`o&&{8@SeBWKo< zvl78Y9#8wV+3!MVY9cQc%E*}b`*l!||GX!`F!=gXVf9zT4nitOXUCaV6U=DbY`hf1O)AJ-E-g( z^x%Dm8FnVAwkGZ#-Xg7LT65-kQaJ;Y*?Njg0W&JsZBI~+ON%v2yn!vTx(yRH7a+r7 zwJ-hzQOr8At%J3;Q% zsFZ(+x@~kI9uGx4-mCgV)rb|XoM?#xpOgrA7dECQzd}b;9Sh`I_Ks&YZ7`ikTz!t# zXe>kpflu^5!Ns<@%gLD%H@YkF)q|T@|x| zf1~Oo-h!9SjCUUg67%X>>K7ajME?(a-vQRdwzexGqS8d^RYXNZKt+0qihzoMh=6oO z0Rd^!0tAAEE}()SQlhA!f)o)#P3TAsiqatkA#@T#2_z(U0$aCxpS{mL|GDSvd;aG+ ztnYc}Tkluanw4Q@GP5$1j?5VNcIKvJPpWct6SLvluCu;sZw#frPP|l0zm%OY>2opt zpC^?+EC^e!a>%ZQCxvM1BcH!QcYgM`G4cOIOV=qokh3a>65-BG*`hE%NIy}K0(P1n zNjH{Mc&@v&rBciVq8r?iF4|- z;3g!!Zln=|R^E!t&MsZ<@Kgip!q8lii?7N`9-p z9%XTJJ85OL;i!oCopp_2oss`-tV%&BGb24C*W^mz8n0INN&8((Lp5M@j!O zN+;L0e)3n?A3XX9aqFyI*~@(E&*pLyGRX^%^;cW|4t-2cdgSkgtc1b>s!v!yqm?c)+IP9|yIvf1vI3Y-?+;m;H5_(tD8Jlby^i^fIQPlWyUYAJ zKjg-9-YNS(kfM49>D};qlUt>|P42IvRmRZG7?}ChJU7NP*WnTae-`&kxf>E=dQg|q zryr8*%g_hck=^fC{)fZ55;lM7pizV6S%!Tb!}gjUyx35_P5>MP{A;ApIY2jsS$)Nu zEtZ)EyZ`&ticBAwmSWsl3z-a_a$JD4Oh)qi?~Aj~haV1o6YVn?eke*X4_+0=UN*`VkOqrU9TW0N%`OdQv=0iOrm!zWU*oVCcf1-28iR_FkCcx_^C2Y> z`)GVr&dMF=FyK9Xwh;*kU*_R^CIr5;a0P8v2tNZR)gMK2+D;n3Xlyvv-L(mtr6c!Kno#?j|HA)seL7M407VE)-zS{&NQwY0G(~s-l2F^F&x~BPS5>m?kX9b$UA) zg++$achTM&(X~gctL^U6KN0Qtp{J$$`}I`7LOWd6=sjR$6ypu zx}K@0hObmBLLDs7m=L3yd0efhT?pu%@Ue&N$-?Fi&YFHSE3(7=` zo}$_j#Ot6!-e2!|7?Am39|U)zaVC-8Tn%N#p#fwo;9W65Vvryz3N^q^hSkHOV2#;3 zS*bb1GmLD&9pWdzVTvA3_NYP5d^C!r$C2lvp%lkADh9O4DS$ zQppK8qbR5q)w$425LmejoT;M)zu6y?o0w8F`B=_h?aT~)cjVA{lP{T}Q@Dq(b(mi8 zjf$-{L>fSM)7;1bXcXjQm%4*Si@_BS<;gJ+g8=a{IuQY;>R)ViUYZ zu2d8;=8v4*5wy1Y>uG?KSh!sTI+O*xYpGVNm&>T8%d@)5pvwR zymS*fJQ)MW_+w1Taw2y}2*4MAcoyb(CC7`&yjSI}Z)PpuR+LCDeRNH=#Oji-lAjns z*=Z_N0cvWY(umd4W?G^ohy%Knc9cTR{2?Gs>jc+?P~V#0@V=fmI&?Q~3U`)h zfJg5_Ra4>)S2sj@8Ax0?6mmL^f5eEiRWIZcm78o#E*$}J(p?TaLt3x?6WjdI*Ize! z0<6X^jJ}noekS>;^u_U!y(Kk9HAZ#lFc%Zx-G+Z7B`eJzqsLHn1_Ttd)voBL7rxxf zJiw#){PlJngM%)ojCcQ+`tL{p+eBW_!MLJs&4rC4mVEfGcR}OHrwjlT4?|lncgok< z-BwQ{{q)5lzqB?PlS61FDE0{Yb_9UA5zJD+rAD@n)9fR-$oN_gg5H&B{_ck5(_8K< zNKHMZiBTy8@oLyz@rc5>?gsy}TQ22gL9uEu4#m>EiFgd&W=0z3KJQ#XHo_|P1bkJ^ zUs(txCxSOQ#-(``dnjp%dVYMk9cEb8!PQ#4H?JnJp3E5&3JXQ@qng*yM1F6hNLZA4 zt8XM+EqgZtbB2F9T+>rZg9oZPOWOfv&j_uGTaKdGWN*`tgLy$ZosmQpOb)jG+_FpNuESW9WnlIuG!Tkg+A7h9CM7CH7f7U#v9 zefShzLe{DXHD>J}Kapx$vR+ZV9RFIgq`~RcR$$gc@pGjq6F0N0{@k<07O^fxLSG$4 z-?s0#lvcDW}UfaPZL-2G7JdIrXCp(gsiGO{pVy#x_A zs7Bv~-A0O|qUK&~CrjZ_5rI^mrI14i)WIvje*LQdY1fOe_d<)(gES+qwVVjrwQBSo z7-YPN3B&>w4iVziy}4>dOv?iH>f;{|QTN!-ju64K{Fu3FbZjqGir6)lTo2_YC}8

      uRxljDPUziaw1m*PPV+b$)l8se$h4@P|Ig!0~8 zT_qk#>NERh3#oH$RFPyq-QK;zmwSpMBwFY52%#E2;R zTSq+3G2-p*t%zXzI`6GF45}#xoC&rngQ^e8(cp+ZA1$s7r4sa6b6Mw%V;Y=_@K}0Y zCq}+%k03nuGA+$IWVcf>UJgOK*G!yXjU|EkE>aYn*AZ9WdTQeiDz~T|L#H2w-Q>dY zEb%`_0I*Ut6WPgL5p#7V&Kmi@7}5n+36@oWxg@p*-Pf7Vk>P|J%wHP=`T zIB8`2r0p60{y0dTChp8e%ZtIA!|!*~+ft=BQjIkXL7iaU^VOZh=NL?C~m{?q~q`Grh|V`G-HVG$%Ir+UKTuu3vlq|s7(M%_1~Dx zv^V)(H&$52Kn6y}y!n}z$vLuB(o*d{k2UCyHN@~1co~a1D&0sKm0x};9{_&RE(Y~v%@7h~T(G_JT{)dnzL z^K?Rv-?$yqJzJz3J$$ToYVjAX+Yrxx0CRU`*d+z#>%S>{Qyy1vOy->CG(pt1qMg_l z3v7R79+r-B&xZ5A8be=}^aoztvp$-SkwURzg8K?UN#rP!qgW zJv+q1;8EH4YWEJOwz-~4cc0bT-w(fah{Y^^H_(w5mc6E`tU;xVI_&;5X=-qLVQEAW z{QNC+%NJn$wthOD6)E!Sn>yGbC6xcl*?Dy^*D-IN9)N)b4M&6GW%7p~`@9)0+tuZQu<6OLWNwEr9uGS!wV85~M4nR%2WGb(;F}6aHc!%|`;ZHiJ05L6`ev zD%Z)M!mF*Jd0!1W&=X?X*A?3(NB5>wdB??_o=ohyLj`+>!_X(4TFC!6_*XXGHC`!eQhR;9gT0VZ5TvF7( zh|<&kfUh%cQXI%C-JI|Bll_vDy1mBdDpM9@O`^O}?48S%_x!+Klj31GIdORZtltB` z5UG6*1!+5~K%Vd#`sP_pMFmnx+F3|gJcCDMTOu$y#$1OuiPFBJzq zRE=U!c)mJytOc}g?+CSQF;0|(Wg=C_zj;ks;+%4=Ud_?}v=L2NldM$oj6UQgdM^Ky zYG~g6w3#>jHp$SW_DnK55Gazkd92mxE4}O(y(p@3e?jhrpv`180l*!Wo{H&M;#4j1 zPs@R6mHSIOx*l&9wCZ5x#~t>_1aVh(SK}Xz@{sNd~|nk|7Y)NNs~z<%GWlK!1tH=AwDM5YM_X z4wjCm-WbztPT!w3Ty!Dtl?=loT&XWNsSxz@?wiYXwWOllp}bNJqyW*1e)k2{D(6ON z+&4YXM9-4oHC zl;t3i@!^Tt)vbKNPWO$mVZ(9G4`S3JZavpVF zpkclD@W0EH(&hE%!Xn4qQ9zoG@vbVGzx~J%cgIh5#uo8J0fqlXkos0+$a4(gO`WeTL@(S(ztB|J|PZ9Qe;*dQm8Vo6BmWH3U zJqvM3nf|SZcs`x{kj08}QC7Y-#yj|jGtolx_qr%4dGki1Lpl?-o4n?u2jCV#bll=T znHfY7NCfW|{I;6a{78!WV2iCqnMBbcrAAli?ApUs_f#&!HO?S#glvxLcVzvYk;@z_ z@%k4(kdI-U^**$bDt)V$SS9Y#et7O*{H7U8$w$`ZRJ6#@94gNZ7 zp$5%K-Q7g#*ir1zTx>zioAb8A?p1ITe3H+Q}&=9ON+SRuIrEhb73E& z-UWUxcraFGR8VXtm6VH028I#PnBAXbZhdUNbr3jhk^!V)@lCr7&x#h(yXT`A=kaur zY>T^shiyLnq4E0bS&^K;mtTDBNZ{Ups7{Lt^gV^fH#1MnqM-X|g&u_k} z%t-D8QOF*;zvNb;w^se`o7(sTTC{WC+VJoqrr+V3$HHWH%pP3>{?DO^EJR~xX3ij2&`f@OA*)?o zYPb7f4-JFHu=a$5g1C- zEYB(oz%v{!k5YNY)#~U|7lPMv*3BuPvT?~BFOk?l{XR+HEd?JnSxe3A&o6HmiQh{0 zic+XxDH8{7X58Jq3fzehP$D2Puj-TKJEI4c`_IYpM#^4$cM|?idP=*N!8y}kO<=U z5rHYwjNEG4JWqe$C$e>1kTGWC!oC7EQhKNU!AXQ$Z^l_SF*X;B4jC+YI31Ks* zNwKq^zulY**|c{WFbPMqUu-*B2mWfvFtnyhSh2Xtb*U|v0qw`0`3ih0Unvfz{@k^6 zz+H%VlCi&Tz4-k6!Uz$x2CjmTUwqr&_~IPqg|1>Dn7m$q0pg%8qN8G!AS7gll2_ns zX881jz01b$Q!IME$s)Q20ticP`8gMn!+sSLyN)uBYUtKnskx=ts_}r!h4(m0T(V%6 zbG++MZq^lnD*BzZ_9N5|AdVM0Wjysswy^ZFq$l>ZN@%3tZONJ1AqOnmGLW|VMa@3< ze9Ug;yN%QE525^OD=eL$J&Yixc^^e9U(O_3NRHC|NH&a$mer-2BDpHyhOph|r>1f? zxovzD7iPixJzW+nKKbhd)K*@ojKINGRw&9Kc#eZ>2p)NmEtKJ{D=TstkWbtA;AjFn zl#u)7P8`5U{<+w$zJhW(_A9i1Xt-d#8^E5>%T>C)9UI5YObrDDy$kttq+)W6eRv0| zrnrRfiZ6+w%x$L6NgehD$*f8fZ8lq(8I%}xO%)iQ?W4vNpNHv}=zD(N zMqX!zf*KTg0L9>UZ$37SJ!bmlhrYv^W{1)j@M_a9Yz~t7GCX9xL<9lmXdl^ED-AF8T>qP|Hf+= z_aWeUGR&Injqs7ng*(U8(dW~l9c-EFWsQaVKH}pF;(iJ`Vmllj3gGOw?(?#kG?Y-Q zhP5Q%Q~0hR#6d>zrpkTB1P-Z?!$gjirghi3XY2e`t2V=2R0|l#bH4$)Fg!gTdNFDb zX?J&yV`-208m+5<<>Nb2u%5LIGorW`LZ^MOF^l9x*8*1ZXTFq4m*=gjq3aS`>q2LT zi@g>6=a*TN$P(%f8LL0V`QF^};1p@LO5s=U>()0<#Zpnqwv9hZaM>d04AAtwafY^@ z4h=MbdYBrEKW81aT-9GUM}s7E5OuYoU2C=7>{~&zMH3gKC##Cb_v5H|NQ3U*&EX$R zDb_~&*MsGUC@ydAoUwOtY;=5pcWUjP3kzbtP-N20$}tn^QnpcUOG}-E)Ju1c69<_} z&B_y_qWV{qgq*7ZG9P0^f8dR%0}jK1kU;Hd2B!XJ(JFlVH2W9*_~B@)!+RCTRr9XI zRQ^tt{JG`#OVaOzTE8o~L`#sKBn`T9o1lGmR`Dw?qyw6dTH657&Btkb9#?)|L2G5V z9}V6#{!nxENv$MFD;4v5?@R~$Rx7pd9`Rwb*B|YHe{9s~fv=VaAS~UVeHtCtXi~ar z64csAKNrB}+?U7p_mbDxrurElwOoBvS?BuVk?qy>)Ba^yjDiwbkK+NoW~&u?&?RRs zp==v}+68y&xTRulebKb~o&GIz&yk{DXN~{Trf1^E-L_VxgA?qF3c-pRU;BUX@SeYr z-CuakJYkCTli=gX;B(QC`+X-ny5p9E1|+{8ZS*ZgR7OP*`-w1Z0&|TO;WKT@66q1(_I!4LSs6(*07m*Kd)AL z9PSJye-aO(Bf4g`FHbTs?VT+Nzuh?iKovuhV7ai{rN!TGF$k;+;06f;L);-fceiJI z6M&oIOX}v@GcIm{={*`~veum$aAl@`#T}LEmuKo|V)?t?dgkqP9!5Y41;E^*z+xBL zSibf&;v`Ao5Ax9Wn9--%V2lej(s}xYd@IEY-X8s5<7O#*c3r!_J0rCF3eZfP?A=Ux zWxNX#-IVK*iju<_w~-ZsFOOlXG1@5qW8(e5T?;@J9}9S;h4*gKXbcjBvyV>C_Z^(| z)CCt~&%2#jI!z3T3e3Oq?HS_lPQS%QVa}<{Fvv#hnZdFI zP4+u~*yYgUly)@n|@ouz-cU9mBvhpMItd)6NcU55=5+=s% zEzcGDb(*)Gh2EtH4$VapEjbvmu)+NvKy{%_WT}@9t&A(gSFiH3sm>7a zab<70djei(-1er*heG5OKxm_azG+C-83*4j&hEk(mb2S1S$^j7Ca0mkD-JolN)5f) zfIUQhT_xxk?x69*jHLC>9PVo8j%Op^VRFH!L5v^VR9)UwG4zK#-<|*E(O&Z}*SX)x zccC&Wqc(f$k?Flcp)p8$N%9xn+G5YWB4~=L! zHu-Z+))Dw7|1k4>2Htuux*r3>LXE}%Kd^>=C&(Y=+KlvEN37_28^LLY2|we_)TLn} zVl33;>^LNBv)%HAz{~^QX(YhIEPP_DJ#f12FGXN>3??lQ5JkPXHSK+IYYBVUDk+a; ztkRiWs})`EG&?fw-U$rZSjM9ngkB7NlgRruvwmIRfU}G4ofxmz2;PELEr|O1)=UqxLlhzdX0Z-&zhOR7L@1#S>{hVv6m%7=2n}3;MhfYFpVVgu`L@dDgtMo1H z1I{Pawk{|eKtFq{lR8gM?w&h<)$Z&@hJR-~-zum7z=BgGX!304a^IJ*pufyzl}D`e z2IAL*$dSp80zV$CjV9@F7B|NVxGdPvn_AszuUw*L-9o#;(6jH6RmVihD&vsDg!+fy z!9zhlN#t!7evn;ZE`YqWq3ej(g=pR_qx-JSC39l|MlA>~f76qdn5>Ps3JSQ24{m2) z0zE^2v1-f6+t!*e2jt>@=iJ$MZNvsiN(IQ<1m$k;8v@hKUQ7)sMpw3ka~go64X4Ywq(_)W?~ z_Ua&&Cs%Jyun~zUlhxD{K2L!Rc}U}_Z0~^#`NU*cOMFf=+Z|;2PYrhYPp4eV!m_e6 zHhz`W6LTF@hwD|-tGn+`AUQJRRmOWAgQzKYn=&?)W;iN$|09LV1yCSs0~X_aGMq>bu91%=?Jj#lqgPwp4%|nN)#WzX*&HN@!_{ zwd4jIy86`FxWWft%k6rWV)Zah-!xLMAA=srG{{4r$hZ|J&egg-!w$&FUP0Go&bq`v z0BO_?s0!(Qd$o^Q`=9M9cr#!kKHF>r&`QHtYr!rIV~} ztfbC21kHrCnn^!hmG{HAC1f6TUP4pE>?XZ_K<4gx&-Fj(h54b%F(nr5SNg=-;@X_B z5NRHi-V96ydHXU%e#!obxd}Ua)xs?g@=D0OG7Os$o^c=6!elHLjQ_O;dKgJ8ILtP| zx(b>FJwq%;uZ=-mpQ^@*UBX@ajIgHI^|zQWcS&K>-uydHR_+Dn&S8^WKfhdV(Ox?` zrVM$-gsri?%|E-k7Jyza<7Z*|KZs&h$9hKtG3(dI`v0Ty|9$oJZwt`HKcqvI8Af)W z8NyQV&Vvhf(=rEY}HYW5ZeY}a!_ew;x&65bxdTd6uE(h}l1LKZg$$rz+EE{V=(1hQb zU1E=&AK4Yy@d<-+j&DR!1(KQPjPmLh2}&KMVP7TBX6kj1>w(5VuyVUZ#vy>5OiO+* zOj=6ztxV?eDg;x+2lv4_?HEc4)Kc7_2f-XVF|RQR1ZG=kt-EcbarJ{tZ!Qj)g*w*3 zENmMp9GW9`6#A>Nw{`27tDR}h&0M<^?X|&ZK|gub=oB3m#oCGpX7>2gzKs%=^bZ$H zWB4sF%g;~{#OHS;h32^fVN1>%G=nz`GnwuZ(Ql30YfY|d#t)i{tzNXolN`;Lx=1E| z>3RZ9Kgw^(X82t@!=^o>AH=iYuaA|NM%+=Lyc3{nw%@~;{7yHuT63b`@x?Ati$_3c>=XOOWmfy3E2?F4zH8-*GNsEG1#*#Y-``NlOZ@UFs`cvcs3PC zM_}_{G)S?xd;{5uOx}=QK=>a=R@H}tBr~fig2udq413eis=(ZH__;x}b$|#Kr|{Da z%VzJ35*!>-@c$lQQzHKV9bg%_h`%t#PkObB6e~H@OEheJ2Zi@Do!T zXm^o-E|3Rcu7daZ=I^dgcdohvqB<%Bh~7wbGr>gOVDj0|V!GO??W!zPslgY42ZfGo z0@^B!$e`PAGe5B)$UkT9Fa)6#+FR3Z?u<<{ZAQenfKB#F7~M&%o4@)f2LzeTF8g{M zZ))Z(t3;P~F3}XKBv-0JJz5ESkGL)*T4@+(1ixqg>A+WT8VbhTOj1_g0u1aIu`obh zSHvXdz`a7xz#q;KWDq*Xzx`QYR<0r}LdL+$uR}p@{F(d}rGDNWDrsf{LW?~XqHY_; z?91G+T_ARUVAAhG8MpgdmSi!?rYwJ_7#3BH)Ln^tbzY>E&41F$&vTUAZea(o{RQp5 z)o|xAH5=x;EN67?Jl-X-y)*#d>k`$^qwlcal!b< zy=Hl@zn8lh>^ReR3bbKvruX7_w*kYl8|v2ucY(n&Gr|bPw)a#PJE=Unb_e)*Z>A~* zkjZ0OL|3(`j0_tNe4tuorjZ%;uK`bM&qtTUe+#-=s_P zuMN?&rv{?e`WFh)06YbYFs{bdX=z&OCitW>?jBWRleAO-3Hoqp40N^4B@m;nH%%1S zaHxNi`p@WvH>U0GjdK~;iE#J>)1b)?Dh}BRvd3>RK#Tv;O~Rp`7*y^jUl!*qecqqy z6yB?h7%0)~9ck^jtaY$at-YDZhteV(yYsGMgAtj?NyRded>B#QGA zIqwVhpBP29eb#4CyV^B`dZv9ok*GoZ21C_KwWXdd6dAl)Dd=nd`83;Dm_*u!^j+S! zQRH!mieXrKCIakFTP0j|D1BxhB%=sQOoqfdz~PoK0MvyXbyGe;9XNZJFf)(IAKq>} zlda8bjMUHmeZd$gBAd@bk4-m4idi0^+gGq6=K6P*6A1V*1M(- zb@CU$MQo6ObIuxAZdc~}3|98rbaJRx!PH(SO~mvUR6Z{4t=yjPo?&2(ZS{CHuy)=y zh~dA=!@a*|CT}Rwr&5wK0cK{#o!Q1S?nE<9{+9Z5H$U@+(xK|orpG}hj%e~yn5UsF z9I^cS4$E<9*i2b3)}8O^wp0+DkMFhb3uX0hlbL_-jGX4rWrkAu5(Q3Je*ycT($%8UX=!)QN=4*tbT2Z}AQNa)dM z+cuuI4hjHIBo1?XvGY+Me?#RZX*u+o(-Qr~+bzT}^t}UnfQ8K=GL={P=p zI9Jm~dRB#O=GloQlIb7Evhjop?CASTyqbRZ(Q;<|cy}(OQ$*w$nQMlZnYg}Wyz2pk zGkAC|&m%9p$IotU56^!VW{R%938+0JRjD{`p1kQzfS6+;_3{qV7ran6$b9#`6?cD$ z4s&4RJUAUwI|KOuxWbMicI0nB+6J&LSyY?JvgP^o2$m6D!q)3&cPqcO@7F%9WobBq z&1+1c{CUyqwPCCgez@W;o$we{S1>Kq=+GePVPKK2(i|q2ZEE?qew&tdtKJnOZ2_go zfA_*JKp%8}AEiO;-U4hiO$XyyQPlka3@(3pfLjC(*Y?Dg2V&870|SlAsrhUm%_+ zuGcoFzm0L5m4^R1TAtZW!12I$DtCNEJif%7Wa?&Q=#SMp3*;O>*0?Q}iW+(?YT>n~ zo-4AhPhQU1{)r<-K-1EqtW;Cq-EDz z_s#+sRt_mV(9-S-ayL0?qgk+r@6CQC-0?8Iu1|d^%YB?ZRuz)ft8(&|QM>K+_})E3 zb5sUpK!Ol|WA<@#A(^D5Qo(F}=ceCht9xzO;z^p zpQ0H3D{>1Epbk97Rpd@E-}YyBWH-Z_9-}Qd-Et!TcpCh99CIza_lr^5@jZKiKR0CB z|0cRMJ5}o8uZJDwAdmyNrX^Jmqg}Lv?>!0Ma7tW1=s131^362Na-!B2wg_x3J#FC0 z%UwK0wom$-FJs03v&h$-g@-ieGi%OF%SUSQzDYeicI6u8RZotm7e5{2x+_{FLhBIH zvMTS28s&3wV1Dr0da6ZfnJX$};HOp=cdEqaS_mO}Xj6==6y%2v!eECIH{Z9QM5YPE zBEw#F+j}6QUKL33y0VQ%fEx8OqlCc=#N{a4jNujtnNF}sGM~_G*P6`}@=Q=^fAsB# zzuaJZ@Lu{Bk&N=si}Uku)BOgR0Uf06(y^um20f?TZl#;#ar?r4)E8Zdf+_#pUY|Wb*;y^^5S<5^jWk=r=^o zJK&3RTAuE<-q%2i>f7E`ODI9>NMqeYx1)yb!#^b_(5M{yCx|zPQ}A#@dCqB7vv`2dOVWaK~v&Y+k;VA^3_{ zWI}sKzN$MJ*F3Z5fte&)C*m562%9qf`&TAxI3E;2y=Y2%&E6w~aWX|M>lRWU32dGQW2S}X-(4TZXkja3DD728R z+B6Q$bOR})%TWe5n}ORSl=z)Ce~p;JYDR({lmC>&D}09ZGf&_k0&9*gp_WaA3F9MO z5??LYi5Z02U0$`vhHFm=I z8!2}@Zl}hVGk*ZruP!n>67dS&dqx8FZUJEIy-o}%Bn>8$GkAOrs4-=qk-Y`jV-rk6 zqOezF7gyeOK?ofv7p=WbxZXy*A9u6`a8ihXp9Gf##V&mYtC^Oc-ZxjH(ngxB`k4D_&FF2m$nd1sv5 zPioHmgD-wZ-7r0lUZh`dh}J;gN6A*X8txyQjSBl(mR^3V#!4*JX6(TVoZR!}J6Gr% zoB8 zXYW=XAM0jc+<9?aUUehPpnw_r|h9L`MVV<&%I}=m;-TKSD`q{{cK%x zh>l?%vjLP|7_A3P*b6eB`4Lnw@6DWdmprx#7MUG3_k&U;BYv)}2l&tDBiE%?GUZkR zWB;yt(J5KXbEo1%|86QA9O9z?b#Zf}|3A67tN8Dqg6Z&2;zkPlhlZZej}(%-RN(6B zDB9F=W>C~CkyGANgx$yGVl94B`l$F3A+PE_9yiOQM+5v~u~zqZjUH1jvQ#ABLd=aQ zY|b{Mp?O`6W6SQ-D51&qcJIqDh`7H)Mg*=^7ImF&>adh_gteq6n@b5Z>czj8Zd_z}312H}NY;wRI`k|WG{ zpt5N*cpqt;Nl2OML)Q)~Ij9z0vl&7{Ud9X;rqDJ?eA0 zD=Z6nBF1+jmJ_IRyYZGzAexxcTytryJ zS?57-lT&0t`#0OUd$yT!k^3ubX1#i3y2G*>OLv2-s?0RwGrvB&gjNj&(jkyfZV769S5g#-5Y%74L zzwqiEmRgfe4agS>YewO!h+RUKEkY0YnKJ{WDBJ#;`fU=LFxb0o4SXVVPUlu`Imopm z3fJz5(p;ITQ$^82UUU!qiOgJjjK*_LY_{@!FJeHLZv#tam#}a8P_IoZ7Bo_VvF1ZS zdJ`87#vBxRv@E;g`Y#QMq^3@ieHnK3OXhvF8OGY<_Q+?1u!S^4q+f-wj43UFx6NOk zrTDT@oi_Jd3sFV4n6i?ykG!k2dzTVgt!MF}606VKL^_zRuEfd5r=+e<6ox`cewbOb zD%3}fCFos^N|B!Z>?z5oCoKhAQOY||zdgU^Jw1zSaJ$%K65Xua~ryI_cnNgVq)cmC#>rs z-ubGt@{Hw*z{yqF=?)($nqcG;2TcPvP373B1n8Kps;bJf=9V>{bVGrxq*~MkXD2B#<=VU7$0N-t)!1pgQ1-;8t9V^P8j4 zqfm(0i}0Cy_yzqECdBFK&tkq(v51S~r>Cb&2uy-ld!0fWq+HqQJJkN+c#+2MCx7tc zP!|xQeYo>SX(-2yn8Io~ZcqD^>JBt)ZI3!8R3-QCqlxFDtnK)-OX#K=EPZMlR~P9b z=%w}MxL_m$snQ}$Bh9QQGJeuUiwYES&nsPs(+!ss{ty$2`Mqo~}n? zcm}q1sAG_N94y@23bwDLUivSJg|g9ftv%LVc?kuV- z?(C-94_P|BDm^LpE0&K_X?MQo>GZUHfVoRdoLR$p|5D8LQ-wRJRny@nxK~W z*!b6yGK}eYfR4ywQHl7V=4Q!!Qt{eiZuS z4np%Gm^QT=Xp`i~{s-uZfPzxp6=f6{tZ{8ZcLrPIeQ9+Xr#FV22vK0DW~%()ClLy z{0|P}ABCTF6v~iKoG!6-)mxo(BePy?e^Dkx<9IxzWJiO}Zn46ifvg?|AKT+>SI7Nc zZ>FQ;oBraq;$>~K4iFij{j$=7(Y|oMZFGsRl%9W5SkCo}?akN%iudtiZAE^gG1iSj z&?E;UrJIN785{I^|JKLfRz{|7BAYgi4i&+Cz8nTqyb;&!Afz24$D5rTHc<3-k@j^E zx7azM49<(m9kp`d0j3%X?eZ}!Q~%Xr_J-~6MxlHLJ%P^0bGhf%1mR6y3?&VB;D-n{ zqE>de(YIgzS=Z5s8gq)4$czD&V_^jAOB(J=%s2qMS+Wjwnc#t0b1h0e$j%pIVL-eH zy?d!t(pTo=R~0qsDOU17&QAk(_+_1WGFSlky1Isb(Jv+*M))~fuH$NYiMdT*tj5ch z(yh+IT7JWPsoLcl6i0k!FJH}v8niPKF}%dqvE6Ws?$z{(Jbilo=R`%<_%UqVKrqJ$ zBXQZSje=#6HIs+f=4UuH19R`krfb16!F(y`qGnd_Fs|@vz^r9UEmrP6!>McP784i0 zt>}x#`NuM=mfUzx#gkvB`YXPxYObv-{GnWqd0WXwhN|LW5_hxU;J3FXBe4}?k?h3eSEWr7|HRYD zz&>WBrM%K!Z_wAa>oeMB%d^IIewFiFc!xASq~6TV@us{Wt=R)lE=Qt{DF|#JA@cXx zaT((JHzp6Zy;COpe2w1I5eJ;A=dLd);JW^1eOpf4{k z9G^X_{3ME@wl6c=&}?yW@t{>0cUZ^b8kRV(e$R--| z9S!kuuFvizKXh!rK|!y{5ED=3D>+JN%uHJ}huhD|r{aNVlieI^<#ZjRrTYBrDLFlg z8*_*8TULXzg0DaINEJK3_PpN?vnBTldVYR>l@J~1QwAPUp$(MErRtjB{rRBqn*WV_ zLZB-%*%%xso@zUv-_gJZB6~b~E3iF;o{0qJt9*W}JJUU982LJ`0p@{x-K4F(+o~Y9 zhSpqtrlbTuIbc#zSnfj@FU5WUA0;BDvYd}WPfj7{^`;M}XSsLX0RqJF1W)2Q5Q&kb zJM9em36aW6+{B{l*F=tM$A{*8wP22;J*9-^6|mK27GIjC<(CPF`#O>zm5|lDP_+ z^0>6*cmk%KQf1be29i$o*gu08Oqw5jn z7@7V;40Ya(3|(u&6WOORo{9HXz?|m}tq8C%uv>-2QD@|iBuU4(n4)~hj~=X)*?m#U zT~K_H>EK-aHlt74VkOaI&-wf;3=@0kl_qF^^ zs#V>1=4QNZP8<*1DB+&xn>Zd&({dHOrNCUEQ6|d41>_3i&X~(ziY(CL7$6pSOoSo* z*Msfu2o9!ncT2pRs1{naE0~NNWJIoU2 zbmi7nYC%hom6!e;mw}9vbkhYud&!Fc=w?oUcm@oT_r2#_mE4L|A;pup%};L!H!IuN zc1w!&-1Yu9f&8yhX{0KG^Pk?5MfNG9G861pL=t|&z`(x4-~9Ki*3yXoq(un0V+;6> zAE}A#ii7NmP2`IGAA|a?P_))EYUqy-pir4y^_Npshv_dVbV~o*K{@A22I{#~2MJ9y zdxLvB)WOb1OYUSN?m1;6GiSsQR`5c%C*eecsPPCVdT>va$7O?gdSIieSM}73Saa~A zK<``pg-Oe)|2Lu2f&;(2z?b2b-VWn`kO}vmOB3i4$Tw(JV(APTXu0Nhv2?lC0(qVU zgL)yowa*kw;7YJ$&7$|qPr1bc@+JHK@o3NB|9}DeziW?@5~xpAZCb0JtYBb15&cj0 zF1+J}!NC6C5&1t~^`0~w$kKMk1bj$QWW|jcqDfYyBP4l0(dMd#E^;*UmCOvmUie=H2r=`b1odAE^Cr@&R z>6r7%w7r%^0{j8@*ZNo15|eoNT7l3ucf-83&6zA?X$LOmR~ek!^m!~SmIeDYrVDvr zH5$SD3=0jJNfRN$(Rp!oBu)m0O5V0aB}bOGi&Lj0?~64BqC~g9b&v7c+pwaVe*mr@ zu;%bTu+(NYL@1^PqCXeb^jj9Tk_Wpcw$}s&g&8oj7xS3|V)$8s&uxGE`okPC^T`oB z)qg!+RtUKmKK_G8>MHLE>j!(fktdEO#HzlFm|soXPE`)>euMdS*-$lN7P zXl^BWo00sE=~4>w4B8(pIeJAMb52!j_+jzRM`jKWTbop?toy|eb8Whj;^X6F6}S^} z6Mt{^m|`H* zz`GpfnQw>@iT-`pr5w z=X-z>tLT1Pdf>MFEvBZO(X2DQfrjZE1U8x+!BqsJw-xHG~&5+7` zGV!3dl*ohi?d8bi4y0pgq37n^50PlV5;#Ha>PlrYOqoHiCOflJEETk)1CUG?++~Pw zEn*=Wh$3F3#F5AjO@n;_kt*|X?^4$Onqc6>`>jwLDmO3?!gIG?(Vv!_o+9XTs@)gy zdHl8A9XGKUHzwaOyb%TSXsjTCMFc4j8Nt1pSRQ+iT$71HS*iL0T&BB`8$Mit+RlYG z@%+Z3ocLUEWT6{JX(aM_s5s%$93|R^F0Wj6ZmD$>3p>9EPxrg+5(U*+#pxWjq{C$5 ziefx0PlZPrx5meC%$RnZYzgKbA=G~(F zT)W{*`zTK70s|MO`(3(Ta+r>&kzdJc50fqsUUa7kk_p%EX}ZIyPamGWW||+4h*#Ks z?iHQlUgF=2>^}E|%c*3ccAZleok7w}S zU>A^~4U+ap2{Wqwhq|d-Cgd8eEufn_ljR7q zZOGmFKy|*!oaC@B*b4M;AVwtXm(*vM?hYxwBt}TLypD*C2WWlSx(gi!IEq_jDTN-t zIlSH7FsfmgMp_INDe$z@$47S2Rx(Q*by|4Dli|CE%@UKj5}XV{B^RZcq}<;z1m6lmvp<=$P&jMwjc10 zvtR1&DMX`f!?M>Uvhq#F1;`mxDi z+jxmr!QLZSm#o7!em|k% zUfr=uK?<^g-Fi14DBSYtW6uPhC;E^T;<7NgqIt;k`gpK%-q`2EHSNCXGeY5x&m(}IydRJ;FHvj1guS>U zglnp6C<>SSCs)U8Hjz{erJHzs7y%3k_)Usk^)n_tH;fev%MsL>F?pnMB8-FV5A)A+ zrO*twzsrgl*pw6fre`A~YlTOp;>5$)Fsy~?ZM8hmSW?+DeU#XCx$E)a8rXSP*Q>K- z0TodzWc;WZSW^SU7Sx zWK0XxVnP&opWVppSR6hg-Y3gLOEFN4-etmw0aAJ!ARnvt#F~ng=^tm)ig&`c+^Y?5 zY?!&FbazkhyHJ^#6dkSRz-!(n)nX1%@i5`)Jih4{^}G+1LzNx%a~Qa$!&m%=gUNEK zhC*&az4L1C0g%}?Jq-mdE!wYO_3h<2QfyaNXRrfK=7*d zh}gd~+cBC{g(E1uJ&^=3K>e0D@&aYwlfJCkUY?tj606961a;NxWlx|7_#xa~30uXG z(hgJwJKMB#>)M4rj&vynZ~>QXdGMr|0-nmfu&ucM!sC?!G1QbpqH|RGrYb+KvKO5G zJC&GsTQM4RmHzU}nAVx_=8fGUgdV{UZg)2{7Nd3utT(?GWE;Jo2GFR1iFU=NIQ3)@ zUhAT{Qpz@PH^;t?lY78xkRm}xY+@P@rXjq|ty9fSyun$XS%vI~SGn-7~ zD5R59OK<;!st7N&WV`vIi6$22$wtZX^-xnvRw%W&V%~c3Oy~S+n_f@)+uYbrdRY~i6V#O;|dhJKVV%^-(dE?=q&Q8i-@j0v^SUGZi zZn$rKK^l?7Wlqvt2ES?ytqlnL3oD~itUng->8-(gX%*-&l14_M`pa9^IdWZY!p8Zd z!EJc=Aj7Lb7e$iD1u7Wml0k1i&*rO-gR`6kXrT%DP8$y~x91Ev&#Rt)CHdTCj__p` z>m7eyQwk~)1NJPft}ok%J^W5tpVPiyuC*iPJZ1nZQoBX)kJI;yX z=%p6=_?(!DP*TF*nF8864@xuDzr$^w$|S$xQtPsh0w*`4q>H^wTCWgq+RD%hos0!}qi z>%7x_z+*OJblLdD6o2t?6n+1o!Xy_E*y1g*5P04gh`U$BC0UF;K^|G=cP6hg6?!yFRg#(bvnjh#^d|^&pq5b zY~2|Bk8A7s zYu-a2I@5z!(`qj7Z*iMRy0HaM-qGz$4vv=e{>vGo>8??`*N&TGLNFORO(lWC<15WQ zl;j`K14ZO(EN_bnoDlc%cV#l|ZCINNGcA-r3`v-M(@dqmDW7!cuX^CU3oDrk^KsNs zT8a!&IIk^}Ir=z%cgBT#f}4V}hHJm1353M)*nYMlU1uGEhCJ^*$9z=o$kB=h{~fw2 zA{ZJNeHc}T{r)@(iWqO`j7$`zzKu7)&TmumUb$;A9a?{EDbf!~=<|s&)bjAkft@$j z|9rk-YRCjTPBE&Vts$3@cnZCs;`))ZS&Ud{lduiWJM%^21b=}^QlTF8#hlWF*T9<0 z$3CaklKfZCz*}otAcPIa$UO#|KNP#&qC`+7HzKGz_Ne5xIE2buftT^gHy>g~ITIW^ z(e>{m2WHbH5sLi3@K-*`gO^Ao1|$k%%issR~d-Vs;V0 zG0R?n3%=MpmRK+?vE7%&Yu0f<2~Ht|E$qIE*3B${>(gHq7x8?|V=l3GhG(YL*%_Vs zlH*ikuGQ^xm*#KK=dSC;RZ=Cy7lUI`^|6Xm`Iz{=pZEt(%VM^`s(3!kSC>M*sMxlZ zrV@vbJf&Y=X_oU&R4%%sb(2maKzWr0JA950g^!r%9le?`Vl{iw zV>&MOGWTe0RaqLJBs=w~lRmt)&eR0iZO`kaZB!8uCl@x&(@{w9{Yd}ih~#nN8Er%r zMV}y<0N#iY#^kjTTm!Ua6?S@fo)Pi%i9DlDC##omNpZNv_9FCTBchTHkM|Z2znIU!X0$_C`_i+7Kf5s;*5T%`S?iTODfn^wT)G4a73q3Ex)_@^^@lM z1OvX44)br&z#YWt!g6hygkbq0GGb#~$g}+hcg`igNYp*+8pGY7NeN4Ep%fvDEKk~S zC==&@lV-d}Mt}8EcfzG4nL&{Maue1yhJKGUTyj!(Ik~CnFJ^Bekljb5dQjWvt*iOu z@@nXHIh8uC&H-&<|NF3d-Hv(}ug23lrKqfRHRkX`IfEwGl^p9PjUvWaXC0x@CbWyo z+vAC1?-!blBr;ri)f~^2B`ziZn_56d3Qnoz0zi+)QSE2BoU6*z5_Ln=dzIQpQ=+ya{MA&mO(GV0=SG?! zb_c7ZM_u#7=-^_Q%9_6mN)t)?D`gDF@}~(Ens|H*6JK=7%iscgR^AIVg~<%aoSCdR zYyS+pvpp^iL{=m+Kp?|_oq()a7ASL0B=xfZXP-94cI5Eb0s2}SGgDBg1gx4Ryg}K$ z-K3Q5b?r7{*(A1<`;dNX)#6fBqKgT%N5u zVM-vgYj1NyiApIUlSTzM34@r17Uv1~J(N%pxmqV|1GPOnOn zRH~PIuO>_|PoZ6yBv&7QrVw9T@iFt`DsnvBPwGu^MYU1YYib?F*;BGQO#okX6}zjE z#$&E9lL6xs68Pd!;v5UBR0LQM1Ak-i>ua~MTrk1scho9e{6EJYo1^}vGMUY}-IFp^ zaOU5;FIG6mBfKd1$Oi{}ME3!=hC+I9ts7ADotLHA{Xni&PJWuDCTd{fZNaI~iG_nO zV+Q&Qmm*ESsG?d69D@mcw<^92k_G6qV{50<#QZZk0Hbb^!3IPC z_6w{1!2e*OP@Xwas=D%4dVTN+E>!yP?NLFjQRgw38rF^fIM;hlk>|FaxRdZ@-i79x zd}%F~2pzV)Fszu?n*WnesSxE=P57m~zhY92s7_MF1IqcjG@<5JygH~COZ6K9&QpZH zvdw*gvFN0HFhPtC2D#{dvr1p&2t?SME}+g?FXShirjaP#c;(b8^$ztxe*4Rn{0xPw zBz7Q=RiV}+J$YwVyfeYjJF$e~StPew+54O8H!PM3wSY6dDZSV11b&DeX{H-I*Blpt zJ@4bQEu-!j$*UE>PI`<}dD5)LT^QD?gOOwQHLMSle6Oof zlKRbvz8$dcN4q38^tr@+>lEMv^Olnxo3ulGo5%2lPOD`Jy;wHrl zUmF~sb#uB8)I8z*Yp=rH`inNn9c``F0;!D5u!M(&&j{IF>xZzO2^83?c3v2hU zyAoKc{DG|Ka3*;umZ-o6S$*0=CO4CdR)^;Z`BTn|ut+z932~GH{@Pkt z6T?r%fS8Th?fxUaFqPyOs3`9k;PS@M46*Fxol}uGnX(c_R;vEr_&6q6)ycIv_7Ms`o9wU)StuD!V?c$C> zMWF--19xZvgD#A8P4Y<-y^_@P{+#(l-@(&^v;O|U_$OA8v7;CK9pnb# zn%-SKA^_0lOuc`fT3<3gZeZi-btG;Dr|3(Q&)N(HWcW0+D&9(ByaO=#+3HX_gnMh^ z^`qmE?F5GTx?&NzZ&#l+Qh%>(qzv+|e^Hex^n3s=!7E=I1AtLtWDk`RXyW<_0f_IzmoEy}vP>M=+x={06Kz zNxC>+#)BG+HYWXfs=Qi+(Vj7hN1mG_HwX2SkEX0Xnd)55n?x}%qJFmLbSjN0s+Dc? zIZAv9MoTl~P)uE)9Fs-g@r0jt#nR6(T#Zv;IY@8TMGHRDFa0X+$A}~Fq!|_Jijy1O zp3u`i7IzLutGuhle#0S?+KK!PxNbe7xinf;ad5nMOKFIi(by&8kGJM2p)@D+j(`+4kicG)srAP(nD3 z_wQ<9<7Zyt+6e4yIx$6D?UfA=V`yK^z++l#D$c3{FiB3yJJ^4`)(%!OSkbGOj$2|CMso^5SL@fpJ;J)1d%V>cBR~&DIAN? zj4{}4<`T89xY$q|6yJnqexVOI4V#`#zjTNF>N)IS*?*s6mLnA?)pmM#PMAN{^v1OZ zA?56o@~0eAeo7tBBE|pL(e(~IhI}(JYeA@@B<7a?0SBu{L(BU1W#raG#jH)MvG^F{ zZ~iH^!+YXnQd&MUbsf;4GDd#j5XBh?Li4s|fU`GFlljKvA?fm}!~GB3fO+e0Gw&0s zn5m%U)POJ*6K9EoAY=CIgSZe=7y9RzU!lM8H<&!RDqb@JXu&ODIJsPD@$*YE>6n;d zr#xJ_)u%4b<79I9wPKicOmz+Tq~{SnCbw|?t!z9W&17tSLUEMRAcbF2mK17i_j^xJ zJH5Mgfz0_HCy{3-iGS@h8m+ZH^MQm>t?3^LvB^2M)%G8VVK#MyH-0cQWiItZt_b_k zpr2Hi&H=DRB8Rj<_~!{}?L_FIHRk)d5p&u1_1EhJkXHzioP(pnK)I<{A{vnm$_?Q_ zg|vdnp=U(nlAe?PS!K1no;%f@_Hi=}fuAZV!-Vj}hJsTY?2P9*`@O7g%tyc&pRN-= zSx$f916;1iW?;)gCB3e?M0XH3!_&qx*+m<&yqld}5e{(?d4yneE}E~@`0zf_r+OXi z4>*O5crhWr=dqQN=5eyX2&qCG?d6_fX3Y1Y`i&06!l&r&J6)LVRDumCe0_bN?{mb1 zpten+KSPsdZ?lv{lkD@(F$Y>OqE|}xjElZ3`Q#YH9w9dX-7!O|6=aFpb_o0Sm?B|V zVlrvuirX6%oq&;2Cb>I?@^xtXPu(jd^z)OXu_;6I5}Q!o@68BRRo;0^6ej*F0)=E` zxb4_9cN?6Qdgn;jHIk`Tfmx+3V^Gjv4LQ47$I(?U;Y-a?3i9Y)gv>MNnG(t-b00PG<``M2-1V89zhVR=pA4oN zveBO$rKP;sgr}VO0{S2S-i{l7FjwXv`Y=(hr?Akun)DVKk2~kbU`~VnX@rS&Yc6;l z+Uk2QSK!K&^p}9{P}jzG5H_^`t)xe*rgWC$aLnH(#U|o!18+$8*+$BF`cN zu-?G!stfPR|^68>ra=X zBQPisT*<|Cw;@lPyrriL2z4PSamD{=l)3Jn@NVC+8Vt~XVjwF-s+RCbPq0=1HpP42c=Tq-7Sf4OL_or{HgYOeOL+#cTIv?D<2c3&$2n5*6Thvt zg7l~%6SMnr2PeeWC{9GJn0K$7wLyQkIVzg+KbNd4~s-Oyzr5XVOC~ZM3ZG4wj!`57!SZdWAqu zuaoJ2CI-FodHTFCWUaH~Z9wAU63`o-;~1L)Jz4uCYneSJ`0;k^0l=Sy^!U4_FJrK+ zkyQ&n1CB6oxHbDK1rSz8xv%GuwCbS*49siIFbrF+-Q3@j6I_lsB4!vkuKbii4v#wFvm#=8 zMOOvx16R~+;d>MGbZ32LEAUDW7sbkXQGJILiPe)u_wzXeauPwoWOzJxrIXkwlLpWS z=?}ue7F@|R`YY;mEXqD$+sPEMOZTjU&uwoZ3)W@Pqv(i1Teb#TevFaCT{+0Z3IzGI zwO+}Yfve)B5;{RHl(p_Nza;XZ_KllT;3efjx4+Fpf2ZvwGnB3Z#EpHf+}k7|hKpC< zS!GF&_U|WCV1LKey~piqk&p9q;E58~UdN1!@s1ur-e@7R|45ouk)wAAA9bxv1V!ls zC}8jeP0q4oTyQmRxgsO>F2Z%*`Wzg$09mO&tR#5zAzhuq-8Yk=Sg9t(3u#_dFNx$Y zs@o#=`NA$!z~BZ-%w4j06X4U1yWMhvtG5xId{l8D8MKI?)3*|1Y3YU4jF@rps7@_v z`b})Xx%~lnx4_AYdS5XD?daSM${1FSr2q`Qpz5V-HN}+j?((xxC#D5T26;x=)tP(b z$t*l?-)pe{)nkJAK$j8{e|0bUHA@KKat`b0%C8sqIFrK1k#@J%#`5@K#)kd~;Y10p zBdo#hHy5nXDn3!DFS4f0<=lS2Lx(H-nyG#I@$n|SyAvTc&%2t2gST-LnE39h_FTyH zXnr?9^jB|8Md&aeb*eQ=hi_p?_h0j`26b&NPNS*eP>1rQhl6rBn4US`JGJ&?#h&hJZOidy;~>1-;#n(w>bO2v zt2^J-Wy&?j03`g|b-q`{k-bWGA15g?ZKZvs<@7hl=pXI7qHp$;)sc~g#Vgehkvg8z z=kH`)P6WO9K+u@<>7(kKmqFekbA3BM6wQ!qzM64Ay@}F+hd-J3bseHO*@GL?Ou$P? z=~tDr;9gpPSr%z*(QNA7k=HLAUDihqmiGu~%!!qZSEaKT`JeL5L zbVLZ>@TpM=l51X6_>fDP9V4n+tx$89yzFQdbC59l-Vt6$L8g#`|zKBWokI(Cp%4B9kmCp8v7jg+C)G`!sp z{mR(ZyAA!DU*+Ohkq2P=pGHn48cY3;jkSU+WH(C1nh>-~J&pYaYs_m?${Qzl$dEX|>oVR!Q=j!e3#wUyLbZJ`Zz)h&7_=vlyqfKEu^hANj+!#c0 zm?`KfblcUOPP*F`y%jd2ee4?*B`sowMx&QxD+ZJ;M-v<0B@654O+Np@P?(UixfIYN z14*6d=^O&*SQ{+|y}sq@Slc1ld{NTX#!OA7;gaH$rwDfAMOwo3f8AL>mDNs+5c7!<7SY_HJGF%O;}KXlHzxG(D2qZNQ@*a$ zfm$FTQu`+`K*ni@(CV@=LYQ6B(UrcY|0pW0{@uFyr-el1DS^zMktkeyWGa2y1?-rd z#FC>`AOl!4`s!B79zZ>#zUXx9XOH}lWsb|@=31I-CW-mh9Bpc?Q?;#;(AeM_-wmpq z8BLi%gP$UFPotCw9%xCIJg}x={&W5Z^xNGK`1NM@&VLj3q|%DV8XV&cH}^I}Zj9|M zY<${91Czet-%k9;g0_)>n0hACV>|FStJAQrj=ZuLO5#AcZW=Cc1|UH6C0?2Z;nz{k zfMB$(SR$K96H24*2RAxl^Oj85JtYHp`c_e_gEpi}^6M9J6V= z-(U(~I$1YI=K&U&C`l25;O`!OEUPY%_!*G>4Lft^sXJhYOWW#R^L%5w7R5m=YM%%wYoHEm6Y0S17tA){TDLxS-;946mMMsW_U==m ziJyFvjtM$sZE3F|`8APc0%fqu-e0tHx#rMWS%@F^Hidaor|Qb7Q$)w*8C!dK>w#7J zo;7;ox%@=XdEdr$GF3A6(uy)V1BM14u$VlJ>-5~D*9QFmKO_i&B5&l7WP3B0f!}wL z4OWts`s(v@Dod}TbVYk4*gyC-`=Y)4kCUp=hPIK6_dV6|5HNa}S1InBG{867Ru2D8 z3_*&Lj!OEfU*Q9a_^189u(VPlICRGe$3x#IOTKA)r#ns!=FL1sim_8pw}XNBN@4vD zx@U=jk3Enz`&y{JKP5fQs~{f)igES*r5^q>lta8|;XBIAol=5Y7VEjSZCm0W!@^Ol zbmc*r;f{I-^I7zyk55OYLG~y)?`0f2Z1al_`H%bw6UX zKR&3wT{ufPhi<(l!@2IBMXBZa9tKiAUA?$&hR#Pbg`xDL8HWqYVoJ0p4wkb+JA|Jr zgOwHyXe%*O(qBe@K=6-E=fBdPcpu!Wf4m3$QDN5Z6Zs?`#VGpnFZgYj<86Efa|AE$ zJ{(0{IxdU|1xGfVcPh)V+6^)w@cTJ%oV)xJ_n$ul$3IAkdZi$%))|(!vAI~jim+WT zsT_OfwqKn|v}=;eSS+5xSxImEB}mKV_}S-6Bv!pSKdeOSZD^DZPyvjQ2F;uRaPo-g zXftgBX2->p-*rDBMOYa!^IK=A2dKG2sxKYtJU1o$CepMH+SQ@=Z+kP=iSgm)%E_kb zJQwtF$U>=7({2)$>+0EeU!Jo~bxZFi(oEAeGe|5*D#FEZ7-LJv%~W8oE;F6JS4o+1 zx{SbyftlLR7`FM5Bq0TEyU+eXrUFZ< zW(Hl(*TI`Ng2+8ShuMIgbJ#DmlOJO}VbkfD@_scT<^A#u`>d6wHtYMNhI^c@w4fyV zvtU>6j6uN*l5+s~L`D*b21KTN%#KC~Y5H_~An`QBaa;<|!b^?-dkQzK|1mfY$czLB zU+Riu_`MZN^9m;bI{-fb+YmbpuZSQHuf)XlZdSZzt7G)!{Isn?$mfbmU*@z=FcG1( z8$R34LfHO%-UQ-4Sar|Dw{`66-Wf`PsD&Ypn*EIl@$&{PLNgwTe_-@1NunB$Q>~*r z=#Wo(-rUzWn>rw32wD1y%dJYpVh9Aft+(e~8cQr8s>hcx1x@XDf{&LHi z{uhoSSu7xYTCRcB`k#E&tqq&5z2=l&Vd_Q+!MCdv!3s0Y{cd+HI~)d zK5L-@0uLe5>zwRVlkj|V{+!i#3F^3;?%c(<(uO`&UIVuZT7K=jjaz&Rgg@?f9An|~ zi2Qt|_X^L2KV8-X-%IKi{i1!~%evcd6NV$2%iL{B4}ZkC>$GA%x9_g6kRb%<4#iF~ z{)u-nOSu|Hqc7It;@dt5LgO~U7yhd(z2PBv$vMnfO$zJ`KN99VuNI@)bDGo#eA^x{ z>=>Ro@V{`F*80t9e2B<%p@(1C@(%L*x3;@+`$(~Vao87ixt^(soko~Ch0_szQ>f}# zcdNyrGwn$K=)^z7>b$wb$y~ZmKgvDd*53CrH7E52f6cM)G1?U?E3pmxx9YD<)Y`5j zcP~VK`&ds*5ZR_s$21L27oEx}<|TQVeH)Lb1Bq&r>eNa4nm-qBp3!du^XIm4T>!kX zsPWDG@3>(k>7?#o9XbKAj+&@pz^}h|1va&B?C855zKI0OO|>p{#8vRLkOI63*B00F zrOatJ`MtBcy%NW*{>756HIwXpGG`r>ZZt&b@i6`Thd`Zj+}pQFt5b+^+%TD|j}*Ew z`=pr9`OyX$S0(f(J0jDUdzWPU=5#BHtc=RhZFOj3b`{CKXo4e&un<} zqrT?rRBwweB?(w72n0Z`;Fbd&))y1CGaBtj$qr_+JGeS-q|o2ifBIK4W{AR$>X?~Y zf@uFG);ohizs5P9^PgvzW9|Cs6aL%n;mP4yZiKjjFRh^nslN0psIGP~Qb^lup4hz?t&o3KT_Ap;rGa04EfdnB_?flI`B znt`ds>f4&lA{EhHHiTGILVI-8Qw`i>>*NmGm7JFKm5P-tugPW}D4Q@^km*hkkCB2l zeieThA6w;@2|J9Q6$ESOo;X#=18`Ue2-MMIr|H+D)1}k@$+J)`N5@@*AMrr9J3H54 zM4Bes^aH&?5#8!-6TYlyFe}42yJ3#L$#Lr3amLE=Y6IWFdxx5e-3T($TDzH`5Sd(N zdj$*;@UhS0-x!byY320<@R8daVBpenAtAMgw03R=j> z`@c=r|FhIfu@uUzT&!@ zd)j1;MjiagDK4xv(v5R>sx$PS4!483|E2a;at$%1vY@AI!Qc4tq*YC9WvKZu{ z{d4U0>^IFsf`u>tr<;JF2xeuZ?i6F~I$kC{iu5Yhd%-3{SC=$5YGIU6Y{ab0>|=aP z*84UWPeuOG=t2Ot@k_oW3{CA)-x6V@^c-_WM}KS-38jD7+di)x6y5g;-`7=Csgc$; zAM1xGBZu3w<+P24n~g>a9co^QZ1&P9F?gkD~~np6Bqa4~cbe=yaen{n*Nh;|0$)UAUCp^$d=ze?0U+|~^XpqqOP zrwt>8FzCzG-!14B81W7!%UH4mYgx@R7A^I!&)-mQ72Tj`&c8Pw8g^_w{8H$|Gfp0;4;z@nGSYN?1Nsei*iGt(z#y+$EDi-%Hn!A)YJK_`Af;SpSuo8yu>S&i`*+8$Vz;NKe0S1Qu4Gj(d|NmzI@}Ud{OrZFag^_`QgFy!* z1u}zyrBL9c=jy!{ug~tD@1jwsP{@(NFu_G}hvS;6hY$FE2nfp>E?{!@F@OAnWmCgL zg&4`g6DsF+etbHqoiWteASRWWc|G$9#&ZnJRkJ;rAB53L1;s<+3^YR3=WEJVjoR!5RP?FhWEC diff --git a/sources/html/image/image.gif b/sources/html/image/image.gif deleted file mode 100644 index 8cbba167cc657142948cae1399abec619c4cf7cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmZ?wbhEHblw^=#*v!T7|Ns9v=f0%PWSDbKlwl@=YBIwd3#|ta9vB-N&zw0ED9eBf z6o0ZXGB9v4=zxSlW-zc+1f29-z1QOP+1>038hug%b27S^mTIv$P1-cGa^GQvH^)7b z%^dS0Dt<<7c(}k}#@3$0vY#WkWy+cv95;xH@a^Z$IIb+i)2_S1giT^w+uROaBL%nD svy9pe-W(QVNU<&~Y;F)`VDahc?(^voshC_TH*NZinX_g~3Nly&0Pegob`D7U0#*E2@M7YYXI`)Ab|h? diff --git a/sources/html/image/insert_table.gif b/sources/html/image/insert_table.gif deleted file mode 100644 index 607ff38b4ecb49682b6acf3e59147551e96e77a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 923 zcmZ?wbhEHblw^=#XlDQe=Kufy5P?y0Gz3OS2q^w!VP;@pV$cEk7nCO$ zI4T%eIb=LGEI8QAA*>a1V#C72?VOArb38UGHFPi5FQOSux#yRUtg#be%BTLYt zkeQ!UJe$?R=jCV?A2{8_!1m(K$;r=sn+!9#LVp$~1WfaYb$fHNBt5XvJzZ_9WZ(&zfO-sj$o4Auakk{Pf7 diff --git a/sources/html/image/justifyfull.gif b/sources/html/image/justifyfull.gif deleted file mode 100644 index b12528b9f4e0666f3ab5642d80f0f34b2d0c3544..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76 zcmZ?wbhEHblw^=#XkcUjg8%>jEB<5wG8q|kKzxu41Cw%3|H{*E`4`XGBGs_@+O>D{ aOGP=lM1IZ`-nCNb^v+K{*UMrV7_0#`iW%jEB<5wG8q|kKzxu41Cw%3|H{*E`4`XGBGs_@+O>Cg bTMxQ3Jqk%$KD|i$%DzuN*T2OuFjxZsOtTwu diff --git a/sources/html/image/list.gif b/sources/html/image/list.gif deleted file mode 100644 index b3018d9f2aa504d1fdc1fdf52d56be68675c3162..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88 zcmZ?wbhEHblw^=#n8?Jyz|a81|Ns97l8QfB7#SFt7<7Pa29P`hljfBEm8akGFP^hS ou0i+EffoKI{^e8ETxMmS=)1{z+%0O|nim&7o%{YTkb%J(01IdyB>(^b diff --git a/sources/html/image/load.gif b/sources/html/image/load.gif deleted file mode 100644 index 16278c05e8fa42bfe6c1b69dd5574f5b3f7de30a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 563 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 W!9>s20G!eQ0000%}{6n diff --git a/sources/html/image/logo6820.png b/sources/html/image/logo6820.png deleted file mode 100644 index 58502330016eaaa6d14591acca1447f75ca184c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94032 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 Aith<_Aa3W9Vb+R31_Eo`N-T&5u)6vtTBV@x) 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 diff --git a/sources/html/image/logo7.png b/sources/html/image/logo7.png deleted file mode 100644 index ca014e1f9ae19d369ab473c9516fb85bd227f9af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17594 zcmXtg1z4L+(>28lMFIs%@!($EU5i_a6)W!UPI0HWy9IZb0>$0k-95$s^m)I3xe`e3 z+?(B*+1WW~X9!bLkU~TGi~<7#gZ5QgTm=T^-5vCAUt~n+^ZiF{0_d-Ijw({3FqPwk zN6;6DKV+rEVc!1zRsTV?PsavadMvyyk7$u%8I`0}r%{7QQ)ylT@!FzF7Ya)LpaMyc}`>;GV@4{cunfKLdy8!+uI zSePCP%{B0!ZNfY66xbO5H(Fr1@^?@FJl>(l9kA?nWhxHhzor^8%N(`wf-XT|6yP!N zAO>hY{O)3R}AcbU-@A;EY7_P?{~x;N8()`akA(9Pf^^zIh1U^ ze@D7>CNt+ZcL{6|DBuXi-H*Z{nU{p!cU^A3=$Uwbmm~gDIqlcu!mXEZae0uw1aC!G zMn>-%9~~WWDx4)w2f`uyuFXHy))=HRrKH6Yujwr0PussRXYrqfM<@&eI{uCAcLJF+ z$H8=b$f|_6(q`_7@71npRr4WyW!o5L+rR4{r)T9g7Ae$LL5Wp*ZxPh%o_kM`@7MpS z513~a?SPE~p3EHoqS?EIGhzNkf2dp9ue_hB>EA~!{g@m({~H31v^SRFdAU|)>tAu! z_}dq?t;98J{>wfE-K81MFFShY$tRV~hk-FEOaF{fU)sATURPb~tKxP-t)t2O<+x)~ zowYiu>x=P;Fi005=(T38=<_%X$+R0BMgAv;Ft{BWE(Ege!Vw)WaX9*9_It%l`m9E# zJSkn*73`wAf5N5`C?$|;`6_Y>W6Nu;+&Kk`UC@2##Fm%B|7Wc}DqJb-*xgvi7G;mv zovw{Okw--TEh^#T{zpOgobW_n+}V_ImVaiL)+$12?~gYlk;L+^HX{YFa zT9}$eI`KnHl-bAiVcghz6M%fxHTSF>K*-CrxGxw>Fx`v^-9djG9luHS{~egN zFr}uP4Wc_WbDz)oip}>G6ElM7jM;wUe8qihk{rG;EoW|{%-h3mKG0Wj#r|ubXiJ0^VR_T8Ef%R#_y$1u0UEWmmjx(0$5iUyY%>RSokVmz0=vjd~%nl_JW9_HiYa} zSKix2$oB91Rk#gtO_o`|G6!E)V&1aI=?Bk`oj~_-cJW=2oYMjuJ{!#25R?<8g5uc9 zTN_unBG0!853c@&&_UnQJm9j0)EWlWk6dkf>s{=cFO55|gxqrwh9S>h$;~H2Uiz(p zhken;?jBJ0Oui>%QY_BwSV3g}13&Ctu&S2dks)I!tp~=i)ld^+(7X}D?3Vy{A{ZNl zjxSs}OM>@{)Lj0Qih3C5$voXi?Ig+wQQYT_uzI6oSJJbEYCXO{V&HbOBZB-pYH|&M z-nkgwLPczR4c)TjHPAQkAvMB-kqg{H=+64jW4vEimmP3J9SoI|NeCDMB{ zlYbhMyyac7&&Esy?Nk+pKquo!hec=+@iCE3S%*7mhpG43i$c0z^bPL0pu4|aGSHP` zq`ZQ9+u*ds6Y&zgOI|l{gZfAAN(dPZLrvza%ceIFi$)A`m%hEU5ddzj{@7F0{m{7M zf}C;23`#Hq8waTengeU=vthNTmsXHcKRn-3rxK$%^1olJ-CXDj(6`$Lv+v5Bs#{3j4S@~0l z#zh&W`wE$PG1~J=*z$J@3P-eMsYAoZT-p-T!k1}r5=i@Ujzf#6WtM&7>EtUDmNUT_ zYgGJM0o0)hZwV$^u}1#BsZdQs4R81a?W45^HzA0U)RE|1ki{V)$d!u3UgZR{g{b7S zJs(FpgH?iQfpLT?p1&AUQ1+Xg`^Fzp`KVt*$cCjf5i~kFJ!f5Nx=ZLgxdjK~T@eB! z7cV}+P|tq-RIxBK?d|6WkE}J9Ptih~;?{5Ihjdz^ou8MM;YZx3iB%zTYaYAz!3E

      TxBat;G#Tx$0R{Ytu|+pE>9CCJBSN-XCXxqdM{BFhU0#U~S{ zyatI1BLITnr?6Ia6el^v7#~tsn`LXh(mG+{5jK;6P!tO2R?s{ftsh4iCb9O0^@b*) zvF8Op;RP2yG93e4A2X0$2v}J;=TNdo$ z&PwbO(rQYAD$D_XiyZ6%4|@S%Km6|OtvU^Flrjj4&&J%ufWnGgo}16G3CWp1xe-F(w*nO=@jE%f(RdH3E-*`^))?0IJG)afaI;K;pFI zHSuTM*3eKouN9Y7hpIoFS5q%QH9rVSGwLX`bT8Rh5asy=hl^QIJO9;kLn6Ue6Tb(o-EkQ_d#m7~*X z$e$B}LAhhV1wdtljh1}yxM%jCif|!4ckKbp@cqiMvopNFKB}Oh(Pf;s|-#qLeU&#Yo=H;M+FmTA+Dc zZ#SBXS-iu`LAy`k9v@nmH5CaRloCE4rsBn?xGFiMrrr^suyA085xQSVoI^c%J~TTB zB9b@YJLkiEXnWpA#=-GPj|@pa1NM?wQ#&&P{o7q|5fWCQ`#7FV;&gLWgQ$TgD{&_$ z02M^;WkqqKD*gjuP)U4O536Rfs@4)*aE7l@7U~rq-o#BJWP=sG>1oh7M33CUibLs7#_xfx*|8Uv{pymKSXDzij z8@>+0fyD2r409oFxJ7m>I~KXMOc$#vAE)lc`JJxp*l*%)b?#rAFr@4b>s&Lw>ytlP z0&yR+h@3}${iR!=&NG5a3FGOT0!M-F57DN+A3L2N+t9lrZ>J(>mjBE*76-GJ9lYvV za#Y_BRyo|aqk0AfDc8$Z7x@)chDtNq{j|t>?ABclqksCPE@5$Wg$cIGnPjN|`(+vN z6^;ZZn(q9?&O-;Qbc-(=@tyPRp%6h`V#zTQ>ZcqVnf~6i$PjHD;#>0rtd*~sIH?5^ zR_(Jb8QF7gH$g3+_t#bm(w{4p5^>lsB%JrVA4-l{c)@shC+67#wWXpZ<9uBmkYpgJYWZ6;6_$KrN3>|wgq&GIfz5I06V`QOV{wb=L4`Xc8wv7UbXd&_ z$mNUQziqkLhm-P-Xw}~-3GL{#nBOJwvkEnZ%EuJIlcCq0%e!6RquD}GFAH5D>BzQ& zOJhh2tx`5g9iwtKWczx3Y3|pD z+>jG^L5!IB^fnUeSRY$*lrFVciC_2J_N2e0dAx79h0ARF+WCw|p;*KvvbcUvsFNCP z@cunmrU4|Y)h0RD*}s|bRrSjPMBvf&0q+JvOE=iYAC-G8cexaG72#7w8}3&G)qDQ^ zC+<=SLOhT_RW}7f3c80vDI;QIJP^xy19;fZ4;xKqHEI#p()rZ+mJk;&nOB-*^hWa2 zRGbh`{7r1?<$2X*HSy2A2t`^?bWssp%&s@i1f7G%7IyEsx)3dfZ)qnsvEYoH~&^yhPFGo-;4e-_%fw8$Xo{$8CD zFOyK^mX6s8g}$CpGqo4vbpoqm-;Aoz)ePU!R4A%yb-?=Lw#*z~gE^$}$$y9af{Kx6 z=9xKSp`@4eS~WW!PXaS&CcdURI!6!h$=Z}ohLc5>@hb`intVy#}kw&{6)C; zmiMzMyOO$k1Q=JsA~jM)RrSwpzsG0OSyfe4395Mf>*dv#;<>p=?)xp&_owk7%HcQ9t>{9iN&(dm)lP_wPU8Zb}Vl91a0E8{Bh9*~L`=xo<8*$mbGR$Xqd>9~X%9tBq*lWgCcR0o$P}b4elO1nSjNx(N zq2{RAKQv6Pc}y|Rn5|FSQT!fctogbCR?*SNbVx@S>fEX99~Wnou306o>y>8M}0pB&1cJHNOGD4G)C`HpJzc z!T$io3CTN}88zp1qpTavi<=1`zq-EmUzI+4f*1Jebqlvu$toJTW0J5OXv6zi|e zU9ncIF^a8o`TaT5?);iKi~DS&)y89fPw>^W6@@9cAIu}?v5VF?HFN#?$58`$N#S@_ zhFg1rmx8fpL?`oNPHk#moPSnOS9dl1wZP8>NR!PtR|lL*pyA#{GnoJG+v44ZnlJL23`luk?FGem1i?wGf_Gxvz zVwcTXB>Nh~gaGAvGOo0Wji+YIzyakNH8dB3$AJ1;r=@3~g3R7kceawM?D>nQ4$o?= zaun8%8XHWWGCKO0@29fAz{9KLCOVR6Dj3c=we1%9fUaXIQvOxoRZ@Spl4-|-a;>4=A!s`_vah#UMfbn@Dz0EoJ zT}UkT%}cbOZ(_3 z&*_g7MTG$ByE}hJApiy-tcXeYZtS6bO~7B+H#RcFHA?N%eYE2uO4@y)S95C*S9-$6 zIs-BtmTbT1;#3XwJrowt%`Kp(8X1qT;=6~r_m3XA4|OsRk<{pqZ(6b~lYjWDLl2zg zk|StntOV2G+pOOfWxgQF3;9s z!TIJk>ua~)e$ye&1-EYh_;Gf&ZeIhQXKer=4nJO-skTUbV8p)k=M56HpAowLCCgf_ zUzF4#UvW{bGPjC8Xi05TOQOQdqBZopjs~$l!SL3zN;d4{BTFo8$a8!7&5$GMGu<%x zE@MXo%C+W-J>Go>Rh#X&w{%xTpeE!-j$pO3Dx4emuudslho1&C3FDeTrari!4!< zd4a{z{Z^l^rsEXgUX>9^q7N)w-`Zo%*#M|N4--34HAYMWswk`lu$%!~9bh^*)zf?0 zp@yllm~~bDL*LnvAf|`n-0vFU4wYeU%>-M@dYo4(?>aYJR##5VEWX*;sHLD^l|Qny z;qiLvP#nK%kDJ?<4|Xu@Ln_D5t&9qU!knB7kIoe^mYaE(`9fxYVGvmmu;Yp6lvy5n z9WgS7NEPOy;=VQAeABgB;@*C0Uv7z4=etL1g>0RRtzN5G4XTuhl!ZsAb2}MN|BRs- z{8Hxej^z7`vo6~SV^(Y;V?VX(7js{rB`o$9Z1#=52=`QU5ffq6Y)xZ4Y%ZN=@KK28 zKpS)2%Z++FEUTb)DreO2XH1NIyYQG4Dq$%oNvd{;3_M}DS51f(Ny||Wr}!AwT1UsC zDDst&{t7cp!z?}Y`DdtNtDdpoAYQxkFAugu0;Ix#F$=hGA1GKAQ0}QakGNi0JZ#g` z2^cGQ)i+hzB`bIfW}TI`aLl6tU!==@@w7qCwWcjm&x2ltFf%- zTpE~_#&g1gsR(3Gm#%Q*FlL?zWIny65Mwk7=ZKdlbX-o&Vm2oyr)ZjWzG8r_t!GjQ z90gQZL8ggAE(yF4GR9#Nvkm(*-MaG(uLK`4R-p*g z5D2q8U%e;4cW!4b&(uK{D{(~l@*eZa-35v??gTirJO&#Lzc%g1TSp5)a1Z4VGEBiZuFKyu0vmcB=Y;DA zhP1PEtytF@Odf)RXG{tABFC1|Z%wK4wDqR(D$rps4y{uSzE_d=g)_7AwL zyAVcdk>MFw@r_URGX(-KT+b>qpWM!m#_CDVNinOT!IV?I>-8#I`cjQ|%v(d!<*6!j z-QFHi!HoIEvfm&77e@Z8!<+gh*GLUnMN2Lr?{n3HhPE7hzI^lbx?AiF0cKG|-;l1% zGiGID_pZ0I?hbzEO=g7n=@L3wg6M<5)PrAFj-T&{VrYM%X@ta)Eg>LYvnST?&&-V z1oW{P{q;G^CkAGRu`pa=)%Pr;cbx!Ng?VPsm8$JwKrY9MdyF_fXc4X@N9}paL<$cu zfuon$a{#>#xO{KOKZi2KZ!p|0vpUKOXo3LL4UAS7?rUufr1u;Fqwk^-9{3OQU1rC` z^GXlSN<2eQ)R&cA7w7JVlav+24^I!bTTD3}-#TKhHoX}!Ky-X|IYCfk z^hY}P4tTooE|(If2~Kc5UmPIE;Q#XzA~56);qP~xuqw*Wx9kffj)m#kxQF9qwMMv@ z$~@XmSURXFe|5v1tteQ&hV<^t)&_LuWiO+FoAdQwZx3i}kY3ix>0|TC+4~yaIoTc3I=QyDtCjrM-%&WsHzHMNU z=FFIWf`y@Kr>;H`?ce~GVR=Qw--FisT8HRbIX&|Vln~TVlFj(#IrSC$TIb?K=D*pI zmw2`}gzL=|J6k5=y2DaGz|&?@YY=&ykd|^KPiYYI=jqBl%FVxO&;`Qx4ZUEgBxoVr z?n5@cc7fm~UXcEA zDITU;TSGiwqpoZsNcFN!Cl#GZ2S@BE3Lg)kkoA%jK&e_7N_aUi&YiAml5NURYnrN}Z!)2u)#m!HT*`)T!D{x5}%`rZw>JZ8b6>rI@-{LQhD ztg%+5npBGqtQxxnE3pEME1pFy-M_;w+Zf|Tjpza>BT$DTtEA(1Efz=ogT!0iBVH9j z5Sg$xzm#0YxO8X_5z4#0RhS7>!`^m1jlwZbiK~kEVA-!y3mDLVP~^R@Jynn@V7U0- z9`e9FI_*8VH5TVNU1JrgioG-_rE*niV=K7cW{c7Gh+<~&|LpzHGAHC(ZvVT(sBMgW z9g0~OO4fo^5OVu0dJWZbNE<%XGXnxYlb~JyG2(yjlg5Hyn)(<(@!TYpNtQPwQ&Xc} zoBy3;1ffxV>>Td6II|QbPu+N7=x_auqt#kwXb6)!JB?i}*au~=Mnw6R{4?FVl;CO! zaRs`>%V|fsTqEd&_r)2WU4o8is&M{-!8YUXyU1<2Zu^LcZKYIK5Gzp)eIS5+pR4Px zndOeIocXvZ_To`@f{5d92LgB(!`;6g4W(v-E9I!~uO}cQpG?2>=s1&x_4O{XW?maV z|8PyjfD#h;hJ~fl{*D&n!Y_4WQN52Ts%Bk)ID@(P@keH_8o$_TpT1>PemSTW1=q4< z!ysV^KddH%X%3*;$BQB+pQd`|i9S-`qZZ?MGvH(RQUfqDGeSeeL5c{11z;g~V$rXr zGYIGh+}grmC2trr8uRq0TOC$h3lX<3091+it4oIkBY0yUjv7- z%e*tTf|~6cy5d9Ip+N1CWqLd7v#4se9-xp$f>Flz#q)>=2^6TW$mr{u-Rn$e z*GP0G*SK)~(Kg&S-_z(qhbUXMJ z6F_!bTSlU3yP56BFROcDCNVWIP;wQ6n{YR2NM8_xK(ov9czwzKrp9OHx zhjts=W6SYIUmEJWv@)g8CG&kqC54LW^gf<^&r0VnTK9)ZS4cq>^D6yNXgnAkcyD@e zI)}oh+|hsId&w~(>tejFtRXf-#Du`KywERbWzW+}AD zVZAqqa4#72RY5%Z4xj(-xL1kQv!wgagKP|0_d{F>U!4^^Z))KV3YDvpd|!`i4l5qF z(&3&OKqR`HW=oa=>IU)yGE&D1l>HX(oB;zmScDHb7y_Ue9vdDu6VBUMH7HNE&z#XK z%WPu`seJhvUc0LV!r5Ic!kL{_gM8;Rl!S{&9^WY);F_9R+S6t*na{u{bf4Y!$(~4E z8GMBXayL!Ml8K>`ARf#0pmHnjB`yRj!7*RWm-nk(PwEJD{mw-ghE;$0MZn#J`7u`U z3^rQ(Gu!9Tb8p(s#doflwuK{l`c6D!A+?{N(NU$<<6OI?NAZ{4M&m%-2&)|hp8m>h44JKraEz7$-}Yr%pxQ~Y37FdSCJ z^9u~#%n4xntsfh&pn0av)lu1*lpmwZd)S#8IlZVcVNYHD86nq{`^U1wcnT!TfTuGI z+0i0tGV_Q|_!(c0^VMT3S%#}0m^2^$0D@BH5Q}QemgC&B%fO?R znuD5B--Wf{f=^!d~iSNJm}IgBU|=+oH~ujLc$;A z%Erbb(uXkQsHnT2bn;*o;hz^BF6RKY8;hNW1`dSx>f$Ma9X{d?XU1inG9H0{)L6k8 ztOuE$)*c(-hp`VE1G)*>eg_u$6_`b>h}T(Vp}+`oWk@aSz`2igXjhkadn+fFeD1K! z#QA|b@Ee5kM{Y%L^OXJce^D-0 zdS+yh$dOV(_d}H&y=>ZIbhLtaK~BGSbH&e5zt}H;+=>eC63{?d74c{BSfHqsl=^Q| zFkJ|GBf41cxZQm_vJ_VquS_Mt0``TGcP*7^Jk66VYR-{}1q13G75#p+P)g#qg2lZlrj;dfxYIIc5*0~A42($~kN$A}M zrTfI_{(726V1B|awKcP$wV2h`MxU9VKR?N3g4O1{__Q0w1Uy}?nHXueqr5;IP1EVBx>u3t6N<$Lm0!FLhUNM8>PE6 zT$^(isAg9slbWU0F>a!c{-b8~I5^XdK8C0#^Xxg{4Y@7OQBQ48mMG@QNyb-D{($>v zH@^goeoy8&QQzqb@wq<}Na1QPZ{r(NRqX7W8eqC$DTWAS`|jH^KVjXh3p|yURT=;8 z;rUs4a(ujhC6&#*JXIlM!R@EA&M{Cs=ID#~7%@s8vcf5{4S*)*fD|=5zJPQC_FrX7DhwO)mHIR+ktRQ*z24(lKbxO zVjj2ZKgr09BR`--1poRoVMRrV^4+gRtF`v{eW@&3E&4`^ZX|Wz5I=ZX$yV@io_Sdf zg zl|}e7A!%uwq?D}OF+|Bd=M(GQIKp0p4@C8LB8(Nw!^P`spO`CN$|kD^b32AH%MaUCf8x zNzA!ib9K2b9Aua9S~&qK0HY-G>L2_oNV;5?#TgUuDSB@jP1XP423fQkK-JI5RN%F163jPGM`3=QHj? z584Ij@4tiXaW%{vaj2WHe3r%A1ae!T2 zOdON?cLQslepUc#d}vT(jzvA zUT+35W5BPvHy=>oj#of72uFE}FM`Y*p!wmNYsKC-XmDtc>NXG$n#E>h3H%#V{8}}q z&Ift5)?@;vi+nR;&e95#m1o3(2}r7TlJv{zdUw4G^_5lHZAAtuoxam-KV4xCo)|52 zYRXZ0h+lK*Fv={*DD84XPiynfQwvE+{d3Nm^`x3>x*yer)$V|573lfN&>UuU=+S(bw9e7I5?D&Qk%$ZN`T-W*0oa2& zq~W$ujU`8W@h%O@lE_jVXW2-pPD7UR*WhYPp#Dj{yDemMXM*~N!5NR8-iq49V-zC? z>BKvKFFeSd{sOCc-A>dNRdMPhsx}UTrBbUd3_V|?ECHO=@sbbao){a)%Ap zFHaZcwRfjT{p?53Qw(S(DurS040-eu>nnnBtufwRCzO}%0y_Bjyh5=U`4&duJ0p$) zztD`prCX*>&4a82`JbkWU|AN)0DL^FzzAX)Ng3V?|DW{ z;BQQNM{F)F>4GO^`K^{bPRv0K1LW2=(JApYlMeb){#+l`)Hb8KiT$C+)LBBYljLyh z<5teiIcEi(z#bp{o!G$2P_Ql(byP)s5c>(G>9R;|M^3zsIIa?IMKKeJ!@oaSoE08ApD>Q>vl%_!U(_vAVl`duYgR&}&g0*39Wr^~IVX)U6}noh3gzD_~&`Sb{5oMS^nLd8|l?asQH zFssxR>xf+4p~R~DZV#KE8s2oHOf%=S$}b$w=rm8o4cRDRY&*C^G{ArW=_Q>V=3Fn` z^!tLd6749ZpR7a%=wFbCc6-%G9kKp}#27FMlOa7=iM*Tq;^QN@@k`0pZ)6F*;V$ov zg9a=ZrStO~{qb9{D}jl1Cs4vjprsv$NB)HZx$98_9ADJUjdC&H&w5#G6#nLiZ!L1#}+@xWYUd_`xjWabS;p ztr!{a`<0a#aqo*AtR3pB?iJkA5SGRV2dqo2&F`De-ACOu#JPBsXzuR^V&HU>C)t=^WXQwwS6Zmh;EWe=bUjn+Una%DOmATQH${hTErnayA~Oz0L+|Gx z{&wP-H+hd{cPX+IoMZ43z*o9Y)KqGCi;E@aKCat}|4+{QEd~G&o*SGU)!^q%X%Q1Q zyfE9vHNUmU3EkJ5DI8w_4TmMbE&b+ITpho%<4OJ`p*7ky+%C|A@j&*`CHP>9eaD-L0DZr znyNP9E0hz@_Fsq@c+HFq2@_X^W?nIeai6~-d*PMjOLL?f?5BLH_T(oUUV&yQ(P!nT z^5=T8ym{0fxTQBK!#-00Fr1@qTHVyd6-M&^&<^wcz8TG8SijuKr26(`>M{-BSC*Mv zK7qt7)Oeo7%M$Wk`8d12>#zE2&h$cxYqYs$F+c#!JX=pSXYN5`^RFuF7q-IOc3 z8%o4_;2ZEUfgjB`{jac$Ji|L_gcSP3gc^w;$=!VZ$EQ@9XU&{gZ(lOv8>t)$&&Ukta9-!7E{7}{eVBtA_P zi5^<_jzBJk0;@GKp7?z{HC1RRM`99ma^lB!S&p0!Pzl#gUhj$tKRya`t~mj!Jk zT^y&K@__fz)NoD4N_HZPaBwsYtSCAfe&~`%InTkv&hNg~piuAd9RDrseD7Jbpz-j* zCBSsKBGR7$8w;A65_$Ix30)~`C*0; zzn8WPHi3LR^L5P~T{Q;)!!_D;QDdIW;ivBcEsD@*Iv-8yNvuz{QZ3R@S{l~^TDoHC zzl3~8Ln5}cLXD{{yGR+}kewGHp~0yl3YpjYwDL7BGAIiw5Q9lgFt5&36)e$m{E~$1 z?5out_Z)%0mf8ZeV#TJ51N&oK)Beo#!5mWE^)KJ;r-e#Q1**)gDn+Z*>Rf&Ba8K$T zL+Z>I^WNKV5#G$LlAR%On@>T@kX2P!Zgc+fq7^CMjk5U!5G-SJIA!WOV+BF;&@o%<6ms3i_HV5@UR zBmPPW_0qPxOCs-_0hAeYiR%yX3-(OTyX~`Ot=3=Ce|ZH2rNg(tEoOvzPLXw7K^|6^ zPtvtrkXd~=q%L^g1ks*px&%z z`!GnZtPEeJ)%QV|Yc2IRM6;>Lz(Ph0C$PNOhs1hNhp7jcu!I5)fZUIak6?I^TcrXk z!Zh4mncu5_`2AVV;6p}8;|`)fWjL`vD{8^Jsn0Q=3$=5_)G+){Rh^*KR_lU;tY4yE zF?GY$al;1r^{KLAfAMjijH7TMDX&EgMnf59&w`0x(CB4tQb@$h877GnF{0Lcw;)nZ z^5N#^#Le}*HzBv%rQpIR!<>l8+(Pwss3dICA2m60YT)eL0;{DiIW%#KB7W$D z4#Pmm?7Ml+IRX_fXgS;`Q}`R&l3t$ogF054Jp|+5<-eFstxt{J6Fr$*UX-V#*ou@? z)~0ZHf1Z2C9I>o6icAkwTYyiUSNdtfp8P4_j9x;W_rldRwa^G!`=|7-fT@QmM=!%3 zLK7b9>}raP$dJUCW$n=v5cd^By+HZC!7@ux*}qLL<}PHd(Hvg(ya%TX#EB(=jrCl~e)#S;oxn6v9S2RJ{36CrvLu*y< z^drW9Jzs^uSS>CthhZ8Cr(_$`(wnHoQU5IeT|n(rNFkPh?OIxJ zZ_&cP`b9dp`Nw@+rSorQB2L00c)9cy?e$&hPLeF9r}3GS9W1sN-#9y#&!i5GW=Pj- zZRC5`PSVFTTcOp3B854o1G*cltm?5uZcD;9$9qw8J?+8W2_;;DbM=n0f#dbHbsX|i zP4~#og3bQ`KOZN1Q*~qMZ>OC9Zja;b4vwn8BU=qtOiW$f7qU!~FpQEAPWg2Nq9)Md zWg|43uxnl+*dV)1Z;-#c;0XLz^r_^2cxAmYx!SYLan~jM;KpfZ9xIq7o7UCDIEMPv zx;T|qBp^S}z7g^)-xb|Zsk1rr+xKLg###s8rJ=~(M-Purd)lc0KW#GcgkRM5|N1;i zg9f@yojA<0DSt2<3><@$1Ck~+45ySB;rkrx<4?)2?IkKlbEngjIMokU^vw#`WMqr6 z>f49SMd;s13vpUmWlWoo?u;dSeHGlsY?LrimYO1}{cYXUkdNRw| ztYD!$$KBDh955)5b5L$=q3`X8dJ-A@zdBs@yH1U+nmty30!i$dqRB3q$Pbm9Md0!j zd$8uhesQeYllly}vWJJF*IxL||{1WzcE%`KE zTL{ieTp#^Qo%$9wW^khRH<0G)rvgqGD(|()pN(~t^0LXer;1esg$v|8PfZB*5^>20 zolT9UuO^BbY-ASyt*f+I0mjZk481|^k5Qq6+BiCl(v4Q8(T7i0UT<&8DLSSsW%FvW z_$c^6c=yhGH$sCj??Gtc(gZSX;Wh}wcy1qd5ysF%Nd-)tcVJARL(`Y;K=O%JJK<`a zMOH!3Dh%Dz^i~eE5NX7)iLAA7NgUGPf`>*IJc}$2-(U%0VBmrO{x1McP+5RrO=Ia6 zM^VVXRaHb4P}m%nO+MGkfkq@OCHPJs8gDA-zY3$(7pj(`rn%jDDc$`T!*JOh+Ac;0 z3UPJ(b5dWNS@s*x1!23h5y88_o~(H%MgBIC=+O>ezUk^Rj`)c^VSu&virO36jP}3D z2hR>j)V6We?W&T$}UK)cs&oO7KvNiAD#|W%< zHg?-n`V2A*zysV9jaR=YHRg5}Y*Dm5d%$jrr z(l$xmtGp5T4Y)_6yG%D}C;pK=(MjwfZLIF9$M+(|;BlR%qOI7};eT^M-1+=5OJ2;g zxWp%le@~Y(oy*wNGA$Y6Ix|0~ZD3W)J?(z6)uC>xwKSKu|HoU0@O=1h(d-zm`4a3X z>wlg>UkOmqX(JB@Rb91Ogv|Nje=0&D%#UN`OUrlm7OMkg-8_ib+m zbs$Zt6ZDtA^7#J8B^eDrX(1=`$(hbe6Ujsfj zRHau{uh4gOK$tzvqOMAMipKPEU*(wTwa=M&uKs*y8ulH|cqVp+^cl##P`9dndfl3a z@0rSJ1_lNO1{F!_(3`4s{l=D)1)32lx`unsOkEv>88sI5)mFa?$AjYgK2w19bcTcN zUh;F99d5ZK`j{9$T2%YhYktU{IN)-d}TXtyR@)MC6mh)rfPjLSq`tA0wQK6xu(9QMg{wv6;=#W0!zX*~Lzk8%1OzP0b1V=MEXn;& zw$NN}Cuy(RjAs8$D`eEuygl;P{+(LbbA2cc|8Kxo*EZGPXr`%wfq{X+geCPs&_9D*y|$_T&t`fW7#J8B366EbDZ-r4D z#E*))d!L*AwF}i>Dy$db357lDni|?Y0mTdFGcYhPFff?1q+SfxH@D6bSfsE>U=ipl zkfp!^MHdJ%A2@>1)sPMz`&qf`2PX_ W!9>s20G!eQ0000%}{6n diff --git a/sources/html/image/logout.png b/sources/html/image/logout.png deleted file mode 100644 index 598cf76be09b46a1e3748aaf9972076ac361623f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33054 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

      HdoZo8ztF_)dHtoZ&xqr21ug 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 V{T#=h`(J92ytIl`oy5T>sM@ zuo=8)139H6$S;_|;n|He5GTpo-G!lpRn`N@;VkfoEC$kdL71^1co930!CvC&>&kwQ zTT-0WIQ9L#SfJ2(PZ!4!i_?22M+-G8@VF*&2L+34U3B)}_8TbyiVdHxTPuIEsPtGA zG~FRPp!`*tN@mr!S3jFNr+u1pcJ8y8g{JBy`;J}>6L?bppnQMZ*9opKoBp=fxXVW} zNbR>crmNc&P?z)HYug+*MhU57S5|r^Gw4@MsZ>5@{gr18>jTvZ+N=xs9HuRq;$c*? zY>M!KxMLHpzHnKo6<#a)`bxkSm(_RN4@+D$xM#QhPD_TiZ+H5BUz^R93LoUwy-weo uU(ZxsvAJF`qv+>jgMFI>_p7{iP3b)MkDtemi@_QIFrXYm diff --git a/sources/html/image/orange_flower.gif b/sources/html/image/orange_flower.gif deleted file mode 100644 index 55c2c0639ce5258c8c6a5dee5d264aa62a3a1ae8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 319562 zcmWhzWl+=&6aNDT94R0zAT2H3AkC2;a2yRsA1NR$B5(&BeRM0`anh-DOQ(c%qbQ(Q z_&)D`*x3&|vpcgnyFYCmEm=8x90&(G`UeD30ZB9fh5>Np0RlOJXigyM5m5UOKnnw5 zqJW1q5F`l{3IgdOKp8(E`V_!Q0ki+<$O5gxK(Q2nRtBmhfe8U1Q3)uN14bSLks3g* zGSDmoL_mNrJs?>Nz$pSxY=QT(K%FwMDF$2!16683xh62I2&~8ep)lZ`3Q(vEl;{9m z>cET=VC)F^TLSIcK$RghjOzeZ zCct|GU`QYMqX^9D0EZd?1_AUK0p;evh7R5vYhcC@fcpXYwm^#+Fl-FqEPzQPAj=-; zHUn0l0t0a1MjOB&fjtAD-WHgF0Z|^nk_pgng+FBuY?=V+Za}Xs(1`#}jPas;0gqr{ z!Wvkz07mS9Vt1el3CvjocTa%^SKzxb5FQ9Pg#!l`K$|Ntb70>CD2xJf(7^69VC6Z%PzaC`2W9OBQgP4}8u8c3%U3vw*c?pt}K>tpfh$1C_17+ZN#W8(<0t z+?E1Y<-mR&@DT@G)&T#ifYC0XwGa4P2fTX^+_eJN9l&u9Ffs`&P67Y=frI~qW#IQD zaIypZ`}dFIPEOreQx*2qSf1V0N!Z=T*_Ay|OhlBOFW|YGw=27jt~R?aR8yNhP+FW{ zh}}29-qX!Lgk6bUR*Dqh_zA)z1^xj-z<>1rf&##Iz&{ce2(G9f1->s}J%%eDjHTkz zEr7f&8BSo7aNihvTRNJ;t{%^#(^NK|&Sz3%J>FD4nJwx#QJ~XY@gZOK`RT@ZbLGq% z6%;9}ZcEi%DI{IMW}>Bfp%PlETd3Pwvs7!|?7lhCTD#JS7>sAtYpYvpMlRIYOt#gp zxBKi(6za7%Y<34b)`S?YcQzZT9#y-P`@+%l6=1!o#QUdVXFVFVx!2yzBk_<8p8E&C~bq z{{FtbI{P&9{{6py01@AI1c)BF9SP>G+KwWZKHf%AY4Po#Y2nD7XhxT+ofwwDH(sdicsD_Ggl{iVav8aoBzsu3m#p~xcrQhTh<_ieLGQMo3gNBZ zPt%t^*-wXR@gHQs;BE(*<}TF-S=NCk2ib@i{=*!nEVsj4WJUF1o@d+1VZP4@|51Ve zvfEK%@L~1Q>#*-9M{gpC1dfZ)^zO&S7~Y!Wl0@m#<5H}az)4vK-2J3H$ED_^q9E|} zq_QYR;IyhN%l)*vs-ot!rmpSuwDt}+B5+pMvh03V-*H%T*3k3)^sKRuNbnptMDKC_ zc8s_7ylG1M?7VqaOYov)5$sbv3uj@I;qx$Q4eVL2v1*o?0%_7Xq>t@N^wf<(=I_TnN1raO!ebp)3>-!qAvi|!= z&-RP&>pr8xKQ{bVynbv3AJzZ3+ae|^O^}SRGf7rBt-60t>3ScPq8OH7ttT<7a({Y% zuVo=w0X=$uM)~LdLhx9l=pcp6R^1?_!j~S$6ont>dtGO5p4I7y6y*$%J)RPk_#n9z zL0~BR#XNjQ>9pnD&$GsRuToU9M&DiX)h*KKi4ViROi8c%q$i(TEjp$sO|-vzdOPvT zZsupT!W&VsVOhtQzn6yIC&?X_5j_2|^{I5`@-OyZuhJ12yTYOj4)KS8x|ng8PlYhhb}sP!9=b)Yq^Zz2KDnDs#q!wKHcI3g!LZt@|dICgs*m= zCKvMu4!D8nL`^4lOe zb|@@X?CFoBZQ=CXqPx5yLoFjRq`WB8WDe0u3vu$ZFqB_ShP7aCYWH_)RKdRDh^#MO zLj1H^%yh@r@nUZBg;8?ONZqJn7h}(a%^>==EJN}RPu2}I_^fMoh|iN|!fCPOWy|WY zbWW<$ucdozDlf}a-{U0*1g1Y&eXhmfDmLl+eSnU(m5;DcS2XQ8PR6u%0C9xxT!bG%U{ zH{Wl=#bzGMy-A%r-@JKHQC6lj(((SqYAI_!*^bmRBho`o0p?GlHS+h|KaADiN1XvR zF_H2r=@0_!#yKm)g3*(AX)-U4Z)&ao%CE1%rNX}z?ufX&wHjpG%aRP!3Q-_UL4EUi z^%v~-Q^%694 z8euCb@7ch3B-%P-&eIVBRka zmifH)--NQp$B)ZHSWc1JQ;MR%FE4&kT^EsTQmR)PPGYTEisWCwkMF#zxbFBB#Dx~! z@+sL?3t430oyn+*Jhz*uF6V5luIVp#0zw0|_VA8N5)<$4(O6n~E?U*v8T`Tf6{K_oTWJH74wYvP6Th22+0L$jjY!?SRyc~%6-0I z1Uj$9xS2PtUFEU5D_!1}jSmja>`HZ44gK-yETxPyuH`fT)L(wy?iy~3Ab!Mv!3#>Rj_>WYe^}gnJ$*1o>{Kr$LCgtKUzPw`mw&Z z$^LKaV<=8^zjxld9@=i<@%9y4?I*fh8hhXVjqK-&5PYe1{p|HVG3&jkgiF@*4#~J@ zcjg~HtW@vZdn0nJ-RRy_xiZX@DdAq-=~wIiW#DECq3|6^<$3ALlELdP^E*%TsQb-> z1sugD&Shr^WeHeW zQpe~G;NFdopDJATAmXJ%kaxMO{B3sB^8wv01ldlsdx=?ig_+soLo?b8JtjicJH;`$ zr<4`FzbfKL@5qsAd7JW9#!FMvc8UF&S%zTbL!P-1USY@ zHYV0NGNCL~ur1~aaqr({3@2Y~1jL~N6&1|*$XS}Atq)$>taPXq8wq)WVtjHRrZml{ zI*BEVN1CphJSl0Xe8o*s0i*nMbx)hmIXE^BzW-{t!w^4Hp>f~pTY%AVhs*DB^6v+v zsZ=B}2yik2T!;XtZO4bUxnAGEr_IP0u$1TQT7Qe~X=4xzM3`kTBJ(Q2r^IiHJ!xF@ ziRlRT3B>Gqt4kA+|Fk)Iy9wER2gc>d*4#OfkdE@^+WfZCYd0qD$p4NUejS!X>*l!x z9Tv4a-y;WZ;G*<~Ul}8R@kRbNC#m!y?T}VgHY4AR(4*48eo;YmGEzQ=1YR$ARY+1& z{p5{mp=iaDKO26*gUn>^3~ho_U>MZd`O_9KN|IGdrh)e5dwOdD@)_ULPU!XG311m5 z>w2~-bPu8csibgcJ;_7TG%6Bm*_4vm9PPM_No{fix0osD6C*jT%t~iRoj`LpU8`~4 zE?n#+j-nIDYC>jK{6I}-Yt|f@!6j86gVHD@(@IaW0+%q|&4$cD@)wf#1VZ9MevCwxo*2Ysm$AW+mX!>)Q>;!rDC2998X#rJXP9I7AC8_7fih7?6 z96MVLRA0eq=HyFo~ zoAN|_w=mlkmG534r)8jg54%^{j6FRl^)JtVFG0!W|1!(9AR8WftsXIbP3j&>>T#+= zu~^|wTC%`j>4<^UQ;~HRMUFti4_(bjjw*|mUq|TjUXI7^TBOB(%#*q<736)k6=D_a z;!%Jo6Xt$Wr(@RL5D61<{ zDMHlNix$SqnRm5TyvtL1#2*^dRXX&sax|}Qf;1?KHsS#tW~-*EOZ)92srh|P$L2ng zwT~6B@~S3?89re|kBL8XmRW{N;0ay5G~eCpEr6oe|35SN_d|W1+Fhn+RVY9PMeJ!m zCrDc--pc%|bG%;y!4?89ul4vHmp@*lrQi=aIj>n6O% z3gJj+z2MNlW=i8lB=ds3vkNM@cL>sCg_ML&a1O46(}JRU4I}d#^*q)MeA8Jp$Jf1})4Ek1gM_D#{{b(}BLw~FLrsj?q61Vum#-jITLtRH^<>AqoP6>*D1B!L3 zBvK8M3~V3C6meJ)Q5+VGMYJR2h9kypz4P;YiCRk+$QkPTi?DrhIB+PI*sp*%Vs+cZEuXJHO!`Q8+;ayqF{% zo&-k#qtEMzLnDYIuoZ73H0yK%^_ctDpQ|!m`$YBdNPAlD=BB#JCI4MPKe04y%(6=2 zC(Tgo{+&7IR{?vwpXhf$4o-lz;Z#t4;4mLzuUR7NK0>!`!U1cNdq|@^q-NH7O^kcy zo^+St5NS^V$ups;kRoE+Z9*>qoOuZ@@F8!TEdAPCX+aobsi`(s$5VW%F$At}iusVJ z7{8&f*A;L_n#45i89JWG@?_dvv;96GqoDxJ~y9-2F z#_ZO@beA21*J^kOz>WgRNI@h;Sa1Yx7LFji{WF`uKG#ND|Kt|+JbLc?6@-(4f;EY! zxfFAeIr>$izw2n8r`N%oR}Y(LCulPyT>n9dWkJHJ>@A@8jIQr6qF=rcTwO=(hF!8} zAEh3PzRwsODf3@fcG=3a-4#uAsdyO_K;}tK5?3@qu{k@KNNn>L+})O{8@~wu*~TO- zhb&w+6DRE~vV>K1*?L&{eV?y?U_Od47oeC9HRulOb+})U95n%p^-yLmPmH>B``O8Em3Yq9$sgCGHcQ3-s~>}~J`v;B8x@V7kt0hH-Prq6s!$g( z!>-xAtwQ}7bL|v`WQ6Md+Pm?xu!rv(iW@-g>U2Ns+g; zv|x^F6s4lzSM0|I(BpxEtvF@VxGDF#HHyRSGNr@HSCS_g4cq~JSzHNkYR9`OKBM)f zhK!XDX8CJbJV=w>NoSzswN^p=S(<-LA-2;?f?Gz^k=vN z6^#71w0sS*Hnxx0OJz?FcL<+dC3}DQlaa(8*K5IhW%L@vA5BgNlyCsL8g=mgcQ{n&puRZgL`+x$1_-3SvqrfQQOa+yU6VjJSG8$_iSgx{@aY7&W4 zv9%@aB=?V_fw}7cuB8*Nm1>v09!SJY`UyK`C0a-ZmXRb49A%H&2fYUn{-512Mynp(UD0Y?^tn6XOblLgi>?(^FWD zX}#@mp6MC9!KOEy@B#eXyvgK5RJ>KlV!}&wxL$FM!dtEL(Xg+CYx0AwY@au*Tw0!R z!GQwu2gx^eInCZlcJCyAw0)fz9u6L^$rQ4v_gcv6y*nR?r>l|=xZT*<)s)JXM)Yk* z);}ucGs?8?R6BqKRoeFI3aF1`*P1Nf#`6dUUN&l)SBfrilxlS`tEA8rx@$JAH+Olp z7w&I;E1$}hER||Dh5rrxezEyJ_MzQf*sq(5Por<_-iOJ@IaE7O)^`%=Bg?(M%?mcZ zgUj>b`biZM@0-v%PQ4xdR#MCCT4OQAqY%hqqF}0CJWP;OhU&VF2}(=Bs$v$S$x2R3ipUkhwGXUP$-{5hU8NNf7UBx_9;L_ zeCJc+DtwCETypsLGH0`K!Di|`&Qh&J|8S>sgu z!5-oRBn%!?_>P zeA&&CjYinf^4#+oaQ!&vY`87|3A-in8tR_Z?XCKf27-G0X$Q=2gz2CM)ZBygY>Iv$ z-+s_$_3S;NjJ5A5PrG&XaRk~7v$~tk8K03)1_cqDUe*V(YDlV)@Ov%_Lku#`6m&zX z%Mtq7zQ=D3@0~cNJdsr+&@x#^5>T01(P`4CJ7_vDBPaxTab~u@^Ry;`xrF8k@E9km z1*|i-i@8tka1jMDxxO5_CX&DK8S>7(f(h9o)s8Gp(UNy7&vxlL@up_t$uiH;(NR^- z{LLt$@^wOxRqevdr!0(ab9gYEI&rEX;?ZU~b&HNV{lcvs|%R-|Cb8d4_mvM= zGIQ+>Sh0)U+%T3*?P7HKE`RCn91b%+%huAEJqtaMN0t%aS2}m%I8n==b%%X)W^i!8 zn?vXyNvA%Asu+psN`3}DwMvdWHC@v-PtuT4CpyhJwESd7WRx!9Mwo7vsQo9?A)^>X z3lWcF5)pT$auDM6jiMeuy6b{b^qxmEEntWgdWsWPO=qJRh7d$j9jcVSK<>tS!vw_T z-J5?$EUd`3Rxp+1dr86}UV>Vsv%Ed+o{s8s>zcl#f&8e*3Zqg4ArHKT`f{_F!Wx1~ zxSl0a1WM#17f`>PqRH~=>)@leOM>EfDg!-HE^oME#M7=4jW#G~iV#CWG~khAephaZ z`|SHY8uH%ygAb?+{u@&r+RESOQeJ_|UQqSNn?X}JHZCcHw=2u;-z9s98SQj$9jguU zr7-!OjF8h^E4E#zxhn`U`dX`Hdne-4=B}dr-!X`B^NLY~MkL+GGm3*~3{b^j(RE?! zG=dIa>FQTGxoGa9pE&SoiIoDJJPxW)_C9cm%GG9m1&!&kZ#q8?9O5D*=rr&ST*&_f zawWcp7q4b`5g1oC#_7>2(G4Q?x(l`aIz&{w|8-YZaBe@S%U6Pfx)hQ%p((7N9GFyQH4CsF@~KaoZ!`PK&HHFjgcE3zo=` zW$ZLQcX!HyAf3}P&Z8ex5NJ!ZFd4r7zF7H$&>gzukI_fY$-+FyRu@m|0;L~&MTeez zy&fj9j2P4VsgI#R?LW1p(l08-8`cqMVeOyAD>f46{KR+~ttjiSMO}ETadRoKF6vRr zGHf`-&T+?Kf~nU_wjYz0ERHksZ}nOe+oB_6G%^1Jmfc;Ak-2t|C;1Gk${zM~k?OXX z=8e|vlXTVXYb(f2^LNF1C72Y)KL*=#8fEFksIf0eJ#UFlXNhNfj5IQ=*13Quxjzv5 zr4lP&mG;c-a)7djib$|!shH-2IyZ~%%6jlQWA6!Ji3qW=>Dy~M1&=9%?EWMul9OR^ z;o@;WyoOcfWke<5o?P>+_8BmUHk*x_b9BhpPUL zWzm#Aw7sp7Y4?6}OyS}u!C;=&3z9g7B`8tk8?lXfS_blJH#Mq61mV*0PG%@r-HMBu zgh?CU_)ztqK{Gbc&kUg;qEz$xd1?Y12*mAMg z>uCjw9 zt)j(Uq%aoa-Zk>MH>vVPB$t`uz$Y>FghfgJ!=5^3w%JQ93GYaL+dpYw6E0L&h|1Gag??PW=*$QT~+e2)osiBZ>@k&nM2S4M?W9*$35f z{;9q9%nBOzJ+P&Z6`7`U?B`^tkGFpQ1ae(W>3BO3*GYwDWwa+Y@G-g%HxW|-M0|dX z7(Bb}#k@Mpq$%xyi3AhzwheNz&f+vhge1re3-A?gJeDdHh{&92ub3YD#*DmBice+O zx{TFU%x?6F)#m=~!v4--$G>OVa@hJ~3UhhAi|>`)0n7UP_~_TK*!Z8lxRdRTY;Z~$ zS1iV-$)UkUfLM=#8$pdoFs!|6*=(i*?S?%1I6}=MaZwON7g=1UG$;m+>ZKI zoveXvI7mx6#EF>#3)#rznE{vlCM9&$&v)bu{cDD96&^j`v{ ze+eXlf=ca7x#ooMh~Lf7TTvnw`jX zHr)n@=7J5IIt{}&vL4^!OG40gp=vszkEt>mUGozK>)sO*u!=0ot<1Nnd}S6rk>E(p zQwtRZ|9$}8L+kUg+lqpnF@wY`C_$f8c5swpBL4b=DDF#j6@AcUNR?V5NP`x`{1f$r z5v|>m;rW&5Syh%PL3+>F&~Yu=Bv>?YR`P@fY;-p@d@MH%^B<0q97Ab9egKgIP&Lt8 zjLB_*o70n*dd<=vv~#`!Qzm7Wy(aQ4 zVl|N^WHzBsG)GhJQ*ZSVvMLZ|=@PkCfwUlF%^H&}bw#Fp(QW>dZHv)RFriJ6UKe>x zcSejy$A3Kf)v=zRQIs$vitiFX)`9Lkzvo9JgE4dY8qMp_5C-}@LTe;pcWraZ{`=Xh zPEks6hzEBGKnZvfqXheOl=lZ8^EEv2FA1G2 z-`u8VwgPE6<~&v9H877UiX&mLCJrppwh|pI7z9Zt=4u?v$Nm~EA=msdA*a-V-+Dd$ z1vFDqJ!!>0V}*pneeyGk2j`7r?4nKBFov)|9pLKfmUHL5D+MK#VU!b@PX08kD+So zEgyIiX;l0<4PIoju2C?*K<}i@sjKj|s80v@s0Jbo+nb{;%~_fz(HFUfeRBk*i~S9f zXb6B-#6@xNB_M8NeZhCJ&w^uvz%zow^FlVHZXNVpl21Fh(u+v)M7?63-R9mF%t)G= z_@(yBBl+TV-@IBB3x3OB97+zU9k_8B6^24L3$qUXlY0&;J3bCyc{(PnXcY{8M=`;1syjSGEZ{rF-LOKXL~ z5D#3;FZ9z}jSiP`uKcEI_ta$;gN2?9BL0^%$f8MOC`bbe@(v+Tl?90+Y87(`lBmJw zdDVFR-1tjnqpJ%)1~7z4D|c5^iuEh_sk07!$#X5UngB>epMK%b#H+svN{r|y?5j~q ztA+dO(Wd1JR70ydRsTJ06>z9{`~rFN)bYQxS51V;2Sh&R(*X$OV3jg=|jvYxHvdF4=49LOSkyEC<$s*cnNw6gbxm z^uMhBNH0$Xf)u58e6!rj=~;+M=!&R2{L0*{3B~AH5oLDE@^r{t{y@TpwB|w=DaQ8(rG2%z}MwxGbdHt$}lgzb)tz+@g^N5ym77(*Dp?+?i zKZ1DLM#?9L$VHULgo*;XO&12Uh+L(h^sZI7#AigN$PnBQyd@UP-K2%@3^d31A!7q) z=M-Pk1`;whd3BrS$FeN%gd&t#{>Bt_TC=NFSl$v_ZBNQ{TK2qMlFLCs5O)s;$2Ggh zs0e%?wd~}+LvVk-u=P~voP8eSKxOwbH2XL*`j@Jmh5;xAnrVVe&g?AE09*4FeG5HdN?cOgVnmh8T2Wf^f;R zlb<*S(JldXqDhJhF+7!+FqhL+oc-7&n*0iU@9DeUo(_%0lQ>7lcagFO$={L118af7 zv7y1SCWZF*Lk_fdk_B88==ZHz!x6eI&d;!59e5KQ6Ky36mnk-a2BV9)b*({qf$}&l z)i~GJiQYLQZh_Il4gFKJ;-b9k9gKT6e2!g8eMPjRDm`!gl!+F?Kwyok0Js_p@<<`( zC@g^KWcZ-|S6@ZqR=MgmZUkrO^L#EIDF*t%UJ7OIj8G30+#?DR>)Sg8XgW}f1o zM_+CT9&6%%gM81W8U0E&CS~M&>afCt>Lj%xmj8pzoyNR?NN0B6{fl4t2X0aeHePTI z(v-d;LK_#to1Tp;mT0I7TC#Xfe|5r)#C`mVdK)MVa6dfqee|LnBN|m*@p+5j&z2eA zFk=_h{JKkR!$W2k1IwlyNg|D=7ig!pBwa?7zsTxp4}Npo-m|(W?ua94(UQ=;kL|As z%-so&gS+N~hX|*msZ&Qay;V`_rfAh;yP7G>`F?AMhg4x873g^r--B7X_64>$ary zTBOjnqSO5>Klc%IUnDMAD!Om%8^NZF)al`Q#p+AbJ&g_u^J5Aa)(%qc==X0#N;}Bp z=O@M4DDj-%10aH+hXiO+x{#GCG}pc0U<5sy_!%eDcGH=vSlf?vljgr^B$(#yCPuPD}>PvKp^^T* z`wPlKW}&zqLFpHvnUFvSu-@l-iN4NIlF46${!5WHp&X_Z;qJ)#|=k z5tvX@ciL8GT*{_!M?^+1U{)1+Gq7}X-t4+Q&*63UU3jCz?`Xc>2Xb%C94 zs?_?~>JP_`sn<#s`W7Fj3o5llys!69~ovJ}2K`urRX9|{tsv^oFp^Riw z*H8_5Q~x>kyOkw}1eyM5ZW^7-zQH`*w?6X|dYKyHCI%(@l9PtR5#prK!~=(12@5qI z_7`xa*4zj<>tK4YQ>y8fSe|b)rK4BZPu>FG3Asmw0Utviy$(6;d}JNYPNOS4POF~i z^p@6y{OM4Ew3RC;{5vudvqzDNAm6YhXc&_`{K`x7EIcR2B9=KoAH*5QohM5` zsZ(V>d`D+mnQY&mi6P~W8R)&I3iUFNlc?B3;1$webQ zC8;G-tCv#C7WV`7_%X;P{j6?2iG;CwZrwFcOPyuYU}WG;)vMtu?rG^pujMNjLme&C z(BZ^W3fXP+eFMp>RmT~nA1t=_6wV{Aj3man2ld1)Hc3Co&R1W}9KN{e*Ac5jPu)Lh z&d|0Ea^XkOw`6PvuD5*VM@_bht_5|6i@bc`ZAwsaKwj0w6Fk8gAvE8>mU?V7&iZv^ z@($ALR9vFuwIyjO#hT-Hn^)Q_oxzk&IMuH!EidTyg zPxrXX2j_+8Mbct9$alcnjJpa$NT$cZc%-U)Bg`vUEzuI{0&^WIxovap?biek43-R3 z+)hSjF_Et!23q1zLz3LXX({X9;-W>uILICO2ASrehHbcEVgKTcF<63Uy)2;+xkgo$ z(1ghhB0qN;U2%m=be^W7@|sd@rwAW6;X>2SbWqduM-PT$ObV1fwUFy&=*hf#|_ZdBQ!WSoH63$vs6{GT4FW!BTkE)wDBiPvSrk@ zUZ?K)Q3+bIY%45_s}(_;$O*i-9BIym7%7fw4#hqGnUMMB*WY_8?f*dIp=h<(wy|L* z^(?R;q~AsU-CaPG#I|vf(vGXukL;^|_#{)G-lV<*`eUx``GHilGq+74waE zWYL|Xmb>fFaBAGv6!9!hFljAiIRFz&`bTDqajQl8lkc)-FV#^L{!M@ySs*(~64&5n9^g;M zPDD~@PzXmk|D4yJuUoAGW{kS@>UA0$zhPaGkmehuK8Re{#?*;#wsRw~Gq8 zNPJCQnVNv{y!*^*!6|9gmUm6OQ`su-Lif!6A=4*LEgrEQQ$;Kzl@lS_VlQ(U)Eq!w z7UuCCKZ`SR>82rg$wPQu`|XoIku-6u2Y%qmw}UiHY(3i~+>Ce_MLws9!klxw55X25 zZR5@GHoq6`)d$ZoWl}XKi^e&|%oRO>dM1mzDcd{iQq7$oyu&35o;@J7;yZ%3I>e9B zXMpt;OXv*vucR#>F#TXD?b6zGq**6={Y2T%x;VIoX$|k~Qnm7xjr5i-{E}s<>J%D& z9`hqO1dHa-hsXW?=D_qJghg^7x1j4%b-D5KE`+Mw3UbP8-hU`J+4$i6j9RN>l{U*g zJfn~a``sHobBAjgj*n%?)u#zY60lLm#Aw1WUG(@vDjy$tcevjp2GZYR-uVy)G+Ny| zE#;x!csZ%+)C@A&nV!8T>q zok?!`t*perxr8hDmn190I7DqAEB*QV-&_BbZ#P-M7RNrYsgqoZK#tkqwb=VD2-3%X z%2m&k9vzd=ht8I3+hnOG2;6-ck-(_!m48fc$yy9Z{A-Ss?pAM_F0PRS^FE=Wzf80bYApBZmkk-Lrxy}2kv9FpSi4CFoF)2g@;v< zuY031#4=1%b()X!8kTH~c&G*Z2h8>9Lw;Fh;~4y>bszBpv+!f63FM0+ zF42OLU=d4%`P7a`BAJJx_8r7$P<(0_Os_7KQ)E`OJrg%f>Zcvju}$}rI<#(D-GD&= zn@FJy;o+kZl1vkdp9Ft+b1zw+2ehNAUo?(oWQ*wU=iZ_DI2x;HPaC*J=Fb*qzVpM0 zL)e!?IHb6{^Xa=ks+>;vf{Lnak1V)s=!^-FCJd`{}^yNl|yF8~*aUb>a zDg&{Wp&lrNQxv}=OwW`uX-(f!W5>>Xv9RI7@-bjqa=dwZ9R-nJSe+}b!Y<3)I#kkq z@|7fj-CCM?LLP72MVbqf2!Q59WCiIJ$US0kQEEdm2jzqu;NZ4EL81h0 zSMZbww4rN=43vBaL2XNRa2ra2efq2Y<_=i%#eZ;sI(2vdLFqEW83QeCiuf~)R0Wc_ zaQyU|eNDMUb%h+*?z#FCkTaBxCyKW!N(AZ6kI%atwQ;TgqUzzJS(a$UC>(iGj5y7j z`J_6}N9dhqg+&z41)3qZWzQ8eYEd%K4NColrGL)5Z50Zy3sw(fo1@-Ig~6lvXw6-? zZQv@@K*hL39}LV%$Tfv8<%b`sNh^ZYH`l26%aLFKU5qOsc8Pa1+y=RF4!M3T&_gg< zq`9=_R8ZBpu+{OZwTyX;@Q%+`bYz0PDY^TKFv(wC=qvDi{Q4OvkLXy)qo=Hd7YD?V z@iLN?T57IR=m9<`J{RmLfSJO+NsWzEE4VFNDX~%^!suIZWoR-1K?8xuYD_7XVIHQ} z8lkl*>QF(V^S6f}ZD-Y#{x2sPjQAe;m#~t17rCP9@8>N!uZO_U2xw(eY zp?nhb3Zf<@&9_3#bEijh4^duY4RZl_#y^g`{o-BZwe0Kb5dz3(T;xW9n35~+F^gVOcJdG zB2)-ogUue$@T=bw&h!#3!PcSv_6dZ1tFhjgsbze)yDhLzkHozb-WaLh;Ju6CBsY6o z^MO5;LRHv65MXHBCqwyFM?pfI(Na= z3oaXNT(9wG7+(*qFIXf{yEIW%X7F4CC8I@yY5q z1xED?Bn0Oq4`dM!dRGhjSG&5C<*y}ERz5+$;PFR@?uxZX@Dc+KZ+R4PJEJW#vXS4{|r zk&?v{*r4$8bq`ydWNEb(gzOZY++S=C5>y^R6%mmb;vI3ac^HiL?qwq6+_Qo*S{_S4 zl1?Cv7zFIp70{>!ULQS&nus>9NVemRWgNvPQOfRU&Z*pDn0gj8VN3UX=$BW@cO+|Z z(TRRmOU=?w+wM#fSHlVQC16kUiF}}R`)Blis=Qy3Kk_^aqQ2awH6C^f{hBxaC8{f{ma;Z5H0O$o?ih8%H$Ng=^vyoW0I zf4qnORA~LBdANtEp&ZV3;LWkw9a6-PQE-~xX1OEYQDLc?b{~|(iLIj)Xf-P(ulnU1 za<^?}>)c84bpCGVL;Grcv5$hY)O|qs^V5v_mhthaz3m;Bm5K^Kx3Yp60# zW0B21gXXT|H6(~KY|j|GzAhD|hCXd%D|0b=aKm!!HiUfEy#X?L_1L=!fHiv_vQEJo z^ZCE@QH}{wI|V!vixL?gu%r2LPHo3{7eKDar(J)kCip)9Ye1C0pfy?G#3AhkIb<_A zSVK8T!#Jq!>godFY!kV@1OCYPtcoXi))cDL!%*yXwU9@)o`s?@S~Z{+tL|hs1p|^N zIg+n#1Ezy>Fbx-lljV|Y7^!5Hdsa=o1vs@r(-!nWV4d{*l^15VLQ8-` zk~s)jrCL!H*lGt2np~GQ>hX1og|Vr(p8I8Ptj->h&Y+Hpi|=gxJWkr+r#q#?EfiOy zf`W2m7%k9(R(*yBqSiL>LM)iVBc$4GA44lJUD)ZRb;hAHA#RkywzH6TdE-%ez(S!- zmwL0eXTJB5sJVPE^4RdiDcJXFE)0_yHU1{)V-%2>gSbL~ck+ObubsB+Dj_&RE_j2p zFB(h;BS6BY8wyh@O-3#b0@fL+-7-#e$Asy@Uc|$9h9|@k4!eU>tdJ`^{8DE{c1udf zbPUCB7izW4juIo$U!w)ubZ|5VyuynetiLJjAM7 zaCw)9ImdUr$G4CW@Dw0mf>>%7l2mB!B}CZK1h;*~ZV<{M<;-Y28T5VY(>{8d)Jk`e4c3cvshut4Hd4=aN%gk}Y|*LBB8P^}aLEo>|8 z^m-fY#dlsa0|pLGB}Z^DO*k}8VjWhD!%AekgFfJUI86iaj12~tr4s#-rH9nO6MRbH ziY@?$yMF^X5Wkampp#pQBjQ_KV_kn9#R%_1JP_!|Z$I~Uzn-|j72LPVD9i6ZgUD2< zW2NaFG~RU<7-q1RQ|P*R*g0gjVk^4h&A)k^gUg`wxOtQpKon!P%$6=);o7yUxA2>{ zZRQ|)12>JEw{+{~!3*d9jhn4enGz++#4B0JlDvwc99WHI%VN7)#ccJAW~)qe8NGG()7!D>~hlGZ$F@NUJLRWBO9c-pj)Bq`Dr!-tb3PJ&~`j2AB$Um0@c%a<{i z$JF8DmkSpdFjAyokz=wNGgmJ9i1gg=_e&VKZ>wz+GpzUG}`~+uubWH@;lC*~O!S<5ul0tXapD@$NPM zDcff)tBHfiE#3aMX3Ltn#g+jF1kjsx(g7!(bi8R09B&$0keh8NpC!|E7>zS8kk?B2}IGLrA!FcM#C!mCKL=sU%Ns6hXm}*MUUZg?_CrS3&sw=R< z;)E<>p8i40zP8?qYp%MmO2Z2;@|bpxYxRoaufU2b>@dR;!(p+;9*b(ZqX$gME#Y{B8wh{8bbsT^u`uTApvPqPE+bMrDWP_=^0|= zYK4}zUWscbNqYJTsGwx6wai?p0xnlUdF%D4FoV?t5U;>W#MrWuU6xt6-9nDAv!3;L1NT4ENIr18c?jf=bt>b7EgAjJK^Bs=OV;vp?8R_aloO+Do z9S>qtns%WKnm`XeI*ggjXjToixTYGhFk&(|RSgQ!jENMg5I2Tqj%_?+7BHLsnSK_O z4oP+F9SaFj!_=`46!n9Q{n*Fb(3nOwu91yxbmJT07)LpV=mt=@0~hoVlT*OLWjf>q zSwQlLy@Y8@NP$b?1kyQYIKwPfiqleD(YQKIl9H1|1yrWw3eC;OOf;!QGolfVU<6|} z>{tgl)`6Yqgd>%<>KK6Nvv0_2HXE>!29L&k_+~5XB zbV3riV%{@#IVMQBqc%GurM9A zsKqOk@f&7}30OBWk&5o250TX)J&WSTq8x-maA?ewEyU2oqBFX2NTVIj(T6_%;V*V5 ziW!~K;pOti7X0Ana@FV*D_CO+rSc+8mP-rFTH?fQK#?2Hh|4V8q71d%Jnkq*b3jPOuc>2>ZFTEg;Tl)D&XulpozWQJ2?$KI0uy^Y6-_wx3R7@GkXQ*5 znF0luWF^uy#b{)Fj!~wgL{4&(i`6nQi;8KM$zYpQ+%tL>x>3$1I;oUSOi!sG1SKt& z%izT*AOVScX^IxP)Fm(Nv$FV*B^I?P$y%Oq3Q<_o4#`ZWQ2q?jOlU55S5k^oHHo*E zCux(LA=zHx!s$KmJ!^c@Lg%y$ajn0>lU?q#%3-QNPx>X{p7>0RVfaY~`I4az0Tn1g zMe~AqB{X)4Sl}#*@lY*#$6x$f2s|o!QQo+s6Umj8!fJFPGU`Ku)B(pbgch`EoDgH+ zY3b@P1ddQfBOEiW+Bj~ij}7hA8`I!fE!woKp$hS-KdtR6Kyj(eB7TC{u_%zg-#cp7At=nW+j4VNxu^7o zn$si9BC;}FE>+i?!8?=Xe)>}?I!k<8`EIrHPzK437oKS_FJYnpF8L*92GpJb3*37c z{>`_(b@&3i2)YAo51};k8f>b}B4Bt(ErRu+phXEbrv}f#5s|pVjnsjn6ie`xP~65e zD1uUnWb8Yv%VNd8LE;iutsN;=$UH*n4Gbq^#!h2NH-w0BwK!ufnC67`IKhclz~a+9 zbShM*Dr6$l$EiT1nd%}s8>`jS9U!zvif@YkqAl;7=RNoN&w(Cv8g1bVdU%qU-vinE z@WP0fV#Ff0Vilx3C2vaHMq?XGlPNtil6n%;o`vGL$Bk)DqFBn509*@Ogl^s4sYfuR zA&n7Vj2qKjH;( z_RNy(WK75|DbOxWMqv~}VZiuB7DmZrqM;!sgiX|fiMnAFSYZ_Uh7m%}6pA4xcno}S z;clX57MuaYmLbyW3>NCd5gsp@;NU0rWb)$TnK19{r0F-3!qy_8F0?}QwrQIZ;SoYE zRp8=H+G6##i!St{e5?Sxw*Jpc@}M(r5BGLr_ohuTs*T*p#h~=(GWwto_MjE_z@M%l z3W6XA1St8)O;iKrl6qnf z-JlQczz`0`Jt%JwD{qhXC{BFixsZZZa!)TpuMr#ZD?*OPvI^KNk=WL3D>Ttslx_CX zfD4@M_HyqEz@QYVEeVEzy&U7cD1#MUu@w(t5BLcUh`<)bEeDh@3gC$sA(4-&s2a=x z7$Zm+mthx-(Gct)86&~_W@I_M=H^7kJCbHS@IxTd55pQ{wGad%0?_IPVo}1O3rlPv zZtkY6LGGXd9nIkj*YV|UrW>507(fdFbIg`Bg({s3D(uEAN)2YJ)3JDrhkEJauxQ;P zD$$U$L%L}GHZ1Q(tG@3tWqkc#nK#StKHEG1#`dM7PyqOUNoDh=^1 zb#y17&gdAi5g!o}B@wF>$1V1fob&>nnqU*HKnu#?OzofyHu0Pc6G}WY3VQDpli)E7 zN}nua3}BHmE%Vzl^A=x#G<0zn9}yDpcbw(|2SR8n0&1R9suoE%4Fnp*Lm@^c#jN2Pq@f`=!rzvNiMUZ9gtQhkp$h4d zEXE8jqT&sw1P}!eO(-y5IE5BoferCe*pS6(AmXLiVU=iOLsqC`o)tf>^;)qtTeVe4 zY|s>%=j8nJEpBWLUx5=a;an@>6e?ll&h9OQttA)>8(WEYy-_ zMHDJQd5|J1O`#gN;TvXSlyu=1nll%8Aub}R7pkbMAdMLQfDagf51dkgjKy4O1tWK& zka*=8a%N|0Aui}dD2|jcD#32_sPdXLEnzZq4iPS?R4(aq^d9jpCoyk=iuIl)O#Z!K zOs7Q)<{%8XPfe#K6#L@#;*>Gx^f4gwPV=-6DsvCMU=}qK+W^%w?|=`!f>1k2-4M0< z7L|%3$yKz#5h_7aVI+*W#%pfM9wf$wXp9(`#x-`+QyHaE1dwU+b|Acg{=VTjQ&l-x z)pV%p3%d$9r*R%xK@)Cu6j*~S{&81zC=jp8EDwn-aEMcI2&=N{r&cd5VB;blNIJfO zW8U)}+HT!2BpkMNc4@bEZ5Lb1nW9Ykku&MSGa|Xz52p)q4$ZZwtplT1n6|LFd-9S`NFesE46885GQm{9rw!r46|Ty8dUf)EH%;oyUCrc75N~Ew zCv`IhBQ}ORI3|g=;~Q?bkPZ2e5t*)5!60-Y6hfgCZlO}lFcI$lU`G9`a%;;7Axlso z3m{=Z}VR#4wO15Gu@OEZMZ5Ie@ReZv@!V(S|j4ov2T>ENx z`-(1_S4!!EN*7@+bGGz~<$--n*jSGwF`j8JZYP`lJ}V5gfJnaP^@a+F=|_35@>nu89DS875b9&saM_nOy<# zWo7mO>7tojL0wM)hw|kg1rJcH`cyhFK~@TdUaDg0`gZ&u~0GgginA`^XTrR_)4H^~|8vcg!OTUI73LY9X9|1Tf`m2x=1iL6B zc6j7`nKdP$6<7hJ!-$Bf4bF8|W|;MnMw<;Z~8#6o{7-?lA+IA|}k$Npln<^K~XgVI@gr^0v-ye5k9kBemM^ zfwqW?!r}hTI>?25$ca2hv{EZeqNmi(qGBQB_UiBG8YNm|*i6nTsDiSyge-W>O}s~f zPq}%@BzmJ4dl|bfkb7xE6_E+}4{2+FQ9NPZ_r1 zLf9c%>pP>n;T6<%P6&e&YT-qojELtpQGXNC-f=t;oYXE(K@mr$S8uAPA;JweIdgia zO=)p8ZaO&?S10#U#NuUJ!I|8{w{vuQa6;Y&Llh8?jsuY`W72YjsAx{9;4wr}rbafT zwWf-^;T`_r$@&l|fzl`;wsLH+$RbT%p{l`$k3^HlI4yunW#o33kLsi2=uB5jrN>f| zjeEB6c9klkG|a`kNR1~}#AHtXGH7{Vp-*Z-7f5NMO2NZTLCsnln5*al{f#Xkq2dSO z47sE$xB}`jJzY81#|8@%pbigW#dwm72{|bD67if%Qh5Z&vBf@{LQkEyiCCaoP*QK} zf?M?P05f-Q_tF3>_RtEJzzUiG*u&sUh=A4U2M6f%+Nv$Rs$lUI{|gqsGP3qC*gFV- zUA@Wep}C-vLn0=4VX6)UtY%}ZD6AfmrW^if-d!O{X(1O}q#4I(-z12IE}W_k#{v;N zXO<{u{IOH&+8f1V!u8=fPUb--gaDJlx2mwHYl#5|^${@P%9$rEi+lRd`3FzocY~FA zZw2l#4k8u=m8gSb7UKRrK@eh`1LDy?{ng)E<#Dji&GNMWnOp`SRoo`@=tl2GAlbse z{n~D%0u}&5*{p#C3(lgoi{PLDsu93_#}lSd|=xp)BC1@!3AQKz`1K0BriFhf_T zme$3iCd!q?U)rSc0>_P;B}=R{Ard5vmM}!P5Wz7c^o$onSj?ybrHbm+RTf`~0y{R5 z*+FIx84_j4Z2mA@?j%ZNiqk7zIl--C_b#Qq<@!*rGiR<=EK{&xIV`s9pZ4wl?s@-i zPhazT^X9>Ww+{VtZaKHP-^MI{{P*s~ZL21(So~!CYt`c43^d<_GY(4OiC4}z-+<$d zPSxPoO*gzG!wV=t1qDimnJ|*bBba>n&_l3PB1$EvkR_H=DlT=(EW7MN%riC-RFf;# z_2O5A-H5|YI>vqT%{=U+l$?R~xWiqNN-oJ{lTJPfWt37*NoAE*UWsLvT5ic@mtKAe zW|(4*NoJX5o{6TFoY2xro2{JkrghcLiA$Y!)_Dw$bHeE+On#n1CyvMTq)bS=yz)w$ zv(zNj{w%~81SyRRHPnzRbxu^#MHo3^5vLMSipwm;jJnJ%x&&jON~?sD3n-jCl2j!& zI?Bv4-ZU8DGZ!8*2vHp(wTM}jm?eoTX*uN4F`Rs8mmXbp%2ijKh82lhV#&0WS;wj+ z5sGlhqz7Gd*_GE`Cc5I6V1YGMSS5!g=2~Nq*%6r*l^KCq7-3k!1s73(CfW-xn1&i_ ztGTvVY*EaHS#7uFHe0`UJdy|}!V$-famXphoO9-glS?eI3$c^629_KnjUcktwxHmt5l7^_yK= zTRMwDDI+lJB1|PBK^HY3tO{-5f*!U42QApk3tR|-752pi3IZ%(FTg>;Sd;#QBp~cH z3S(Fhf}k5Bq_AIY07Qo_<{odPV`D~gnRC)1j%DPc7PC+kcFZBSf3)LB-?@i9hPa%U zsYhn%NJrD0whf%%q!>KA4}NgQjQ;p%i@9jVEy6({1Bpjz;|NECJ{BSU6eAX(h{Y%l zK?z965o^o(P$io3HCL4Fj!kh&ipa(kL?Pr+YKxtv08_eWJSZpJm>H0clbm`OQ$xLc;lbr0NCqD_wPzJ6Jd_cn;@PLXuRjPiX_?lB-F*)nl$s=|Wk&SG$HLY!J za+sLKD+0I>(-8zwuXu*kVpPaTIZl>dGgc)eF%d&t#4Co_h=^cOjQ(USqZzg^RWPh^ z4dHD^7rI!6CV&DH(6xdWwdiK_wh^JH`J@lo zBev2NvPdF-OF>F2(}D{7p(uag5?5XB;y(}_@)@O@RCNl2z_}>UHC5nE8p=SgGDwhu z7PNvFUdn|Hf<|CCNP@vaC_;oOri8R%m~NuLLKi-w6~l?4%-AuH8meR+=`cq#a>0t` zy&{{-fDTfZ;~je#aXDO7$vkETR;IG&Jv@_Q6nQ2N2w^dcL*pVez8FTNjj35$8CDW||AiJVecK8g*HOd;x2U*xE@{#B1RV=(F=zZWf6dYODC+mm1v1YqB6M( ziCW1PiH^lA;L;ymFlra3I0SVZ9Uw!hvy_k`Mlp*iX$H$sh9ew7f=1xN4!qz}n96iC zrm-mqLpZ{n=4N3GBf`RB6Vwh7l@~aX;c=3Rv?P-L=RE0vMlNzuj9L(x8Qw5QI^cm4 zmT}dFNme3Q8Ke{T@T{y4D)TnddS;yQM`&C8&+~3!G%@PqA4_W*Pr8vdQ%on0fMtYW zcL}-@l?ZaeZ5Lz7h6!ROBq6Vhom2$4NORQ8N5(l0a*#@-(5iORobI%zKMm?ody)-^ z5X2hZK!-i_%0s89T}NhHzTFA;q1M?gY;T?0UdZV~dFeI9hT95G^w4zA$W=8)#S3E6 zVswkD(=suKEX@hJT3)fA?q)TRZdkdA@IZ2x%fr;B;4)hOqgu}d6>oei(r%xgVbq&iqua| zoJi@Jv19S%soOj7Rt`~1e)5#ByyY)Xc|?SQ6?A|jC>ZgG!dmATsKCW*Jwi*3*V<)n7LI7?J~&t)+sXj`s+|-ZtWKi93hS#~#O=v7*8E3|;dS5XJI@EzfMX7MO=8__7aikLC`vMx! zU_VJ**AR0sguxH42l#XqW3zB5azGAOQ4l9_zp)o-0TmtgVb*a#2-F66FhW((Z(N`m zWk7Ov@KQn01QeulEH?u#Hv=}d8ZtL?3S)CT#$!6i8xl8EZGscq&_wCcZPrH~<`E6i z01f9=WinG9Sf+zZHhuC%Y~A1<=5Ss| zmvr3lF(4B%el-aBHBjF3e()z29MK8dJbgCIxjH&}J2hIq$@3CBmGgAj4}BE=9{bl4Nl zfD=sDBTaOJmL?=a@($y$m51n+UkR3BDVCn53uQ-6wvY?UPz$W!A0mS&ZUQKdxF{vV zT?2t9A5l4{@KDDxTO0vf9Z@?*xd_{X2^Ql^udoZeKx9&>Bc@Xf2$3jn;)sapbq8P|6ZT^W2zV6Z0zM&@BJfjTc#sBZ;G4bKj_!yQ@W@f} zh?ij#E{>6pSMUW_fCgN^k6NHoJJ2w-0aHmpkTiCJF{e|pv5*O)b3GO@T#yFgvIy#Q z6BQ{l=YeENH6$r94hQ-UYezRaxMf;)gyvC_N{EtN_aIMLe(y02@iBH)SPL>qlX9gU zOEwM3zznP~3h)M$eMS_zbVrPJlzE3y35N+Yh$y2nDhNRf!e7idZ1wR z4M+zcRCE*gfrr5e9bpDf)i4T_01EL|2Z`Wsz1f?a3V-gi5fX6}fN+1tX%+?-j?*Ym zccB!{*>KZ1ot$c&*SU$ZLK6bSo%C21bCCx5Xj88N2AYAMD&+<1Nd)cro&yt~2bohV z7#li;pA6G4`pKUr(h999X;;>5NrjR1aG+dSsK1y*VF?vtaG3RE2dJH0fOvFLGIad z@QH%W>a5}U8a)P7L;wbz(Jym>6mZfLXVxRXPxwW^ML7Gik4L_7C-N9!ggY{CYir6_h=zOGLRM2746o3^5Wad(tNX%!++c zOEgOuhUQ1^ld}=gE!FY}7ITJ-z^|rY3W%9DFS3266Bx%3Y#qEhun;FvJ0~SVIh)f< zYf21NyCbg|ZayL);lPnhQ)N!$n9R^lw}5U+Sbo{Zbj&a+hd>8?PzU|Sss3if4g?ok z5pWwJ34EXiYQT2KT=t6$+EwJiR9&mX6`EFE$943v4H;^~YPmzkTM{3NcJFW=x1e5!&PhhUYyi^skkE5FU`%+CzXm_)zE z@iDTAvM765)zA}jsigwUiq>&@t28Hev?61XZ+_Vp^Yg%*zz9Mi6qHcGFA=eXl1K{? z7#{37SsF`@xLuB8HmvguFp>=Bi-)jzD^JRi3{qu2L;i=l$PC?N3(as|Xk^XiFb&R7 z4RnBNjL>hJTEx5oE?QAd2S%o2Fa~PC2Pw^o4OYdcbWzwcfey#Tf=jqy3@c4Mp!E^=PM3S~mn*}81bysP{6H<}FwGz?ZFb!1|n+0vr{7VPt zy$5#N(VgmVAze+5uzVb$26gbnDqR$Fp$9F52Li>MF#SgW2rkq4#cq4k>{wvgX(OS+ zxT`c_-ZRvUF}X%<1y+DUNv+hmu|ap-K|KIM^QkZ+Wv28lLiNeUEPQZNC60ZFa~7c#C(9?S1eF% zyNPCzB8!lY%3gtB+y+Km;CoRl0Hh3$cr51#F8xN-Q2+)aM;Z7s1TSzxDilH)J{lX& z8VJ*ZA5LN+Ub@oSFW_P#Et3AiJfn!D!CSuWA=f*^ z3VbCp&Qr<D!w-# z6kE+!nI4L#+3l<5Nw4%vAF|R=yYGP3aL!0;eUdkGAKPr1u;eGfl}91MTMjXS^$0An za&MTj5jAlNJevrA!1f%%2>p3Su%tPYA{86_mJ|#MZ-NPqW3vF%L$pAm0b-TYt?CDD z_~+$Cy50<9^&md%dyUTw)6h+t0MWcIZY((+rm(gqtp@g|Kns&WFZF)~H!YC>aAbg+ zd_dpQI4)p-25r!eCjS0M(J2!)P447=2j;F_lNBP?A_?H)Z+z@;C{_lPQLHNz1uKUG zJ%9rlPE$S512}dY{|@l5VZ;LuRMRRK1ZWdno)Z-tyGS-hMg;Nt&<`ym$r4{T6`#p( zT4tLpy!0X0YS~89Au=8sJh|J*|FDtJPzs>{5Qhd0`oqYe!9YmM z$l^snZ8Ba=*f9~Kj*mn>;>4-dNt7vP&Dyn#*h^x?ifyA=)0{YQ=FFwrnGRmMb?d^d z1NYD9QKU(gE@j%(=~JjtrB0<<)#_EOS+#EE+STh zY6y@-FtP~2Qc3k_)saXlsiamgi4B%nT3KlqmR@RUrs%Z9X-l2D14<~O&@%Q|WRq2P zS!SDc_E~77m3CTbq#383w&q#K9GaNHYc8F1(o@g9PMf8$zgALr-E~Dn%oW8D8!r;w zNroG5z?lagcz{a>WN(&RE;;SAgJv0+YjVb!>Gqs%8<>~DE)?u^!Oj-Fx)J)BJ?i-5 zJoMCHF-iBhfRBqgqK-NbM-1tNR6goJ@4^c2K*MYHED8|RN(Nj|!U{12J41^Wi9`}n z0<%pNN#2eG!V^nZK`7?&_N456j5EiVKhxPgV9A7 zMG!dz5`vAr~Y7v1!t(D zrgi^)_~Vyoe&c%gas}bXsd=f3}Pqwh)7m=F<10r zU#)lrEndNkT5Q7`-+;$F<`IrL2`6R8InFY!v$7^GLuRql9L|=J3|nYI6Sv@EGql64 zy$J0PMcV>;>adrBN+PjqQE%~3_9ZE;bs6NAr z6+W4eFE7){Nw|9Qn{cF~efT42K@ECPgeFv>3#Fg_+Tp)?j4U0`kqPH&7ahG6^BL!A z1wGRhL3aJcUGc);+a$t4ip=MOmARm8L?tj3!ZZ;QnIK?rQ5w?p!lNRoL^yG%F<030 zhd~Tk5swHQCFZP&xnLr4V8%IS(5zg>q**eoI*OKYv1R7|5ZcfvArLx*6+L69Bp29| z2KTs8YWL}ch4^4b_Hdzcc|1@d(O|g%{V_sR8svo#dB{R)h#`v#ZGYW#!2Dc-_@#vF@TilVLB)P|(l08gQWz)PMp;ppr7qGNw0fVv*cKFYl zV!B6d&EzOwvdK$E3})-_LbKDz4m`-bSxuO6#oGz0P?=2?s;{ z`(FSDSil1&u>4k`3;wYwPV2x+KAl0|nly)Vc6$DX3;ksn3_s8>A0lZ6PwEg3qEwt>YncG0m~wGjrfh$&FN1wgI!mMyNy#hn`R)hjr5kafN&0}oj&Sg|!29NRzy1AhfDbqr;}{2< z-VrC_$Ygvo+gx>~u?)`5>|r9Dpa?B~(_@Hm77v8QXI!ykT*T{biEYp#AQYfL!WmzZ zKul#iVL?PEM8yJA)kr2dm=$VlUnk!24Ml-NMyi$wE1|iljsNoA&Fw&dnQwBrKVb1vJ1luLe zB0{PG4SHu!UiDC-1@(2bQ3xzx{_To}2`T6yqR{b4!&}16sfNd>rJ-S@$n%8aGt*=Km4{!iy zIe#jKREKM9WY_MvR|KMej zgUS3NDCHoVUXykT|k)p^94xi_18T(=d#&jb0Er#`u)G`J+5QIhD&7m+OSYkO-OM z12kAMgYhPs`V1Z77k&}`g-CFPMQE?uh#S@Fm|V~aq1Z2_QyG}qGN`jUsmldc7zI{H z243KW@e#9!ISrQ}hAC`5sk4Pqh%#F!hHBV_y*P$LpoFudgFYC8FIc;_bC17EgEEks zJTL@1kOW6)LrO}K_9#3;y8|%rv$L^~3?V#3GNeM15I{gQ#tV(di#*9Q5yq0V_NX*1 zxU@`bf~L8wPSTOhdI8XDvmqcoQe>5333I}5Fre+Fbn$&&~U_&IxNP3yb?({IGc~d zT0zQ?mxrhxKrlxHQKSYz1(qYJ9pu4@kcg9bg_vLlqqCN17@nomjwBQm=Q|Wl7zLpW zN>*S6XT+6VAPr?upp9aQW{ibV(4r?C%2D8jVu*!@*#m+g11NxkwF845V7oQ)0y+!> zs=*ICY6G^z0Wi1%f?1C%NINi?5RVKzLIeXQQIWSq#KY^9gaN-1fkXjWBeP;Nyn`Ao zC<8cHO#b+20#?KUAn2q|`b5wZrBN(J6geckybxAHMKJJ!zl*ausGEnlsjN#T{evww zF&$kqlU%~Z)9J;LDI$1SFr>nZ3S>B9L!hDIlZImkEpxu-GZbljuIiJnFoBd+D1}fk zp5rkXi|7o9Sfq&v$MZTo>{KW1M8|Zr2v%wc>Rh2$Sq=JoH)g<-=Xj2|NFt&L2mNx- z{`yDxoKO0!Py0j`f(r-Ug9qWbN>hjht8}-SAs^sc%2{xsh^$DP`U?fUNXHwg#MsEl z10)EEvpUQdx*JK7jD!S1N$CN!kYquZ+%d?INgk?6qcgIko0RNmBCC4JW}Hf)9ED~A z{sr+UhFUR=XUIBS=!=el${A$^O(;rMXo**Nm`mYGuUxw-$dUIb%Q?6YN5BL3ARHWs z0={Dpy#xaa@kq3}OUH3by&JT?WC-?>2*@LmMk7oxFwD4uEXBk$BUm-~fXq&u%ohN~ z#bKPwEX6#-5coi=&xE6ubC8>wg=a{nxqvNpXp=N)O>43(YU4d$BN>tjigXYT+{{hQ znHiigwxu*C&9NORgHhLD1VWLfp3aDoiT6BTenC+x&d^wUm{FqJO- zqwpNh9(uP}f{s3si{V%wp@7f(Y*uG|R%ne@q#!tm`VxZVhGO7_)!4#!V@TNk;foD4 zP>@m=!?;Kg2@#DvEI7i0G|+=IXxGrh7dyBQLtrZw>;#Dr$CLb;JLu8?2~m+mjJGM# zhd_z(Nd}`MxSV8Bp0ui3SdC}Qof)Okk1x2hDj0$jAl1H)t!k}B zUDGvcn^f7f)Sm!~?rOnEY+uU4d(hn2bMkyh1RUDj>gf4i2o z9T{-oh6wy2ZXKV9ld98LN~K&%aUIvda8L(5tdV0{`N*qxHNiZP*{G=+t3d@3#h`}> z#|oJc2$?exWhunCNSQ2&S@@w~i3Uj-p6qzCTzJt};Dl$)gl8KCO8Bbxr35o$gjWHK zjH9s@QkQ20g|8BbLpX#?K*R5u1=8SyKhPQ|kb=Q`LobloGQhOBle;0n5w=SLwL^nR zG9(G15y5lO73eOeV!wZuGv#k2z}@cx3Tz1lm~+R7ZIJ}o`X zjH?T=ELLl@jqH$&$(2~*mb7gPTXPg#gw1QZrCyZVxqXY1!HY1H3EkX=n=m%5GbY=4 zQ5bCvP=Ev|EL`Md6YbN4|7BeDE74jVm2;XN%C)QVBF6(!M6pTU&?MUiK^TdVziqY3 zSUS)2>=SN)nPwOw)J?k7bzMeoWJi8v`hi_H;ZNF?LaU6xZq*zL;|t%#Sc}^@T6v(4 zi<_T&h;v0(jci&7fmbVNWh-#tD5VU#YrzH~kh^@>G{^(^CA7%*`kNVF;Z06Hjo!y+b3>*}x3wxE- z9*EUugn~E)7|K}9V1zRAN;Fs!F3>bBn1eE4>^Z0m8~?HE_;Zsl|G$Ho!gh5Vs4OW2eZGu9U6xj)#{K!)!1o}FteXt)uD!mqDJHG zQtEn%h{uRrIF4$mR;Tj+RfIAy5!=^5>xq5Dr$*k(pQ6zUUd zHi3spK!i~E--1x;P+6o_s)&WaRTDpP?VO&BAdtLb#TM^D_EO)^{h>fc&u*!X8#n9y z8iz#*a)^(3iErd%jb8$!qJIAi6k){&*7aTY@;dcA_nzn( z2)+2`0z(p7V{g|+qfSO54J<*{by!Va5^#GkX9@}Ey@aEE)aHEeNS~ zvsr*h!-b2Uf(7#+G^9|HqlOM0DV&pMj+cr9D;At%NYX|_oj!s@g-Q}8PKjpmVz$kk zIbFJL!MtT_6f0J-{$iO*l;}|+Mm`4(Iy7icojQO1@ZobO(W0gzMYOoJy)V!v0?r14_cjvF|RDq5-NWd;t~ zJ!;R$J>vy!-a~Q>AreJ+6vJ-OBsSazF>2U(^lYvqYAmi}&x&oE#w}gAdfw~l)A!x` zyL#ovo3F=?-MV$@(y?SIZX5k=%$OC+U(MOJYV_rI^UO2H5Qxhx#1wO1GQ8AslPQ_# zq!lH#+@cHqJMXj;-gonqf`}kOG4co}k5mF(BnB;_2OcZ7(Z(HjBv%<4ld18Ajg(cE zSc_b=*y4(S;31nA1{JhOW}F~tN-VYTl1wu8G2>r-P%hInP;MzrkZQA*`}Ls!WpNWbJAI-op<7yr=ENA*{7d>0vf2GY+6%}JL$F4&O7UH z)2KJoIFsNs+HJ$lO7WQ^j-~+$sLV6Uc&f}SqmnucET^8@N@mfOSWtDw{pRNKcF)<&{x?)Nx8BsE8uc7gZ2kMG}t@ z5rh#t7(tg^WyI#iUN~HlL=vX`m7KgxhMCsf zYH+v~o6WP;hQn>T<;L4?FLVqUV~KHroQ}(Jff^STh4EZ;qHN~MsMv9{4mjO;XOBJg zBx>Gy=#i)1dhNky4majZ8L3M8@h2rq)l?&3F9be|l9S6Y=wP=!O;};r;CTnnB#0aW z;!d2v${C7ztcXV&V7wUPj5ON#g~-b7*oNbps~e9jj|-29;5UUBIpuMj2svF_2qeq>m7MJN5kVG(3mS%GP1%gQ z%%`$B=;1joLrlz4Gqaj`!3tW$nQivMGoQWS1qbuk&t z2Xcluys-`~)kAA~T;4mr1~%`khdu6L$x7&ho%|rO7*ZPG+v0YNx#6O2O-csd8ibQ> z`J`{U_?vj@F^|C&ZVx`;39Mj+A{DL3Fn2H-7-U4F8reujM(YueHuodXVWc3T8(ora zQVV9J&OY@Khkxz^J1lAGj^VhS@tWz(XF@ZY(wrtWt7%Q$S;HFccn3SUrYLYUuTjnz zCw(ln4Qf$KKAMVK_By4#?U@Qyr)UKnSyi$WAxnR?LLVw~r9M5h?|l!6Ul}N3k%5RN ziV5K#vrr+mSwu@y=BN+?VWL2rWCAA;@(Cy)0g1v5!dw>QL%M+eWTNSKFe)N(S0y3@ z37_zxC|MZawu?7#{}u!8$?D6t+O6{)6)0uYNckirbHh(rh) zV|Z#bCAzVRpMhen@Gua=48bolvjfer7%?vD%!|4KqZr577@}#6M@ds7Y+SV&sI|gC zyI=-4zM)L;=%XE4>slYZGmr5cc0Kc$2ieMI&epXqk%}BABh3M~0ToD+ciUDh_Lj+I z_-#C$gvTlfXE-F4@ z0XJs6&PrICoif>hyK6!>y3(C4b*pRL>sHep;rPbwwgmo;`gnsIQ|Vjq9#|*=~Y7-qE31K!D3@y_0es4vj=#1rA zsH+k*;Bi=e^rIi)(Z|-j_O)&KtDBOT=`4V-Hnkc6a0b%~BArCZW3 z?=!&q43Lt^Z3Z-|-JUHy7rWZtHn+R&?Qeryn%i~mmckoOxH&^5tfN+?=#yUcb_$;H z49k02Rf+K7^C0@vr!HNT;vFFrHU13)4&5hUyBI=$QC7@c)29bzHKY>{h48d06_Ze4 z9K#vj@P<9=@sEnQTqUl|iBk-Ss&E-zW5LAe%=L$t`sAgc7(^>tajHj-0SHhqSQ6So zgo@B*308nZ`=%O&CHt_aLUSq?n99^5{syPYLGz1@P|0OIc$rxDeHmE&k~AyWCC#ug z@SD>*XFAWo&Py+j88OG_9{E|9fR1D_UQr9sM&q#HN%TGLp*8U&s*j7E2RjxE4?`cG zY?nT-ra3)MXMDP{mnG1sOZ^HbS(01!y4R|q;p#lXI&d8l%1djVT7v+BwUC2RD|y}P z$^4qnqY-xFG`B8ek49aiGli0Z+w3Sko4D1G_Oz|drFpy~+{#}*^PBJd=PO?q+a1R^ z!eMT1g!j|fVV%2$&rW!MO5Q4@cUYhnoqNuA-wN$F9{_QOKJRwm20wT~L8FHlfdN^1 zFvJ`f0+C2URD?|nH(cB;XhJUjWSE9=93*&{M-@&{kXTZ5#f$Jkw?s#3p^QVh!o4j5 z9~?!@#hk~HN+g{E8N`sz^#Efuffvw)78O(&APmw~j9)C>(li}p1kD&h-D6N)x~$0g zA;c5qLBzaFaX?0yy+zp3jG7sko8^q0per=AAIGkNc$FuB0E#v~;Eml1w znxfeQqixOdc#_ym+Tp>&d$@S*rxDYo5EEwM0;xR7rwB!wE>fmd{e8Y~f)MS=!$&{eopNV(%7KmsLDLOdlxBmjbstp!v09MEZj z`^d(U^?=3DpwKK07&u)HY9tZ$pc*s|zUh-h5Mf~$Az%yyQI!E4v<4HlMHF}uQmIuG zsvQ+pVUO4n=jaLt!ci;ig6r53JHQ&E^}{_ZT6h$eClQ_?xkqEYhq*1oG=$=&^5bLpmseAdEukaRMgL(;^l`>Nz6h$P#Q- z4vnyqo*hOTpvJIqP8$eGEnP(?c9<_E!|z3&F!2X4A=ff^1GPcJwIN@&y@?_y0wQ3h zAiTjF(7|S2=4Y-!m{5T%l4fa|=4qlP@7zK-R3AGugG%J$Gweq%)`#O212GW8FFr#s zj$c@`0(@Oy$*9PDDbzlx2s7RRAG{rZ*^CuP<9}Ua5P}A3V5Av^*|8jpM&yAggrk6T z136wx0wEwPq+>b~WKg){JJtbCS&%HbXHz7?1~So$p+YI$+vxa2BGlL*up=l?!XWH| zsXPKE{+xnN0Rd0V5D_d)5R}0Z(9hBUK~f>r#o!=e97b^L;A2?K7@3CUd;xN}A4uvC z{ScuSw8fbDRB9NU8@K^W3P;(&WE9qh+6fI2Bu4${nJw8;7Un_tz|kwD#4?xzH~{6M z5oLIkr9PAg;Z0h5tOFaqVSF^tq)fvy%waJ=9^_Fa9>$F_90M%G*t4`kEbu}syaHEd z0w;jws*UBVb<#YfLn(y9A#9#ozU5}1NaHLcUA~rI+$B$4j&khfGwP}17?`ox-cDpf zaIr!z)Iu#liKg_2yDg@IRLL?}+Z`caIJ612XaXgeqqP{IIcfsNVVsa2!IG)P1By=FOa13T?UZXyV70xL0)if-~I`TeH7xr_Mt6LG4Ki@eBw z1)PvLXVW~9L`dgz49S6Ags~7w|LMUziDQJ#2LZ|i#%V%^mFFl>!YC9DNbSJ`uBW+( z%xg(T9RLDPoWl1&jk3I0vhswz6a`RxR7X()F9_r4NC6Cu!4DBZ6Bt1glz|pd1cXLt zQc-9baRG*Q%!Y0(jrNqEBFBr|lRlAXMWn`wcFfY8nO(3b9LUBH=?rb4z|P1h4(Q+v z-6%p~;^rjOK`cUV0YXWb0_rqFI&hbF6eW@>S|@o@;=N%T!bjPh7dJd*m0td7mQrO^ z=AoC4g(!&WnVKn@s;NtLo~!+xQNn2{d`Kqngq?B*p2nr)q!ORbNMKZsjbs^Zp%J0# zDbgU6=5&iM)dDL#Dx}^Av_V^b7*p}V!#cbJJaE&RSjjRJt{2+E<>o@>YOdy9t}WyO zsitZv=mM>hZt0rt>3Ul;kZkim;MOZo*r!(%WwWCuf{UzWq}{ z3`s$7j(!208L6zwW|0;#uXE0UG|I+PwcTOplDA|+w1B5Am}`b*OS-n}xU{QCwI{vS zYaLWhBDCKHc1B1zR3%_S2YMj6^g)Pi7$Z;~QH%i@00EO7%ujKF5&kT%7leUrB$dqu z2c8W_$6AaR9ZcF$WLS~e6(EO;=xIR=+!nnoMs^HrtY~W(SOUi^4$Q05UMV1 z&QlFUiv%vSeIX@5$&^S*g3O^YJ!Uu@9y>s8^+|&?1VbSQLjmc6l{5q1EJ-qKS~2Vb zFVF&4ZVNA1G9_(pMWyO3l!EA%!YZI{D2wtald|tz!#IG0{*|i4H1r2Bno6mlN<5Vs zZsxA|sgMfMQ|~5D@bYpR0EzJ)2GPK=Y&7rk%AbF2k@N=hUaCkUG|)I&T)Cbjd79%W zbno}}LHM4FyyD1Y6otZ$K?Np)`g(*Tgv7l8!i+%R9?)+DW#uts1s_PkJR{W*48%|k z)e;a3Z6tw&9*mR?N0n`85~$S>IPgqHfmP{c1uIk-U~okUhtzQ}%X;uYFcm@ffXqT6 zZjkU^7?E3Ot7x<^i)fCll#GZt&@)s@I#3#hxI+#XN;!N-A2sfizM<3-aibWqDm$K* ze%cbFO_%OrjP0Zpzk&nR3)wOQA)c+0zJnH1LalxN@nz`J81ETf9+98ktySg78V6j@ zlJtS;S&HdIMiFl2zRohJ4);Z6D87z2c!M9OBBg~xmqddu+;ueQ^>)EED{liiMILVU zWF;raUpMCKbgnJj0yI!mg_QDRLw00KHk??4G^Dayx3V(eLL@y)_kgJ+oWhD72<~DJ zZ*~toA?q#^33d`mE}@d&##JzHD{M6Hv|g|lJyig8 z#YE!3l;vO&nDC6gnFI5nX|NJQ-?or|K~(+?!9*WH%hr!T$7~ObaL(k0T6r`I!|_~= zG$uyTNn?VNJOj0`^gOU;J6uCKSVM-(GO$#wjn@ziI!%knVPs2@wRRbXjb=Ma4 zE11HWG6LHMqJJ*+6))O5ghQMXWUaLVC(x5{^41l$7GP|3=TZA2u@8^dEo2mq!CMKxR0A1317nv<*;rnHzniwRSX5yKzI6TFK=u z!{u5DG)#7$>-nBPc4dddYZ}w8g34x}N@&MeR78a+bkHo!F1)eVsIo_1jlzOmeW@VGuJiFE8^twEltFXcARbxKKj0M9;-x3r(aWshZ;bxg@`yY@jMKmsSg!l;pfPW5vVBybQ|`+tQ&0?Qdp zP8qc?hQ%DXeB*}Nb?6r)216snSy{w>OLP{k27pJIhNcw?6gYx&^a)4wf`d+jD_Fa@ z?`H2p#d%&Z$U?#U!olY-hWK!$nL~)FJ6{JB}K$ z3o21(r_0EvZ|lGjvs^f6#6%gV*Xwif0c*5|{mA=m&^roD%)RG~&HnRn3^VBT6GN-WW?({f5W}>H z!(9`6!3Tpi_(H<|_YpTWR>KQ1A?a$w1H>|c%$OA`<_uvqh030Ft7gvJwr$Up;ev%q zRHaj`IK49U>J_6*j~FFN#0V5CX3)mfvu97AzIyG#fh%=r5T{m{IGN&9NzbB1dhp-@ zgy&A1HekS@Q4=M~6{%CDLgjLmOH(vpu%=0aM-Ne@T$zGt0|-!}OqoD|%9YF3vT4gC zGLv|B8#95)Y6)!C%p0_C@Cd`3w+S8MnTbLMB3IakZejoGxh z0!c4pRx8&iO_~t>bNw22Y}vDE*S38dcW&LgdH44H8+dTx!-*F+ejIsn<;$5jUvBMM zIA{Y+W48VX%T*=qqC`n@g$mVoSF?5z(@b$z`dO{g!*cI_CnovY=|_qb7Jq)PX}owz zgCCDHt}3f6Gz^5QEH1p@!iq4$SkMbABwWJ5{uU&H2(6?VgAqt5X{ejKY_TO5O+wLR zloTn^gc21Gd9e>V`gn1VI&2&R$1$p?;)@=8%n`^%w2MR%NenT>4o8&CgUO-*LBqy6 zWPEXuk|4na7gxv_1BxViz#)nuhTtLyBEl%c3L>BaqK7YW08>pIk^mE`A!fMq%^8xI z0f#%2_)|=&zPMs5G};J|zX&BXqCW+>h(b*<$CS_xIF4`w4mg^?@Xt4K=mCXL^9g*X_jMlaY!6nqS0lQRb&ZfD(!*qma6TsjZ%Zsw$`yMgyw>8SbhmS+nA5Vx`hrtF5zi~6gC`y7zVU_|m?N7xT8R|;7Uyox+qtr8oaxpeXAB}HmRL+-MK$M? zUYhBqoqihXsHL8o>Z+|auAFwpxwje9c-dvWR!*T$BlmDo=9sjJS(_O3(o1`m{_EbG z+r3jxnNK@RgxWh`J-lkP;ROZ63JgfqWVPX|f(XLG{)~7W^2nRGFw!BusAG^rj=@am zVp1H1lF(mlQD2+}8KjOHQ}2UyGF%^H%Pn`D{fZrN^brg^+K6NhNtCo>j^OPuL=q>V zR0H!t_F&z{Jurdglt+ZB0*EB05)+3x^zb68C_MGlPgGAW_0IB5{S$rksj}*-CYoTh zza4g197DrZRnUkd;J^Y?J2oZ4Q=oD|s7^qF8HAt%2_#>iBsB!YC5}N>$OBi}AQnEL z;SOnGL@#iWHq5AoHKi!UBt|I0Qs_b#!Eg+-Xl9O?LF;38$rj0q!Ha_a6r^X>5Qh#U z^Rc$g!WHJa6-UrzicFXSiLpq=GMWL7Z-k>BF`-v96oVpAjN}n|6H+CFBCxR(Okt~9 zmBI*gm02ytELq{gtQ^)bi=8ATps2+h2{H}5gbX1DDaIUQ!3$p0VjI)o21J-em?yr> zV~Grxv>4gQoGGMRl-b!cX3@5`xko+cLdhsX(Me!k4V0l2iQ^m8p!4HL|uf zaCB`N$uP((IN`6MMB)_bdB)~;$+jP=2W@eq+c52BH~GkCZ+k0>-z>z1CIk*}TsYj} zoasLIk%@7Q(`Mx0_rE$_K@F$#ATfkC3Z#kdMWcfR>i%FOrJH! zI`R=0zM_ZV9mx=R_~((7atEg%?{v%S!|4V=pGN><5jeWSpsr_#IZO~LZUUdFHflce zy(xX^lgbbjR!zuRh<^36p939tgdbo53vlos5rXh00is}l1q=ZKC(waX+38Mp8Uo`I z7lbA>NDl*A${p^&2Rq|4B!H#ddBZ^Yg2Njo*qAMoi z5kS!ceHMWh-J!8?brPc(33SFYnuRG}91z76bSMqB1^yJVpkrvNRT+d3Lytx4W6`QX z5OFw*FiuSo`XdJ`jscCfe+2w!;Ee82eN4g#P^g+67sOUsDMGEU&2$L^5oHvdMbT#T3-~L zd6mcYrwL`+EQVCo(jUB3rvI}kPD6zPo$}PD{wx5hq-a{rGC8w9R`5zz3W^3kr~#^s zh#OTm$BNZ#wW}r!>n*qe4rm3pu4$EFwwRF&Kl)Kykkp||&?m*i1mymbVg$Wzo15NQG(27$T5aJUgq9L+~F4Y zxXE4a-nio(<9LT*1xb)%ykaL@jD#pE8Ewt14ZiA`FWriHH~S`Y5k>jieiIkXDMN5^ zMz!X`C&x_$*H6J?m~nb`@orvxuEOd5q(p-=jJz4g$ipAjkv*;VCw=yaEMD>FiUqpj zBZXxVP2~gZ=#bDE@4+OA5XH4Ih=wmzp$BM)ia>juR8ZNJ$lyDbk%tUY^eK5N>|31t z9v9_Q6G2jryE2w%3cycsnSdnNX$N}x0`lcxvkqLGf+RE`zu^H4Om%Z2deMuiDkF57 zU;`rft_VeN)r4RTg&Tgfb{Q@!d|yPDObWlG}C!U&OMLbkY;%N?s> zkX`(`Xu*y}ZJ8mhy29g$$4374HWa_?XfcxbJCiorsC{kmTw4?yc?B=9HH}=D8~y25 z|N7bA{-u>8-QgH7%(NAs`^>xEltHe0^PSgy*R8&e=@Fy{Esg?FnhAmu=ju`|0nyBH zs*Z9Ze7_h1ZIr^7;SOQ2v!(kGv+r$=NjQT}PgTrQw` z3=o_OcE|vA;Asz>iVwa66?$&ObSy0LD-A#e2t-AEl#b~*>U-oQeMo9m5^e{o?#v*L z%ESbJwl1c+Zp#KJ?8dI_X29&wF5$3lsEn#X(nL-0Bkl|&s_f40jsX`yXA}hC4f>An z1cC2L0TDWB@Q}?M2L1^m01+Z=rnVqYTSmsM{0Q=jLGl_6*_;92E-!BuLG%9Vh*T>V zJP-6lPq9!aHQM6SYKip-@bzLZ3TDrNYH!tE?XzOdKz5ICn9BFoLbkAlAn?K&s$mx@ zF8P41Xr4hL!ewTRjjRms`k1ZRBq`dY?e5@kxw6C+>JB_4;S|=Z;(VqUp27XLksG_w z8^6)q+CduRFC3a-E(#((=wrQzp=a)`|19tS0MM8O@SzGYViF~q8c>=RP>l3(avIJH zp6P$;XTg+*;@&M5GBD##hXXzE14FP6Nbq$`uuIS>ZNMXXHDK|^^Y!CMcOWE)ZfDi$S(j zt2Kd<`kW;)jBU4gOSl;6Hg_nJC}L+iC~bT*OP~=Iq!AUo0~QzpxzYw4myb5> zY3xD%-PqySlC2ol!(X%`m)Nl~+_C@SQ6BvbnOx5R2d;4-Xw@#$aQG2|tjTfyOPUa7 z45VZuS|PAZA)Rh+52$1i+Q}h35JzH1BFTUvQBX&sjwQi>RUG7^%AgE@CkFKZ_7Y(v z73xORfDGh~NIK!?dH{V2vZuxdfB z>S|`bK~y0FT7Jv<2C*G?=@_`F? zKI@v{qG-~o4{nZ1{=h%~GeE~+1SPTxD)LWgCt+A}LBqhJ9MqzUq(~;T2F;bm z>R=4iU<@k3K6KR(R`O2>MGcq=3`!1EP~cODOngjq>B~z$pz>oz*wp*jDRsO?K(I64(fPWJ^iC*CXE6y&~sxD!xhGKyg zYQfg#s1`zm`d%m+;KV#K4_(siSb#@UDp95BQM{r++>8$@ zp%-%H7+|4Y20>_@)QE*vXftj#M8;|5iuimck7$7wK!S?VRXx^bYtghWjBggib20~z z6KZXaGI1T$_D&N^ChDOSZebKaL2e-vnJDv%KC=q1E?b%YA}Ij3U<7x7`Jiw?!W7t} zF7>Dw)@BzEITqRia%p4ZzN$IRT5wq4T=H?pg;-?@LqdFDn=9qNc2QcMd>!`gH=>TH;YBZh|GfWgk96`0PS)h;hH&2g3wVbK@|Ql0d64S5Fi1G-#|*E6p4j)KWFSk z9#0_(xHs&fo)^L9+bKiP~^gV zj}fT19syxcwIYnj(2o5!QopERnnDe}Kr}Ae{9)aM?YampgWuK7N@Vs~1+v=g1SWa}MxaOcyGJz| zo22YflFGT=EQm0{?v%kp20^7)n!(9{4)pUyUZIZ|QKp6FXL8YJ)&?Z5mWVLHZu;*$ zijQ0L=xT#nC?0{R*HSI_Idm0I&Kp!-UKjkgM_7s~uGhCh93B zRtL@6_t2FSuGshvnLN_<6;P`dSV1M0=q~EYV=`A%@j8-prW%ytS)na6lG7QTH#|D| zlRf!$54%WGY=2T13nUxP<6O?+{@faX_w$a;Yk9#ZKq6=e@w1~fw4WDxwbQi!Z73pU zwIS%37yY%rS8>)`VJ0ed{0d{(^$-sBbdaYB4Jz z7B-y2YpIyl3%<^Skc)xCj|nYu?j+b^uv(mLUwj_m;Y9k>PpP`9ar`nHXsiGB#|-8zKawrzX$iWaY8#ReAJMXavfS$Ol}g~b<^sK2l(2_9VO)G5M)7cJ6*r!g2V zkhu_vO#Y;@WyqE@Yu?N`i02@gqlo_UWz3jIj8a1ab*OcpK701mkzGg47}9FgTp>NC z3Yp(q=m>{G97>fcIFjQ?!o0cYD3iH(Y2qb}^*q@1XwQBJ&7Ci3_|zGrhBWxxfB@l< z6p4MLMJmOk>0Jeg5FkBJpy;8zKMwxNkwC%>B=|Q&e>2RGLk^q~F~oxq4&k7LUU;#@ z5kDMpgce$WMnrP?>E{9pCkPlq2NR4i0t+k#!NLnLe&%2h72<&g8fv%_Q%c7SLP=|M z^da1kZ@jU^ky}V%Tot8_QOA>~w1Ssi77z#>Uain#N-VK}!pbPD z^m-*T1#NRsIt?}S&^8iLWD!Og&9c!&%6J6QORkXA$x7I!gOE3B@#61Wzs{A{U3%r!7c4pghFD>SEvy)0 zjinKpWSCiMv84@WY}scXR`wikr=^w&D3G*v$ZLH(Nt=7UP)a!qmCq343|!81xr>)zqK=7RhMk#aUTd;R3!HJv zS*M+LG6IU8eEJEfpn<-#jya=HlE@=~D7HwWkKPe!;+A5{nP{7W@#*!G-iYJNrCx#R zAFHzJYAa@*Ig6~cw(?3Wrs&FRug<7d5I4gX%Me7{Ok|Nq$6)jfNP7P1$T7GDl96=c zfGo+DN(xvl0^$NqqA-LbZXzym*})N7SVFxv$iWVJ@Pi->p$JDv!hf`5EbL&%I^cm2 zab#(917Sv7;36wx6ihD%^A_vMw8O(7MtP0-6c;!Z9U@%pVncwA#x&M3kBJ6mrpX;6 zAWM%11|U?SYx*IZB1^Q$vI*!w$w?ay)CQp!xs3=58UoH96gMJN z$O;;=TZcfSHxczsKpjAlidYc17FFg260!^$z@VK%DP(wp9?B6Gbq)U!Og*^Ty8^#@2yQBkgHU0?J&+!l;D` zZsp}Aop8hiD+q@pl;H?Q_=g(kP{N`b^{7Zqs#2HA)TT&d9E5@g3(=w$W=w+{%UA|8 z0ESJI@+BsI(P5d&#Fw!)3`~lF+VeQIGb27HG@^-6{ysM&8YddjiIy@CopP6nL+l}P zL&BmK^+?P>{^plt_~q8P)&og4r)xckn}i-y87=_L3T2oBcJeR>?Pzu;dNhwfb)y?F zNWu`2NCY1MDabnTVV=iH0)Bv?A5$i>k^CuReh`!(82R=EEWl(YlRzrsUI9X%)B=Vw zxC9vNAP6`h!Poj$qEw=&11ieyibepM2YD=sU{J$gdI5`LOc4@&h+L7@yGzRn;XZ~; zLX*ajDn4Lh7E$uj=eT6UywL6xU=qxj27@s3>4jkFd&M?)*DAh_EG~VT$M5Q4k8_R# z8p~iOLgn-b+|4soH>%WeFC|yHLWfgBw4SE^MAbAk+(=b}7zD{EVTu})uY4;#7=XRB zJBU)^eYvQHS`tF!bS&h^5_uN0W)YH*aEpM|YKfFj64RI9BBr?T-<4gF)16jOCrijf zBAQC(GMo9#Xil@5lX8u6v_pmKC={{MGL5Tdl^MyPp)zsU7qE&#tY$S+paqPHMZ6Ob z&I=W0+*()5;8U*N^{!?beMF0uXAFBq4I};vSmB_o52nFmAWicdC?Hm`i|v{umy-m@ zN)|dwl#UzAAT&ABaSrYA9;tT2y&wf_P4-&K_-W=>*gTW2v$(;hL--&+#T$IK+!(siBdTM>}D5m+?|kdy*HmqJc1K^ zIYt%J+lL~tVZFimC91c^9Ac)55#>YX!1kO?FBvAll^C#K3jDeQ+wgUU(PsOoXi#s0 zvwaYT2RkM#sAx1}8MQFQBQSA1+aYwVqS|#5A#LKyP7E^H+uj$P_F_m-f)Z2&MUCIo zI#K8dCNc5SD;&yBAghIb!`fFwB9gyn%z|0{I|h@t9MdU#9TmNpmP`*85{*o&%M+xa zxUiswNHAg)YmU3z=T7&!+kGo;e#bnddX|iegX+y_2A+$-3t2JzU@=*o4jC3`vl80S zkb=3S@cLG_LYn52R^r9LVE!o)f8kNx#3C<)1nNANX1=9PY+?tl>I5a{jA$fo}JC`^hEJmLfuC-(-@v*G{$ zW+ZfwSUrFrkktdnVH&TM2$hgcoWKcQQVg_^KD0w7gduU2Kyi9eLwb>MoUn0Jgiwr- z2{jfA@#78fAYs5$5A&c4w~z~nay;=QPl>=*F-Iy%go8>{b89q2DW*N;v2)rJ9zI72 z4#f!yc4L1rH9EpN{u;-0pfC!xPz$-B7Q#|L8`TWcpj9Eoa5!{jGgT5M(Gn&xhEpR6 zHI*=b@n<>27rRglHWU&ip;KOFL6N`-pm2A3xQBe$hki(A*U%1cmVzq;4+(Km5fOOH zkPQA}czjkqg29G?!FY|wLlGw!$b)EWB`KO`G2eB0C6;-Vr!yC`8+gzL?^GwE$4jqa zdgkFph6P4auzFIEYK@gPXarfyaZfu~A-?DZhA;<)Ku3-+HCGT&zegHLPz6a4Q2vAl z)ItWqF$l7eip=K%E%1B>7=6=6HUdI@Vv{y7f_;MHeZ}Q%Lm+-Wqao#IZaW}dBBFlm z*KY0yf8E9Y9QH>lXpjiEv>I>lZ|QXi0QhfoumxmbYS7m;$59&TkqBj?O|O6#Ttb1+ zv^s+^CW)tkdBG)c0V}YOUm)0Vb|Q2&CS)i$4=c!mE|?2K_Xx_fJlzChXwYjPUX%W^O?MkLgz; z^XP8bB{)RD0uM3+PXq>Ezz43-3+4q0gRovh@^5Sq9CW~%(^f|Er3Q77Jb+Lbu<#|G z!%!6naToY!r|=R6W_Ze!CLY*6B-3D16i%^Vk}0@?eW?q!Pz#{ol6tThFnK#GcAC8C zdp6l1IEizTxsyGq2K5DFhcF5bm4vN8lxG+T7kO_F1yQ{+g-&^e8Wj@tDp7Dx5Nzlv$Z_#UPb|nL5K(rFb+8 zmwJdbdcr{GQy_$m!2{w4}~kqqjf z6$hbtQ6@>bI|e0!pnxkGx(z5ea)QDR^NrJlg?!sd%El*Lkx?S3Q_wq5-3# zGNXJ@gaI21a8f=?I5j*fU_L5QLCPmoM`VGwg)zh?hj*n-N>fqFm49h4(i|z@1S?=@TPEDwS1CQ$&hC+%O(wnUuKe+ zJyeMnxjM@usGm}(HHk!sy0%VKsGFHr{uHUNL8%5wOud$=rm?A}#(KAyAP4w*Nx*7J za4ED28TJ@?(@Bu+Q|h?V+64u83vrixLlxFa}WiC`y7%>Do+HH;_(M`um_pDxs*a%&FKOmqDZA%y25(8)M=f* zwYtp#xUV||v1a85yPt~!xoZK}g##Y(YMLG5$3ST(Y(U!M(x?d(sRGL1gA|X9HnP zHxv?l;iMwGmUL*sCu|5KfzT>UEmzjU(ZY2gOoubv2}k#?K77#_ozWT{71*E->d+2? z(wAl-RV>s|S~U=LcG7xAkx#ss7TB0+l^%quDThn3B*sbTh|{1rikZoYz{!wxA~{Hc zxn!`Ay_v=|vo!+O#?kw?xR{-PtTT{ds+;8nX)rW#L@}3AT)i25sgfgPG8=WET8Z#` zf!hO(47$G>y3T+o$npj%zmwY%8nTQjEzhG0h# z_ZvjwZvjX-whUjqxu{-Vt+&w8W+n2uF6H)Lr(|y zPyt(G#ULeqQIx0U9wWL4fPflB7|nRL4Emf9xsX+G;m;i0WL)>bYH7k}sFrJavt9>N zArW?4HZ2h?(Gwk(r?Aobz2E$u(bzx^9}PV7ph8sp5L-CG%aGD?VW$+x2`w$QJ``Xv z4G4r9DQI9ZlY7&el+zo&(~NdRn~5Vcc{@UlyaU)9y+$et*c-*6)ScSYy7<)DS$}mU z9b8b=+o4%n&296xYozhjt`OG#PeRtamRo7->6A73=29mR0|JS^ajUSP%ecG1HM zVWLf(%?X~Zy<#HTq)pmh;wGkjV`YK~kB|wOz}l@cMFE=(vTY8uUE6+{5SjoAi~tDr zyQa${ilgQ(wBXJF)PV0yEw4OtRXc7!Uk&+&z`%U=Rj@ zwRTz;UUj7`tWqNpWt~vMCoBnE+1?5*Wj!krVo6hTDAD2)!e1!~{k`qn-tA}F(dF>I z1pcNEfmJB2;M1VQ$^`x=4o-IUYPVc<;0h`zdOKH#s$upvuJthyx=h_RepAGK{^^s{pJL+@jqOIs7 z^K-2Y>9H`u;@~H>&4Mgs4&7j*o2~~zLo~$42i;*Y5Yp4c9hqR@F@m4mLU<#0P+udt zJGT-G6FJ@OafaCelT-er># z+dC%m{+MTL;rgq#`;LyA6pH@ddAos%e4yAvZIG7ABv+7~RiN<9#_(;tHIc0xtw-~5 z!;6wKMA(7Hn`L{x_#EfBjIcT$05N9KBTjqzkRdZ>43H{4fZ*uiLZS;46;YfxQIP@# zj2%yq02vZw2$3UaoJ5HOVhwh|_`Y&pGsi-}VrPIB9x z!g~tVUcIwg{r&q&@T*pN*FItdY0w}@e;6f73@TQ#W#-bYn^#ZsJb2)|ZKDJ#ksdu^ zOy^0{=FS~HXwXD~4SUG!*tNmj#(kRzktn&ryuK1ejT+ak`5ZsaC=)19uVTHLHEXXZ zQIR4^l9XpDSwN5>F^|Qo*0ycj#F;ZkzFMth$#(4`Ml5>ty?b4`f_2{&Dpc4z@y9Me zLk1+!5kvSx5EcDg!3CFN9_$5`|4`{=K}k><&<;D`aKjBpI&s7iH|+SQL=#U$F+~+u zWU)mT{$GSKMj2vW#ue9#U3oo`#!9=Y}&RPTzH`{0fj61-HO^x7UyCTmkW=o<^ zKmP<&tlerOG&UlJh$7D_+Bgm&I;?sWA%&{=;tN2lfC37xq>y4$PCM<&E0snib<{ue zj13Gfz#z>uS55OG*4>Ekvxgr1tU{qNx=W;vgAgKvD~D{Ih@y)yLSZ9iO9IIPXPph9 z17^WODk-m6n&G9GX8NI96~5Jpg^N%qcBG+%0?DhSSjr>T5IX?^3aTE(s@|$NcrWp<2=%f=*;fN~^x#X66PB8i!wk{Gq=9ptCJ-UmG zl2~FHuRQd`Q7@VB-ivQO>FQhXz61jV`@#gr=C5m49z?sB2>EMpFX^g_#E=j>43R@O z;3zV0z4zw3Z@>QrJaEAWC%kYO%W20Rciv%#9eChbXC26+{<7kop# zl&7zg2r3HyVw1oUX0U>duP$v-3&Zr1mxxJBFs(QfnlOPF#b|60kBJN~KDG{aXl7*1 zm$HZ`l6Z=5Kcm$AlYkI6*Ppd%f@UwNC;#Y;g~;cfm7*oh)UXbtc<|#fF+q9{X#&J z`xRwh``aJ?Ua+nIc?$+S&A;!!W0J^U&8Y8Fc!AZg%nHJBfN76{u|F;{WaRZGd>MI7fSpRIAt71W^)*Z`{^>X^-I3Nq{;)Ak@`JcAg;fMYQV zBMMh^qC;@lkQ*MENzQiGv!4ZRXhl2P9hC!dM|ub2=FvD&N@+@0LS;}nw~Mj1QcSO0 zODx3{FoB&kb+?2nY<3Ad+4-_hVX@uqggL0)t%eWBtcvgu0);97%9^&?6jy*C1m#JS zfy`scb+4(X*l^Q&-#lU&!oY>y@X4C+)D<5XG2h4jY(WV^sKOQcv_Eq7m!8RjpZuOh z0t+B;T1BZ=N|5prBOJ5@-GV`c2bhDNkn1NIKwt;vWgvn$S*6D}QVD{SkK+S8u~b*M#cBW#$~9jIko{H=2>9WUTUYpo?KzWI5xLlEv3# zX~WBgqo*(MGP%e8Cs?x8-dQ!<*+B?GdwYY1=l%|vTL2by)3@zyV^_Q127-5|IjZnN z1R{SbDG|778Z9ir3Px!65}+LfK9!16WKaVidWDI{pjZgJ^PWn8ViAI8z~C8RK*H|{ z5{!`GBOhTF0;z@I8L;3aEO-G6Sg?Z#1CR$W*uhR%fCCG+Kq4F%$%aX=zgzV{3crbh zggP;tB=i6ZDHg(gxqIRhS7j^O6>l$-FicjhX~sI$>Gci#$EoD2ai?hD7xC>qs;~Cw+vpDqp9KXy*>RhuAVF!(!zYezZi_Scw zArwfp{qY&j*v2%b(G0xOwiWv^1c)@d*-_Wt_P570R$@wjkCCn3qg*90TuXx5{R%Jz&Hwv2p2Fp6u_{M zAPI7_xhm*{|5yaq;I44v6s_0_t>C$i@;RWpu8EqByvqZla}%Xgr}@f+$8bWWQ>lb` zx`?s5S8%B7FxA}^ltGBj8Xyvw^>vW?&Hveg(LDNF<~aX#z74z(f;vRIAo;DfLtq-S`%ZrFyo z!mF#}B0IVdJKBq)v5vu_tVL6_2Kgh>3na98hHYR5Z&yT@U*;=2-Ph_zYElE!RTO}kvr|% zKJN2Ae`0|g2*2=~w?VlL^RqVl0v>E518!qKZ*#wJgTGNB0hK@&`m?6@`xE>lg8f4; zD`+<@_`d?2jeznn1tbIWse?*5D>C4&^qD}CTPPIZ01mi749q|VSU88{z=%U25PX3S zV1W(*3yjOS9pE?>C;=4&xgan{l9PxQFu55N36-!%>Ozp!xC4i9foDoFP>~2A%sC|} zLh+I&+fhO$OdX}8ucd-YDXc=7YN3MJLQ@b7f_a1?3PZ-2FS-znYDhgbWJBQ-hf$ye zIjlo&q8|SJ^Rh44!;I=f*T{`P6vW%84MgdU+yKNlo5CGKtLw-P?Qkm{csRKVntUhkK;qWE;$BV01*+{MPX#k)^yF+ zgw4P)wM{Cj$61F_Vn%QHhG%Ssppr(ypqS@FA<}7uY%~ki;l}GL4!OI6Vk0hO`zMMk zM{_*KW=qFI`Hk~wNA!b7gpkKP>67*gH}|t9e9Xt5n7`{9&uglkA)piL8OV4u0xxI+ zKCu>v&=rRi6AJ3KQK7&2vj~ptNCwzI4urUp_&^XGij<_5AZW=HT)}9|fgUJ17@R?s z^Zqa(xB{N!4>Slidi=rd;tHcYv7dXtYGO+Lld-c%9bS1tP~aFRq{>GKowmS2tkgom zfQzK_N+OH0$KZsqw32jKt;c~Jb4bgzoI^d}COpIqG^mtbqB}pt4ZO_Dy_6ola~VWb z#6%zySQyO0G)(SrF0V6%Sa7Vye9XDxg;v&NfL-)mRN-%M);n9s9%|l#ouCpib}`KO(5rj6#E`I6vW`gG@;uR#g;l{u3!9 zG*1$+Kz?)xdxVG?V9!~h9&R#%{&TnNksTY%6<{HQwWx&FKm%bhw}In;48RBs+=zrr zxB@j$W=YT&_`n7Ar=oDs6NJ#1%z+oEh?<1Kix|lobO<4kgi-{AN{|95*a~{oief3s zqr5Njw5Hh5KQ3rH?r6fPq%WTtpYEu_MHrJ&4OO`)L#%u$m6|U|XpF7E*n}xg<7B&EgA+M%ndMwn z=WNwpnz(T^is_tH@!O4C4UX{H)nuXr@1&GUq1@^c)?_7Cl?aJrRnKrUH}<5cXXU?W zomTCsH)~Zug&>29sf5T4HxwW_k{g$d9M^*@S91*sjxf*zrNN@uFn2Wyc;&cmfyo_^ z$sxE`7=*!wOVIrp(MVW?NT>u?5LiyR74{j?PMHWGNZ5`t(PSN#9=H?gNrQ-Gt0|PT zuJai_h%+})DUG#8yKsv$GvJTq1eH=JlKq3Nqc4-rM!9Y_r?FPu|5?lP7iW$7B z)wRj253M2M`QX~m6uk$*g|HQ*v3-WJy%KOh+iEb>w#9B3J z2XMGeDES6(00(EB23oY5=Xj~ZMcjk|V#Y;I$3@l1%`#mww&S8WSS3eUtmI}W~$=KO+Q;=?Gg%iK^6LA1+4fvUSy;i@zY zI<*eB%Y(Ly;WA4M8*bWecs$6WBj^Z|R|2dQ8nmk=Bx1nC`8etMP=+J^+6D<*#(J~~ zHojAul5Kbfwyhhy;o_a<>7MrKA1TI7`aMqqB{eML$T2={Scc6RT$eH!Ij+$(sinrX zzB|TanAs)S0YS{oI6yu}K^CWsx>kg^w%Z&>I8dh&zsC^_jdOT4NLqc2K zKQH*d|NAD}31wT!6;dVxIm3fU=nq>#0f6d=V`=3KcxC04W#&y+1ij^U)n#RiSC_nA zje7xP;a*}cW{~KCI~WdEs1R)J!Qj;{g#8JM05^KPCW5vZxP%j*^vV9^gE}~luHplX zeFQ*w1hhDdx3IB;feV*!+4f0qq`N&4x~=x(qNq-E^xUzgis(wFgdiT% zWxpiA6ipFI^i^GwOKgi^?QfIc_2HM<;DROyg1pXaf;56dA%X_F72^5pI{*YQxDZL8 zKjGaUhXctIuqS1KW%!|Gb^XAITGv;70U}_@Z&862)NG7E*u;)xG%%lDXprEc14mv@ z_f>6*pwNB^BwpW6=cajKY>7RbB99#G?*`3U=TW> zmuRBDaBFm9sR+3qmj3FJOPg5@VYh19wkpW|t&>{Orc)_Wm(h_$^~FH-<$jD=2s`Lr zHCabHR)__ryY(vrKjGqa+K`@Kzl~rQcHcPfF-vcy<%5-i$W!RN>QIZrB=0-;gF0BJ zKga}A$b`;m%*T6%!Jvtc+c3|^4JnM(ow{Hi!u3aa%Ol_t!jv`nPJltp-Tdi6#tA9 z!CJM>T)$34X-*DUcP+6L_q_FE||fFD`Bd13KlF;q9R4A)LjpFJb2oGX>*6q=gOQ~y;62e z*|TT<%8C_x#_QFqS+ihOuSDH@cc%zA;C0wxr=NcDRkL6<@j3XQe9B1p-Z97Eav?6L zXt*INuFUdGHQR_N&WPevqhD36!151^ExPz3j4{eMBaJoMcq5KE>bN71J^J_~kUbT=hJMFv^&O7t00}qy1rnY4|-f+VWGt3lo-z%+{$qAbNVe*J$ zk0b(!V{tA5hCMn(nu?nl#)s&xfD`NBh9qaO*!$@(@!dhOO#P8ya19} zOhu(uLpbzO;UHOUW$9O8EmhW8=&p;xtYHybg++Vnsn=e7`K881Y6xbRcyxlN7-Ww@ z=H_ITS@y>un$_`#XN)9*<}CD;hMH=tjlv2jZ^}j+u8{twn{UB^F&tjU9hcmmcsWOx zbbus+3DDTNB8ep2aaRd=bmFlW$DcvM34RhjxC_-}nt4ipK>N4#)&d%6AcF9L$RLCe zN;qMK7GlU@C!J{M;n>@VGq;Hi&Vq|ovoN_g-+lZ2H{gK_J~-ip8-BQu<^Hr&&O1|9 zIZu{YvNJh2>v-cOm|-S!AA7B!$%%iC873Klk$poEdLlE7$3^=+WLKKh~1>q3K{$|K2n9fMZGrNpV zO{dTf(Tvue#MEgonfVMT%+!hmIcOKe*aa=FcEzoA=V)B>k0`!|ApO9HK@BQf*=FIM zwBbT+9C8F8JK>58jm?fAI-@dRaSCN1u91#>BqSp#$w^YOl9r^=JL*x7#!U_$knyqHD*x_V$vs=_{a7RQW%Ed2r zs1)!twJA;&&v?fZm8pcVys$J+EiSMo3Zw@XAh@6{)KgVMAmym-8NmzP<3jaR^^oyh zVImf}LLTCokQ{WReb1tR``||b`OS|d7R(m@JVK~%;h=y1K>6PeUND4noq&KXZ~;_A zqJ=r+0TyN23LPM5sR%xADPuvGNJ4_ae*r8oe4q;-_<*yWp}{Yn3fOYMfI8HMC056 zXHi_v6z`CT#Q+TxuyBPdv>1sKc2Q@Zp^PaIL?H*^hZbe>Tz}Z8*6wI0j$oUkf)<2F zJkpVmxESPyIsr&Ww5=*a4Qzu>w2NcFViw21kuQ8Tr8Q8$aB||IP(UP{bradic zS!54QzT+F6gxoyl5lSv$PDH4rPa4tG3avfHFmV1dozjehC#J4$PrUO}E_c!pUcSJW zhytdgau-$JCG42Uv{a@j<<2iOQ&6EwUcH#tgN}Mso6)0Ht-v{i9K2wh1R2O|ynxPh zCSg|XtO$4W0G=RlAqX8|U;N_7&y`qEBrpl6PWHDDgNkb?0GxpU8_JZ2A}}Oc2!kFt zVG2{cfevo~UIfoVmVC9(B_jm_rxJ#SlLAJiA8cu#UTTpMLZ>{l3{PQvJGwWyvSJvE z7f*efo=1S}8ALV5Y0`02ZfN2)iD;@9-m9qJ%peIzylPf$CQI|Ym~{*D*6CT1ZD^GCp*YqIpsi;jA5EN69yU-1lQ9N8R3 z=f*Ug;TlG$lnYH5Vr|qd)hZt`H#*}27q)t{;k0~bT}4A1e9M^XTnDXceb{*J6dgVB z0TOPKb7d)1p=aPnjC$ttm_^|q?r0}FUz_uw3r*NVr_DmWIJ|}y>o!O$NI_@Zg))c{ z>27ReM(${wG^8<(&2PROo-cX!+rT@XePePAko2*|N^M69iS?Q^Q$ z_2!hnrdcXeg~j3{zL$vpX(irt^5i#I=Ynr$!-Zp~mm~ClNE+n3vhnh3S!p?eQ}~+z zN(;eB3;Vc)w#Q8gMzzDEF3XA}`xLZTG1qyt{4P@XAK*1P5!G>7dsK5%WP~68k zPg)optMH3`Sp#;Hi9RmgtK!kKu^dhC`WomEv}hbWNQS^XW@-~t&r$cIG8gG5?{q|MKEY2b=)?y`DgX)a~m9T^B!9$Ym&^oY#YgrCAn27By2rt|R)M!{HP{x~xj_-ws zVYo?35uaUnS&Vr~@+lwl9m;dvPVF2;^(mhhjK}b7-}ar{v2h!Ud7E1(Px)Qb`IX>W z3=1`-SFli()Nuhh%Ga@_6F|<2d~tyu5TsbN#j<=90=>__NsB|`6HFYOOe~-Rb^r^E z07i~L1pdUX)P_TJ(^o{$4MY$fPzsrWo4uf43BFGSwF$h&dQz?RA3^QpPoc!4*zrLPP=0=wKHX$3SA8 zRp~|+7Dwt#BXxL>bjeP#fk6AGnej%~{$Q$Q|mInV6*@^5I>|(H!k1or%pe zoRNdG&W2NRU>g-BkN@2 zrzAo3bz?7m#S!?K7?+h0babte6CAM#u#jqQUC!7dgoYVK&yltyu#$H089+hq@T=KhaSv_ zE)h?P=y8;2@jVA0Y{nqWC@3VOi{{WV51BEhX(yUM8Z_eei-QC}AcvW5jULr@B(8-oJ^pYro!%4w^@lu3U5Q1;HBZEAT?Xo~>Xt>=Z81a{gXna9~x|`DAwZk|>NtARg3%9TfzwnZj zLke$Fhkez zbA2P=I@jQ4o#A39N>XQaUMHtOL9S{i`SEJHpx>_oE4tarw_GlySmC26pZa*N_<(L2 zd?D#lXuDD?>f%$0A>e*e05<(X3_d(alN- z9UbB!Cgzy%!fnkd-Bd8qrZWexbJKFLWJc}fc*8f~sb#W54L1%9=d(WVGe6IW;@Cr! ztd=IRrYBj6YM5;k@^CeT2@pGQ5aZ^QvWe2<*kGiTVBm~y-0Sh}ZSz?%?I>GAAYY)+ z%*j0{5MbZ%r1W=X5ImakJbIMm0;_mdZa8KBu2elr5Xf-_o*P@t3L0<$8ssrr?D0yR zZb>ktJ{es7Bp`n#C+tGt!{J2rq)Q730Ti^<7MTheECmSy?{}(&C7WO-t5bbV#26Gy zO)jr#H)Sl`hZJ&9ZbWQV5`k9vD;H*La=ewOxO&_LB9p>Ji<>46V$0^w5-+}2KIU1Iy9lt@$fcGgXaDuLoGNkZenWi1=lIx0q8R_n4ud9T0OQu(Sfr_zo@+TwLTEC2L%p6=3 z3|j&x>+sy0;dLySQ86q?EITEB`~gz|wqPfbRTlOx-}qr`tYc`AV{1*C{TeNmtnj5! z3OzPj^${Ib*44zJeyE5defEBY_LzFPBOcyhVu)y;O&PIittI9*#A#{FjnP%`GT^o? zFoSM;Nz$^jJ4fwN#q*a4cm8qPGnGuqs)d7dKRTpGdMuJdbU%qb2(%5eCYNOQHqa?4 zeaV;j`J0Bf5^h*T^H_O2$JgZ`PiAy)|`bz_N@yyj|nI-PDqs58SfylFC&I(hS$ zb3Dg$+$3DPI?Ooxdd>QL&%mwUdakp;RP8zr*!TD-52=XCe)G3Ck?}SidxR$YtPJ=X z8@Tcrr?bzov@gVNL_v%53%m+%wrl%QGo*#1Agf@jAcwnu`VygV#CUa+TQun+)By*M zq!6g&y3YFnO{j>WMZGVsIu@s`)*GNWXIsDh#jjnI0z6$9xsg`}ZnkzIHHcCvVH_!dNcq;Fot4)~ae%ykkXbLtY#&K8%L+(mtGs0q;xo)q z0=tJ`lD3y$bDBN_KpcBU>{&Hp&YUr;CT^iPaox6wTQ<>_rd+lzHnY`iSu>9xL56Jh z?Hf3gCrh3*`HkH>moMLidpAznKbtpk=G3{9XHTC$fd&;ilxR_-N0BB~x|C^Cr%$0q zl{%HGRC4Ovm2+pWUe|f^)`4BeZr!?c>CB~7t2Q0CZQHnUW40_=vRHRxnM#xh5Fj*n zz@Q0?hHzoSU=T+k66MO3D328r88ReC4i=YL%%EJEb7dl*L0=v+gEVOzTo70Jk_3np z*RKA7Kmk&Pc5U0VW%uX-r1fjwC|m${F`W2t6vvS#Ke7A-3FjnAzmT4Th;-?oOXJYK zox5(xNqQs+j-to%;~6qgpn#rz`t|J9pFlxEK62*GNrce9UwVfQm!-pu1?hUwuD%{z z=pm0h^r%gU2a78%x#T$D0KMakv+o4%lISoA+pb8Wu^~eA(8Lpym~05hSZoY3#9)jO zu{&t2(J(ar;6q17AmPLmQ)ZckplYg7<{4!mVT6&w9s@0iCxZZOF(P0@4U9CfOoNLo zx#Yr2)V>6xjWO{k)66mf(W8<|B5Bi2J@kkKPB_yrbId#YTC);YP;sS~KmRVYhqb>qdx?QokZI86sE)GXfi!X9{*O(`bhaf~ms(6&fZ5hf!=c60;4( zEY`G)ZA>^%8_&ly6f)=FpfuEZLCI1^gq5)jX$7)jiW-w4^Pu2nHuE8ScE~gQ}a&))65g`aEfKuP05F;rDu5eq@lHg?2 z2E{FI5sP@7tQLQ<{!6z!C8I@O^rc9rs! zk)B~HB5h+KX>mw3>XM9H)MA*mz*R0ha=eZ#lX=rvhByAE0ZnOA4I zQ`oZ=MyEQZ!OjF}c*X+ZAPJ1Qf)4A`!yo!Eh$$7BbAa}rB)%XsFqMxBykMokKu8EC zjM^5t=*6nBFkxqGm~G6cn>4C%GHkSIB4wmh7|BsbWo1MnGBKz;3Taf`-~}%@F$e+f z3p6P( z$x79^(o(An6{t|xi`2bxQkNQ)K&p|dw}`_W4v9$cma)%Rz)P6Htjn!7VyouG<$3Dj zhVzg&jo-!vF4oiL{MG@EaD+pB>U8dNp&MQ4PM5ki2}U$zlD+wzC0yppW_Rz`mfton z8O!MBKb1rnE+q1eH}cy-7vnD}L5T$ptc-mlSYMJQ3=D4k!hanG8;E%nHz4Ir6-j79 zsAcg!A|si}q(hpQzJP|?(T#RGM53DpM>ojP=}v9dQ!uJfWIyY`5rClq-56-jNnP2fg_i?&YAIZ(E=6zxWZ5NE75B58?8YMD`tchw@8s6rkypDA44YTCDMVaBF+ z`xa4e16|0h&*L8c5ZjCb%n{;GiKrjzoET-L38QJe5C$)VbU0RA@Kd+Q z9x$$ZLsVtq8G)cx56wW^Lf#IMjSRMa>FaM|EhrtI%!xz{iWZErB_uMDh&mJo3=q{a zm-*)97^MoV`LJBVL*>kD$)(r17p_1QqE3lfSKyf# znDu&RWw$9$Nop3fyQQU`5u{y=sv5upo@<#mt6YqN6}eyrFP!l%UJMggsB%lEc?)>r zzC|v(8#OQCQoUfGMY+ccr>r3#dC51as2=ghW|s zK30T66rw|5{p%M9!GiwXH#?8f@D)O+QJJ36L%R>DMn(7_lA6@1LS*+4AN=4PMA$SW zu<&s#j5NgzVTU`+fQ6vi9-O)7J@)CM3RMbJBck{+BfyMw=yQTGCVb&YD`5-9b7L;H zhXWHje!C~i!jH3TjQgdbiN5A*yei3Ju-K$cmQE53VGdkSX}}Cl%7j7kfCW1tl#anq zjv-M#XHgvGQH(@XghW(~#FmZ(>}Chh{%lfUiBfP$Ac$cWXn_|7A{lIqBx`WqTu#^PxpK; z6mw6bsz_#tulSDR{zxqOqJ#NnKxDMT6r-;Prmy;tL;frTKD19gx(|%LFJ!`xi26f7 z&hG`B!v#vC=WNJ};7^Ni(TD0UrPytS#K_(DYl5!v|F|juMQ-HY2r&#$NyPCLUSRNYbXJL!%8pS+F-FbT)ZJ1zF`jEK@XL3DVee< zB~KdKVI0Q6C~=Lu1TlNO1%3`OU37<-YM~Jy5e?Kp5(UFBD)AE0@-qhJ^(v$GCZjQM z5BTIV<3thT=2C=YCfy{&{-zQ6u8}mXqci|c7Gn`!lN7D#zUDOcq-eN)7Fde*sB#tE}oH9c-bVE6G zoZ3k$jgr>_aeLSyE92)7$t4lZD<=Qx4Sv6 zMjneZsgf!=mD2+u2{oK^1RnttBDHa*GX+$HSBx?oq+uo=uS2c%TCp`-ry>}nAsW2Z8^FOEMpS#gVjc={yY7d#7I73> z)HkCb$@0akXq5GAR7$8rEk{E;ip&#%ls9~jF6|OXPf@`b?EV}KN&ZRZr_6(fCSwMW zqsBxt`}VCdXC?!#)MxmEGPkr#Q9v`ffXFZeI6!ka%yj;K$TX*sKAaC>XXxW#YREWF zP6x0~3kpy5bWnUyvs|GP5+zXmrBH$PNt(b*mh(7`z#i|>#op{up;J05wK^{~JM+K_ zfG$hCKxyJ+>B6%U?2MEqa#S_T&&)1UDCKoJ2UXP*RB(q#3PM(y0e5OuA@=Dj@xoW% zswRnbw|;9`KMmC4B2|1VSszq)z7QvM1scG?Td7rB8MkpA_i=kd8l*KEz5yD*Rb0V^ zT+7v5b?tu0B`zl7KS6;Kdb8UeBVWYkEa%l;*OGPdb&U44{xQG@j!BKGKiG z^p9nS*W+T=HIEF*XqGnV=&Yb@P<}86AK|RV;J>hJP=gjqhW0oa)eDZ+9>WAR-V6^I zD>|hU6Xq-+EtSofE)TrG3aHjmgr6BQ)*Q}GNITwx+5B|ZJjl{Q6`M2mIQGb81O zNPuT0A*~kZE*CU`72YKl`iLA`ffLB_M|j~T=K?1O_wZEZ@B-H@4(}&*=OvSY7b2|; zxdCyzi5Nexc-M&Q!D z1_?BP6ZT&7Yt-^yaTLQkM0R3P+>3p;-cm^9t(8`aM^zGH))C19v?|?CMW6^L4XlO6hvX^3V0x~Q&Sn3=N2*# zA|Vex^#(unf{mGHPa%U%M+rGNQ#`oPj-gQsVuWioc;+I7b3rCum=^p9XYt4sPDNOE zIEU$(4IR{nMNMwD;U(Yd6?maP)dh*8L5cpMxS$RCpeaum{-G3fp&4$$SFEQ*=b>A) zSS;pg@j!PX!Wa~C#BNX-bsIxQA<9cGv5i&ajbB%eMI=P(*k64#VDB=IiPZi^EExS5 zNdb9H1(}8l8GDa+-zqjfhNzJz(?7U$zckYew&VTk?~-v*dC|jUO;e}W6bDvnqOwtx zt8vImIRGI8UdIZ3^K>s(j(tzTf~yV?Xao(eUud%>7pK@@gVo5Qx7HRYROCxnHB81R#qa;NQ9GI+`h zBUpG8sO%Nk8D|NFPvcph>v^?}c>WDXO`l(q9N%geP9-i%B8kHRp>=z=d3(AhK^Ja; z8^+}>Cw!afnD^jH<$n|WP!WxDtHWM-z225C6Pkj<1mOm=&D=mdmX{3LT2jgdZr zUOM|rI>iNoj(VaQc2Mi?X`iJwbc-xSEV6f`=1Gd7nMAB&gs0)&u0=C`kK%Mez5W@>S3FzlDXC5n&#pzlEg30rn(6OF5M`*=WDyW zn;XBoItFBdps2jfyF0M4WquE(PO+xn+h9>MHML{D*{#0S8$n9Srz0+^CH!RnJHUx( zz_}FtoC7rA?F4j}WLx0X_pQGt+`TK@8a>Y9xcWq1(=j?6MhWA?6G45;`g0t+!~=tj z^QL|eJUDltm#Y>_V!V+g$&-eeuTP;;cN~-2Y=H~gJK>~LC4ri^wof{hO*H4SEZ7y& zamhU^QtS+zD6iVTt#g)&?)hp&9xw}}1M&PIbX%5;-I?}&p z(ji$pI1|$W*1mgS)4M~aJiTK;J=8;8$V~nIR_u)Oo7Gz#*hy338X4d+wo6HXkYtE7 z{Eb3J6T(9bKPbGBjlI~3U5o&b81bTsq4Q}4@^Q2?lfvM~Bd6VMFoF@APaLb>F(2PWOW#)~b(DOx!kJNO$4I)N zZ3&)0QGfo+xg0%Hso}wV(e#nBX%qp5db7yGhPRzW06q_nqPvs+iZx;w#vJ z-LCLrOLmt)Bj{KI^g6cS)vUm%9F zC{QGP_>hFei4t+lz=1KNMvXH%Uc@*fiO3{FN}3#UB?_9AEYYZWsfHz=M2Q%2y4fmc zt5cN#0m2hgO_Y*Ehy)pdG-;3^MvE@x!o`ahE@`S(l{ytFRH;?*c+~@T(IQM_F;zN? z_H3lJk-+}W$&*J9+%Q(Gc!7&IPp3|(Q0?v8*A*&Bf>F6TjJVga#f%#_R@S%|F2~B0 zJv(OknP$zrc)f}R8kA_zq+`80-D;LATfdGyyY}teyLNAbGS=jy<5@LPJ6d=|Yi4 z3jPUEl1eT~LP8r&v}BSv^ne2jG9HNn2U>2)r9fOBbkIU4Pz2?e6NNCtL>>*%QIjWR znPr!9b_ph!2@NDBlVnoVCJ7sX#L-6!4@_{u1|N)Y!U+2j$}RV;v(7y5{sgEW zfDjXCAaK8NV<0ySGLsB5pm74pgg#k#2ZkB0v@#kUdKjWpL3C(ni8-LCB8x800HcgH z{_JC*J?04HkV6`YWkXRe9g&+)O2o92R9e}?kuJ>n<(G95B<7w_QxpOTX`Zm=5HGk1 zXPj8CEzs6?W{{_nUaOg=pMP%T;*KGaL}G`D{*4A7kI?k!PP0yW2OciNycDM?c)FCR zq3#fsR8*O2d8(>*)oNH{p>=qzwnl=NTzb$|mtAq`0c<3D@ilDhfJK|Evdd!DZ0?XL zGcC2Msg~Jhyg&1bXAvHMytk-@D{gD5)tm0Qw6VLc#^S&$j=a&!i<>$A-Y^#qzY32} ze);B~kAC{+(9LQk4A8+Ff&%DAEoEY56P==vIz3gQ% zgAt}`W|EtwhzKic(MLMuv!B^0M;YOfMtoE>qcsF+By>pBq6DRcD2ErbF!Tp|S$(vZ3FscsdyTL(Mn zkr|XoM2G?$qaJ~io511}WD(09)BuJnq=Z8e`0KUdf>DWz2fndsjEKN1SI=!!ozopT5FZ5B3Rjn8YlmF^`GN zWQNBNrLaXays-{&1jv5>f!Kh&;W2aQCSSgcC2j;5Ax_X_oEK^tOQN90D=aPw4Rjy` zPa?sbSr8*biP4N^gaRPI5D58{(Vql`5fBDRgg_!8mQJXrCaLg*Eu@;&WJo81w2f;x zTnL$Z*rbb+peSs@2%P4G0XZG9iA*Hv6NU7(x%H`vRdQn4yD_~AIAqupJ zC5>n>2|J5|v!p!kQ#&ZC5sVzR$(F;NoMKpcWiye?=%A$xGu(9;jHT`IB^=Bn3Aoh{9U~^vr1OV#+9!0 zrh*PcOY7lMIJT+AE!*Xd?}cL=?@*>?FN@jCYId`n-Hsx1VT);`Lz?X9&&38rAOd-8 z8{+6*Hdl)q;}}nrjHoRm_<-9xXb223*${?ewiKqstY$gL0Z>t-GmMxdBUUQtK;Psi zyW!1)Q@YZS9zsy(8fj@JgoqS>_>d=J*C8IAQbV#f5UizFq)J=}1Dv=+v?XbUnIZy} za1f*xT&)Ey;6Q&NI;SLtNg)=Uo0*gps4TKb{%0{ILP-_~lL&tSCM|h{h0TIhNdO`b zcu3<=8XVK$ide))#fphb#Z;Af1rV?DoLbZpiPnuStE=1UAioNjUd#?Luy93>6O-0u zIcqYw;2mGt$~(qrhA}yrg()z>2~4!&QH9eEH%7Ii?#}dUG4a*o9|WF~CuRqPDqB znaa$0PA~xXQ^Pe>agSR;mzE?6_dVKk&6K8pQWr;WLJ|}SYEbUV?Ym`C2t<@7BNUid zZC+Y0d$G1e2IyMXPArqD69P2{6JenKM%og8{|jIl3YfqrGcqbX~R>u%EuRDHO98Ws*Sa}Rk>&tkd=rX zVtD-T+M)G!i;31TfJeK7H|8?CAjU2tG(Z9-!on7g@~kf2yjfs*%UafQTfIz-kjF+g zi|u9hSbJCm9d?$jWvy<`ygzLUha1cA#$@S?^PKB^=RC)3C_-_cZ|FI-1tNN%V=3s> z-o`k)psS)GvFHi$p+YQU35BB|=@13Cfy6Z~1(7??O?R3|pO#3dr<=Ec_Mp^CJGBUr z)?H`&@Vg5^fept?HCg|N)<*u^5(FTiHCt~f*Smi25)aJwCBdk<#nuvkL#idn|2^4( zcN?>z=4@zpMB3CILKG%!?cT1$LfU==R{ofm!t6>lOQYxXufP58kN^0TLKnCA2ET-EO&DVi>3~{C z#~^}6ScE29p%fvY0CkKub-INHkj64u*Lsu|B3)NpC{jT#vT4jkc5O!yqLy~m#dh75 zU2rFN-oq1#Yq!P$lNV8PLU_9dUr=IdD?~OV@j^vnY%KtJ93XjsM|nmh zV0TwwD1><@pm{UEdDQj=RS0?%#u63+2o`2k7`W@59~6;35p zQnh=clY46sNNUl0`36;a0DQ;N7rj7yKXw?%hkVYbeB{D>lhG`yaSXz948=eT4|jc! zQWju@31mcw-bw5VF#Fb&gyi-V?s#!(Cd^a|CN3AL375mm3L<&KVO@nz+$RZZ8X<|qs>6A{3GJzP<2HExqi_jL4 z;1y}GM&f1?FjZd{xQu4V1!#C;TCs+DP7v`f3@{p74)Tki6bqwdTepQ_Qm6Kt z3Z;1+v}q6ok=B-lq_+rwfK?kgop)NDK^h{OlWr%5Ayn~Ho%3#S(UNQNlD496T7_?S zh=+s`aFcPL0w)>CVtmnZpgz`o`PnR&!AS!o8kqoz+GlzMiV0PPlRkE2u(65s!l0W- z9B9Tap*W!)LzjXUStyF3_Yn@|5TeJ5tjVgZ=MfCh;7s5EttUz#@L){>0{$`JP?yWF z3=YDrF{&Hj6d~g@A;rj}637zCSeQUcZqAqkC!&};<5C?_jd90PFEyFl7@AL-nGhk5 zbXTRl`GV&tntLZwe#fN|bwmOIrd&ghnQ1{U^k4k7rW4zb5@4}hii8#mQE<973t>b1 z%7Rc>ryy|>3)CTbiiK!UAwJ=!m9Pjdy9gNq1|o3h zo-YY3k;)dPQ>m7k2a-?;u5b)D36z6)EIkH@kc1eGku1$O8IojVs^Oo0X$qbsag&H) zX>kg%Ixf$bpygL+ZlxI^=ViK-s}ahpiIpG}YD!7A7xPt3G z&0q_WRiXn3G5%q#>wrymxeOuGt-HYu$v_&W5DR`;6FHh&=URal*c9r@QI-}&9JnGM zp}O+=m@If-_L>o~c7pl}rSmlrn<+*Ax|&R6LTy(h)kT`?1py7frNj$(5>-)FT2TqX z5DuX<4$&e*fTaC(Y-(DY6=0jTDFGN8kQxhMOZbAl>%2bXB$C-dBas9q%OO`#g=)~g zE1?Ej=o4ZQw0f`-=ro*KWRF_}Go-?^SiuGE<|^sARk>#f2aLdAC00ed7B?0a-6o!Z z6=I0E? zK@7ACx6jaJfWmaW*4ZM)Ko2#lhDs@zsGNCJyTxYsO0F5XDuSPnru4}$(=e)H0q^stc zOC*j~%DZxU0>2w;G}r*f%Z|odnr$PG?KNJd_7EPCU;O2GH(Y8rNEuQz@(G3V8LP$TnR!+J865t7##k56zsIH@Sc)H!M#I_gi}B$oWio= zhoK6e)*Qlq6>>9N3^9DeajV0sS+EF;0|F2ITo3=;!~reP z1AQI3V9*Dx3&EgSxzG&Fpsn7(xDzuE*4m=E*saVk4H%t^7M%=AK{Q77=adLt-%H@kNHYrsY(V9L`}s=RPxnSlHwf;`BC9FPs5 zH2~|I4M7kjkO5QVnEPdHYFf#b%%+&kjuv~dx#_*iwuIN^5WqRd=&MF1`vs>gk)nqN zsh2qOy9i#voK=XwuvyC`%ONX~%ew3ZY5uTc?^eGN9Am?Lz(h;Tl8_g^$C7{q7`W3r z@@dTjw-{(8lsEZrd=tvs)xoGSuo=)J9#%Nxhm}b5aH2)bZsaXzE}7 z<&W2E)mM!HnG6A1t<{sK)f@ZO{z?ue zPV-A~pA&D+`EO%1E2j;gYHQ9RS7^K7R&A9T!6Uc6VYj1*O{vwlL^ptbo7?sCAOGy< z^`H;`9O!=z(8O)%hfaSwtQ@{dmnaIkemh#FRZMIU3eBJicF7H?)z5SJXCA|?9i804 zs>S1-48SOi=*_a~?PyTZ-dr%cDD7Y*@{IDmGmPn&KjMu#-6T}=x*jx|H{IU|xzhno z>;+-qS!!PFbwmq3$i+MU$h(O{2k|BaVRukc;j>x28BWRATh*0}$sYdUAfDBn{Jkaq zjZibwMtTuFu;OL?c~enQ85cy(Ixi{M zNS=F3o6I#9+A(GrjLlZ$%&C#BER%tgvT4x9d-x4+5_pAPEGEyW$}ARX;==Uo%2UXktH>aUK{h`E8N>(Z=?>tzQu zy#7-A4eY@_cK}Z80dDMiuKr}{?w&fBF#pY@S<~iCoH=#w1c74K>t2YZo@c;ymFTS{fMjVomO*-jvAYzCaXpAC?FM9lOG}5^6 z;!7{A5EINV^;pErJoHdg4@o46L=r;`u>;OH>x>i5Jn~#~&ouQQG7>;ham5u}2qNat zS!RLd7)BZGr58tWVH6iiaT)X&Tprc57g2~z#IrW=So6&`+sp${RNss7s@7ch#P*r@vGTp*ZJm~ zvHbP7EnA?0CK`ryxuqF)YZ7D>#{8YgB7QU8W}29Tc{bWwyG^&mT+mKEs--rL zg6op&t~>I`%b;uXvQy8w9!eC@KD0rkkAwZ{Gx5I_Q8*8~7m-7u!4V;ZP{Io_#Bjq6 zAAAsS2L&&YL=^qQ&g$!$j?QTuW~}kXA#}`AOCZqz0}VVnU$b*OuK50f#w412QfL;4 z$RRiaEC zP)cD{6c<>aC-hNKL_uW{QQK%k%{)t$Bu_w3byE^l42eV(SYDlVeqU>~e^+JdFKGX2 zo~b5TWo@Gy;@Cz;%pnm20*oRCWZ*SPp@U?C;k>yZL7zU0b zej^&;U|2M6@x)s=Y$~gmL=`9DhjOvP8PnKCH4w2phN-$MKU=? zI~vl67Rjnntp(W`5e51apYTXBIb9o%f8Hh^`KV|(j2n@NI@ACVg@{A=IUL&J(;xS! z2L&!@0WW(gqg}oS1Mkt0;2zYs3M4?8%dCI|Fkqnw-QWfw5JEMr2?7S;4LgOt?V}ofg}nRk9Y(oK0`i>mO-a;aMMHEBntDfPf&v*YEg*_KU&dBq_D`JGDNy7 zUk%G3{5uFl1}G5({za=6$q2v9;T3KKF^paD*8?Bu5s|!uB=%VA1+#TQ3${b9?Qln3 z>v|8mx+8^q!E9(%zq+^I_ z8Q8$kQp9g43}kSz#VtZ{+E56hT!(lCz7PTtFpkw5Wo$-VY?}*=AgMJ3VMmfhLr^At zd7TlN5|rQ(C342Y0P!deKB#n$H>F0RSjy5vvlLN@8ejnX&^MRr>17M5*@7fEM?ECs z5a0qQxMd~)0SHiLg`PQ~Xi9SnQrLnLq#y)oVpBo$wGRaZw98!**qYTG=Qte~oph@6 z3TjBw7sgPBB*l|UZQw#0yfBA_5>iP^Djjg31T>)C>@|Qi0uOj_P%kuLObb<$aMk2f zLqxO_cA%&sF1k^S2CsO+yA%5cMXTmH&!i|#sUtp`JXg?a7sM#Wp#)+pSYYC1H_eky z{cMPy`ZTB@g)^ZAb!b;~4_0xG754r_`YT`Uk08ZLNU|u~z^!7$9024rW;MpIjhK~! zZM9&w>e0b^T<{(CNUL1oY7e~zR@Sqob**jP*T_DD7PLrNYi(GvUo&>Fj@@DZUTfLP z9uT$^8H{Glau$PmBeZULOEQ+R7k6obUaO6TR=SvM0*Y0PAG2*PaJ!Y=Dn^E}Foh}P z*w9753=d$Cr*Wejh1M`PXU~m-jfNo5-1yVFhwNuRw}!OkP_mMj3~weGG#st$*c)NAD>*%C`Wlr8f6ucbmvnor_@eg)@a@14TwdgDGxoZMEqv43&0a2@Fk62 zFW9WoH$zI!f)_kN06$ZjdIk>~)hU zgCb>D0k#cA_Up#-Vls`@;s3(AuO5OwSzm32ztUm;XlJZ12PpaUD$ zKn46GfhmWmg<_mx{^^L2y&jr|#;C2h5Scbgw_m#qPT&OL0w2(511>>>ds8x;>7&<( zf&@!~fr5>HvM%WWj_!h_gj)_s60b-iuM>2*P0~2TkvQ`RrS`hG@Q|;!;W+I0xDm+@ zk>fA^s-^qjk5qb(s$mdtBB#h%uwil!2Q#J$NdTN%CJNg*Xo@B!06Hbuf}gvAmK!k= z39yVyF{)WQrXw2{Ij0zN5*)FS8lyU@0}?Pu13C0DFtL#&fVnd?GU*7r5f}jrbPa@C_t+dN$4^!vnY+)lREN@yknD}Vzfj7JWV8qU^yvNh$uHpJnX3z zz_W~3V3|bzNX1V91U)!JE_+4H6SU1Uv(M`uQSdy`b2M5Jh~*I$U^zY1OSaewBZHx~ zW%#~I<1~Khp^G@Hv=Ry2gR4{nzTkUCY8eT4D2H;m2X`O`<@-i(3`cR~t3il`$v_!5 zdLzan83kNN$>6?X3%`Bgimd=3h$tg20zgh-g-AWIB0$D)i^)igl4(a%bU-yZlL!O@2?P=~a2(U5C{Pokq#3?5c9COg_ESMAptSeC6Ajg^@>6EnnCek0Qf48j5C}1 zLa+WIWE&o&kCD@_5ILN-S(~X;k(Cpt=I8;LBPLlYrei`T3yHA4i4YLT!YteZE&RD^ zDv|u)rZCJTYf=K2YcU{b8tGspsH+^VQ<56XF(276JfK4^ARVXE!$$fipy|V$0i-?( z#Da<)D*&@o$vilr6FX_dStK4ck;CGl6U2)sL4lRQ!XaDX6-GHc)I^0|z@A-v24XNp zNB{*!V1z&51J7thIC(`bi^Vq~mCfs(Hc1}yA(BdX6F4iX>Y+_aX_RA-v`MQ59fCbC zQWjwhKYkgbW+_^d{26p3(XhjM^5br?te-2PAg z?9Zn-8QelgQxLY?l8lZl(8$dBADUf?y$-~>#FH<$qpdAfri>5=FXDAXVV zLL!|R__yimCr5%37^O)^r3}a~tMtK= zqf56roTM{CA?N{dDjQ-drkX>`w4}l+q=6ey0zA#aEi5{t1H)9BQWpTHGHg@7 z5w7Dp8v6nsK?4Z{1A0n>)6l2J6q=twvLG0N6qw9>JE%cy0x;1#iwd;e{^6ZEk*Llr zl}MDtF`I)^MLdv-GaMR7PIOIIV6)hqP3xHj+cZT`_$}Z{1UlNgiGoE^)x1OmDxsRi zxDq`ArUL7wYBGvZxQf9F$bvWsjO0fbebE`Rm)&YC z%b*1trKy+sltj3LJKzHzS=1ddjVKrm*AdJbD;?RGk`P?luVYgFQF_wqfKu;b4yz$b z0r{j8!CD!7+V^V86gixztS?+LkGiyvt2|pET${rw!WLjtv0N}Fq&W#dfDM^2Ieo$e zSW9Y>rYlqeCfLFoV6pVd0JLcU6Z=zMs+uDNg5fA9$App>fDRf#)ErTRI-oIjQiD5? zz^vnf*>K!KeM}_l!x5Ow$~34?9mLr20*xw_L@bpoi@P>S6;_qRczZkNl!P;Ll~ZU1 zgRL`z5D23B#MpdJTxdX3V3|x{p8@H25S%oQn*(E z9$*5#HAHxWLpTHnJOxuQ#aEz(SkT0gss_O;hJ;Pf9a7Nj#K=w~PYERmWe_|ZvW$VO z&J+z_5SA265ry>810O35D`*1O*a3ng0UQVdFCYSiN`vLgga^Kr@AaRE?HKblnRKL~ znJtEzy;+=HMLy_RKA02Ua5{vEJ_Fwg=nbA+K71WqulR>+=r1{UmehLX`O z#fZO?v7wvhHC|(4ngXuf^3!ziC4BRc0WN9)mxb2U^onx8vrIr(dabg_e01gr`)W}6ARgNw-7=s?U+{^6} z)9?Z{G{aW5RLIoSKLSL{1l7{89WNlC&6Gt#GX&*~1osK%Gr7AQU4%#I*9OD{gPeu( zHpP?K$YwZSd?9H|S!X!Wvh2nFga%{;ZH5F$;Dc49BTL*o%`+bsejjtLgaAhsb@pk` zb2Lneo?|E}fzWC2T?m6n2**m|0yWqj@}FO1*<|F-)f?9b3Jeinhk1a9g@(_N7?_7X zi)K)wV6X;X*aVH9aT>4ja6#ZbI0Q%lu0^N>gEYup3-V&fL>!vc+)`-<-Olpt=L@b! zW^lJwNR)S;>6JAUP7Gd81Vu-H12^dMF2{l*Faa_D0W$vqEPw;w2_8vBgDQXm5Su0% zpaL0?ft$#LR_NVRc-Cp9&VsNZuSS_Sa$p*@40qGB2290AIBU+}&9&~4xvm2=u(1yH z&<_=z8^OaO%j9I5@T?@~CqDeMzD>_|%N!!;4chB)~6B*+G^$-eB${^ON% z+Z%9@!f7T95N**W?b5!G7I@?;Y-^C(9%^gogB3Xn~DWAP_-9!}d0Vk5~Nfkr$ zyrRMsNO|WeABb7?^REsz$HG2hD^C;!VGFIaa9x%Uw+Im*@pTySd8mi^eCV~PttZlj zV7LZfuyLXwNzydeGJec8(LD+*ncmpqYK^Q4grAm=dNs@$W z;>3sy7wTEWuwkV~9v?Ac#EDa)k*`j^qQz?$F=EcT!4%icT)K7ZqCxYvELkyPxNxEB z(M37Pp*9a zIrHYupF@u>oi`;@uuO4!)#}uChp=F^3QueNu32|?mCu_v@#1Rh6-SmVU$V1p%_ShxX)B(98wNg|9uGRPrx zyuk(=Osug68=6p}TP32n;?-KN9Mg-9a^YfLDdB5oMHQP$^{}bYO`k8Dnrc1{qL50fZD{0#POqF1P?h4>+KJCJJw&kb#^TP;i2s zc9M{%o_pST!kcpfN+$(@&Pjoxb@qAZp^Gk>0SAvl8tJ2Gx`4u?fi{q-rVaiSU;qLV zKmdURph6(2si(G(Y71zl+JmbYzzVAb7)XGCt+yhOfUXHt(5tV%`U(OFHxPRR6UP=? zY^rERx@o4RI?6$%F1Xr55>+HoZ4W5)&}W_@fExk{AIMYTBa+i$u5{`*1>DG;1O5JBvau);<#?1dKs9fSuS23s7}IOE`Si!I5#GK(ugIpUyEN9Cau zAb=>Tq(_*L6^R}dTUC`qTzwUmSYu6HRYYjb$ly-nPdVI0)zx52snsAP(nm|=tCb4aiuIlkPcL$ z5)`CRK`BT<2}%%x5GVx%Zn&iGE@%M>M ztQ(~2QXFuWoH&4}HCfA5U#P+rhOn+`c?*T(I#;>qI0GCcVF-G>!WYyKFM8eU3q7cU znSjtQ9Mmyg0XtU?MlgbdB@B`aGlCZ=X^@FMEt67nh$u2P5w(0p6sH*FNWz1XSaicO zm;p^a>M@U2!ZMcnXr(@CS&z?nV;aoR&MCBF2t$;?5OWyj(XM&9kK~JO~#jDXoemOKrD9;W$g%BLd;L|zS z6nk08-c|GfhA3R23U%ni1i9o#G%$q^>qFWi7Qr;Nz(Orp;|Tuv*Ht8ihetpHV97)# zA_N{{WQSPmS{cZ|EIn|7;+v}!grGqofH74c>=&FyNWwai-~<_vBcJZH!a)`4P%ng` z3B5%_8Xgf+ZITwDHs!+x0MS#VBBH2_7+L;FC2?6ybioN?H7h9QYKpq5;s!PltSbsj zi(6#E4K|3^Vnr$g5OCHG>13yVT?-0pOhOxzfP*!~aZli~qaE?6$9DDcsds=Ez6x2U zLk6r|dPG+vABnIXNK#=tXo45GaLG(UjV#X;MOwNB7EI{R6ermWFOsp0l5zuZ@Q`IK z`|IETx^f=jXvQ{b@d`{V0xNm&X|5Ismt4@Zm2BNov#hiru_%X}tBqPbPBR5Qdg zf=f1Q1UwyuM|IuAsESorw%3hQG4E-~V(PX|xy8ht@!at|z2S{?cq3*(=7x`pytrGG zA{x@L21A?dO)ffBqKjNxzE~o z@w>WUv?VT;OH2h+XJz!l6`lBHh9mLI<>}N8)%0c1GMopeA*2m$@B$drr-nP+!F=;d z1f=hPOg&7cYZ#syeDT-mPk%M6Bl#ZyAyKlCQG%_b7)9s=L5D-U!PRb!ARWM0>n(^c zgI?^Q5YF^LIJF7bCkX5b083as85RYPRqP8FMQq0|`%s_dfTb?Q!yj_0072X=x2GMc zRf$%IZZa*cP@CFaEuf0Pg6*(mdn^qq;fuN5?WPK4r!^fH2vFeCy54w#Zrurm;F=@A zfcsoN`cYogt*&*kyT~D!{)>?#Aeh3!JKiQVVIb$#x*?0pS z_q548Uisht_Cp{2u!qe15%XErgB{Um1~Xz|ib^C{m_7|d8Rk&br&U$L9eITI1wK1{0Bf>hlPO-^tzTfL(Flj z8++DiA7<#XWz1LxGq!=ZZrJ5N1$wjEi9wjW6yqfG`x!;D*@@dbh$s{Z8c~Ge`$9`X z&@W=TrSFgw2m_-2!bStcF(t-)Jb*#b(np%oK(@3{hxHXeGQ|K*U9wdlLJ)$WgeE|d z`Iy3_8^ROYjY!Oq>8b%ty)M(6+yp1zlEB!Yjo4-z3JF1*|9KmvRMxZj5D;x! zsEA4f3=yhuKp06&1gZ)MNQ*T;ESZKQ56uPP?E!7;Uzto#dKUlw3k+mQm1jp{KQl>w39r6M$55-&5VOPl*1dop*qN+ zJIG-j-oySq*aOYo5J@vp%pkxK_FeyJrgxS9fvWZdR>GlM1m+7!p~6R z?VW{B2jdL*N}=F&g7BB4aWt2PN==Ez|;Fz>apzf?gEE+$cz#!Obda z-a4&EjkQPVjh=ns-F_&B`W?e}sKqwbg-j^}W297?{RJ&(2kc}OCDz_V^aAeb<4{OQ zhC~P)*a1-xg&|-MMjQ<$L6|WelcM2)q7?)d4ur#SK^v^k`c&8>0Ky_XLZ_9|eDOsl zaQ+`8FalYD0xP7N_>BT0gn~2hf-<6(8Ur24T>)^Z=y@TcQ9V30Oc- z<{t$x00a2n{{afH9hM8h;G9HO8QqYhWC~|NfB{$~t{6a7?pCQh3aqpM2Y?X>gjT9p zU<+UXrBE9OV1NdqmaZ(o0we%j#$^>@0J{mx4S)a*WRVteQ5PkPS$?HwS=*)5ADY~cb0`DRDwigj3jgdT5L>OpaLYG zj{d;sC!T_QN*(;b&rfI>MrmG5wc<;{1m3iVf3}_8U`E}ULoJe&WZZ`@irz8+V>rB_ zGD_%#QfP$|o+sGo(j(%z~V0-k8-GimIJ{v`j9H9y4^~GbqDa z$fVfB4VoQBNSQ}gQ3Nh9h%02>MBttyWJrc!h(BhCK;E7!NCG6H*V83}PL7EXv`G#LU~=h+xCCWT8cIw2}+d7G?62DlBWx5Me@sYc@%4eDhzl7$wj3#NG=4g(9Y9^tZbx-K4R#(xCT*d3a#cex9o31acy_`=Xbke`V|r4AGqwH?SHaiFMU#EnC)aTu zj^qeT!4!YSX(|Qif3mC@3aBjZ&3uSMNhK&a_M$J2-s0#2ID|txSZL4+?a&gfFqf}gcvCnU;%_A>GiZ1d!mKY9mOz(!QNT{-x`4x0In4@S{qba8z9r+D#`zdDVfUG zZJOH1KorVUhUq=SU&I0{i~=jXLNSa7k)+sLV4_^mNS;l^wGa}kFcF-{(6Je6qB0wy z02>W0mZY8v?Hb^t6cGcWDimd^54oUPrpgy73$cjhSN{H~tY{#rCO`+qW%Fuauf)o$ z!j^1lQL*SH6KK&B(AEub&{y72wM`1@a?k`VP#wq>2XPRZ7%K@NE3#H5v%1T=T!A6E z%9~(U6ke-o=I^$G*J_g2w}$J&0wTx0$ozDf{`^Pep<*k>=`5C1k?GTFghMp6Mg_Bm za2lt-`YSB4!#bD)i!cHoFdw)A?zd{EB2FyCB3RapXNb9Qh+#~|?wL^(%_7`ERUPip zd|E?3ZzO;3hJJ;?y@nKqRvU|I_e93mhFlW2Mm$!?k-kl>ZW#O@CvW8s0y{c ziCUIhYBBGs@`|g@%34k@tx_*-aS;vJfDLRf_pYG#-Vo{ruLj{D9qd6J3<8zt8v44) zu;ob)uy6YU*ZVSSzkO!?-fwAMYqo0sD;0L@bv{fQL>M3@L>G=C+06nt1_rkS2d9HM2*Myh#R%(x7wl~wc!42K%%N4?#6Ats zRn^2|#h_u#P`R)SV{$@B0w4^omsXWkeJq&zu*m*IF?;Pqsch92aeJ7aWUQT9o1R-c zv3%Ul?byfX?SwBTLoApFCmcgHYSWqMu0>EZauNK12}JUd zCMoWz1u6iAdb+S7?Co!B!4m!iHz)@#qk#bzl=5*;sX{UzAb8(L0*T|1gsF|fA!IJA zz0)?NQeS{V<^l#SjA(f%LyibY$;2N zRtts-0`xZ&X`7}#3s+L03Wk<}N1!>Qz^IIhxq+ZtzGd_Z3p`(u4d{S8<1;-of%al= zJ`2GICQ_^Q69NVzFa2030uE}fJI+4Mo%1g ziC4z8rnnlDCUF(mu~=X1#fDa6%*rf&30aUyd64;yP1^)czk@BY180N|BOK(SS-~cY zc|u%;RJ*WNY-d*^8veN=L{vw_Fxga`M}&j0tsxXeCN(xf9->$C@YNVF{EXOYoA*nd zwq`HJTeo$htM#JGwR~W$?%cKL@j_Oef?QO?-oV3Z=<7I0PGWodr-M2|k-;AD0UF?e z{*YoRs>cIYwu1ZwYM(Xn_@~@#USjBnEyu(w67pQIm^{87F@P6s&(0n^8 zeJ3THxX|qC{`U3J5wR53`Y93^eg5~d@N|oG=nd`%rwZ%Wo!dx$jslY z!_STb2d{%T-1{CtS{ocU7K*vil{pN*a71ip(Xe@&7yd5+l}!a?Kn?{?9fcm0JH)X0 z#3TiuH-t3(up+xcCa$(j61t+B{^=t+qW4Zpr4*X!M|rqHD;xtcFoP}JLNw??FzEj7 z%Yr5Tg!=CTfAB}g9zaE7TbKc787v^iHnfa4K*KVW?S9gYE7E#3xL%s2*O_#OUj*hom2)ibJN3m~=iP4#i{(H$XyR%bBKMv%y|3pPd#O>LXBj}V*WxE{! z#1S}Uv}mzn#fz7N2%B(mn9z$uE@05q8T4lmBv6SsK6=D46DUxWV%4&h&YZbi%aR>B zBnT9%k)uGxqV=j(v01Z@&BEn#C(mQYPPr1*3n@oHP@wd1+5?3P6jQ09AaV6X)~qBb zbfu6XLszg~y@E9hmc!JuYt3?S`xb6ow;AMSXaE6%1Ox>NAn^OwuK~dZ?m}>jp#}bk z7K<0(VBCTOWVa|zWI%ucfnEdzI1@GfEYw-5TtGBu>`771vyK-Ido~ef<^KV1*r)*kX-67TIK#U6$EqgN4KtPVms9l0IF*<)>LPU1k|? zplOB}YzG|_QACw7x6o(0S+|=?9rZMsWU8@H9Co`&6w#r2Ic8s1X7TrwfBy~CT0Wgb z1(i-ZK?Rp_hbs4(LWe>Hjv_3+xCl2iHWSK)`&?KOLpm{YOfpR-vkW`nQ2v=9gA}sD z2rrD_;=h@jXmcVi&`{$KMj&BiqmMk|NFz!p;UyPM(plOTTWS%+rC6i}g{D}F;iVN? zW+6u6L1$5B&{kkMB~XqMk>Wb2rUFjws;p|yJ+j97DlD?-UMnpW*kVhrzTu)PF1zs3 zi!Z z$QBdghT?Fej=JXhVD9!qprd0t>5Q`uJMPwVO1$vOOAq-gyu*Pq_udO3zWMC4Zv_1G z<8KEp0E~zWJlZf2K|3oM`xFRwDMmsHx8ZghaklBuLviM%)Ix4d{^XY16t_{48y5Xf zX=yXE5sq@Sj&z8_B|y3ZAkdJIgB)o~b6`@)oD?!NB`Hf8tP+ySP=+pb5QHaN*+4uP z283`AB3`f(ob-T)Inhacdcsq|t_7$-?TcK7I+rpo#VBV?Y8#fKR1bR?s!WB-QzAm* zE@okhXPhb;s~U$it}zZ*O>q^@(&84m*hMdX5sYCJ;~1OuhC@I?Bc`Z?Bv4T>SnNbo z)0jrLrm+h=`NUAi0NXJj2C;Q1id~rcA*FuEF8Q%5QOMLD+>c2v@mEGOY~$Wp?lql9o_QTiVhHF#`}7 zzEB4>__Aj~O2kJJ0W?qyA{MO31&pQqlnTMcB)ua{+Q&?>my8zoZ_jrsq=E)V0 zzyu~vA&E#_0S#zy0d}Gy6&Lj2op96JTD;N#d)jkud&ApX&>|NM_zj?Lfq*>?2bh6E zz@QQ^3(fo%sxC60kWCYyhOB`CMvVLxnXwfeocof)eQP zhAl8*H!F4MOlP`M>1^S4bodc--k?*L{B#h5*n?2(uu>%eK?+I54tAk0S)1M|Zq#^zZnHGW~5eYkubDR*G#WRQjvG{#x zLl|0LGDftFX8855e@#*U{I@j2#z;mpg2y@-%Z_)1V;=LckvFz+h>HXXd}-i98nhHa z40e`-vz$X1!jQo!k+!s`6W&%!V+?6g#U1X2wzac&iGK|Lcc5$Q)aK$_Bw)CN>ADN0qU1edDcb4y6Z!#sVr2X^1*jWC5{v#3WQn%p$b>PP7)}hYo|=bJEEqI5^A%AT7!o{3mvq>5sr{DS#}V%J@#>JZF}(C zR$|(fI7KCTOT*v>%3%+K*rJ?aAp;xnhs;$u$sdLCcWsIpyLeYJ{Q8X>ZP$ve(#3e$ z+jF1)9Oyw8Iu~J5%~+Jvl&DyeE9~nj6U`z|c+4Xo`*r5N4;Y`o2%=w;Tu`}TI%z@LuMbB<2GzaWy7`))6a0MM4 zU`|v0LqGI)Ku}Eb-+}>0b2Ky{-GJsuBmN4|fCeL_L8dn?8~5MF)Jm|8Oi8^PnBu0V zJ=N)|c`6A0|8&ZJiVj%nrsyE4XbpI9&8ez@Da`B&o&wlNVAwif0xGZqiERXsjRjty zdV+ummhG(2>LChbh3ur-;Hnj7L9Qeu?$%{P2F!gjgcXKskr5m5yktQaG$9svp%!X^7xu)GB!NLhAy2YtQ=smSf&#!sQ4SXc z^n$45CgtlSrBRqckq~8TCWIJ*;=%Yu?byy0Dk;NCX<^jP!$|R8HjKkm3}LQi?@)7PH;$r!lj{}|$0tDmF{>=KW?*^dY0HFW~TEGR|LNX4c0umrJ!fz!tNBlzS zCDl&{G>r{vawIeY6d+*>nnV6jr~Zs;C*MFQw?HW0fDLwM)uKjfc!3vQVHTAk1v%lS zjLN8(LL{%F3dUdzpdhNI0;}FbJ}U44F0cbK5ZTTWKZxK1%}N9vf`#;;tu&6DPT`Hl zZtlv3hpNGdLZJ)a7TP_-QrC#4QL2y63kIZSZG?R(YRL;fQwwfM8^e$^b4&{kZc5}tw>WMM+3@2AFIhT_;n-f=LAsBQa7kJ@nl7SX55f!4btsttFPW1xKG6Pv4 z1=4aY_roF5NKq_;EE)%pg(?S`qmU4*;?3P~&B zyaYj1bJ{l1jdGMv^hHqgNIYecy3U6VkIT6xM7bIzH>;tz=H-Z@%QurK8R(ExxWyZY zvpAyx8lng}ol|2smSa1%yn-Pbz@Zj4g*x{{6PIK=+e#Ce?vC^%C}NQ|$8+Quf+&dQ$K(X|6+;ZT`cprVqQmwz4#|^i3dKON1zTK!P#Pv-kkL%wKpB_O#29pC z9Mqg5p-%LmT(2?5dMtamAPUMhJ&431z~Bz}pqR|2L;(q5i$QBv)S6K5Me*_4@&xuA zW?z^#!ahPs!mr4cg&miqH{KEQ5 zgG+B9b)B^R}!Qazyn^FP1p2IRf7g*k_r%Y4-UZ`&5?KVR0-aX z3D6I9n7}CK^bKs|P>oV3o#UsJsZlF<G`yiqfWTY9~h*IXX2=*~tam!#ymZR43q6 zQFQ{!QdL>iRrv!yB%(-K=s*-C<8~`x#%}efj_T^_89ec7cp+Z+_b)|+Jv|SAc+h~7 zRax21uxKP5Sb`Toff1yY38%G%41`MFl1f6WWysZ*7O!316*RXsT_==6MY!>@@mt?D zUOOlcBsebZ)s2|ePt3)0TZyAVGzMV z-fYegW5r{i7>c7eu*64yu>fN>p{1NcUAE$T^6!*VTmBQ-YxyicS&mj-Tw2?o%2U?(w*&-g5@0>n{ZML7eF^{%0TD`}6hc7| zLSYm}0h@?nc@ecJo8x-1mkd_wI-ECd2J74mcz_GDfRoi0SiuxB;m8(2S`P%t)@p*m=RiX1 zGdFngurbF%7zT!#sEfL&OV~8Mu(hlNepU91X$Vi4mZSM~u3|QabGTDljy9d^V9(Q0 zBIUTaC0@wwVx#Eh&bo;+c8b@Ut=qa|S3wtaVPrFfDWT3zwlf-StQf_3C;qjJ6ZVXA z)&=JWMcUYYn1LIb0UW%c8KwcfjO8J=lL|FpfEt1 z(YyR;U;}Kx2IlXjRObd%BQYdEny0y%tr?p?;B~K=zt@ij)Rddij}B@w0NFs9`xJC( zLpIjHbf~~|)OnpX?Fp#BosaSj6!oX(xfBpV5D+1sN8uF*wJ862ckuLg)GVv6LOvFn zq0d*WJP@LZAXZZd4=Ok=r~b`BB5A50Mj3!RDzA(lQSW?88o?H&>()3$md03D`mkU` z9C87shlvSY=s+-UTB=pcuS5@yWHWub@l@caSzD-$+RTR4b!e^ z{bYuJ9A;&4x}@tjIpyVWn5(-Qh|m~Aj*I4KuB;95tZ{CNSVgVf+R+~!(uJ-Rq`_ic zv54ii72r2y9F9yJ!DE>2WyKRYyC!02d_WUJwjX{&>M1#fE%NK@>Eu62_^x_XJyfeO%_;6%t_)K4KB@01esz&8{P& zYHgjY`z&(VE&z%ynAE#>+2Fxjp`ug*PM6RYzPu5j0Sc-wjJcyMtP#efPjZ4KTT zo?Su^J{)R_KE(647+Oks2bJktsyUFO1*p4w!LkEfd@Re?e9=-Z)e=9%5hC<}R&m^- z*PVQ@#YXkWkG(1CNSPB*FZGB4VG&kcU@!&+xUgU(M*OE}VUtKimVwndL`86LVkh<+05}8Rc-r9VZeJl5{8CuQjr?;EvQM4vA`BowG>?mBQ&>+E10$oXxWCshD zBN#Di*{Eg7#w8$^Sg~THB$ty>QV#htW=x$uux7pD#VgjcXWec-gLSMIELW~@0Tmh) zXfOVtu#&nu*0WbHrc815T2!ghovUrYq`89T3Xrc~QHXUR76pe4Xfrfukb#5Sw{YRM zjq4U|TnG>(=*7!7F9*GQ`RYZ`0D_G#F2`U9)iKJ<;^Bv!geYQ&t^T~i zo`=fZR85LHJyVS{)x;R1IOf!7qdDo|cw>#?^tg>P&%|QNBZ(|xWP?cRfya_<+|foG zX+*i86(NPB0uL&vP{NiaWO*eIV1^09m}Hh|rkP&yP~{R~gfYjPa~LA0A(BK=m4%`J zrKg^#?5QU%xFq%Apo9`b%r1x~s;HvHG)jy!K)NX7q?F3I&83%e!wfUqY`SSOpeC~n zG|`j_&8g6Q15P-snre$K|HLZmthCl@>#exvs_U-2_Uh}ezy>Squ*4Q??6JrutL&}C z=pxNH&`eVdGs{$)411?UB8ee(zyXIs1R*s`E3M4JXrt45>I}M`Cex^={+mv-%#JvE zWA8WKfU^!bs)FN9IskKH4mZ*bA3vp{lLJvVi5Vsa(R0c;MeYB=XBsIZB6hjP=L=`QKK}Jj% z+mzEY#E{I?Peu9Z3M^6qCCX1inGDray;L&c9cX~jMuSmY;T2dwltq?UXQj2)Ty(`v zmtA+^1sDbx^kp|-eGP`#--<1;fMXtP5StCHA+CdOzg=cSXCQ#KKx7|~hS~?KWv-eG zn(F`?X*7h+1RKKHpquH5|7HUfitC`<8rrd;h$6;O!5kZiST`O18?`A%opk1%2MQ&@ zvmu^&g49w=EWGUU3=>-@0pATuxUlvKGvMbRe+T$C0e}LsK%jv{Ab8S(4MG?pg%wt! z=TjRd6_djxlG_T!oRnDZEXTCi;-kfYk&I|`qmK!UUOnnYHJX-*Og!QdM@mwI@Suk$ zfdLOtlG2ox5T-C?sY_nUQb@#frV^5=gB@H`7_{J~Ih0{e6R{JXq{gQ{`AL2;A(Re1 zWGF)|>RgV3REsJ_L`-F>Q=EcVs6<67R6(N|-ssmizHzE%*rF86%Ayvx$i*&t@rz&# zqZo??id>W`9L@MqF+{Z~6FE#ctVuh+gK{1_H&=jc%-K7MUoLkrol5^dSj@U=UjdH8_$maS%%(OcO{@XhIXB z5KL7H1DnF|pf|x#hE)+oHEBpg9PV(3hx(ytcTtQ-Me3A9q?8ej*vEE(Y8lOVVl%46 zv5s-WUd_mDF0eSp-um{pzzwc&hYMUL96}Sf7)Lm~5i%rR>W-6yBPyTzG`k zqhbUpNbwO~)mnzA!rKf%?r4zyYQ{Hm{_Dip+Ty+Mb!0Ap6q0OikZq{3Cn}np$r(#uojMBhg|9`BpvZ3NPGr{ zAza}L%N#=@9uXo_n1Zy$&`DGBv{{rnxQ2ZK6rgPA3V}c*eP}3~IQ3w*EA${N>U2R} zGC+ZLa$qe`j}fxbz=pZ^5t1|S0hhK8;(t7~a*SZ9Ojo!JH+ zAP#YmK<7G(;m%?}f*6KF9Ln5)2{)htW+*cpD$t;#nz_sq262c%jN&`mQH1PTiqhvO z$9UqQ!xqLv9`p2p(R~=j@J4O^9pq?Y6r*5dER4zo>A6P;*0WCt?vo$=KsBmUrK(jK z6d|o@5*3ngg;Rp^v`LakM2vW#vMJUIs%eNr|LY;sD5XFjt@ctq%C?MZVTxBI0uzq_ z1O<`wpaps1B!LZVg3cEvD|9eTU{ZmZc0lhPn9$y3dhD8T=0Xh5$z^oXtY$geSsdnY zP@erPXnWYSn<(SqIH{`wE2V8rfsA8HTw-_)yeT6ROkUNhMJR|%@{*hUc zz#-e*!uP$J&_ph5F<<^r(Iio0Z5X*6CJ|suLbDF@q%)ss;84+|c?-rShNQw2_&G%? zQeoxHV9Ahf*&)OmDZ>%GMR;CT=?FLji4jg>;uE{1NQp>9h!W-S8M`7+eX=n(FE5FR z3}ux95rrXS*6S-oK`UwSLQ24ZHtWr&EopJ`lxM$|vsBs3SiUEg_0r{iBH+t_186`u z00Q`Iv@%q{Gjr}t=hkE<(3FWYaaN#%I@dW1*w2EV^L$Y`bLRLV1t~{?W9Z-Xp*-dp z1szs8J4!18I;4~7rf14&Ivk=8_Ad`5_74hCUwS%O7Yg&`3@DWwf94)apj0S;1GA<* zP(^D}B~>{oSw&d-6b-gQVYdU3%sRrfEb8^IEaJ@TsM^q&=3yzQcA^uDR;CBlT=NaS6w}!48*WU z#ULZjz*>ETbm0|V&;T$@CrAL3FHwYBxs{5rC10$lJZ{%K3RXvBcM6(SCo+_FX;(2b zu|)Ru{tC2EE>IH`CCDMlFn3XLO%i4ZEYmG;U=h2NVP$Y(f`@n;1`WD~1UtVkkP%bDC8Nz=ksHSY7S-j_fE24?!Vw00tH41!=$qL=ZHsHx^3< zdrzh}5YPYu2?4ivWxJPUyN8fqmH>$XP@++M;74e9R*`k)d{00F(&rkju>#kJ1lbpo z*vEa{rvt!&W*{Ygk0WRsb!fR^f5dYLp@1ETum-bpXSah=%F${{FjGFsX*fj(dw_q3 zum_FCQ_GQ*Y!C`exeN!xQn`VEH{g0WKmtrfYxofYFVF!m5P>W(fx31QQQ{yMC?OgC zsCh&oKNJIQkAMk@00<)3NlSqXsHBD+;vsZtm&Aw@sRf6VqCh0mZEhJsUXTY?-~}V` zgXlJdL}&z$6>l9>CQldyl$ipSd6|}pZ!lnQQ>Z2&fit>&cX*5DJR%|V=Fok>?mOcp$B1L1^YMz z`p5-G78ce+7PeOx1v!vE8c%wI0ST#)ScZFt!5B)40E_{Vk-<X`7*vA%$kNVN=V&8@6MUHmL|=;0Kh3 z8&B{a)Z-pf;FI(>9x;hihwwVgF*{$%lru>Q#xqmY^A$bN16Da}4XBkbkf|)tl`k*^ z6qq1-fK`z z$62gduCHl^VW&g>b4qQcTD2L276&q}6)H!UFzB)iKJ+4uvOEZ83(EPg02{CZ8(fFb z9WVC{Bl8TG!d=ebLmyJ08=?$tXer-WvD=V}spt){wREJo4u+%)r;?t!z^I{s2qb%I zT9*r~pgiIQDvbh7H(`z{h)wVVCyA4(tuQZT$TMFyKT2!pT(2KT;t}^3!1ZS=$Y{FAhhAN0kYZYy~v4H}C z5Dj`uTJR<_I-_1Np%r=rSTMC2S|!HHAY${OY7hxilL;qUT4Z~+?6@cI2&1*cwvO<& za9dR;F{wvZ7A-Iza?yK%v9|{K7ltd462Sf!zqfmZ`^s3B7)>fT2v7lxJ2{49P>Hh} zlp6?D>IaiBJC~-p7DZ?584S|A3bG)&q)P~}dH*h#;hGsnp9kr8uikiEA zu)D^Q8_x$HEzkl&5WK?c9>z-t$QvHa+Z@mvz3jPCY(NJ*DZF9P12~|)B!C0n`@NkS zzMeWh<$Hmo+IeMbL+krMk>|dw8g78VNmT(g{Hekp@^JY(MA38;6W4;K)NPyq35>u8 zc%VTGa)d@eZ1~>k5K`g@n(c(X<@3&V@kQ)$7ct%2Ju-6A}gkrfX#$p z2L3&|@V(5ECTVQ&x|gF-{*=K`H()wyTBmDpXUCk*5N;gH;ivAbR6t<8!fU*nhJU_$ z8^$p^?}?tbU<)844!MvX^0x)UD<1@n&Iy!l)%z;piFlF243JZIbFdE z%)keN(>aa6W733Am;%x5(`~N7K@EjGP!cM1g$m)V-@2krz2svUb~vOb<%$%4qGNQ4 zA$7?jYdEo(B8Ns)Th+oyHJmW@`F09JEsdlJ+pyN0-szrBh^24{t*{G<#0@t=*WD>8 zs}+N6m~DK$BYyq<*Mu}hf&>n>4s+3v*y+i2tjI_;*DkbGFr@^=R$bY$$yR>6ArZ?V z9eAs|KnssZ40stR6TP4c0S9I919@%;5t4f6!=W1?wOC*RwVk0=8%%i+22t{%XppLj z01EIfYL@hlF@)R`;bWkTw4%Ha+c-W!a|KlZ7A~;LN_H38z1^|gd$er0;a#NUy~|9R zxC?**=}mkzFc~5RQtq9e`;5+cM&G+(-{_g1vXBa?z~BCD27zD+0luDIsvKwLIjC`b z)U)81p{C4%&QzMGda9Ft+5$K5&O(sk)++@@Bb4KzXtyKc>p8}8h2kkb9Wx~bu!aHz z9phL}<3avoAT|Ba5Tev5Q;T-8gGO%TM}GF~J3}e#Fk_cP=W44{PFjZ2$NqCi#gHDn z00~^K24Qm&lPT0ZO@Wk&z-kWELEz>=AXRAo(@&Ve^j7C1Arh12CS{O?rE033+~-pL z=YSs7ey*BRBQ+4KtK7MU0~8~r^qr8do1!x52@?y+pgfGkb+&NUpMLwepZmTw2&3){ z9@E)6VM?g)ao9$KG_u#PZVt$ABY+*)%>WLyZtLGrDk3Y*y1?tTz}NgXpvK6DCfeK#dv&>Qp6Bs4Pm7geua;jg>fd0vS@INJk}2!m(qg%n~m~f&?LQ zrAiVYHC?no;ex|Xo)CQg1R4~A1PMYhU?7^bs80kNt zwV^`?6*g?vlq#jm&m=!>*|tRzcZH4>YpARV73!8QzOpQ(B1Fi{;4YQ|1)7vtQ7J@g z*09mx^}}S!UTt)}VdKdYDt8^PX&X9F=+K{^C{c3bMvE3VU7$b#M2He7Wa!+c!{o_h z$7~k!-K*=CId0r?<*HTo4V^7ylnAK_1jqClGp6IHK14ea?k|II;Q~gF9z1!>{$oTh zNtCFLdH}so#791#MD-IbTJ#9hL|FY#or2|*R$7^*zykX#P#FWCd4`w#1vA1VFwss;;zM)j2N**8B^FHg_nrPp*!!qld;DV zTe8B6C4>wkj5*3EV-7JW$Ikwd`*_F-5`BN{hf7;N+E8G!f(wM(U%8qev>jZ;|&F z*=Qu4J6X~ZJ4|xKjf1ry`lTVF_(G;0fXK-Oop{* zKJV>Iq>@T78NZTK_WKW(Sq40X%PnWwWtIpfgb+e!AiNOKhbY;jjxp5uf*PU_1tO3r z2sJVhic-V^7Ubx8K04qIf{=m{Fpz;WU;zf_QZUO2-siK$FfDpN1~RjUbABTjP?R-W>-r~YYh!%u}m;-HGbi)3J^7UHr+ z6g9yrDpt{oSHxl#wYWttb`e#Ks06I;#HM?_iCwt5)3MaJMsxTISifRpveMx!Xnez2 z>-a{ssI|vEE~6IP>K3^MH4Sn3DNo8!7ctUxt73Nb1Xy^6CYf`n4}L z1x#RO3Q0)}krE^+jA7%!LqXC2F)vJv2U;jW2{Lvuj&#j4>B4k~K*Sr^Ks(mq1U9hi!EB@; zg)K0L4rO73N_V%r#7x3;x44BZw$ZNJ6pwf_l|nb8(}U&Bpn1;I;7dYQp7Wg05FNo! zBFKXWJhb5sckobH@9-W#P~<=4V@NB|_n!f^l|Tl11ub?lKL!!QLU%0&gfJ8fh#X=M zWFP|{)PRNoMwJK_Oo0Y8aH14gutgf|(T+}3K?}aXvQgb&2R#TQD|D<#BP`(@(sRrz zm5GH>B2$)L7{gio$F%^`l9(uB!-1XtmR_#V;lCJ!NOc8KhH1EJ6-Blx4NKc1uWRLjalUjU1;2fu8_q>@|G7^a!dy}z5$N(;_(}K zoK`sEJFVX>qd3#Rlb;A_i)9cJze6>bt*TK!x<1m9mb8~edI6rE5<~=Q*kTHLZ+o0}I%| z1}d_29&zl)NV#gD598) zbw=#S+6K>ELbi zwobnNZJvgU#5*y=LjJsFF@Xvb>QFZ!mq1>tF{ssP*1=e1jcdcRJO*0gh&TL+al6 zT{EB|E=4J-iM&8LEmE#>m6^isu`mVQRpwePO&AyIQ;@dNB_WSLl2&9i(?$$oo-#-b zMqU7qi;Tbn%7<9QFi-)&F;6khPs|EM5*c|&);&g)e#Y{#4@0S>eiDol9_m8+5fq-?DL*T??x zd7_mtPlj@B{`;FCJ|hMsJkBwrw##PHJmI!cq$ip2?iR0 zGepBQq>%(l!!vBRc5A~k>^B+tpvkMl4+^2r3Il^XI3-z<3tN(fLj{a*1@#aGkASxI zctR-tOvH;56GN<_hI2U8N|QBd6YpZAIvFZ;sS{`DL}%cZZXqrulA%Lf2=(EGZr}!Q zfQD$$1)PJ$Sd_(Cq($mVgE)%B#GJ zSpqF65|D|WH0Ua?>K-9vu|xobM0kWpSiScc8DP_c*qc4t^O>Jf3EVpvgqwqp>An6J zc!?;mjuYUC4CsmDOFrc*isq95E2|oJ=nSzy0v%{S$9cazI}H7E9JTZuvE--mgG;qsfq~i# zuebpkP>mY^0k6=F&v3Mf8lA%wol?jP++hMGU=7wljSAd?H|T>yK!oF96hdl-RWu#b zks?K5g<8l3UO*{CP!3RF1-=>uR-gkxFe*BTL369YFZco+B!V1lgH%e%?Fq?5FugyJ zkFPR9@DPYF&;mO+0y}`F8iTftfVlQ?tL&N~8GBA-eq89p$#D(E#bME*lKj6*eq zx9}v-Gt?{?*?~L6!w)OCg$XS`yfEebL)%(J8&k;IQ<0|Txik349Sm1Ie4{(?zTLXsd^0vyQ! zBg@IB;YsF`3JLhhD63SWBqyU(zUiw9q;!g>gi5L0z73#^xuA>BK&evj$}9+kQyVq5 zVFDUBOSx>nH4p<-`#{jZ)zA1GixSJQgv*f1%e>?q&9H&K{L8LrOeWxs_cKhyOiabZ zozz&339LXR0JX~01Xc)?;t)H==u9cX%(g2{&n%qr$aBMQ%0tPhk2NXdZ-7uZQHg52O^a^a4aN0s)fDUD~HI0 zOaKK)a0o~+T*C!iP{@RQ_07_A$H#qAUy6lvj2{QNt8dF%P6C+Cg_4lS1C{_jB-1tR zc+`4xH^lc1Fil1~|r9g@*gEFV^R8Muv1~C3g126#XrLyL;$`9C_vRDIy0*$p8 z4Ly5RHw&~i2*9uqi^-WY&oH%L{Ty5+KlAfdUme!`)!)Z>117M6S=AgfV*;G=4c>`X z#N>-MD~o3R%NtMvCaBCqc!*KJGY>2Upn_FJ$O}Xm1xR59z*QD~V% zXxDe8&9KVB4wIf#I<{Rx1NqnxFpSrDucU-$(;{?4I-xeV5j+TV*BwB9g_G`kD9TuWb74p}YWuOLgD zf>vprG~v*MQDcL~wARKf3y7cuR#;6$2!+msxm%E%Q~Th&2!#=51*sMUlzM}f5y3-X zVNIX}+~|Y;;b9M%VTcL6W5WXvITo)0V^<|%`eC`F(gBF!`ScqV#cDN@)S=4;*k%cypa8v&-<)COj)Z^**T6`_ON3+ zuFsB;**)H4L2MyOl9$8d*+B-cJTXu?LF7T&+iXF{U8t)R^#*ErTRhU_<3{e}zGS}e z243*wI=RPK@kDhom+J2R1~>9rT2|$-HCwrjWx8$KR9?ojjayvK<++82wp}l=Bcwoi zqW5mQy((r5aftf1@A^jE#RW<55y^${@3lgZ+3veEu@~I(Bm(b+dif+&IEXg50@|#J znaDNnfJ4So=MXD_H;pAYEin^giC>fFHW;irPy-U553<^^tr{8Wu~V5mn35Rifi7sh z9^Nom0+}iLCpTtYSR%8tA^FA7Qqp&g-~D_lmaHQ_Ve&7s_sX=$-A3$t*HF+a;%Z5zj5G%Dy{&`IC@#V4@X^H7_7Q|qZ{P5cJ7X{DavLkPdG zCTVdsov985#W1x}Q*;r82-Bo|+zIPPUtzS~gGr}NH8=<&==$4aYsUTp*&KsD=!3ex z{%am2$c91j)hpQX@$d8TZ)m$tpl3bq2`k6G0wqfV>X-q`Qhx?2`d?25J$CQy&_Uu`;lqy%UY`JY4w{6p=EnDWz<}`2KnlVCTt*g9_9lOOw^=Ur(4s*D0;GpsTY-X!w zt<<$*v91M*6{y&83P4K4;(mVuwaqmJ&gGBd8nvwU&WIAJa{azV#SLWX|#by z8)$%`#uo{GF~%5ofB^;`c<3>q9$ci61{hp$0U#G)c<6{7j)(|i8D-27h8<X>7W5J1oX1QJvL z!j&F)@BtHStigsNiinX#AY~E~$Rx6a_Dv~my151uOl;u620GXPsz6o0dFLDcY_RbJ zpE^)+rww=N5GWH*6v`(Ri6$xrqmBCUD5Q_BG3gplBx(Z_N+?0c7I}IZ<|Ls`vI?oX zm}+V$et21_rkWlih$e{0ib$AlwyBGolZ3fzDYAy539!H-!UiIgddbGCf(Y{K8+6do z$02*vQHL4`ei20!L~Q5<7et`(EgA_<%itc;?lDFk-`+uC9(hox2O#k_=N!GyRe}k= z`Qi&5zx+A}Z-i|;7)26E3=t#3FU;@)!wk3gFbg9{JVJXDQ~a>S6u+0ki$QqY@ry4u zVFbw}`*-pZ9;zHhyLrqphaoV-Y=}XU3`CGY4(YseLJ~=25zyax*U|oVAhp#NNq4oh zbV_@v^b$v(vc)kr6N@TN&XmUQj-b@B?U@pfK~zl z2I<75NrmZAWI7WeL=}!`d}9@*z*UsRIPBx$c4sT#6CMb#u zNI*iP81<+!MamD9n$)E-r35zQiBgJql&DCxic_^I6pEOXp4gy-E(rn=U7S^|Y!wO= z?uu8k0+t{~F^X8}>4=k3Rwxj`EI~XAT7#h07!q`aD@1{PV2HwlzBRrvBrkd78-s9| zbGvuJ>k;#+*CH@+FMZ{!U(ksJg(O5EfuSJ^2SXSrUjVUDz93^G@R-L~5Cn;hGGY?r zSjhDEu~_cF2mrd}$*iEVmhtjszMMnNf*DMn5%VAo{yB)xL~#*}0F5I=Gg?VXqO_+$ z4QfoQMm1kDHJvm=C*K%{G{zB{akQhH_Hc(g7Bj+Ih^=kzd?!5PDbIP*vu&fO$u5Xt zl5VKPZnK!hF6u&zS)8OA%JAFY04KP?ts@z~G3v!UTWN&vtNlLQ0jca1F zn#_>NHmMelag?JR<-GDe^q~)X808(`(8)4xQHpw!xy)uhGn&(EmQmzl8M}DKG4z7X zli=c?bonPiQF2hf1#Y1YtxVw}D(Hzm<}eq{%%BldnQw?D8X_&tGLn&t&5eQ;qj)K% zWr~}a?q;RNISx*BIxU@|p{IN_pIN!kE|!G>mnmi$FbC3!5&do>+o?oUr`iUqCX8V@ znB|LL;8p9@N7(x**@-V?)&nW13Q(xR9sy|~3SH=}an%rj!k`5$#19TDDuc>Srm~Xt zRYw2&-;D-~z#%~i0S_cn1OC_jZpJoNu^edZVxjcF%HA+gO&k-McxwqlghLwO2<;^N zkZ|9Y*0w*i6BR6F+SSs~wIA334M31_9NsBWKfJ9NAQcGR?zXpq0B)joc&H~h(GQ9^ zt_f`wCS&R84K|I>fRz0w&=MPb6zW7VOJ4tbfc`k7z#FfE*AfU#UmC02n6-9 zTlKxVf*4dtLaJd}#^Hm10da@0_t(JmS}@uP9Chb75)gVo-}<;fu&ajh1s%Bi1nz$K zhlw&{?>S`imxMdTHL>>wbqhR}E+{enm& zCeoeJlYYoWj%GpM{?cS6Z^JJySqbZz!Hg(-BOL9hGVa@Pk1T7Ma_m?KO_E^?H50%1 z#y>vt-O1);ygAN)Tkdq4nR*-&>EenV-ACvL_cQHA9Zv{({GFQ z+aed5P$T>=jp_M!x;Do715Qibb!zogr`SR@ws}Dw;MIS4fr{mUA*@JUjR??e2S!u^ z9}I|94Z(UWjIRYjhy~kz7@M*2K*_j|vVlRVHCq*Y!4-VLw^&HEUC1qMNC0XZw<+LV zX+evKTgebX4w##b*hmHl5CPHKV=)P19hPFzTLc+N5f)ID?3>2Xke|GPA|L{1`2i6T zf-L9)31OlBE{KW|{T329oDTd@#65wZ*igS|37u#O##I)_c>u)ORu(Xd$&DPz>DHr! z91>ZI$_-a>fy&F-N-4}7&3TH@)k<|?mnL9W&xl zg2)#U5W&^i*9leuAsG^b)RY<+hkyOo*rg(YJ<=keU4i*mfxTkXL0B6M$b)df)%6n#~IRZ}&{p6pExH%wWTxkHuh9`6~&JT%lc6hk#6A3z4A zKo0&SK|Tc~OjcQYR7tuyvJu$kNBO54c#%7nI-^6il>b zhzhP?3pT;FaKVY7$hU!80T$&AdSd^$01t9N1|W$LB4H9r&|=}65jqwSasXmt02|VP z61+jB{8ko3W*~IdDvZjhDBQwr7NdL|XCgrvx)2(M<_Fk-2SCsU%n1wG31`M39sZKs zCDdV=;31_%+-w;N%k`nIj7q3Hk;^$36E)FxP2#UKVs%YoA?jQiJt8Eo0dfAyq`_Z$ z!9puQM_DETANf_mSmzZ~0e6lfgG|dGr~z_(9dV>0EGif)Cc>vNLMpmWfqaX7eNw{o z;xGCl3v_@nwnr)n-h0r}ECoR=nV1)p%*l9x9tfZ_!dM>g3qmlSgYwceIw&J$9^`T3 zj0prn6vR@I9#lb9M|^}w5SfThQ#-Pr-=u_JEX|U=girVcIE({2U70=1Xz%T#IV@Q* zD8nukB#-u}kN&7VjY2KF0xUS+Ht>@)o#R7B#Hk7H(I*y+P;N*8`iF-s z!BUpUQig#eP{(&{M@9Tj%LJu-T3}FaWmm>hG6sQI?i5*;C3iv_AF1UEvLJ`JrG_+t z$|zuogh5@R7|C?vU!8znqCgM!B?A3rkH9Jr0_J1IDg*^)j|dQAwm=iwz!tO-XG!K{ zO3|qh5v2T<70%0$SMq!ux5$opHh`RDvib z!57q5!PM6t9a4E{-L%v}P1Tg_fL+<0r}6mLda@^b-T@joh)+#eh0$ky`eHCb%*1pU ze`X-a9G-xh%*kY9g8I^g@C%M<-h<|>i%saeKwdRw=#O=WhX$EPgeWwLs7bH{>ro^^ zF_|;0UW+oCJ<6z-_1-#o!;wD2E*!%w0IAo0E!c)FRvZGG(E=k4?LovgqLohJOw37x=iwVr0Qy6^h_ zP-GH9XSpV~o{4W65v5p4Y{?c45SJ5`(QbB7x?)il)$6Xv5h5@yB2Ho;2Isv7qGnNn z8(oncDI&1kg8RK+G4Mh$v;r(t!m}ko72GK(b|?8HPsG+ia%}8+s@-{_Vt;L{dj5v_ zs6iB{ft@bQ41_=kkn91}=gFdMehwZjwQR^7FaCipp3cTt?$|6NQJz6O=rc~}ja8*J z8br`yM28YBkww!;fCPy)nNOr6UrgkRwuD4Njf=L!)RvRv7)3gm!(Kc?*FJ;T2C^Uz zvX35uCgj3;71ZlhgC92;G1vtoBU#)I2H_Z5-7d!6&ghIr6qa&SVsOo85QaAp1~@R3 zLxrDXD9$>711qy+`>m0hvS~}%g$9Z)X$lweP0r@=I;qi!WIlgxfBLFgU<&Cr-0 zph6{N=&TunBh-(E5Wx&Ass%bs5Wp^gVzVbk8z0>+FXt|{z18p5B@r}%wrB{rsYr^D z>WSSTRw^%IlE4Y{rLF!Y^fCzpNdO7}{#IhfD)lN>1WCZXAtu70zzrPq4PXk(ft;`g zf)q_=YzEP9ZI%omK}B<>X^HC%*>C)IwEeQs2e|JS0#Rg|0r>WB9qyLG3GkOZ0c_z= zp>#00t~5=T(Xr@>(9O!y#mdg%^sXr4OFS($Ed!daN&+iF9L3SjvER-i0_T`Q3PZsd zR6!4R|PaQ~0Z9swzRZN*ozA#RNDI#XB6%P^<$tF!Dcf!aotR zZtpg4r`a25f@&0lP_yo4%jzWrT~D(E-GzveElT0WT$%c@({4kiMfv#n6t+iK@e=) z5-4DPSOHOTfjb`zJad3N)AK(U;l26DjBtPpZ~(R5IFn!r2($pN;y@3~KnoZ!4c+F) zah4oP5t;Zw95%`kecb*EJh^TC32H?gYtaDwE&!G@$wz}UNMmcTb^-W?FCkpQC!}<5 zNlHuWVZ>F68@XJhEZn1P*U{zl1f!9%fC-owUA(T|Ul4UJ?8;H^T(8Ix;)+?Xs1Yd8 zLMybw7ytqD00E?9wWRj|45JGnO-s4#1|@_wa$Ia#r)MGn$Lr)@wYW7_tA`OAG2R^j ztJihj5hF2*lE-i*t%GIkzDS3U%oKBOeuP0)LN+x1ddt9=Vq39<%IvSV7>wOaK@dbU zxk6M$RY!8S}DWpWMo@jG}H*mW*G}I^$j$p*ZU$A3CibV9aw$`*mI55Uy^ex*8 z87!QFkX1r&-~Kzk=eydlK^iTeKOWg58#jwCG91UP_H7?!K-A%I24`>?Cl{JwU{vBz z6qf?dOWY_oROEI~24%1VqlLra>O$f+r?O}odiQ~Pv-g~y;C90B)%9|WeBzx>vo8k$ z$@nQTAHj;)j6g_&9SDT)IJ1Zh1p8REjHm|*RA9{8_s0+($2d4B4grPF-CyBA64*EU zq?qDy3$1(1Qo=!ra4vx8x)FGyisOI_^dJRffQ#E|kK8i@H4tFUK=#%fjyDOGQ~-~+ z09GHgOH16OWNRD_kra)Ik_Qo`B&(C>?-!aO8Pd@FV)+7SIcjowNQdDHa8?&=z8Q4> zC4ByC{$9esow>1C%4H=AB)S}L(ln%;E4e~&P6tbQ4GR&B+nhE2&LdV)IG^#<%%%XXrNRpS5& zkU$8SY^$^SFTy%8s?s&jw}_FL5fEh)kUh%e$F{KyutT=7^AgWa=&%zzKo}AzP?97= zojMspwa}F-SPx<0!ZqudL}eF`WjyxmnX-=6wuKbAjhi=8L~V|lq<`JJil@!$@J+-uqVN>J;{(6If#VcVPppn9#+ES$uq|g zd-rAL#E-8&jh-;!qin}Pg2ajKBxVTk1r`V#VT2SAG%$!Eu!D}d?DWGS!0?FR!ix*N zutGyCyl8@pAc7#m2rqV6LJKWSTw=r~c4(1^Pcw>z%pU{B@8a~*-gAF#QU;#ik_`uLZKUhHrFU1J6i$~2M#EeM^ zx#SW{FfDUTHo2t2(@&|Ga}7U6HFJ_vQJq8)MMPzD)m7PGLlHy}5yVznaaE)=L`EA$ z5JW<;C6`=;t>slkR7Fh})lM@FwPr&Rgc3*~kwOX}gs^tX9(vG^TkNX%!niSpt78yQ zGD$a+L>Ot85q8^6MBaH5;lo}&(8yN}G>oePiYl%J0)>Hl;4g#@5dNNEf&&;TN(G2{v|S%j~ty zxT!`NS5S$hl1?PaW39L0j$7`z>8{)EyYc>Nlv+l~C7D`^k!vnyrYW52y+#tpufNO@ z%q4i%fi1Sj>S>HI%881MrOG19Y@N)!5vdr^K;g~T(-0}eS&;M?A_=lXm2SAvv&pN^;T%pA;n*V5Q}Ksgse&vid>AsSHRK)v6|5g zTfAx#ewc)^n3bAmp{7=cpu``xAOs;yXIDFqm&; z#WbeLVwOyo%}hQvyV*e!!jOhQgqjqY$k9B)k(wk;BunFlV4fCEsCfe^hnq%R(8&yE zFoPr_@do4~CmDEx0~*sH#w;WeiF_s`Z~gS=KLHw0fezH4xe&zO+7dW)PU9pdL7Yew zCl1Cn4xH;K4CXL;n8M5^oE&vYYq)WjUC@FTuP{X>L9x4N2|^RQi^)4@QxwA(4bLIM`cTjxBmw9J1FEHgSnvV~b%!|&f>HeZM}#J1&zDvhkrA4J zJ&vJBfmUb&i9qDQ7|mctD7X;^aCAW+Sx`qBJi!aRMDI~1GP&zQKp^}IwMJeh_ zjdBzfC1pkF20~M$;$oU?JHscE$xO0X#VS&@s#dKbjcUA=Pv3y6P-ud^EhSB`Y+;K$ z+MOoJ);ZWQjN9lL3cGpaG3$pvx4Hm=YI*Za+&jJ zI+|hT_~s(ihuA|O`arzn{vgLXOKqz2{uOK}q!tPZ#tyd<{H-J;csls85Qc6{zVV%p zta`v|fN;8ny*DDv10RoVBur^)ZKz@8di+-|2U6`m3(E(FbL zwtf9sY>b%w1$`y{;t`K%#oh7V3QSbuUii}R-~TR2;z1Q#1fJ6SNX#D#oY-L+pe0;Y z40(uA2*w%f*yS~phYJCdW;!M&kIx6QVtN6{F%xoph+JfaAX#S(k%&ez;*n!GnIqk> z{p}T3o0quGb*+Z9<~|1$aC`$ACZTdnb}t!o{KXs1pxQZS;fhZDnfleY{`Ik+XF7}` z7Ng(=q1jpGlfYyoTMNnZZDW$jOh$5#hBQ&S%(>aP*(Ga^i5_zS3P@yvT96n7B`#?Y z1hCc);a3phRltsR!a>qpZJsg>8gyzDKuxHCho~lr*p_YCO30~z&3TaR1GxnVOb7^; ztqPC_dAR<72tH<*qzyj8KtnJj2)LlFW`IACr0oo*144iWUa1FJfZXB-v(SwQa$tUf zu&vnb-tNuacwl2>%shBN2~}hXLL{*sDBF;P10(?8FhJlaYqEO8t~AI6TA&4P;Ikku zv?9(100m1h&f>5HON5WMT?`e+iC?p4qTRuJJ0dI+fK zKoCkp6V7W^N&ykdE{~wW=yY)x!|pW5E*4!;3D8dMEGzL&V6h~GJCZh2LvA@5Eh z8vZK*@bu-BP6-XvAPUd`Ih_L29_6{JLfvBuX4gg8m%sqJFO^x@;ceNiyp1B-?2j-a`NQk6H#$ z0QZ0^Z|x9*rw`Ig5lBN9njzC%N281a%cLP1q#@OG0TBvt)L8Ki?6Ly4fDEc2{yU6~ z1D}UmOeh2ysS2j#d9J`Y&;Sg;fULA<4njtJOaw)&UYP zJ3!s!rwGBL2npl}Uw}fE&2tkT+E>Z{~5bCq%oGawaL`||F5Gql+FeMc%K^8{wyGk)s zr~nn&q)vXTR^H%O-avQ?Fj^2n6W(Z6R>fJ)G8cETLwhkbZl_t^fDYdNfC-r323lYY z5ijuo1lzDf!xrHY5&;u10q;(MMk9e5vGEI(=P;cklCHpCPD||$4+UI+#1hXO(QyPO zpaWPe@>=Xb-Z35p3-dA$W$tm>_K_b|#vcVJAfXMIwr4$14qj7kz{d^BG9K$gxryknjPs<@t%i$V85+s2l9J(wW07E2*MZR|O6&^tk zY;sa5wNfoL&&c2vVj&iafhR*^Y0?4F`eK_xLZV*EA|Xf8+z&D~DxO?5YN*B*ta4ab zp;lRe5`04dxpENppjUgf4tjN{fX6NcfkYP+pjcFKCS5HvcL>#P6pmnjLd}Rbk2$bG!>vWY6X-)z3Y$6WW0DNRz}T`3J_P^=m1lv z)Se|6cG0^CbQMyqKm*BHLP0#AU{5Hn1>PqE`h!2HhyFRxAPT@>!_;6nJgFHMVG(%E zI+P;{y5l;^bp)rx1&C3D5KlAh6_y_6@t!o?DvwIj^?*7ifPM)}vvhpK6qvlUm%y}i zNB5V+w3%+kAPoYV6cQDBA$EHK_A;U)IKm^g=_u>8PA4OBB4XZjS_0jSNEV?fc4fYFn}x2F70v+P(y0G;WhHq%ho}s zP-9m9>ktN^52_$Y$rX~QgD*u83JMckPm7W`{00tliG!aJe zNPq!IpaW)jhQIBVL{om$v8@KStz0ZbY|{!5mIvOoMc$QNm9Rx1R$>E$Vrj%;D+ovm zuCg>pNXoEd(J-_C#REjvxR{_$@MO1yi-k%>yTZteT5dXaZeKb1G ztwGG~;1m~I#?W!wha9`@l@w+jAx|CtM<6_?6hzW>uQs=@>d|xYQO80zbpNq*O_xKw zG;~$B$PQ8<5aM-VcXl-caxy1)iFbIBx1Q};AMPQaEk_^f0UiJ& zH-_bQvUi{fx}XiZD*AvDcp(>JfzY}MakdF3uEzGjS0)tIC0IgLCvE=ZNh%ffpF?6N zHx;EY2{;DO*7$cgio@bqdR$nV4BnunSiu=k(sll!C~mqQ-r*y!;TnR$yG%_HY(;{J zst#Bhs{RFfl3*}9n32R4sYQ6H%oTYmN%wKIJe!B5Mh_#HDMryqwwCwV~G*2iTmw|fipM@PT(~5 ziajh{ywstK)3eJR?zPn^wBAUW;N zKk*V*`?b%rw5{k94EYj1!M3GVY6(<}RMzKOB~~63c&zmm1;H-afa(Ux=*afFsFrF| zZMk)EkPu-`oKv(~0J2uJMWG{a_jVhHgI*FLa03@Qw1avYWI4voJ7%C;vWJHP=PfB__Z(j^_zAzcT(t*zU7UUzt| z)lp-1DX;Gh3XAv&FK-7T7U8zTiE9M1qFAzWgacAkgD_yRvv^P1__!2hPN;59ttjgfeaO-Uus!v_O1p#ts~z=W_-j5YiPyVdzESA@Z&jc3~EF zff(wd8pyXO&u>wU@>9Vn{&c!>EXN*%*B<)e#7q3^kyjty!N$qH?9KlAO6`t3BmAa} zCT#cq7-oU#cYzm*fmEa3B72uIo`(KvBPOOH)}Xu=q+DIrB@r^gE3-U!EY5hi@e8bD zIU2+|oI^;rU<w z;tIxKAO$Yq0yH4^Mo zCMzn@Ri$+45?X5J6CFBi&;S9Vg;*CSPT)9;V@8i2KzdwB@}4Lgh$*Gp2XUX6QoYA?LKm^QMShixl7iW}#FTZ?k#W$YL-*teUfJ?Ax=i249>wbLP_7Ux%L^yLs&D`S)*+J^uO(IADPH z+|y5j3NFZCIpaw4PlOUqNMVH*UWj3a8g9s8haP?iVu&J+NMea5o`_Up4O0XWxDJt)t(O_!U_sedcfjrHsqeQcEncm|{vM znJ{t}B!hgp#~yvqK?fOTj`2mBYF=?g6hja(M4UsgdBvPbQ~`t(TWp~OPnwJ}N_y2q zm`;TAL|Bi0;Yg#@RFgdFhaxxOL}r;%m z2A91$!2}(2-~a=*Qh+N3w(jacuOUDdLa@RHi`fX7WfoXv#|E*({tm|#rveWuz(8%a z#+e4^5Hp;G0tqN&kO2qcVnA*M6-a=AxfO^jZVNYn1uqRZ$ZJEr^>U@dMHSJcNWU-n zp^-~5i6O&8Vqk;>75IL@@CO?_4DkjZ=s-oqROqWw76WDR&_I@)^zliT5ae+x9xcR> zLl6~gQOg&>#L+<>jYRV&CHayP&QV$N=)f@1#M2v->aXcGZ z8AVi8x;(0g7!~7d16X6ZfWir+u0?hgY<_XY7j@Ld$6a{=vX{1h750K=f&H48VtO|Q znYU;qi|nz0z0jFwp&dTjZ@i(lT5OKTR-0|PMQ(*@z4`Y3n-R|zw}f!Xt+w29&pju} z=%yPYN$T2dw;e37fY%Bw#gu0rdO@-$PBpn#(@pQa>rP~mNA5RI@&6HseDVw~-%mL! zJ`a8L(oau)_10gHefAWF0;4U>Gy`QdJI*o-EXSOWBaZM5=_Hd!g7XbH>&VX}eKk%a zWiI+tX{9NgB*G;CdI?NnIujYtgtjOsuuV}YoSTM_gd~)$3ZNo`p6IXzoDA&^8KlD~ zY@rMIz2iR>ddEB15e;ZGBNU++1tlmkh%k*|hBTz$ra%QMA?UCzXz`0+GV`h+3Nco) znpLfCg)4C3%2u_qK;M8REM*xBh%A_uvXJ$HX2Jd-IMONswOEyc9l&4**n-oxaL}!9 zfr|s^D%ZKvWv&*ms|E0i*Sv0UuY2VyVN_THA_UPdMNA?l5kbOB2v)F|ltK_K9K|7? z07-^?Eo9 zL@Iz`vyzkq8OX4PFMc_-RP@YeG?~dwj@gqfOiB>UJQ^aBHWjH%O%}dL%2SLowW$O{ zD32PX7$C_6CMZFNLKur;##xhdJb7q2~aak~h2oj-Uqh8{aUYQQLvkq$1TG z?Ff*84s;*}X>Y1jt*TY8iq))Yl|wJG#Vu|DK5kUw8RvT)EP8>y-aVrjIn7;9q2#`x z&hJR+aFUbmw~S^iBNzPZA1D47KmdNJ4q@7ZnapIiHgQIQ3M^cj&DTB9u*2uJES3vXi#O5nmEKE=%5A~j$yJCjNoLUutQOmY6t?g zj1Yrp#STos0<*Hf5|fxKT`|!D{>*J|b4g%<5Lgk2#u|aJriiR&IV(6S_(8Q`uqrW< zu{1$2BMuyM0&s<^jpag@x;P*fI@S>cG^lTV^~e>A@UbR=RKzP`qLD)uOa`r7Bq9Js z35!Y6VGy(A20V~29q9KW5fMm4%pd~{6GCK{uw^JML5NQf#AKsHB}58|5h}#wm9R8f zDtvL0kl<36CBa57k?~7lPJ(Ay7+5jcP?Men*(O4JLo=Bf6siy<7)8NmQljz{s6=xr zRVl?J{;Rbogmauayg__h&;uN>MO2}3OWMZpPPVn}E{SNvUvTi48O+L_ztSfK(5ufl z`_OKLBLWL@@B+CN?x4*6BBMe}W1H4Ev^BG#4Q?7bQHx5NqRqM}=a2)sjUJ&4n?6EF zNjg&1sV>x!zywRXa|%q%0(Rt)DSB?Y(^$v)tv>~-P>D)Zc9?J+<3Oqj>*3U3+XJdn z-Kw#VjqGGAd)ZcX5j08>BW7%)7&*d)D@5T6RG{@4zsu>Yw*lI8yicy{Xp&vo!whCj zDHc_F#g$Bv2u?hL&39qM9u5(vKJ?*$Yhqv&LgU!Z#3|4aOv0SrV%sW^jV)K0VZ2{a z3~_h^Q5AB>J=|dpYg{80t1X2l1kr~*&~PqsK^q0loPj*550ZI(~(|_r=%3T1FE@sNG+LjL6Rh+{!=69TZe}0u>tefk{S8V)@eV3NmKl zh!o5W8@6SKeNhsTiG-FP9>_ybj4+tIG7vkSWrt-fjFN1k#=OiiFfE~wjQmU{#RM9V zZ4yqNI1?+Sh%!{N*|a4`xyek!$}4A5F|DXv2sh|G2zsAeDR_#uD2FE_j!*A4q@~Uz zm_Zbs%iQEbH_!Go%*!*AgB-{yP7xfmXh@^D-bju$j|&4tBRA>v!@vmZ=RxL-lN(KU z)DE5oss2bust1&=bfuMu#Hmr;3a4-iYeA(S6R0TR zU{t>*Y{2GJ1d<@k=7Apwf*~k^B6tf@!VJ{*484E~)`1FX)gBJW9`#`#-f$$|P$b+y zAKZ{v>Lw$7^$M@R3E#m9nD7Wi$Yy*%SYbj~{6;5?1qRFlaH#Sbo}qo)Hw0)QW<3x= z62ul#AO$M-1T*1Ze$X_sFb?j3h8JQV=CBOKFbk=M32uW1bJ$L@bwFiCPjlmZR}@^q zVo!Z@0wj=gNu+ZPV2BN%Tnx}FN7P)wC0s=$bQ4fT$C3gp;4Cn}bkd>%P)Bu9H-&}~ z{uzR}MiKx4UT2ExA{Os5U-yMyW`_}qAcn9=NJtydB9MO8JBTPK{bKkGe6TWY@l|6uoFVIc32@bQ{x8=F*Q%YC{M98rLYR! zGzn|q2Wwz4bys&czp)Z&QV->p4$!a+%)kn)01AgN2==y-Gju?eC0js{1bH|(dxk6_@B+f3Pl1?o z;*xV2uq%nka}1zd&h?0WXhp%&0o7%R)RKwCF-EGA0)^IzL{MkeIg0+JXo_8jitaLB zWJd#L$DbGTjrEanG)$1xbD5+hNLzmyUo zCK3qYp{B%*D>g7a))5|Ij^~ICQWnqEs}E6(Me z$^|SfSvQ>VlG?I;jD?z?VUwAIlSc^~j}~c@29$M*i5Qhp8nsb-x*SPKQcc;E-JyR| z=?YZoI)~~yKKex7)xu$Cu$o{D#WDowK52Ur1qe`l! zYN{bf6}O-Xw(tt&g9^{#9Fjnl&#)fg#+dC9JWNtQclDc6LM63e3YR&AF7*hU`8J=) zHgkvuYOt(qB9oj^UR8%Gh4Usb$(m=e77;`?Kp+HqqH=U#WUQb+;s7NP0uL2ZJSe0K z(Vz=owMdje2l`ef2Be&!(wult+wy94lvH=?*+^yzhOQ~{~DiuPp#{K*w51~jrLqnea4-lz!AbYQhm z6KlYr4f+AXr~@@ii-yFE&4^)yX9ft73YQnOmyl!I{#baQa0wp+v?L}FAf^%W_!1k@ z5aXCLIaZA+x}r74j=%JdQ1K`XF)%C^NCv8QLIz~Jh!s8RkN+5?J*o>#<|qe=HL$ph z4M_z|pk?8tw|FZ~O0Wf9XeRr%2T}?Ni~tFR`v-%tky_dqWpQ)5LIKc+E6g>fgVS3q z0FyDPKnK;Prh$_=8K=2n8$J0OoH%vpc^t%nX?n`18|A0?2dH`=s81=CtaGSVd6nW} zfR4(QGL?Wh@@lop4BW5{V+nyiWoz=IB%69d`f)<{M@3YZWH zuxbZoAPEB~Q|x0`cGV>21|?APJ(S5m!3u=_Ls+bfpa*zBzx3M%cYwe63kLhEtaI2{ z0avY$mAP``7g#7}ttl#bA_OX@a(oM9N23V0U=?Tyz4b65{xJ{WP*=HNC5MZAe4qw( zfCdRvP<#PsbyFC@VttR%7<%Kv?1G&+XNX?fonfj(#uaqr$*|H{7_%Z6BY?Ww z0`18xL=YH}fph9bilj)N9*Y6_XDMR1G7Sl?$+4RwC!H@X#7 zr_ZciLF|5-v%1TCezBpH`lroL8I`AY3gGclFa;j8K+fe%&b-j5y_;_9OsT`0zVGaq zNHT#+f}8TpAK}mr*sIU`%+LMIA=?BBY5)d#pasnVzKdWAu^?>^h=b*8zI8<;PT~zw zqF27!Kf+3cn>oLLng$)+1|Q7@T)@A|`m7CFuetP5U;i1 zRpPcE{vjdy@DKHnmf&y;x&E*WqW}t^aJZ1Lkt2*YaRMi&(!~RQ(u12YtURoyu~3 zeuhPILIer~23&wR{>jWZ);u}QoH@`e-_}wbr{Ugm+EB4kQlzGTqNY-*)6Fa;fB~3l z;tW&LE#0(`&b=#B?EHf5!42XNgHJ*vys4|}01x<);kxEL{_No&4&v5pHeP@lVUP!# znb65VyzlJLEndD8t%JRq49rj^epQ5=8M}J0lpLJ~AKeCE(7*4*PV6Knby6o=7(oO4 z7fa64O-?Fpkpv?=2&MoExiBB=kggFjApgKr;}8y3VGE%kcaCIObudF{(!jsb2s<6cz$z`!LKhsXJ=g)N+(8lY8+6P0!p{&Mt1^v z4lbnF0Cmm&bsj5rQ%uEGY%y8^u5@5AB`esrh)6OJDLZ=DG9d;lz}Ue!V69GI5y4`c z^blRp1p)!uBXil+1dSpi+T(~2nf+p^5Cx=hu*tiumWU6~OC$8sv>O$1=j86j=)mvcFv z+uqB}lkr_>pYdHGFY@*6xz>Cex>4dK4r(Q3Qjs8P+pK^8R|x`0^KeM>2F_|*$>271 z9`F9KKHVT6^6}8RDsCB$;Yeb^A+GdG&-5b*23|mQUZ4kyfC*s zXT%nJg12kn65qZGs8tSg`KcH@5AXod;?NDxFs$>|W*?p2T#$WMhp%rQHj4o^bS_7A z9>avV!~&~CTOBR}i~1BWruXEpJp2M-MBl}sUB|KmmjTrzzyN&CMute~?B!k{Pyt{e zvYBo#IU$_GY44x@#i5=N;W#i85qUBycw-Ff8j~@TP3v)75TE2Ry)F=h*R;*ZHS-C-#EvM+>@)`L(XPj)G{*yR?J2_%+djz>`Y1{U5UT_RlT|R7G-=na1!K5s zk{>^c6s=+NhK(RZg4S%LvW7}Wj~_Qu9JxjjqKt^%2x3WxT z(X;1H4jeKFJwbtj1*9E9gkaHu#nTZ{pH5{##OhTrV61ZC%Eil9FIL2kB^$5qx&eVZ??M8_Lr-k0i*EB1fWJxpF1U zl`w7QjHwkT(41P0CSAG}tyaZ~?NZ&^wKHPQs?DZdZQJc_;&h8M*V}hG{@}satpm>P zUAb}plrLxA-1&3p(WOtPUfue2?Af(%=ic4>cktoGk0(F9!w@1|5@jmJY?(LU;K0H6 zUEiGU-`sjnF)$HE7)gYWJHS8#j3`sZto>sTV^2pnw54g_59w1|Wa{ z0ZtK+KmrUZ5ETRvXt3c_Q%|))hdx{yg_TkIIOGr=bfBVEBy!ai2^n@3<5w{@5<`Y8 zip>HEV2zbQhAxWjf)Hq(?P6ML%`gL6Xs^X~TW+z{mJmxUNktZ4eEB4mOH%PAl}*~+ z?3x8)1ZL7Z`WpwFKOO!zCmTZV}!#5K96H1R{td_G1!(23n;c zj2Y567=cQe})^KtI2Jl!Zrgxa#Sxx&kY#zzWl2t+mu@t1q|yjF_t~xaLY>>_zp` ztFNj7%X+Z097Al5#SDRL?zt_q+wROVI|VaL^5)Dm(_GtS@YPs*h8SX=sckmgZo99( zDa`?HILe26lAU_m38y^HJNNu^&_fq}bka*VeK{0xNMejSK*^;UZ{SO39dL#VE^_;N zONSf%_?yN*0fR5l6iyISkU<9_gpk4uz0^>R4Lke-#4ARuVnh*NRB`(xV2p9b8Bge8 zPZV>+p$8z+|51r8*kEH;L7Z_fxF^$zQcB=rH>W00aAKs6Kk#7;97;lq$h0Ff%_vQ3 zY5|*2V5c}yfKGL)RM7Aw6h83@2N@*63|`s#TnM7eyCE_kKl6Ye78yMzI+desXX`9cOZfFTTky-SYpy2KR|Mlf(OjA4^_ zn8YALv5H*`V+PTfG&r^jk4-`%?i<+~emD{xo@@=l`jsF3P>NC@qDUu!8A>ohvrxcl z6f!x45_D$D8}I}O4RnD}gfcXu8Lb1eR2tHtGJ>lF0cu_G%GCa%Ha$%3D{JXm*W^N% zxg=9;WV4IeV89o&5k@eB5ldm()|j_ta}LUL%>HEVW|_S4jWd4Z%qajj8d|hwaO*_e zGu)}T+TbR4zqwuI*1-;TtYaRSdj~sC_fLQZRGZSc*hO@FtiyNUB>W;XS@Y9$U!5`!$=uap*Gw>rD)&-^q}V}QUDbiG{6r0-yF|XRMqN1ml#c3EF9b7JSnQGC)2K_Q_~cK~!CgkTez)YL+CB z(@-*nDFYY)hM(d94Q;5ZQ|W*SBZ~#B{%VnnQ9MDjD+rF9tctNys9*ANyD!2f~ny9YkXSd59w2$H?=RM7_eQis=?*hK(*@LzFY2$rouZVVGk%OBl5I;z%Sj^~%{dDo z&jN8nerJ(w)41F4#y+=8$CKdxvCnM?1#xj)P`d%UkAhm%Ut2I`ko`(fCF< z@cE60QjW>MvCl;}x{UhX_rA4=g()%t8jy~ZLV6IXg8;Fhl&X{ugKjAr)DTk-)wBvm zjZscVRK4u+^i1Fbs*Qqr0u;!|s67%wr`N~6$*zPIxv+)qnp_;>NUln?0EH zEl8oj1g^sX(#>SG71dheI8NZ39Gpz`+kcXVOB0obJM@I5Ine5~y?eiUz zr@WP^{AJ8%Uh|vh{N|sa2u$iC8lw*fnjtDtiZZ!3ZszDRav?ke83;6(NKi;m`sYO8 zJ`r2ugI5FihyFUa^w2RKa7~|%U|ZwV)-l@PrJe75O3w)So8~n8=n&>u+?O|}Zt|1< z(PVG%?!K`Ņ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

      *9 zHqZD3ZE|xAH0356rIE%bd0UJhvLFT|yzK*l^S}oFHcrItMsY3>!f}cNgfT#23`wX$ z6rMAL>y&3Z;{FNG>_*pw)umx{XD8YzKB;tRxc*Ul8kql-e!>P%rMJ;&2i(KTwsa5?)Rc)a_u6EU{Uj=Je z#X43wRmg!Dst2FoAwhF+!yM_j-~}^?C`9cEgzEs|H{wUa5^9Q5o&r^9QP*!!=VGnKf!zu*PSHK$9u!?o8Bqq^VO_Y`tMGM7;RB?xz2?ylKhcj3DW=|N1y>hHusQ(RM;Xl zaDhc)L;@A400=@h8bqXJ5<6NafWjPC*A-E%xRO~03n^naVLmIB%g?8C!eHS&v**DR>nI z*0CmGJcBcRaDG>K`#oe%i006rovq9X>_81Y1xSNmJ zNn}hTnYuB?mw-9jU`iQFSp-8DrSQobsGx(fWnpKRXqsNgD_#I6B`|~mOIZF=wl`r4 zQwCupCK6=xHkKFeZ8f3-eo12)Yb_JI9xX|{Icg`TS3b|Fmw+r0L7BTuHqJF zYajrzrWBP=jtLrM9{1-wSI1~Zg|~IC=fUfFm_yjT&IRD{uA-{OVcIRayEe2P55nVU zM-TLf7B*TB>{Fe?$Flm>v7Ys1t6=LR za#q*BH&(BKJ$xv38@0q10J2-F>}6+w0?~4IN}!zqY10w4)|MCcum0^uHWmc7z!mmz z^$2c8E|H^oHDMX!mR_lImiP;m;>QSgD3!lv&$h>0|Ok|9WZFSHV7U)a66AG5H8y? zQ#c<6iG^a|G&+2SO_?BbD2+8>f};@*7hs6T6U0Fz#6mR0{zFWYXaENb=^zcEG`13l zx5_-t+dN3SAWFllOS_a@ScY0ihN+q=Pg6aTdW8l_gi(7vRk5K{`GY?|HOPX+R)ehD zgS9abq9ICx<1nJl0sR5Cn7%3s+MW#HgrKo15m!@i$3U!zGdq+-qOB@*gksU zmg=)UD-yqRae(n-7)Fw=a!bGXb3Yg`$9L0!bCfP{Tt|f|004*=>=MH4Qn8i`F&)%F z!C5hMQi2)un>(-aib2=tE<}+28_0N!EGQdcBD%ln!39VFAjANM zXaNjpffg_pVbMijfhf$Wjv!D#&}sKTrCy0DuANiYOSz{0KL zocmC_F@%-Hx`Q_0sNn&GwJe@CG%Pt}kdZ3IT_}cEP=-%=hG*yoqG1Ci@Jn4hfoDO) z!6eMWG|a;ct7y=lM&y$}F$Zw~JiL;$N3+Du!$d)m5KOBo(gQ_aXoXi0MN(9rkZQeC zG!+@bGE-s2SByo-(jm#REL_~ZT{MmJ zmz|WP5yM9XfX@x^n+>2x?YfDaK#d2ZxW_OrkQ0g|83(Jl3PdwBX>hNvD2#?93$j4a z|N5E_2pg^uj2tnHy=fa9VaN>pCCKoJIg>cG=_x^Ah4SgC&d7{XFp|w!NNjqI(qPE9 zDJGgk0-Ged6Z63vO@M}YB4;_46X*dPzyZyIrzAK^q`VHL)DF^dN`6|X(OD?0n@Xxg z!{52euG53B%gQYDN<+{>Nst6pqZL`PC|0=-SHXieu#Yxagf&GFQ|U6f#5?6_p1eGU zW9S7~AcHNSgFfuX#ZeX#2+RuL0REdm%tAHPLq*g?{Sw7wM7wHCLCHf&q{K-z6ijr? zOS1)AsH&*?vM>8gQJIBK5zWyw#Vji-)r6r|Y(-eqq1LpOSR;eTx~y8;#a=v)+XTjG zK_XzwfG6tBU#*sZiO%UHR_QcWVjYR$EKcf6mn^ESXFUik$`)=D*5Pukk{F4FVJ`T~ z&Ju_KZ#~Bp*nuF}fpRt1?-Wn!LdSTUt_k3XcS$4c@&J7N0QiK@0l3i$zyJ>D$sxRr z{39`O8k@yHng5K20lf-o*q@pSC2L@c1^tS=nb8@IP_DVi99acy%BG&9Nv@$tZps2b zFqu7MLCQdcs>%hQ3I)$-{?UiqjGkzWy)n_z(1D>VCV&&M8vQ{ZOn{z6fQf*B=gWW- z7}}X20b=>lVM&4+xE$s7hC6Xo%Y#Hoom9=M)XM}EO&mQ=?bOg5RZ=Z17fLJ` zVgyxfO;p883s}y z{m~gYLm;w&Od-;{vK& zLt{+K%ftRibhOT`#LxW`NR1zFz?7&W-7g!g(=Ej}?XtoukOD!?RCV3gtpiwKPKaRDj%U1oE>Vk}PKjoxJ4#^OBAW>u}^^*(lqR_BZeD005x z^rCMoiG(=-aXYsQP=RDFfn{dqW`==r1>$lA&ty(!bX+cl8G#8Hfjy!Ccuk{7qJhGh zxWYl468ivo!~hf!4l>XwLC}O!*qg%0C9klMXwVRsqO1NL2d5~90KEpMa9COJunlVr zf*mj(;f%C+-~{YYT=HPe*kB^jgj>*rm8}fd*x(I*Xb(ln7F7g+YYb!}o0`?Z9_+!M z9sUS-y@-@x01Kc15(t4ACV?6T(&%6gLAsds_~D)AVfKiR`j8J;p~|cS5U%TwqBiO@ z>^iTLgglVqNT>wiK~u6kOD*1=J6KEN@hB`Kl`m_MQhbG3cm`#t(^;rXPLKk}Ap^*1 zVn=$WK3)gA>XQkAOmo01LDry2v((FjpS>y} zMefuG5zQ{^R7h@+7MkQqjv-Z1)jz=G*PY!f@D(EpQgsq#&k9CUMivf84JudB_k9$>#vw=W?iuci`uMJ}*TWn;LXMlt~%Rcu9hjrp0h*9!aImC=v}0VVYBf zP|yThD1{B4vpI{n%%~fcQ@Q-4IB%Ly7EXYHNNIcF?U1kl3xMeti0PQXf#{fl7nlK@ z#_1gR4)x&a@6e7Yh>s%IohTh@G!$Fl`46S8QsHUpEacLzl!QotYCJGQFnF>%7?4)M zA-1e!u3iwYevq-=g*sIRT3DgAjvV56v2;S(8$N*-aEWMv020Um2rWK>l}8}e*fge*;-wO&Em zVJU6jL*-LHbtNjoRd)fQRF+r&EYa#!*mmV*BhFi=fa=VnSjN`jB{p1cPUJ0sZow93 zbiP*x&H&(b>5Z=DKEH1jPh~Cv9#8=u;DK_D+8uc2bIk5!j<@ET0GG}H^Cf_KBLIZ} z=bX?9mdgzuM7j#_jrZ<@H=u8-37Sqa*gUZw4w{Fnc!!w@(5e7vYcLAekT{APjd%_@ z1Vw1IxSN2S3!LkWw8&W3a9LeguZP>4%GlshKm<)d1fm%@lVtt_8;P)WC+TqV!3{uZ z7C(1*F#u#F35R(Yiiv57(edce@rtpS9%lg^j#?xWdeo81soRe>@B%ahOD=G`Cl?;C zyV5H6QYyFdN?6M~Km)8dHB+-8tmlJLvmw=_yG)1$P;ep8oCRed>pBHB<2a5Y8g(GR z0b&^zm%xFUAX*ma00;2%zW4jTCqzL1hDT(pNcEG$zC=sSJVY;KLGcD|fP8LXh7#IT z$foqmuXM{so>J5FREa&$Zq-k(MO!4IQBPXi%r#V3{nbZxBvNf2b(Ytz^=BMj@mu!V z|8-#hZQzzx-i|)v9GG2K?gPM9g!#tl+D`Oa=I~7BCH~L?YhMB*z;<#q0&C}XX)l3x z?Cyu@01{a7fdBvi7>J&|w+*mIoFKXzRWTY+f;V7;?gI47jl6n}28ETpJ81|0o`-js zhni_Xp8*J80tKeBv;qkd9SRX55#uM&q*W3pPV(bt%^E6CFk)0>aZ*J^A`z7;rAt>y ziKSMRnp84k$xx*Jcc73UK~jhDpZdnCE~+J%@{S7H*aS2{s_~fQ?)^LX z@Z!glFK=FZuwdiDv0Jw;9enua%%y{8|Gs_q`t`$$pYDA+-uUMYH{5Kq41&2RxJ)gz z#KKD~5lT2=CYhLWA%+)nvLPprc=!k-j3hE*h>UP%*&lVNSO*y`wm3!=F~)dX54Pbz zTMsDY=$i{Y`uJmy!U;Jfkwpr}0S7`Nxnu@SI@u%zQA!yl165jiC6-c6wdIysT4?~7 zVHPkZnPr-3W|(P)2^CaRQouk4QCeXBC6^8yaA%!&R;2--7hDhlpn$5NLJ1`dI_MHh z@USQhJM6I54n{Bv0}O{2s=@_)YEab(6L`e}2}%J#z^FMIebGhE7!6B$7yzpxe?aC#4h&OD&~T(oCVyWRpfz=zG&fPdw36s{!lqfdT}7 z;K2qPAeBH;Of^*in_5~mLZ?`DkX2Y^u^`q98kZGUTWhTaa$Ib^Wf#gR(`DCTX#j>t z8-k_LSYkCRriUbq=@CgJkxBk0i6olw@kJGC{Bh!DpMA!NDX(mJ%rU9Wf(spV?4g7b zTg4VF;)yBNp@xbsk^!TPRnQ0o z4maAS| z5I@zOcw(>T1bzA$D4>OkZ>S21F1kdcj|LIxq%iPsD5jb6*=eU8u+TxM1SC}|!>OiP zE2~@utAlL-VXv~mM*b9`t5QHC8h`r+1cgPcVM*g1y=oRb+>;Jn3~LgyScSA?Awq)4 zA`1yYhz`bu1dDtNT&n=dB*vvLf1L|m>JkaPN`ex2tt5vfQA8?|M?naM~NvNRH5E-6#l z%D^DAHqfyRdJs%w^kB0*=&Uh7iww{tQJJBs=nqHZjER&s8mF~_6H_}zD> zT8E?831@cZJg1Lpr_SE_&P~9((w3}uJuY48cvVUs^O)znH9;?WzoQ-rEMNgIdc`Ue z$R0uy+C2^YDFPQ5A4J9XgC$Iq2k2{*$h^=#9*~bvn1X=@D0aUW?0^U_U|7RU#jq(Z z;E5i1DZ&m0#a5Y142l2=2ceqE0!)S0Zl;w#G)dxiFwM4Si#s=z%s^+mBoy2aco-7f|kfaRxM}**&8$a#<}1z zkBCXk%V@TUMO2~^r~q0dDglTS)xmR}OT;No(MV1tqH1)=nh-{*TdmbblVi);*+Pk{ zHLzg~Oke^Tuyz9)cz^~%ktKAaE8Xc*x4PCXk1U`Sj(6CyyT8&Uc=_X>Ui#;k1{x+Y zA$QCPEt8qftk7#+8=`4O6KR%F12(sbx){Oeo8fd_jc!v;bP`y0>NFBN+xgFTR%xEs ztLK%}l+Whv^C{44K%A%qP=OMZiw8YuLJ|65KQ%N05sl~%jxfLSjdmCUt|(Xs7<2*@)A3=olGqt=dIpPa>}1^{*~yN& z)Fm4kT%w@rC}?)Gob{|8Z>9&p#5xavSp?4(aoW_10uzZaq>A?7S`Q@x7OLR{CNN>! zQMOQeE;u~$gImLU+J(Me$#Qf5UfS`8VmLsL2L|%xJvEKq3&47k3pmB>At^y%qP)Kt@Km#Olgxl!4 zb4m2f!gK-A&%~AMt6X*HA{VgGiKaoVp!k8KOp#%KHBQ7DTxn0~{uqpkUF>2ibollS!e4=OlfV4tKR^1dD~)J;190p3RkPe5-v8v1yzt?M zH}>s~ZScSU!~AzFfC4B~j=&MzG#MNp9AGsm++_&O!mY@DJsdbioNY`T#Rb z9LF`u#(|uI`Ht{R36}^|Vs${t(NmVN+*7ci0U%GyMNb2~NtFnc1$>dGjNZ-NNuM}W ziS^tM{D27rArS`Q5gY-dJPP{|9id!G1gL-pq(F{cjH7V=f&WlZQb^rV6a^P5zyKV@ z02~=mB-vJ_3%$%;L`*^;B-I)k6$&-czF-7MNW=#P!%08`G=RhV2?%|}hu-PJR>_bO zF~J*DjUZ@3C_s)gR0A_u)h&>fB52*>fkY0~#2S#x2ULI#4A4sv&;|?up+H{0K+`1v z!c^W}h2L_~0CR1C|5ShkNPwh4Nyur5hmqdtbwvkw8tRD!E=txAtX}K2-s`1W>|MbX z#Gb05fnMOn?css$CB|VSM$SY6AXI`L0Ky`8NV0uMunoc_J)3SRfr~g_a(xnPm<>7V z7Oo7JouLbHdE3~;1_)q40&IW+q@O+BBR=M%K6VGMw4Z+dz+bb3mj=~`y#-Eu&`17p zgE{n{IBdf-Y(p;8LNWj#0cHq&ZHNJK27PVD?9HCg@WJej4mL5|Hhq&xR-gse2svRO zkZ53$a3D;=WC*qsom|fe7L-@qAn{zug+)*Fv|s}OC7TQ-QAR~jz95#+AOo0SVzB_l zRN4;mpbzfc_z+D2VPiIWNa@r89n`@Ve4i&d8yQG}6hJ}sks~O5QhL%sI%?mxWf^g) zClvHn3;fSM2B?4zD1nw=F!aiM{Np+Vq(I7BK{951?0>2;k)yAc<_` z!A%oKb|ijTMo2y&NsfU@nxt-|B#sElZ5WtKZeUEt4S2-H;EWMbuDPC7sq zWl@#9Nlz9fR9umy4W&=^Al+1VVz%h-hjG=#%@^oM+;gE`pUEy&Qgtid1_;u~nfA;v<3?1D2q17~W2 zmTf9VK;lTC9Zw8QYHHr*O`TCB3|+Y<2!tO92%c-EN^LR;2gHe!P=E~Ot(Q)yucE8 zffrx^2vmU60oj|vDVzd8T+XRbV4V(NT~Bz`5-E|t;0mAl<(6f^P)uE1I@(dJin&+> z9Ztlff`i`S9ZG}(o-JPfmc4=L9>O6ALhAM@9hmOD_5>9qnhxlTzTheCQh^xo1Ql$+ zV8#lS1iUd!$dmBz;Wp2fNcE^QpqAs%C4+Owk*-WY>T8Q*VKm11_$g2m~Zeb^qxS^ z`s~I5ZP3aS(cb>#7KOl7T+CNkkM)qi2xb7BP=K&%vBzn#7jH35Vl9vkPgQWO*LrQ( zitYE9m_!xf*`n=Ls_omdZQQB=rEnC_k(fyFfE9SbuBHk~RgoZ*$^Zy%Toz1S+GVT2 znJI?f*=QRgqzg#+0YYSf)gg?W>d&kQo(<4h3w@A8oJ2I}q31TkRkhWUt)n8~${X~l zE3@wRF@X|n;%OET9NzAo`h=|d?n@O+7Y=VsC5-XXz^*Fq@-p%b=!kHfzzi%21U$3M zk$|Qdma-zNvtD!ghOf4cFZqJ+ah~s5us~d7v-*Mo5op%!J>wo3Mrb)B{T5s$XpW13 z4fH`LnClHL1Z6R_*PBjJS<`xSpoMd%| zy;D(pm>Hk3rtk^Qffzz*N<&Fh30P$jtToyefgH~<+YZY65Q-2+)CEwA6tch)^s(Ni z%EDC9r~rUq5BA`4;ZVd14OGCcE_SZQhJEH|pay~%RGz{#%$iofs(A9|hB601P$}ab z{=JaIlA#N(3=tv-!fD?t9ozsDfLkYizySr2z~pl89=2`&a={py0l^uZWu9y^vJeOu z4xE4l>`wHO09GJ(_Wouzm#_L3V=+cS`by^z1cAp~w_A|&`nJV&&P=WCQMfh+c!n$> z*snbEYi_v!_Kgz%?iSV*mjSc4*o2J_*9a8Ur){0i^KlYz7<3ObFGL5pfDiaRt_MYb zLpVUtEdfXegID6r2ZWm!H%tSCc7ug$W;O6aGVlWC&{o0C7l)?w9U#pew6sUUG=D*X z>Bua6x+i^)Qx6x(&blNA{sYLNU~pK2)LnKw1+aTVEyGb}9VW@m!B7Rzg$+;5Ef)K_CAy-!cqf z4>p_+?wlfWq54lN(k2FQK-t_ty$V89jok~y&?dI|k0Ai6#O4!>iwGem=c0r}O!7tG zZk>(xw%vqAxC-YDz+D}MtR$Lk*X3b%Vrs^UP;lX)Cd_Nc3akQbM(3i z7UQUuGeuXR=uVF?_eT+3~iZ>b50k3)rJ5NJUd zgh8yMisvcCm;eCUr#;%sc^5`e1^CsGx+0RaKyHPSpPR%<#LM5=0HHI51Ss}$ZNwVD z5V%kxy##tiWJE`F1ovTtxxkh33fa`jO7QOTrw@hIT|U7KZ~mdB`e7$bB>d-yiz6%2uNo3mS7rx*0` zv+tfW9>%nfcgTu@E4V^wox&cNrvSGrI%eAe(?NfldveY|xyMNJZGV36a1Y>s3(#f) z)I0mPzx%6_b{R{rY*%~W+jucJM*}>Be>5{x!!|GjKy(wRtlKkQyk2p7l!zfChm06T zj0lKgL_T~N{n7a6;zcxIK!QPoMop9}SE{5WvyvqgDN=yM>@kyOkC;G&2)PLaMNbqo zPn;kzlxR?+M~Nm?N`Yxp3KpP7wa@`-h!7pHX6-P6{wvoJBUpT8F&3-U5JS%rrEnrc z+qN9w!gZVBsL-KKGcaJ_fUjP@S-%Dzp@HyM!WS+O)^LDvV-1KQt58wmM`g-CiexTg z!bD}yKPVrO%wuwi(v>-vFi|1`>kBG0zzCuxj1>?qDpW{-fIx2o0DuP%-h03R1;!O5 zU$7v-ZUhpbb7;{*$d)Z{G=(aqi+d^WNT}%8uslKU=ea@Hph88ApGlKet%4uld#U*H zC;6eWM$8&NYXDS4kx3Ns55P6T)4_uc5?F47@y1(DfdwA?-~$gV%n-v1H}Js23_-lm z!w*BW&_fzFu;B?Ml-Pm{DQ=h!0|_|5z{a@#MGA-Nnv$u7NYk_axih=L0+$mGHcJ@i;}O*Y|-bCEge ztYnc&5^)6=SVV!Pl|J^^gN`?pc!Q2Z>9EeaH`sW?P&!ruqK71s7;*+mtAJvQK_5l* zP%_2<0tXz}g5aN1QB76VRatG-)mLGSRn}Q)t<~0Bam`iNU3u-**I$7RR@h-{4QHKb zqA?bnbi7H&9CMs~Hl1~-T_+u9ugx~vXP@0>n`)|gMqFZc*<}`5TA4*%Sd=;Dm{U%{ z1d~J@g2W+)D7r)6Hu!CWUPd6HL}30%Ao*jELH1DNBQBaCGKU#(m^6th=;#AcGGy{` zR2+)x2?!RqV39?hP&grk7tBgIt)znLsjinvkV@vLv{G5Co3|27Fcw}wSt+BEa*Kkt zm{N+UnW56lufH7VYOu#5fDAIlH0Y`;sujBchRIa;tTHTq0Nd-aVJKU&v(YX=?X^u) z0frQUC}WO1K&V>+1n|bYfW7%1j)39-4}8Mq9L%i(5NNnT2`1P;#JgL%D+Q4?*kFRW z2oo?Igd3RXoDDVvTtmS3=8F%${POcdbw9*V;5SnK`RUhE%Mpl3fruUIr+>)#qX4EbCFu%DDiWH=L;*_Ht)o;uD?t4P8J38s2CYIF==?Y*ouz z+PW6Bxb-Y?fJ9HH%iPab51h#VIO*iG@7mA&H>K1N-$rKqLYblo-VyDRD4_ zC2V0v2m=3JFe*&-{^1Z7gOsFjFoPG&;Aba5L3I=rG9~B)1thQv%5KJ^m08kdFRM$; zq=J=HW+i1ExXR6RrkI`eY-L3m9|`6XKBJ*hW*t!4Uii|qt36F>QY*{|tTusI#%61h z@yro^a0IZ4ZET+@TQgO_18r_oGHh$x+k$X}xn1vWd^0EC2*4ZPG$?SzISz6bpnwmh zNJURrgX2m8xm$!H6q93v5+bym>LKn1oKwQ*-f*A+l@34dNuBKa1EARXArPz!Pwg5+ zfaZ{=Jb&}ugD{jl9nfy1A`Q>-Y`}!)B`$gx8qo%F(>)r&g+|bU00g)P9SO{(Xe1b4 z2g+BauuMt*edeQ*`udktBC$`YP4%CUP9ne{MS%!Z9aEap@IVMIf=wCpY9vJA)k>UV zjkr+PF~r4-TGZlm{%q8tI(4xzi~%K-x>TmdKn5H3K@fsCL?Z#ELp6M12rRe?3vkc^ zC@z+^j)-4R)}DTG`^(w#*@pZ-q--tS#3p zUeOA3sjFSbkXI`bkqJ%^%w7e%$iDdXz<>F16n`Cr!S+xGHK550MsV1uBsN1wS_dXQ zh@>a6>r+c&Qc*18q;-F!vZTz!l;sV|E{UQto8hbjvD6t@UI5ggP?BYKY03$jf?i(A zESUbmOy&e0^O#~zO#@#^W?)i~0%pQsZO{B#*sAHZYo2YJ+~k_tA|RQv#ciB+%bVT` z@L{}lv^NWAr#p)iPX%=712(AL^4K5S zMiAhs(N2~XDv3p?=!0MSkm^+WWodnV&acG~44`|pQ3)*`EAyAgqwf?sC zt#O@eT?=co(YQr4Iy)_HFv}ZQ#9|l2m~3uv!&_u*?YNvljAFck7S*OjF?P`kcO65G zv&aM}GSS<6-2o5}yh9r<0*Sw_dk}S~!@>A)2Q@Y9NHzfi6riBjK_zMnoV=y@S|)@R zDJmyAv2G+GCSDTI#3$y3nSRxK7OMc}y%nc3D^FI*yHH>#7I;c}m4Y-2^jDb49PogT zdEl=kc)@2I8x~;x8ESgQ1QyO_g-LVa61>K3FxWvE%0M>{f0%C~MnFfK^S5>;hv`hW zkc*$dgeS0J$gg_>?Q9TG@)&NVH0a#&L^rzn=mK&zzC|fQ2OuYpj&uh){vHU(lj7z0 zrZ>&m00=zbVj48h#Wu)$-&cA(zvrFIBk~aLdORZ=v3aI#!LNSfi=tS)6a+*OW(PcwK%!O$K%RhjB1GwK=XOf$qbfk~ zjK{@BWbmG+pz_dp#;m1A#6cpYdMZGBbV>psKrZNFEzm3SI$%mD@4dz%2ju6^GOtMZ zj21nwe!u`qprn4d#Q2gVB)|amw(6@W=oDN5_RMM)l%f7zDD4>pq8hpZ_iUjWsqUT- zp|AexQ-rU8jPDD+V6OB{kPzm$7=aJ)fMIq(EKWeNy6+v~F&^b{9&>FKyki=?WgDCU zT$-)f%%~bvD<8MP9N=%Yb`D$vtH1_)fBWQ@j=T%ZF%hPp!V;5KGsdVrK- z!n;uL;m}J5&0>;}GN@hvEJk1{E$)1H#wuzM;LeNVu&b4>A}d`9XZq_0Cjc=tAOeQ4 zm{RTtS1tvv37eux<{->7W=;xi4(D>tG}Ojz68^*I;6QG=@NVt~0t~<}A)o>7#tVfkUu z4lyzjWD(`?#EQc(38w-&#CZ0uc08m*Iz)5o#(4&>6HTN;Zs$S9BR4Wfrq=8&GGJ&R zZ{k{U@^;3~jD!|z(S9(`7M%(tfN@EH(HGr^Nk)PT_yr8K3J)ZR(HyN$l93r_AtGmQ z{nT$8s?iq0ZpLP;uP%lRT8K#oYp&{m3mCfVHu`j8kT`VxnUZZ!5Qq28JLaP{xpm;wEu&;I`l;WWwHN z0=jr2CUQb#P_QPdv?n=6DSRYlBCls8X$E-aOzTW%sH99GhE#+CDU@O>fvOd;f)%r( zE2!dToaQUQQV7Q~F|fws2*Yf6;0TUj2^>tCV9rp(Cg!|mG?pMzC3RAlplvklnsy*B z=b)fKz@|)50>)4=Fb-lEXL8)kGEqreI1GJA_1p^A17aL1eQsr_+0EE#NFEt^!Xbug+%h&ZcvIsxvzMj7ZWXUdaRu=*Oyv#DKW7fRscegb^eV?SbZm zO)z1s#%fQPk@m>N8J?jULbUzF!5pT6*|eiRvk_6|>I?LhUq?a>+-)OF@(&yW9n-P7 zf&hkYU<;lA2_AH1S+-?eb{=&h8mI^wnxPqJwq_@EA(O!&7t&j%F(3ufLrpYAz2RnY zwq}>17GB{Mc0t+}_8FML{xp&mM&V$1OJFFWulmaQG=gBx@guW(Ehh zO-V(&fQDSPA}r{P`m|yK*b6K6bOicTER88pD{fG8t}>wMGZYmIps5LGt}ZZ6ydkV8T4%0OibHym6c4|lJq|SIYL;*hFcH${_Z1q-M zRaZ;1G!=0Xbs$(jKzS{MSh*K_H$VZBZpu!KaFRn-lY?6;U;&78qp}R7qSbn`6{c#{ zTP0u=y(e5%5#%7(T;&X1EpJ_CQ93z~edKjs&*V&qfL`epfa)g)hTtR!C>YV;OhN)Y z+W-(GsH@^gUjAT@U7B$gh(Sid#r?#{8wir0yrU1ZQ4l@_W20as!1fN%pdgA`fjEeTc!(b>7-E*}%&r-3p=NC%8PsZL9WoySl3}-DAuH4yra?k$ zc4lYRW|Q_HioqH7F0yLK7K=m{bKnJtV3H&`lAx;x zN@?Qh(rVwuYI4 zATRTv{snFT1Z=kyaSErBxqC3cIW!6}f!8?PX?TAu4>`wpezWNij{vAFbI@aRG?Q^i zh=i`r20}!6wYPgMM4iF6JRWiBnpJzVHw`(e3^T{@8WUT!)dOPFaKQO~Q85K`Fa$&_N+to-4cwYOpg307wLegoUq=F?wTi3mB!l3kgPV~U zDoq){r5jS~S<;UiyrDii6Ya9`QOE!sLpmh%1r6??Bk0JE+Ta1p1o`Md5DJ8dm3pa} zx~YF8 zkrA$Z{^yc4k9{avVaI1h(6`z|~ZM0l2WR)g2+%=ev43^@SjIMT44ubb%z$9I!1pBH37>IOY>Ls~`A z%-SqmlXI8Mf{~dsD}t&@$dqu+r?RJWfOE0*D%zs^HBE{HU+EixBIVTBLmbNWyaZipNCGsg7_g(`;$(AKYWLPrmDLQk*ewEdL8 zWGMz^Ip1a0*lD zoI7wV(*v%@n2%XD7xSH%HFxfNr7E#_Oa#5rTMg~`ywm%-Q!LuudvH#b?tX&+wzXUH zd)>|Kd%%ZitkN$2+mRjlkqf+$@BK&MN6?B-sn%x)8vK9*zM@U9UlUk6EBwNtBqaL9 zfl|+_J{_B4#FX{(|fQ+3dSC(IFd1LhsQd z+)@}9x-z}9HytZ<#?uEQ29*h!Dwiv$Mry_qYl@Jy(K6>4HJU~jmm3w%wfnRO%8 z)_?g@nJH6w-I!Yd*n!=diCuei!*{)XnvFv^ujhIW2ij*<+Q*m5n1kyOhr0>Sy4xE$ z7PD5LTiku0+!uiEhJ)QffZeNS@%Y;<{_Q9m*}%=G`F|weePrMH-QO{f;1Oux3;3di z(ImXzBrIHC#biu|5z*L$JiTgzVlQ1n_!&5qA5T16-~k@ifjfc$Kl)G;Jf0550LB&O zq5+~!qJfMG4g|F55vNR}1R+9{tXQsp6f0W1h%ux7#*G|1di)47q{xvZOPV~1GNsCu zEL*yK3A5#-Ns87W5_IU$C|0#%fdUoFC##{kY!xkP>sHcROm&4Sr7NngTcxTZDy2vf zRz;z%Y6`V;l&!2a+0Z#lhD?<)U#@%^L+0!oI$P>O>4BpMkiC1Q_^rF;tYA86p+EuB zBQajZjBz-|!Pl=8#EdKVNP;?bRc+TuOwC5;Mh;RYJmoMa#yDoo zc)?;sirp}JYxu2UMDP*BiBA|Yp@Z_}#Z&x-q2hvy2p6hX2mZTwbKbpG@K|!>$C2?z zu$Vs&2hMr(KYn0oza+kvC0gpww-O(`iv9k*Veshfh8>OoA%qJp#Ku8_3MSY>gCJl4 zVFeNVBGeq#1?)5QAHAN!6g@6b|o=`V~GLb7a4WY@y1+(5k|&dv{`m$UV80SMHQAYmYHj` zk@i__Y7P+v7ew$`XKRb`1%zyTp@2eSHqXF9Zo8$>-v!tWr`>VMEvH;_&qa3ub=EnJ zop!`6-CqgciAP>}>tT`J+3jIb-hA}YS6_Vi#kU`Sz47p0fCCnIpbHEB-2w=L4?ZG= z6((S$hDma`fQKP&;3SG0{xtrfi!8PXBZwQ&NMntUH|}GHJ$4wn=tG{KqKZdasAQ6c zKZyX75=I&2lpI`1LGBcA$z_*chAC#6W~Tg@@MEqSTAa$u*`}U>>d8eKeex`5^@0+5 zsG*9IMrWT~JbK3+kNnDsrNw0WO#0n`+Ko8dn6nKx>9|@CtKWRH&ME}oM8_d@)S-r4 zMS)LvNXS4E5iC9Efmp5B1uu{_il6jhTNJFI1uuxf3~F$L9OQ@&s6d4$Ji#n<*aIE< zu!j_;Fem6bgdhabm4_gLEQ*+fEK*^KRNycWgdju~ekcYY{%~Jw_(u_ufCMTa;R$bG zf)XBfnIu#pEm8>n%vl`P1KT`iV{sXo$k37&li@{UMk}5cH8z`ZXGJ@W49(G6aEQ)3?|VO^+?O!Qcjm0Vq+(LWtXt zk~Y-1)Qu>Y71+R#N|&JpB;Z5Kd|Zt>ha(+@Zgj}}5$aN>A|oBCbxA@10%#W@2z|45 zQnKCctfV^%bZMQxdqJ9rx5dgFO?b$w=Ma_`gna4~dU;C2qy7odfVLrg1SRO8a+SU8 zDauU)M8p1`z|aOjh;JaAFvTm1alU7KsvF(dhB(~!QB=WW9rc?BJJ|6J{bA)MhZw{l z0Envr)~SF8M93oa5Q#{fVivS`MJyr+3R6I$gG4Q=QICq$q$+i((<01WfPk4oQ4BD3 z5rWOO2m~mM;e6<~3NFjym~7_GF{O1(iNQ=;V+L2u4B-lMt?LyeHpkWE zEHz%ZQxxvHF}~nH2tX?=(8frn9qiz4mE6zPG{7~l9cKj0(M}_yGo7tnKsdmWB-pwG zp0%CLJeyPxd&(A`P{Qp#bDIy|Qh7JL>1}1Q)FaVuYamz#t_2v7Km}q~Ar>8J0KfcE z=KeqwB*%s5MXOuDg$xHH2|aGQ#;n{lfmF>6@yMAQ@Z5(c7hD1qKmg<|Zvn>HTiS8J zoD0f;g4~O{-Kn#8B>3HJga=Q@B*Be&F{ANrhCF=gGoSpdlRpKDVDJrepy6u+L<3bQ zyIx^?+|z3maCOi-@PQGD$V4VyVTxGrV#LL8MlnF;QE`}R9VdOqJ61IhRi(ogwrEIB z2Jwem1+Y%N64tPC8i`6&0v4Gn#)vb)2p1|s3`}jZlb;ObC`)V`H=)NTy*@ z5W-||5CRh9C96`1OCP%GRj>9zFfGFi@ZJpPq{$gKFNkYq3}x3Le8H}Nohx1^{){Ug zKgv&qa!p?dD}+QVny^6Vuf`lRgCT?o21fADDp3hr-*i?x9biERBner~Mu0lhd0KXw zqe{GuM+N3F8)@NShgi#6)@2w^tw*`q{ODQ>-@%(=G7WdQY-f%{B7$5ot;-<`WmiLzo37??grmtZ)0+h-KmY#RckP zK;S{+8pp%NCCcDIt6{<s;?TwUA%~Cfwi# zLTEvvZ=eJvI8g~>7eeodmQ^#OIn7?ZqFVMFCOPXp2YkCW6Oi^n9V)tnYHWf zP=?sw+HJb7eSVCv1YhqUKW>2a5HNOZWNV3c$KKiK9+QV5Kv%%1{8L3D7SJe2L^ZGa*1FHmU1by zfKkriDWHOLr*bMR)^j}|FQHa!SsD45YQGV>aXW`~nO8Du0^`qXQewt4-rX`iHl-zra6lfjXM2~Z1xCOFM*d&~zZM_8X9vGG1Y;5cx1k&c z=NNtD0w|Cm5&!`Z0Bx(oI>VJX$rMbQqi)xRZ3!TKy~vBz=WQeMB8HPVmqQ`WmpRl` zOe1nj74RUv1&ieOZscVE2G9WShmHKEAVgy&!B>A>;$QivR&WM9X@VJKLU;kVCU4>= z1h^}L_9z#JU=5gY4fuc%7*pFrffcALHHd))VGtf>3L(Y|$&d`pfRNh|Kk`$8>@W}S zaDw&IbKo#4p%4l&D1*0h2alo$2MA=Y;0inlb;LjnMwSe<&@4=#ge%FCE$Nakxh;Ya zE7`WG`pc4jJN}iC?1eFiIP|! zM=*P|cZqPLiJZ6txECMkVFyIu8Mg6e%E1D`qeY2vTO9C;(l?9C2LP9oeaDrH;W0h0x4pa+Ve391n^*#$n}0}UzzD{up5hjt&66FLEuK?#FH*avCB77?bDaMF%( z;u%qyQ2eMXfr2Y)@C7Z}GA~+IuOS(a=Vg-tGk5`jLog>}86TOqN}1OmZYhXK^EH$t z9imryOQVQN3ImOZH}tW3>(P64nI4shm$+7Y_E8^3U77;U!rd?OM&c`AJpu&3$OB+d9FyA)jFH+`A8Ou+RdQSyxL zw;&Ken~w^q6wq(*bvuhs66lJJei2fg0wW6cwHYiBTu^DJqt8sp63A*>mp@4*63RiojAYrIGll zKud=T(;AYnfD5<~b+7OUe=rCN>aE`juHl-5e=razG@v>`2@y0DKfww=*+Mc%21eNy zCMR*w^CvpfCisY=`>Jv+>Y`ULhcGIzjIkF`AQ_4FFqEMfIKU=y!inH<1o@G9-mywS zs)$3H8(ra`6so^Ds-#++0eGrl;3jrruYc02 zu}gt48-HDyJxc<|i%pD+a*`ALdgSMRVj?4ctH~^OFuI^^g#Gf~?{y>!1rQ zh!f6=2Kbo(e@B5a{!5^zs9goB{Aj8<(m!9;21ARJuuaK#8%ZrFvPw zTHpl6&pGr$n11vX~))YN!-aJ6P+cSc}5+ z7C3;qs9w8XT$^5Q>XZN5$R&@5DZQcbpG=P9j8Ef;0UU#x~R|#z3{p`cnXv<3$ehvj||C? zEXmRS;x9F!2wpY3I{^x;01E0t2`=?N0K~kAyO9wkEE-l&gsZQ(8phSjyoK_wQuLxp z(1ih;m0Ffn2CK`5(PmNfh559%S^n zm*ZgvT0p=ryINqXzzduoo1|DfkOGBdY9R}FWtt_Ds=-1lr*rzjyfgrVYN#0CO`iH_I4eetpsiK|{sSo;45B30&vakxlpg*Bo2Lpizd0@JR;0S|U$kbY`oB#^5Pz$#^ z$zd(lV@=i`VGcWy46%?YYaP2gT|SSn2yv|kH#OG^BxHAu32;3ri6Bv5yvo%(F-9ra zgH70DAj?%?7={6(Kr=<)s}_P?1$QM^Oc?}mQ#R_GY5lPSfQP1kcd@F3X`xmf{Q(2d zEVBKPAM-&Tnk2yg%d)Wtd)us~wN?hARNHQ21%1U=T)?uj)&!g=dcUDrrR|ntsfZmg z0Su7A4d9yR#coLQ&a#MYw1dKKYTefTeho6AwRB4Xjg73RjXSJ67`#qhqW(LwiQWvr zw)J;xJ%9o!lQCz@sq;#PEzz5+2QJo+OSB=%v z3gg8>;hJ!DWo_d(j^mGP4$Bf0#Xt*C7j-)Q3Y;)0MGn`CaMwbH36;PJ#Zo?tn+Sf5 zqObfGg>B_VxxI;91%|a3f<0Dhk-d>E*$pcvm3;(SaM|L)dC|PtXqtC&Hc2A@+Nh+K z)u}WtoLf^;o9i|+p>4SwRYz9aoePn+jY`c0z7M+{>TH?F>3Z}zj)rH zDUh+~{iv_$+~@VqlNsI5MZ)DYC9epnrhbjs*dVJuq1(M6M8g4^x{5+*>8aochr?&?WWVsY!g%p1MW)t=}*c(*A95rW)W?EP;Yz;ITT73*K=F{!b}g zV1ZIl7`V9KY2igC$L@0~JI5+L=ix^U;v>Gtpqnl^MuU7A*>*qfzGhbeE`g=DAnQiZudmPG^8e&KnCI&`|>ZIbYh{LE4>{=bHE(FslWA z9*Kbdzk=y{U}_(Pj_9==2BoCiT+ryQ*QJp@=~v&(k2Of8T^t?Y01iN#892>XMf*_Y-2QqDnoe++g5Q)jwDTCB#Lqa&OM|Ny$^MOFOBU;mvMnBxTxwp_*ll^ z4v=fi2|~Ws8Wq&_3a!9{iY&VobwCHC5KZpn8(99~9tH_N0SOtOD*?3e9RKkjFY+MY zGHe0zW8fAi&pp7bSSycOJ^J#P-m`B85F=8I*pVUy41_9Rs3_48hK7U+5gMduaK{cK zJa{bOsKw)vBR{ZUfm0HW8Lf(ADc#uwM;mZBW*%*$injaA3>9#ap;=QOu<~ z_rwVlGxXvh(bsR^5F`S3u+YJ9;SNw0D?aRZZVwzlfb>X$W5x-;I5cnWd)G5&zk4NagQ3hdekvuwaWI_rZ=>(QnUWtVjL~{A(Ll8q0aYPbJH1R|f zQ&e$97F%@jMHpk0aYhVoo~g97D}7<{aY+ zKKbkoIE;312_!l1y^LBsf@V=_QzC@<=8tY{Ka~3d^tqD4~uzssyAiWon=i4zr-D3>v^n0tgD= zDlBNZGGN-Xs#R;Pw%DqxF1hN`tToI25-fxlLNM2`#nPSN0Co?Es)N8txC;fzQnT!? z&A`>{v%5lr4TsfKJFSO$3!V%%gj2ZnQ~Ex6l?`x9b{C5~dZA%;T^x$c;IP7mnt zux=5ONyhFG?5qp9xsK5r4-GKLRF988+Jgj?Oh7Ru7E@?xWtVD#7DvDR*a5Jf0+W^{ zm|zqPg+WjtVMGr@Dx|RflT%u0du_JcCQ-;-M#)5L zC0$t(mQzl7G7%{`iSHFoxXx0`Sh)NWOg@k^6Ad)a#4}FF;jH3KJFmb~P0Rg^A~=kU zFqKeVMMX%_Mjee!wn;0Eh#`j{TFBCgJiQ1}Qa}3Pc2rp{$&TG!wFB0eWQ|peT5(DP z4CQhy!_Z!REehD9SXbx*4Mr%ouw$>~00L&84a-^You#%~2GFufdu_L!>n*$Z{dNX% z1uOSlbk&8bU3M9Z_XL9LUF`(ZxMnk-`3u5KBd`M+tY8UC*lZg1Fo;=0m@lu3m%O9XqOl!^FgtrgFBMm4%Iv~<8@9rFNC z(gt(E(kj)-J?#IIv5;ebqtXR>^xZ!MbWM!jl5k+M#2)^waRzHixo&@ zLMxn12Uin<3G<-myyqDuQzeiHMGRvud8q{g!)#Wx5CA@87N9KCGC%{UVwUq!KrPu) zU;8kFg8tROCQ`C7R|pcLE_baff8kV22;hg!{y_#{r+Lk30AtPo&fqljL`}h@a8DpG z5MhyG7zBe;oC!{lI2g;A#iEd$<8*9gB9jhvK3E+jf{)xbD4?ePnB7z17HTGuh`VGLw|6B+!u5p;LW5AuACL| zZjuHs=wX(QsAW)wg3Ab)zy!M_E-zI;kz%m`UL-hQvW97vW+hX)1z;vKsZu^?QpGCG zO-uT=)vvygrU%-bO$X-Z&2-^Uz4WGF{j$|I7hEd)UcNMwQ&m^dRUI^habh$3&T$Wll_p`|Rjad2q;5`*}V(Z{K8W z&xRHTirVxfiBQ>$Y@{QEN-Z2l@>*2;&JMAiRT)a+$})rjCpY0jnJ5$nmn@+n!o4L? zN+4Wb`+Ap4nTYj@<;}iqmjYSI3RxOpfaw-M0M(t=b*=qO?oKlUC}7LB<@IgQIBJ_O zV1YNw?alg$bG_=-fc{7TFx4z@-1C-=Jmr}$d>;_rkXcPVfnb^c&S3sG0UV*dBPk3B*e<}mB!#0(4)as;jor3DoLJ5xmgcI}IssbLXIx&H7X%v7vWt*uB`0Mlkb z0E{011~@?Z%b$vNDL|EJrY|kv1+QPsOD+~LD*L5-y zvgttS#66pK&hy^;9!;G+4k0hRTi!yn`yaz(i1w_Gk}Ez_Ki}lE7(&Vqk`CV1{MzhIROlcW4KfnlT!Kv6#9B zX^4hWK!ii!gh!wnNBF5PbA?%Wg&kuBu$ej{EJ7nZLL^iwF`|S+fP_TYI<4xuqXWAr z(vn)Z!X4w8OyHaMV56wq*_qq9LcLo`go{<>SkHJr1?ITICXE5<1_@SwOk z05VroG|)j5!_$pz8UltX2*<-TVsjl!AuY;MtjeOD*8>SwS*_Rd3D0AR;E9Pjm;=FE z3DeU9-136sQ9TNQl^^&uUc05*lf7YE3eh1Q>*=Pzuz=^2rVMzl;6o;AD?a2)KIU6K zYum2qn~Q59pud<6_iGe*IhPRdzVFK)@e4oeX_WH=0x1xJd?GJ?YM6SXzkJ)bfa$mW zdY^#Xzx}fy0t+a=Q=GR#gW)JZ12m`v6kEk{2&N?gohF#3TzGxtP+&l zz?*@Dn{f}nX$2H>2K+#&Z)h==YAF}g2bk*qhkoEWX$TTT00mB{ge9t)A;Se&_`x6? zg(NIVlRQb3Oi3FF2XH7NEPFyOi$brP!ZFj3ox#E^jFJl!NKoiNN*IK_BP=saLp5YW zqog}IdjNhwfxkmIOh-9X13Cnc0KCLi(?g&D2|nC3%8Il<%mE@0#L#-YOf$qo1QkV8 zM2xt+Q4>9rSS?j!72l~u)5Anv(Zn*y1CY6`F#&^6e2Gz%Jrkh4Q@lM@tQ5=Iy}$?z zt3Z~tC<|MBHUppvpF;#J)3Qo91-t1wuX6=4tHM~o$t%PeP}o2!*+51h$UlIY zmnNhUP&7OQG!!w8Lb;dGC^Q(4Hpokg>pL!piB-!ykT8@ZxXOZnv~6MmuI$Rt z5*4r{Hci9IvQ$JP=+W9~q(|f(-*L;&3!Y0v(N&8HyTmQ!Km$Cu13X|oSUG}U+aU+Ndp7=OI#a5cOyx5SHkAqscvCo~0D18Y6zB}kh@W93 zH-fMpBJk2ic>(J&O?6YR@N-7%IXoh$4L+$1`@$@GyN!l{6n%-O_`ARP%dhdKTFO4CCI2@k3_gIBax2- zO@?J?25%0FcR+-N*Y5sHN%M9}i2N88aL=ut%)CABmq zA$1iZrNl}+(uP&iyKK@YjZ#_~l)fCUhPYBvyuF6Nlup^SXZ%yy@QcL!J!q;5UDQPf zNDQToigz)VH=R>DwbSauQ}!bW+;|jX4Agd84DfRo@e>HF)Q#GJAFQ3XMxngiaF`sp zR7#yx*}TpBQ?UL+EQdQNirbhb%_vhH6Lqv(U=61z_a{@AMBBLmC)+sfnz}W-X#on1y5Lg|4$!Y@LN& z*o9)y5JC7>a=l&L{>@$8^^sd>24>i?ms{7n3DBd%o9(0pdBwt9$c1{HD1;Rc^DvJx z`Opd#F{yb_f+R?Q9Rx_=UI)2e^+*r##iQ~_SiTDn@MzgaimZrT#jGSoi>*A;3Kc}D zUy1dk9{t$d2w5NHh~+6+w?wr`q)WIA9$2%>i}O1*s1BLst&a$aQPf!pPDNsiq>DIP z_ggNZRkm1czBFCFs6dQ1?Iv;A%zoiaJnf5enE~B!xY}r#MlrTPO&9TNH|lYUfk=T* zt}JVd<>{vFvRm@U@QogM5v&LiLgUY_7tQZJZLj?)7vU0(>+ zS)0AR+gaz&y0p>h%0x_o(z(8Ff<>!<)4~XWH*M24Wek2Mfe!eK6Gq__9_YPDf-4w; zg@yh!AkID+reR~V2t=F|?VD%Aa6clL(X>reB?gy-VdBl`#?ydeDK?H@PQbl0PUG~A zBU9k=FG>B%jFHcuw9j07vhpy2v+a>26#9ci6l=z zCQp5kL0zx~o;e0rz=dPT>P3ErSs(@t;Sfs>Yq1{d{8W%k&V^-2hGK|anDd!KX4fRy zPEt+=y1v2#?GpD8QSQ)*?^wVE6yK9;p%${4_K2EWK5RI4&|3AdEFBnpAult(-qV<1VcDdm7Rk;NZ>KqxJY0-j(o>LSUjYUPCa8?e3 z!wp7xXvH8ufuNL&Faj7b0!6H(N0sKX%nkUnH+`Zfk@mOLpbW}L=qQ$$lve2pl~DZV z+n0XFnC6%^_~Hn&Y1!UsE?eBM`Z!Lwzy;q)!@gcd5Nbg1xGISfPykk8^-g%02Ob(v zKlbB6p6Xgq23W}ItbPV!;Oa(x1yCpjvVL(Gk8vW@giy!@TUds)E(RUfab9=@T6hI@ zH8Q#8++^TfQ{FLqO$6)MYn|{!FUB}P;IJxjk2lVQ!@lx3eq-v4a`I^G{--=q$hOKx zGiJ+nlpV!b`qk`6(xkEc?As7oYIfL@Ep2Vy9TZLN)y6~u&V$$Hjxo7u+6Dg&SW6W?+ULFXbLTlEB&iTv8_TQYM@&RB{ST zgC_Uuc?1M(-$1caGdFr6vKp%wxhxl|=OCv8=_^O#U=)=pB_1{v-MQ9cj_yP<76Kou+?6wg8w2vz}* zSPBTf?Z^57s#l0asjNrSEEyKJh7L{mt>_rWbZ!Es=I(SnML)@a0w72nJn$HbL#*#s z^$|#QfpB?*a5R>$*s(v`^j2ovct39X=zH@Y$#8rB379MJ^&#Msx$TWBE)!zEd|?Mw zV_y!7YYvlf_GsU_yvdu;2dgJB{cGp=h97E)k|_3A4}$*OkfX+NZs-pl5|9`x_hr=w zbk~JxD28V^aYa@JcP9p7NCr*Ng;nr{dvAW{fBv;8g>yv&K^O(J26%xlh9bv8p79$E z@$rOD_zV#oQ;=Mh@eWU1K#&QcDQ8fP$9S{Tc=;DAYybEQ+@LBZ`I|6#h>av;rYwM9 z!Q#b^9VrU#fT3`qLLM-9@K6!aU_lrNcLc%MgbPP5UOswRBC<>wJ0|VGNeRahoRcbB z+94^kj3GmF=8!a5W=oI{v%}p?5EdzJC7#_S>Tekivz@kl}MD z5uinY?g&*AB?^%smJOz@n>hvNg%BMUtouSB>C&cISWX>;2$8mX_0EVbdj^i$I1Cd8 zGT1Qg!Go_PxiVzP72(5)PmZESDD&n*!9b5LeLD5((%ZC=&e6K|?OgDH2PA$Grb?AC zp+|peJ^S^TTBVPVi4%SLrtX_cME?<|ME)587$79E#8OK#%PeCKH|wlZk3IV6(~pD` zQfN&u(M-ckG0Gfsj4~g7I14en=FJVJ^QRzUx}4_zt?V7S;G#~PecyhDr}m$cXbegYkIXSFg>`9 zVaTurDQp2Tbznr9%u@+I9Ev0Sx(H`5l9Aj&s&@xF*J&t)8irA12XI*z32ZYP99#@z zD%6c`k`Nq@b*wlb6IsYe_MDSV2Zvy2*~)qtoj^f{2;JG?%y6}cGSLS;^x+v3o47Ok z*oi)wFd8TzQN=1+5frSj(lWNe4R54_9q(|^J+4L}d(;CS(11oWobk1OU{ML|wV@-Jx(LHA=u3F^4k2?f4L}7l!Hbv+FgQ5jyHsg*uy{p(P7icC>UzSAO7@-iN$C|dz`ql(BbEBSG3~c9?6Pa z)S`>b{@_MB*1--kmeGv;fKWZQ*2XtJgF_wK1vBV)qCmnmu5z6#UF&MsyQ)YUTPsB< z5Shqibg3A-CEGt;SQMC(|2U$Q&iv)91##;ixG?l3xa3KiDG!<-N+sx^i zBq`E-NlRjdljzaPBw^5ln*gC0K5UPBc2J5Pz}H%09Z$CCOlSI%mA+#!WFhmU=Xwv) z(R}Xne&#|8!0MR-xs-GSdgH?tu@Io8kxb&rkNkU9r2*WRY%%(IPS;?Y;XB*Kmn?FFj_>SnidS(vE1drbHqL=QD?Ns*(_$^)SNkvv-o+W77^!V zN+52FR$|6hp|%cqRP8}wrO-Xlcn!UF%^A+9#v7GU3}!SV8o{_DUi<9lKLa|@g0?F* ztTB#Y=;9W(umx6^M2jj{8OxmAk}1P9rZO!e)0$p{nd6<%2!_Xt*@Olz7#63{ zrBaYWVX9DtF;oG@Hnl0olv6TfDmm&gqfU_9kSlxzIdxk1w0NjXU1Z|8I@pmYfaFvk zQ((ezJEO%ea@O{xPTAD14wKN9W+f|yS&NFz1>bGajAlT?t7CMKKK|~p<_Q_T9nny< zIK)3c^EkEb*BC~#y4%d`To88vO# za^dC{6!v948e3!UuDDiE_OUSqZIH0Z>w4gJy48(smn`=rhOk3TB$0>vQx{j`NrVGC z;s5r>L`sm8`Mevv#oGaD#Z=ha$z4DRlzb!09}d!0Td9O6hHwKR6!CX-N#G@({0RT)EIT>3oM~Q z)}_v6iI&!-4w~q}rlpAw3Ce%WiO+CCD`1k8Jld+^;qR$kDHVv7@EzaP0xRgSBo`k4_I=F*0ke)d-UgR}iIzU4-=t4Mj-YAk{DVpLb@=-Qe zLph8dqhS@EyuvJ`9xSY$q?d6{@-d>zA!W7*{CWOh9wL;vrT4S-@ zET|gWwVLrAUlJvs@=XrqG@o{$7W8G`^i`i0T%Q&GWFLI-Q)*<2@f@4@k)N`iANr*q zb+MmGaNGOQqe(~t{TYJ&;h!E%&KdUK|0&n1U;!N1lCr!T0(!-~eT4!>3Jf%$14dxK zK?(&5jAfLI!eGk=-e6iN9De~u2>QhdkU$Bdm=z+%7>ofo@j)eU+Km+o^aX(z>_BVa zQ%3j;XAI1xbc$3&1O)CIJ*fp;5MdEs!4Y;}5*~mOHX&_1A;n0cVHh12A{~qk$7D2} z(}m&3F$Z*vVHpb99pIjvh({W#At1Ej>|rBN1&WZh0UE{$9e$3Lv7PVfdf2DP1T6iJ{TS*MuYx0XyP_VUgLSgCkBHkqGDxQ=4E1LX4(ig z_=48x0;9pAV5L658m)*Wt1azVv6yMpAlpyuySX2wj-Og33Yv&c#0=^o`fVwLigxn zPh=WDj%87}!h6o2x(VQX{uUrt+^2r#r+z-gLgrgTs(=Ibpig=R4^YtUVC2D#z&u4D zdu7I5_*Vb{*hpgNZU})844n`lT^0Dm`WZqb-~kv|L2L{GbrQj(j0Od+hRUVu13F*? z#1m)01#1xDWJD*wV9UadKne9|znWl*8C}ZGlyO|84LL`3cqR5|9qN>2>PSw_R%y*@ zU666pWpSy0(8uSP+L#h;nYtR90^*wLrC#R3qAl7oT7L!y#x*_!Ry?vaITjgsi1q)zH7Fwvx`=AUTlrq*6;e(ESKV=F+~nC7O4 zhzK$40;>jJaMlO@dc^8A&T4cdhezBh^}&vFVqb7YXRpTOM-Xdq?N+cFK|5N(u_CM2 zEi1E*Cwb;$K0@n0HilzdYf-#sG;u3acxwUL=YEpw?Pi4v9KpFRM8&pffo9O7d`dwG zA%4m0ygDeq*(*mnT)qZI2o4Ym?Z(hip^&;sO+-Q-%u@YW(CvVjYN#9xltZ3w4P$DeIhaFaf?_z71KOJK38Qcd|A;UE zgEh#)Acg+IqpDp+y{&t^2bgl!C9USYECL(at=%3G5*;I9?PjT(Dyiz`ZoZM=3htD= z>fsKjH7f3OJV$bT#N$d6Nl30ZQttdzZfYo#c4{uMn%_r!t{Hm)vZ}G=cwKrz>l>eE zO`HVmVjJp8Yb3Dbcvxd17zHZ$Us9x7dCKm$u1~n$u6|m@eul+twP=e%1XTpj!KlXZ zqD4gh^@(-RIw)D^cyv9d*GE)X!VfaSDN&>L(L>YJl7mx~Hvj)NGGFg1s{z8a# zE#I3LtMB?=kiYb@FR#=S26HgW?+O(&#u(ko(o_^EGZ}uR);)7^QWrIgHcCS&YdXd? zyXAjqvwviXE|Qw?p{lBWG&v6r7ooE{*LE@lV$1rqt&<^9@6`gAz_x6YDiVWq zs-~(Q@`6bpA7tfm4|kH1e%!51h8NiC^ih)*gX42{aVrx+6Bsy1NE>X$p!g}cv3fxs zc!7Ak33UxMx>-0;Lo5CLF(5NF3*vDlj9VrAN#^v5R0pIWTlKeU^@`8_+p`#qLNv0v zO2kxfitSL~@v>L){^W}?Hb6C;!@U6i@DE_DOKkKj5D<`V5C)pyfg_|_9;Cq>cm(4{ zK~)mr$J!)e&vLz;TtPU@a1cS2>++3yR8XFfY_ynUw-hmtat{E<7RnIE*ie%KSrO6N z)`j*o|L^KXR-Z?ymKN}3ZP@|0nwSnQq?zhqm9sf#)orgcJDW3t^xYa|t)8|6)m{x6 z)q^zTDLAA9)P!)J^>#E!Lv)+^siV5)eF8#PcQgRzd8?f)p2Bu_w^Jn%WK}DtrRT11 zDtX+n9eRmi36@8%w|f%vhg=MX z!MDfYf{UMnN4R)bv>sGAhQBfDmTt6qI18FbrkRfEAZ{-lMN&9yjFeviYtN6wf%yocWbR@pEOV35GfS~{o%rCm<0lwoOYUNtY z)ZBE2MrTY#1c>#fXgkf#T!a~fY7l{JtW<3HMr6k?n-`dp_rNi~7|GDNk=Y(J=lN(; zv!5e<(wDc-n8Kbw>MOW5T_XBm2_K|G2|5E#GH3{yaXpzGNHfrpF2wUYw1Ybc_k=)* zKIADotV7g*us1~J-t zKaIb*Br|+Q((5Is7s8ZA2TZ^S?A!<5#fa_2#5kp4Fu7FIUZE@pSE>OR=yGbC!3DiY1GotFNJ+x}3iU`(k_-)zWJ5_J`7n|UGwj5W5;Fv`k`zMmTi*;fEuR=+Va?uo#laB8@z<#~+qh5{4#uPyxy)rIeC~ zC!2&}hb(tUfy)uR{Bi^hG`N7w3$8qq%M@5xlT8*z=wN~lS01XX6z&qm%d034KOxBBMJe7cr=JKQ@B8d2uis0QWdJ?!3ZND4T6XvqG;67ApZL_ zKuB{~HP1Zvv?!ridx(fuDQKODB8xEkLL-hm0!gHiN;*lUl>nho!jf!SR;QebdKTJ5 zq@6YqQ;1Ru+uUA(3aaX;vkLyYu(axmtFO#u2D-A&It!X`!f~sedg8iEAG`2s=bdo) z^2?iM{Dnpr(gYru;DQZ47~zB!UYOyA2aaZyRZz2~8FY)W?lszI>kYTucVrF@!nrCRP2IsMy3HRdNI8lzgWA8wZ=#4lc+CBK>v*Nxo z?9)$+{;VjlJupVSI*I~EZZN?H7lhElK*O#OL_6PhLbPPH@4+l^9Vm z#K!w_)R9OY{XPaWa4g{HTMHjy;9>D9r-ZTuDmSh2${jv^G=(qIEc498vDETW z7J_gS%n9O@(}L9HwEnZzJri;Phzx)bLW*M}kr9;-D;Wumk47Ev(GfBqp-dGhRUvW} zmXx|vBe)>qYUl@?K0qx6oM8x8U6)lMihyY7d)ja90g8$+x=4-mISMJHkElJi*pyg0 zHp2Org*zwPo(&ILPLAr|e@wwvwq6kn19FQOt=I+2cqXoKk?UMwDaOvsWtL_HCK}-w zhcw#J4tLOtUiNs$JlqA2zIekM-)Kg^0_HFmz7U2nl;I3%SVJ2YtQ4iV#VwZcm8#4F z7T)<8CNy@6+q6PkAL~tuB1Ezjz37RUXvNA}CYA}pY!}$E*%ouAvz>*@JFnplCxV8D z^B~P=9YNZA{^HZ0ra292QY#SAur?~K1&3>0Q_$DK=900I?L!`7TiVnnqO_sxWG(8+ z-0CJHygA}V_t6pG`t~=#U6OEuqvQ{?u!JLcZc~p#p5!z|xh7fea$rgm49s+<$(_=2 zYyy*)OozJES)c=WYMnq3;sO`QZXq8Ml#Ep55j60DQKU*$5QOKY3yg_OQ(DsUn)f{D zVJ$$)98i`#6(HR%NI{Z7kt%#IeBz4;uFiJ_HSj8Z9bsRvs1-kBu>@K3n~6>G zr<|gQk$=ni-?NY+zyV^*fC)|LYZzDzaG@(J4=h&%(WNtW`KuXgiH0=7(LoT>s~+{p z;5YXEg~F{s;}$nm=}KAJQkT9IrZF{44sDT(WT1;W)q%w+S^+XC!lq+Q;SI`|cp*JT z(Wgjk=()B5ov}D{Dl_9^HN05WtAsH;K$FR_PJ%{Xu_tM5WSV`PW(WP0L5}~SV;%2k zRN){j4S zzJ#3+gm8zL^dd%q4M`%@fJ|)?0dt!xlch4Hf+I}R3e_Zn)#`X$0c8nPj~YS_vIqXo z9^e*N6hR0>!p9I>MWlQe`NDeNslGqVbGY@4-%E;>EPd{?SuWb2&z|*)gDOQ^25pK$ z4ak(0y`rJT;Kf&*^FY<~&|G1$*cX|x6@LLHgKhEXN9_^Pk?!j+W&xN?NnBzRpBTj{ zj;Snk(Tq^kG#9nFN>vcM)7l&ns7PeWKTn3Tt#vJBy_pScz;%^v9Qnvzq$)9$3XhlHbPj^0H9d z)RI0srRIv(vpn#u5qNMpP-Q8#Sz4`=CO0`P!FB|utL2`_Rc@}D&l+Sy>AfP&0yHSs_+zveTs8D5Zdq9v?5};5k z^U?|kRVbf1*IS45)#1JKe4jnXc0Xm|&qc`jX^xTD?^pQS-vMSyfd!60UTEv!Pib(2 zS7X76y6maw;>I$jF%1+#V=dAc$HwJlk9vV{AG&zdSO& z;9)Leyc%ZkqAIvR>?v%lF@ERR$9ope9NJ8>LGyGLRdMLckc?!U{y`b)QMZ|PsO%cp zw5TOT>&TX`phlt<=sjZ<^O)g!W-hFCROmSn$&A{>wgV>(bp}p-BSaJ9EFwjKt^{8- zR_MN;!tXZ*YEcxu=o&E=(|~KNWGPLg#<~FxmTv5id~}3Xhk9})@X<6mFCR`B0hOpi zE~HewgT_s6nw;Xnwlxr@S(+}^w8nL=Pk@5&@_KeI=o4;%P%;<|dp7aDg4IMdgdqfI zl_?Mt3^V{G7%0z^`ho6y3Utj;T>)#=4gz+uyZr#=V3)V;fkDPgUfMmxR_9H(Ijb;+ zG1LM6>6_;rhGoY2T1aFsDM?Od;w;|$95<#Y-~^5U2`r)h4DKmnp%xN~H5QIs{G}@@ z?p&f{8%oaN`UT_GLW9O3q&)5(K29G(4jjCJ8`8lXNbZ89fiPf>1zXSsUl0agNEUdA z6>?!Uk|8X92o_v{=X#E(rpW4E17!RxLx!&C_)O1ISE@H z1aLR_?^v{MBQC=0(4#=oz>V|07+Dq`7{Okd_>xog!HAs*oOVsTaF4vcC;e!J{oD`! z!qMH>hyJ(D z=z=zC13R!@>OvpNVI0C?1WAtMykQxjK^m?h1}_pLGg2cr5;7(M5opc^odc(KA&7X; z6?~B2e5%Lt?yurXm;!4yl1?g|0cUFR3AZ5%p==7J?is9*I#$Ltib4zVKn4~eLV#&To!4X6^W5b?%7 z9x)LyYY`pqa2(OnAdhc^WD=_+^(Y4~eFXY4k$IYD+qy3lO|N-2u|GIZ`k16iyrlJJ zX-;Zu_H=F67DD$ZfC3s|c7&iOFaZ{Fk>^|i5Aq-lxPVcN@AyD*OIC^1MC}NmW_iM3 zL7cH_*5gwOv)e$0RjzR%3ZndK1^qG;e9&tQ$bdM(QT{rj4TgqT>d-1-f}ip$Zis@R zfD)*-V>=q?D(F!=5$FINkX$Sbqxx|g{_!Ruk{eJcg}@;kzG36u!X54bKI;Ns9FhdN zp#mkc87guWIFdj6(?9=H#S}ph{%EciY|dh+V+Rw|=c>%7{H!Gtq-|2fI%cvaZSo0o za*KAd3aM@uRz{4Jga1;ZD9;Be!B8o^fGNq!3=;$@uSV?{#LcFX4zUvd(h={xGLfRl zh{p1;Y^)WG2s~f|=@KnQ46)H1fh`Y55p{$S-O_L#Z!R%SNPvVAEswNdU&lAvBe|prAO5^Znor zneHGt?+=gcY#pH!TC~OfLtA0StP@tjWgf9p!4R-Jy^||2Dm=ZR;<$l4n{FB`5Iw;` zJ=t>{I;b4vVlL>SgTCP#MzAkP&Mczg8e{=LuN7OfRa;$16Ih`ZLQ;Zsa0gFvL4iso z9rQsDi4P}~7{;PPtKlXw)Mk!>3ZpJ&rlUi}=oLWp5x5Er&dz8s;tLCe3)0{{?4!}_ zfavA`IKZH*(xdB;ax}RBuVS=0T|$2L$wqB7WsqaAdg?ZIRAYMdu&M({1(6eiXcmZc zP)fuOkTmiL#}VzoEpNn09cwNp4bpgIQ|@y0OfO5zwDY>u3z`7*22)FHGd_e?G0~I- zhUZIUX-!|Cwj}=3Rr=%v3?KtCpapn~Cmx{}=H{?OL0a%YJut%f93@OoZ%JHpdCaW( zvI(0|bNjs1w1^=5z)PIWi5oYSxBmA0fPf5!lW^V7{o;ve+8_-U7q6(&4PnB{@C|@+ zgNnk132C)fw^MVWV&NnTJa<(f$MXq;H6l@nSlvZ~I;b6#RX*E+9iG)2qSaS3N(Hyo zc5fGVb2l>%0TKxGrnX@$rb7r7lr~aQEQu;@*oMz^M+sv?Cg0UUn@(O6tzMz-UVlA3+c@_j|o2N@N zG1{cBN=)x_b|7lkB$r+Qg{hVmZOv6qfEH0e_fVh(G64Og1ru@+xLlzV79l0p>mt%N zyO>E!E^nHkCJc@kZvR7>vaS0-5%fAmRlu)xxQG4J4GN$DaI^StJ=Ie`)o{OHJ;Kmn z;jC-65)XT$znTIlU$w|E*P&wdI^7sMxrM>LQ&+cwSEs=%z5>b2^E}gGFTmj&HgFuu z;U4xu9qPg!T=yHG0X^$;88&JKb(fMW*^+UW8xA283Un)=5N3v#T#L8LjA-uyi;&b+ z{t1yT>23ykjCy(UdOLK-tVJh=r6|9^oxJYs+LwF}uSSUOanl!Ky{>($lI>n1 z5|WT6N+J<7mVQ&!He|QTR|CcA<+~qEnl`qGRYBfL`NKLlGd_- z=MsWRu{E`Tg0m#ln3hZXLuvDQX*~F>5_1WT7L{D<1xz>uWKu`2i#S^)$ZUH(6Ld6=XnEkF8 z3LHWSYTBl48VJgb47hlw$DsW*V)zL5K-|iSf^6`L;uSby;GRN`c_voxl^B}-npV%n z!E_ZGE(|>*&^))n98R#Sy+M!%S%coeknbUp?V^L&AsnKC1X0L7Gin?r`I6_FuIoA@ zDS;DWK`W90CxKTggwPcNyIh5kh*%QP{tA_!2sUOxDxf!do$i&lD3&)=J7ys_OhG5M zs(ZIimyhOO!N8aG0GNZh&CvH@6=i)vd(Dvfag}-RDq$S~;hCfPIgvx(RuW{bc|mom zN4GgV#ON4cA)E_wv>m~m<8qyIM4i(aN^|y|Ju9B)c?ay-FS|6KZF8RyGun6&`^n+;5}50Gs|s4^k}{y5qT% z=EDj+ahsZ$+n$)E@zxskHoUC(ifQ_$YkCVD0-eYpr`xXzIy(x`0PNN-4D`tNdQ@n~Q=yP@Tk+s^7N$xL*HLO#&tj{_w=98_rI+Eksu74cJgIvV|VHGq1 z6t*QKZ)$>sx3FiUWOJ2(T~VP+WHTejoC za$_eR;UgM#BX}iI)`Mu8C=Y}gm^TEk&Zw)-c2w|B&#GKSY(kL|iA4;ppIRhHIYC;a zGe`k2Hgd{3Af1~z;TUWNv1G(ZA*s=hn{UopWDI;(ct)ys|idCQd6B2MQyV_xJ#P=+@%o|#q_$NSU|$5d&)`Oq~MBaXQm_k25x}2 zfRo+VuL^#+Q97JK=)7c-ir@Z?W#X7tgI6l14yvU>!YC@jbSB}?h2r#>;`&8bSBM}f z-aH@KbkkuS*nu6~0$$AetoxzE<{=tj_dLyE8>S%|f?+>}+~r>$=55FiO2HOlp%r-H z2E{^Vel$fyp$D-lV~B0ar~E{Yj;Bt+J1(YO9Xn^b{v0PGJ445O%$v;2&wPP&Y{&SI z%@HMi)(aX-lwyGcLG0W{@O(J*+>FowBl^6xW1^HzInZMQI(wtgZR60LMT{0*5FPzB zlFmB3#kaY+(w_mbTwzcS?>;!)(?wlo+0uatN3y1LQ=lf*xsMVz%hf+v6A!afxT#Yx zAN0FjKYS$Db^VCB0E$hmO;|wKgFOVSkpVKG0s4dk`~(PQLJumsq8Wkr!|@BM01Y@g z-_=$WQSa3^(Foq-+QD?(ulvB8pc>J=2PonSzJS~^)gh!H!j*uxPyiy7Ag9xcgo+{v@2&!0ep3LQ$csL`WHT`CHdE7mJs%aSEy#;h1IVzXwQs#Hl7tgo|Li4}XQ zY^6w%B&C(awyoMoTq~7rm37uGV%75M-CNBWvyywC2_CGhuwiA-W<9%Fch|0BtzL=c z#Ocu^K#%T#0fQ#W6*XVfpy7;WbQ>;Q^r%*yr*$4jojSE$ji*hU&741@xq=3d9^bzg zEs9H=E2iU?A7M&o7_mbTLQjDf}%UtAFd7*Rwq1Q9#z z0K*b0#HnG3A(nXJi9NO%M4K=$*yo*hPWWREGvHt-4n6dc#G+R$3I&x?Kp}+`LMUPB z4VVfcgbP9dp#%_8B-%q2i~c4N#g9aA(Zr5BwzisT!x?wnDcm_`>#eqmr>ir(_Uh}e zz7|8(u*8;R>^8azOYAhuFuTk$%|Ih9G#`PpP%|JUq%AlfF|^J@5l!TdMe1bK&qnY> z(@e7>8GBMnNyRJgy!6&<@4fiutM9)23bj-&raTr^Rl1sI)+w+c49j_AnRV7$Zn=dP zS7n`&)m6JZ!xvxM_yw3=gAsO^G8bQrRe6v})(T~oVTN00yooj%ZeX02#;dF0*oh&A zuw@8szKuCEXPnvAhH7{ScUC2s5ZBysoHX~G)U!(W2xW<6OjdOTmg%w^H(Zu0C=0GHoA&@|Vl1Gxj}J zYNAvwI>z~92r=oTl`3(A5G`=ZX{SJtk0=gF*9o))!AMlCv&shV@R#ydp8lb+3b+?1qHS z+-3gYc0B-s5U$1vEoG?}k6^?j{y;o3j6pP47(x<;u)IFOpij_~9N{#CA?so9pa&Hk zLzhs@2pIuYi4q_AfN+H?kf{n)pp^QgU@7;(&js;wfeU)DQWW%{P=;F5kAlDjR?#Ma zPJ@mCcWSaW;))m!>awVn#XZ%B(<;o#OcCW1m0 zmP;QlgrN)vwhVD}V;kSlVG-BL*0#F!t#FMiTOq-UB!(vz$>0Sqo@k!0_;q1aB#RZ% zl9sh_lZ#yeY+bJ645QvKf;hZkVA6P)tSsh$i#eGBX(3AL%n=ZY0D~P#lgB-x;rN%qsB?CVJ#7+piFY9LrSrY zjXZTpWn@@+3|!#im2Z<}ed?39?&jyaa=WE{cIgJd{f$AI3+7BObRlCpPD9FEW{k8j zU+P73bSYAiHL+QSx^1&9H_Agez0f06m9t2$gPoFIa8B1TfB_kRFb5JP1*l=E7rlT5 zmmX1v;rVk6Wa?=0Q0FHYJkLQeS|~&DguNCsuX)8J=AL$dszV`aqaAIO@z|%nlHQ;N zKn}7>UEtCl-~gsCkZFaQP}4Lx84pm_g8+>)7oL{wfNjh&V|_)zp-wik{zpBkV-3<& zf@mwM->_B(KWHthLIWJ(@W@BF+Kv>e!yRDNM?LD14roMWD$MA{S<|{hxf=S=h)%Sk z7Y$cFRALaLhy`7W5evQUbv#+|t1DaqSngEp6r#W)A$=w>FHX_2A~!`aTVjBBDL8Xild$J5>c%6M>+J;&Uc{$-VrtDKwoU;2R5?)d963CxuPAJjtgM; zQSxSIq#-Fub~AVZ3s^7$2vdLpxN||2l(2;@FoH7f#xQ08F$OS^!JlPH9zpj6gB0}1 zagU4d5g5k<7q>W~5`EB#N`#u^CE>>8E7hXD0E8+$N>c0-GD?9=WE7mhP=y-O5cG#C zFL2?>PzHn^Dxow<(u${GWK2)5BGkQjIWL2Gpx`%lEHalFsvFFznis!#tEQP-CEO|s z>wJ%UxTA%7hG8?PB9&yQ8X9V4wCG1q`qG>J^faLZAS%HKP{d-^mFC4OAX67tZrT-r zC5yEm2C;~>B@$j)SQ`UhjiRplfoW9Zt4n4wb=O*sSp)ur9!FdtrAh2WcssB?a636I?|?OA61V2!M z%d|{dARm#V1(`!p5l2lm!e9E)IfP^gppzp5h8iKaCMm}xAut0S&;dzuBq{d-BfxSn z7hx380Jp;d>azuvbYbd|HIJ|db+89N2Xp~7P;By0=tU<=$8<2@bbNwdjT2+tvme`GhXd=Ba%;DSsQ$qPw((?ArZkxFY}kf(B_kM$ky*qb z7>&gjjYWJ#HF&HhSxQxSOl4+>=MjphW{<~s-{28i1rZZbXDL*9_kekO1`nIZ3{t@h z-B1nO0D6UndbW6rxR{H&*e{e&39!Hku>cvwunV%MGOYkufVF7}V{P&`D{(BJPh9elnUFQ&)?8xq3bBW7 z$wCWG@e019C7bphvEhL9fj7EzZxc9y{uOvP7x*7oz>*nQg3qG@%5;P)w{q8$Ju#^Q zCAgD6aDpBr}BX>wm2Y?Og;G_&vYRc)g~sA zA;qKx#pHr0LQX_*WH2>8IhF)oCk65Zb}hgG91vt=M`R~J0(v+*3^oJ#vnF8hhi{h# zNwWx#K$=XWd*N6Y;7Brc@eF?_c#jok#=;HTK%0eEn+L&E3$YL!1d39nW^op0XeJSH zR%hc7_mnX z#E!k&412WpDjIu~npM?BBxa~xREZsXE2^!;o<&tvwY5vDEvl`q{2$M|^Y&clT<1F1 z{rldZFBMAaUKi?oh4iT`4I2*ekh%+HV)s6|=>g38*ss%~AT*kqRZx6u@;-Dqz$*y#UyC^OEjDzAe=#xJ&i4afi)9W`P)sz{}_}B3>Z!dpHC?d z@X28bQI`_&94}<$2IqPLuGXP)*L_0n_oDo_gxmn^eM34`?TJ#t);%@0vXc>AT1hE( z5shl1bQEEXXw*+ZHg>Y;D7Sel$2 znawV6=)lc|2vQJ&T04_j5Myh;Au<&pHbl@eXW2AkC(tV;TJD2WBUzK%izMZIHMIS* zy7Z=&@}+5Z9KQB%UKly*8i>*qWyaxYn<){eAj|b)%pt-77L(^*67OcXXHsY`7aP=R z@%1#@$*r_-L_96ni)b&HhQ39Rf6%9hW}$LQjKn_`c6NhixPy3VCYcaz8`WO zv~$g)9!yVibOx&|mONZeXjv(3AuY3zAi{%(Lic#eeeJ=^b)|iYY<=U%59vtnZh$ts7REq<-vy#$tiJzQRIwU_Di2Cd4tZgWtLpkM%NoJZ`^Q33cs+@{>XO3oG1M& zF{au&8v>J`tc9#Z0DZlY4FL9fklQaARRQ}b4Bn_AmeoP`uQT%te|_YHjs6vub4TerB|thInQ4IQlKL(N}XAM9BavGV@Jx^O5LK+`Tqg@IzPxuR-Nky$-)< zqw1)RdFHB_zVH`vRUD22uX45J6+0m%;4gpp3FsjJ`p^KrenB`9;H3c69=}@$(Ma1!Aj4SiTCv2=v&61n)OV4(c~k1L9{%p* zvo{)aXa7F0b}_%HG|{~wliq~LVh84YYKS%H&(CyFbT+*I$sohfE?O9LYrDVVO-@l% z>05i0VPQq5LEEDN&gM4*t?Z9?aS!@JAp1F7FsH{=2kBIUjL`(lL<09&QQ)T>F1R|f zlLFaD9Gty0-Fs`gZ-y_omwn++OL1L!daavUliSNvSEQ)=`~=i-DXsC+(;uZ~H|{^J z4@A*lRn(reEy}mwTF;u!4#`*$54}P^0uRQHV93w9{bfq19t#1^Z`Di{`Vw?Fcko z?>f)WO&Tb%vbv8vFrr_y8iup#8BWG)~<;>#O9?uhO=R=@tuIuK&0=w>L);y)l6-5xeT9kpA?v zc$Vyf8THK^!TU1<=CzX*`ae$o8&n*B^^+?&uNfk-LAmx!k) z?rjb1vzgcE8h44;UwTsi6KMxb&sN-QU;lf4Xqh=7Rx}tlmlr8;bLq-s9l6kUaw5_a zD)am@`uV*X@s}N*KXqAK9zD-t03UJALp?)A_NqX$C_nuo779{waz1Z;{t=w^_s8(6 zKdrOdTF?t<)Gw7)U7}_eX*&gzdXj%+y2xW8vrMShPyN zm3aIvSL*5-{awq?oNvbO`Degu@7gw_sFPJ@p<3+Y4C`N#*w#jBfpZZ9z?z4SN&L3n zR}XcC=u$kbC1~F<PtajV0?p&81 zhjmK(wWJg!AkwS+Tp1jk06+xF|IXhN;Ya{K?3J0>tB7L1G$XA96Z5OBVm30KB`McW z4C0&Ld*klf%IQRMm7zL#BoV*s*$|F597|9+Pz_vfK~ z!sXMHir@+uI~B*C7>FI{)Cup>oIZ^*N^0vuVx4xcVNe$wafTbEwbWqJSA z9M(rLGE@}<+I*A)MjRTK(5=}E{$x}`9vsXgZ6D99 z?(3f}P!&g_buiV>ELK_<0f}rc_wA}ohJ(SHEK<2rdV>j1qHE1plu$EOdPx8fOK_^O0=(E47bW6+A4>-=BS7o;Uq2J*QWl$Y^b*NS$NxhMEQJEk^48D zxrd{-bp$<5f){INYq3u*d^cEXxzy&(c|oTyVq=KN?kf88%k_Wu-;-MB zfoOH5v9Q%{-#nj6%qRqFfF3yfqpL4UBo1k>f%i}f(l>W@b93pTEor7z)Uscrm8>(ZmI8kJUND|eOONI zr+pBprJZ`Gg$(GAFNgNf&~UqmPgut&=z8T2ROm9lrkUg1_6VKd0wxUSF?&b&HmhlS zV`s+IccZr0D^8*A;`xVBDZ@e8l|+GYv72^zVA%o_RJDXxBguS&%&$-lzrB=erCYni zsoOq8%aUwIZm>As)!R(vkF$^>KrC>}~dHC>nl7j8+$U zM7!^67KL>L@S}nH1TKXMq3VqGDp)bADu)IpQ-8O;nk1uWT%}k~>XBBIX)bP5%<7;O zWez4V+-Oz;(yKBQXJ}~Eo^#QeOx<>oR8ap@8eK{4$!UhK<ZpJ zREj+nmWXD$T#6bIX}D4#S2na!de2%O1Mu- z*LZ|^&Eq=r8)O5obW~p2jyCIF+ELP^Owa!26_EXWz~w%b=OdAnZUyd$6X z&iz&{y^Doygy(Q8#;gGTxD0vM|`|TUxrdQg(Eo9)9na&9a+VO z%Ao5w6FH5A!4K#*As@x1Og7WZbHvGnAdwNNZbA81>b@6R$b7}|9rDND6@+Jof-8Q& ztE+mRTOK(T{FNw#T2eQBPLr4Di0^3g_^Dbq1ct}P8OT^33RJ))F@D`_k(!xu;k<q1%B zbUWd!c&N&*>p@9a_T_ZNh zy+Q6b-1^la8&o!#WtuIQ*KlJyLef$@vKg!6{>JuIsHRSwkSovg7E|TC+>)!2DWdzQ zt9q@Bx^8i=9=``g#E%+!yA@#sXDK^6Kk}!U`T@{~kuLHaC(}5GI`mzFsgX*-%w>Va zk~EVGAF3>?crDFLUJ^j~Hp`N*&~H$m#$4T6e<9T_=V0gS)$&KC>RkHBxRRMuTMV=n_9rr6l7cH9!9kUw)DrSsj6Yns#XKLw~w^#d(82$F4v9{v_hgJzf4s5V4@hNfOkU z!UyZdZtb$q{BC3wu+5&oqq%fBDC|v+qzLl&1^+7db=nr#C34@hz*ZRD_uzfOqIBf8 z$2pDuxXw)R)L%n$>PwYeCQKt~A4+_OSW~!344_Pz7Z>-a@ni<$gsh0NEn|)xR*0|GKxwP-2@$e0Bw&bD+OXXYSl`*=PAS6Hr2Ps;lPJEV0DxYThga z@kgzg7;!n00+VX|8TvRC0=c##0) zGxW)x0odv<-hE~hAhk08YwqX4^abQU|GNQdHL}xlhjc+2R2W!dfzM_NkgR4+!Cb)#WzzJY*Me`QsZ)%Z+?0NbQ%Kr z4>8B0zOsTYQEIVM2p07|CF{Oln2L$0@<|kgeL;=x+lT4wWB8Usy2(6w)ED|&kA4 z(p}gF$W#I08@VUuF+;**q(b|WeNFR^)g{97;7OTcM0_vWuSJ?iet9xiM4b-0ki*mbxFzF73wEH@ z?6-G|skPr8k7Ko9!Q2R}--F1gtOE+&7h}fXK2vk$p084>;*0 zLj1#85Kb9lxzU!g0I-Y#a*l9}?4$mRA8y0e3A`2yR7CSFk$8lW(7$~GS`enF4(6D4 zO!^tWN&51bT1iF1HmHbS)DlNtX{ThK2jU4H7_D`6`2rq94MJh9PPmeI$Y^G_$E32x zWUxo8@6xxJmv=-`j1`!b3U~_6j5~{A4;%=`&o|DH=a+#sWHlVC#H#4wHOM35Q&_{| zkqf^nijO@+jZvr-U=7f0gx=WW>|wb)Jvua%fW+D+xijGmrMffgwNd!zP3Ad3~6Pjm9h zV_rh!tRo+*$|ByXtSh*nIGBI7nKii_254(9+1kof6k<}ayC}vBj*4aM&B=@@xLEqS zNY+XvSknxCBpf-#Git$iYsOr2hHvgr?URPZ519#|%0#T)JoB}AAXGQHDJueoiYrdN z;g%Y4n3Cq7Y(LR~ZA_UzOo<&jpT#lBXS%@eya4^4?Q!;@8Y2B&A+kiZT}W)xKmv(3 z%R(9WeNm7r3Bzm+K>Ol8;OjELlRo;~#$<3Qk^fe?Kv)}-4>Ip&yQ1;bFs|SD_?`5kz{GgE!fMdOf09WIYUlaGvv~39;Zz&xl zCbFgXv62#>Klfwj2xj!C=@uQ5(t$A_@}%Bp<&2sK?rsaJdRo6z&{k#bc2r`mnVPdA z@dp!n+-{nwv^)I1iu{o^|P702!(ce+($SckszwJyiov4o$G`csrPpf zyj|{v7%-m9N76&EjusRHaZHcBZT$fdpCrY;je#|hvSL;mr3 zDtm_*f-k48l)s8xkzzS}(f#pKGu!<|sE|;S`U3`ZtalpZK95jRdU2Zb$l$QaOxG5_ zG4@ri)tG*c(aU)v5`p&A*9NCj=*qnxxk6$s9fJ(<@Afu+Y+i5`O2#KiIPQS4q8Qv!Xzt| z3@O5^oc$H#0PbX!M3J8F58Jry7e#DW#2q|&pb<34W7XA_fKg;`?C(7?CV44@t&!`+o{)asj=(bw}o*g zk<8(L%;Visac&@YoZtEN*Lp=;`gL266^MEdSMd3Z!0Lr_am3md(z%U$+26J(EkL*8 zz5smL?BuF11HZXIfh;t)y>`2!rO!H!nM=8kC5fX7I4`_k&bn1?wGO;JMHu)u5I=B< z{l=Rov$;bcPic6vL1KRUXQE>o$=Hs976MvDIyz492W)!P`*O+cry4Iiqpgi~f!) z_}#8}5?7A*Y!}pjbe5#h9JF8HuF{;;ZhXjT_;-Q-Smk}NJDbhg6WL%q43$Q1*EYeL zHfP{P1n^yy%Xe;PT6~+Gjb@ak^t#1^qaa(cZbXMZqQgAUb|v|I{GgByYx+7Mu{=3c z_`~{le8W1U%3&dbtt*wfZZyvX<;@&CQ$t{wc}_20x**@! zA)H&ek3|7Vo5b)lRocQ=rwHWb2GVQY8jCv^PdWJ72QvD?XH2&T(v|#Cy(HiDlzJ6^ zUm9de+rf8UZ*iFeV<35=kc&oBN!ZVwg&f`Cx$04*5!w8u1$n#3hsL2qlySgo%K&HQ zJQuEdH+r(0fTx;2A=H4`GoHsgmM#V zV50lXUcvULTQQ8i4v-M4?2Sm#GZhZ3LD{{183ri% zst{wt6VKsHI6}Lox8F`?L*;BAJ?PuMUmGUX~DOd*ZyQ4jZ5Fpqqcub&Kmnij8H z)V*~E2n3&(M%=~OaX|eptt_Jxf#(>Q#=5jMzE(N%@nYMJ^*zgCuf24%ER?Hort;^6 z`RL%)Rd(o18tY9DP{L6J;ZuTeqOs<+lg2RNyj917$JZ((jX`aJ!@6x98XUgx7u>_@ zo1CCj&fDzf2pN-%@o-wAaC+=M_0 z^W}Et%kyU)SpQz7-oD2{)O+#*uX&BkKXtx$5+i-B0ZL>-%T3LHXEda4m{Xgy1G|hN zxL5xsht{CEi@x_&E~J5WYY2xWpexw?pjTd}`f`zRDl5OJS3V?%z4~E59%mBf(~0`6 zePcTMBJz`qoJT zO5EQZbtzQzTBFE2lpDqD3Mqz6a82bSJ{P#}^Rf%*X}q0pcCQO4DbYxVNYOUs=ON+- zB!<s)YIJog%0`$}=Q&tQA_o0tiE zY5S_gk|uL*2`Loe@ERj9EprHAS4Kur0Zh!odj647*oh*Q4q#m}OI!57rAjSvgONQh zA=Q|4w~zJNV87OP$q*#y+h7Aj$Pz3mIT#2g&v)LmT4bBsg}RcO&{|HGKJoPG{=QJL7uSI@D<6<@ZZXf7^VI zJlvXGG-g;4>so6zF=Sn^Vlh|pC%rx{!-JVKL6h5~??OP)tRr`-*i%Pt!|yYin?^;{ zZ#b<5l%}nEHys6-MBE-kkCSdY`DGKtyk#=gmQQ^r&!gG&;kl+FH{f}eiv93>TZ3Ql z0(&cc*+OTJ8?r_2q5ZP=y%IudRoZ4W*wscM$(c%hq;z)GFa5{w9(>`!k~FXJYOH0o~F<3=WBT9AM#1YRu9 zMtKy4uTZFq9GEc6?fc!>bP#pI+L8#5R+7AhbYPJTJxN%LdUOsyt)4$en}ppIJC=s? z1<=6ViGgg0o{<9wj^04uH85-?K)@-6(j#!mwjKJ)KISEK^hUzx@2@Val3`kGDe5TdLW;^R z9%2>NafZ%%j^PY;3A|H?0rP{ah}iI9JkB3*Jl+nfIx7gdgEOsfv+X|g{Et$JTq^L6$Z z@$kBpqLu6&I+#-R92Od^{fn=0Mwvl~!q^JF(5gr7=yWDo`B*u2EsFN}QdOghv0`QV z|F0d-HScC~Y5VxfH26C!YUQKLqsHW@ga9$zOCRog>n74`$(b25G^yFCkp>57MaDeD zZn?1l(BsTOT&g;^!7JFm*Pdz&m*(rBj1H`tLh!H=De~S7tQe$Xv&SwY);}Rlb4$N> z3mzcTfpz7`Ez~bI^>LX5JFnS6OL9iJu9;YlNH6mVkj~)n9AMD zA~1d`k1CX+cn$grK4)0($&jK*Db}1H@-x$@TTo3x1Pim2n&F2w$giGUi0j-6J`nS- z;%i|NQ^*)ox!OUZ&!*qP7uyGM*>gs;W3gL(``L-Wr}T%%-Sy}GDcB_|E>(Jj@RtcW zmMqtw(;02JosWO7dC1?8b*d2KH{eJwTR2bu6=8QOvtGIyJJcZ&DS#eXE>`BHnZq}^ zA6llUgxRB`(mp~OG>Fd(gqkc)nlAS!R)X#IQZ9?9atsZy%BN`$yA1kDlZ!37ByPH1 z=*D||?Q-eG+*gr4w~(>*TUp%UdxnQ{vKOFa6WzFx;}#t5t`-Ukc$~&VBB+x-EF=qm zNE|Dm9LdewxLI%ZA+3u>xnMGYi^s)y{!?|}9e#f<*4KQhcJ~$1f$mO_U5mE98d(J2 zB;4L%@`{0UerZjKU@5NaB0f4Oh83((ov+7BFC#x~w6XC;3^BUl*O@QjhDC}uR2y$p zi_XlOEbm2%X_2Maw$kx}i;(`u1QYJO(}~dX*JdSRQaYU_w%RS2@lJvX@0){N-C>31 z=&Ym&J3H*#L>NfnK-TaJ2MM?R`r(MID)?MEyU1bU{d);^v(mV#^ znT|iMa>h6XiXXC?>y7bnxbGEEQqF0eJ?%YH&DHvTN|<_?JxRSb#OA-S&_Akw5H|fm z0zV9i^^>~w%?8y?=?=_|jD3_7aXJJ_$pHc;uP@^riX6jsu;P0#)=LD8;2I=V4-%D@ zLdoDWD{^Lez14=yncdlmI1nP# z2WxP`*j*qV9%5@fy3{Exz%6_ho_UbA5?AxSm=YeYVANZ1Bq!^xFdQMd%&VJS+&4PQ zCODP9mi~myG%YED@DZqHJXZr?ikox z7LAy(d!NU<1xk-^cJ9)-g8P^tgWx%Jf;!JFSh7f&BS@R|MS(vqi2e7X;4=oP^7I$# zki0{p61kEyp1}luVwY|j*?zI!?jWxsNiw-A!G_Irq5%5{5_7Tt8^E5mzXT0YOCA;# zAwIM)x9V9gJa@m})40O+D`zmOT6osYOr_DMC8&UVD2#GN8?i#ZMvxI{${|XMwEW%C zeD-VZ?m7DoDNb9I$Kpuh=mT0th^5!Hr80>Z^=L1JGfq=zCA6S{rSRj_dBsMX@b682 zw(LsR&o#6YapDt0tX3q9g@RWKCDB?Aj(>Jo=q>fetbIya>jC(PF?olrHHx$SkSe*v z*xilq=mwx`=^1`W06%+yU-N+8K|Fx*qI&UqA{?vIjvpXeOLo5rN}|>06q$lq(QvHl z-|=>Ffb1Y^x6lKR+2v+9SqSVowCzIu<+4IeqAGjJq`Qh|0k7R)yjEy7!Z6DImmnFi zHa0nGABmnJQm0jTtz!jch(zmPkjORDDD=iOIah{4a%n#+3KqL|qf+pl=cY5`{NBo3 zF2nN{2VXY^Sd~K@E0q&2E!v(W%_^jOSfU@sq`5>xhyjqC<#Q8R1aL`Ct(i`L#&Qx! z?|TR9jazdkQ@Ko#J)C(UZ9K;h@sV25wNe0InOkb|AoUbG^GL{Ma4r=9p3oBTu$ zb9DA2J;I%(*UE#K!r5tT$pyAufKvNeMimykfR>A&E>KBMtdu?6#;J_((@jtSNZlV=@mkYvU6T31*e z`8Fvk7AS1N$WKmMLcbwR7As7?m_K}YnZf(kKT`uxsssbRIg%#~ov9&~+-N+E9h@-P zOGPO#^?GKYKvU$fOdynp+u7u<$*hVtlU7ZdF5a)yhxO$keOf0Cs~yXfDlwu%!l)j4 zAZnIWCQ6Koo*QXkRa&Sog8_+Woh`rWbPH&3_TPvgX?N_ZYsmIL!W;9s^oMD1%c5-;^}?ox?a-Q3#LRo^3$Je{(qLkEk`Yy^8GV7- zQh`9zh-HSKz+@N#c3^Kh&N%Ypq&NC7hh4U|b&(!*KnvXEfl2L?@JnuE{&%_o_jQ63 zBX^1#WHs9Zuy!k#5tj}jZ+>e5bz?0-B{QJmA%{uurOJiP+xTS+!f~$ zgwLWyBGDp3a@SM>ed#0d98|yZy0vaok8MU_dfa`!ytTkqlBh%8)azW!vR597KI1z! zh=xFmLmzIAG4POFFRwIM$Sk~S5yyJrg$c9xL}^6naEJn)Lb4XG;d`s@COY`ZYdtB( z3V(TC+vF-X!q)XT}AEf+fm$LR`)kSPtjsW{2MOX+LN>D4uomL4vDC!RAl_{;k@ zz;PD}O|#akF3C#ZVXQO}{&YzMUhV`fU|iH8eyLN6yq&$U!H8*Hn-ULe9m0@5NSK49 z&7*w1k8_BSNyxW5191?S2gLZCi<_inN4Y%PVs? z$-6>dXBO0ni?@u?-!fktOw$KzDo^^ zHz^PUQ?$tXS(e@rib_%_T;$AOBrOP?vDKXaZ9*9w#er&adtha!5d{XjJLTKO6f5RQ za|~xA=dW!I0~0I*USdh0rDp2xiiB>RyG3DI0MY_(wTT(TGi+W8I@mhbIz5n+p@1w> zFiO@`W-@$-DLqzw+-!~3N>+tzzhdr$acfAac_^lZ=PVvASUJ0O+*=i~e&ap$#%!zF zWOZ#S{4JN2arx>S@8w?`=}JO?_kkhs#MRz1*)OB5Fc{5PPBr(GQB({d?!V9_^u~@W zVCUT^0E3gJGXOp$s3INLqu?xXyJ^*V{H;L%V(HRtT!3h=hUF9ZF9(#6|y4~lJXxt zf))1(jI@n)I#b|=F0&@_hfzgW6aQUR2+x&YR*O6(>q;C(NH$sD~$KL2U zO;;kn;rZqNKvkv>h0oy>1{>q~&^&~c^XU1dCR3|%(S1Fi%RH@3 zyfxm29&3hm{szy#SxndLc53obQ1F{mFx(q}2}w6o{WH>ezs42Qu6e z_^Rpo7p| zrWR>x7)dQEhf-rS5sU5q-CCo`xi(#B7Ba79#w08fFFh6)dz)G}%7E-0NaS7fWsFE= zce=uhqKfKab=T4&ituvnnB%{U!X|HlSHCbn)0RL)Xqt9^^Bx_x%d^V_0L{c5s;EsT zR&3nm8;k&@gcnZM%?e<2anlJ2O?~g*qk9_-YC<2L!<5xHyJ<#oqOIL!Vs3{$xcCF- zao&XcV^Yi}NMbER0hOy${_emgYfeHX%!k%OxZ00krzBDaMldQ{^U6zjIRd7%wBaZi zfFE@(drk8X(rLIq&`|L^&yA+IMmtqrlD-Ttr#!EL2~(m<{}4o(=x-+}`fLSLpDV+h zT_=BpRlq!aBo&K+I|b3EGm;TE6H3piS6)EUQj_&hTba{QsUVg=xL6LbtO!NZPAYtY)m{N(Cz9@67on16wx(9}+2QgnX$5MC4d!=AtFZIdl==6N0Q`=)6+wKm_jUtJ&)S z#S_5Ic4=A_70_t~7YZ}zVFarSDaldQe!HnTXwQow=l`~^W-(s-4{gTZpy5<>hi&RS zRFvgo>YYeDSNH?YjW@jCsX5O_CoiKjJ08Fa0Q>oL!vUG}qCM^N%Ryl;K;v(t{CQ;C zaZfg^P&H;s`w}YElmvx9Ld$W%x9E(3|sQFZGgMn`8>q+ZIe@Kq=T{=5QX% z)NLs=K3?BRKSOrdrcSSCa|FzHR-+`a<5`nhUv6|Go<1XE8N6T=!!f(>KVk1^o-$>U z6`C4ajI`tom{qiNfNKZ0l6h_t4+_<=DJJRoUgg(P{-YV7VIq664*Krgf>O^+8PdMT zu7|0fgli7ku4hWM~U z#xhRKvNyk2A%2Wv*FWICKOJ)}c!|E({WN%{STUSIHsM~%%>Ca#nkWD^#-_w@9i|{_ zhz^1-ip?@W>eoU&1N8%o*za{9hyDCF;khLq;HV-9Uji}LM#z#U?|j*(WD@=9DZW{# zNytw>9|NxC_ljN`HJ8M0MDg3fEP)W!K~`JN|CUa-xXna9P866R)QP-k`lN%kioAj; zpKbJHz_j|L@{1YG1slg%?bl&1W_346j&u6^%`fH*k7gX78~-|Z@!TOgUG^+08O7Y^ z71wXKz@ABB199ou+21xRadw||ax^O` zNf8drusq?nH%TWbS(@b1bBbKW*uE7x@E`f{p8u;C!zowO2jDQ{Z5SE&PHE|tvq@O= zlQ%kHFyS_0$mPoU%d7BeE&A6w_F3%1WdEFEkI5ViUZ~2yz|F0JcpvTeWa525-VI9i zJxrA!d*0sORu0y|K|!GC3rIHK6}jJD_bd9Nf_$}}j#b`d`Pt=DHp6C8P0phAtJdw0 z9L=4+gBZ>(-@20KHjmwdR;@e7A#Ieuzne%yW68tq!(;g~kXDH+1CI|Wi`JpjCqp(} zvj$D<9P{&ORlN%~*5P}m!T;&&bU+5S7lzEg1pRlTW zy7ODlGDqy%T1Ua>Ct?8*3!(nxOt~~x_NTEG1R$@AmT+F4v6=pMmL`*Z4gXgAiQ|9& zetmua-+zokC`PWFM9>T$IaHnETc&8A>EKi)0d25!{^(Hbuv8~fsAwO4=+uCLHhEm5 zy3XQ-pe4|%z^EoqcXR&soOvajTc#&T`eu_}z8u0nQy!7T5xkDijpt1d6rUa23>w)B&Tu6lOnCBK>^gVyvpF4HZ?N8*kkc*9GrgdOw#14Yl9jNL zN}S~(*0aGbMB&Lj_9%36kiiRPqeErH`9JB-yGX4OQcy15k|Z9x(_N=cjCOdD2?vJs z%m&+DDGC|(d>RMf%^@?5id}j=$87i-jwnXxp~F331kp7dBo;NIl_J9xla|bzDrEZp z$DwYSN=KwVkFRVWFL)H466I0ixubkv!fN0AeDEnvd?}K}l8oV{3lEDgnzpJhZJejm zIo?7W=abkF=_wgRFPMYP$nrXP6&FwBcYlwhk zc)Zl~?qK&O*xPl{Cbas{xmwK10(A`UCD&I(2`@Xcu^+Eo`LmMYxHe*tL?4-k8M;hd zNK@9xh~1eaEUtJ(S#!sLIcI!#jf!U{^2y!Ph?~&`PIDUtlqI}VcCQ6lC0w24Q>Gju zEOBWr32}ZwHt!?8r@W_<)02{=nd&~nMSuYVG)1{^Kj(4TX1a?tf!_xzXTvj?c<}Q; zae=Y2XT~46wpP<6q$^Xc4r3}Zrn&si?Or%6J40%tK&rO}B&n5*#{ZfxUOZd#)TU5l z>tf2k@lM%^Ki&;vv7!k!o=s8*_aX#{Ak~B@!+=9oY?t1#jZJB~4Z`YPU5-XZj_#<5 zQGKn}@$<~$uJ-(iZvK@QBep+r20bH0?s4mPh^PE)CLhP8;XCYd_@JrdT@kEI$hD%qtO&&cq_Uui3@WtrX)xNX>4qv%c z4QxD>-FXWm8uwE3`PxdYwvHFnAKvv5?@)04m&!N|nfmntvCxv~d3-;{*S+_FLcVa# zOD*hIJNyQhaS0d9a~<$E4+b3Fj$jSM>3|rM#(RY8=*UViFyu!a_wzk7ZTdo1_*xr3 zB#=vdVqHwjsW0;UzRC^bndhHPZn;V-MWm|{*k1#bU!(e$P>+LLk(EBMb#y5?4;SK`tX3N&ijGn0D0eW`*Dj45up zZY+Mg;lWhHuwd1?CAEH!J4cAP36)}%Gon6!`19`vv}D3U>N$bAc@t%f;T|UF<9zzE zqN{wcf?LkvLTN^~yMouAb^alqRBEOv2N=7MidZ6F1<3^hGL*o+oS`1WqI+aQpwy(i zQ!b$=4D(5P6Zndl+1wxP)pz;6(u%WuTnD|$;_TEYRX>?*a@qWfqC>b0^(D&B#6hDL z8glbZlo8>P&mPn)Q_5}Q&5z(8D9)H$)^8K7xzl|6Qm#bzvcFT@lHXJU-iM@+$&#L$6J zkOyj;kiLCEb%)L#E;Mxz=%;0oIE0xSx|#@Xwt$RCiPMurd(ZZIlzkQt$`zXp@T^gJ zt)rd8``yyzHXP997kf(D%SW=%yG#n*%G6u z&J)SW7xy`R8)?8`^@(i?9Zcf;bMZE618Tsj*UJctXcftj5*`Zf&Pe51l#TOcVH+ZG zePnC(Wu!dK;ww9Np@@E^da$k+$e85&R$`tf<&&QSvwEW0djmh6MzVZy9n()vpeba+ z-+#1pc0{T%5a>vcH3w10|9{9=OtvIG+I@y+KB?L8>)y<3EedQG?`uWh_F8B6!e= z&)|WclYcliue#It5%?UM5w%jbl`esn`UU%B1v%$ir%gJ1<~fei+Gnp}(Amo!wnJav z9)(e6_ z!0m6kNt$}ZZ*v(N!ffqHiYkuhMg=z%g`l$6GtN3_+kTWM&6lGW` zkB`vD_L9ljTxBMi!1l&QAE&ZPQCPQ7a6q@WkDP?h;c22&Wg^=Dirf!Y``?X{-_zDG zoD%BFiY$|lqIuyJa}a4CjUT>`72Ep_{3`Q?sx3jp z7MrTQSM8$9o~5WNEv;E}qT|zQoA1x>KRDMp&vUNxKF@u>UbSNuM0LFXG1C%la-G!L ziS?&m4htrZ$Qk6%Ua4sq#~RFGLyjt!72!ty%;qaCkF-%%XP{f0hVV%0$el70^q_lQ zfdC{b!BbJ@K-XOeRq}}o4R2APO_V)@Cw98xqpm4g0iA4e3G9nQp9=LQm}xRuv2~f? zF%eiTqQFb60JqEsOWq3e3EcxblN^X6={PxioL9g0t=Y*1;s> z_M=P4C(WL8|B`SkM%LH<-+l89n(;MOrVcD4TbG2=uAnj6Wrm%Dg+lcY4K?`YH@!BMGu9~M8fsE=1X}E3B9^JlvzK9uW z_kZH65&k(mHPWF>H{Y7tBvG({MYTcq>f|lHOZ9$X`P^zqmHA}St#U%iXrgnqRdVSV zl^h=x-);?}jd7S>My~G5TiE6o^#`F_1Mdy8$vqRt??`>kQd$CoSQ=&umSgw}fp{8v z-7g{4a?rpQ#7-^$ds=Q0031PL`H;jE(i`{`1Z!$clgq4Mo1Z)Fi4EsKKh(7IxK0l{68R`fj)maQ=l` zITz!|BJniO8`x+Y0`}N6#o4c&UK^LV#z%G)Q zKMk-N)~f%)vbx(VP-FhcHIrp2f6n`odE#7gH>NoIPMO;N7ds$gHtw$E*+QCkSBkyF zqA9PSu{-aT2btLkLNq#(G#s5;d0(A7CSZ?Lt`vRW_p`_R7a5o;Bvnw5o-Cwd%jTb? zGNB>ikhUI>Ed42y)3H=VqoSmz%AU1uU9x2`=s}&|uu$-owBVJ`!2%h>S1l&y?OBsX z!xlHnSwup&)?+xKQZ`{_2{mDdj*y}qn3B%*BTxP?Pa*CO)|xz)HMDFBz}4?FA|zdr z=f65&AC;}nBJ!qAge1gyFa-7?DepGD$j{NJJn_m?D`vyy_*o&Sb*aruSsls3&t9q$ z|Fy0td_ez|?^p7@A?l};{GV&;4Z_3RXz{oNyivSUY9`ya__?%9ERm(Hm1kJByg0tR zd~?Zg7g;HY8k*OrK1-f=u&JcIrTrNn<*#AW*zuO*_KMx@qyIWJn6m-h1Dry)xwCoR z956pRxg>vKZjUE{Pz2FnF%)g7zrA?ZRI*IAr}9}rfC!dbU*Hhusr2*Tg^4$7G8=Z> z_(`2&IDz#)xmfoDxI!|!$>0E?1v&V^VGl`)@g-#mx%jMC2dY@T$x71mW8tk8FX_f6 zQthR=y`9M_tZ6@MLPIjjF&e1Bai#}7WsE_M>zSRXtaLVQesyN;Pvh2z5O0-fr4V>3 zIXfABFd1oPU{St5IVHeFi&jn}B8uNMEiuTG_LG-%aWVpvl! z`Ksk>?Fw-K#^BAft!+gr!Jc`5QzYSq8@RTCQ?RnqdwP8;{-GEHuDr;hO93evd(BY9 zO@~cVv_8&=2GnVfof5swo1B7YSFMQbl>nQSOH7(=&PDXENJhLC`TblB_ zzaJ!P4yE0-RHChDeW}rz$ss?>71U@yt7tW(?y3s19aXP6 zlkS5;%c z>9mjKS(DeE-koVaVI(GNOtelsX!<3Y?<}>-klx(i$}TRRg3FhsD_~K*)^<_34u(9? zfTWGKyNFBKNkHOWesO^9UlX#+bQDHi2t7E83CWZXR!T=kM7Gd!qB6~w0S82#% z@h<)&TQ?sU2fwFS?hhCqMIx|^y!90;QH_4kwJ2AlGDd)q2@o|TRi^(O3-zhx&GPS0 zkwV?LQB^yvKBe((7Sa33)pgtzV@xFq+~V{U|LNqg@u%v@bzuK4+X;{O2bU*|>Bl6Nt7}3~mDU>O*H6bX)Gv~vS{=sK zHlsC8<^5}7IR5G*K;uSjs1Gf1JCqRf*ZcYmuBcrxw(vAH-U(eZsY=~ROSFnE>;$i+ zk!0&2FgUeOJVvV>T)TCUrICMCVUMD5FQ9~}{DKnCtIb5c`Y=Rp_9n4y&doW2X>QvV z5_fy9^l!V}f1sKzv)`wmsxs)fYe0iL%o|C_kTF!M9*5SS`oY^T;?XHWH2APq*;te0H`4etw_hdZxY=<(s3^R(nKAYP0oYQz^XL`!IMMTQAKE_+ zVSXGF3XDfIcBu*OfZV+@{dWgIvsN0rj7L}1T`_$5QU$9LG~@UJer(crGz2(bD&-+! zx0(ViZqP(Lt+7(P1l-B{DBSKLlZ0w0BBpzS8T5Ho#nL|xBGhN{pOq_q#$_T}*_Lo{ zHv|2b?HtS1aF?#jU#Hepr3tGIp6UveDihnNpQ9@iX;~=Mk+*mueFjIg+WcObXY6z~ zM~L1tH0^^=8SEIf@a^;W<{i$%tL1N+0ue2$(bN{56g80=gFHFUgtfMpQeF>ZwQm}J zI`{RR_gf@_7K$-7L&TpNu}r9@*>sj1Y9{EeV~kG-c#VGk zhm`rESw!Wgve%wIfFyg!VMZ1RI6w5EQdE zKCe=;HZkNYM14D6s_U*i6HXe)v1#vnhI$ z`#nA+(UQp|F=r|sQcdE{FB+OQd1-)R&qQ~c-#d^>KOIbOyOVtn7a`F&X24B=)owL9 z#=n_BYBNo4F~!eLx{1EMcf(2f=rh^Zw=cW^ov8Q9!9#5PLn--Ap4w}+k>x=ljMz}+ z%z|uUp!K}MV3Dr(ab2E8!bwwgZo-GQ`%5Dy6$l&iTrIX%r^1@WRaJ_i(A+{nbsEXE z$lBgm)NkLj)z`l&hQaTfhxJ>N{H7#8COQ+3+e489dT(I{v#l4p;|u}E)qj{XZ`Y>% zoTEzE?ryf!=bI$ZdzA!fOd_9!&P&ADxze`Df2w79td4BEAdG4x?%p9_EjoUd!s*@y zq53xrsPY8wOb^MIis8;7#W1byMJ&^f*X;VVTo`c4Z$#!q}^uju_^B%BJD1-K?>HG|SHOj$r{ z{&hJYb2CvS9k5=A0_>m}1L+=@&5R1A_LI$I#9gwY4irjDhHIqEMj3h9dYHpttvp3! zka*lQecZk7h`c0AF?90XdhH1=W5ue^y=1vHUcLCqaOPC>ny`O&s|s<}P6|WI@OGIt z*_)9?fSMxRpG?b4AXu<~=7%3w|8moJ#{R1`gyv=_CI$2jhEaW1u_iRspoeN*dVK7}-EzGHYEHy>5?-ONq4 ztcN+#Uc$6iqD(6MsGg6n@CN0#+1RASBg|qh?hU5Ek8Py!FlWZpt)k^yQgo&bc^p|> z_FQmdhhDenn3>oO5;B2jx@-t>^f+1~|E*QiCbLbptlJu_T7=Dayz>$EyqAfZt5UJIH-ZeP_*tL zn_f-9|4u5e(g$1i-X`N>@Dw=_z)L5*4R!}*#^^j_Qq z`a{MZqCIX(I;DH&U6$3M*cExFJs341#2ts2%_l)$LFiWMvW zahZtp>u19XGyN_9<*CO}0p6dtj;@I4EZ+~Z;QKZMi?tI{z{-L>N+?-96$6dG1YLzN zt6;gm&z$mtvb~qnbt`S_*f$C?_?4Qbl}D0%g-pF2xC)9UOaRDZuTQOO_;kzRk3FXa zVQdmSLdttFK14gA2m=%MK{#UrPuH&;q#W)I2zEYGKq(S z!!M!G)!q^f>bg4cOp3*EP`+pYcr)f{v+E--s#$)tnEn$` zXgZ_#TXpk#N6cux=F8t*Xjp~~&t3*#KNtC}NXwMhEoGS zBf!9vq>#Imc4F?K%w+Lv^#)B!lO-`djGEwlc?km58Y>K8hm2B3vSdazny*p&1T>v- zw5XqUux-t4Fc|mAAT>9CZ)^#$S z&U#rG75=#&ipJ?|4Gx5crR@-hCw)gHzlOFkMA102xmu z7T<`^PV+Y$h+n6b(#yB2ekCCw56)8IdWg4Z_D}Fli^yab0J2?Kio`@HV?=1Lz21e~ zD5S@98$vw8FiAnzU)Xxofa_53g6_oID&VCDviZm>FF16~8uaFS5gtCb6+9i)YcbFK zf1k*&$c$)a{PjMbB>2vw7s{AezJ;=Qua zDT+tjD1uqZ)By(i-+*cKB+9*;tyc^x=a3JbPWg3^QmPX;Hs)-+5p|V8z-kPqQ;Ohy z31wzu?8s+4`mTPvJIzX>__By*r*2s<=lue!1xAuwj)V^mVnE_*Pg6)ij#?qO*a(PN zhJ!%@4cICl7#I$6NfNRg1&jaiP2#-z=Ta0`VwFSY2^u8laB|)LEuJIqgs{qJ84CUq znPDWVKjasjU2a=@jE(WmEdK@a>4rQ~;6LnV%733}=WSnuHlOrFQ-p499t5VWLh1G` z=~CE1$<#a8QH4I=Fo!eV2MrQ<8ju58q8J9(^z`=*m;6M`oP}I@0fFc$I+-dNzEU-u z9=vt8IOOfG90y?N-jU@ClCx9!`>w0U2n!(8V&oC21{t8m1Lthu~^A4%3!?M`9BeF&Jq|E zEK-w9@=Fg7ASZL!apnBtoa%*yhJzI4RIymPnD|nRFJn?!M9z!S+YDvN!(?)4+x36>p8ratu6q0(!IRf?wsajb8!^7AD!V{Z|+oz57XX7~y8!9%xS1y-J zPn1Y+I^O$R7qZ!UZ=b&NEra2VSLps6{jyip*h+%L2MNz)moF06F>)OL;Q+tY6vFrO zCY6(%cRQm`!T&N8-+~ys*65#}@k5|IZi@UY&c-jXT;)3M)Dyz!IAi^2GWBH*q58nR zN(n0Pnp+TRSNc;R9>yR+3H;Gl=YR*fPT47r@-k0?*pi{mXp5->!gf+Ub8-Fi?)qgV zfflZYjx=-qAWZRSZXcehKFQilgTdxQ-!;a59jRhBNAILHyxU%g_HMBjs-$?g-xnb2 zCa!gv0e*Mr=G#`%m()b1g#_S1PRVqtHFS}Z5Q$>O!BOaFoj_T>uJ3!l5w^0Af)Ap2 z%3}UNQ*V%Sb_>CgaE9oXyg=-|GHl1HtX)!_9t@Yq~X^H?UwHO5S0;+ifpJu+2mU%X|7@oIV1_Uks?9fdcH z)%(s}82@aw$vhA|@qZhJ9?2YH?boO90x4Mfhw_k=B(;3>gX9w~xO2Xqmk3U{TdkgH z8_zh0@1{2ufwnUg$w48NV(vCPk5)2DjCeCnrGFb_aqNaxT1P(90nSFSwQz3Zv^_{jWA8KGFcLkrQ?y1^5w*%RunmV7=Y#iGXTjWjP~ z`aDG}HA@1Agc0#3h&C59Y0(daBU&!(l{HD*E;)nAhu_wGH2M~Fp zvZiBs%0in4{N9VN2L*$_KcH~Tcq3H&Zxi!8D_l_Vbq;##`4CXK?M2h=j(u2%H83$5hg3x2pA;N!%m5$r)0Dk zh;$eq)ZRu-JW~ZG4au|K8E`-p8Fx@;oE-5-ljlTe_R>%am*->c454L z;GH(o$Q!Ay{RF_sWp5Ye^7`)pLfL%r^Vd=hHfVc62=o977nvirX!}&wC z$o7G$BvIh+r~2pKzDGA~eYL$|}qYpwY@2{w6%eh;y#;Zfe#TTibwhHUSEYWL)mH z(CB!fx%fhxPeV(K`D#di5*?$oQnWgWaWh7F@2nrB%3~ru@V7l&*Gmh^JYcQG=p)TV zEPy=e0r{YT=x(9l@X`uGbB|n{X6?)CJP)EC)<3SB9)@d&nyLS#py?xL9{AZ(ILfEa z==1SX4-AJ=-@s?%K#3udzx!Y@qx3Iq`5%Rw{YF$Qj!x8`8W$yPwkq*X)q+Jgow-C~ z{SABlry<4ks88{9zy6!6c}8{EFoRY0Vygi_Z#+o%FbC)b#}?U+aXX3htWI&GXM%KJ zoX9a3BDCP}OlyO>aOh(#=NX!33#Q1$Kaa>lN?+kN%{9h^iOq6xRUgVo3uE=3WLF=Q zFQKWb3Lrb^v>2sB`*9wrl*Dnp+jWnopaTsl3*|Y_nnpJb{FmJgeeeAnh=Z!&9QK*~ z>==Q}5y=sw6{l{4wUTF2PsibHxCTtnRDuLFuf$q{jM8g;4Ha}_-V3i+x_k`Xu01I{ zFApjiyjJ?-bbpQ`a=pxRM4l46Z;UKAT>ZR%jpab+i6B;HO%|I#{ zy^66~eClrf(vq6>vTDU9v}DzUL*-U9omZ!jWjFYZ&GJW2KezsM=ZB015z}FAPlGz7 zqPG41?ACYLzK##gNJiP+4xJ%(!fUNJDprYp6rk$>%zKpn2SsWw+-#<3ud0tJIbyTr z`?8F=+dKWycaIf39Y&Zh`g}mieB&xQAG}nWdG!%{8$7cx*GHsBY~nkB4q))m;ym{I;q9 z_%Rgr*}N-ySHVsG-QFqd_HvPF=BV>NcSef+BY?=x%2Oz*{uzEpEv0*;aL4XjdEi1a ziv>f)PCs>Ug&V=YQlhF9vLK)WU@t=)E&@CwjlA@Z4_d-p|%Y2c3bn2JdGg3-m zS*%L=0Gk!9z_Uci^&R@gZYW;jK{dLn&RFD*hRt-dgY z;tt2X4}$_V6E2{S&Y?BS+{96^tit;ezR^c8uG+C%#z@YBBmZ zBGds_9$kg1k8*2ca9Zc=^N(GyPb-U$rrfuCLd>-Xw$FlRGQO8QTcKO8q{ZO>e#nGb zua)ad_|Uyg6L0auRLx2zI-Qq|DRwBk`8v`%cWuI{d_S7^7PoL|9Gv{sjm(G z(LRDlHSBGP47+%jbC27kT0}zX$;zBj5*saG4Gb$&AzZ3b_eGyCY9*Y~j7+3k-qT5k znO``p9a}XR7t8v-UOTaAv1+tvbbk54uES{{?C|x=j}G0QQ@J2b3!5&#g~3iY>c?zO zX@>%)THV7BWxf7OZMQ^zW^Z_SO#vBW?Kk9ho;*hwRsOi~YJVnM)RJWP+qN;i%=vKw zGI$N6Lte+9jexCMtOmTMf@0>8l6v>vXJ$eo?Az@hMqYov75^j1eJqXj$RNvJ%DK{| zoO^Ee_cxuG2Fv^P(-$!xJ)StyUmQKJ`MT0vDCog&QY>i}DS}>RAPg@VZcihFN?DN*Cy* z&*6Lt;zYQHv!?Sew*#P@GivuUeGQ;v)o#l^FfkU%NbMSNjcB}VUPUi1xX(*}D|6>(QZzLl4>=aGU{lY4Z&{oi zmU)9$UOd#`+}+PjA(he6vsuU?(wG#mf(9Ih2we!ehSPgh{z*O@if-Us(Pq;SO-|Oe z#9sQ|%j1Zd%Lw_I$~z`KqNOjCxL`$QLCS~gPO%iTo*>B&BpJU!&n6z~&&wccP>@yZ zegE4p4)XOdzeBqHC6ZCj+KjwFHtp(^C=ma`;WWvMr*S|c>%UVVEi4C@u5mc)5wN)7(<%2r&D^Ul@0 zIxp=~aYpL=cR>_g82&IKb!CcrE_Ht#=-tFQ!9o|(JI$M7=1>`RIIQ3(8^xh&;pJ(- zZh(M$gYN&u1C?L8JDn=)wUtaF9mChnAG}TclcTnmX}mP_Hf-@g{rEc~Pvc|U0sP^Y zwGx++s~0sXj~>pI71byuobo(L=_4ho%i%0C1N>|$T5g(L|PAF;qF!9ZYlBiLTEc65d zi_4!IUIU42gBJbI_6UYby={;Grl~^;Y@VWe*tPm=nFC>E$c~*fIcZM@2QxjM-n`isibapvNM%dd_84;y0ygVfv7h$-7_%;(Xna%aA#mN(v zqB#1ANx}I~xvyLlbn6k3y#|&lv<^dEqgMJMdN50R_!S1DXkA&y_GdnEewCNOVzo*H z(?*Zc?DKkA7(-nZ;#;h}b$AMnMGi#WW}<;e;nT z4Bhm<^zssy`b2GEdANSMf_!pOz3>@}@gv1mmRkLW9eH5vw70uK>k-t-mKZ-YnkH41 z-t0bFr{lHC%U%wV#SH>DW|GpXx(4X4O{GFy<8;hrU;xJaq+4G!S4guoY3KO)+uoxB zFgyXn=2%0=ay-iDmtTk4qV9k#DuRTmPdqQxY}N_~r>@+WjIjj6>4$tr&93TWl9< z?ASDNneRO^3#S&&n@k&am2>+>d_($x{NH2rmm(GRSbdJ^xYkZ~S>jpr^E6hD@zF%C zHAMAoy77M(zd@WjI&9H`Rc|08d?|Zj#?Z&^dUxopw3K|}R2AGyC7rE?c;g$TrfdqP zL}j7n(cPUp`X=fcjHSAaO^IX%j(~Y0EP526?khn5;RH|(h$$-+N@>hYSoj^ z-!u`i16X@9dksy=^pDuNNY|r!0U*&Y!s}*hCo02mGlR(<<_N7=o^A4Xci!zBhjZPo zIh>)J1Evyb2y?zg78HfrN*Mx6;FSamDFtYgmR2iTYlMy)Hc7UAFWH%APOm1m!0abc zf0tTj=Pq(i2&rUxmT8aq%r+iwaHYEaVgo+&GVX?C{eBNk(nMzPjnk+pZ(a%N33a?Jz9wxV1h?4MIbqE)8qnc96_T1}v9Gg@h49L2 zkqRgY{Yi|_Y@nY$o?YS~n8{#i^48%3;(n4(S@fQW-0^uydu1Ld` z$y?6L&>W;%(wDxHdo8R6k-9sYR=ka|5V$O-t(NmrAE!k-Sg7z2Aoiq+KbI=6{> zd}zPAk)r$ukcuNq{*pKkZ@#grffLmJkCVbRhcGHad>^eI&`bI90jNaI&@m%Q4iN_h z$(rE>!+pFF>I{O4Y`{5+s3*fAExYyzcNSZ#oI3lE8u+GnZ@OCAEv}40LY>2CG1Dhz zJ-UwK@Ro{GfKI%m9-PlGLtHctp`VSY@lxb$9Y*SCuPsoUZvg;WcO|(U>B2kG60DxC z;Ye0VmFi|Qj%p*0`Q?uZq@4*!m}9Y>;1iFY{!FY9N5xfrY-;d)nh|?Co^$quJyrKb z_ccm^FByOR8Vk*=SD3GHC0H2cVqenX;;#T#x|m7oa` zGV6+7vz44uo*ryOkwI*a?kFks6hF)fm^4<0L<r2cMf!gkB#kqA z9t`Ufu_>t=!<8=@i8ORp9lVE|(y^WlVwbDg(_oa2{e7~*`_^oS_Eg1)e0t+T(S<2D z5r#r978^AZ`8elS#Ut?(A=x3Kjxiij*37mr(vf0#*{u8hTf!_b@8)>({V3L_a3T*L z01MD=b56-JCE?i9L(bb=lPVo?GwQB6V>@}da`eIq^puX7oo{H5@?r=Sq(9mg+?$rb z1nQ7X!^`3Dj%5Swb;R8cNlb}4u_Z=Mm3ml%5 zPN_^=z|N@;Wn5%>Ye?InQ62{Nv`IRbH!0$1#=+g^X4pl+!#Ks{JAxu+~61&j-W;_ySxfUlkd0lrMU=nR5o- zH7yd_W~vnEy&@+^Wh+D*eD#Ldu9+1D)XB|BkKMFznq)fe$@<``;5s|?X=N#~XTnAB zh4;o22TZG68kBa8S6F_iXskpmF2}K>zj_I9s%V9(FnQ^2jV4D95o@F4-CHz_#jTQ6M zW46u|!Ey#)n-vCOYq@xSirj8B&BKbNb{W@$l486+J!M%JgebEOH zK7CrTm5k<0=0MY;(6lVa*1a+=ecCQH(WBrBuE(=A3Zji<{A+AoIbTe>im1-@783-p zRsGOJlX^=>Yn$v-Q~oq5>zd4H{W+;SjEo=rwVXE*ywqX(#O+4xi7S zzt8|YqT!4xSH2pc9(ZEQQBe~dXm&nY-8Dh$@uOE#hvQ329s^+5F?8x}j~(;E%hJ~` zSJ%`%%*|J9`aBKv%>^IxlY2NHR>Nx-<-^6%Wkr&XI4!lodzz4xvUR~ZzD3%hB>+30 z7sJT6b@3ON>^lA*$g~B@ROG;v!tjGTnrSgp{NZDI$G_EF03G*efcKVDBvyw-2ypAO zS8?;O{}L^gv*ghm&B#{E)T!sFog~yUOe|bmg^;2gUJ18;3ic)eI@59v``Mhq;Wurl z`Hhcb&`z)0jS!FUGl84T%xNr#;2(EqLgSFqYu$q7b;)M{?YPvQHg+quIg|XA>ayIg zj<65I6%GIDLr+)2%e*Mr&XfyTBe_)R;R2o_peBY+2C^^8StbSn2t%;_=HANg-YQKp z!JO#>FY~ZDQ6UvXa*(CqzvsFrU zKv{;mtx4S0P%0=!k4Z09_hCbMMTV~4RVnvVZb_iJG|wNF<(b*XQ?V<G3Q!HVZ0ZAVQL3x~+nsee{F~#|`n^`Sj zr;I}@axUFnHi>hh3Qp^K5GZH0KuTxt1b-I2$q_%Z2=C6B~KFA8mdVVVrTLCPfv^oKfpzvy3rV#F_c6>5sTt$~N43bCAVz zxVY`=Sao?GJUgIR>UCj;YZ>Pv4wt!zADFwN$$-t5mv0K`kG~EXpnl&TQ+RYZU4G=A z;@)eQA#}2deum~IV|NL~?k?|}gTi`@fyCfkce9M551nj!vl*iq0Oen`5hRWC_R0xU z|HZwYSgL&-|0^TnY}`8T>zu#qhX2K3YVsQcEnbFXQtmZOz;oT>l$PN;%A9>_*1UW-yHg$_MQ3!3k|Ivv6huP{mS}=?u+h-3uS% z(8esy&x-~#`I@lm(+COcjH7Pd(BVc6nD)WHR@8zz?TZxYTDQ+MVJ}tEcE$KpCHxLb z?rPWMzK?w`Sf-LemHS2@e7X(ijBw}3=vn?oee|USfZpv)C9{6Um!5rNV0uv*_4a32 zG5d&A255zMq3oS&h{qq2$FIffdhfoHq8)6|++S()E{=cbW7s5noQe1VHVJrqq~Y_x zaQfzpb4pP1n7VNF)k5Q)B+QL3wM-u*~3Wizx(VC5wUS66q(JfivF-T@XQ>j zaypRh0jR)%k<~fJj3#gNU|b*4-Vn=NWc*MhUMwpWh%#4*d585nv%;{_3nJ;=@j>2q zQ@-}n$>gRAYp+V42{FPSE9E7$RwpQWd{g;~)tnFRq|a7=b;10XQRh;8z7}$-Ku(Bko3F!B3h$#*j<^%L&#cT-j-y(J}!BhzTau&wEU&}OZdpOEdh z+yWj}Pi0mPc7G+cL9OsGy7t)}6{Vt!O{vVuSc8 zz7BoHXIi+_pXXmvrA~ZPXbOynS-#?wsq4HyQA5{%$A-W9IUkS{`Fv`9$iMFrfy$qe z9Q9wr7k(`rzp|*N@${9u_=m)e>CTV;wK$)qhc(+>-+uM|ZVDffcb3+U4`8%%+_IXV z>jxk?FekYpTczXsf93hfMF?N4bQ0;42;%wMBQYnd<%;4Kt^+~yjy?0pAfYMO!4Pxl zfsp+{QcqAh_vCS2g+|bHw$%g`Vk>4LYnf3XGKX(4$YT39H%EpyIQ0>B#}A<;&;7S2 z<6Zuf*%}J}h?w5{9suXpq6i(X6hdGQS4C%*Yg2G5*Tnv}RA=5EEAwVB?A>^d)D79~ zk=U<$i|seAynAx{e*hNgIJw<%(xy94^T&0=uq}&|0vG>f$|IR&m zpN5bg5T6eW0y6PVq@;^b>6XoA8!kS2nbWHW&~1d zhN`)x+9IZqdZTe^cYIRqgp*YZXbq5>b^ZIfSehPTgr2Sr*hC*7Xixxi_r!@)k|IFd z4lT5vCQ=oS^uj-eiv-0y?9Y8mD@Anu%75m}8A}BZMrMXKkIuc1oLP=HyAs16wOP?u zw(4KaG4kEyZtPDX!8S7!niyD2SB3=i~ z=d+~36!T({ikTqQ85<1a5c3B2lqb!kkFDZn`ET+<84@Z9v(BO|%eF6s?+no!i*>q^ zOso31L|IgKq>&bCpU}3Zra?4Bk_f}Mo=X<$vLInH_!pckFzQ*^GtCpV)pL2@czb7s zgF85t7R~k@12!X!vSX$`6>tTY2C8uRugVL*o?n!xXA08oe9s=T(sN={*}1beBOH|9 z(-U678~HVIUgn55aM{XeJBB%8@kh)gp2I!f`;|gi!m%%4{^s|d?ZI2Z=MgP;Xv1{s zx9P<=Genr{tVA=5com=tx7u2FNeOBd#r&?Kx?UFI6)j-y!iSs&*@~+H^%Q!0d2n9U z9}Ly!NS`~d=19-P3Y4F_S4-g6IG^6TEvj39GnKtne)CIUu9IIy$ly44rAP0{`$+6P z`y&aZZ-Mh^oE75`@xGnNyLU+?zl`d#WV>dB(1UPaq&AJGMAO~K*C(j@-YZj$jeul5 zR^!oG5Zvnf4ggjP-MxKbMw8EQJ#HfW62BNxCd~JO%}B8%g5t7O$F=Nerc^g3os_oE z^9~Ksg;_JZWDB9{ms7D#c=gSYI_-6y@Kji=hKS%I)C3m55 z#zJhxEtW!YURRDzf<30<43$UZnXd=n3E$)(muBrOeJvtun=qXK?)}siqI|X&l~)`&CQZ9UUL4sPXp)}!NqzV z{l8w8qc%zozIS*zrpxH6kQ>F!0mKJlz;(L#i4f8o3z&o|vS(AjLYpE3A0tE#CNT4u5W?(F1=YvA}Lm#+HgUVG60F{6O|Dnmv}n_5#%jp&ss+ zp-~BCmyKbNAcK`I`?&sH2_F}RyCN(Rb{V1qbs2S)_`V8{aQOB9lkThGg;*;5=m?T% zu^QTCbZqN}JY6=^^AWB5*O{VZC9*9$z`#y}EW8?j#J1BpSBQVeHkK!Ts1*9+Kr;EaO~a;p#!;~D|Z(WGm?&hnbd zP2SPGlN)yx0VYGXX6XduZ0p|=o!;Tst<}r0E$;zB^(`Olj4&@%Zxk~VirduML|=Mc z?x281SlaS>Ci6cSGO`nh`UuSst^g?a?See0Ica0bx9GSR@>74~q`DMQgN>NVIvXngtmTcm)sWpDXg=$Npo=3~H-xBD+TlT7()^5* zl7>1N?*M82rChQRn(|5A3o@-Jb_&<)LU{{^vS>d9zc47@eAdNzw)};Q5<8*oNv&iY1*q_iEgCQJ@&)3qO4_}90-MCu z2*UsEE)KuWsWT&N-3ZkHo%v+pknN8645pq_Y$6xi9}&wTnuyFl-=R#RrhP|{9LqUz{wV8b&XmZ>-@H^7#ZsbQpW0MHzFD# z1_7wvd=K^I1(?>i^1H8Xo0}%&*{#0n54F9uIu+vTAxuFIpMiBYOxou-gH?fNvEBkB zy3%7gth<>|E3#1euV{C%=@_n8r(PZPTO?JW-|v7_jc*n2w2m~t{-)&Uajzs9wyN@Q z&!~|!dvz=#9o>RU$141aTeE`+DtBG`TEhWTso$`I5dG9TuL)Vu8rE~phtaxl@ysHk znmP1+O8V<2rKz}v`Io_Wo5Qz$Rwa&ewBFB8-a6!maeYVvYacH%F8cf@h{KIrb%;CM zpIsij)-VK{S{=N2`#}1^AL{ia`mIr<>(~i|cnG1S+8{9uu%TIwXvnS4GZQ%6!vXqf zxCLn!jD5^ID}fNo**e=Mky__0m$UgEZ_IyYc=Bs*p=Tj&+4zdq5_yYvt7Fynz|nw~ zFEt6eg5;y*ApT(7jA*&?MUu0WxHu~j|Leyx`j{j+R&+k16@utW5bg!|ICYb^Hw+jp z<+C=+=~O$m2hETXN$C(c{kq#Wk4TFBS*9AAcsW0d4&M#^y(xjMN6cNrbCx&BAw0is!C(sx}}4lfU=p#TVSHA z&}VMQ`zle&j^3a%v}+FP1<4X!u?WahHn+%Gp+`fk_@f0<6USJ7*02)iasO&y6}E7b zxq}Awd?q(Wf(fIVXE7fU0jL(6Tmgip(9xQfrg2#c;sG(Ws)@COK3RjVJlkooD~Obx zY+Y)xj;H>?xNZoYJq332`{vGO?XEFk&#u%odq!ZLTanBbXsaja{8muK%Vp%yW!%^G zHsx5EPA#OQ2Uq89riWbA<>z)^e)M`hTF4J8uoP{$zLRw~oL3A6$H0s*X1cQtx)KMv zqQ#DZ=A?6Elel{ID@Xb(r1UGf>GTCgG9i*%%B(YnSJbk2FY8==M7!~hd!bLWKJ(X zeAr15p^&t+%#SIrN&y7hY7pImjN`>9ponmwo6_rj;jT> zNi*lv3DL#iYBNaV73SQEA^LQ`=Q$$jEJgJ-aCpU#ZJ7?f+@^e))R%GL)>XUrI{&`q zfe?ir)rxHp)k5@CH^%>jii!;BivlTTWPoHPQR;Lz@yU3InW6G00DG;dsS%5mVbTU}LUB%R_iI5JvSyk;D~RTZJE&zrGINSL|7``!~QbOo3v z#pEopj>L?5QryjEhxP=q05Q%yG&1cxxuoyJ>s8|W=v1*QqvCQ@@R3xikwQ&STbrLy zj~{VwY$U_q_*1gtYE#vZvEj0J94$JCEmn@dtIR)|U_DQPWAjAw+0R&CC_4(azO@w~mRf%*NMcvH0qK?iLTFWtACi zUYI%(TnUy!SFw)imh3I;M@V2ul8-JjDxSGS5`vR|E*^v!)M}5D0?6jJHkAD24lT?I zh-~644f{U;XF!<0h-AV2N5sks-2{k;-U^Xw3y}KeXVk)He8xspLukloLi~!2LeSPx zL<*%@E#yjU?7|@cm{ek2&jyP)AcQU~2H>#=Bs_vtaNE5io+yae{wpxw)f@v8ot^{{ zmC&~7)naYdYHcD)LpUf4otD}p(uQi}>7LpV&S1yNHiSVbLoI@bXCwp49ww^N!YM3j zT`|HTghDB-fg<<;A&AT>*g_vj&+*yOAJO8ba%S3gD$9UoXpU-dz9%ijU8stx2NEPQ z!ICv;lg}phj`<%77?1z$9)7IB&a9392%}p zoJf`ge~43$aI3YMD1!v|q^~r?Eu87r@^BCP@DG=fG>n<4Nn)~a z);4s;Pq;$a@+q#tQA2b@pk7Vw@j_=*G2F)8MieW@aYEW0+7wO#S$NSh90Cj1ksryL zraD_LHZIGkUN1r}sgB%!Mjxn#W`Am!=4Ka`oXc5-#ai{jT8(axxJa_11ceD6de9v) zk;f~1iH9tR;yeN%w9V1dUp}P`d!z@S@$P>3?zR4!({-X#fhZhzW~+u)f!*Yeb57uX z3<3^O??4t(Y`|;wZXoxD*!QxA_4cVPN{3UbX26okPn<##0m2~{s0`Ma!g5?Cu%>-@ z6G`zeh4!EjN`dM0$A4_W?CeJ$bnF&LolbBe}oG6V}nXk971!4^#6 zEg-2TFvg@6<8u%Lxm6h=i1Y7_up;~lG(Zb+P>2rgM0Ke~9u9>lFf6+eLlw<1X)HuH zu&A%-Fc53>MssvWABHr9Z4pOe5+jGj!qyVT$6HbmX$`N5CCIjg<3Qou`ou z$%|Y;qyR#Zm-GD_GP4RL|~V?*|US2Zp>{(bOJ)!slbZf^^J6_rh2!ke2nr79vSU zs=l;K%U$+$FDIPBmL$SSNRD{YU=5l!L2}&eZVuf{bD?ue|71>d&dMX*Y9rABZrhaA z*-BUha&7wYZ~rzWkSuZjIAt-o-3U=3krHWA+5!X-ivgkPWb6Vrh4XJ;cZ)uiFrn2e zGXj|C_ns=ML!ZK8gAFf4hfvRuXH1$cl)`%(`>`Xt4@U#)B?RhCFpMH`B_;<^P%cVm z2efU2XA~DL=qpUfL>56xl#J0Rn8Kybj6rGU8>1F-v9YHfH5{9-QVU9Eds1j1Y+(t|of+XBT>ApY@jL{*qm$`GIP!E^ty$p6lF%<7n*M!E+R8eY% zW@(Nly+_9zfhsLX1rZrhyQvpe`X(jq0fJn?lI4$%b8gu#X{Qj2`W{Xp>VTFe1*t&=#Z4WJ5r~A07RcXd;0W&br8~^KLhvF`Sa%y zr$nzfnR?Z#)vR3`TNR`A>ea@NAU6_wMXS{*jI&sRbot7Z#aPK`(kyn9W~`VXO>vra zuuq*ae9#oV!v`s!M2Q$lOoTBbtW%gG*0D;5&K9j(lyvp_^(zywUA1DRbEu$KCStMn z8T9r|T)Acs)$LOkFD1Qb=};Pl_mCh#h!BM`914-9P?~Oqy46_MEnBvhF-ulU=TIdT86KZ8Im1v^e?jxp8Aw zY}e1*xLXmwSpLB$JhJV+lBA zgd6c0Vu(QyKxb4eut3t-W3jz$oVkw~%ZMW`mK-sQ<)j6RadDgfh@;41q_;7;|(&ZPy>uSD!~L3m|%*jr&cN%bImcSiindqp~C1Q zm~;ZglpK)+<*hmf8pJAx)EHC^p~g7$P$(2tl#E8nIJD72zxYDZIyft6AgN&f8Dx)z z{#59ZM_Q9}rHwQy#wGkl3TY#kGRml>mt@uLvfgmwaVMC3It3Owgd(aaG?G$^DW{-1 zMJ3lB0kjS>ws2Ofv7}XEEorx)>#nYtxPdLK-Wuc$tilbqv%AnbH%h%IxvP)83Q{sK z!48|umd0+;1>eVRX=a&PYOyG*XD{vS5YXxxMKD1~W5%>@{Hih1Uk;6m=0ms)ZuMZ=U;UYX^VU49wnm}Q=s=9;Nn@0s@C+oqds=yTB-VtzV^ zzm9jiPex~QZn4G$J>I35sCYdkM^kux1d=_ru=%+|K%riC^%#6b<`&$T1~WoYm#jF74g+z^TObh&PzZt!f{9Fi|mA z^a6*sX$91HQ4Qhj;u*6D*)fz6JznHO6I@f`5}DXUCq5C1QIw+1n&Crd_>44d15!1F zMzmRUgg8gLkBXKypalJ=dinX{R9Z2L7^Wl0WXOuZ32reGG#n)$p@uIc0ZSy{fR>mehBpW$ z3S5}Ogha&%SAC95WC9(VN(YtaebFU(Vx1}ewi?-e>kqUGRI_@QJ4cZL3cT~(@6=GP zhSb4$j1Uzk{xFEFL31ffA=N3KCp1*asz>l6#nW*!Or*HB*dl7Mw$% zp$>(VKkz|)#hYQ8<|IG*ndMqsxu06}Cl;-Q3x#djLIAsR1Ftm1fRl{fAqe(Bi(V8j zmSoZ>4pYH<Qb57)a=+IKgFmb27{~ww7SNpjEUcjpKuAKE@{or`hzffbp%d6J63a@! z?|C9=C-?3oLu*n(c6FHDpoV!&-yRcpw;RJS)j$S@2m}(4U_|LS@fPLrfqA2X&@DC6 zDv;2Ek>l*xD{w?xUT~MTtEP9t^v5gwRu%@7xr6^*9!(M0%Y9ITJ5OFa?p_(&^P8ITyiCknO z9~sHi(F8AMk+T(7Lm5-;8PI|@H2VIAv8!VYP+qk=PILNX7RXvt`53W?G(=&Fh!{nV zzKb7X{DwquHc?mw$sV`02(f`h3u{>d^MkCA7B}taDfTB_lP#~RCh?WRe zn8O_Oun0`3q)snsEwYdWD~;R|Y9HazE@gNm27gPpfGU(#g8SRw1{YDpEfnSU&>81G zqA9r^M4|X_Pi@+gB_xL&(ssNw+0m;oVv0k=?wP<-!?2*s zh?SNPO{SplMNoxbg4D0S11%^M0Qd$rIJgh#21^S#u$4(>`VfEVj35G+@4r}7U499i zCXAB{TV(jc(TGMfz5$J9JpP<8g6Q977=mAyOnBf+nhz@^2ntTd={2yRu`6(a=~;BF zkFcnXk4t3EQ6wYDF_-zwXO^O=w^253TZ+q98)gMC0V8xTSIm zR79c@i9mxFb})h|Dnb+G78ZmTccs{tZh>inmMMKAptEBU|rST7@Src~7faN&w*Y*#MY5973S-=D_&3 zQp?2i;-!H}p@&}@VfL>kaOxU3-3|Wmk6suW-)IIj9L@$r#KkO9Dt45M5k6-SqGbLg zXg-jLN%W#89zhg%g*GsahlJx8c+AJf$K{IQ<~q;=KM({%(8xl8PJY8goNUE_#)pFL zo&1GvV9fV^&k}{tM0(;Ct}Q5pq7D?1+x(_{!0nvqi|dMkeX^z?_6sYbMct}} z`vT1SYHcf&KnR3@7h9kOlt2okU<;Tl@nWIh5=JmI;idj1pg5r15zLdvSn~XsNPIC@Jv9219fOG8I~a#yz0${M&&NBx^QVuDq#^!VGz&& zsj&WTM{H%w;_M*z$_f9BG`L|KH0Y3+VHqG2A_WWWn4vyY5(-r%B|suazVIBqFcV>D z6d)lhtRwJ-01Uh!4Gh6S#)Kj)Leo5C27~Q%@(L$P#wAKkT?_`8tYY&{O2qzfceqk4 zQ|((2@ht=b7LEZHj0c~#&3H0FC8*0pUQfHw2#w-q6LmxrbHoxikyUmfxhTOb9s()U zU?_$q5mHeV*^FfHBNjLz6F{TZ(Czy0NBh3<4esLm20}A>aTtLB2&5o1c`?N3-~d6v zV+e#9U`!KKs2!mM8uM-^Eom7Zt{K3g;S??$_%Fk5K@ooQ8{1+au5A!zC?jY={{EOm zG?-x;;$s^YLmH0+Dh>h{v?|m<<``}WABkudXu%XHfftI3AjgwD%hNp16J;_2I8LyP z+Q#b|@+JaHLFRH6EJhxMPK{Ix_5J|-q~Ie9CpBzEs(dJCj?gZv3MGL=C0X(%T@of` zk~ybg8ftQ3^adr$Bu{wql3*-`VgZJdBn+)X43i+0yuc8Yk|}e=B~U^JrSf@>ZX-wr z_eL#8va&9|1ro+`4>kiUK;!6&49caPML0hE-TDVUx zt}Pt3LJG)02!NmpfS?CJ69|N07|Q|@>OwdG1VCtN8DTTB1a5UUsx}|a8}?7(vXM8T zp%j1<0NLgHh*Q4GN`@dyG@#ID#DOqiQ^wxsC#v(OPL39op~qGZAIGPiD4`g{^E`Kz zS9{f0W9}7-K^bK48LkK=xoGz6Qua>AHZJBi8j|Z?VPcrVxVC@>kZKZ2!4?QE7P#)P zSfoG)ghmqNBomZ0Hf$PRQeD?|UDH)UCDbNmLw}x*GO$cu4pBamR_&P&Zb!Z1CbobGF~zlUUD)D&Nyr#7y5EXsz&Et;ft&Z zFH(wA0_7nHP)#G&KgKD1@B&Wl=fCbpF0M8gvtk%UQ&9vJ3Z#HgiE#@cfs>wrSZ`uW z?M`h~$nMsx7C^z^=&l)T!5b>IH~9}79-|q4Q{p<+qBsZ4W`Pm_=aL9xG}6@^61Nlz zLmCUwB8Vn7wCWXz2s>-lkJJ3vl;4RLcJkxBSQ%m3IN~F87U$0 zJk8mV5n)1MFc1R~#36AdqvKpD@xn~yaN)+jDE>J1$a0mTomhbvSV0g#7mxE;kN227 zC;=1BO7;K*(Ej5utyq65xKnkGX3oz$=8OwzD3_seJ zx^j$G;&)W%*O&0ie*Gl4>c^QIr65jrm>gnhISIcIu?`-A4;DcR4rLLR;!TPN+)RP% zfG8mgBzS8AB5PzCoS0uMSY3P8XD4e*ccd0TLVgrNGoNwvQmTZ-8HJtpX<7w)Km#=3 zbSn%@hR1@20nnGK@AGt6hkY0bpny*Y{xx6>j1F>S6rN0~GZYSf3Q?hOw zLlZEQ{X7f->!Kov_RVzUNm7+CN+EI0K^F|e!v=vOh?ZA+p~v{+jkgnIM5Guzlo^hL zkDJ=5pBk!{V-Oah5)v=$uBhnjQme&koLaXN9HF!(q!M7k+PsDm!i5di0CxvRiF=nD ze%FkCBuL8DTt}Ido7j|_*BerKT)*i|W)sHJDj}qH4+1DV#9#~Vpo;4N5Aa|j-X|uO zjgf-+d7=_}PQ_?y1vQR&FRYnttLc7C)|p2enoV|^LAJz7Sh?nBDIOtG65*Q@7=SZD zCm88$fETOPd7YWlolAP2c~*)3zf||;Dj^m^AXbAoIb{G#STSikV*g{DP~sJ$q`_c# z7pJA6Z5X%E!eoVOhb0;`8)XZ&mKepwFKS`M46B%zIJj#;T}_%_nqfjCbQum~`>r@) z0Am!)Nv4Uxl`~F-5+fA4!5p}uF>Il6cS4PA;~+4Ca`CZ`M1&WXAs3b!IiecFGhD-e z^$~VR_J(S*RXIMX6uJ}ns~uquN{i9}0bvp74G_VpN+B1TK{9G#hbENlSOi4|DMmth z8{XBFNqTwtWg7Haq$D)3bfdhu=ath66d2*4i;)q?fIF^b50IjSR?8HurzB=UR)5N} zV+(G6ucj#Wb<_p4{Y3t>M|-rR`F>e;X-f^iWDM7OjZgRVYoTkJTEQYrffqLBs&m}1 zZZ;wv)QRZ@(X$kZWeB;2lY}|tTUMjgOs)A+xWrQjByh`M^edrhQBIZM4VYjqw7bD3 z^HCmUQm&v1f@@E`(xuKt;tba~YN1?Pq#EEOU47eUw^cEI6A@}S;u5CN0>_+uXokyo23*r4A@T=ddU7Vsu$S1k4?lm@Tm;%6xv$TrWU-AlRJc*NY+G zyu`}qNUTZRa80+icD%_TA`+7kc7mL%2jH(LMrtH^o8idmMS|#sXQj>eaztvad?4@( z(%)jz1GCbfJB^?QB#3l4XR*`CqQ6AFhRLN}IH`boG-Fe}3M`ro_Vj+~!h=%i#g~1u zoY0Y8q#JO(Hg~q*4g)wlOc}x0Foyj`3Zzz^MA*YP6iT5cJMQ@)glMSUuExeRrpm?U zb{aHw+&7=|JO9Z3po;-SvWcUw$0^4;2D`8;Y9c`r3<2KdoeR*w+tNA^*Z4X321-v;pgWMN^=WtfD9mqJE&j{1i>u^w@$DJ zb%gEcW}!Ajo@S#>+JN%p15P0TW#w637R|!t2ST@&cFzB1Vv2_;JhSbkfGL_H@tlvl zCL18OIV-lUAhTr%6C#}Etr@gi4{vF*Wh+<3T(y$bidCx?D^Rfxi9AGy&Y?bo20?-} zXwM-^kU+%*MUxUunz1-`EXH$}&t0@)fucld&z?RdwTKRN3qIDtJN%6r(m^e^-9^ZXUC2`yUUkb zvu3xrLDTiGx9{J;g9{%{ytwh>$dfBy&b+zv=g^}|pH98H_3PNPYv0bjyKj&idFA9q zo*A=Z#L}xzKWmmx_r+#m%9CeK9xGnBps90+jrae*=~B@v#Vj*TH3%k%pfk+mRZN0; znIqwZ+*D|xfzvdj&~3|bh#^CsO(UX+%uLo1MyzMv#7G@=e5FPmLQJnowpx3{JQL(I%EX2XF6||mq))|^IN6gbwn)^JM73m8NmyoC(i>SGMTY)Sd(<(= zAAdkHB_x@cVoD~EFk)0%WGEqp5L=M31tT#L$O|#m6!VNTdgV3ZLKfbJ8$`FxIO$XiPsR8|j8C*=A`_-v(Lsh3Of{tx6HIKu z1RJUCua@;6Q=uRq%uoT4-U08yf0#Ga`D!kcbsdW1dE}2&T0~ zqY%Z&A9X+>#SL|gal>?eOcDy0FU9f-C#C`UT9C6SDMp6}NO`MafHA zA_Xk5W2n)+SV>KarCV@4t1Tjo*#g;Pge9uUwV`DDF1Peo{&iR%yB<=lW41^{(V~AT zNa~hRic*+wGl(d~D&Ub0cqB@F7%3GlRs*+x%}q80D+o8zk+6q=V>dVpp$JDv!V;SB zgeXj5#59qMP+$ZjwU}MHc0sa|oeX6uV@)Cw!G}bk;S1hV0v*;M1{EepXU*u@&lEH? zf)tHlM?;#@s-~fYIITm5s@jOGX0@v&V;Nf$jNnodBhB653N@NeApB5@aM8pR|4P!3 z*kd=m=`Bg5>f4iY0XV@8j!Ix^)#0#IDWvpaaYjkW3NG*gR6@JGJ#8Sq)sS|9t~ zCy~a4;#u|ELj6RtD?wqm;LaK(v0v_;P30xpN9H=O{jA~#0V$CZqI2&#dtX>_w zMZ$Pv#D+Tbp%9IzL?=p7;4F$6u`^Fzs!_uu;ldRlb%n`RBhXi{2`P~H!yzgv99`@z zBTHmrCjs@u3L!0NOZ!U|pJpg5=5!jNOxH4ED3^Ht?=hIFgA{-ugtK8Me>RClk5bc~ zXK<8mt~k;i+p~)%$!?D+@+0965y(LfaxMN~B5S4=X%m~!WF>!a)goXX zrlKJ+Q-UST!K!m5vE)?hm#oN9f=h|(LyXQc25iCzOj+TkV$4acaI&zdsw`(?++xV_ zVTE^*8-@D*cMFHG?lzu@t~Uy3K*hi%e)OtWGq|ygz?6y@|9V9$)I`HwD8numLa1RC ziW`=?_r36quYBhV-%|WpnlcnqxIq}FS`e3tB{NrZw)fvxxMi-gRv}ov! zB89X#K!orVY6$shUebj%ix^c=Nd8?55SR*r>?pz{gkeRG;q`7|1M_BF#0dsKJrt=u-Dt zS0NW;>XigX&mxu~LuN>wtE ziu4q$fmANusfaZoK@onS{_iSu(TvG-=q@s)=|&@bQ-fLAGgY+k(?o>WrRjxK8UZ7y z`{%yLP~ulD0745YkR3lP>oF>R1;2u{4fD_t7DrNs9BJ(Bp`NIZe*7a@%j#ntC2J&T zCh|-^a%4;?*;RFo?UQ@P44RsQVB$Erg|6%wa73f9y5RC{tk&IJi~=iI65@|1J6V;i z*^hvWobci-=Tgy`7c z;up{O#yh^E6ZQgFFdaFiw<}+yrn!0fkGD;yk5L$|Ri5S4X;QD4;Tg8|ZF1-LtHV`r9*F&nh&Q z7?%<}u_RL~F%nbaS%H&W1o&BV)?z^-6q%rOR-$L81$9*cXxze1@1hCZA_&>D2bv-l zUqJ_nG!kGJX`vxFoy8HXKyNCjK9C_2*LQIS2snaa3(oa&yA}#%FR)?SZSg;sclSeS+0AsTa$5LPoX?SV2V z^Dmhf3c64VlQ3+a*9@T745HT!q=z7;cX~E;Q>wRmq{MDK^?L3Xd$RXM9%gA0p$Uh; z2xA}x+#w5&fg`yP3$$P|xWFd`cOJU{3t5GHdec>2^?X?qeGxY}Xci{8g?+elaok5_ z-!~dUAxNCF6v?DcTR>LV18^RZd0C`1(nWXP5DwrF4)u421=JWmxGi)bL|Y&PM}bLW z;(vO_GRXo1?Ifm*_WWRy)H$bll! zHU63*X^~-qAQ65ks7n1q5s|@WS0XMLH;pSI7&TZ}FDG~30EOv5UBeh@@=^*yC?OZ2 zianu(rP5;0aBds~4T#qaxuAs{*^wUkksw(Lzr`r$F_AvuFR@?|@1#J1KnTMo3&8*l z7_mg6ryv`pK^v5MpTTl@m^wX$A&4b4(-0`|rV&L&dzTgpd8P#1K?rIyFQX6(tza_5 zAT*Q6Z2omer@}XlG8bC&iB(cd)^{alrFCq_JD{RjQ7II%loU$#jTIPVm?bxu z4U;Ebq~;9;2@bcwgE-<&ioqqVCAR=_)c)42*kiJiZBV9zzL_|9tW{u$sk^lsraS^U5CEaHwMlqJjxOM{g63FFN^LS_1BZ2ipKX%0{y+ae35Pq=!30&7=cflwx zil7KmCnbjf39f>DN3oSr&T55T2^Ks;t_o zCe(qo)7|ej5=(13Ip+peB!GCf5@gEBTAR*qgk`sid|Jz{w6$dxMi|saCrR!4M4l z1P`oZSTr~hoo1KtXOO}Pg$6Gu_6?qu)$b9IjTDxTRk*`Rl7LlK!H zy9{7D5M!FMVbXPGI!#b_epi9CqnS9>GbU+FxmK*60Y=a8wkVv! zD!jtS!4r`(Z4+Tw3}uBoa~`hYguq&51%Wh){+o-al!JI^Ao=C2<`GI2azz_4JhSVL zaN#HpQwlLT3TcuI&F~GTlsX;S3YY+*>FT=e+7PlkZFFiAX7YdNcq#UpySH>pmUR;| zaXS?^nkW$_9J@o0aL1g$32I^r4QhKhYfo+pS?gE_1pBcBi&pq*v;KIn-Rr#r8xxV4 zB69IXJTVYFk-jubCM}U??n_8-U`UTS3W@V{B@rf>;y7hOeWxgPjUi6wBC^CoJPy~V zL(9kEcd-bZz`qC)UB;UZF@I3F4)ZX~6HLJ`m$e(b!InA+&FKvUqmlUHkB%}864IO` z{1+$8!rHve+|0JeB?vxuIh>l$H1B3qbjxv7I&pDKnvRpa9(%_q{Rnz&%bn=Qm`1$&cR6>w2+I2_9B8zW%tr_N5&60j zG#Y2ItPx=96H*m^j+|2L>tiD^w}jbbAP6I3g39wMWT?5jlLmBK!-;{)pj_=)e$*KC z_m{c=cV6aPbSIqfFwFHZ55;_g$ZWOBISKq}4t*g;+Y1uuLf7n^Sh=7K-Tc>p9oQYY z25aC4Yd{5_i-o0d3+7=}Bb@%uro_%jvy<=#e^Y~p@$7yERWwKJ5VOf5%Johf2+n@s zWw+2UvfvBSuq&~!3>XQ|SS((raIWf_RS!*~e!+U(HPK`2(Ti+~Av3`a`X5%_4QICnUgGX{&W2!OCd5_?E$Hm9HZk3_eR}X-qGNn! z=r|HUW|k&#mTeY1buc5f1uWW6TVlc7X#eMeF7q>guBb7%UB$00cu4DbNZ2Iyj}GXS z@UddT667s|6=75<%KW`l3!W9r!HZU_R-iy-G6?F>LP(Gjf*Li75~YZO1R)xg zD_1B@l*mW{2@(n!l2GW7BsoT99W`pu+(8o)446AK`7lbvC{rw+wKV3k71UO(ShfC) z8clXI7ptE@HE|3Ts#MflLYrM}22E?YaO~K(*^sHF4sqZQI5y)<4FL9Y2N~S@LAcl`UV!oLTc`&YeAf1|3@T zXws!kpGKWp^=j6wUBC8xYneB1>1?N4mpeCYZ{TQ~+h(qCHR6a9Gh?<)IdA6NoI5v; zJbBYvtRiYcRO(hJM6fAC!qkdVR9nlW7uz*U{i#{7)T<}vY}+(%->?d`r77b6{SyZ* zJmkNH`T+2dJ_zhX5CaQja3L~O8Uv*WAta*?3&&uIrI)~1WDz|ii6jz9D*lng6;VWS zZvCCUBaXHZLJ1|(+yW#z-h}g{l*VW&CNyTklcq%W zOa!5#e8Ml6C~H}UQ00tj%DN?=ii$j2Zox_`t)l7btFY=h%dE4~LQ5K5N&z)gXa0Ke z6;rNks2EiN6O1_GoTE&vN&S}Wj}lE9WY8iw4=hl?JqA&!iU%R2xMG%E+R(!fLo`H0R77zF z7x$D==9yhiuJVXcG0Zl8>5 zQb~cMV$`avqT##mZ{7hbEKSeabR1ng4Yd?S5OMXzyi7@`7+Q)^rkleK+oqUgoKZ|z z&p!t}bkRpAy>!!0M}4wYbcqI>WZ7BAD|W!~jaldl8?2iCVx}#InPjTP3fpY8(9qDXW?5(fksEJij9Wy}I)Rcgq}WMm;m;Al_k z!i0}#HV8@#$!SeU|8kTVD+8p5;~?k5!2;mA`)5tLFe zPit!8S`g#(CW<|1Y#7TE+Hj&1gRre_bNfl$el(vX@7 z2J61D4sYZJcCw=#?S6w8!^BE=s#2Bjl+%paFo#*gTk%)u~T~YE&O1i$ogBb+FUT>}vO$P!1+@qr#*ne-}62)Xq2D@CGiY zp`4(cF;wJA<+*|-2x65&i?C!y9f?uPu;Q{l`wGYS;_^%L4fB{*JFGG-@`eV%>3+}5 zU)V5IhcEQcPIqX-9rS<)Z5l!ns6d4)LIzHf9fN@loCPteWQt70Xb_P213P2nPE06p z7I-m56_K~IK;`pa8R@6D1ho{NG%cVqoJa?UR9qzqLP@54iXgDV268!c4NuV88{V)r zH4PDL6-@~>tEo{7#t0#PGU-y9{&E#5O35ztJlOkK`md_Ilu|Jb2jJc@k9pMN8fhUT zfN>fPXtYIfx57D>3QNC-mc2@xStBq0WK zF5a?pk>;%d2}q#A6PPgmYBp&14O>uxcDF!L38~}@N3;`;?!bqfFai{NF^JIC%ico; zmC^@W-+Ujnw{hS%zhB{RJp??C53hx9x0nQ|$b|@fA|{VU5o(JxXP)Fthr{0nceuqp zZgPL_8(Rs-zV@{a6Z0k==16g3FsZ5+zZf~VbPl$xwKHF)@)l?W-6){(4ZD&FmY8f& zi+J&3;B7@K&3M#}r;Mb0VtL|EiLNr=pfEVSfeu?B!P{zE7!HX&#Boh&Y1Uh5Xic{2#X015cpW24cW&mZ;!R@U^gmzGa zqE8}+00kwoK1}{BE)Eo|h(!qnfdn0dTGUJ^HP^JuhEjX{YmPmMjVwgAmkGVWkme`y zuu`o<5rv+kXpk|7{ZeChg)9A?2N{da6~Hdb8@k}(;<8hUWlSSE*W(E*M#T$W)WR0X zX~t2@J$llY-t?zOePj%GU#_q_lFYKrT%rT72-h2X(;yygfCq7&nldV-n8YMLwTjSb zq8X*=X)Th$^S&&+-f?5^eW2klMzxY>6}LFvsG^A;a%ZI;r-R2${RT1s!Te)@!v0j^ zzdKp8%`TT&h$3;KL4)%>IA4)7uVS=?|gEe3~wgW#pIFLS&EdEgg3sI-n z8mNcBySB*%YvH7ys1E*Mrh@682X+VtX>c|Ilavr^h9#M{$-5SB;G{CC zj$P=yu+xNU87W&xy)N{^F9gFd9HbA6hQ(92CZnC)csFyP4Q{9wDI_T=N~`C$0x4Q^6JNgFUbiY^HAV!9lE$I$%T?O>jDNV?3^ShqC~ja9E2(I-@0o1~Ul-=P8#`(28$}hJH~J zwmGG$P)9Bl!-GV~gjC3dbd7clhhig~#j6z9*_U@HJY$oTtFRAV(u#Ykid?`UTY!c$ z`UhDU9W7FhcTqlugFar9B71Vgh{GpIq)A6?lpacuEgL^o1Bs9uiLjA7HF%kg+L1(% znMx4FN;rj5RF7wnm!~AEg{uyO;K41qH5Xzbp3pYU@f}#w!MOpc1Oy@c&$`^F&wib*NFVrz$RxRiQm40xc7sTjW1NhH1zpPYKaSmG|kgQ&D2y)$Or~X z=^L0D2TCb6z+s1a&@aNdNUngXCA`BU0hpW2id!%pQ^LjK+@w3aL6=+xn0!RF=*LEK zB#X>1V*{Kf+n2Peu`#WMue&uZ@w{A^hJP@~(@{q<ML z5h?2sitB?iNm0T9eN8nTtWepq63h&UQUV&V0ULONR882$VbxZhJWxS|9<0^Di5W0l}b;PuE+yWh} z?dYKk>{L}v!8lnE4xQBjVile0|BIk_?UO{v3m~bP0d%0!owx2ujANs8(K#+|XgTj-lf$w+aHhJRDbsTmjR3RTP~yC?VnQl)}W8^N^`+E(SX zRyA6LVUYh5QH|gvYYEL>ln9_}2(3#_XfRf+eaDC7+RY%sdPoIdkcF`w+h|RTYgpU* zwcq>2U)ETiXdo6f9XQ^Io!oRXt*E@XiMWLt7epw*{^k*+jZnuN`;`8L++M5&h#M@z zMbiR(T*%enTcAW(J;4yB#yCNcq@7g{1z$+W3(z$M(B*_zAYBKdC4{pj%X2zn`j;s~ z9@w=vkxh!_)CiJNFWo}RGs0BRnOYtQUT6jMh_K5OT#NgcC^8~ zxfM>&z^QO(U-I7~aYk3mQa4R9%&hdLxu!7F_&@h$~B_$F|Y6;FNHX%}pVT|3X5xSOq@_1X&1# zst%3io#GDw0T2)ZC=dcE00Jo(?+GD^lknyN5$h`=CM8iz==9PCdy+@VQDcorBwQBI zFk(wcg}e3zzZUQTC-8)Pi~hy^hTDk36Kg}~n1*KX;M3;Or~Lrm^z?(=9i zJ=5K#+0yRd->QgYT)R$HX$3(TSDad*QDzNFsFZ(pc{KE$}BR6ULnWn-U`)rffhz}sZSQs=2%_;TwF@QM#i2yP6``M)x|0Hw zG)?wRLEq9)1REub^wslw$M<~CFlu{>sR*W%a-TI2gMq&=CHRN&u3UYbwsPT)i*Oz_ za#M|#_~e#&ya5n7MKw|TSyLl*0O?Q^me@UAbylC{R~KD^kaY)ouwBSXstm^DTgll~ zSy&pOmWpuT3%;D61V1?T$o?>Ci1K-yN3jiCOCSVeho02{ffl%d3UGRC&vvHI_H6zk zAj)DkXjSL_X>?+VN#s#4p|Os3H)5L_WVDd?w;&5C*Y~w&`?h!c$Y_C7qn>H59)DjF zPFtwzLv9J4_=(?QF7fK{o743H5QgE<|3mc`r`VB?@jZ!gf+$ZENs;#;h*!8YiGT>> zss%)}z2CVdlCFycWz?s#LOMah&AR zr5}-R63y< zGj8mdWCajO*{orsh>c}Mh&FG&e3=cRH-bhBqGP&rAJU^chknEQ4Q0xe*Sw)qd&`y^ zHI6Wq(9>H2ot7C+AE1d<;oQ-@UU97GX4b$ z6vFhQzAj8QQKEZ^3v1aDw{4jwL{9w#@@OVd7KC(Rh8Z%YlnNo25Ml`-W{5P>V>Dqf zp#&gEP(frM7-fS|R8a8*6-+VZhlo#UHdQEAU1dvGtcp#v7V(ridW=ImKCPZ`5YmX@HPamXIS?XhPagZwcFB#9qL|@| ziy3CHIkko&X^JT2nz(I21{8OWQs>wDe*W=C9s3%39wV7FwW} z+k7+5IqSSL&prG6GffrH;33f>W~Ld^llZaGx#>DRCAs7_Wf{8aDs^>INGY+!)90{b9!UD@IrZ|kAdR(>s_vu72#wcnt<{%3+ zPHNNvW^a{|>m?n69739|DIzqh%c1Be70ko30}kS$i#|H(rJH^_>d$)c579_11@)O5 z1p*R@BwBsD)nfP|hKN}!#V6PF*3|R+?O= zLZmPuc*ARxvp%TgkIn(563~Kno70_^nKK_+bam(XVoerU|LaA~&tkeU-3UF^+LJT;O6ByC_vHMnRQec`+lQxF$?v zD$|+Lw5EPRg0{9v1tjS7Lq0Vj2U*y{7V4&`MK#J%Xkde-ZZMsd94Zrxf)v<&>61Ck z;TOnYryiDVlz6fep33$IKJZ~VfB*y@T&V{>75X(8L*tD^ZeJo@n+eaj10jJr*DHXiQNGbIWcu>WpQH^Rz zql~_3r}{d~vH}_ZTPNcDu%L-JD<0Uoy+%2wmgWJ4 ztSp>3yYf&p|N}hdr!FUo9Udh&NEv3u|q|9sV@AQt0O;Oe5KOV=Utt)40ZsNw0d@ z+g=+GwVj<6s_^I=WF-{!zNlrPhqTqYr?zl~X(}2U+B91n_7J!Bve$@(b0>l7i>zh^ z#3Pak9q5>6Z(K>whHWtlW-x^Q7ipAYc?fa{6329tG66}6Dr4h4^SRG{{&P(VWQHze zK@2%ns!^>bU#JF|zbhnKA=e;=pf2)v9vUZr+e8N2UKz`yfn07E>_Z1Xm=9}%gcQ#s z5ahNDb5}t~#@GXjSY!fwkf@Vs97{VA^%c;*{xz_J4cYWg8Y!Wbv?4v*WJl*0N|F9u zJ5{Ji5hZd;Uy@;{0~%1$*orh@^Sj@BEH-G18bXjfQqj^bp(A-`wEq%PoFt;s8>Ea|$!WVz+~(3~wu~nq zHqUzFro<@tWQULODu=Q&)0z=` z@C{RJuJ*OFz3px%%oCKVU(-@LkkJ-oY3W|HqZ>ThP?NH|-UKHp;Kof69}~no&FM`u zp0-w2a6lnua?Y%#qUkw1Y^e73&2zruPz2xrD7lZtN#D~Q-vz~`tE+nTpKcxhkOHg4i(~ocN6dn-|5Ijz95v)#N?E3B}A;0 zDyAV4pQ6gaghOqZJkI z3C{)k9{dfTxFliJL|h00hqftSXMC4_yisdx0TVpg3*Mj>ZXp+Tq0hLEQN< z8WZ^757JkC5t(ibq4@>gJb6jfP)Te^O@O%z;ep_7Z5b5mN0m5}l|T*~ECtbcp&=e3 zA||5g{y3m$g_cjeA#RX?{DmNDTv=&+NgsSt4Hei|ZC#xp#36{xW_+4z^xhQ?oi^!! zBCaAUwxTOK3nMOIXk}9F`CbMV-tg&R2)@e>;n1c9M{wjx#etQbjE2R{nH&ZWIB^r| zy`nQdBQ!>%kIW)9&Y}yUUlGE|n?xdQb)%bnW1B?c7(fBMK*5_dp$ws8#NAgqOw0 zK^`Oyz1F5d!E802RVm(V2_733#igO14Sb|g9wky5qDYFQP>^JivEfPHUJpzqRrWwj z_5cn{WfJrN6mTUJe5F+aK@S8Z5DXp$YNHe|9u%ZyTDlAF3Bdw-Q!^$dUDl;tQXf#v z1XH%aNZMmi-oQ@y#8kQ@VG`yH;J{(ZL>2tQKn^4j(8N><ydMWfTyE?}CjG+` zfF^JTr*H<_Xp*LGC?H9?fO5J(T@cSn-b7ilWI*-+1{9cmDnvQ8?x9 zMWqmQCwZ2qdEOv+>PBj=XA7LCd%h=pdfpSHXHmtcecmU2)*OB2Cx7;*fBM>f{-=Nr zD1p+LQ57hHCa8igD1$brgFYyPMyP~ND1}z2g*rjov7Z=BSSDD3A82kNzl-2C0w^DUlYbksc|M zCaIDxDU&v-lRhbwMyZreDV0{Km0l^9W~r8LDVKJsmwqXjhN+m2DVdh3nVu<{rm32) zDVw&bo4zTW#;KgnDV^4-o!%*)=Bb|UDWCSKpZ+PJ2CASADxnstq5d8!q9&@ME-Iro zs-r$Cq(-WwPAa8Vs-<2kre><9ZYrmCs;7P`sD`Sjjw-2^s;QnTs-~){t}3gxs;j;# ztj4OW&MK|es;%BCuI8$)?kcbLs;~Ykum-EJ4lA)1tFay{vL>stE-SM(tFt~Uv_`A6 zPAj!mtF>M$wq~ogZY#HTtG9kDxQ45^jw`vAtGS*lx~8kTt}DB?tGm7{yvD1%&MUpv ztG(VUzUHgG?km6ctH1s$zy_?q4lKbItic{E!X~W3E-b?~tiwJm#73;dPAtV%ti@g| z#%8R>ZY;-ktjB&V$cC)Qjx5QRtjV4%%BHN!t}M&8tjoSE%gn~C%+4&$)~wCmEY9Yv z&h9MF_N>qTEYJq6&<-up7Ol}9Ez%~f(k?C2Hm%b>E!0M>)J`qcR;|@uE!JkO)^07= zcCFWbE!c*w*p4mPmaW;IE!w87+O93zwyoQ~E!@Vf+|DiC)~(&%E#Bs>-tH~m_O0Lk zE#L;O;0`X~7OvqQF5)Jx;w~=ZHm>77F62h8aH&9wyx{GF6_px?9MLj9!Wp|06Wl-!oC0i diff --git a/sources/html/image/outdent.gif b/sources/html/image/outdent.gif deleted file mode 100644 index fa3c1b6aad8e4a6209277e391c7bcb733dc4fd96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96 zcmZ?wbhEHblw^=#n8?Jyz|a81|Ns97l8QfB7#SFt7<7Pa29P`hli`&9m8akGFAhn( wB~f(M=Dt3I$8pPsiV0E0+ZGh|&25o-!aZ$OyLZ)9?prNK7JWRS!N6b*0P?6HaR2}S diff --git a/sources/html/image/param.png b/sources/html/image/param.png deleted file mode 100644 index 6a2f729e6ce7d8cfd76ae123e22176d74d5559e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32742 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 LD2mqr41)d(!D*-~ diff --git a/sources/html/image/paste.gif b/sources/html/image/paste.gif deleted file mode 100644 index 9bcc76ac2072414f8b6c5323250769d322aeff2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmZ?wbhEHblw^=#Sj5f%1`YrJ|8D>Rh64u<{Qu7Y(6um%7?gFkTq diff --git a/sources/html/image/preference.png b/sources/html/image/preference.png deleted file mode 100644 index 930d4c5e818dcfa8c3b2339a8db5cd3279c03ea1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30931 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 diff --git a/sources/html/image/print.png b/sources/html/image/print.png deleted file mode 100644 index 12d2277be7de95aefac3ffbbffcefbc4ebbf2403..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8061 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 KwMqr`;{O15FH`dX diff --git a/sources/html/image/redo.gif b/sources/html/image/redo.gif deleted file mode 100644 index b51d6b842f97aa2fb73ae646ad5cab9ce46a592b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88 zcmZ?wbhEHblw^=#n8?Jyz|a5$|Ns97vJ`)^FfuSOG3Wr<3?O+1Ce11RD^I`WUp!~a ot?td73z|v9`l(m#vFq|1PKq+K8{3}$I`{owFav`%0H?kn+yDRo diff --git a/sources/html/image/right_just.gif b/sources/html/image/right_just.gif deleted file mode 100644 index a3204d97ef345d161b669a174eb0dcecba188505..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76 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 diff --git a/sources/html/image/select1.gif b/sources/html/image/select1.gif deleted file mode 100644 index 6d7b844b19a30f788723c51b89d610a9a9a0b08f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74 zcmZ?wbhEHbA&-4ZHbCzV6X-NE2I?~ diff --git a/sources/html/image/select2.gif b/sources/html/image/select2.gif deleted file mode 100644 index 104e718bd90c2c5d0b6b07592021fe916d8d3288..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74 zcmZ?wbhEHbi>VB_*S4E1|*>PlZBCi zL7G7aBnGmRfpzl(wZ4?hc^RwLz2V%GAH9#iL?cLtd0N`l_MXLz8H^f@3{T4)w7Rtp zC{OTUF)>{=mBH0>E2G+s*-SDD6Hlu$_^jt_dgoKv;iD!x`%qu|X-@_rE(t+V33H*A zHWs#eWd=SWNv9_og=Lkq76{7MERgEatF Cg$)V3POa8{{#JF8~)u((54&y+h_c5 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 diff --git a/sources/html/image/textcolor.gif b/sources/html/image/textcolor.gif deleted file mode 100644 index 413e041789c886e4b9349cae5cd5cdc4ede1a04e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109 zcmZ?wbhEHblw^=#n8?fk1`R;)|Nno*pDc_F49pBVAVH8k1C!mH{*|ZS@-GfaG!krC zy6|0d=`Hh;rP~wRew41uT*+>I(9Pnc!rwigyOn$yjx74fk)bf%RkiqKja=)MRbPV{ G7_0$nHz;`k diff --git a/sources/html/image/undefined.png b/sources/html/image/undefined.png deleted file mode 100644 index eea4fc7770eb10646d70708924b578849a4b5272..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16139 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 LC#>o$NXh>XrH6{q diff --git a/sources/html/image/underline.gif b/sources/html/image/underline.gif deleted file mode 100644 index db8fb4ffd393c57a6e0b9c4d14a280864812b7fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93 zcmZ?wbhEHblw^=#n8?Hc1Pu)h|Ns97G8BKZFfuSOG3bCqLGlbtdQ9{{vZyKUo+V7?>DzfNTbkJOh)~l>U{c-|{b> rv*lLzXC@gIP8pd;uE{GF_#a>4_q|f`;|9h{^z+epkn~)zX diff --git a/sources/html/image/up.gif b/sources/html/image/up.gif deleted file mode 100644 index 3c39716c39438a2947f5888aa5818cc6deb48ac3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74 zcmZ?wbhEHb#FEq$h4Rdj31pDc`A42%pq cKt({s91ILhJUxudI!^zcH)~5&Gy{V*01ROin*aa+ diff --git a/sources/html/image/x-office-calendar.png b/sources/html/image/x-office-calendar.png deleted file mode 100644 index ca55f90770055b45b0c0394912a13624e16a7099..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 904 zcmV;319$w1P)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ;{z*hZRCwBA{Qv(y10?_;fLK68%Cs}D|NZ;NK**@C zKmIZN{rjKc{g*!sqWo+OD@)8p0Ro7{rS8}tJqdZ{pa1?aFfuYQz#N3m{`T`Pg9Ilt zgQ7SG!}05%8OnU*7`&T~{{aXfmfO$2e);_AIX?p<&~%_Hn3$Nrn*RO!3uH5c+5ds! z{}>n<1bLVlKKx)~`0(=&!>rwR8ScIO_5~mS06_r0{{#dC`~ZJm8UP;^3IOHiHr%X8vytA_yFtd?EoDe9st|s^Z>in`Tzomg`Jg& zK~F)LK}Lw3L7eRygNV2&*j7o7A3(McnEi(PH;^p=Wc_7$!~YM=7U1G!;9z5700_YG z7^DCU!T>CTiQsPg{~ukg73x5zyX6u{&af);Q@CS7n-fI-jm=S&u?ngmTpjv5F^6PE zmd18J0mQ<>%*gQJ;|GQh>^~U3fB(+#{{4GkpfQ5k@7}#*U|?cnczI(J!?P1N8UFnJ z$G|FV$iSiR&hX*GX9kd7fB<4)V`XHJmXczS66a=MWqZvaBqRh5gV(QLGl+^pyz~Cz z0|s@YD-3V0-eGw9m5)JOT!P^%11|#`>jMUW0AgZgVFE`J2!J%g05Y3_iG|_&K z#qxtemQRu4+qdrwpFVwL0O&G{c-J)3 z0wT`E3KVAt>iN$A(hCqkEZpoYoR=TIXL#{}9q4ReG_taS)9$ZdzZlrq*ud%e_wV08 z3)p~B`j6rFpFa$o9PA9QKmKF@=>-TNmK!hLTXXCJ;i0tg^R eO0zRSfB^v8y$U$Gl5$=E0000 Connecting... diff --git a/sources/html/index.php b/sources/html/index.php deleted file mode 100644 index d651291..0000000 --- a/sources/html/index.php +++ /dev/null @@ -1,332 +0,0 @@ - - * Quelques conventions de codage pour avoir un code plus ou moins - * homogène - *

        - *
      1. Tant que possible réutiliser ce qui existe déjà,
      2. - *
      3. Améliorer ce qui existe déjà et vérifier que cela fonctionne toujours
      4. - *
      5. Documenter avec les tags doxygen votre nouveau code,
      6. - *
      7. Dans le répertoire include: Les noms de fichiers sont *.inc.php pour les fichiers à éxécuter
      8. - *
      9. Dans le répertoire include: Les noms de fichiers sont *.php pour les fichiers contenant des fonctions uniquement
      10. - *
      11. Dans le répertoire include: Les noms de fichier sont - * class_*.php pour les fichiers contenant des classes.
      12. - *
      13. Dans le répertoire include: Les noms de fichier ajax* correspondent aux fichiers appelé par une fonction javascript en ajax, - * normalement le nom de fichier est basé sur le nom de la fonction javascript - * exemple pour la fonction javascript anc_key_choice le fichier correspondant est - * ajax_anc_key_choice.php - *
      14. Dans le répertoire include/template: les fichiers de - * présentation HTML
      15. - *
      16. Utiliser sql/upgrade.sql comme fichier temporaire pour modifier la base de données, en général - * ce fichier deviendra l'un des patch
      17. - *
      18. Faire de la doc
      19. - *
      - * - *

      - * \section conseil Conseils - *

      - * Utiliser cette documentation, elle est générée automatiquement avec Doxygen, - *

        - *
      • Related contient tous les \\todo
      • - *
      • Global -> function pour lire toute la doc sur les fonctions
      • - *
      • Regarder dans dossier1.html et account_repository.html pour la doc des base de données - *
      - * et il ne faut connaître que ces tags - *
        - *
      • \\file en début de fichier
      • - *
      • \\todo ajouter un todo
      • - *
      • \\enum pour commenter une variable
      • - *
      • \\param pour commenter le paramètre d'une fonction
      • - *
      • \\brief Commentaire du fichier, de la fonction ou de la classe
      • - *
      • \\note des notes, des exemples
      • - *
      • \\throw or exception is a function can throw an exception - *
      • \\par to create a new paragraph - *
      • \\return ce que la fonction retourne
      • - *
      • \\code et \\endcode si on veut donner un morceau de code comme documentation
      • - *
      • \\verbatim et \\endverbatim si on veut donner une description d'un tableau, comme documentation
      • - *
      • \\see xxxx Ajoute un lien vers un fichier, une fonction ou une classe
      • - *
      - *---------------------------------------------------------------------- - *\page English - * \section intro_sec Introduction - * - * This parts contains documentation for developpers - * - * \section convention_code Coding convention - *

      - * Some coding conventions to have a homogeneous code - *

        - *
      1. Reuse the existing code ,
      2. - *
      3. Improve and test that the function is still working
      4. - *
      5. Make documentation thanks doxygen tag
      6. - *
      7. In the folder include: filenames ending by *.inc.php will be executer after being included
      8. - *
      9. In the folder include: filenames end by *.php if they contains only function
      10. - *
      11. In the folder include: filenames starting with - * class_*.php if it is related to a class.
      12. - *
      13. In the folder include, files starting with ajax are executed by ajax call, usually, the file name is - * based on the javascript function, example for the javascript function anc_key_choice the corresponding file is - * ajax_anc_key_choice.php - * - *
      14. In the folder include/template: files for the HTML presentation - *
      15. - *
      16. Use sql/upgrade.sql as temporary file to modify the database,this file will be the base for a SQL patch - *
      17. - *
      18. Write documentation
      19. - *
      - * - *

      - * \section advice Advices - *

      - * Use this document, it is generated automatically by doxygen, check the documentation your made, read it first this - * documentation before making changes - *

        - *
      • Related contains all the \\todo
      • - *
      • Global -> all the functions
      • - *
      • check into mod1.html and account_repository.html for the database design - *
      - * You need to know only these tags - *
        - *
      • \\file in the beginning of a file
      • - *
      • \\todo add a todo
      • - *
      • \\enum comment a variable
      • - *
      • \\param about the parameter of a function
      • - *
      • \\brief Documentation of the file, function or class
      • - *
      • \\note note exemple
      • - *
      • \\throw or exception is a function can throw an exception - *
      • \\par to create a new paragraph - *
      • \\return what the function returns
      • - *
      • \\code and \\endcode code snippet given as example
      • - *
      • \\verbatim and \\endverbatim if we want to keep the formatting without transformation
      • - *
      • \\see xxxx create a link to the file, function or object xxxx
      • - *
      - */ - -if ( ! file_exists('..'.DIRECTORY_SEPARATOR.'include'.DIRECTORY_SEPARATOR.'config.inc.php')) -{ - header("Location: admin/setup.php",true, 307); - exit(0); -} - -echo ' - - NOALYSS - - - - -'; -$my_domain=""; -require_once '../include/constant.php'; -require_once '../include/config.inc.php'; -require_once NOALYSS_INCLUDE.'/ac_common.php'; - -if ( strlen(domaine) > 0 ) -{ - $my_domain="Domaine : ".domaine; -} - -if (defined("RECOVER") && isset ($_REQUEST['recover']) ) -{ - require_once '../include/recover.php'; -} -// reconnect , create a variable to reconnect properly in login.php -$goto=""; -if (isset ($_REQUEST['reconnect']) && isset ($_REQUEST['backurl'])) { - $goto=''; -} -echo ' - -version 6.9 - '.$my_domain.' - -
      -
      -
      - -
      -
      -NOALYSS -
      -
      -
      - -
      '. - $goto . -''; - -?> -
      - - - - - - - - -'; - - - -if ( $g_captcha == true ) - { - echo ''; - echo ''; - } -echo ' - - - -
      Utilisateur
      Mot de passe
      '; - echo ""; - echo ''; - echo ''; - echo ''; - echo ''; - echo td('CAPTCHA Image','colspan="2" style="width:auto;text-align:center"'); - echo ''; - echo ''; - - echo td(''. - 'Reload Image','colspan="2" style="width:auto;text-align:center"'); - echo ''; - echo '
      '; - echo "Indiquer le code que vous lisez dans l'image"; - echo '
      '; - echo '
      - -
      -
      - -
      - -
      Mot de passe oublié ? - - - - - -
      -

      Nous conseillons d'utiliser Firefox ou chrome.

      -

      We recommend to use Firefox or Chrome.

      - -
      - - - - - diff --git a/sources/html/js/acc_ledger.js b/sources/html/js/acc_ledger.js deleted file mode 100644 index 4ff1814..0000000 --- a/sources/html/js/acc_ledger.js +++ /dev/null @@ -1,1156 +0,0 @@ -/* - * This file is part of NOALYSS. - * - * NOALYSS is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * NOALYSS is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with NOALYSS; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -/* $Revision$ */ - -// Copyright Author Dany De Bontridder danydb@aevalys.eu - -/*!\file - * \brief javascript script for the ledger in accountancy, - * compute the sum, add a row at the table.. - * - */ -var layer = 1; -/** - * @brief update the list of available predefined operation when we change the ledger. - */ -function update_predef(p_type, p_direct, p_ac) -{ - var jrn = g("p_jrn").value; - var dossier = g("gDossier").value; - var querystring = 'gDossier=' + dossier + '&l=' + jrn + '&t=' + p_type + '&d=' + p_direct + "&op=up_predef&ac=" + p_ac; - g("p_jrn_predef").value = jrn; - var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: querystring, - onFailure: error_get_predef, - onSuccess: function (req) { - try { - $('info_div').innerHTML = "ok"; - var answer = req.responseXML; - var a = answer.getElementsByTagName('code'); - var html = answer.getElementsByTagName('value'); - if (a.length == 0) - { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - var code_html = getNodeText(html[0]); - code_html = unescape_xml(code_html); - // document.getElementsByName(name_ctl)[0].value = code_html; - $('modele_op_div').innerHTML = code_html; - } catch (e) { - $('info_div').innerHTML = e.getMessage; - } - } - } - ); -} - -/** - * @brief update the list of payment method when we change the ledger. - */ -function update_pay_method() -{ - waiting_box(); - var jrn = g("p_jrn").value; - var dossier = g("gDossier").value; - var querystring = 'gDossier=' + dossier + '&l=' + jrn + "&op=up_pay_method"; - var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: querystring, - onFailure: error_get_predef, - onSuccess: function (req) { - remove_waiting_box(); - var answer = req.responseText; - $('payment').innerHTML = answer; - } - } - ); -} - -/** - *@brief update ctl id =jrn_name with the value of p_jrn - */ -function update_name() -{ - var jrn_id = $('p_jrn').value; - var dossier = g("gDossier").value; - var querystring = 'gDossier=' + dossier + '&l=' + jrn_id + "&op=ledger_description"; - var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: querystring, - onFailure: error_get_pj, - onSuccess: function (req) { - $('jrn_name_div').innerHTML = req.responseText; - } - } - ); - -} -/** - * @brief update the field predef - */ -function error_get_predef(request, json) -{ - alert_box("Erreur mise à jour champs non possible"); - -} -/** - * @brief update the list of available predefined operation when we change the ledger. - */ -function update_pj() -{ - var jrn = g("p_jrn").value; - var dossier = g("gDossier").value; - var querystring = 'gDossier=' + dossier + '&l=' + jrn + "&op=upd_receipt"; - var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: querystring, - onFailure: error_get_pj, - onSuccess: success_get_pj - } - ); -} -/** - *@brief ask the name, quick_code of the bank for the ledger - */ -function update_bank() -{ - var jrn = g('p_jrn').value; - var dossier = g('gDossier').value; - var qs = 'gDossier=' + dossier + '&op=bkname&p_jrn=' + jrn; - var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: qs, - onFailure: error_get_pj, - onSuccess: success_update_bank - } - ); - -} -/** - * @brief Update the number of rows when changing of ledger - */ -function update_row(ctl) -{ - try - { - var jrn = g('p_jrn').value; - var dossier = g('gDossier').value; - var qs = 'gDossier=' + dossier + '&op=minrow&j=' + jrn + '&ctl=' + ctl; - var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: function (request, json) - { - try { - var answer = request.responseText.evalJSON(true); - var row = parseFloat(answer.row); - var current_row = parseFloat($('nb_item').value); - if (current_row > row) { - // Too many row - var delta = $('nb_item').value - row; - var idx = $('nb_item').value; - for (var i = 0; i < delta; i++) { - $(ctl).deleteRow(-1); - idx--; - } - $('nb_item').value = row; - } - if (current_row < row) { - // We need to add rows - var delta = row - current_row; - for (var i = 0; i < delta; i++) { - if (ctl == 'fin_item') { - ledger_fin_add_row(); - } - if (ctl == 'sold_item') { - ledger_add_row(); - } - if (ctl == 'quick_item') { - quick_writing_add_row(); - } - } - } - } catch (e) { - alert_box(e.getMessage); - } - } - } - ); - } catch (e) { - alert_box(e.getMessage); - } -} -/** - * @brief Put into the span, the name of the bank, the bank account - * and the quick_code - */ -function success_update_bank(req) -{ - try - { - var answer = req.responseXML; - var a = answer.getElementsByTagName('code'); - var html = answer.getElementsByTagName('value'); - if (a.length == 0) - { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - var name_ctl = a[0].firstChild.nodeValue; - var code_html = getNodeText(html[0]); - code_html = unescape_xml(code_html); - $(name_ctl).innerHTML = code_html; - } - catch (e) - { - alert_box("success_update_bank" + e.message); - } -} -/** - * @brief call ajax, ask what is the last date for the current ledger - */ -function get_last_date() -{ - var jrn = g('p_jrn').value; - var dossier = g('gDossier').value; - var qs = 'gDossier=' + dossier + '&op=lastdate&p_jrn=' + jrn; - var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: qs, - onFailure: error_get_pj, - onSuccess: success_get_last_date - } - ); -} -/** - * @brief callback ajax, set the ctl with the last date from the ledger - */ -function success_get_last_date(req) -{ - try - { - var answer = req.responseXML; - var a = answer.getElementsByTagName('code'); - var html = answer.getElementsByTagName('value'); - if (a.length == 0) - { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - var name_ctl = a[0].firstChild.nodeValue; - var code_html = getNodeText(html[0]); - code_html = unescape_xml(code_html); - document.getElementsByName(name_ctl)[0].value = code_html; - } - catch (e) - { - alert_box(e.message); - } -} -/** - * @brief update the field predef - */ -function success_get_pj(request, json) -{ - - var answer = request.responseText.evalJSON(true); - obj = g("e_pj"); - obj.value = ''; - if (answer.count == 0) - return; - obj.value = answer.pj; - g("e_pj_suggest").value = answer.pj; -} -/** - * @brief update the field predef - */ -function error_get_pj(request, json) -{ - alert_box("Ajax a echoue"); -} - -/** - * @brief add a line in the form for the ledger fin - */ -function ledger_fin_add_row() -{ - var style = 'class="input_text"'; - var mytable = g("fin_item").tBodies[0]; - var line = mytable.rows.length; - var row = mytable.insertRow(line); - var nb = g("nb_item"); - var rowToCopy = mytable.rows[1]; - var nNumberCell = rowToCopy.cells.length; - for (var e = 0; e < nNumberCell; e++) - { - var newCell = row.insertCell(e); - if (e == 0) { - newCell.id = 'tdchdate' + nb.value; - } - var tt = rowToCopy.cells[e].innerHTML; - var new_tt = tt.replace(/e_other0/g, "e_other" + nb.value); - new_tt = new_tt.replace(/e_other0_comment/g, "e_other" + nb.value + '_comment'); - new_tt = new_tt.replace(/e_other_name0/g, "e_other_name" + nb.value); - new_tt = new_tt.replace(/e_other0_amount/g, "e_other" + nb.value + '_amount'); - new_tt = new_tt.replace(/e_concerned0/g, "e_concerned" + nb.value); - new_tt = new_tt.replace(/e_other0_label/g, "e_other" + nb.value + '_label'); - new_tt = new_tt.replace(/dateop0/g, "dateop" + nb.value); - newCell.innerHTML = new_tt; - new_tt.evalScripts(); - } - g("e_other" + nb.value).value = ""; - g("e_other_name" + nb.value).value = ""; - g("e_other" + nb.value + '_amount').value = "0"; - g("e_other" + nb.value + '_comment').value = ""; - g("e_concerned" + nb.value).value = ""; - - var ch = $('chdate').options[$('chdate').selectedIndex].value; - if (ch == 1) { - $('tdchdate' + nb.value).hide(); - } - nb.value++; -} - -/** - * @brief add a line in the form for the purchase ledger - * @param p_dossier folder id - * @param p_table_name - */ -function ledger_add_row() -{ - try { - style = 'class="input_text"'; - var mytable = g("sold_item").tBodies[0]; - var ofirstRow = mytable.rows[1]; - var line = mytable.rows.length; - var nCell = mytable.rows[1].cells.length; - var row = mytable.insertRow(line); - var nb = g("nb_item"); - for (var e = 0; e < nCell; e++) - { - var newCell = row.insertCell(e); - var tt = ofirstRow.cells[e].innerHTML; - var new_tt = tt.replace(/march0/g, "march" + nb.value); - new_tt = new_tt.replace(/quant0/g, "quant" + nb.value); - new_tt = new_tt.replace(/sold\(0\)/g, "sold(" + nb.value + ")"); - new_tt = new_tt.replace(/compute_ledger\(0\)/g, "compute_ledger(" + nb.value + ")"); - new_tt = new_tt.replace(/clean_tva\(0\)/g, "clean_tva(" + nb.value + ")"); - newCell.innerHTML = new_tt; - new_tt.evalScripts(); - } - - $("e_march" + nb.value + "_label").innerHTML = ''; - $("e_march" + nb.value + "_label").value = ''; - $("e_march" + nb.value + "_price").value = '0'; - $("e_march" + nb.value).value = ""; - $("e_quant" + nb.value).value = "1"; - if ($("e_march" + nb.value + "_tva_amount")) - $("e_march" + nb.value + "_tva_amount").value = 0; - - nb.value++; - - new_tt.evalScripts(); - } catch (e) { - alert_box(e.message); - } -} -/** - * @brief compute the sum of a purchase, update the span tvac, htva and tva - * all the needed data are taken from the document (hidden field : gdossier) - * @param the number of the changed ctrl - */ -function compute_ledger(p_ctl_nb) -{ - var dossier = g("gDossier").value; - var a = -1; - if (document.getElementById("e_march" + p_ctl_nb + '_tva_amount')) - { - a = trim(g("e_march" + p_ctl_nb + '_tva_amount').value); - g("e_march" + p_ctl_nb + '_tva_amount').value = a; - } - if (!document.getElementById("e_march" + p_ctl_nb)) { - return; - } - g("e_march" + p_ctl_nb).value = trim(g("e_march" + p_ctl_nb).value); - var qcode = g("e_march" + p_ctl_nb).value; - - if (qcode.length == 0) - { - clean_ledger(p_ctl_nb); - refresh_ledger(); - return; - } - /* - * if tva_id is empty send a value of -1 - */ - var tva_id = -1; - if (g('e_march' + p_ctl_nb + '_tva_id')) - { - tva_id = g('e_march' + p_ctl_nb + '_tva_id').value; - if (trim(tva_id) == '') - { - tva_id = -1; - } - } - - g('e_march' + p_ctl_nb + '_price').value = trim(g('e_march' + p_ctl_nb + '_price').value); - var price = g('e_march' + p_ctl_nb + '_price').value; - - g('e_quant' + p_ctl_nb).value = trim(g('e_quant' + p_ctl_nb).value); - var quantity = g('e_quant' + p_ctl_nb).value; - var querystring = 'gDossier=' + dossier + '&c=' + qcode + '&t=' + tva_id + '&p=' + price + '&q=' + quantity + '&n=' + p_ctl_nb; - $('sum').hide(); - var action = new Ajax.Request( - "compute.php", - { - method: 'get', - parameters: querystring, - onFailure: error_compute_ledger, - onSuccess: success_compute_ledger - } - ); -} -/** - *@brief refresh the purchase screen, recompute vat, total... - */ -function refresh_ledger() -{ - var tva = 0; - var htva = 0; - var tvac = 0; - - for (var i = 0; i < g("nb_item").value; i++) - { - if (g('tva_march' + i)) - tva += g('tva_march' + i).value * 1; - if (g('htva_march' + i)) - htva += g('htva_march' + i).value * 1; - if (g('tvac_march' + i)) - tvac += g('tvac_march' + i).value * 1; - } - - if (g('tva')) - g('tva').innerHTML = Math.round(tva * 100) / 100; - if (g('htva')) - g('htva').innerHTML = Math.round(htva * 100) / 100; - if (g('tvac')) - g('tvac').innerHTML = Math.round(tvac * 100) / 100; -} -/** - *@brief update the field htva, tva_id and tvac, callback function for compute_sold - * it the field TVA in the answer contains NA it means that VAT is appliable and then do not - * update the VAT field except htva_martc - */ -function success_compute_ledger(request, json) -{ - var answer = request.responseText.evalJSON(true); - var ctl = answer.ctl; - var rtva = answer.tva; - var rhtva = answer.htva; - var rtvac = answer.tvac; - - if (rtva == 'NA') - { - var rhtva = answer.htva * 1; - g('htva_march' + ctl).value = rhtva; - g('tvac_march' + ctl).value = rtvac; - g('sum').show(); - refresh_ledger(); - - return; - } - rtva = answer.tva * 1; - - - - g('sum').show(); - if (g('e_march' + ctl + '_tva_amount').value == "" || g('e_march' + ctl + '_tva_amount').value == 0) - { - g('tva_march' + ctl).value = rtva; - g('e_march' + ctl + '_tva_amount').value = rtva; - } - else - { - g('tva_march' + ctl).value = g('e_march' + ctl + '_tva_amount').value; - } - g('htva_march' + ctl).value = Math.round(parseFloat(rhtva) * 100) / 100; - var tmp1 = Math.round(parseFloat(g('htva_march' + ctl).value) * 100) / 100; - var tmp2 = Math.round(parseFloat(g('tva_march' + ctl).value) * 100) / 100; - g('tvac_march' + ctl).value = Math.round((tmp1 + tmp2) * 100) / 100; - - refresh_ledger(); -} - -/** - * @brief callback error function for compute_sold - */ -function error_compute_ledger(request, json) -{ - alert_box('Ajax does not work'); -} -function compute_all_ledger() -{ - var loop = 0; - for (loop = 0; loop < g("nb_item").value; loop++) - { - compute_ledger(loop); - } - var tva = 0; - var htva = 0; - var tvac = 0; - - for (var i = 0; i < g("nb_item").value; i++) - { - if (g('tva_march')) - tva += g('tva_march' + i).value * 1; - if (g('htva_march' + i)) - htva += g('htva_march' + i).value * 1; - if (g('tvac_march' + i)) - tvac += g('tvac_march' + i).value * 1; - } - - if (g('tva')) - g('tva').innerHTML = Math.round(tva * 100) / 100; - if (g('htva')) - g('htva').innerHTML = Math.round(htva * 100) / 100; - if (g('tvac')) - g('tvac').innerHTML = Math.round(tvac * 100) / 100; - - -} - -function clean_tva(p_ctl) -{ - if (g('e_march' + p_ctl + '_tva_amount')) - g('e_march' + p_ctl + '_tva_amount').value = 0; -} - -function clean_ledger(p_ctl_nb) -{ - if (g("e_march" + p_ctl_nb)) - { - g("e_march" + p_ctl_nb).value = trim(g("e_march" + p_ctl_nb).value); - } - if (g('e_march' + p_ctl_nb + '_price')) - { - g('e_march' + p_ctl_nb + '_price').value = ''; - } - if (g('e_quant' + p_ctl_nb)) - { - g('e_quant' + p_ctl_nb).value = '1'; - } - if (g('tva_march' + p_ctl_nb + '_show')) - { - g('tva_march' + p_ctl_nb + '_show').value = '0'; - } - if (g('tva_march' + p_ctl_nb)) - { - g('tva_march' + p_ctl_nb).value = 0; - } - if (g('htva_march' + p_ctl_nb)) - { - g('htva_march' + p_ctl_nb).value = 0; - } - if (g('tvac_march' + p_ctl_nb)) - { - g('tvac_march' + p_ctl_nb).value = 0; - } - -} -/** - * @brief add a line in the form for the quick_writing - */ -function quick_writing_add_row() -{ - style = 'class="input_text"'; - var mytable = g("quick_item").tBodies[0]; - var nNumberRow = mytable.rows.length; - var oRow = mytable.insertRow(nNumberRow); - var rowToCopy = mytable.rows[1]; - var nNumberCell = rowToCopy.cells.length; - var nb = g("nb_item"); - - var oNewRow = mytable.insertRow(nNumberRow); - for (var e = 0; e < nNumberCell; e++) - { - var newCell = oRow.insertCell(e); - var tt = rowToCopy.cells[e].innerHTML; - new_tt = tt.replace(/qc_0/g, "qc_" + nb.value); - new_tt = new_tt.replace(/amount0/g, "amount" + nb.value); - new_tt = new_tt.replace(/poste0/g, "poste" + nb.value); - new_tt = new_tt.replace(/ck0/g, "ck" + nb.value); - new_tt = new_tt.replace(/ld0/g, "ld" + nb.value); - newCell.innerHTML = new_tt; - new_tt.evalScripts(); - } - $("qc_" + nb.value).value = ""; - $("amount" + nb.value).value = ""; - $("poste" + nb.value).value = ""; - $("ld" + nb.value).value = ""; - - - - nb.value++; - -} -function RefreshMe() -{ - window.location.reload(); -} - - -function go_next_concerned() -{ - var form = document.forms[1]; - - for (var e = 0; e < form.elements.length; e++) - { - var elmt = form.elements[e]; - if (elmt.type == "checkbox") - { - if (elmt.checked == true) - { - return confirm("Si vous changez de page vous perdez les reconciliations, continuez ?"); - } - } - } - return true; -} -function view_history_account(p_value, dossier) -{ - layer++; - id = 'det' + layer; - var popup = {'id': id, 'cssclass': 'inner_box', 'html': loading(), 'drag': true}; - - querystring = 'gDossier=' + dossier + '&act=de&pcm_val=' + p_value + '&div=' + id + "&l=" + layer; - add_div(popup); - - var action = new Ajax.Request( - "ajax_history.php", - { - method: 'get', - parameters: querystring, - onFailure: error_box, - onSuccess: function (req, xml) - { - success_box(req, xml); - g(id).style.top = calcy(140 + (layer * 3)) + "px"; - } - } - ); - -} - -function update_history_account(obj) -{ - try { - var querystring = "l=" + obj.div + "&div=" + obj.div + "&gDossier=" + obj.gDossier + "&pcm_val=" + obj.pcm_val + "&ex=" + obj.select.options[obj.select.selectedIndex].text; - var action = new Ajax.Request( - "ajax_history.php", - { - method: 'get', - parameters: querystring, - onFailure: error_box, - onSuccess: function (req, xml) - { - success_box(req, xml); - g(obj.div).style.top = calcy(140 + (layer * 3)) + "px"; - } - }); - } catch (e) - { - alert_box("update_history_account error " + e.message); - } - - return false; -} -/*!\brief - * \param p_value f_id of the card - */ - -function view_history_card(p_value, dossier) -{ - layer++; - id = 'det' + layer; - var popup = {'id': - id, 'cssclass': 'inner_box' - , 'html': - loading(), 'drag': - true}; - querystring = 'gDossier=' + dossier + '&act=de&f_id=' + p_value + '&div=' + id + "&l=" + layer; - add_div(popup); - var action = new Ajax.Request( - "ajax_history.php", - { - method: 'get', - parameters: querystring, - onFailure: error_box, - onSuccess: function (req, xml) - { - success_box(req, xml); - g(id).style.top = calcy(140 + (layer * 3)) + "px"; - } - } - ); -} - -function update_history_card(obj) -{ - try { - var querystring = "l=" + obj.div + "&div=" + obj.div + "&gDossier=" + obj.gDossier + "&f_id=" + obj.f_id + "&ex=" + obj.select.options[obj.select.selectedIndex].text; - var action = new Ajax.Request( - "ajax_history.php", - { - method: 'get', - parameters: querystring, - onFailure: error_box, - onSuccess: function (req, xml) - { - success_box(req, xml); - g(obj.div).style.top = calcy(140 + (layer * 3)) + "px"; - } - }); - } catch (e) - { - alert_box("update_history_account error " + e.message); - } - - return false; -} -/** - * remove an Operation - *@param p_jr_id is the jrn.jr_id - *@param dossier - *@param the div - */ -function removeOperation(p_jr_id, dossier, div) -{ - waiting_box(); - var qs = "gDossier=" + dossier + "&act=rmop&div=" + div + "&jr_id=" + p_jr_id; - var action = new Ajax.Request( - "ajax_ledger.php", - { - method: 'get', - parameters: qs, - onFailure: error_box, - onSuccess: infodiv - } - ); - -} - -/** - * reverse an Operation - *@param pointer to the FORM - */ -function reverseOperation(obj) -{ - var qs = $(obj).serialize(); - g('ext' + obj.divname).style.display = 'none'; - g('bext' + obj.divname).style.display = 'none'; - waiting_box(); - var action = new Ajax.Request( - "ajax_ledger.php", - { - method: 'get', - parameters: qs, - onFailure: error_box, - onSuccess: infodiv - } - ); - - return false; -} - -/*! - * \brief Show the details of an operation - * \param p_value jrn.jr_id - * \param dossier dossier id - */ -function modifyOperation(p_value, dossier) -{ - layer++; - var id = 'det' + layer; - waiting_box(); - var querystring = 'gDossier=' + dossier + '&act=de&jr_id=' + p_value + '&div=' + id; - - var action = new Ajax.Request( - "ajax_ledger.php", - { - method: 'get', - parameters: querystring, - onFailure: error_box, - onSuccess: function (xml, txt) { - var popup = {'id': id, 'cssclass': 'inner_box' - , 'html': "", 'drag': true}; - remove_waiting_box(); - add_div(popup); - success_box(xml, txt); - $(id).style.position = "absolute"; - $(id).style.top = calcy(100 + (layer * 3)) + "px"; - } - } - ); -} - -/*!\brief - * \param p_value jrn.jr_id - */ - -function viewOperation(p_value, p_dossier) -{ - modifyOperation(p_value, p_dossier) -} -function dropLink(p_dossier, p_div, p_jr_id, p_jr_id2) -{ - var querystring = 'gDossier=' + p_dossier; - querystring += '&div=' + p_div; - querystring += '&jr_id=' + p_jr_id; - querystring += '&act=rmr'; - querystring += '&jr_id2=' + p_jr_id2; - var action = new Ajax.Request('ajax_ledger.php', - { - method: 'get', - parameters: querystring, - onFailure: null, - onSuccess: null - } - ); -} -/** - *@brief this function is called before the querystring is send to the - * fid2.php, add a filter based on the ledger 'p_jrn' - *@param obj is the input field - *@param queryString is the queryString to modify - *@see ICard::input - */ -function filter_card(obj, queryString) -{ - jrn = $('p_jrn').value; - if (jrn == -1) - { - type = $('ledger_type').value; - queryString = queryString + '&type=' + type; - } - else - { - queryString = queryString + '&j=' + jrn; - } - return queryString; -} -/** - *@brief to display the lettering for the operation, call - * ajax function - *@param obj object attribut : gDossier,j_id,obj_type - */ -function dsp_letter(obj) -{ - try - { - var queryString = 'gDossier=' + obj.gDossier + '&j_id=' + obj.j_id + '&op=dl' + '&ot=' + obj.obj_type; - var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: queryString, - onFailure: error_dsp_letter, - onSuccess: success_dsp_letter - } - ); - g('search').style.display = 'none'; - g('list').style.display = 'none'; - $('detail').innerHTML = loading(); - g('detail').style.display = 'block'; - } - catch (e) - { - alert_box('dsp_letter failed ' + e.message); - } -} - -function success_dsp_letter(req) -{ - try - { - var answer = req.responseXML; - var a = answer.getElementsByTagName('code'); - var html = answer.getElementsByTagName('value'); - if (a.length == 0) - { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - var name_ctl = a[0].firstChild.nodeValue; - var code_html = getNodeText(html[0]); - code_html = unescape_xml(code_html); - $('detail').innerHTML = code_html; - } - catch (e) - { - alert_box(e.message); - } - try - { - code_html.evalScripts(); - } - catch (e) - { - alert_box("Impossible executer script de la reponse\n" + e.message); - } - -} -function error_dsp_letter(req) -{ - alert_box('Erreur AJAX DSP_LETTER'); -} - -function search_letter(obj) -{ - try - { - var str_query = ''; - if (obj.elements['gDossier']) - str_query = 'gDossier=' + obj.elements['gDossier'].value; - if (obj.elements['j_id']) - str_query += '&j_id=' + obj.elements['j_id'].value; - if (obj.elements['ot']) - str_query += '&ot=' + obj.elements['ot'].value; - if (obj.elements['op']) - str_query += '&op=' + obj.elements['op'].value; - if (obj.elements['min_amount']) - str_query += '&min_amount=' + obj.elements['min_amount'].value; - if (obj.elements['max_amount']) - str_query += '&max_amount=' + obj.elements['max_amount'].value; - if (obj.elements['search_start']) - str_query += '&search_start=' + obj.elements['search_start'].value; - if (obj.elements['search_end']) - str_query += '&search_end=' + obj.elements['search_end'].value; - if (obj.elements['side']) - str_query += '&side=' + obj.elements['side'].value; - - - var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: str_query, - onFailure: error_dsp_letter, - onSuccess: success_dsp_letter - } - ); - $('list').hide(); - $('search').hide(); - $('detail').innerHTML = loading(); - $('detail').show(); - } - catch (e) - { - alert_box('search_letter ' + e.message); - } -} -/** - *@brief save an operation in ajax, it concerns only the - * comment, the pj and the rapt - * the form elements are access by their name - *@param obj form - */ -function op_save(obj) -{ - try { - var queryString = $(obj).serialize(); - queryString += "&gDossier=" + obj.gDossier.value; - var rapt2 = "rapt" + obj.whatdiv.value; - queryString += "&rapt=" + g(rapt2).value; - queryString += '&jr_id=' + obj.jr_id.value; - var jr_id=obj.jr_id.value; - queryString += '&div=' + obj.whatdiv.value; - var divid=obj.whatdiv.value; - queryString += '&act=save'; - waiting_box(); - /* - * Operation detail is in a new window - */ - if (g('inpopup')) - { - var action = new Ajax.Request('ajax_ledger.php', - { - method: 'post', - parameters: queryString, - onFailure: null, - onSuccess: infodiv - } - ); - // window.close(); - } - else - { - /* - *Operation is in a modal box - */ - var action = new Ajax.Request('ajax_ledger.php', - { - method: 'post', - parameters: queryString, - onFailure: null, - onSuccess: function(req,json) { - new Ajax.Request('ajax_ledger.php', { - parameters:{'gDossier':obj.gDossier.value, - 'act':'de', - 'jr_id' : jr_id, - 'div' : divid}, - onSuccess:function(xml) { - try { - var answer=xml.responseXML; - var html = answer.getElementsByTagName('code'); - $(divid).innerHTML=unescape(getNodeText(html[0])); - remove_waiting_box(); - } catch (e) { - alert_box("1038"+e.message) - } - } - }); - - } - }); - } - return false; - } catch (e) - { - alert_box(e.message); - } -} -function get_history_account(ctl, dossier) { - if ($(ctl).value != '') - { - view_history_account($(ctl).value, dossier); - } -} -var previous = []; -function show_reconcile(p_div, p_let) -{ - try - { - if (previous.length != 0) - { - var count_elt = previous.length; - var i = 0; - for (i = 0; i < count_elt; i++) { - previous[i].style.backgroundColor = ''; - previous[i].style.color = ''; - previous[i].style.fontWeight = ""; - } - } - var name = 'tr_' + p_let + '_' + p_div; - var elt = document.getElementsByName(name); - previous = elt; - var count_elt = elt.length; - var i = 0; - for (i = 0; i < count_elt; i++) { - elt[i].style.backgroundColor = '#000066'; - elt[i].style.color = 'white'; - elt[i].style.fontWeight = 'bolder'; - - } - - } catch (e) - { - alert_box(e.message); - } - - -} -/** - * @brief add a line in the form for the purchase ledger - */ -function gestion_add_row() -{ - try { - style = 'class="input_text"'; - var mytable = g("art").tBodies[0]; - var ofirstRow = mytable.rows[1]; - var line = mytable.rows.length; - var nCell = mytable.rows[1].cells.length; - var row = mytable.insertRow(line); - var nb = g("nb_item"); - for (var e = 0; e < nCell; e++) - { - var newCell = row.insertCell(e); - var tt = ofirstRow.cells[e].innerHTML; - var new_tt = tt.replace(/march0/g, "march" + nb.value); - new_tt = new_tt.replace(/quant0/g, "quant" + nb.value); - new_tt = new_tt.replace(/sold\(0\)/g, "sold(" + nb.value + ")"); - new_tt = new_tt.replace(/compute_ledger\(0\)/g, "compute_ledger(" + nb.value + ")"); - new_tt = new_tt.replace(/clean_tva\(0\)/g, "clean_tva(" + nb.value + ")"); - new_tt = new_tt + ''; - new_tt = new_tt + ''; - newCell.innerHTML = new_tt; - if (mytable.rows[1].cells[e].hasClassName("num")) { - newCell.addClassName("num"); - } - new_tt.evalScripts(); - } - - g("e_march" + nb.value + "_label").innerHTML = ' '; - g("e_march" + nb.value + "_label").value = ''; - g("e_march" + nb.value + "_price").value = '0'; - g("e_march" + nb.value).value = ""; - g("e_quant" + nb.value).value = "1"; - g('tvac_march' + nb.value).value = "0"; - if ($("e_march" + nb.value + "_tva_amount")) - g("e_march" + nb.value + "_tva_amount").value = 0; - - nb.value++; - - new_tt.evalScripts(); - } catch (e) { - alert_box(e.message); - } - -} -function document_remove(p_dossier,p_div,p_jrid) -{ - smoke.confirm('Effacer ?', function (e) - { - if (e) { - new Ajax.Request('ajax_ledger.php', - { - parameters:{"p_dossier":p_dossier,"div":p_div,"p_jrid":p_jrid,'act':'rmf'}, - onSuccess : function(x) { - $('receipt'+p_div).innerHTML=x.responseText; - } - }) - } - }); -} \ No newline at end of file diff --git a/sources/html/js/accounting_item.js b/sources/html/js/accounting_item.js deleted file mode 100644 index acbe0ef..0000000 --- a/sources/html/js/accounting_item.js +++ /dev/null @@ -1,377 +0,0 @@ -/* - * This file is part of NOALYSS. - * - * NOALYSS is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * NOALYSS is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with NOALYSS; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -/* $Revision$ */ - -// Copyright Author Dany De Bontridder danydb@aevalys.eu - -/*! \file - * \brief - * containing the javascript for opening a windows to search an account (poste comptable) - */ - -function set_poste_parent(p_ctl,p_value) -{ - var f=g(p_ctl); - f.value+='['+p_value+']'; -} - -function set_jrn_parent(p_ctl,p_value) -{ - var f=g(p_ctl); - if ( f ) - { - if ( trim(f.value)!="") f.value+=' '; - f.value+=p_value; - } -} -/** - *@brief Display a box with accounting detail for update, delete or add, update the - * table account_tbl_id - *@param p_dossier dossier id - *@param p_val value of the accounting, it is used to compute the row id - */ -function pcmn_update(p_dossier, p_val) -{ - var query = {gDossier: p_dossier, value: p_val, op: 'pcmn_update'}; - waiting_box(); - var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: query, - onSuccess: function (req) - { - try - { - remove_waiting_box(); - var answer = req.responseXML; - var a = answer.getElementsByTagName('ctl'); - var html = answer.getElementsByTagName('code'); - var status= answer.getElementsByTagName('status'); - - if (a.length == 0) - { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - - var name_ctl = getNodeText(a[0]); - var code_html = getNodeText(html[0]); - var result = getNodeText(status[0]); - $('acc_update').innerHTML=code_html; - $('acc_update').setStyle('top:'+calcy(150)+'px'); - $('acc_update').show(); - } - catch (e) - { - error_message(e.message); - } - try - { - code_html.evalScripts(); - } - catch (e) - { - alert_box("Impossible executer script de la reponse\n" + e.message); - } - - } - } - ); -} -/** - *@brief show the popup for search an accounting item - *@param object this, it must contains some attribute as - * - jrn if set and different to 0, will filter the accounting item for a - * ledger - * - account the tag which will contains the number - * - label the tag which will contains the label - * - bracket if the value must be surrounded by [ ] - * - acc_query for the initial query - *\see ajax_poste.php - */ -function search_poste(obj) -{ - var sx=0; - if ( window.scrollY) - { - sx=window.scrollY+40; - } - else - { - sx=document.body.scrollTop+60; - } - - var div_style="top:"+sx+"px"; - removeDiv('search_account'); - add_div({id:'search_account',cssclass:'inner_box',html:loading(),style:div_style,drag:true}); - - var dossier=$('gDossier').value; - - var queryString="gDossier="+dossier; - - queryString+="&op=sf"; - try - { - if ( obj.jrn) - { - queryString+="&j="+obj.jrn; - } - if ( obj.account) - { - queryString+="&c="+obj.account; - } - if ( obj.label) - { - queryString+="&l="+obj.label; - } - if ( obj.bracket) - { - queryString+="&b="+obj.bracket; - } - if( obj.noquery) - { - queryString+="&nq"; - } - if( obj.no_overwrite) - { - queryString+="&nover"; - } - if( obj.bracket) - { - queryString+="&bracket"; - } - if ( ! obj.noquery) - { - if( obj.acc_query) - { - queryString+="&q="+obj.acc_query; - } - else - { - if ($(obj).account) - { - var e=$(obj).account; - var str_account=$(e).value; - queryString+="&q="+str_account; - } - } - } - - queryString+="&ctl="+'search_account'; - queryString=encodeURI(queryString); - var action=new Ajax.Request ( 'ajax_poste.php', - { - method:'get', - parameters:queryString, - onFailure:errorPoste, - onSuccess:result_poste_search - } - ); - } - catch (e) - { - alert_box(e.getMessage); - } -} -/** - *@brief when you submit the form for searching a accounting item - *@param obj form - *@note the same as search_poste, except it answer to a FORM and not - * to a click event - */ -function search_get_poste(obj) -{ - var dossier=$('gDossier').value; - var queryString="gDossier="+dossier; - - queryString+="&op=sf"; - - if ( obj.elements['jrn'] ) - { - queryString+="&j="+$F('jrn'); - } - if ( obj.elements['account']) - { - queryString+="&c="+$F('account'); - } - if ( obj.elements['label']) - { - queryString+="&l="+$F('label'); - } - if( obj.elements['acc_query']) - { - queryString+="&q="+$F('acc_query'); - } - if (obj.ctl ) - { - queryString+="&ctl="+obj.ctl; - } - if( obj.elements['nosearch']) - { - queryString+="&nq"; - } - if( obj.elements['nover']) - { - queryString+="&nover"; - } - if( obj.elements['bracket']) - { - queryString+="&bracket"; - } - - $('asearch').innerHTML=loading(); - var action=new Ajax.Request ( 'ajax_poste.php', - { - method:'get', - parameters:queryString, - onFailure:errorPoste, - onSuccess:result_poste_search - } - ); -} - -/** - *@brief show the answer of ajax request - *@param answer in XML - */ -function result_poste_search(req) -{ - try - { - var answer=req.responseXML; - var a=answer.getElementsByTagName('ctl'); - if ( a.length == 0 ) - { - var rec=req.responseText; - alert_box ('erreur :'+rec); - } - var html=answer.getElementsByTagName('code'); - - var name_ctl=a[0].firstChild.nodeValue; - var nodeXml=html[0]; - var code_html=getNodeText(nodeXml); - code_html=unescape_xml(code_html); - $('search_account').innerHTML=code_html; - } - catch (e) - { - alert_box(e.message); - } - try - { - code_html.evalScripts(); - } - catch(e) - { - alert_box("Impossible executer script de la reponse\n"+e.message); - } - -} -/** -*@brief error for ajax -*/ -function errorPoste() -{ - alert_box('Ajax failed'); -} -function pausecomp(millis) - { - var date = new Date(); - var curDate = null; - do { curDate = new Date(); } - while(curDate-date < millis); -} -/** - * Update an accounting with the information in the form, called frmo - * param_pcmn.inc.php - * @returns false - */ -function pcmn_save() -{ - try { - waiting_box(); - // initialize variables - var gDossier=0; - var p_action=""; - var p_oldu=-1; - var p_valu=""; - var p_libu=""; - var p_parentu=""; - var form=$('acc_update_frm_id'); - var notfound="not found:"; - var p_typeu=-1; - var acc_delete=0; - // get them - if ( form['gDossier']) { gDossier=form['gDossier'].value;}else { notfound+='gDossier';} - if ( form['p_action']) { p_action=form['p_action'].value;}else { notfound+=', p_action ';} - if ( form['p_oldu']) { p_oldu=form['p_oldu'].value;}else { notfound+=', p_oldu';} - if ( form['p_valu']) { p_valu=form['p_valu'].value;}else { notfound+=', p_valu';} - if ( form['p_libu']) { p_libu=form['p_libu'].value;}else { notfound+=', p_libu ';} - if ( form['p_parentu']) { p_parentu=form['p_parentu'].value;}else { notfound+='p_parentu';} - if ( form['delete_acc']) { - if (form['delete_acc'].checked) { acc_delete=1;} else {acc_delete=0} } - else { - notfound += ', delete_acc'; - } - if ( form['p_typeu']) { p_typeu=form['p_typeu'].value;} else { notfound+=", p_typeu";} - - - if ( notfound != "not found:") throw notfound; - - var queryString={op:'account_update',action:p_action,gDossier:gDossier,p_oldu:p_oldu,p_valu:p_valu,p_libu:p_libu,p_parentu:p_parentu,acc_delete:acc_delete,p_typeu:p_typeu}; - var ajax_action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: queryString, - onFailure: error_box, - onSuccess: function(req, json) { - try - { - remove_waiting_box(); - var name_ctl = 'acc_update_info'; - var answer = req.responseXML; - var html = answer.getElementsByTagName('code'); - var ctl = answer.getElementsByTagName('ctl')[0].textContent; - if (html.length == 0) { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - var code_html = getNodeText(html[0]); // Firefox ne prend que les 4096 car. - code_html = unescape_xml(code_html); - - $(name_ctl).innerHTML = code_html; - if ( ctl == 'ok') { - window.location.reload(); - } - } catch (e) - { - error_message(e.message); - return false; - } - } - } - - ); - - }catch (e) { - return false; - } - return false; -} - \ No newline at end of file diff --git a/sources/html/js/admin.js b/sources/html/js/admin.js deleted file mode 100644 index 7d56493..0000000 --- a/sources/html/js/admin.js +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright (C) 2015 Dany De Bontridder - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -/** - * Display the forbidden folders if the request comes from a form - * with an input text (id:database_filter_input) then this text is - * used as a filter - * @param {type} p_user : the user id - * @returns nothing - */ -function folder_display(p_user) -{ - /** - * If form exist and there is something - * - */ - var p_filter = ""; - if ($('database_filter_input')) { - console.log($('database_filter_input').value); - p_filter = $('database_filter_input').value; - } - /* - * Ajax request to display the folder - */ - new Ajax.Request('ajax_misc.php', { - method: "get", - parameters: {"p_user": p_user, "op": "folder_display", "p_filter": p_filter, 'gDossier': 0}, - onSuccess: function (p_xml) { - // table id = database_list - var folder = {}; - var create = false; - if (!$('folder_list_div')) { - folder = create_div({'id': 'folder_list_div', 'cssclass': "inner_box", 'style': 'width:90%,right:5%;top:100px'}); - create = true; - } - folder = $('folder_list_div'); - // Analyze XML answer - var answer = p_xml.responseXML; - var a = answer.getElementsByTagName('status'); - var html = answer.getElementsByTagName('content'); - if (a.length == 0) { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - - var content = getNodeText(html[0]); - // fill up the div - folder.innerHTML = unescape_xml(content); - - // show it - folder.show(); - $('database_filter_input').focus(); - } - }); -} -/** - * Remove the grant for an user to the given database id - * @param {integer} p_user use_id id of the user - * @param {integer} p_dossier id of the database - * @returns nothing - */ -function folder_remove(p_user,p_dossier ) -{ - smoke.confirm ('Confirmer', - function (e) { - if (e ) { - waiting_box(); - new Ajax.Request('ajax_misc.php', { - method: "get", - parameters: {"p_user": p_user, 'p_dossier': p_dossier, "op": "folder_remove", 'gDossier': 0}, - onSuccess: function (p_xml) { - // table id = database_list - new Effect.Opacity('row'+p_dossier, { from: 1.0, to: 0.0, duration: 0.2 }); - remove_waiting_box(); - } - - }); - } else { - return ; - } - }); -} - -/** - * Grant the access to a folder for a given user and add a row in the table - * (id : database_list) - * @param {integer} p_user use_id id of the user - * @param {integer} p_dossier id of the database - * @returns {undefined} - */ -function folder_add(p_user, p_dossier) -{ - waiting_box(); - new Ajax.Request('ajax_misc.php', { - method: "get", - parameters: {"p_user": p_user, 'p_dossier': p_dossier, "op": "folder_add", 'gDossier': 0}, - onSuccess: function (p_xml) { - // table id = database_list - // Analyze XML answer - var answer = p_xml.responseXML; - var a = answer.getElementsByTagName('status'); - var html = answer.getElementsByTagName('content'); - if (a.length == 0) { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - - var content = getNodeText(html[0]); - var nb = $('database_list').rows.length + 1; - var row = new Element('tr', {'id': 'row' + p_dossier}); - if (nb % 2 == 0) { - row.addClassName('odd'); - } else { - row.addClassName('even'); - } - row.innerHTML = unescape_xml(content); - $('database_list').appendChild(row); - $('row_db_'+p_dossier).hide(); - remove_waiting_box(); - } - }); - -} -function display_admin_answer(p_dossier,p_action) -{ - waiting_box(); - new Ajax.Request ("ajax_misc.php",{ - method:"get", - parameters:{"p_dossier":p_dossier,"op":p_action,'gDossier':0}, - onSuccess : function (p_xml) { - try { - var div_display="folder_admin_div"; - var answer = p_xml.responseXML; - var a = answer.getElementsByTagName('status'); - var html = answer.getElementsByTagName('content'); - if (a.length == 0) { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - - var folder; - var create = false; - if (!$(div_display)) { - folder = create_div({'id': div_display, 'cssclass': "inner_box", style: 'width:90%;right:5%;top:100px'}); - create = true; - } - folder=$(div_display); - - var content = getNodeText(html[0]); - folder.innerHTML=unescape_xml(content); - var pos=calcy(250); - $(div_display).setStyle({top:pos+'px'}); - - folder.show(); - remove_waiting_box(); - } catch (e) { - console.log(e.message); - } - } - }); -} -function folder_drop(p_dossier) -{ - display_admin_answer(p_dossier,'folder_drop'); -} - -function folder_modify(p_dossier) -{ - display_admin_answer(p_dossier,'folder_modify'); -} -function modele_modify(p_dossier) -{ - display_admin_answer(p_dossier,'modele_modify'); -} -function modele_drop(p_dossier) -{ - display_admin_answer(p_dossier,'modele_drop'); -} diff --git a/sources/html/js/ajax_fiche.js b/sources/html/js/ajax_fiche.js deleted file mode 100644 index 88503ed..0000000 --- a/sources/html/js/ajax_fiche.js +++ /dev/null @@ -1,252 +0,0 @@ -/* - * This file is part of NOALYSS. - * - * NOALYSS is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * NOALYSS is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with NOALYSS; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -/* $Revision$ */ - -// Copyright Author Dany De Bontridder danydb@aevalys.eu - -/*! \file - * \brief This file permit to use the AJAX function to fill up - * info from fiche - * - */ - -/*!\brief clean the row (the label, price and vat) - * \param p_ctl the calling ctrl - */ -function clean_Fid(p_ctl) -{ - nSell=p_ctl+"_price"; - nTvaAmount=p_ctl+"_tva_amount"; - nBuy=p_ctl+"_price"; - nTva_id=p_ctl+"_tva_id"; - if ( $(nSell) ) - { - $(nSell).value=""; - } - if ( $(nBuy) ) - { - $(nBuy).value=""; - } - if ( $(nTva_id) ) - { - $(nTva_id).value="-1"; - } - if ( $(nTvaAmount)) - { - $(nTvaAmount).value=0; - } -} -function errorFid(request,json) -{ - alert_box('erreur : ajax fiche'); -} -/*!\brief this function fills the data from fid.php, - * \param p_ctl object : field of the input, - * possible object member - * - label field to update with the card's name - * - price field to update with the card's price - * - tvaid field to update with the card's tva_id - * - jrn field to force the ledger - *\see successFid errorFid fid.php - */ -function ajaxFid(p_ctl) -{ - try - { - var gDossier=$('gDossier').value; - var jrn=$(p_ctl).jrn; - $(p_ctl).value=$(p_ctl).value.toUpperCase(); - if ( jrn == undefined ) - { - if ($('p_jrn')!=undefined) - { - jrn=$('p_jrn').value; - } - } - if ( jrn == undefined ) - { - jrn=-1; - } - if ( trim($(p_ctl).value)=="" ) - { - nLabel=$(p_ctl).label; - if ($(nLabel) ) - { - $(nLabel).value=""; - $(nLabel).innerHTML=" "; - clean_Fid(p_ctl); - return; - } - } - var queryString="FID="+trim($(p_ctl).value); - if ( $(p_ctl).label) - { - queryString+='&l='+$(p_ctl).label; - } - if ( $(p_ctl).tvaid) - { - queryString+='&t='+$(p_ctl).tvaid; - } - if ( $(p_ctl).price) - { - queryString+='&p='+$(p_ctl).price; - } - if ( $(p_ctl).purchase) - { - queryString+='&b='+$(p_ctl).purchase; - } - if ( $(p_ctl).typecard) - { - queryString+='&d='+$(p_ctl).typecard; - } - queryString=queryString+"&j="+jrn+'&gDossier='+gDossier; - queryString=queryString+'&ctl='+p_ctl.id; - - var action=new Ajax.Request ( - "fid.php", - { - method:'get', - parameters:queryString, - onFailure:errorFid, - onSuccess:successFid - } - - ); - }catch (e) { - alert_box(e.message); - alert_box(p_ctl); - } - -} -/*!\brief callback function for ajax - * \param request : object request - * \param json : json answer -\verbatim - {"answer":"ok", - "flabel":"none", - "name":"Chambre de commerce", - "ftva_id":"none", - "tva_id":" ", - "fPrice_sale":"none", - "sell":" ", - "fPrice_purchase":"none", - "buy":" "} -\endverbatim - */ -function successFid(request,json) -{ - var answer=request.responseText.evalJSON(true); - var flabel=answer.flabel; - if ( answer.answer=='nok' ) - { - set_value(flabel," Fiche inexistante"); - return; - } - - var ftva_id=answer.ftva_id; - var fsale=answer.fPrice_sale; - var fpurchase=answer.fPrice_purchase; - - if ( ftva_id != 'none') - { - set_value(ftva_id,answer.tva_id); - } - if ( flabel != 'none') - { - set_value(flabel,answer.name); - } - if ( fsale != 'none') - { - set_value(fsale,answer.sell); - } - if ( fpurchase != 'none') - { - set_value(fpurchase,answer.buy); - } - - -} -function ajax_error_saldo(request,json) -{ - alert_box('erreur : ajax solde '); -} -/*!\brief this function get the saldo - * \param p_ctl the ctrl where we take the quick_code - */ -function ajax_saldo(p_ctl) -{ - var gDossier=$('gDossier').value; - var ctl_value=trim($(p_ctl).value); - var jrn=$('p_jrn').value; - queryString="FID="+ctl_value+"&op=saldo"; - queryString=queryString+'&gDossier='+gDossier+'&j='+jrn; - queryString=queryString+'&ctl='+ctl_value; - /* alert_box(queryString); */ - var action=new Ajax.Request ( - "ajax_misc.php", - { - method:'get', - parameters:queryString, - onFailure:ajax_error_saldo, - onSuccess:ajax_success_saldo - } - - ); - -} -/*!\brief callback function for ajax - * \param request : object request - * \param json : json answer */ -function ajax_success_saldo(request,json) -{ - var answer=request.responseText.evalJSON(true); - $('first_sold').value=answer.saldo; - -} -/*!\brief this function get data from ajax_card.php and fill the hidden div with the return html string -* \param p_dossier -* \param f_id fiche.f_id -* \param p_operation what to do : op : history of operation -* \param ctl : id of the div to show -* \param page -*/ -function ajax_card(p_dossier,f_id,p_operation,ctl,page) -{ - $(ctl).show(); - var queryString="gDossier="+p_dossier+"&f_id="+f_id+"&op="+p_operation+"&p="+page+'&ctl='+ctl; - var action = new Ajax.Request( - "ajax_card.php" , { method:'get', parameters:queryString,onFailure:ajax_get_failure,onSuccess:ajax_get_success} - ); -} -/*!\brief callback function for ajax_get when successuf -*/ -function ajax_get_success(request,json) -{ - var answer=request.responseText.evalJSON(false); - $(answer.ctl).show(); - $(answer.ctl).innerHTML=answer.html; -} -/*!\brief callback function for ajax_get when fails -*/ -function ajax_get_failure(request,json) -{ - alert_box("Ajax do not work for ajax_get"); - -} - -//--> diff --git a/sources/html/js/anc_script.js b/sources/html/js/anc_script.js deleted file mode 100644 index 5087109..0000000 --- a/sources/html/js/anc_script.js +++ /dev/null @@ -1,546 +0,0 @@ -/* - * This file is part of NOALYSS. - * - * NOALYSS is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * NOALYSS is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with NOALYSS; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -/* $Revision$ */ - -// Copyright Author Dany De Bontridder danydb@aevalys.eu - -/** - * @file - * @brief javascript for the analytic accountancy - */ - -/*!\brief add a row for the CA - * \param p_table_id - * \param p_amount amount to reach - */ -function add_row(p_table, p_seq) -{ - var mytable = g(p_table).tBodies[0]; - var max =Math.abs( parseFloat(g('amount_t' + p_seq).value)); - if (!mytable) - { - return; - } - var new_value = mytable.rows.length + 1; - - - if (mytable.rows.length > 15) - { - alert_box("Maximum 15 lignes "); - return; - } - var amount = compute_total_table(p_table, p_seq); - if (max < amount) - { - alert_box('Montant incorrect : max = ' + max + " calculé=" + amount); - return; - } - // For the detail view (modify_op) there is several form and then several time the - // element - var rowToCopy = mytable.rows[1]; - var row = mytable.insertRow(mytable.rows.length); - - for (var i = 0; i < rowToCopy.cells.length; i++) - { - var cell = row.insertCell(i); - var txt = rowToCopy.cells[i].innerHTML; -// txt=txt.replace(/row_1/g,"row_"+new_value); - cell.innerHTML = txt; - } - var col = document.getElementsByName("val[" + p_seq + "][]"); - col[col.length - 1].value = max - amount; - anc_refresh_remain(p_table, p_seq); -} -/** - *Compute total of a form from Anc_Operation::display_form_plan - *@param p_table table id - *@param seq sequence of the line - *@see Anc_Operation::display_form_plan - */ -function compute_total_table(p_table, seq) -{ - try { - - var i = 0; - var tot = 0; - var col = document.getElementsByName("val[" + seq + "][]"); - for (i = 0; i < col.length; i++) - { - if ( $(p_table).contains(col[i])) { - tot += parseFloat(col[i].value); - } - } - return tot; - } - catch (e) - { - alert_box(e.message); - } -} -/** - * Refresh remain of account. analytic - *@param p_table table id - *@param p_seq sequence of the line - *@see Anc_Operation::display_form_plan - */ -function anc_refresh_remain(p_table, p_seq) -{ - try - { - var tot_line =Math.abs( parseFloat(g('amount_t' + p_seq).value)); - var tot_table = compute_total_table(p_table, p_seq); - var remain = tot_line - tot_table; - remain = Math.round(remain * 100) / 100; - // var popup_table = p_table.toString(); -// p_table = popup_table.replace("popup", ""); - $('remain' + p_table).innerHTML = remain; - if (remain == 0) - { - $('remain' + p_table).style.color = "green" - } - else - { - $('remain' + p_table).style.color = "red" - } - } catch (a) - { - alert_box(a.message); - } -} -/*! - * \brief Check the amount of the CA - * \param p_style : error or ok, if ok show a ok box if the amount are equal - * - * - * \return true if the amounts are equal - */ -function verify_ca(div) -{ - try - { - - var idx = 0; - var amount_error = 0; - // put a maximum - while (idx < 50) - { - var table = div + 't' + idx; - if (g(table)) - { - var total_amount = 0; - // table is found compute the different val[] - var array_value = document.getElementsByName('val[' + idx + '][]'); - - for (var i = 0; i < array_value.length; i++) - { - if (isNaN(array_value[i].value)) - { - array_value[i].value = 0; - } - - total_amount += parseFloat(array_value[i].value); - } - var amount = Math.abs(parseFloat(g('amount_t' + idx).value)); - var diff = amount - total_amount; - - if (Math.round(diff, 2) != 0.0) - { - g(table).style.backgroundColor = 'red'; - amount_error++; - } - else - { - g(table).style.backgroundColor = 'lightgreen'; - - } - idx++; - } - else - break; - } - if (amount_error != 0) - { - alert_box('Désolé, les montants pour la comptabilité analytique sont incorrects'); - return false; - } - return true; - } - catch (e) - { - alert_box(e.message); - return false; - } -} -/*! - * \brief open a window for searching a CA account, - * \param p_dossier dossier id - * \param p_target ctrl to update - * \param p_source ctrl containing the pa_id - * - * - * \return - */ -function search_ca(p_dossier, p_target, p_source) -{ - var pa_id = g(p_source).value; - waiting_box(); - removeDiv('search_anc'); - var qs = "op=openancsearch&gDossier=" + p_dossier + "&ctl=searchanc"; - qs += "&c2=" + pa_id + "&c1=" + p_target; - - var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: function(req) { - try { - remove_waiting_box(); - var pos = fixed_position(250, 150) + ";width:30%;height:50%"; - add_div({ - id: "searchanc", - drag: 1, - cssclass: "inner_box", - style: pos - }); - $('searchanc').innerHTML = req.responseText; - - } catch (e) { - alert_box(e.message); - } - } - } - ); - -} -function search_anc_form(obj) -{ - var qs = "op=resultancsearch&ctl=searchanc&"; - var name = obj.id; - qs += $(name).serialize(false); - waiting_box(); - var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: qs, - onFailure: null, - onSuccess: function(req) { - try { - remove_waiting_box(); - $('searchanc').innerHTML = req.responseText; - req.responseText.evalScripts(); - - } catch (e) { - alert_box(e.message); - } - } - } - ); - return false; -} -function caod_checkTotal() -{ - var ie4 = false; - if (document.all) - { - ie4 = true; - }// Ajouter getElementById par document.all[str] - var total_deb = 0.0; - var total_cred = 0.0; - var nb_item = g('nbrow').value; - - for (var i = 0; i < nb_item; i++) - { - var doc_amount = g("pamount" + i); - if (!doc_amount) - { - return; - } - var side = g("pdeb" + i); - if (!side) - { - return; - } - var amount = parseFloat(doc_amount.value); - - if (isNaN(amount) == true) - { - amount = 0.0; - } - if (side.checked == false) - { - total_cred += amount; - } - if (side.checked == true) - { - total_deb += amount; - } - } - - - - var r_total_cred = Math.round(total_cred * 100) / 100; - var r_total_deb = Math.round(total_deb * 100) / 100; - g('totalDeb').innerHTML = r_total_deb; - g('totalCred').innerHTML = r_total_cred; - - if (r_total_deb != r_total_cred) - { - g("totalDiff").style.color = "red"; - g("totalDiff").style.fontWeight = "bold"; - g("totalDiff").innerHTML = "Différence"; - var diff = total_deb - total_cred; - diff = Math.round(diff * 100) / 100; - g("totalDiff").innerHTML = diff; - - } - else - { - g("totalDiff").innerHTML = "0.0"; - } -} - -/** - *@brief remove an operation - *@param p_dossier is the folder - *@param p_oa_group is the group of the analytic operation - */ -function anc_remove_operation(p_dossier, p_oa_group) -{ - smoke.confirm("Etes-vous sur de vouloir effacer cette operation ?\n", - function (a) - { - if ( a) { - var obj = {"oa": - p_oa_group, "gDossier": - p_dossier, "op": "remove_anc"}; - var queryString = encodeJSON(obj); - g(p_oa_group).style.display = 'none'; - var e = new Ajax.Request("ajax_misc.php", - {method: 'get', parameters: queryString}); - - } else - { - return; - } - }); -} -/** - * add a row in misc operation for ANC - * the code must be adapted for that - */ -function anc_add_row(tableid) -{ - var style = 'class="input_text"'; - var mytable = g(tableid).tBodies[0]; - var nNumberRow = mytable.rows.length; - var oRow = mytable.insertRow(nNumberRow); - var rowToCopy = mytable.rows[1]; - var nNumberCell = rowToCopy.cells.length; - var nb = g("nbrow"); - var oNewRow = mytable.insertRow(nNumberRow); - for (var e = 0; e < nNumberCell; e++) - { - var newCell = oRow.insertCell(e); - var tt = rowToCopy.cells[e].innerHTML; - var new_tt = tt.replace(/pop0/g, "pop" + nb.value); - new_tt = new_tt.replace(/pamount0/g, "pamount" + nb.value); - new_tt = new_tt.replace(/pdeb0/g, "pdeb" + nb.value); - newCell.innerHTML = new_tt; - new_tt.evalScripts(); - } - $("pamount" + nb.value).value = "0"; - nb.value++; -} -/** - *@brief this function is called before the querystring is send to the - * fid2.php, add a filter based on the ledger 'p_jrn' - *@param obj is the input field - *@param queryString is the queryString to modify - *@see ICard::input - */ -function filter_anc(obj, queryString) -{ - var pa_id = obj.plan_ctl; - queryString = queryString + "&pa_id=" + pa_id; - return queryString; -} -/** - * @brief compute and display Analytic activity, related to the choosen distribution key - * @param p_dossier is the dossier id - * @param p_table is table id to replace - * @param p_amount is the amount to distribute - * @param p_key_id is the choosen key - * - */ -function anc_key_compute(p_dossier, p_table, p_amount, p_key_id) -{ - waiting_box(); - var op = "op=anc_key_compute"; - var queryString = op + "&gDossier=" + p_dossier + "&t=" + p_table + "&amount=" + p_amount + '&key=' + p_key_id; - try { - var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: queryString, - onFailure: error_box, - onSuccess: function(req, json) { - try - { - var name_ctl = p_table; - var answer = req.responseXML; - remove_waiting_box(); - var html = answer.getElementsByTagName('code'); - if (html.length == 0) { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - - var code_html = getNodeText(html[0]); // Firefox ne prend que les 4096 car. - code_html = unescape_xml(code_html); - $(name_ctl).innerHTML = code_html; - removeDiv('div_anc_key_choice'); - } catch (e) - { - error_message(e.message); - } - } - } - - ); - } catch (e) { - error_message(e.message); - } -} -/** - * @brief choose the distribution key - * in ajax, a window let you choose what key you want to use - * - * @param p_dossier is the dossier - * @param p_table the table id of the target - * @param p_amount amount to distribute - * @param p_ledger - */ -function anc_key_choice(p_dossier, p_table, p_amount,p_ledger) -{ - waiting_box(); - var op = 'op=anc_key_choice'; - var queryString = op + "&gDossier=" + p_dossier + "&t=" + p_table + "&amount=" + p_amount; - try { - queryString+='&led='+p_ledger; - var action = new Ajax.Request( - "ajax_misc.php", - { - method: 'get', - parameters: queryString, - onFailure: error_box, - onSuccess: function(req, json) { - try - { - var name_ctl = 'div_anc_key_choice'; - var answer = req.responseXML; - remove_waiting_box(); - var html = answer.getElementsByTagName('code'); - if (html.length == 0) { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - - var code_html = getNodeText(html[0]); // Firefox ne prend que les 4096 car. - code_html = unescape_xml(code_html); - var position=fixed_position(50,120); - add_div({id: name_ctl, cssclass: 'inner_box', style: position, drag: 1}); - $(name_ctl).innerHTML = code_html; - } catch (e) - { - error_message(e.message); - } - } - } - - ); - - } catch (e) { - error_message(e.message); - } -} -/** - * Add a row for distribution key. - * This function add a row in the table key distribution - * @param p_table table id - */ -function add_row_key(p_table) -{ - var mytable = g(p_table).tBodies[0]; - if (!mytable) - { - return; - } - var table_length=mytable.rows.length ; - if ( table_length > 15) - { - alert_box("Maximum 15 lignes "); - return; - } - var rowToCopy = mytable.rows[1]; - var row = mytable.insertRow(table_length); - var nb=mytable.rows.length -2; - for (var i = 0; i < rowToCopy.cells.length; i++) - { - var cell = row.insertCell(i); - cell.className=rowToCopy.cells[i].className; - var txt = rowToCopy.cells[i].innerHTML; - if ( i == 0 ) - { - var change=nb+1; - cell.innerHTML =change+''; - } - else - { - if (i == rowToCopy.cells.length -1 ) { - txt=txt.replace(/value="[0-9]*.{1}[0-9]*"/,'value="0"') - } else { - txt=txt.replace(/po_id\[0\]/g,'po_id['+nb+']'); - } - cell.innerHTML = txt; - } - } - $('total_key').innerHTML="?"; -} -function anc_key_compute_table() -{ - var tot=0; - var i=0; - var value=0; - var percent=document.getElementsByName('percent[]'); - for (i=0;i"; - } catch(e) {} - var element = parentElement.firstChild || null; - - // see if browser added wrapping tags - if(element && (element.tagName.toUpperCase() != elementName)) - element = element.getElementsByTagName(elementName)[0]; - - // fallback to createElement approach - if(!element) element = document.createElement(elementName); - - // abort if nothing could be created - if(!element) return; - - // attributes (or text) - if(arguments[1]) - if(this._isStringOrNumber(arguments[1]) || - (arguments[1] instanceof Array) || - arguments[1].tagName) { - this._children(element, arguments[1]); - } else { - var attrs = this._attributes(arguments[1]); - if(attrs.length) { - try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707 - parentElement.innerHTML = "<" +elementName + " " + - attrs + ">"; - } catch(e) {} - element = parentElement.firstChild || null; - // workaround firefox 1.0.X bug - if(!element) { - element = document.createElement(elementName); - for(attr in arguments[1]) - element[attr == 'class' ? 'className' : attr] = arguments[1][attr]; - } - if(element.tagName.toUpperCase() != elementName) - element = parentElement.getElementsByTagName(elementName)[0]; - } - } - - // text, or array of children - if(arguments[2]) - this._children(element, arguments[2]); - - return $(element); - }, - _text: function(text) { - return document.createTextNode(text); - }, - - ATTR_MAP: { - 'className': 'class', - 'htmlFor': 'for' - }, - - _attributes: function(attributes) { - var attrs = []; - for(attribute in attributes) - attrs.push((attribute in this.ATTR_MAP ? this.ATTR_MAP[attribute] : attribute) + - '="' + attributes[attribute].toString().escapeHTML().gsub(/"/,'"') + '"'); - return attrs.join(" "); - }, - _children: function(element, children) { - if(children.tagName) { - element.appendChild(children); - return; - } - if(typeof children=='object') { // array can hold nodes and text - children.flatten().each( function(e) { - if(typeof e=='object') - element.appendChild(e); - else - if(Builder._isStringOrNumber(e)) - element.appendChild(Builder._text(e)); - }); - } else - if(Builder._isStringOrNumber(children)) - element.appendChild(Builder._text(children)); - }, - _isStringOrNumber: function(param) { - return(typeof param=='string' || typeof param=='number'); - }, - build: function(html) { - var element = this.node('div'); - $(element).update(html.strip()); - return element.down(); - }, - dump: function(scope) { - if(typeof scope != 'object' && typeof scope != 'function') scope = window; //global scope - - var tags = ("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY " + - "BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET " + - "FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+ - "KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+ - "PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+ - "TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/); - - tags.each( function(tag){ - scope[tag] = function() { - return Builder.node.apply(Builder, [tag].concat($A(arguments))); - }; - }); - } -}; \ No newline at end of file diff --git a/sources/html/js/calc.js b/sources/html/js/calc.js deleted file mode 100644 index 37477c5..0000000 --- a/sources/html/js/calc.js +++ /dev/null @@ -1,81 +0,0 @@ -/* - * This file is part of NOALYSS. - * - * NOALYSS is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * NOALYSS is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with NOALYSS; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -/* $Revision$ */ - -// Copyright Author Dany De Bontridder danydb@aevalys.eu - -/*! \file - * \brief This file show a little online calculator, in the caller - * the span id result, listing, the id form calc_line and the - * - * - */ -var p_history=""; -var p_variable=""; -// add input -function cal() -{ - p_variable=this.document.getElementById('inp').value; - if (p_variable.search(/^\s*$/) !=-1) - { - return; - } - try - { - Compute(); - p_variable=p_variable.replace(/ /g,""); - p_variable=p_variable.replace(/\+/g,"+ "); - p_variable=p_variable.replace(/-/g,"- "); - p_variable=p_variable.replace(/\//g,"/ "); - - sub=eval(p_variable); - var result=parseFloat(sub); - result=Math.round(result*100)/100; - } - catch(exception) - { - alert_box("Mauvaise formule\n"+p_variable); - return false; - } - p_history=p_history+'
      '+p_variable; - p_history+="="+result.toString(); - var str_sub="

      Total :"+p_variable+" = "+result.toString()+"

      "; - this.document.getElementById("sub_total").innerHTML=str_sub; - this.document.getElementById("listing").innerHTML=p_history; - this.document.getElementById('inp').value=""; -} -// Clean -// -function Clean() -{ - this.document.getElementById('listing').innerHTML=""; - this.document.getElementById('result').innerHTML=""; - this.document.getElementById('sub_total').innerHTML=""; - this.document.getElementById('inp').value=""; - this.document.getElementById('inp').focus(); - -} - -function Compute() -{ - var tot=0; - var ret=""; - - this.document.getElementById('inp').value=""; - this.document.getElementById('inp').focus(); -} diff --git a/sources/html/js/calendar-setup.js b/sources/html/js/calendar-setup.js deleted file mode 100644 index c269f7d..0000000 --- a/sources/html/js/calendar-setup.js +++ /dev/null @@ -1,200 +0,0 @@ -/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/ - * --------------------------------------------------------------------------- - * - * The DHTML Calendar - * - * Details and latest version at: - * http://dynarch.com/mishoo/calendar.epl - * - * This script is distributed under the GNU Lesser General Public License. - * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html - * - * This file defines helper functions for setting up the calendar. They are - * intended to help non-programmers get a working calendar on their site - * quickly. This script should not be seen as part of the calendar. It just - * shows you what one can do with the calendar, while in the same time - * providing a quick and simple method for setting it up. If you need - * exhaustive customization of the calendar creation process feel free to - * modify this code to suit your needs (this is recommended and much better - * than modifying calendar.js itself). - */ - -// $Id$ - -/** - * This function "patches" an input field (or other element) to use a calendar - * widget for date selection. - * - * The "params" is a single object that can have the following properties: - * - * prop. name | description - * ------------------------------------------------------------------------------------------------- - * inputField | the ID of an input field to store the date - * displayArea | the ID of a DIV or other element to show the date - * button | ID of a button or other element that will trigger the calendar - * eventName | event that will trigger the calendar, without the "on" prefix (default: "click") - * ifFormat | date format that will be stored in the input field - * daFormat | the date format that will be used to display the date in displayArea - * singleClick | (true/false) wether the calendar is in single click mode or not (default: true) - * firstDay | numeric: 0 to 6. "0" means display Sunday first, "1" means display Monday first, etc. - * align | alignment (default: "Br"); if you don't know what's this see the calendar documentation - * range | array with 2 elements. Default: [1900, 2999] -- the range of years available - * weekNumbers | (true/false) if it's true (default) the calendar will display week numbers - * flat | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID - * flatCallback | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar) - * disableFunc | function that receives a JS Date object and should return true if that date has to be disabled in the calendar - * onSelect | function that gets called when a date is selected. You don't _have_ to supply this (the default is generally okay) - * onClose | function that gets called when the calendar is closed. [default] - * onUpdate | function that gets called after the date is updated in the input field. Receives a reference to the calendar. - * date | the date that the calendar will be initially displayed to - * showsTime | default: false; if true the calendar will include a time selector - * timeFormat | the time format; can be "12" or "24", default is "12" - * electric | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close - * step | configures the step of the years in drop-down boxes; default: 2 - * position | configures the calendar absolute position; default: null - * cache | if "true" (but default: "false") it will reuse the same calendar object, where possible - * showOthers | if "true" (but default: "false") it will show days from other months too - * - * None of them is required, they all have default values. However, if you - * pass none of "inputField", "displayArea" or "button" you'll get a warning - * saying "nothing to setup". - */ -Calendar.setup = function (params) { - function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } }; - - param_default("inputField", null); - param_default("displayArea", null); - param_default("button", null); - param_default("eventName", "click"); - param_default("ifFormat", "%Y/%m/%d"); - param_default("daFormat", "%Y/%m/%d"); - param_default("singleClick", true); - param_default("disableFunc", null); - param_default("dateStatusFunc", params["disableFunc"]); // takes precedence if both are defined - param_default("dateText", null); - param_default("firstDay", null); - param_default("align", "Br"); - param_default("range", [1900, 2999]); - param_default("weekNumbers", true); - param_default("flat", null); - param_default("flatCallback", null); - param_default("onSelect", null); - param_default("onClose", null); - param_default("onUpdate", null); - param_default("date", null); - param_default("showsTime", false); - param_default("timeFormat", "24"); - param_default("electric", true); - param_default("step", 2); - param_default("position", null); - param_default("cache", false); - param_default("showOthers", false); - param_default("multiple", null); - - var tmp = ["inputField", "displayArea", "button"]; - for (var i in tmp) { - if (typeof params[tmp[i]] == "string") { - params[tmp[i]] = document.getElementById(params[tmp[i]]); - } - } - if (!(params.flat || params.multiple || params.inputField || params.displayArea || params.button)) { - alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code"); - return false; - } - - function onSelect(cal) { - var p = cal.params; - var update = (cal.dateClicked || p.electric); - if (update && p.inputField) { - p.inputField.value = cal.date.print(p.ifFormat); - if (typeof p.inputField.onchange == "function") - p.inputField.onchange(); - } - if (update && p.displayArea) - p.displayArea.innerHTML = cal.date.print(p.daFormat); - if (update && typeof p.onUpdate == "function") - p.onUpdate(cal); - if (update && p.flat) { - if (typeof p.flatCallback == "function") - p.flatCallback(cal); - } - if (update && p.singleClick && cal.dateClicked) - cal.callCloseHandler(); - }; - - if (params.flat != null) { - if (typeof params.flat == "string") - params.flat = document.getElementById(params.flat); - if (!params.flat) { - alert("Calendar.setup:\n Flat specified but can't find parent."); - return false; - } - var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect); - cal.showsOtherMonths = params.showOthers; - cal.showsTime = params.showsTime; - cal.time24 = (params.timeFormat == "24"); - cal.params = params; - cal.weekNumbers = params.weekNumbers; - cal.setRange(params.range[0], params.range[1]); - cal.setDateStatusHandler(params.dateStatusFunc); - cal.getDateText = params.dateText; - if (params.ifFormat) { - cal.setDateFormat(params.ifFormat); - } - if (params.inputField && typeof params.inputField.value == "string") { - cal.parseDate(params.inputField.value); - } - cal.create(params.flat); - cal.show(); - return false; - } - - var triggerEl = params.button || params.displayArea || params.inputField; - triggerEl["on" + params.eventName] = function() { - var dateEl = params.inputField || params.displayArea; - var dateFmt = params.inputField ? params.ifFormat : params.daFormat; - var mustCreate = false; - var cal = window.calendar; - if (dateEl) - params.date = Date.parseDate(dateEl.value || dateEl.innerHTML, dateFmt); - if (!(cal && params.cache)) { - window.calendar = cal = new Calendar(params.firstDay, - params.date, - params.onSelect || onSelect, - params.onClose || function(cal) { cal.hide(); }); - cal.showsTime = params.showsTime; - cal.time24 = (params.timeFormat == "24"); - cal.weekNumbers = params.weekNumbers; - mustCreate = true; - } else { - if (params.date) - cal.setDate(params.date); - cal.hide(); - } - if (params.multiple) { - cal.multiple = {}; - for (var i = params.multiple.length; --i >= 0;) { - var d = params.multiple[i]; - var ds = d.print("%Y%m%d"); - cal.multiple[ds] = d; - } - } - cal.showsOtherMonths = params.showOthers; - cal.yearStep = params.step; - cal.setRange(params.range[0], params.range[1]); - cal.params = params; - cal.setDateStatusHandler(params.dateStatusFunc); - cal.getDateText = params.dateText; - cal.setDateFormat(dateFmt); - if (mustCreate) - cal.create(); - cal.refresh(); - if (!params.position) - cal.showAtElement(params.button || params.displayArea || params.inputField, params.align); - else - cal.showAt(params.position[0], params.position[1]); - return false; - }; - - return cal; -}; diff --git a/sources/html/js/calendar.js b/sources/html/js/calendar.js deleted file mode 100644 index 223909a..0000000 --- a/sources/html/js/calendar.js +++ /dev/null @@ -1,1810 +0,0 @@ -/* Copyright Mihai Bazon, 2002-2005 | www.bazon.net/mishoo - * ----------------------------------------------------------- - * - * The DHTML Calendar, version 1.0 "It is happening again" - * - * Details and latest version at: - * www.dynarch.com/projects/calendar - * - * This script is developed by Dynarch.com. Visit us at www.dynarch.com. - * - * This script is distributed under the GNU Lesser General Public License. - * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html - */ - -// $Id$ - -/** The Calendar object constructor. */ -Calendar = function (firstDayOfWeek, dateStr, onSelected, onClose) { - // member variables - this.activeDiv = null; - this.currentDateEl = null; - this.getDateStatus = null; - this.getDateToolTip = null; - this.getDateText = null; - this.timeout = null; - this.onSelected = onSelected || null; - this.onClose = onClose || null; - this.dragging = false; - this.hidden = false; - this.minYear = 1970; - this.maxYear = 2050; - this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"]; - this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"]; - this.isPopup = true; - this.weekNumbers = true; - this.firstDayOfWeek = typeof firstDayOfWeek == "number" ? firstDayOfWeek : Calendar._FD; // 0 for Sunday, 1 for Monday, etc. - this.showsOtherMonths = false; - this.dateStr = dateStr; - this.ar_days = null; - this.showsTime = false; - this.time24 = true; - this.yearStep = 2; - this.hiliteToday = true; - this.multiple = null; - // HTML elements - this.table = null; - this.element = null; - this.tbody = null; - this.firstdayname = null; - // Combo boxes - this.monthsCombo = null; - this.yearsCombo = null; - this.hilitedMonth = null; - this.activeMonth = null; - this.hilitedYear = null; - this.activeYear = null; - // Information - this.dateClicked = false; - - // one-time initializations - if (typeof Calendar._SDN == "undefined") { - // table of short day names - if (typeof Calendar._SDN_len == "undefined") - Calendar._SDN_len = 3; - var ar = new Array(); - for (var i = 8; i > 0;) { - ar[--i] = Calendar._DN[i].substr(0, Calendar._SDN_len); - } - Calendar._SDN = ar; - // table of short month names - if (typeof Calendar._SMN_len == "undefined") - Calendar._SMN_len = 3; - ar = new Array(); - for (var i = 12; i > 0;) { - ar[--i] = Calendar._MN[i].substr(0, Calendar._SMN_len); - } - Calendar._SMN = ar; - } -}; - -// ** constants - -/// "static", needed for event handlers. -Calendar._C = null; - -/// detect a special case of "web browser" -Calendar.is_ie = ( /msie/i.test(navigator.userAgent) && - !/opera/i.test(navigator.userAgent) ); - -Calendar.is_ie5 = ( Calendar.is_ie && /msie 5\.0/i.test(navigator.userAgent) ); - -/// detect Opera browser -Calendar.is_opera = /opera/i.test(navigator.userAgent); - -/// detect KHTML-based browsers -Calendar.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent); - -// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate -// library, at some point. - -Calendar.getAbsolutePos = function(el) { - var SL = 0, ST = 0; - var is_div = /^div$/i.test(el.tagName); - if (is_div && el.scrollLeft) - SL = el.scrollLeft; - if (is_div && el.scrollTop) - ST = el.scrollTop; - var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST }; - if (el.offsetParent) { - var tmp = this.getAbsolutePos(el.offsetParent); - r.x += tmp.x; - r.y += tmp.y; - } - return r; -}; - -Calendar.isRelated = function (el, evt) { - var related = evt.relatedTarget; - if (!related) { - var type = evt.type; - if (type == "mouseover") { - related = evt.fromElement; - } else if (type == "mouseout") { - related = evt.toElement; - } - } - while (related) { - if (related == el) { - return true; - } - related = related.parentNode; - } - return false; -}; - -Calendar.removeClass = function(el, className) { - if (!(el && el.className)) { - return; - } - var cls = el.className.split(" "); - var ar = new Array(); - for (var i = cls.length; i > 0;) { - if (cls[--i] != className) { - ar[ar.length] = cls[i]; - } - } - el.className = ar.join(" "); -}; - -Calendar.addClass = function(el, className) { - Calendar.removeClass(el, className); - el.className += " " + className; -}; - -// FIXME: the following 2 functions totally suck, are useless and should be replaced immediately. -Calendar.getElement = function(ev) { - var f = Calendar.is_ie ? window.event.srcElement : ev.currentTarget; - while (f.nodeType != 1 || /^div$/i.test(f.tagName)) - f = f.parentNode; - return f; -}; - -Calendar.getTargetElement = function(ev) { - var f = Calendar.is_ie ? window.event.srcElement : ev.target; - while (f.nodeType != 1) - f = f.parentNode; - return f; -}; - -Calendar.stopEvent = function(ev) { - ev || (ev = window.event); - if (Calendar.is_ie) { - ev.cancelBubble = true; - ev.returnValue = false; - } else { - ev.preventDefault(); - ev.stopPropagation(); - } - return false; -}; - -Calendar.addEvent = function(el, evname, func) { - if (el.attachEvent) { // IE - el.attachEvent("on" + evname, func); - } else if (el.addEventListener) { // Gecko / W3C - el.addEventListener(evname, func, true); - } else { - el["on" + evname] = func; - } -}; - -Calendar.removeEvent = function(el, evname, func) { - if (el.detachEvent) { // IE - el.detachEvent("on" + evname, func); - } else if (el.removeEventListener) { // Gecko / W3C - el.removeEventListener(evname, func, true); - } else { - el["on" + evname] = null; - } -}; - -Calendar.createElement = function(type, parent) { - var el = null; - if (document.createElementNS) { - // use the XHTML namespace; IE won't normally get here unless - // _they_ "fix" the DOM2 implementation. - el = document.createElementNS("http://www.w3.org/1999/xhtml", type); - } else { - el = document.createElement(type); - } - if (typeof parent != "undefined") { - parent.appendChild(el); - } - return el; -}; - -// END: UTILITY FUNCTIONS - -// BEGIN: CALENDAR STATIC FUNCTIONS - -/** Internal -- adds a set of events to make some element behave like a button. */ -Calendar._add_evs = function(el) { - with (Calendar) { - addEvent(el, "mouseover", dayMouseOver); - addEvent(el, "mousedown", dayMouseDown); - addEvent(el, "mouseout", dayMouseOut); - if (is_ie) { - addEvent(el, "dblclick", dayMouseDblClick); - el.setAttribute("unselectable", true); - } - } -}; - -Calendar.findMonth = function(el) { - if (typeof el.month != "undefined") { - return el; - } else if (typeof el.parentNode.month != "undefined") { - return el.parentNode; - } - return null; -}; - -Calendar.findYear = function(el) { - if (typeof el.year != "undefined") { - return el; - } else if (typeof el.parentNode.year != "undefined") { - return el.parentNode; - } - return null; -}; - -Calendar.showMonthsCombo = function () { - var cal = Calendar._C; - if (!cal) { - return false; - } - var cal = cal; - var cd = cal.activeDiv; - var mc = cal.monthsCombo; - if (cal.hilitedMonth) { - Calendar.removeClass(cal.hilitedMonth, "hilite"); - } - if (cal.activeMonth) { - Calendar.removeClass(cal.activeMonth, "active"); - } - var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()]; - Calendar.addClass(mon, "active"); - cal.activeMonth = mon; - var s = mc.style; - s.display = "block"; - if (cd.navtype < 0) - s.left = cd.offsetLeft + "px"; - else { - var mcw = mc.offsetWidth; - if (typeof mcw == "undefined") - // Konqueror brain-dead techniques - mcw = 50; - s.left = (cd.offsetLeft + cd.offsetWidth - mcw) + "px"; - } - s.top = (cd.offsetTop + cd.offsetHeight) + "px"; -}; - -Calendar.showYearsCombo = function (fwd) { - var cal = Calendar._C; - if (!cal) { - return false; - } - var cal = cal; - var cd = cal.activeDiv; - var yc = cal.yearsCombo; - if (cal.hilitedYear) { - Calendar.removeClass(cal.hilitedYear, "hilite"); - } - if (cal.activeYear) { - Calendar.removeClass(cal.activeYear, "active"); - } - cal.activeYear = null; - var Y = cal.date.getFullYear() + (fwd ? 1 : -1); - var yr = yc.firstChild; - var show = false; - for (var i = 12; i > 0; --i) { - if (Y >= cal.minYear && Y <= cal.maxYear) { - yr.innerHTML = Y; - yr.year = Y; - yr.style.display = "block"; - show = true; - } else { - yr.style.display = "none"; - } - yr = yr.nextSibling; - Y += fwd ? cal.yearStep : -cal.yearStep; - } - if (show) { - var s = yc.style; - s.display = "block"; - if (cd.navtype < 0) - s.left = cd.offsetLeft + "px"; - else { - var ycw = yc.offsetWidth; - if (typeof ycw == "undefined") - // Konqueror brain-dead techniques - ycw = 50; - s.left = (cd.offsetLeft + cd.offsetWidth - ycw) + "px"; - } - s.top = (cd.offsetTop + cd.offsetHeight) + "px"; - } -}; - -// event handlers - -Calendar.tableMouseUp = function(ev) { - var cal = Calendar._C; - if (!cal) { - return false; - } - if (cal.timeout) { - clearTimeout(cal.timeout); - } - var el = cal.activeDiv; - if (!el) { - return false; - } - var target = Calendar.getTargetElement(ev); - ev || (ev = window.event); - Calendar.removeClass(el, "active"); - if (target == el || target.parentNode == el) { - Calendar.cellClick(el, ev); - } - var mon = Calendar.findMonth(target); - var date = null; - if (mon) { - date = new Date(cal.date); - if (mon.month != date.getMonth()) { - date.setMonth(mon.month); - cal.setDate(date); - cal.dateClicked = false; - cal.callHandler(); - } - } else { - var year = Calendar.findYear(target); - if (year) { - date = new Date(cal.date); - if (year.year != date.getFullYear()) { - date.setFullYear(year.year); - cal.setDate(date); - cal.dateClicked = false; - cal.callHandler(); - } - } - } - with (Calendar) { - removeEvent(document, "mouseup", tableMouseUp); - removeEvent(document, "mouseover", tableMouseOver); - removeEvent(document, "mousemove", tableMouseOver); - cal._hideCombos(); - _C = null; - return stopEvent(ev); - } -}; - -Calendar.tableMouseOver = function (ev) { - var cal = Calendar._C; - if (!cal) { - return; - } - var el = cal.activeDiv; - var target = Calendar.getTargetElement(ev); - if (target == el || target.parentNode == el) { - Calendar.addClass(el, "hilite active"); - Calendar.addClass(el.parentNode, "rowhilite"); - } else { - if (typeof el.navtype == "undefined" || (el.navtype != 50 && (el.navtype == 0 || Math.abs(el.navtype) > 2))) - Calendar.removeClass(el, "active"); - Calendar.removeClass(el, "hilite"); - Calendar.removeClass(el.parentNode, "rowhilite"); - } - ev || (ev = window.event); - if (el.navtype == 50 && target != el) { - var pos = Calendar.getAbsolutePos(el); - var w = el.offsetWidth; - var x = ev.clientX; - var dx; - var decrease = true; - if (x > pos.x + w) { - dx = x - pos.x - w; - decrease = false; - } else - dx = pos.x - x; - - if (dx < 0) dx = 0; - var range = el._range; - var current = el._current; - var count = Math.floor(dx / 10) % range.length; - for (var i = range.length; --i >= 0;) - if (range[i] == current) - break; - while (count-- > 0) - if (decrease) { - if (--i < 0) - i = range.length - 1; - } else if ( ++i >= range.length ) - i = 0; - var newval = range[i]; - el.innerHTML = newval; - - cal.onUpdateTime(); - } - var mon = Calendar.findMonth(target); - if (mon) { - if (mon.month != cal.date.getMonth()) { - if (cal.hilitedMonth) { - Calendar.removeClass(cal.hilitedMonth, "hilite"); - } - Calendar.addClass(mon, "hilite"); - cal.hilitedMonth = mon; - } else if (cal.hilitedMonth) { - Calendar.removeClass(cal.hilitedMonth, "hilite"); - } - } else { - if (cal.hilitedMonth) { - Calendar.removeClass(cal.hilitedMonth, "hilite"); - } - var year = Calendar.findYear(target); - if (year) { - if (year.year != cal.date.getFullYear()) { - if (cal.hilitedYear) { - Calendar.removeClass(cal.hilitedYear, "hilite"); - } - Calendar.addClass(year, "hilite"); - cal.hilitedYear = year; - } else if (cal.hilitedYear) { - Calendar.removeClass(cal.hilitedYear, "hilite"); - } - } else if (cal.hilitedYear) { - Calendar.removeClass(cal.hilitedYear, "hilite"); - } - } - return Calendar.stopEvent(ev); -}; - -Calendar.tableMouseDown = function (ev) { - if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) { - return Calendar.stopEvent(ev); - } -}; - -Calendar.calDragIt = function (ev) { - var cal = Calendar._C; - if (!(cal && cal.dragging)) { - return false; - } - var posX; - var posY; - if (Calendar.is_ie) { - posY = window.event.clientY + document.body.scrollTop; - posX = window.event.clientX + document.body.scrollLeft; - } else { - posX = ev.pageX; - posY = ev.pageY; - } - cal.hideShowCovered(); - var st = cal.element.style; - st.left = (posX - cal.xOffs) + "px"; - st.top = (posY - cal.yOffs) + "px"; - return Calendar.stopEvent(ev); -}; - -Calendar.calDragEnd = function (ev) { - var cal = Calendar._C; - if (!cal) { - return false; - } - cal.dragging = false; - with (Calendar) { - removeEvent(document, "mousemove", calDragIt); - removeEvent(document, "mouseup", calDragEnd); - tableMouseUp(ev); - } - cal.hideShowCovered(); -}; - -Calendar.dayMouseDown = function(ev) { - var el = Calendar.getElement(ev); - if (el.disabled) { - return false; - } - var cal = el.calendar; - cal.activeDiv = el; - Calendar._C = cal; - if (el.navtype != 300) with (Calendar) { - if (el.navtype == 50) { - el._current = el.innerHTML; - addEvent(document, "mousemove", tableMouseOver); - } else - addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover", tableMouseOver); - addClass(el, "hilite active"); - addEvent(document, "mouseup", tableMouseUp); - } else if (cal.isPopup) { - cal._dragStart(ev); - } - if (el.navtype == -1 || el.navtype == 1) { - if (cal.timeout) clearTimeout(cal.timeout); - cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250); - } else if (el.navtype == -2 || el.navtype == 2) { - if (cal.timeout) clearTimeout(cal.timeout); - cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250); - } else { - cal.timeout = null; - } - return Calendar.stopEvent(ev); -}; - -Calendar.dayMouseDblClick = function(ev) { - Calendar.cellClick(Calendar.getElement(ev), ev || window.event); - if (Calendar.is_ie) { - document.selection.empty(); - } -}; - -Calendar.dayMouseOver = function(ev) { - var el = Calendar.getElement(ev); - if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) { - return false; - } - if (el.ttip) { - if (el.ttip.substr(0, 1) == "_") { - el.ttip = el.caldate.print(el.calendar.ttDateFormat) + el.ttip.substr(1); - } - el.calendar.tooltips.innerHTML = el.ttip; - } - if (el.navtype != 300) { - Calendar.addClass(el, "hilite"); - if (el.caldate) { - Calendar.addClass(el.parentNode, "rowhilite"); - } - } - return Calendar.stopEvent(ev); -}; - -Calendar.dayMouseOut = function(ev) { - with (Calendar) { - var el = getElement(ev); - if (isRelated(el, ev) || _C || el.disabled) - return false; - removeClass(el, "hilite"); - if (el.caldate) - removeClass(el.parentNode, "rowhilite"); - if (el.calendar) - el.calendar.tooltips.innerHTML = _TT["SEL_DATE"]; - return stopEvent(ev); - } -}; - -/** - * A generic "click" handler :) handles all types of buttons defined in this - * calendar. - */ -Calendar.cellClick = function(el, ev) { - var cal = el.calendar; - var closing = false; - var newdate = false; - var date = null; - if (typeof el.navtype == "undefined") { - if (cal.currentDateEl) { - Calendar.removeClass(cal.currentDateEl, "selected"); - Calendar.addClass(el, "selected"); - closing = (cal.currentDateEl == el); - if (!closing) { - cal.currentDateEl = el; - } - } - cal.date.setDateOnly(el.caldate); - date = cal.date; - var other_month = !(cal.dateClicked = !el.otherMonth); - if (!other_month && !cal.currentDateEl) - cal._toggleMultipleDate(new Date(date)); - else - newdate = !el.disabled; - // a date was clicked - if (other_month) - cal._init(cal.firstDayOfWeek, date); - } else { - if (el.navtype == 200) { - Calendar.removeClass(el, "hilite"); - cal.callCloseHandler(); - return; - } - date = new Date(cal.date); - if (el.navtype == 0) - date.setDateOnly(new Date()); // TODAY - // unless "today" was clicked, we assume no date was clicked so - // the selected handler will know not to close the calenar when - // in single-click mode. - // cal.dateClicked = (el.navtype == 0); - cal.dateClicked = false; - var year = date.getFullYear(); - var mon = date.getMonth(); - function setMonth(m) { - var day = date.getDate(); - var max = date.getMonthDays(m); - if (day > max) { - date.setDate(max); - } - date.setMonth(m); - }; - switch (el.navtype) { - case 400: - Calendar.removeClass(el, "hilite"); - var text = Calendar._TT["ABOUT"]; - if (typeof text != "undefined") { - text += cal.showsTime ? Calendar._TT["ABOUT_TIME"] : ""; - } else { - // FIXME: this should be removed as soon as lang files get updated! - text = "Help and about box text is not translated into this language.\n" + - "If you know this language and you feel generous please update\n" + - "the corresponding file in \"lang\" subdir to match calendar-en.js\n" + - "and send it back to to get it into the distribution ;-)\n\n" + - "Thank you!\n" + - "http://dynarch.com/mishoo/calendar.epl\n"; - } - alert(text); - return; - case -2: - if (year > cal.minYear) { - date.setFullYear(year - 1); - } - break; - case -1: - if (mon > 0) { - setMonth(mon - 1); - } else if (year-- > cal.minYear) { - date.setFullYear(year); - setMonth(11); - } - break; - case 1: - if (mon < 11) { - setMonth(mon + 1); - } else if (year < cal.maxYear) { - date.setFullYear(year + 1); - setMonth(0); - } - break; - case 2: - if (year < cal.maxYear) { - date.setFullYear(year + 1); - } - break; - case 100: - cal.setFirstDayOfWeek(el.fdow); - return; - case 50: - var range = el._range; - var current = el.innerHTML; - for (var i = range.length; --i >= 0;) - if (range[i] == current) - break; - if (ev && ev.shiftKey) { - if (--i < 0) - i = range.length - 1; - } else if ( ++i >= range.length ) - i = 0; - var newval = range[i]; - el.innerHTML = newval; - cal.onUpdateTime(); - return; - case 0: - // TODAY will bring us here - if ((typeof cal.getDateStatus == "function") && - cal.getDateStatus(date, date.getFullYear(), date.getMonth(), date.getDate())) { - return false; - } - break; - } - if (!date.equalsTo(cal.date)) { - cal.setDate(date); - newdate = true; - } else if (el.navtype == 0) - newdate = closing = true; - } - if (newdate) { - ev && cal.callHandler(); - } - if (closing) { - Calendar.removeClass(el, "hilite"); - ev && cal.callCloseHandler(); - } -}; - -// END: CALENDAR STATIC FUNCTIONS - -// BEGIN: CALENDAR OBJECT FUNCTIONS - -/** - * This function creates the calendar inside the given parent. If _par is - * null than it creates a popup calendar inside the BODY element. If _par is - * an element, be it BODY, then it creates a non-popup calendar (still - * hidden). Some properties need to be set before calling this function. - */ -Calendar.prototype.create = function (_par) { - var parent = null; - if (! _par) { - // default parent is the document body, in which case we create - // a popup calendar. - parent = document.getElementsByTagName("body")[0]; - this.isPopup = true; - } else { - parent = _par; - this.isPopup = false; - } - this.date = this.dateStr ? new Date(this.dateStr) : new Date(); - - var table = Calendar.createElement("table"); - this.table = table; - table.cellSpacing = 0; - table.cellPadding = 0; - table.calendar = this; - Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown); - - var div = Calendar.createElement("div"); - this.element = div; - div.className = "calendar"; - if (this.isPopup) { - div.style.position = "absolute"; - div.style.display = "none"; - } - div.appendChild(table); - - var thead = Calendar.createElement("thead", table); - var cell = null; - var row = null; - - var cal = this; - var hh = function (text, cs, navtype) { - cell = Calendar.createElement("td", row); - cell.colSpan = cs; - cell.className = "button"; - if (navtype != 0 && Math.abs(navtype) <= 2) - cell.className += " nav"; - Calendar._add_evs(cell); - cell.calendar = cal; - cell.navtype = navtype; - cell.innerHTML = "
      " + text + "
      "; - return cell; - }; - - row = Calendar.createElement("tr", thead); - var title_length = 6; - (this.isPopup) && --title_length; - (this.weekNumbers) && ++title_length; - - hh("?", 1, 400).ttip = Calendar._TT["INFO"]; - this.title = hh("", title_length, 300); - this.title.className = "title"; - if (this.isPopup) { - this.title.ttip = Calendar._TT["DRAG_TO_MOVE"]; - this.title.style.cursor = "move"; - hh("×", 1, 200).ttip = Calendar._TT["CLOSE"]; - } - - row = Calendar.createElement("tr", thead); - row.className = "headrow"; - - this._nav_py = hh("«", 1, -2); - this._nav_py.ttip = Calendar._TT["PREV_YEAR"]; - - this._nav_pm = hh("‹", 1, -1); - this._nav_pm.ttip = Calendar._TT["PREV_MONTH"]; - - this._nav_now = hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, 0); - this._nav_now.ttip = Calendar._TT["GO_TODAY"]; - - this._nav_nm = hh("›", 1, 1); - this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"]; - - this._nav_ny = hh("»", 1, 2); - this._nav_ny.ttip = Calendar._TT["NEXT_YEAR"]; - - // day names - row = Calendar.createElement("tr", thead); - row.className = "daynames"; - if (this.weekNumbers) { - cell = Calendar.createElement("td", row); - cell.className = "name wn"; - cell.innerHTML = Calendar._TT["WK"]; - } - for (var i = 7; i > 0; --i) { - cell = Calendar.createElement("td", row); - if (!i) { - cell.navtype = 100; - cell.calendar = this; - Calendar._add_evs(cell); - } - } - this.firstdayname = (this.weekNumbers) ? row.firstChild.nextSibling : row.firstChild; - this._displayWeekdays(); - - var tbody = Calendar.createElement("tbody", table); - this.tbody = tbody; - - for (i = 6; i > 0; --i) { - row = Calendar.createElement("tr", tbody); - if (this.weekNumbers) { - cell = Calendar.createElement("td", row); - } - for (var j = 7; j > 0; --j) { - cell = Calendar.createElement("td", row); - cell.calendar = this; - Calendar._add_evs(cell); - } - } - - if (this.showsTime) { - row = Calendar.createElement("tr", tbody); - row.className = "time"; - - cell = Calendar.createElement("td", row); - cell.className = "time"; - cell.colSpan = 2; - cell.innerHTML = Calendar._TT["TIME"] || " "; - - cell = Calendar.createElement("td", row); - cell.className = "time"; - cell.colSpan = this.weekNumbers ? 4 : 3; - - (function(){ - function makeTimePart(className, init, range_start, range_end) { - var part = Calendar.createElement("span", cell); - part.className = className; - part.innerHTML = init; - part.calendar = cal; - part.ttip = Calendar._TT["TIME_PART"]; - part.navtype = 50; - part._range = []; - if (typeof range_start != "number") - part._range = range_start; - else { - for (var i = range_start; i <= range_end; ++i) { - var txt; - if (i < 10 && range_end >= 10) txt = '0' + i; - else txt = '' + i; - part._range[part._range.length] = txt; - } - } - Calendar._add_evs(part); - return part; - }; - var hrs = cal.date.getHours(); - var mins = cal.date.getMinutes(); - var t12 = !cal.time24; - var pm = (hrs > 12); - if (t12 && pm) hrs -= 12; - var H = makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23); - var span = Calendar.createElement("span", cell); - span.innerHTML = ":"; - span.className = "colon"; - var M = makeTimePart("minute", mins, 0, 59); - var AP = null; - cell = Calendar.createElement("td", row); - cell.className = "time"; - cell.colSpan = 2; - if (t12) - AP = makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]); - else - cell.innerHTML = " "; - - cal.onSetTime = function() { - var pm, hrs = this.date.getHours(), - mins = this.date.getMinutes(); - if (t12) { - pm = (hrs >= 12); - if (pm) hrs -= 12; - if (hrs == 0) hrs = 12; - AP.innerHTML = pm ? "pm" : "am"; - } - H.innerHTML = (hrs < 10) ? ("0" + hrs) : hrs; - M.innerHTML = (mins < 10) ? ("0" + mins) : mins; - }; - - cal.onUpdateTime = function() { - var date = this.date; - var h = parseInt(H.innerHTML, 10); - if (t12) { - if (/pm/i.test(AP.innerHTML) && h < 12) - h += 12; - else if (/am/i.test(AP.innerHTML) && h == 12) - h = 0; - } - var d = date.getDate(); - var m = date.getMonth(); - var y = date.getFullYear(); - date.setHours(h); - date.setMinutes(parseInt(M.innerHTML, 10)); - date.setFullYear(y); - date.setMonth(m); - date.setDate(d); - this.dateClicked = false; - this.callHandler(); - }; - })(); - } else { - this.onSetTime = this.onUpdateTime = function() {}; - } - - var tfoot = Calendar.createElement("tfoot", table); - - row = Calendar.createElement("tr", tfoot); - row.className = "footrow"; - - cell = hh(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7, 300); - cell.className = "ttip"; - if (this.isPopup) { - cell.ttip = Calendar._TT["DRAG_TO_MOVE"]; - cell.style.cursor = "move"; - } - this.tooltips = cell; - - div = Calendar.createElement("div", this.element); - this.monthsCombo = div; - div.className = "combo"; - for (i = 0; i < Calendar._MN.length; ++i) { - var mn = Calendar.createElement("div"); - mn.className = Calendar.is_ie ? "label-IEfix" : "label"; - mn.month = i; - mn.innerHTML = Calendar._SMN[i]; - div.appendChild(mn); - } - - div = Calendar.createElement("div", this.element); - this.yearsCombo = div; - div.className = "combo"; - for (i = 12; i > 0; --i) { - var yr = Calendar.createElement("div"); - yr.className = Calendar.is_ie ? "label-IEfix" : "label"; - div.appendChild(yr); - } - - this._init(this.firstDayOfWeek, this.date); - parent.appendChild(this.element); -}; - -/** keyboard navigation, only for popup calendars */ -Calendar._keyEvent = function(ev) { - var cal = window._dynarch_popupCalendar; - if (!cal || cal.multiple) - return false; - (Calendar.is_ie) && (ev = window.event); - var act = (Calendar.is_ie || ev.type == "keypress"), - K = ev.keyCode; - if (ev.ctrlKey) { - switch (K) { - case 37: // KEY left - act && Calendar.cellClick(cal._nav_pm); - break; - case 38: // KEY up - act && Calendar.cellClick(cal._nav_py); - break; - case 39: // KEY right - act && Calendar.cellClick(cal._nav_nm); - break; - case 40: // KEY down - act && Calendar.cellClick(cal._nav_ny); - break; - default: - return false; - } - } else switch (K) { - case 32: // KEY space (now) - Calendar.cellClick(cal._nav_now); - break; - case 27: // KEY esc - act && cal.callCloseHandler(); - break; - case 37: // KEY left - case 38: // KEY up - case 39: // KEY right - case 40: // KEY down - if (act) { - var prev, x, y, ne, el, step; - prev = K == 37 || K == 38; - step = (K == 37 || K == 39) ? 1 : 7; - function setVars() { - el = cal.currentDateEl; - var p = el.pos; - x = p & 15; - y = p >> 4; - ne = cal.ar_days[y][x]; - };setVars(); - function prevMonth() { - var date = new Date(cal.date); - date.setDate(date.getDate() - step); - cal.setDate(date); - }; - function nextMonth() { - var date = new Date(cal.date); - date.setDate(date.getDate() + step); - cal.setDate(date); - }; - while (1) { - switch (K) { - case 37: // KEY left - if (--x >= 0) - ne = cal.ar_days[y][x]; - else { - x = 6; - K = 38; - continue; - } - break; - case 38: // KEY up - if (--y >= 0) - ne = cal.ar_days[y][x]; - else { - prevMonth(); - setVars(); - } - break; - case 39: // KEY right - if (++x < 7) - ne = cal.ar_days[y][x]; - else { - x = 0; - K = 40; - continue; - } - break; - case 40: // KEY down - if (++y < cal.ar_days.length) - ne = cal.ar_days[y][x]; - else { - nextMonth(); - setVars(); - } - break; - } - break; - } - if (ne) { - if (!ne.disabled) - Calendar.cellClick(ne); - else if (prev) - prevMonth(); - else - nextMonth(); - } - } - break; - case 13: // KEY enter - if (act) - Calendar.cellClick(cal.currentDateEl, ev); - break; - default: - return false; - } - return Calendar.stopEvent(ev); -}; - -/** - * (RE)Initializes the calendar to the given date and firstDayOfWeek - */ -Calendar.prototype._init = function (firstDayOfWeek, date) { - var today = new Date(), - TY = today.getFullYear(), - TM = today.getMonth(), - TD = today.getDate(); - this.table.style.visibility = "hidden"; - var year = date.getFullYear(); - if (year < this.minYear) { - year = this.minYear; - date.setFullYear(year); - } else if (year > this.maxYear) { - year = this.maxYear; - date.setFullYear(year); - } - this.firstDayOfWeek = firstDayOfWeek; - this.date = new Date(date); - var month = date.getMonth(); - var mday = date.getDate(); - var no_days = date.getMonthDays(); - - // calendar voodoo for computing the first day that would actually be - // displayed in the calendar, even if it's from the previous month. - // WARNING: this is magic. ;-) - date.setDate(1); - var day1 = (date.getDay() - this.firstDayOfWeek) % 7; - if (day1 < 0) - day1 += 7; - date.setDate(-day1); - date.setDate(date.getDate() + 1); - - var row = this.tbody.firstChild; - var MN = Calendar._SMN[month]; - var ar_days = this.ar_days = new Array(); - var weekend = Calendar._TT["WEEKEND"]; - var dates = this.multiple ? (this.datesCells = {}) : null; - for (var i = 0; i < 6; ++i, row = row.nextSibling) { - var cell = row.firstChild; - if (this.weekNumbers) { - cell.className = "day wn"; - cell.innerHTML = date.getWeekNumber(); - cell = cell.nextSibling; - } - row.className = "daysrow"; - var hasdays = false, iday, dpos = ar_days[i] = []; - for (var j = 0; j < 7; ++j, cell = cell.nextSibling, date.setDate(iday + 1)) { - iday = date.getDate(); - var wday = date.getDay(); - cell.className = "day"; - cell.pos = i << 4 | j; - dpos[j] = cell; - var current_month = (date.getMonth() == month); - if (!current_month) { - if (this.showsOtherMonths) { - cell.className += " othermonth"; - cell.otherMonth = true; - } else { - cell.className = "emptycell"; - cell.innerHTML = " "; - cell.disabled = true; - continue; - } - } else { - cell.otherMonth = false; - hasdays = true; - } - cell.disabled = false; - cell.innerHTML = this.getDateText ? this.getDateText(date, iday) : iday; - if (dates) - dates[date.print("%Y%m%d")] = cell; - if (this.getDateStatus) { - var status = this.getDateStatus(date, year, month, iday); - if (this.getDateToolTip) { - var toolTip = this.getDateToolTip(date, year, month, iday); - if (toolTip) - cell.title = toolTip; - } - if (status === true) { - cell.className += " disabled"; - cell.disabled = true; - } else { - if (/disabled/i.test(status)) - cell.disabled = true; - cell.className += " " + status; - } - } - if (!cell.disabled) { - cell.caldate = new Date(date); - cell.ttip = "_"; - if (!this.multiple && current_month - && iday == mday && this.hiliteToday) { - cell.className += " selected"; - this.currentDateEl = cell; - } - if (date.getFullYear() == TY && - date.getMonth() == TM && - iday == TD) { - cell.className += " today"; - cell.ttip += Calendar._TT["PART_TODAY"]; - } - if (weekend.indexOf(wday.toString()) != -1) - cell.className += cell.otherMonth ? " oweekend" : " weekend"; - } - } - if (!(hasdays || this.showsOtherMonths)) - row.className = "emptyrow"; - } - this.title.innerHTML = Calendar._MN[month] + ", " + year; - this.onSetTime(); - this.table.style.visibility = "visible"; - this._initMultipleDates(); - // PROFILE - // this.tooltips.innerHTML = "Generated in " + ((new Date()) - today) + " ms"; -}; - -Calendar.prototype._initMultipleDates = function() { - if (this.multiple) { - for (var i in this.multiple) { - var cell = this.datesCells[i]; - var d = this.multiple[i]; - if (!d) - continue; - if (cell) - cell.className += " selected"; - } - } -}; - -Calendar.prototype._toggleMultipleDate = function(date) { - if (this.multiple) { - var ds = date.print("%Y%m%d"); - var cell = this.datesCells[ds]; - if (cell) { - var d = this.multiple[ds]; - if (!d) { - Calendar.addClass(cell, "selected"); - this.multiple[ds] = date; - } else { - Calendar.removeClass(cell, "selected"); - delete this.multiple[ds]; - } - } - } -}; - -Calendar.prototype.setDateToolTipHandler = function (unaryFunction) { - this.getDateToolTip = unaryFunction; -}; - -/** - * Calls _init function above for going to a certain date (but only if the - * date is different than the currently selected one). - */ -Calendar.prototype.setDate = function (date) { - if (!date.equalsTo(this.date)) { - this._init(this.firstDayOfWeek, date); - } -}; - -/** - * Refreshes the calendar. Useful if the "disabledHandler" function is - * dynamic, meaning that the list of disabled date can change at runtime. - * Just * call this function if you think that the list of disabled dates - * should * change. - */ -Calendar.prototype.refresh = function () { - this._init(this.firstDayOfWeek, this.date); -}; - -/** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for Monday, etc.). */ -Calendar.prototype.setFirstDayOfWeek = function (firstDayOfWeek) { - this._init(firstDayOfWeek, this.date); - this._displayWeekdays(); -}; - -/** - * Allows customization of what dates are enabled. The "unaryFunction" - * parameter must be a function object that receives the date (as a JS Date - * object) and returns a boolean value. If the returned value is true then - * the passed date will be marked as disabled. - */ -Calendar.prototype.setDateStatusHandler = Calendar.prototype.setDisabledHandler = function (unaryFunction) { - this.getDateStatus = unaryFunction; -}; - -/** Customization of allowed year range for the calendar. */ -Calendar.prototype.setRange = function (a, z) { - this.minYear = a; - this.maxYear = z; -}; - -/** Calls the first user handler (selectedHandler). */ -Calendar.prototype.callHandler = function () { - if (this.onSelected) { - this.onSelected(this, this.date.print(this.dateFormat)); - } -}; - -/** Calls the second user handler (closeHandler). */ -Calendar.prototype.callCloseHandler = function () { - if (this.onClose) { - this.onClose(this); - } - this.hideShowCovered(); -}; - -/** Removes the calendar object from the DOM tree and destroys it. */ -Calendar.prototype.destroy = function () { - var el = this.element.parentNode; - el.removeChild(this.element); - Calendar._C = null; - window._dynarch_popupCalendar = null; -}; - -/** - * Moves the calendar element to a different section in the DOM tree (changes - * its parent). - */ -Calendar.prototype.reparent = function (new_parent) { - var el = this.element; - el.parentNode.removeChild(el); - new_parent.appendChild(el); -}; - -// This gets called when the user presses a mouse button anywhere in the -// document, if the calendar is shown. If the click was outside the open -// calendar this function closes it. -Calendar._checkCalendar = function(ev) { - var calendar = window._dynarch_popupCalendar; - if (!calendar) { - return false; - } - var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev); - for (; el != null && el != calendar.element; el = el.parentNode); - if (el == null) { - // calls closeHandler which should hide the calendar. - window._dynarch_popupCalendar.callCloseHandler(); - return Calendar.stopEvent(ev); - } -}; - -/** Shows the calendar. */ -Calendar.prototype.show = function () { - var rows = this.table.getElementsByTagName("tr"); - for (var i = rows.length; i > 0;) { - var row = rows[--i]; - Calendar.removeClass(row, "rowhilite"); - var cells = row.getElementsByTagName("td"); - for (var j = cells.length; j > 0;) { - var cell = cells[--j]; - Calendar.removeClass(cell, "hilite"); - Calendar.removeClass(cell, "active"); - } - } - this.element.style.display = "block"; - this.hidden = false; - if (this.isPopup) { - window._dynarch_popupCalendar = this; - Calendar.addEvent(document, "keydown", Calendar._keyEvent); - Calendar.addEvent(document, "keypress", Calendar._keyEvent); - Calendar.addEvent(document, "mousedown", Calendar._checkCalendar); - } - this.hideShowCovered(); -}; - -/** - * Hides the calendar. Also removes any "hilite" from the class of any TD - * element. - */ -Calendar.prototype.hide = function () { - if (this.isPopup) { - Calendar.removeEvent(document, "keydown", Calendar._keyEvent); - Calendar.removeEvent(document, "keypress", Calendar._keyEvent); - Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar); - } - this.element.style.display = "none"; - this.hidden = true; - this.hideShowCovered(); -}; - -/** - * Shows the calendar at a given absolute position (beware that, depending on - * the calendar element style -- position property -- this might be relative - * to the parent's containing rectangle). - */ -Calendar.prototype.showAt = function (x, y) { - var s = this.element.style; - s.left = x + "px"; - s.top = y + "px"; - this.show(); -}; - -/** Shows the calendar near a given element. */ -Calendar.prototype.showAtElement = function (el, opts) { - var self = this; - var p = Calendar.getAbsolutePos(el); - if (!opts || typeof opts != "string") { - this.showAt(p.x, p.y + el.offsetHeight); - return true; - } - function fixPosition(box) { - if (box.x < 0) - box.x = 0; - if (box.y < 0) - box.y = 0; - var cp = document.createElement("div"); - var s = cp.style; - s.position = "absolute"; - s.right = s.bottom = s.width = s.height = "0px"; - document.body.appendChild(cp); - var br = Calendar.getAbsolutePos(cp); - document.body.removeChild(cp); - if (Calendar.is_ie) { - br.y += document.body.scrollTop; - br.x += document.body.scrollLeft; - } else { - br.y += window.scrollY; - br.x += window.scrollX; - } - var tmp = box.x + box.width - br.x; - if (tmp > 0) box.x -= tmp; - tmp = box.y + box.height - br.y; - if (tmp > 0) box.y -= tmp; - }; - this.element.style.display = "block"; - Calendar.continuation_for_the_fucking_khtml_browser = function() { - var w = self.element.offsetWidth; - var h = self.element.offsetHeight; - self.element.style.display = "none"; - var valign = opts.substr(0, 1); - var halign = "l"; - if (opts.length > 1) { - halign = opts.substr(1, 1); - } - // vertical alignment - switch (valign) { - case "T": p.y -= h; break; - case "B": p.y += el.offsetHeight; break; - case "C": p.y += (el.offsetHeight - h) / 2; break; - case "t": p.y += el.offsetHeight - h; break; - case "b": break; // already there - } - // horizontal alignment - switch (halign) { - case "L": p.x -= w; break; - case "R": p.x += el.offsetWidth; break; - case "C": p.x += (el.offsetWidth - w) / 2; break; - case "l": p.x += el.offsetWidth - w; break; - case "r": break; // already there - } - p.width = w; - p.height = h + 40; - self.monthsCombo.style.display = "none"; - fixPosition(p); - self.showAt(p.x, p.y); - }; - if (Calendar.is_khtml) - setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", 10); - else - Calendar.continuation_for_the_fucking_khtml_browser(); -}; - -/** Customizes the date format. */ -Calendar.prototype.setDateFormat = function (str) { - this.dateFormat = str; -}; - -/** Customizes the tooltip date format. */ -Calendar.prototype.setTtDateFormat = function (str) { - this.ttDateFormat = str; -}; - -/** - * Tries to identify the date represented in a string. If successful it also - * calls this.setDate which moves the calendar to the given date. - */ -Calendar.prototype.parseDate = function(str, fmt) { - if (!fmt) - fmt = this.dateFormat; - this.setDate(Date.parseDate(str, fmt)); -}; - -Calendar.prototype.hideShowCovered = function () { - if (!Calendar.is_ie && !Calendar.is_opera) - return; - function getVisib(obj){ - var value = obj.style.visibility; - if (!value) { - if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C - if (!Calendar.is_khtml) - value = document.defaultView. - getComputedStyle(obj, "").getPropertyValue("visibility"); - else - value = ''; - } else if (obj.currentStyle) { // IE - value = obj.currentStyle.visibility; - } else - value = ''; - } - return value; - }; - - var tags = new Array("applet", "iframe", "select"); - var el = this.element; - - var p = Calendar.getAbsolutePos(el); - var EX1 = p.x; - var EX2 = el.offsetWidth + EX1; - var EY1 = p.y; - var EY2 = el.offsetHeight + EY1; - - for (var k = tags.length; k > 0; ) { - var ar = document.getElementsByTagName(tags[--k]); - var cc = null; - - for (var i = ar.length; i > 0;) { - cc = ar[--i]; - - p = Calendar.getAbsolutePos(cc); - var CX1 = p.x; - var CX2 = cc.offsetWidth + CX1; - var CY1 = p.y; - var CY2 = cc.offsetHeight + CY1; - - if (this.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) { - if (!cc.__msh_save_visibility) { - cc.__msh_save_visibility = getVisib(cc); - } - cc.style.visibility = cc.__msh_save_visibility; - } else { - if (!cc.__msh_save_visibility) { - cc.__msh_save_visibility = getVisib(cc); - } - cc.style.visibility = "hidden"; - } - } - } -}; - -/** Internal function; it displays the bar with the names of the weekday. */ -Calendar.prototype._displayWeekdays = function () { - var fdow = this.firstDayOfWeek; - var cell = this.firstdayname; - var weekend = Calendar._TT["WEEKEND"]; - for (var i = 0; i < 7; ++i) { - cell.className = "day name"; - var realday = (i + fdow) % 7; - if (i) { - cell.ttip = Calendar._TT["DAY_FIRST"].replace("%s", Calendar._DN[realday]); - cell.navtype = 100; - cell.calendar = this; - cell.fdow = realday; - Calendar._add_evs(cell); - } - if (weekend.indexOf(realday.toString()) != -1) { - Calendar.addClass(cell, "weekend"); - } - cell.innerHTML = Calendar._SDN[(i + fdow) % 7]; - cell = cell.nextSibling; - } -}; - -/** Internal function. Hides all combo boxes that might be displayed. */ -Calendar.prototype._hideCombos = function () { - this.monthsCombo.style.display = "none"; - this.yearsCombo.style.display = "none"; -}; - -/** Internal function. Starts dragging the element. */ -Calendar.prototype._dragStart = function (ev) { - if (this.dragging) { - return; - } - this.dragging = true; - var posX; - var posY; - if (Calendar.is_ie) { - posY = window.event.clientY + document.body.scrollTop; - posX = window.event.clientX + document.body.scrollLeft; - } else { - posY = ev.clientY + window.scrollY; - posX = ev.clientX + window.scrollX; - } - var st = this.element.style; - this.xOffs = posX - parseInt(st.left); - this.yOffs = posY - parseInt(st.top); - with (Calendar) { - addEvent(document, "mousemove", calDragIt); - addEvent(document, "mouseup", calDragEnd); - } -}; - -// BEGIN: DATE OBJECT PATCHES - -/** Adds the number of days array to the Date object. */ -Date._MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31); - -/** Constants used for time computations */ -Date.SECOND = 1000 /* milliseconds */; -Date.MINUTE = 60 * Date.SECOND; -Date.HOUR = 60 * Date.MINUTE; -Date.DAY = 24 * Date.HOUR; -Date.WEEK = 7 * Date.DAY; - -Date.parseDate = function(str, fmt) { - var today = new Date(); - var y = 0; - var m = -1; - var d = 0; - var a = str.split(/\W+/); - var b = fmt.match(/%./g); - var i = 0, j = 0; - var hr = 0; - var min = 0; - for (i = 0; i < a.length; ++i) { - if (!a[i]) - continue; - switch (b[i]) { - case "%d": - case "%e": - d = parseInt(a[i], 10); - break; - - case "%m": - m = parseInt(a[i], 10) - 1; - break; - - case "%Y": - case "%y": - y = parseInt(a[i], 10); - (y < 100) && (y += (y > 29) ? 1900 : 2000); - break; - - case "%b": - case "%B": - for (j = 0; j < 12; ++j) { - if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; } - } - break; - - case "%H": - case "%I": - case "%k": - case "%l": - hr = parseInt(a[i], 10); - break; - - case "%P": - case "%p": - if (/pm/i.test(a[i]) && hr < 12) - hr += 12; - else if (/am/i.test(a[i]) && hr >= 12) - hr -= 12; - break; - - case "%M": - min = parseInt(a[i], 10); - break; - } - } - if (isNaN(y)) y = today.getFullYear(); - if (isNaN(m)) m = today.getMonth(); - if (isNaN(d)) d = today.getDate(); - if (isNaN(hr)) hr = today.getHours(); - if (isNaN(min)) min = today.getMinutes(); - if (y != 0 && m != -1 && d != 0) - return new Date(y, m, d, hr, min, 0); - y = 0; m = -1; d = 0; - for (i = 0; i < a.length; ++i) { - if (a[i].search(/[a-zA-Z]+/) != -1) { - var t = -1; - for (j = 0; j < 12; ++j) { - if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; } - } - if (t != -1) { - if (m != -1) { - d = m+1; - } - m = t; - } - } else if (parseInt(a[i], 10) <= 12 && m == -1) { - m = a[i]-1; - } else if (parseInt(a[i], 10) > 31 && y == 0) { - y = parseInt(a[i], 10); - (y < 100) && (y += (y > 29) ? 1900 : 2000); - } else if (d == 0) { - d = a[i]; - } - } - if (y == 0) - y = today.getFullYear(); - if (m != -1 && d != 0) - return new Date(y, m, d, hr, min, 0); - return today; -}; - -/** Returns the number of days in the current month */ -Date.prototype.getMonthDays = function(month) { - var year = this.getFullYear(); - if (typeof month == "undefined") { - month = this.getMonth(); - } - if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) { - return 29; - } else { - return Date._MD[month]; - } -}; - -/** Returns the number of day in the year. */ -Date.prototype.getDayOfYear = function() { - var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); - var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0); - var time = now - then; - return Math.floor(time / Date.DAY); -}; - -/** Returns the number of the week in year, as defined in ISO 8601. */ -Date.prototype.getWeekNumber = function() { - var d = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); - var DoW = d.getDay(); - d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu - var ms = d.valueOf(); // GMT - d.setMonth(0); - d.setDate(4); // Thu in Week 1 - return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1; -}; - -/** Checks date and time equality */ -Date.prototype.equalsTo = function(date) { - return ((this.getFullYear() == date.getFullYear()) && - (this.getMonth() == date.getMonth()) && - (this.getDate() == date.getDate()) && - (this.getHours() == date.getHours()) && - (this.getMinutes() == date.getMinutes())); -}; - -/** Set only the year, month, date parts (keep existing time) */ -Date.prototype.setDateOnly = function(date) { - var tmp = new Date(date); - this.setDate(1); - this.setFullYear(tmp.getFullYear()); - this.setMonth(tmp.getMonth()); - this.setDate(tmp.getDate()); -}; - -/** Prints the date in a string according to the given format. */ -Date.prototype.print = function (str) { - var m = this.getMonth(); - var d = this.getDate(); - var y = this.getFullYear(); - var wn = this.getWeekNumber(); - var w = this.getDay(); - var s = {}; - var hr = this.getHours(); - var pm = (hr >= 12); - var ir = (pm) ? (hr - 12) : hr; - var dy = this.getDayOfYear(); - if (ir == 0) - ir = 12; - var min = this.getMinutes(); - var sec = this.getSeconds(); - s["%a"] = Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N] - s["%A"] = Calendar._DN[w]; // full weekday name - s["%b"] = Calendar._SMN[m]; // abbreviated month name [FIXME: I18N] - s["%B"] = Calendar._MN[m]; // full month name - // FIXME: %c : preferred date and time representation for the current locale - s["%C"] = 1 + Math.floor(y / 100); // the century number - s["%d"] = (d < 10) ? ("0" + d) : d; // the day of the month (range 01 to 31) - s["%e"] = d; // the day of the month (range 1 to 31) - // FIXME: %D : american date style: %m/%d/%y - // FIXME: %E, %F, %G, %g, %h (man strftime) - s["%H"] = (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h format) - s["%I"] = (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h format) - s["%j"] = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; // day of the year (range 001 to 366) - s["%k"] = hr; // hour, range 0 to 23 (24h format) - s["%l"] = ir; // hour, range 1 to 12 (12h format) - s["%m"] = (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12 - s["%M"] = (min < 10) ? ("0" + min) : min; // minute, range 00 to 59 - s["%n"] = "\n"; // a newline character - s["%p"] = pm ? "PM" : "AM"; - s["%P"] = pm ? "pm" : "am"; - // FIXME: %r : the time in am/pm notation %I:%M:%S %p - // FIXME: %R : the time in 24-hour notation %H:%M - s["%s"] = Math.floor(this.getTime() / 1000); - s["%S"] = (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59 - s["%t"] = "\t"; // a tab character - // FIXME: %T : the time in 24-hour notation (%H:%M:%S) - s["%U"] = s["%W"] = s["%V"] = (wn < 10) ? ("0" + wn) : wn; - s["%u"] = w + 1; // the day of the week (range 1 to 7, 1 = MON) - s["%w"] = w; // the day of the week (range 0 to 6, 0 = SUN) - // FIXME: %x : preferred date representation for the current locale without the time - // FIXME: %X : preferred time representation for the current locale without the date - s["%y"] = ('' + y).substr(2, 2); // year without the century (range 00 to 99) - s["%Y"] = y; // year with the century - s["%%"] = "%"; // a literal '%' character - - var re = /%./g; - if (!Calendar.is_ie5 && !Calendar.is_khtml) - return str.replace(re, function (par) { return s[par] || par; }); - - var a = str.match(re); - for (var i = 0; i < a.length; i++) { - var tmp = s[a[i]]; - if (tmp) { - re = new RegExp(a[i], 'g'); - str = str.replace(re, tmp); - } - } - - return str; -}; - - if ( Date.prototype.__msh_oldSetFullYear == null ) - { - Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear; - } -//Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear; -Date.prototype.setFullYear = function(y) { - var d = new Date(this); - d.__msh_oldSetFullYear(y); - if (d.getMonth() != this.getMonth()) - this.setDate(28); - this.__msh_oldSetFullYear(y); -}; - -// END: DATE OBJECT PATCHES - - -// global object that remembers the calendar -window._dynarch_popupCalendar = null; diff --git a/sources/html/js/card.js b/sources/html/js/card.js deleted file mode 100644 index bc35323..0000000 --- a/sources/html/js/card.js +++ /dev/null @@ -1,910 +0,0 @@ -/* - * This file is part of NOALYSS. - * - * NOALYSS is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * NOALYSS is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with NOALYSS; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -/* $Revision$ */ - -// Copyright Author Dany De Bontridder danydb@aevalys.eu - -/*! \file - * \brief javascript for searching a card - */ - -var card_layer=1; -/** - *@brief search a card an display the result into a inner box - */ -function boxsearch_card(p_dossier) -{ - try - { - waiting_box(); - removeDiv('boxsearch_card_div'); - var queryString="gDossier="+p_dossier+"&op=cardsearch"+"&card="+$(card_search).value; - var action = new Ajax.Request( - "ajax_misc.php" , - { - method:'get', parameters:queryString, - onFailure:ajax_misc_failure, - onSuccess:function(req){ - remove_waiting_box(); - var y=posY+15; - var div_style="left:10%;width:80%;"+";top:"+y+"px"; - add_div({id:'boxsearch_card_div',cssclass:'inner_box',html:loading(),style:div_style,drag:true}); - $('boxsearch_card_div').innerHTML=req.responseText; - sorttable.makeSortable($('tb_fiche')); - } - } - ); - }catch( e) - { - alert_box(e.getMessage); - } -} -/** - *@brief show the ipopup with the form to search a card - * the properties - * - jrn for the ledger - * - fs for the action - * - price for the price of the card (field to update) - * - tvaid for the tvaid of the card (field to update) - * - inp input text to update with the quickcode - * - label field to update with the name - * - ctl the id to fill with the HTML answer (ending with _content) - */ -function search_card(obj) -{ - try - { - var gDossier=$('gDossier').value; - var inp=obj.inp; - var string_to_search=$(inp).value; - var label=obj.label; - var typecard=obj.typecard; - var price=obj.price; - var tvaid=obj.tvaid; - var jrn=obj.jrn; - if ( jrn==undefined) - { - if ( g('p_jrn')) { - jrn=$('p_jrn').value; - } - else { - jrn=-1; - } - } - var query=encodeJSON({'gDossier':gDossier, - 'inp':inp,'label':label,'price':price,'tvaid':tvaid, - 'ctl':'search_card','op':'fs','jrn':jrn, - 'typecard':typecard,'query':string_to_search - }); - if ( $('search_card') ) { - removeDiv('search_card'); - } - - - waiting_box(); - - - var action=new Ajax.Request ( 'ajax_card.php', - { - method:'get', - parameters:query, - onFailure:errorFid, - onSuccess:result_card_search - } - ); - } - catch(e) - { - alert_box('search_card failed'+e.message); - } -} -/** - *@brief Display form for select card to add to action : other_concerned - *action_add_concerned_card - */ -function action_add_concerned_card(obj) -{ - try - { - var dossier = 0; - var inp=""; - var ag_id=0; - - if (obj.dossier) { - dossier = obj.dossier; /* From the button */ - } - if (obj.ag_id) { - ag_id=obj.ag_id; - } - /* from the form */ - if (obj.elements) { - if (obj.elements['gDossier']) - { - dossier = obj.elements['gDossier'].value; - } - - if (obj.elements['query']) { - inp = obj.elements['query'].value; - } - - if (obj.elements['ag_id']) { - ag_id = obj.elements['ag_id'].value; - } - } - if (dossier == 0) { - throw "obj.dossier not found"; - } - if (ag_id == 0) { - throw "obj.ag_id not found"; - } - var query = encodeJSON({ - 'gDossier': dossier, - 'op': 'action_add_concerned_card', - 'query' : inp, - 'ctl' : 'unused', - 'ag_id' : ag_id - }); - - waiting_box(); - - - var action = new Ajax.Request('ajax_card.php', - { - method: 'get', - parameters: query, - onFailure: errorFid, - onSuccess: function (req, txt) - { - try { - remove_waiting_box(); - var answer = req.responseXML; - var a = answer.getElementsByTagName('ctl'); - if (a.length == 0) - { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - var html = answer.getElementsByTagName('code'); - var namectl = a[0].firstChild.nodeValue; - var nodeXml = html[0]; - var code_html = getNodeText(nodeXml); - code_html = unescape_xml(code_html); - - var sx = 0; - if (window.scrollY) - { - sx = window.scrollY + 40; - } - else - { - sx = document.body.scrollTop + 60; - } - var div_style = "top:" + sx + "px;height:80%"; - if ( ! $('search_card')) { add_div({id: 'search_card', cssclass: 'inner_box', html: "", style: div_style, drag: true}); } - $('search_card').innerHTML = code_html; - $('query').focus(); - }catch (e) { - alert_box(e.message); - } - } - } - ); - } - catch (e) - { - alert_box('search_card failed' + e.message); - return false; - } - return false; -} - -/** - *@brief when you submit the form for searching a card - *@param obj form - *@note the same as search_card, except it answer to a FORM and not - * to a click event - */ -function search_get_card(obj) -{ - var dossier=$('gDossier').value; - - var queryString="gDossier="+dossier; - queryString+="&op=fs"; - - if ( obj.elements['inp'] ) - { - queryString+="&inp="+$F('inp'); - } - if ( obj.elements['typecard'] ) - { - queryString+="&typecard="+$F('typecard'); - } - if ( obj.elements['jrn'] ) - { - queryString+="&jrn="+$F('jrn'); - } - if ( obj.elements['label']) - { - queryString+="&label="+$F('label'); - } - if ( obj.elements['price']) - { - queryString+="&price="+$F('price'); - } - if ( obj.elements['tvaid']) - { - queryString+="&tvaid="+$F('tvaid'); - } - if( obj.elements['query']) - { - queryString+="&query="+$F('query'); - } - if (obj.ctl ) - { - queryString+="&ctl="+obj.ctl; - } - $('asearch').innerHTML=loading(); - var action=new Ajax.Request ( 'ajax_card.php', - { - method:'get', - parameters:queryString, - onFailure:errorFid, - onSuccess:result_card_search - } - ); -} -/** - *@brief show the answer of ajax request - *@param answer in XML - */ -function result_card_search(req) -{ - try - { - - remove_waiting_box(); - var answer=req.responseXML; - var a=answer.getElementsByTagName('ctl'); - if ( a.length == 0 ) - { - var rec=req.responseText; - alert_box ('erreur :'+rec); - } - var html=answer.getElementsByTagName('code'); - - var name_ctl=a[0].firstChild.nodeValue; - var nodeXml=html[0]; - var code_html=getNodeText(nodeXml); - code_html=unescape_xml(code_html); - - var sx=0; - if ( window.scrollY) - { - sx=window.scrollY+40; - } - else - { - sx=document.body.scrollTop+60; - } - - var div_style="top:"+sx+"px;height:80%"; - add_div({id:'search_card',cssclass:'inner_box',html:"",style:div_style,drag:true,effect:'blinddown'}); - - $('search_card').innerHTML=code_html; - - if ($('query')) { $('query').focus();} - } - catch (e) - { - alert_box(e.message); - } - try - { - code_html.evalScripts(); - } - catch(e) - { - alert_box("Impossible executer script de la reponse\n"+e.message); - } - -} - - - -/*!\brief Set the value of 2 input fields -* -* Set the quick code in the first ctrl and the label of the quickcode in the second one. This function is a variant of SetData for -* some specific need. This function is called if the caller is searchcardCtrl -* -*\param p_ctrl the input with the name of the quick code -*\param p_quickcode the found quick_code -*\param p_ctrlname the name of the input field with the label -*\param p_label the label of the quickcode -*/ -function setCtrl(p_ctrl,p_quickcode,p_ctrlname,p_label) -{ - var ctrl=g(p_ctrl); - if ( ctrl ) - { - ctrl.value=p_quickcode; - } - var ctrl_name=g(p_ctrlname); - if ( ctrl_name ) - { - ctrl_name.value=p_label; - } -} - - - -/*!\brief clean the row (the label, price and vat) - * \param p_ctl the calling ctrl - */ -function clean_Fid(p_ctl) -{ - nSell=p_ctl+"_price"; - nBuy=p_ctl+"_price"; - nTva_id=p_ctl+"_tva_id"; - if ( $(nSell) ) - { - $(nSell).value=""; - } - if ( $(nBuy) ) - { - $(nBuy).value=""; - } - if ( $(nTva_id) ) - { - $(nTva_id).value="-1"; - } - -} -function errorFid(request,json) -{ - alert_box('erreur : ajax fiche'); -} -function update_value(text,li) -{ - ajaxFid(text); -} -/** - *@brief is called when something change in ICard - *@param the input field - *@see ICard - */ -function fill_data_onchange(ctl) -{ - ajaxFid(ctl); - -} -/** - *@brief is called when something change in ICard - *@param the input field - *@see ICard - */ -function fill_data(text,li) -{ - ajaxFid(text); - -} -/** - *@brief is called when something change in ICard - *@param the input field - *@see ICard - */ -function fill_fin_data_onchange(ctl) -{ - ajaxFid(ctl); - ajax_saldo(ctl.id); -} -/** - *@brief is called when something change in ICard - *@param the input field - *@see ICard - */ -function fill_fin_data(text,li) -{ - ajaxFid(text); - ajax_saldo($(text.id)); -} -/** - *@brief show the ipopup window and display the details of a card, - * to work some attribute must be set - *@parameter obj.qcode is the qcode, obj.nohistory if you don't want to display - * the history button, obj.ro is the popin is readonly - *@note you must the gDossier as hidden in the calling page - * - *@see ajax_card.php - */ -function fill_ipopcard(obj) -{ - - card_layer++; - - var content='card_'+card_layer; - var nTop=170+card_layer; - if ( nTop > 300 ) { - nTop=170; - } - str_top=fixed_position(250,nTop) - var str_style=str_top+";width:45em;height:auto;position:absolute"; - - var popup={'id': content,'cssclass':'inner_box','style':str_style,'html':loading(),'drag':true}; - - add_div(popup); - var dossier=$('gDossier').value; - var qcode=''; - if ( $(obj).qcode != undefined ) - { - qcode=obj.qcode; - } - else - { - qcode=$(obj).value; - } - // ctl=$(obj).id; - - var queryString='gDossier='+dossier; - queryString+='&qcode='+qcode; - queryString+='&ctl='+content; - queryString+='&op=dc'; // dc for detail card - if ( obj.readonly != undefined) { - queryString+='&ro'; - } - - if ( obj.nohistory != undefined) { - queryString+='&nohistory'; - } - - var action=new Ajax.Request ( 'ajax_card.php', - { - method:'get', - parameters:queryString, - onFailure:errorFid, - onSuccess:fill_box - } - ); -} -/** - *@brief - * \param request : object request - * \param json : json answer -\code -\endcode -*/ -function successFill_ipopcard(req,json) -{ - try - { - var answer=req.responseXML; - var a=answer.getElementsByTagName('ctl'); - var html=answer.getElementsByTagName('code'); - - if ( a.length == 0 ) - { - var rec=req.responseText; - alert_box ('erreur :'+rec); - } - var name_ctl=a[0].firstChild.nodeValue; - var code_html=getNodeText(html[0]); - code_html=unescape_xml(code_html); - - $(name_ctl).innerHTML=code_html; - } - catch (e) - { - alert_box(e.message); - } - try - { - code_html.evalScripts(); - } - catch(e) - { - alert_box("Impossible executer script de la reponse\n"+e.message); - } -} -/** - *@brief show the ipopup for selecting a card type, it is a needed step before adding - * a card - *@param input field (obj) it must have the attribute ipopup - * possible attribute : - * - filter is the filter but with a fd_id list, -1 means there is no filter - * - ref if we want to refresh the window after adding a card - * - type type of card (supplier, customer...) - *@see ajax_card.php - */ -function select_card_type(obj) -{ - - var dossier=$('gDossier').value; - - // give a filter, -1 if not - var filter=$(obj).filter; - if ( filter==undefined) - { - filter=-1; - } - var content="select_card_div"; - if ( $(content)){removeDiv(content);} - var sx=0; - if ( window.scrollY) - { - sx=window.scrollY+160; - } - else - { - sx=document.body.scrollTop+160; - } - - var str_style="top:"+sx+"px;height:auto"; - waiting_box(); - var popup={'id': content,'cssclass':'inner_box','style':str_style,'html':"",'drag':true}; - - add_div(popup); - - var queryString='gDossier='+dossier; - queryString+='&ctl='+content; - queryString+='&op=st'; // st for selecting type - if ( $(obj).win_refresh!=undefined) - { - queryString+='&ref'; - } - queryString+='&fil='+filter; - // filter on the ledger, -1 if not - var oledger=$(obj).jrn; - if (oledger==undefined) - { - ledger=-1; - } - else - { - ledger=$(obj).jrn; - } - - queryString+='&ledger='+ledger; - - if ( obj.type_cat) - { - queryString+='&cat='+obj.type_cat; - } - - var action=new Ajax.Request ( 'ajax_card.php', - { - method:'get', - parameters:queryString, - onFailure:errorFid, - onSuccess:function(req) { - - fill_box(req); - $('lk_cat_card_table').focus(); - } - } - ); -} -/** - *@brief Show a blank card - *@param Form object (obj) - * possible attribute : - * - filter is the filter but with a fd_id list, -1 means there is no filter - * - ref : reload the window after adding card - * - content : name of the div - *@example dis_blank_card({gDossier:15,fd_id:12,ref:1}); - *@see ajax_card.php - */ -function dis_blank_card(obj) -{ - // first we have to take the form elt we need - if ( obj.fd_id.value != undefined ) - { var fd_id=$F('fd_id'); } - else {fd_id=obj.fd_id;} - - var ref=""; - if ( obj.elements && obj.elements['ref'] ) - { - ref='&ref'; - } - var content='div_new_card'; - var nTop=calcy(150); - var nLeft=posX; - var str_style="top:"+nTop+"px;right:"+nLeft+"px;height:auto"; - - var popup={'id': content,'cssclass':'inner_box','style':str_style,'html':loading(),'drag':true}; - if ( $(content)) {removeDiv(content);} - add_div(popup); - - if ( obj.gDossier.value != undefined ) { - var dossier=$('gDossier').value;} else { - var dossier=obj.gDossier; - } - - var queryString='gDossier='+dossier; - queryString+='&ctl='+content; - queryString+='&fd_id='+fd_id; - queryString+=ref; - queryString+='&op=bc'; // bc for blank card - - var action=new Ajax.Request ( 'ajax_card.php', - { - method:'get', - parameters:queryString, - onFailure:errorFid, - onSuccess:successFill_ipopcard - } - ); -} -function form_blank_card(obj) -{ - // first we have to take the form elt we need - var fd_id=obj.fd_id; - var content='div_new_card'; - var nTop=posY-40; - var nLeft=posX-20; - var str_style="top:"+nTop+"px;left:"+nLeft+"px;width:60em;height:auto"; - - var popup={'id': content,'cssclass':'inner_box','style':str_style,'html':loading(),'drag':true}; - if ( $(content)) {removeDiv(content);} - add_div(popup); - - - var dossier=$('gDossier').value; - - var queryString='gDossier='+dossier; - queryString+='&ctl='+content; - queryString+='&fd_id='+fd_id; - queryString+='&op=bc'; // bc for blank card - - var action=new Ajax.Request ( 'ajax_card.php', - { - method:'get', - parameters:queryString, - onFailure:errorFid, - onSuccess:successFill_ipopcard - } - ); -} - -/** - *@brief save the data contained into the form 'save_card' - *@param input field (obj) it must have the attribute ipopup - * possible attribute : - *@see ajax_card.php - */ -function save_card(obj) -{ - var content=$(obj).ipopup; - // Data must be taken here - data=$('save_card').serialize(false); - $(content).innerHTML=loading(); - - var dossier=$('gDossier').value; - var queryString='gDossier='+dossier; - queryString+='&ctl='+content; - queryString+=data; - queryString+='&op=sc'; // sc for save card - - var action=new Ajax.Request ( 'ajax_card.php', - { - method:'post', - parameters:queryString, - onFailure:errorFid, - onSuccess:fill_box - } - ); -} -/** - *@brief add a category of card, - *@param obj with the attribute - * - ipopup the ipopup to show - * - type_cat the category of card we want to add - */ -function add_category(obj) -{ - var sx=0; - if ( window.scrollY) - { - sx=window.scrollY+120; - } - else - { - sx=document.body.scrollTop+120; - } - - var div_style="top:"+sx+"px;width:60%;height:80%"; - // show ipopup - var div={id:obj.ipopup, - cssclass:"inner_box",drag:1,style:div_style}; - if ( $(div) ) { - removeDiv(div); - } - add_div(div); - waiting_box(); - var dossier=$('gDossier').value; - var queryString='gDossier='+dossier; - queryString+='&op=ac'; - queryString+='&ctl='+obj.ipopup; - if ( obj.type_cat) - { - queryString+='&cat='+obj.type_cat; - } - var action=new Ajax.Request ( 'ajax_card.php', - { - method:'get', - parameters:queryString, - onFailure:errorFid, - onSuccess:fill_box - } - ); - -} -/** - * @brief save the form and add a new category of card - * @param obj if the form object - */ -function save_card_category(obj) -{ - if ( ! $(obj).ipopup) - { - alert_box('Erreur pas d\' attribut ipopup '+obj.id); - return; - }; - try { - // Data must be taken here - - data=$('newcat').serialize(false); - var dossier=$('gDossier').value; - queryString='ctl='+obj.ipopup+'&'; - queryString+=data; - queryString+='&op=scc'; // sc for save card - - var action=new Ajax.Request ( 'ajax_card.php', - { - method:'get', - parameters:queryString, - onFailure:errorFid, - onSuccess:fill_box - } - ); - } catch(e) - { - alert_box(e.message); - return false; - } - return false; -} -/** - *@brief Remove a definition of an attribut - *@param attr_def.ad_id - *@param gDossier - *@param table_id to rm the row - *@param special this pointer of the row - */ - -function removeCardAttribut(ad_id,gDossier,table_id,row) -{ - var queryString='gDossier='+gDossier; - queryString+='&op=rmfa'; - queryString+='&ctl=debug'; // debug id - queryString+='&ad_id='+ad_id; - var action=new Ajax.Request ( 'ajax_card.php', - { - method:'get', - parameters:queryString, - onFailure:null, - onSuccess:null - } - ); - deleteRowRec(table_id,row); - - -} -/** -* update a card in ajax -*/ -function update_card(obj) -{ -try { - var name=obj.id; - var qs=Form.serialize(name)+'&op=upc'; - var action=new Ajax.Request ( 'ajax_card.php', - { - method:'get', - parameters:qs, - onFailure:errorFid, - onSuccess:successFill_ipopcard - } - ); - } catch (e) { - alert_box(e.message); - return false; - } -} -/*** - * In Follow-up, update, it is possible to add several card as concerned person or company - * this function save it into the database, display the result and remove the search_card div - * @param {type} p_dossier dossier - * @param {type} p_fiche_id fiche.f_id - * @param {type} p_action_id action_gestion.ag_id - * @returns {undefined} nothing - */ -function action_save_concerned(p_dossier, p_fiche_id, p_action_id) { - var query = encodeJSON({'gDossier': p_dossier, 'f_id': p_fiche_id, 'ag_id': p_action_id,'op':'action_save_concerned','ctl':'unused'}); - var a=new Ajax.Request('ajax_card.php', - { - method: 'get', - parameters: query, - onFailure: errorFid, - onSuccess: function (req, txt) - { - try { - remove_waiting_box(); - var answer = req.responseXML; - var a = answer.getElementsByTagName('ctl'); - if (a.length == 0) - { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - var html = answer.getElementsByTagName('code'); - var namectl = a[0].firstChild.nodeValue; - var nodeXml=html[0]; - var code_html = getNodeText(nodeXml); - code_html = unescape_xml(code_html); - removeDiv('search_card'); - $('concerned_card_td').innerHTML = code_html; - } catch (e) { - - } - } - } - ); - } -function action_remove_concerned(p_dossier,p_fiche_id,p_action_id) -{ - var query = encodeJSON({'gDossier': p_dossier, 'f_id': p_fiche_id, 'ag_id': p_action_id,'op':'action_remove_concerned','ctl':'unused'}); - var a=new Ajax.Request('ajax_card.php', - { - method: 'get', - parameters: query, - onFailure: errorFid, - onSuccess: function (req, txt) - { - try { - remove_waiting_box(); - var answer = req.responseXML; - var a = answer.getElementsByTagName('ctl'); - if (a.length == 0) - { - var rec = req.responseText; - alert_box('erreur :' + rec); - } - var html = answer.getElementsByTagName('code'); - var namectl = a[0].firstChild.nodeValue; - var nodeXml=html[0]; - var code_html = getNodeText(nodeXml); - code_html = unescape_xml(code_html); - removeDiv('search_card'); - $('concerned_card_td').innerHTML = code_html; - } catch (e) { - if ( console) { console.log('Erreur ') + e.message;} - } - } - } - ); - } - \ No newline at end of file diff --git a/sources/html/js/compute.js b/sources/html/js/compute.js deleted file mode 100644 index 430d252..0000000 --- a/sources/html/js/compute.js +++ /dev/null @@ -1,99 +0,0 @@ -/* - * This file is part of NOALYSS. - * - * NOALYSS is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * NOALYSS is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with NOALYSS; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -/*!\file - *\brief common function for accountancy module - */ -function checkTotal() -{ - var ie4=false; - if ( document.all ) - { - ie4=true; - }// Ajouter getElementById par document.all[str] - var total_deb=0.0; - var total_cred=0.0; - - - var nb_item_id=document.getElementById('nb_item'); - if ( ! nb_item_id ) - { - return; - } - var nb_item=nb_item_id.value; - - for (var i=0;i '); - this.iefix = $(this.update.id+'_iefix'); - } - if(this.iefix) setTimeout(this.fixIEOverlapping.bind(this), 50); - }, - - fixIEOverlapping: function() { - Position.clone(this.update, this.iefix, {setTop:(!this.update.style.height)}); - this.iefix.style.zIndex = 1; - this.update.style.zIndex = 2; - Element.show(this.iefix); - }, - - hide: function() { - this.stopIndicator(); - if(Element.getStyle(this.update, 'display')!='none') this.options.onHide(this.element, this.update); - if(this.iefix) Element.hide(this.iefix); - }, - - startIndicator: function() { - if(this.options.indicator) Element.show(this.options.indicator); - }, - - stopIndicator: function() { - if(this.options.indicator) Element.hide(this.options.indicator); - }, - - onKeyPress: function(event) { - if(this.active) - switch(event.keyCode) { - case Event.KEY_TAB: - case Event.KEY_RETURN: - this.selectEntry(); - Event.stop(event); - case Event.KEY_ESC: - this.hide(); - this.active = false; - Event.stop(event); - return; - case Event.KEY_LEFT: - case Event.KEY_RIGHT: - return; - case Event.KEY_UP: - this.markPrevious(); - this.render(); - Event.stop(event); - return; - case Event.KEY_DOWN: - this.markNext(); - this.render(); - Event.stop(event); - return; - } - else - if(event.keyCode==Event.KEY_TAB || event.keyCode==Event.KEY_RETURN || - (Prototype.Browser.WebKit > 0 && event.keyCode == 0)) return; - - this.changed = true; - this.hasFocus = true; - - if(this.observer) clearTimeout(this.observer); - this.observer = - setTimeout(this.onObserverEvent.bind(this), this.options.frequency*1000); - }, - - activate: function() { - this.changed = false; - this.hasFocus = true; - this.getUpdatedChoices(); - }, - - onHover: function(event) { - var element = Event.findElement(event, 'LI'); - if(this.index != element.autocompleteIndex) - { - this.index = element.autocompleteIndex; - this.render(); - } - Event.stop(event); - }, - - onClick: function(event) { - var element = Event.findElement(event, 'LI'); - this.index = element.autocompleteIndex; - this.selectEntry(); - this.hide(); - }, - - onBlur: function(event) { - // needed to make click events working - setTimeout(this.hide.bind(this), 250); - this.hasFocus = false; - this.active = false; - }, - - render: function() { - if(this.entryCount > 0) { - for (var i = 0; i < this.entryCount; i++) - this.index==i ? - Element.addClassName(this.getEntry(i),"selected") : - Element.removeClassName(this.getEntry(i),"selected"); - if(this.hasFocus) { - this.show(); - this.active = true; - } - } else { - this.active = false; - this.hide(); - } - }, - - markPrevious: function() { - if(this.index > 0) this.index--; - else this.index = this.entryCount-1; - this.getEntry(this.index).scrollIntoView(true); - }, - - markNext: function() { - if(this.index < this.entryCount-1) this.index++; - else this.index = 0; - this.getEntry(this.index).scrollIntoView(false); - }, - - getEntry: function(index) { - return this.update.firstChild.childNodes[index]; - }, - - getCurrentEntry: function() { - return this.getEntry(this.index); - }, - - selectEntry: function() { - this.active = false; - this.updateElement(this.getCurrentEntry()); - }, - - updateElement: function(selectedElement) { - if (this.options.updateElement) { - this.options.updateElement(selectedElement); - return; - } - var value = ''; - if (this.options.select) { - var nodes = $(selectedElement).select('.' + this.options.select) || []; - if(nodes.length>0) value = Element.collectTextNodes(nodes[0], this.options.select); - } else - value = Element.collectTextNodesIgnoreClass(selectedElement, 'informal'); - - var bounds = this.getTokenBounds(); - if (bounds[0] != -1) { - var newValue = this.element.value.substr(0, bounds[0]); - var whitespace = this.element.value.substr(bounds[0]).match(/^\s+/); - if (whitespace) - newValue += whitespace[0]; - this.element.value = newValue + value + this.element.value.substr(bounds[1]); - } else { - this.element.value = value; - } - this.oldElementValue = this.element.value; - this.element.focus(); - - if (this.options.afterUpdateElement) - this.options.afterUpdateElement(this.element, selectedElement); - }, - - updateChoices: function(choices) { - if(!this.changed && this.hasFocus) { - this.update.innerHTML = choices; - Element.cleanWhitespace(this.update); - Element.cleanWhitespace(this.update.down()); - - if(this.update.firstChild && this.update.down().childNodes) { - this.entryCount = - this.update.down().childNodes.length; - for (var i = 0; i < this.entryCount; i++) { - var entry = this.getEntry(i); - entry.autocompleteIndex = i; - this.addObservers(entry); - } - } else { - this.entryCount = 0; - } - - this.stopIndicator(); - this.index = 0; - - if(this.entryCount==1 && this.options.autoSelect) { - this.selectEntry(); - this.hide(); - } else { - this.render(); - } - } - }, - - addObservers: function(element) { - Event.observe(element, "mouseover", this.onHover.bindAsEventListener(this)); - Event.observe(element, "click", this.onClick.bindAsEventListener(this)); - }, - - onObserverEvent: function() { - this.changed = false; - this.tokenBounds = null; - if(this.getToken().length>=this.options.minChars) { - this.getUpdatedChoices(); - } else { - this.active = false; - this.hide(); - } - this.oldElementValue = this.element.value; - }, - - getToken: function() { - var bounds = this.getTokenBounds(); - return this.element.value.substring(bounds[0], bounds[1]).strip(); - }, - - getTokenBounds: function() { - if (null != this.tokenBounds) return this.tokenBounds; - var value = this.element.value; - if (value.strip().empty()) return [-1, 0]; - var diff = arguments.callee.getFirstDifferencePos(value, this.oldElementValue); - var offset = (diff == this.oldElementValue.length ? 1 : 0); - var prevTokenPos = -1, nextTokenPos = value.length; - var tp; - for (var index = 0, l = this.options.tokens.length; index < l; ++index) { - tp = value.lastIndexOf(this.options.tokens[index], diff + offset - 1); - if (tp > prevTokenPos) prevTokenPos = tp; - tp = value.indexOf(this.options.tokens[index], diff + offset); - if (-1 != tp && tp < nextTokenPos) nextTokenPos = tp; - } - return (this.tokenBounds = [prevTokenPos + 1, nextTokenPos]); - } -}); - -Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos = function(newS, oldS) { - var boundary = Math.min(newS.length, oldS.length); - for (var index = 0; index < boundary; ++index) - if (newS[index] != oldS[index]) - return index; - return boundary; -}; - -Ajax.Autocompleter = Class.create(Autocompleter.Base, { - initialize: function(element, update, url, options) { - this.baseInitialize(element, update, options); - this.options.asynchronous = true; - this.options.onComplete = this.onComplete.bind(this); - this.options.defaultParams = this.options.parameters || null; - this.url = url; - }, - - getUpdatedChoices: function() { - this.startIndicator(); - - var entry = encodeURIComponent(this.options.paramName) + '=' + - encodeURIComponent(this.getToken()); - - this.options.parameters = this.options.callback ? - this.options.callback(this.element, entry) : entry; - - if(this.options.defaultParams) - this.options.parameters += '&' + this.options.defaultParams; - - new Ajax.Request(this.url, this.options); - }, - - onComplete: function(request) { - this.updateChoices(request.responseText); - } -}); - -// The local array autocompleter. Used when you'd prefer to -// inject an array of autocompletion options into the page, rather -// than sending out Ajax queries, which can be quite slow sometimes. -// -// The constructor takes four parameters. The first two are, as usual, -// the id of the monitored textbox, and id of the autocompletion menu. -// The third is the array you want to autocomplete from, and the fourth -// is the options block. -// -// Extra local autocompletion options: -// - choices - How many autocompletion choices to offer -// -// - partialSearch - If false, the autocompleter will match entered -// text only at the beginning of strings in the -// autocomplete array. Defaults to true, which will -// match text at the beginning of any *word* in the -// strings in the autocomplete array. If you want to -// search anywhere in the string, additionally set -// the option fullSearch to true (default: off). -// -// - fullSsearch - Search anywhere in autocomplete array strings. -// -// - partialChars - How many characters to enter before triggering -// a partial match (unlike minChars, which defines -// how many characters are required to do any match -// at all). Defaults to 2. -// -// - ignoreCase - Whether to ignore case when autocompleting. -// Defaults to true. -// -// It's possible to pass in a custom function as the 'selector' -// option, if you prefer to write your own autocompletion logic. -// In that case, the other options above will not apply unless -// you support them. - -Autocompleter.Local = Class.create(Autocompleter.Base, { - initialize: function(element, update, array, options) { - this.baseInitialize(element, update, options); - this.options.array = array; - }, - - getUpdatedChoices: function() { - this.updateChoices(this.options.selector(this)); - }, - - setOptions: function(options) { - this.options = Object.extend({ - choices: 10, - partialSearch: true, - partialChars: 2, - ignoreCase: true, - fullSearch: false, - selector: function(instance) { - var ret = []; // Beginning matches - var partial = []; // Inside matches - var entry = instance.getToken(); - var count = 0; - - for (var i = 0; i < instance.options.array.length && - ret.length < instance.options.choices ; i++) { - - var elem = instance.options.array[i]; - var foundPos = instance.options.ignoreCase ? - elem.toLowerCase().indexOf(entry.toLowerCase()) : - elem.indexOf(entry); - - while (foundPos != -1) { - if (foundPos == 0 && elem.length != entry.length) { - ret.push("
    21. " + elem.substr(0, entry.length) + "" + - elem.substr(entry.length) + "
    22. "); - break; - } else if (entry.length >= instance.options.partialChars && - instance.options.partialSearch && foundPos != -1) { - if (instance.options.fullSearch || /\s/.test(elem.substr(foundPos-1,1))) { - partial.push("
    23. " + elem.substr(0, foundPos) + "" + - elem.substr(foundPos, entry.length) + "" + elem.substr( - foundPos + entry.length) + "
    24. "); - break; - } - } - - foundPos = instance.options.ignoreCase ? - elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) : - elem.indexOf(entry, foundPos + 1); - - } - } - if (partial.length) - ret = ret.concat(partial.slice(0, instance.options.choices - ret.length)); - return "
        " + ret.join('') + "
      "; - } - }, options || { }); - } -}); - -// AJAX in-place editor and collection editor -// Full rewrite by Christophe Porteneuve (April 2007). - -// Use this if you notice weird scrolling problems on some browsers, -// the DOM might be a bit confused when this gets called so do this -// waits 1 ms (with setTimeout) until it does the activation -Field.scrollFreeActivate = function(field) { - setTimeout(function() { - Field.activate(field); - }, 1); -}; - -Ajax.InPlaceEditor = Class.create({ - initialize: function(element, url, options) { - this.url = url; - this.element = element = $(element); - this.prepareOptions(); - this._controls = { }; - arguments.callee.dealWithDeprecatedOptions(options); // DEPRECATION LAYER!!! - Object.extend(this.options, options || { }); - if (!this.options.formId && this.element.id) { - this.options.formId = this.element.id + '-inplaceeditor'; - if ($(this.options.formId)) - this.options.formId = ''; - } - if (this.options.externalControl) - this.options.externalControl = $(this.options.externalControl); - if (!this.options.externalControl) - this.options.externalControlOnly = false; - this._originalBackground = this.element.getStyle('background-color') || 'transparent'; - this.element.title = this.options.clickToEditText; - this._boundCancelHandler = this.handleFormCancellation.bind(this); - this._boundComplete = (this.options.onComplete || Prototype.emptyFunction).bind(this); - this._boundFailureHandler = this.handleAJAXFailure.bind(this); - this._boundSubmitHandler = this.handleFormSubmission.bind(this); - this._boundWrapperHandler = this.wrapUp.bind(this); - this.registerListeners(); - }, - checkForEscapeOrReturn: function(e) { - if (!this._editing || e.ctrlKey || e.altKey || e.shiftKey) return; - if (Event.KEY_ESC == e.keyCode) - this.handleFormCancellation(e); - else if (Event.KEY_RETURN == e.keyCode) - this.handleFormSubmission(e); - }, - createControl: function(mode, handler, extraClasses) { - var control = this.options[mode + 'Control']; - var text = this.options[mode + 'Text']; - if ('button' == control) { - var btn = document.createElement('input'); - btn.type = 'submit'; - btn.value = text; - btn.className = 'editor_' + mode + '_button'; - if ('cancel' == mode) - btn.onclick = this._boundCancelHandler; - this._form.appendChild(btn); - this._controls[mode] = btn; - } else if ('link' == control) { - var link = document.createElement('a'); - link.href = '#'; - link.appendChild(document.createTextNode(text)); - link.onclick = 'cancel' == mode ? this._boundCancelHandler : this._boundSubmitHandler; - link.className = 'editor_' + mode + '_link'; - if (extraClasses) - link.className += ' ' + extraClasses; - this._form.appendChild(link); - this._controls[mode] = link; - } - }, - createEditField: function() { - var text = (this.options.loadTextURL ? this.options.loadingText : this.getText()); - var fld; - if (1 >= this.options.rows && !/\r|\n/.test(this.getText())) { - fld = document.createElement('input'); - fld.type = 'text'; - var size = this.options.size || this.options.cols || 0; - if (0 < size) fld.size = size; - } else { - fld = document.createElement('textarea'); - fld.rows = (1 >= this.options.rows ? this.options.autoRows : this.options.rows); - fld.cols = this.options.cols || 40; - } - fld.name = this.options.paramName; - fld.value = text; // No HTML breaks conversion anymore - fld.className = 'editor_field'; - if (this.options.submitOnBlur) - fld.onblur = this._boundSubmitHandler; - this._controls.editor = fld; - if (this.options.loadTextURL) - this.loadExternalText(); - this._form.appendChild(this._controls.editor); - }, - createForm: function() { - var ipe = this; - function addText(mode, condition) { - var text = ipe.options['text' + mode + 'Controls']; - if (!text || condition === false) return; - ipe._form.appendChild(document.createTextNode(text)); - }; - this._form = $(document.createElement('form')); - this._form.id = this.options.formId; - this._form.addClassName(this.options.formClassName); - this._form.onsubmit = this._boundSubmitHandler; - this.createEditField(); - if ('textarea' == this._controls.editor.tagName.toLowerCase()) - this._form.appendChild(document.createElement('br')); - if (this.options.onFormCustomization) - this.options.onFormCustomization(this, this._form); - addText('Before', this.options.okControl || this.options.cancelControl); - this.createControl('ok', this._boundSubmitHandler); - addText('Between', this.options.okControl && this.options.cancelControl); - this.createControl('cancel', this._boundCancelHandler, 'editor_cancel'); - addText('After', this.options.okControl || this.options.cancelControl); - }, - destroy: function() { - if (this._oldInnerHTML) - this.element.innerHTML = this._oldInnerHTML; - this.leaveEditMode(); - this.unregisterListeners(); - }, - enterEditMode: function(e) { - if (this._saving || this._editing) return; - this._editing = true; - this.triggerCallback('onEnterEditMode'); - if (this.options.externalControl) - this.options.externalControl.hide(); - this.element.hide(); - this.createForm(); - this.element.parentNode.insertBefore(this._form, this.element); - if (!this.options.loadTextURL) - this.postProcessEditField(); - if (e) Event.stop(e); - }, - enterHover: function(e) { - if (this.options.hoverClassName) - this.element.addClassName(this.options.hoverClassName); - if (this._saving) return; - this.triggerCallback('onEnterHover'); - }, - getText: function() { - return this.element.innerHTML.unescapeHTML(); - }, - handleAJAXFailure: function(transport) { - this.triggerCallback('onFailure', transport); - if (this._oldInnerHTML) { - this.element.innerHTML = this._oldInnerHTML; - this._oldInnerHTML = null; - } - }, - handleFormCancellation: function(e) { - this.wrapUp(); - if (e) Event.stop(e); - }, - handleFormSubmission: function(e) { - var form = this._form; - var value = $F(this._controls.editor); - this.prepareSubmission(); - var params = this.options.callback(form, value) || ''; - if (Object.isString(params)) - params = params.toQueryParams(); - params.editorId = this.element.id; - if (this.options.htmlResponse) { - var options = Object.extend({ evalScripts: true }, this.options.ajaxOptions); - Object.extend(options, { - parameters: params, - onComplete: this._boundWrapperHandler, - onFailure: this._boundFailureHandler - }); - new Ajax.Updater({ success: this.element }, this.url, options); - } else { - var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); - Object.extend(options, { - parameters: params, - onComplete: this._boundWrapperHandler, - onFailure: this._boundFailureHandler - }); - new Ajax.Request(this.url, options); - } - if (e) Event.stop(e); - }, - leaveEditMode: function() { - this.element.removeClassName(this.options.savingClassName); - this.removeForm(); - this.leaveHover(); - this.element.style.backgroundColor = this._originalBackground; - this.element.show(); - if (this.options.externalControl) - this.options.externalControl.show(); - this._saving = false; - this._editing = false; - this._oldInnerHTML = null; - this.triggerCallback('onLeaveEditMode'); - }, - leaveHover: function(e) { - if (this.options.hoverClassName) - this.element.removeClassName(this.options.hoverClassName); - if (this._saving) return; - this.triggerCallback('onLeaveHover'); - }, - loadExternalText: function() { - this._form.addClassName(this.options.loadingClassName); - this._controls.editor.disabled = true; - var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); - Object.extend(options, { - parameters: 'editorId=' + encodeURIComponent(this.element.id), - onComplete: Prototype.emptyFunction, - onSuccess: function(transport) { - this._form.removeClassName(this.options.loadingClassName); - var text = transport.responseText; - if (this.options.stripLoadedTextTags) - text = text.stripTags(); - this._controls.editor.value = text; - this._controls.editor.disabled = false; - this.postProcessEditField(); - }.bind(this), - onFailure: this._boundFailureHandler - }); - new Ajax.Request(this.options.loadTextURL, options); - }, - postProcessEditField: function() { - var fpc = this.options.fieldPostCreation; - if (fpc) - $(this._controls.editor)['focus' == fpc ? 'focus' : 'activate'](); - }, - prepareOptions: function() { - this.options = Object.clone(Ajax.InPlaceEditor.DefaultOptions); - Object.extend(this.options, Ajax.InPlaceEditor.DefaultCallbacks); - [this._extraDefaultOptions].flatten().compact().each(function(defs) { - Object.extend(this.options, defs); - }.bind(this)); - }, - prepareSubmission: function() { - this._saving = true; - this.removeForm(); - this.leaveHover(); - this.showSaving(); - }, - registerListeners: function() { - this._listeners = { }; - var listener; - $H(Ajax.InPlaceEditor.Listeners).each(function(pair) { - listener = this[pair.value].bind(this); - this._listeners[pair.key] = listener; - if (!this.options.externalControlOnly) - this.element.observe(pair.key, listener); - if (this.options.externalControl) - this.options.externalControl.observe(pair.key, listener); - }.bind(this)); - }, - removeForm: function() { - if (!this._form) return; - this._form.remove(); - this._form = null; - this._controls = { }; - }, - showSaving: function() { - this._oldInnerHTML = this.element.innerHTML; - this.element.innerHTML = this.options.savingText; - this.element.addClassName(this.options.savingClassName); - this.element.style.backgroundColor = this._originalBackground; - this.element.show(); - }, - triggerCallback: function(cbName, arg) { - if ('function' == typeof this.options[cbName]) { - this.options[cbName](this, arg); - } - }, - unregisterListeners: function() { - $H(this._listeners).each(function(pair) { - if (!this.options.externalControlOnly) - this.element.stopObserving(pair.key, pair.value); - if (this.options.externalControl) - this.options.externalControl.stopObserving(pair.key, pair.value); - }.bind(this)); - }, - wrapUp: function(transport) { - this.leaveEditMode(); - // Can't use triggerCallback due to backward compatibility: requires - // binding + direct element - this._boundComplete(transport, this.element); - } -}); - -Object.extend(Ajax.InPlaceEditor.prototype, { - dispose: Ajax.InPlaceEditor.prototype.destroy -}); - -Ajax.InPlaceCollectionEditor = Class.create(Ajax.InPlaceEditor, { - initialize: function($super, element, url, options) { - this._extraDefaultOptions = Ajax.InPlaceCollectionEditor.DefaultOptions; - $super(element, url, options); - }, - - createEditField: function() { - var list = document.createElement('select'); - list.name = this.options.paramName; - list.size = 1; - this._controls.editor = list; - this._collection = this.options.collection || []; - if (this.options.loadCollectionURL) - this.loadCollection(); - else - this.checkForExternalText(); - this._form.appendChild(this._controls.editor); - }, - - loadCollection: function() { - this._form.addClassName(this.options.loadingClassName); - this.showLoadingText(this.options.loadingCollectionText); - var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); - Object.extend(options, { - parameters: 'editorId=' + encodeURIComponent(this.element.id), - onComplete: Prototype.emptyFunction, - onSuccess: function(transport) { - var js = transport.responseText.strip(); - if (!/^\[.*\]$/.test(js)) // TODO: improve sanity check - throw('Server returned an invalid collection representation.'); - this._collection = eval(js); - this.checkForExternalText(); - }.bind(this), - onFailure: this.onFailure - }); - new Ajax.Request(this.options.loadCollectionURL, options); - }, - - showLoadingText: function(text) { - this._controls.editor.disabled = true; - var tempOption = this._controls.editor.firstChild; - if (!tempOption) { - tempOption = document.createElement('option'); - tempOption.value = ''; - this._controls.editor.appendChild(tempOption); - tempOption.selected = true; - } - tempOption.update((text || '').stripScripts().stripTags()); - }, - - checkForExternalText: function() { - this._text = this.getText(); - if (this.options.loadTextURL) - this.loadExternalText(); - else - this.buildOptionList(); - }, - - loadExternalText: function() { - this.showLoadingText(this.options.loadingText); - var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); - Object.extend(options, { - parameters: 'editorId=' + encodeURIComponent(this.element.id), - onComplete: Prototype.emptyFunction, - onSuccess: function(transport) { - this._text = transport.responseText.strip(); - this.buildOptionList(); - }.bind(this), - onFailure: this.onFailure - }); - new Ajax.Request(this.options.loadTextURL, options); - }, - - buildOptionList: function() { - this._form.removeClassName(this.options.loadingClassName); - this._collection = this._collection.map(function(entry) { - return 2 === entry.length ? entry : [entry, entry].flatten(); - }); - var marker = ('value' in this.options) ? this.options.value : this._text; - var textFound = this._collection.any(function(entry) { - return entry[0] == marker; - }.bind(this)); - this._controls.editor.update(''); - var option; - this._collection.each(function(entry, index) { - option = document.createElement('option'); - option.value = entry[0]; - option.selected = textFound ? entry[0] == marker : 0 == index; - option.appendChild(document.createTextNode(entry[1])); - this._controls.editor.appendChild(option); - }.bind(this)); - this._controls.editor.disabled = false; - Field.scrollFreeActivate(this._controls.editor); - } -}); - -//**** DEPRECATION LAYER FOR InPlace[Collection]Editor! **** -//**** This only exists for a while, in order to let **** -//**** users adapt to the new API. Read up on the new **** -//**** API and convert your code to it ASAP! **** - -Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions = function(options) { - if (!options) return; - function fallback(name, expr) { - if (name in options || expr === undefined) return; - options[name] = expr; - }; - fallback('cancelControl', (options.cancelLink ? 'link' : (options.cancelButton ? 'button' : - options.cancelLink == options.cancelButton == false ? false : undefined))); - fallback('okControl', (options.okLink ? 'link' : (options.okButton ? 'button' : - options.okLink == options.okButton == false ? false : undefined))); - fallback('highlightColor', options.highlightcolor); - fallback('highlightEndColor', options.highlightendcolor); -}; - -Object.extend(Ajax.InPlaceEditor, { - DefaultOptions: { - ajaxOptions: { }, - autoRows: 3, // Use when multi-line w/ rows == 1 - cancelControl: 'link', // 'link'|'button'|false - cancelText: 'cancel', - clickToEditText: 'Click to edit', - externalControl: null, // id|elt - externalControlOnly: false, - fieldPostCreation: 'activate', // 'activate'|'focus'|false - formClassName: 'inplaceeditor-form', - formId: null, // id|elt - highlightColor: '#ffff99', - highlightEndColor: '#ffffff', - hoverClassName: '', - htmlResponse: true, - loadingClassName: 'inplaceeditor-loading', - loadingText: 'Loading...', - okControl: 'button', // 'link'|'button'|false - okText: 'ok', - paramName: 'value', - rows: 1, // If 1 and multi-line, uses autoRows - savingClassName: 'inplaceeditor-saving', - savingText: 'Saving...', - size: 0, - stripLoadedTextTags: false, - submitOnBlur: false, - textAfterControls: '', - textBeforeControls: '', - textBetweenControls: '' - }, - DefaultCallbacks: { - callback: function(form) { - return Form.serialize(form); - }, - onComplete: function(transport, element) { - // For backward compatibility, this one is bound to the IPE, and passes - // the element directly. It was too often customized, so we don't break it. - new Effect.Highlight(element, { - startcolor: this.options.highlightColor, keepBackgroundImage: true }); - }, - onEnterEditMode: null, - onEnterHover: function(ipe) { - ipe.element.style.backgroundColor = ipe.options.highlightColor; - if (ipe._effect) - ipe._effect.cancel(); - }, - onFailure: function(transport, ipe) { - alert('Error communication with the server: ' + transport.responseText.stripTags()); - }, - onFormCustomization: null, // Takes the IPE and its generated form, after editor, before controls. - onLeaveEditMode: null, - onLeaveHover: function(ipe) { - ipe._effect = new Effect.Highlight(ipe.element, { - startcolor: ipe.options.highlightColor, endcolor: ipe.options.highlightEndColor, - restorecolor: ipe._originalBackground, keepBackgroundImage: true - }); - } - }, - Listeners: { - click: 'enterEditMode', - keydown: 'checkForEscapeOrReturn', - mouseover: 'enterHover', - mouseout: 'leaveHover' - } -}); - -Ajax.InPlaceCollectionEditor.DefaultOptions = { - loadingCollectionText: 'Loading options...' -}; - -// Delayed observer, like Form.Element.Observer, -// but waits for delay after last key input -// Ideal for live-search fields - -Form.Element.DelayedObserver = Class.create({ - initialize: function(element, delay, callback) { - this.delay = delay || 0.5; - this.element = $(element); - this.callback = callback; - this.timer = null; - this.lastValue = $F(this.element); - Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this)); - }, - delayedListener: function(event) { - if(this.lastValue == $F(this.element)) return; - if(this.timer) clearTimeout(this.timer); - this.timer = setTimeout(this.onTimerEvent.bind(this), this.delay * 1000); - this.lastValue = $F(this.element); - }, - onTimerEvent: function() { - this.timer = null; - this.callback(this.element, $F(this.element)); - } -}); \ No newline at end of file diff --git a/sources/html/js/dragdrop.js b/sources/html/js/dragdrop.js deleted file mode 100644 index 9ebfe24..0000000 --- a/sources/html/js/dragdrop.js +++ /dev/null @@ -1,974 +0,0 @@ -// script.aculo.us dragdrop.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010 - -// Copyright (c) 2005-2010 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) -// -// script.aculo.us is freely distributable under the terms of an MIT-style license. -// For details, see the script.aculo.us web site: http://script.aculo.us/ - -if(Object.isUndefined(Effect)) - throw("dragdrop.js requires including script.aculo.us' effects.js library"); - -var Droppables = { - drops: [], - - remove: function(element) { - this.drops = this.drops.reject(function(d) { return d.element==$(element) }); - }, - - add: function(element) { - element = $(element); - var options = Object.extend({ - greedy: true, - hoverclass: null, - tree: false - }, arguments[1] || { }); - - // cache containers - if(options.containment) { - options._containers = []; - var containment = options.containment; - if(Object.isArray(containment)) { - containment.each( function(c) { options._containers.push($(c)) }); - } else { - options._containers.push($(containment)); - } - } - - if(options.accept) options.accept = [options.accept].flatten(); - - Element.makePositioned(element); // fix IE - options.element = element; - - this.drops.push(options); - }, - - findDeepestChild: function(drops) { - deepest = drops[0]; - - for (i = 1; i < drops.length; ++i) - if (Element.isParent(drops[i].element, deepest.element)) - deepest = drops[i]; - - return deepest; - }, - - isContained: function(element, drop) { - var containmentNode; - if(drop.tree) { - containmentNode = element.treeNode; - } else { - containmentNode = element.parentNode; - } - return drop._containers.detect(function(c) { return containmentNode == c }); - }, - - isAffected: function(point, element, drop) { - return ( - (drop.element!=element) && - ((!drop._containers) || - this.isContained(element, drop)) && - ((!drop.accept) || - (Element.classNames(element).detect( - function(v) { return drop.accept.include(v) } ) )) && - Position.within(drop.element, point[0], point[1]) ); - }, - - deactivate: function(drop) { - if(drop.hoverclass) - Element.removeClassName(drop.element, drop.hoverclass); - this.last_active = null; - }, - - activate: function(drop) { - if(drop.hoverclass) - Element.addClassName(drop.element, drop.hoverclass); - this.last_active = drop; - }, - - show: function(point, element) { - if(!this.drops.length) return; - var drop, affected = []; - - this.drops.each( function(drop) { - if(Droppables.isAffected(point, element, drop)) - affected.push(drop); - }); - - if(affected.length>0) - drop = Droppables.findDeepestChild(affected); - - if(this.last_active && this.last_active != drop) this.deactivate(this.last_active); - if (drop) { - Position.within(drop.element, point[0], point[1]); - if(drop.onHover) - drop.onHover(element, drop.element, Position.overlap(drop.overlap, drop.element)); - - if (drop != this.last_active) Droppables.activate(drop); - } - }, - - fire: function(event, element) { - if(!this.last_active) return; - Position.prepare(); - - if (this.isAffected([Event.pointerX(event), Event.pointerY(event)], element, this.last_active)) - if (this.last_active.onDrop) { - this.last_active.onDrop(element, this.last_active.element, event); - return true; - } - }, - - reset: function() { - if(this.last_active) - this.deactivate(this.last_active); - } -}; - -var Draggables = { - drags: [], - observers: [], - - register: function(draggable) { - if(this.drags.length == 0) { - this.eventMouseUp = this.endDrag.bindAsEventListener(this); - this.eventMouseMove = this.updateDrag.bindAsEventListener(this); - this.eventKeypress = this.keyPress.bindAsEventListener(this); - - Event.observe(document, "mouseup", this.eventMouseUp); - Event.observe(document, "mousemove", this.eventMouseMove); - Event.observe(document, "keypress", this.eventKeypress); - } - this.drags.push(draggable); - }, - - unregister: function(draggable) { - this.drags = this.drags.reject(function(d) { return d==draggable }); - if(this.drags.length == 0) { - Event.stopObserving(document, "mouseup", this.eventMouseUp); - Event.stopObserving(document, "mousemove", this.eventMouseMove); - Event.stopObserving(document, "keypress", this.eventKeypress); - } - }, - - activate: function(draggable) { - if(draggable.options.delay) { - this._timeout = setTimeout(function() { - Draggables._timeout = null; - window.focus(); - Draggables.activeDraggable = draggable; - }.bind(this), draggable.options.delay); - } else { - window.focus(); // allows keypress events if window isn't currently focused, fails for Safari - this.activeDraggable = draggable; - } - }, - - deactivate: function() { - this.activeDraggable = null; - }, - - updateDrag: function(event) { - if(!this.activeDraggable) return; - var pointer = [Event.pointerX(event), Event.pointerY(event)]; - // Mozilla-based browsers fire successive mousemove events with - // the same coordinates, prevent needless redrawing (moz bug?) - if(this._lastPointer && (this._lastPointer.inspect() == pointer.inspect())) return; - this._lastPointer = pointer; - - this.activeDraggable.updateDrag(event, pointer); - }, - - endDrag: function(event) { - if(this._timeout) { - clearTimeout(this._timeout); - this._timeout = null; - } - if(!this.activeDraggable) return; - this._lastPointer = null; - this.activeDraggable.endDrag(event); - this.activeDraggable = null; - }, - - keyPress: function(event) { - if(this.activeDraggable) - this.activeDraggable.keyPress(event); - }, - - addObserver: function(observer) { - this.observers.push(observer); - this._cacheObserverCallbacks(); - }, - - removeObserver: function(element) { // element instead of observer fixes mem leaks - this.observers = this.observers.reject( function(o) { return o.element==element }); - this._cacheObserverCallbacks(); - }, - - notify: function(eventName, draggable, event) { // 'onStart', 'onEnd', 'onDrag' - if(this[eventName+'Count'] > 0) - this.observers.each( function(o) { - if(o[eventName]) o[eventName](eventName, draggable, event); - }); - if(draggable.options[eventName]) draggable.options[eventName](draggable, event); - }, - - _cacheObserverCallbacks: function() { - ['onStart','onEnd','onDrag'].each( function(eventName) { - Draggables[eventName+'Count'] = Draggables.observers.select( - function(o) { return o[eventName]; } - ).length; - }); - } -}; - -/*--------------------------------------------------------------------------*/ - -var Draggable = Class.create({ - initialize: function(element) { - var defaults = { - handle: false, - reverteffect: function(element, top_offset, left_offset) { - var dur = Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02; - new Effect.Move(element, { x: -left_offset, y: -top_offset, duration: dur, - queue: {scope:'_draggable', position:'end'} - }); - }, - endeffect: function(element) { - var toOpacity = Object.isNumber(element._opacity) ? element._opacity : 1.0; - new Effect.Opacity(element, {duration:0.2, from:0.7, to:toOpacity, - queue: {scope:'_draggable', position:'end'}, - afterFinish: function(){ - Draggable._dragging[element] = false - } - }); - }, - zindex: 1000, - revert: false, - quiet: false, - scroll: false, - scrollSensitivity: 20, - scrollSpeed: 15, - snap: false, // false, or xy or [x,y] or function(x,y){ return [x,y] } - delay: 0 - }; - - if(!arguments[1] || Object.isUndefined(arguments[1].endeffect)) - Object.extend(defaults, { - starteffect: function(element) { - element._opacity = Element.getOpacity(element); - Draggable._dragging[element] = true; - new Effect.Opacity(element, {duration:0.2, from:element._opacity, to:0.7}); - } - }); - - var options = Object.extend(defaults, arguments[1] || { }); - - this.element = $(element); - - if(options.handle && Object.isString(options.handle)) - this.handle = this.element.down('.'+options.handle, 0); - - if(!this.handle) this.handle = $(options.handle); - if(!this.handle) this.handle = this.element; - - if(options.scroll && !options.scroll.scrollTo && !options.scroll.outerHTML) { - options.scroll = $(options.scroll); - this._isScrollChild = Element.childOf(this.element, options.scroll); - } - - Element.makePositioned(this.element); // fix IE - - this.options = options; - this.dragging = false; - - this.eventMouseDown = this.initDrag.bindAsEventListener(this); - Event.observe(this.handle, "mousedown", this.eventMouseDown); - - Draggables.register(this); - }, - - destroy: function() { - Event.stopObserving(this.handle, "mousedown", this.eventMouseDown); - Draggables.unregister(this); - }, - - currentDelta: function() { - return([ - parseInt(Element.getStyle(this.element,'left') || '0'), - parseInt(Element.getStyle(this.element,'top') || '0')]); - }, - - initDrag: function(event) { - if(!Object.isUndefined(Draggable._dragging[this.element]) && - Draggable._dragging[this.element]) return; - if(Event.isLeftClick(event)) { - // abort on form elements, fixes a Firefox issue - var src = Event.element(event); - if((tag_name = src.tagName.toUpperCase()) && ( - tag_name=='INPUT' || - tag_name=='SELECT' || - tag_name=='OPTION' || - tag_name=='BUTTON' || - tag_name=='TEXTAREA')) return; - - var pointer = [Event.pointerX(event), Event.pointerY(event)]; - var pos = this.element.cumulativeOffset(); - this.offset = [0,1].map( function(i) { return (pointer[i] - pos[i]) }); - - Draggables.activate(this); - Event.stop(event); - } - }, - - startDrag: function(event) { - this.dragging = true; - if(!this.delta) - this.delta = this.currentDelta(); - - if(this.options.zindex) { - this.originalZ = parseInt(Element.getStyle(this.element,'z-index') || 0); - this.element.style.zIndex = this.options.zindex; - } - - if(this.options.ghosting) { - this._clone = this.element.cloneNode(true); - this._originallyAbsolute = (this.element.getStyle('position') == 'absolute'); - if (!this._originallyAbsolute) - Position.absolutize(this.element); - this.element.parentNode.insertBefore(this._clone, this.element); - } - - if(this.options.scroll) { - if (this.options.scroll == window) { - var where = this._getWindowScroll(this.options.scroll); - this.originalScrollLeft = where.left; - this.originalScrollTop = where.top; - } else { - this.originalScrollLeft = this.options.scroll.scrollLeft; - this.originalScrollTop = this.options.scroll.scrollTop; - } - } - - Draggables.notify('onStart', this, event); - - if(this.options.starteffect) this.options.starteffect(this.element); - }, - - updateDrag: function(event, pointer) { - if(!this.dragging) this.startDrag(event); - - if(!this.options.quiet){ - Position.prepare(); - Droppables.show(pointer, this.element); - } - - Draggables.notify('onDrag', this, event); - - this.draw(pointer); - if(this.options.change) this.options.change(this); - - if(this.options.scroll) { - this.stopScrolling(); - - var p; - if (this.options.scroll == window) { - with(this._getWindowScroll(this.options.scroll)) { p = [ left, top, left+width, top+height ]; } - } else { - p = Position.page(this.options.scroll).toArray(); - p[0] += this.options.scroll.scrollLeft + Position.deltaX; - p[1] += this.options.scroll.scrollTop + Position.deltaY; - p.push(p[0]+this.options.scroll.offsetWidth); - p.push(p[1]+this.options.scroll.offsetHeight); - } - var speed = [0,0]; - if(pointer[0] < (p[0]+this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[0]+this.options.scrollSensitivity); - if(pointer[1] < (p[1]+this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[1]+this.options.scrollSensitivity); - if(pointer[0] > (p[2]-this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[2]-this.options.scrollSensitivity); - if(pointer[1] > (p[3]-this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[3]-this.options.scrollSensitivity); - this.startScrolling(speed); - } - - // fix AppleWebKit rendering - if(Prototype.Browser.WebKit) window.scrollBy(0,0); - - Event.stop(event); - }, - - finishDrag: function(event, success) { - this.dragging = false; - - if(this.options.quiet){ - Position.prepare(); - var pointer = [Event.pointerX(event), Event.pointerY(event)]; - Droppables.show(pointer, this.element); - } - - if(this.options.ghosting) { - if (!this._originallyAbsolute) - Position.relativize(this.element); - delete this._originallyAbsolute; - Element.remove(this._clone); - this._clone = null; - } - - var dropped = false; - if(success) { - dropped = Droppables.fire(event, this.element); - if (!dropped) dropped = false; - } - if(dropped && this.options.onDropped) this.options.onDropped(this.element); - Draggables.notify('onEnd', this, event); - - var revert = this.options.revert; - if(revert && Object.isFunction(revert)) revert = revert(this.element); - - var d = this.currentDelta(); - if(revert && this.options.reverteffect) { - if (dropped == 0 || revert != 'failure') - this.options.reverteffect(this.element, - d[1]-this.delta[1], d[0]-this.delta[0]); - } else { - this.delta = d; - } - - if(this.options.zindex) - this.element.style.zIndex = this.originalZ; - - if(this.options.endeffect) - this.options.endeffect(this.element); - - Draggables.deactivate(this); - Droppables.reset(); - }, - - keyPress: function(event) { - if(event.keyCode!=Event.KEY_ESC) return; - this.finishDrag(event, false); - Event.stop(event); - }, - - endDrag: function(event) { - if(!this.dragging) return; - this.stopScrolling(); - this.finishDrag(event, true); - Event.stop(event); - }, - - draw: function(point) { - var pos = this.element.cumulativeOffset(); - if(this.options.ghosting) { - var r = Position.realOffset(this.element); - pos[0] += r[0] - Position.deltaX; pos[1] += r[1] - Position.deltaY; - } - - var d = this.currentDelta(); - pos[0] -= d[0]; pos[1] -= d[1]; - - if(this.options.scroll && (this.options.scroll != window && this._isScrollChild)) { - pos[0] -= this.options.scroll.scrollLeft-this.originalScrollLeft; - pos[1] -= this.options.scroll.scrollTop-this.originalScrollTop; - } - - var p = [0,1].map(function(i){ - return (point[i]-pos[i]-this.offset[i]) - }.bind(this)); - - if(this.options.snap) { - if(Object.isFunction(this.options.snap)) { - p = this.options.snap(p[0],p[1],this); - } else { - if(Object.isArray(this.options.snap)) { - p = p.map( function(v, i) { - return (v/this.options.snap[i]).round()*this.options.snap[i] }.bind(this)); - } else { - p = p.map( function(v) { - return (v/this.options.snap).round()*this.options.snap }.bind(this)); - } - }} - - var style = this.element.style; - if((!this.options.constraint) || (this.options.constraint=='horizontal')) - style.left = p[0] + "px"; - if((!this.options.constraint) || (this.options.constraint=='vertical')) - style.top = p[1] + "px"; - - if(style.visibility=="hidden") style.visibility = ""; // fix gecko rendering - }, - - stopScrolling: function() { - if(this.scrollInterval) { - clearInterval(this.scrollInterval); - this.scrollInterval = null; - Draggables._lastScrollPointer = null; - } - }, - - startScrolling: function(speed) { - if(!(speed[0] || speed[1])) return; - this.scrollSpeed = [speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed]; - this.lastScrolled = new Date(); - this.scrollInterval = setInterval(this.scroll.bind(this), 10); - }, - - scroll: function() { - var current = new Date(); - var delta = current - this.lastScrolled; - this.lastScrolled = current; - if(this.options.scroll == window) { - with (this._getWindowScroll(this.options.scroll)) { - if (this.scrollSpeed[0] || this.scrollSpeed[1]) { - var d = delta / 1000; - this.options.scroll.scrollTo( left + d*this.scrollSpeed[0], top + d*this.scrollSpeed[1] ); - } - } - } else { - this.options.scroll.scrollLeft += this.scrollSpeed[0] * delta / 1000; - this.options.scroll.scrollTop += this.scrollSpeed[1] * delta / 1000; - } - - Position.prepare(); - Droppables.show(Draggables._lastPointer, this.element); - Draggables.notify('onDrag', this); - if (this._isScrollChild) { - Draggables._lastScrollPointer = Draggables._lastScrollPointer || $A(Draggables._lastPointer); - Draggables._lastScrollPointer[0] += this.scrollSpeed[0] * delta / 1000; - Draggables._lastScrollPointer[1] += this.scrollSpeed[1] * delta / 1000; - if (Draggables._lastScrollPointer[0] < 0) - Draggables._lastScrollPointer[0] = 0; - if (Draggables._lastScrollPointer[1] < 0) - Draggables._lastScrollPointer[1] = 0; - this.draw(Draggables._lastScrollPointer); - } - - if(this.options.change) this.options.change(this); - }, - - _getWindowScroll: function(w) { - var T, L, W, H; - with (w.document) { - if (w.document.documentElement && documentElement.scrollTop) { - T = documentElement.scrollTop; - L = documentElement.scrollLeft; - } else if (w.document.body) { - T = body.scrollTop; - L = body.scrollLeft; - } - if (w.innerWidth) { - W = w.innerWidth; - H = w.innerHeight; - } else if (w.document.documentElement && documentElement.clientWidth) { - W = documentElement.clientWidth; - H = documentElement.clientHeight; - } else { - W = body.offsetWidth; - H = body.offsetHeight; - } - } - return { top: T, left: L, width: W, height: H }; - } -}); - -Draggable._dragging = { }; - -/*--------------------------------------------------------------------------*/ - -var SortableObserver = Class.create({ - initialize: function(element, observer) { - this.element = $(element); - this.observer = observer; - this.lastValue = Sortable.serialize(this.element); - }, - - onStart: function() { - this.lastValue = Sortable.serialize(this.element); - }, - - onEnd: function() { - Sortable.unmark(); - if(this.lastValue != Sortable.serialize(this.element)) - this.observer(this.element) - } -}); - -var Sortable = { - SERIALIZE_RULE: /^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/, - - sortables: { }, - - _findRootElement: function(element) { - while (element.tagName.toUpperCase() != "BODY") { - if(element.id && Sortable.sortables[element.id]) return element; - element = element.parentNode; - } - }, - - options: function(element) { - element = Sortable._findRootElement($(element)); - if(!element) return; - return Sortable.sortables[element.id]; - }, - - destroy: function(element){ - element = $(element); - var s = Sortable.sortables[element.id]; - - if(s) { - Draggables.removeObserver(s.element); - s.droppables.each(function(d){ Droppables.remove(d) }); - s.draggables.invoke('destroy'); - - delete Sortable.sortables[s.element.id]; - } - }, - - create: function(element) { - element = $(element); - var options = Object.extend({ - element: element, - tag: 'li', // assumes li children, override with tag: 'tagname' - dropOnEmpty: false, - tree: false, - treeTag: 'ul', - overlap: 'vertical', // one of 'vertical', 'horizontal' - constraint: 'vertical', // one of 'vertical', 'horizontal', false - containment: element, // also takes array of elements (or id's); or false - handle: false, // or a CSS class - only: false, - delay: 0, - hoverclass: null, - ghosting: false, - quiet: false, - scroll: false, - scrollSensitivity: 20, - scrollSpeed: 15, - format: this.SERIALIZE_RULE, - - // these take arrays of elements or ids and can be - // used for better initialization performance - elements: false, - handles: false, - - onChange: Prototype.emptyFunction, - onUpdate: Prototype.emptyFunction - }, arguments[1] || { }); - - // clear any old sortable with same element - this.destroy(element); - - // build options for the draggables - var options_for_draggable = { - revert: true, - quiet: options.quiet, - scroll: options.scroll, - scrollSpeed: options.scrollSpeed, - scrollSensitivity: options.scrollSensitivity, - delay: options.delay, - ghosting: options.ghosting, - constraint: options.constraint, - handle: options.handle }; - - if(options.starteffect) - options_for_draggable.starteffect = options.starteffect; - - if(options.reverteffect) - options_for_draggable.reverteffect = options.reverteffect; - else - if(options.ghosting) options_for_draggable.reverteffect = function(element) { - element.style.top = 0; - element.style.left = 0; - }; - - if(options.endeffect) - options_for_draggable.endeffect = options.endeffect; - - if(options.zindex) - options_for_draggable.zindex = options.zindex; - - // build options for the droppables - var options_for_droppable = { - overlap: options.overlap, - containment: options.containment, - tree: options.tree, - hoverclass: options.hoverclass, - onHover: Sortable.onHover - }; - - var options_for_tree = { - onHover: Sortable.onEmptyHover, - overlap: options.overlap, - containment: options.containment, - hoverclass: options.hoverclass - }; - - // fix for gecko engine - Element.cleanWhitespace(element); - - options.draggables = []; - options.droppables = []; - - // drop on empty handling - if(options.dropOnEmpty || options.tree) { - Droppables.add(element, options_for_tree); - options.droppables.push(element); - } - - (options.elements || this.findElements(element, options) || []).each( function(e,i) { - var handle = options.handles ? $(options.handles[i]) : - (options.handle ? $(e).select('.' + options.handle)[0] : e); - options.draggables.push( - new Draggable(e, Object.extend(options_for_draggable, { handle: handle }))); - Droppables.add(e, options_for_droppable); - if(options.tree) e.treeNode = element; - options.droppables.push(e); - }); - - if(options.tree) { - (Sortable.findTreeElements(element, options) || []).each( function(e) { - Droppables.add(e, options_for_tree); - e.treeNode = element; - options.droppables.push(e); - }); - } - - // keep reference - this.sortables[element.identify()] = options; - - // for onupdate - Draggables.addObserver(new SortableObserver(element, options.onUpdate)); - - }, - - // return all suitable-for-sortable elements in a guaranteed order - findElements: function(element, options) { - return Element.findChildren( - element, options.only, options.tree ? true : false, options.tag); - }, - - findTreeElements: function(element, options) { - return Element.findChildren( - element, options.only, options.tree ? true : false, options.treeTag); - }, - - onHover: function(element, dropon, overlap) { - if(Element.isParent(dropon, element)) return; - - if(overlap > .33 && overlap < .66 && Sortable.options(dropon).tree) { - return; - } else if(overlap>0.5) { - Sortable.mark(dropon, 'before'); - if(dropon.previousSibling != element) { - var oldParentNode = element.parentNode; - element.style.visibility = "hidden"; // fix gecko rendering - dropon.parentNode.insertBefore(element, dropon); - if(dropon.parentNode!=oldParentNode) - Sortable.options(oldParentNode).onChange(element); - Sortable.options(dropon.parentNode).onChange(element); - } - } else { - Sortable.mark(dropon, 'after'); - var nextElement = dropon.nextSibling || null; - if(nextElement != element) { - var oldParentNode = element.parentNode; - element.style.visibility = "hidden"; // fix gecko rendering - dropon.parentNode.insertBefore(element, nextElement); - if(dropon.parentNode!=oldParentNode) - Sortable.options(oldParentNode).onChange(element); - Sortable.options(dropon.parentNode).onChange(element); - } - } - }, - - onEmptyHover: function(element, dropon, overlap) { - var oldParentNode = element.parentNode; - var droponOptions = Sortable.options(dropon); - - if(!Element.isParent(dropon, element)) { - var index; - - var children = Sortable.findElements(dropon, {tag: droponOptions.tag, only: droponOptions.only}); - var child = null; - - if(children) { - var offset = Element.offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap); - - for (index = 0; index < children.length; index += 1) { - if (offset - Element.offsetSize (children[index], droponOptions.overlap) >= 0) { - offset -= Element.offsetSize (children[index], droponOptions.overlap); - } else if (offset - (Element.offsetSize (children[index], droponOptions.overlap) / 2) >= 0) { - child = index + 1 < children.length ? children[index + 1] : null; - break; - } else { - child = children[index]; - break; - } - } - } - - dropon.insertBefore(element, child); - - Sortable.options(oldParentNode).onChange(element); - droponOptions.onChange(element); - } - }, - - unmark: function() { - if(Sortable._marker) Sortable._marker.hide(); - }, - - mark: function(dropon, position) { - // mark on ghosting only - var sortable = Sortable.options(dropon.parentNode); - if(sortable && !sortable.ghosting) return; - - if(!Sortable._marker) { - Sortable._marker = - ($('dropmarker') || Element.extend(document.createElement('DIV'))). - hide().addClassName('dropmarker').setStyle({position:'absolute'}); - document.getElementsByTagName("body").item(0).appendChild(Sortable._marker); - } - var offsets = dropon.cumulativeOffset(); - Sortable._marker.setStyle({left: offsets[0]+'px', top: offsets[1] + 'px'}); - - if(position=='after') - if(sortable.overlap == 'horizontal') - Sortable._marker.setStyle({left: (offsets[0]+dropon.clientWidth) + 'px'}); - else - Sortable._marker.setStyle({top: (offsets[1]+dropon.clientHeight) + 'px'}); - - Sortable._marker.show(); - }, - - _tree: function(element, options, parent) { - var children = Sortable.findElements(element, options) || []; - - for (var i = 0; i < children.length; ++i) { - var match = children[i].id.match(options.format); - - if (!match) continue; - - var child = { - id: encodeURIComponent(match ? match[1] : null), - element: element, - parent: parent, - children: [], - position: parent.children.length, - container: $(children[i]).down(options.treeTag) - }; - - /* Get the element containing the children and recurse over it */ - if (child.container) - this._tree(child.container, options, child); - - parent.children.push (child); - } - - return parent; - }, - - tree: function(element) { - element = $(element); - var sortableOptions = this.options(element); - var options = Object.extend({ - tag: sortableOptions.tag, - treeTag: sortableOptions.treeTag, - only: sortableOptions.only, - name: element.id, - format: sortableOptions.format - }, arguments[1] || { }); - - var root = { - id: null, - parent: null, - children: [], - container: element, - position: 0 - }; - - return Sortable._tree(element, options, root); - }, - - /* Construct a [i] index for a particular node */ - _constructIndex: function(node) { - var index = ''; - do { - if (node.id) index = '[' + node.position + ']' + index; - } while ((node = node.parent) != null); - return index; - }, - - sequence: function(element) { - element = $(element); - var options = Object.extend(this.options(element), arguments[1] || { }); - - return $(this.findElements(element, options) || []).map( function(item) { - return item.id.match(options.format) ? item.id.match(options.format)[1] : ''; - }); - }, - - setSequence: function(element, new_sequence) { - element = $(element); - var options = Object.extend(this.options(element), arguments[2] || { }); - - var nodeMap = { }; - this.findElements(element, options).each( function(n) { - if (n.id.match(options.format)) - nodeMap[n.id.match(options.format)[1]] = [n, n.parentNode]; - n.parentNode.removeChild(n); - }); - - new_sequence.each(function(ident) { - var n = nodeMap[ident]; - if (n) { - n[1].appendChild(n[0]); - delete nodeMap[ident]; - } - }); - }, - - serialize: function(element) { - element = $(element); - var options = Object.extend(Sortable.options(element), arguments[1] || { }); - var name = encodeURIComponent( - (arguments[1] && arguments[1].name) ? arguments[1].name : element.id); - - if (options.tree) { - return Sortable.tree(element, arguments[1]).children.map( function (item) { - return [name + Sortable._constructIndex(item) + "[id]=" + - encodeURIComponent(item.id)].concat(item.children.map(arguments.callee)); - }).flatten().join('&'); - } else { - return Sortable.sequence(element, arguments[1]).map( function(item) { - return name + "[]=" + encodeURIComponent(item); - }).join('&'); - } - } -}; - -// Returns true if child is contained within element -Element.isParent = function(child, element) { - if (!child.parentNode || child == element) return false; - if (child.parentNode == element) return true; - return Element.isParent(child.parentNode, element); -}; - -Element.findChildren = function(element, only, recursive, tagName) { - if(!element.hasChildNodes()) return null; - tagName = tagName.toUpperCase(); - if(only) only = [only].flatten(); - var elements = []; - $A(element.childNodes).each( function(e) { - if(e.tagName && e.tagName.toUpperCase()==tagName && - (!only || (Element.classNames(e).detect(function(v) { return only.include(v) })))) - elements.push(e); - if(recursive) { - var grandchildren = Element.findChildren(e, only, recursive, tagName); - if(grandchildren) elements.push(grandchildren); - } - }); - - return (elements.length>0 ? elements.flatten() : []); -}; - -Element.offsetSize = function (element, type) { - return element['offset' + ((type=='vertical' || type=='height') ? 'Height' : 'Width')]; -}; \ No newline at end of file diff --git a/sources/html/js/effects.js b/sources/html/js/effects.js deleted file mode 100644 index 860ddc0..0000000 --- a/sources/html/js/effects.js +++ /dev/null @@ -1,1123 +0,0 @@ -// script.aculo.us effects.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010 - -// Copyright (c) 2005-2010 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) -// Contributors: -// Justin Palmer (http://encytemedia.com/) -// Mark Pilgrim (http://diveintomark.org/) -// Martin Bialasinki -// -// script.aculo.us is freely distributable under the terms of an MIT-style license. -// For details, see the script.aculo.us web site: http://script.aculo.us/ - -// converts rgb() and #xxx to #xxxxxx format, -// returns self (or first argument) if not convertable -String.prototype.parseColor = function() { - var color = '#'; - if (this.slice(0,4) == 'rgb(') { - var cols = this.slice(4,this.length-1).split(','); - var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3); - } else { - if (this.slice(0,1) == '#') { - if (this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase(); - if (this.length==7) color = this.toLowerCase(); - } - } - return (color.length==7 ? color : (arguments[0] || this)); -}; - -/*--------------------------------------------------------------------------*/ - -Element.collectTextNodes = function(element) { - return $A($(element).childNodes).collect( function(node) { - return (node.nodeType==3 ? node.nodeValue : - (node.hasChildNodes() ? Element.collectTextNodes(node) : '')); - }).flatten().join(''); -}; - -Element.collectTextNodesIgnoreClass = function(element, className) { - return $A($(element).childNodes).collect( function(node) { - return (node.nodeType==3 ? node.nodeValue : - ((node.hasChildNodes() && !Element.hasClassName(node,className)) ? - Element.collectTextNodesIgnoreClass(node, className) : '')); - }).flatten().join(''); -}; - -Element.setContentZoom = function(element, percent) { - element = $(element); - element.setStyle({fontSize: (percent/100) + 'em'}); - if (Prototype.Browser.WebKit) window.scrollBy(0,0); - return element; -}; - -Element.getInlineOpacity = function(element){ - return $(element).style.opacity || ''; -}; - -Element.forceRerendering = function(element) { - try { - element = $(element); - var n = document.createTextNode(' '); - element.appendChild(n); - element.removeChild(n); - } catch(e) { } -}; - -/*--------------------------------------------------------------------------*/ - -var Effect = { - _elementDoesNotExistError: { - name: 'ElementDoesNotExistError', - message: 'The specified DOM element does not exist, but is required for this effect to operate' - }, - Transitions: { - linear: Prototype.K, - sinoidal: function(pos) { - return (-Math.cos(pos*Math.PI)/2) + .5; - }, - reverse: function(pos) { - return 1-pos; - }, - flicker: function(pos) { - var pos = ((-Math.cos(pos*Math.PI)/4) + .75) + Math.random()/4; - return pos > 1 ? 1 : pos; - }, - wobble: function(pos) { - return (-Math.cos(pos*Math.PI*(9*pos))/2) + .5; - }, - pulse: function(pos, pulses) { - return (-Math.cos((pos*((pulses||5)-.5)*2)*Math.PI)/2) + .5; - }, - spring: function(pos) { - return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6)); - }, - none: function(pos) { - return 0; - }, - full: function(pos) { - return 1; - } - }, - DefaultOptions: { - duration: 1.0, // seconds - fps: 100, // 100= assume 66fps max. - sync: false, // true for combining - from: 0.0, - to: 1.0, - delay: 0.0, - queue: 'parallel' - }, - tagifyText: function(element) { - var tagifyStyle = 'position:relative'; - if (Prototype.Browser.IE) tagifyStyle += ';zoom:1'; - - element = $(element); - $A(element.childNodes).each( function(child) { - if (child.nodeType==3) { - child.nodeValue.toArray().each( function(character) { - element.insertBefore( - new Element('span', {style: tagifyStyle}).update( - character == ' ' ? String.fromCharCode(160) : character), - child); - }); - Element.remove(child); - } - }); - }, - multiple: function(element, effect) { - var elements; - if (((typeof element == 'object') || - Object.isFunction(element)) && - (element.length)) - elements = element; - else - elements = $(element).childNodes; - - var options = Object.extend({ - speed: 0.1, - delay: 0.0 - }, arguments[2] || { }); - var masterDelay = options.delay; - - $A(elements).each( function(element, index) { - new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay })); - }); - }, - PAIRS: { - 'slide': ['SlideDown','SlideUp'], - 'blind': ['BlindDown','BlindUp'], - 'appear': ['Appear','Fade'] - }, - toggle: function(element, effect, options) { - element = $(element); - effect = (effect || 'appear').toLowerCase(); - - return Effect[ Effect.PAIRS[ effect ][ element.visible() ? 1 : 0 ] ](element, Object.extend({ - queue: { position:'end', scope:(element.id || 'global'), limit: 1 } - }, options || {})); - } -}; - -Effect.DefaultOptions.transition = Effect.Transitions.sinoidal; - -/* ------------- core effects ------------- */ - -Effect.ScopedQueue = Class.create(Enumerable, { - initialize: function() { - this.effects = []; - this.interval = null; - }, - _each: function(iterator) { - this.effects._each(iterator); - }, - add: function(effect) { - var timestamp = new Date().getTime(); - - var position = Object.isString(effect.options.queue) ? - effect.options.queue : effect.options.queue.position; - - switch(position) { - case 'front': - // move unstarted effects after this effect - this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) { - e.startOn += effect.finishOn; - e.finishOn += effect.finishOn; - }); - break; - case 'with-last': - timestamp = this.effects.pluck('startOn').max() || timestamp; - break; - case 'end': - // start effect after last queued effect has finished - timestamp = this.effects.pluck('finishOn').max() || timestamp; - break; - } - - effect.startOn += timestamp; - effect.finishOn += timestamp; - - if (!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit)) - this.effects.push(effect); - - if (!this.interval) - this.interval = setInterval(this.loop.bind(this), 15); - }, - remove: function(effect) { - this.effects = this.effects.reject(function(e) { return e==effect }); - if (this.effects.length == 0) { - clearInterval(this.interval); - this.interval = null; - } - }, - loop: function() { - var timePos = new Date().getTime(); - for(var i=0, len=this.effects.length;i= this.startOn) { - if (timePos >= this.finishOn) { - this.render(1.0); - this.cancel(); - this.event('beforeFinish'); - if (this.finish) this.finish(); - this.event('afterFinish'); - return; - } - var pos = (timePos - this.startOn) / this.totalTime, - frame = (pos * this.totalFrames).round(); - if (frame > this.currentFrame) { - this.render(pos); - this.currentFrame = frame; - } - } - }, - cancel: function() { - if (!this.options.sync) - Effect.Queues.get(Object.isString(this.options.queue) ? - 'global' : this.options.queue.scope).remove(this); - this.state = 'finished'; - }, - event: function(eventName) { - if (this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this); - if (this.options[eventName]) this.options[eventName](this); - }, - inspect: function() { - var data = $H(); - for(property in this) - if (!Object.isFunction(this[property])) data.set(property, this[property]); - return '#'; - } -}); - -Effect.Parallel = Class.create(Effect.Base, { - initialize: function(effects) { - this.effects = effects || []; - this.start(arguments[1]); - }, - update: function(position) { - this.effects.invoke('render', position); - }, - finish: function(position) { - this.effects.each( function(effect) { - effect.render(1.0); - effect.cancel(); - effect.event('beforeFinish'); - if (effect.finish) effect.finish(position); - effect.event('afterFinish'); - }); - } -}); - -Effect.Tween = Class.create(Effect.Base, { - initialize: function(object, from, to) { - object = Object.isString(object) ? $(object) : object; - var args = $A(arguments), method = args.last(), - options = args.length == 5 ? args[3] : null; - this.method = Object.isFunction(method) ? method.bind(object) : - Object.isFunction(object[method]) ? object[method].bind(object) : - function(value) { object[method] = value }; - this.start(Object.extend({ from: from, to: to }, options || { })); - }, - update: function(position) { - this.method(position); - } -}); - -Effect.Event = Class.create(Effect.Base, { - initialize: function() { - this.start(Object.extend({ duration: 0 }, arguments[0] || { })); - }, - update: Prototype.emptyFunction -}); - -Effect.Opacity = Class.create(Effect.Base, { - initialize: function(element) { - this.element = $(element); - if (!this.element) throw(Effect._elementDoesNotExistError); - // make this work on IE on elements without 'layout' - if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout)) - this.element.setStyle({zoom: 1}); - var options = Object.extend({ - from: this.element.getOpacity() || 0.0, - to: 1.0 - }, arguments[1] || { }); - this.start(options); - }, - update: function(position) { - this.element.setOpacity(position); - } -}); - -Effect.Move = Class.create(Effect.Base, { - initialize: function(element) { - this.element = $(element); - if (!this.element) throw(Effect._elementDoesNotExistError); - var options = Object.extend({ - x: 0, - y: 0, - mode: 'relative' - }, arguments[1] || { }); - this.start(options); - }, - setup: function() { - this.element.makePositioned(); - this.originalLeft = parseFloat(this.element.getStyle('left') || '0'); - this.originalTop = parseFloat(this.element.getStyle('top') || '0'); - if (this.options.mode == 'absolute') { - this.options.x = this.options.x - this.originalLeft; - this.options.y = this.options.y - this.originalTop; - } - }, - update: function(position) { - this.element.setStyle({ - left: (this.options.x * position + this.originalLeft).round() + 'px', - top: (this.options.y * position + this.originalTop).round() + 'px' - }); - } -}); - -// for backwards compatibility -Effect.MoveBy = function(element, toTop, toLeft) { - return new Effect.Move(element, - Object.extend({ x: toLeft, y: toTop }, arguments[3] || { })); -}; - -Effect.Scale = Class.create(Effect.Base, { - initialize: function(element, percent) { - this.element = $(element); - if (!this.element) throw(Effect._elementDoesNotExistError); - var options = Object.extend({ - scaleX: true, - scaleY: true, - scaleContent: true, - scaleFromCenter: false, - scaleMode: 'box', // 'box' or 'contents' or { } with provided values - scaleFrom: 100.0, - scaleTo: percent - }, arguments[2] || { }); - this.start(options); - }, - setup: function() { - this.restoreAfterFinish = this.options.restoreAfterFinish || false; - this.elementPositioning = this.element.getStyle('position'); - - this.originalStyle = { }; - ['top','left','width','height','fontSize'].each( function(k) { - this.originalStyle[k] = this.element.style[k]; - }.bind(this)); - - this.originalTop = this.element.offsetTop; - this.originalLeft = this.element.offsetLeft; - - var fontSize = this.element.getStyle('font-size') || '100%'; - ['em','px','%','pt'].each( function(fontSizeType) { - if (fontSize.indexOf(fontSizeType)>0) { - this.fontSize = parseFloat(fontSize); - this.fontSizeType = fontSizeType; - } - }.bind(this)); - - this.factor = (this.options.scaleTo - this.options.scaleFrom)/100; - - this.dims = null; - if (this.options.scaleMode=='box') - this.dims = [this.element.offsetHeight, this.element.offsetWidth]; - if (/^content/.test(this.options.scaleMode)) - this.dims = [this.element.scrollHeight, this.element.scrollWidth]; - if (!this.dims) - this.dims = [this.options.scaleMode.originalHeight, - this.options.scaleMode.originalWidth]; - }, - update: function(position) { - var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position); - if (this.options.scaleContent && this.fontSize) - this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType }); - this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale); - }, - finish: function(position) { - if (this.restoreAfterFinish) this.element.setStyle(this.originalStyle); - }, - setDimensions: function(height, width) { - var d = { }; - if (this.options.scaleX) d.width = width.round() + 'px'; - if (this.options.scaleY) d.height = height.round() + 'px'; - if (this.options.scaleFromCenter) { - var topd = (height - this.dims[0])/2; - var leftd = (width - this.dims[1])/2; - if (this.elementPositioning == 'absolute') { - if (this.options.scaleY) d.top = this.originalTop-topd + 'px'; - if (this.options.scaleX) d.left = this.originalLeft-leftd + 'px'; - } else { - if (this.options.scaleY) d.top = -topd + 'px'; - if (this.options.scaleX) d.left = -leftd + 'px'; - } - } - this.element.setStyle(d); - } -}); - -Effect.Highlight = Class.create(Effect.Base, { - initialize: function(element) { - this.element = $(element); - if (!this.element) throw(Effect._elementDoesNotExistError); - var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || { }); - this.start(options); - }, - setup: function() { - // Prevent executing on elements not in the layout flow - if (this.element.getStyle('display')=='none') { this.cancel(); return; } - // Disable background image during the effect - this.oldStyle = { }; - if (!this.options.keepBackgroundImage) { - this.oldStyle.backgroundImage = this.element.getStyle('background-image'); - this.element.setStyle({backgroundImage: 'none'}); - } - if (!this.options.endcolor) - this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff'); - if (!this.options.restorecolor) - this.options.restorecolor = this.element.getStyle('background-color'); - // init color calculations - this._base = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this)); - this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this)); - }, - update: function(position) { - this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){ - return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart()); }.bind(this)) }); - }, - finish: function() { - this.element.setStyle(Object.extend(this.oldStyle, { - backgroundColor: this.options.restorecolor - })); - } -}); - -Effect.ScrollTo = function(element) { - var options = arguments[1] || { }, - scrollOffsets = document.viewport.getScrollOffsets(), - elementOffsets = $(element).cumulativeOffset(); - - if (options.offset) elementOffsets[1] += options.offset; - - return new Effect.Tween(null, - scrollOffsets.top, - elementOffsets[1], - options, - function(p){ scrollTo(scrollOffsets.left, p.round()); } - ); -}; - -/* ------------- combination effects ------------- */ - -Effect.Fade = function(element) { - element = $(element); - var oldOpacity = element.getInlineOpacity(); - var options = Object.extend({ - from: element.getOpacity() || 1.0, - to: 0.0, - afterFinishInternal: function(effect) { - if (effect.options.to!=0) return; - effect.element.hide().setStyle({opacity: oldOpacity}); - } - }, arguments[1] || { }); - return new Effect.Opacity(element,options); -}; - -Effect.Appear = function(element) { - element = $(element); - var options = Object.extend({ - from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0), - to: 1.0, - // force Safari to render floated elements properly - afterFinishInternal: function(effect) { - effect.element.forceRerendering(); - }, - beforeSetup: function(effect) { - effect.element.setOpacity(effect.options.from).show(); - }}, arguments[1] || { }); - return new Effect.Opacity(element,options); -}; - -Effect.Puff = function(element) { - element = $(element); - var oldStyle = { - opacity: element.getInlineOpacity(), - position: element.getStyle('position'), - top: element.style.top, - left: element.style.left, - width: element.style.width, - height: element.style.height - }; - return new Effect.Parallel( - [ new Effect.Scale(element, 200, - { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }), - new Effect.Opacity(element, { sync: true, to: 0.0 } ) ], - Object.extend({ duration: 1.0, - beforeSetupInternal: function(effect) { - Position.absolutize(effect.effects[0].element); - }, - afterFinishInternal: function(effect) { - effect.effects[0].element.hide().setStyle(oldStyle); } - }, arguments[1] || { }) - ); -}; - -Effect.BlindUp = function(element) { - element = $(element); - element.makeClipping(); - return new Effect.Scale(element, 0, - Object.extend({ scaleContent: false, - scaleX: false, - restoreAfterFinish: true, - afterFinishInternal: function(effect) { - effect.element.hide().undoClipping(); - } - }, arguments[1] || { }) - ); -}; - -Effect.BlindDown = function(element) { - element = $(element); - var elementDimensions = element.getDimensions(); - return new Effect.Scale(element, 100, Object.extend({ - scaleContent: false, - scaleX: false, - scaleFrom: 0, - scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, - restoreAfterFinish: true, - afterSetup: function(effect) { - effect.element.makeClipping().setStyle({height: '0px'}).show(); - }, - afterFinishInternal: function(effect) { - effect.element.undoClipping(); - } - }, arguments[1] || { })); -}; - -Effect.SwitchOff = function(element) { - element = $(element); - var oldOpacity = element.getInlineOpacity(); - return new Effect.Appear(element, Object.extend({ - duration: 0.4, - from: 0, - transition: Effect.Transitions.flicker, - afterFinishInternal: function(effect) { - new Effect.Scale(effect.element, 1, { - duration: 0.3, scaleFromCenter: true, - scaleX: false, scaleContent: false, restoreAfterFinish: true, - beforeSetup: function(effect) { - effect.element.makePositioned().makeClipping(); - }, - afterFinishInternal: function(effect) { - effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity}); - } - }); - } - }, arguments[1] || { })); -}; - -Effect.DropOut = function(element) { - element = $(element); - var oldStyle = { - top: element.getStyle('top'), - left: element.getStyle('left'), - opacity: element.getInlineOpacity() }; - return new Effect.Parallel( - [ new Effect.Move(element, {x: 0, y: 100, sync: true }), - new Effect.Opacity(element, { sync: true, to: 0.0 }) ], - Object.extend( - { duration: 0.5, - beforeSetup: function(effect) { - effect.effects[0].element.makePositioned(); - }, - afterFinishInternal: function(effect) { - effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle); - } - }, arguments[1] || { })); -}; - -Effect.Shake = function(element) { - element = $(element); - var options = Object.extend({ - distance: 20, - duration: 0.5 - }, arguments[1] || {}); - var distance = parseFloat(options.distance); - var split = parseFloat(options.duration) / 10.0; - var oldStyle = { - top: element.getStyle('top'), - left: element.getStyle('left') }; - return new Effect.Move(element, - { x: distance, y: 0, duration: split, afterFinishInternal: function(effect) { - new Effect.Move(effect.element, - { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { - new Effect.Move(effect.element, - { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { - new Effect.Move(effect.element, - { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { - new Effect.Move(effect.element, - { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { - new Effect.Move(effect.element, - { x: -distance, y: 0, duration: split, afterFinishInternal: function(effect) { - effect.element.undoPositioned().setStyle(oldStyle); - }}); }}); }}); }}); }}); }}); -}; - -Effect.SlideDown = function(element) { - element = $(element).cleanWhitespace(); - // SlideDown need to have the content of the element wrapped in a container element with fixed height! - var oldInnerBottom = element.down().getStyle('bottom'); - var elementDimensions = element.getDimensions(); - return new Effect.Scale(element, 100, Object.extend({ - scaleContent: false, - scaleX: false, - scaleFrom: window.opera ? 0 : 1, - scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, - restoreAfterFinish: true, - afterSetup: function(effect) { - effect.element.makePositioned(); - effect.element.down().makePositioned(); - if (window.opera) effect.element.setStyle({top: ''}); - effect.element.makeClipping().setStyle({height: '0px'}).show(); - }, - afterUpdateInternal: function(effect) { - effect.element.down().setStyle({bottom: - (effect.dims[0] - effect.element.clientHeight) + 'px' }); - }, - afterFinishInternal: function(effect) { - effect.element.undoClipping().undoPositioned(); - effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); } - }, arguments[1] || { }) - ); -}; - -Effect.SlideUp = function(element) { - element = $(element).cleanWhitespace(); - var oldInnerBottom = element.down().getStyle('bottom'); - var elementDimensions = element.getDimensions(); - return new Effect.Scale(element, window.opera ? 0 : 1, - Object.extend({ scaleContent: false, - scaleX: false, - scaleMode: 'box', - scaleFrom: 100, - scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, - restoreAfterFinish: true, - afterSetup: function(effect) { - effect.element.makePositioned(); - effect.element.down().makePositioned(); - if (window.opera) effect.element.setStyle({top: ''}); - effect.element.makeClipping().show(); - }, - afterUpdateInternal: function(effect) { - effect.element.down().setStyle({bottom: - (effect.dims[0] - effect.element.clientHeight) + 'px' }); - }, - afterFinishInternal: function(effect) { - effect.element.hide().undoClipping().undoPositioned(); - effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); - } - }, arguments[1] || { }) - ); -}; - -// Bug in opera makes the TD containing this element expand for a instance after finish -Effect.Squish = function(element) { - return new Effect.Scale(element, window.opera ? 1 : 0, { - restoreAfterFinish: true, - beforeSetup: function(effect) { - effect.element.makeClipping(); - }, - afterFinishInternal: function(effect) { - effect.element.hide().undoClipping(); - } - }); -}; - -Effect.Grow = function(element) { - element = $(element); - var options = Object.extend({ - direction: 'center', - moveTransition: Effect.Transitions.sinoidal, - scaleTransition: Effect.Transitions.sinoidal, - opacityTransition: Effect.Transitions.full - }, arguments[1] || { }); - var oldStyle = { - top: element.style.top, - left: element.style.left, - height: element.style.height, - width: element.style.width, - opacity: element.getInlineOpacity() }; - - var dims = element.getDimensions(); - var initialMoveX, initialMoveY; - var moveX, moveY; - - switch (options.direction) { - case 'top-left': - initialMoveX = initialMoveY = moveX = moveY = 0; - break; - case 'top-right': - initialMoveX = dims.width; - initialMoveY = moveY = 0; - moveX = -dims.width; - break; - case 'bottom-left': - initialMoveX = moveX = 0; - initialMoveY = dims.height; - moveY = -dims.height; - break; - case 'bottom-right': - initialMoveX = dims.width; - initialMoveY = dims.height; - moveX = -dims.width; - moveY = -dims.height; - break; - case 'center': - initialMoveX = dims.width / 2; - initialMoveY = dims.height / 2; - moveX = -dims.width / 2; - moveY = -dims.height / 2; - break; - } - - return new Effect.Move(element, { - x: initialMoveX, - y: initialMoveY, - duration: 0.01, - beforeSetup: function(effect) { - effect.element.hide().makeClipping().makePositioned(); - }, - afterFinishInternal: function(effect) { - new Effect.Parallel( - [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }), - new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }), - new Effect.Scale(effect.element, 100, { - scaleMode: { originalHeight: dims.height, originalWidth: dims.width }, - sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true}) - ], Object.extend({ - beforeSetup: function(effect) { - effect.effects[0].element.setStyle({height: '0px'}).show(); - }, - afterFinishInternal: function(effect) { - effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle); - } - }, options) - ); - } - }); -}; - -Effect.Shrink = function(element) { - element = $(element); - var options = Object.extend({ - direction: 'center', - moveTransition: Effect.Transitions.sinoidal, - scaleTransition: Effect.Transitions.sinoidal, - opacityTransition: Effect.Transitions.none - }, arguments[1] || { }); - var oldStyle = { - top: element.style.top, - left: element.style.left, - height: element.style.height, - width: element.style.width, - opacity: element.getInlineOpacity() }; - - var dims = element.getDimensions(); - var moveX, moveY; - - switch (options.direction) { - case 'top-left': - moveX = moveY = 0; - break; - case 'top-right': - moveX = dims.width; - moveY = 0; - break; - case 'bottom-left': - moveX = 0; - moveY = dims.height; - break; - case 'bottom-right': - moveX = dims.width; - moveY = dims.height; - break; - case 'center': - moveX = dims.width / 2; - moveY = dims.height / 2; - break; - } - - return new Effect.Parallel( - [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }), - new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}), - new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }) - ], Object.extend({ - beforeStartInternal: function(effect) { - effect.effects[0].element.makePositioned().makeClipping(); - }, - afterFinishInternal: function(effect) { - effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); } - }, options) - ); -}; - -Effect.Pulsate = function(element) { - element = $(element); - var options = arguments[1] || { }, - oldOpacity = element.getInlineOpacity(), - transition = options.transition || Effect.Transitions.linear, - reverser = function(pos){ - return 1 - transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2) + .5); - }; - - return new Effect.Opacity(element, - Object.extend(Object.extend({ duration: 2.0, from: 0, - afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); } - }, options), {transition: reverser})); -}; - -Effect.Fold = function(element) { - element = $(element); - var oldStyle = { - top: element.style.top, - left: element.style.left, - width: element.style.width, - height: element.style.height }; - element.makeClipping(); - return new Effect.Scale(element, 5, Object.extend({ - scaleContent: false, - scaleX: false, - afterFinishInternal: function(effect) { - new Effect.Scale(element, 1, { - scaleContent: false, - scaleY: false, - afterFinishInternal: function(effect) { - effect.element.hide().undoClipping().setStyle(oldStyle); - } }); - }}, arguments[1] || { })); -}; - -Effect.Morph = Class.create(Effect.Base, { - initialize: function(element) { - this.element = $(element); - if (!this.element) throw(Effect._elementDoesNotExistError); - var options = Object.extend({ - style: { } - }, arguments[1] || { }); - - if (!Object.isString(options.style)) this.style = $H(options.style); - else { - if (options.style.include(':')) - this.style = options.style.parseStyle(); - else { - this.element.addClassName(options.style); - this.style = $H(this.element.getStyles()); - this.element.removeClassName(options.style); - var css = this.element.getStyles(); - this.style = this.style.reject(function(style) { - return style.value == css[style.key]; - }); - options.afterFinishInternal = function(effect) { - effect.element.addClassName(effect.options.style); - effect.transforms.each(function(transform) { - effect.element.style[transform.style] = ''; - }); - }; - } - } - this.start(options); - }, - - setup: function(){ - function parseColor(color){ - if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff'; - color = color.parseColor(); - return $R(0,2).map(function(i){ - return parseInt( color.slice(i*2+1,i*2+3), 16 ); - }); - } - this.transforms = this.style.map(function(pair){ - var property = pair[0], value = pair[1], unit = null; - - if (value.parseColor('#zzzzzz') != '#zzzzzz') { - value = value.parseColor(); - unit = 'color'; - } else if (property == 'opacity') { - value = parseFloat(value); - if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout)) - this.element.setStyle({zoom: 1}); - } else if (Element.CSS_LENGTH.test(value)) { - var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/); - value = parseFloat(components[1]); - unit = (components.length == 3) ? components[2] : null; - } - - var originalValue = this.element.getStyle(property); - return { - style: property.camelize(), - originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0), - targetValue: unit=='color' ? parseColor(value) : value, - unit: unit - }; - }.bind(this)).reject(function(transform){ - return ( - (transform.originalValue == transform.targetValue) || - ( - transform.unit != 'color' && - (isNaN(transform.originalValue) || isNaN(transform.targetValue)) - ) - ); - }); - }, - update: function(position) { - var style = { }, transform, i = this.transforms.length; - while(i--) - style[(transform = this.transforms[i]).style] = - transform.unit=='color' ? '#'+ - (Math.round(transform.originalValue[0]+ - (transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart() + - (Math.round(transform.originalValue[1]+ - (transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart() + - (Math.round(transform.originalValue[2]+ - (transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart() : - (transform.originalValue + - (transform.targetValue - transform.originalValue) * position).toFixed(3) + - (transform.unit === null ? '' : transform.unit); - this.element.setStyle(style, true); - } -}); - -Effect.Transform = Class.create({ - initialize: function(tracks){ - this.tracks = []; - this.options = arguments[1] || { }; - this.addTracks(tracks); - }, - addTracks: function(tracks){ - tracks.each(function(track){ - track = $H(track); - var data = track.values().first(); - this.tracks.push($H({ - ids: track.keys().first(), - effect: Effect.Morph, - options: { style: data } - })); - }.bind(this)); - return this; - }, - play: function(){ - return new Effect.Parallel( - this.tracks.map(function(track){ - var ids = track.get('ids'), effect = track.get('effect'), options = track.get('options'); - var elements = [$(ids) || $$(ids)].flatten(); - return elements.map(function(e){ return new effect(e, Object.extend({ sync:true }, options)) }); - }).flatten(), - this.options - ); - } -}); - -Element.CSS_PROPERTIES = $w( - 'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' + - 'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' + - 'borderRightColor borderRightStyle borderRightWidth borderSpacing ' + - 'borderTopColor borderTopStyle borderTopWidth bottom clip color ' + - 'fontSize fontWeight height left letterSpacing lineHeight ' + - 'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+ - 'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' + - 'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' + - 'right textIndent top width wordSpacing zIndex'); - -Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/; - -String.__parseStyleElement = document.createElement('div'); -String.prototype.parseStyle = function(){ - var style, styleRules = $H(); - if (Prototype.Browser.WebKit) - style = new Element('div',{style:this}).style; - else { - String.__parseStyleElement.innerHTML = '
      '; - style = String.__parseStyleElement.childNodes[0].style; - } - - Element.CSS_PROPERTIES.each(function(property){ - if (style[property]) styleRules.set(property, style[property]); - }); - - if (Prototype.Browser.IE && this.include('opacity')) - styleRules.set('opacity', this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]); - - return styleRules; -}; - -if (document.defaultView && document.defaultView.getComputedStyle) { - Element.getStyles = function(element) { - var css = document.defaultView.getComputedStyle($(element), null); - return Element.CSS_PROPERTIES.inject({ }, function(styles, property) { - styles[property] = css[property]; - return styles; - }); - }; -} else { - Element.getStyles = function(element) { - element = $(element); - var css = element.currentStyle, styles; - styles = Element.CSS_PROPERTIES.inject({ }, function(results, property) { - results[property] = css[property]; - return results; - }); - if (!styles.opacity) styles.opacity = element.getOpacity(); - return styles; - }; -} - -Effect.Methods = { - morph: function(element, style) { - element = $(element); - new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || { })); - return element; - }, - visualEffect: function(element, effect, options) { - element = $(element); - var s = effect.dasherize().camelize(), klass = s.charAt(0).toUpperCase() + s.substring(1); - new Effect[klass](element, options); - return element; - }, - highlight: function(element, options) { - element = $(element); - new Effect.Highlight(element, options); - return element; - } -}; - -$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+ - 'pulsate shake puff squish switchOff dropOut').each( - function(effect) { - Effect.Methods[effect] = function(element, options){ - element = $(element); - Effect[effect.charAt(0).toUpperCase() + effect.substring(1)](element, options); - return element; - }; - } -); - -$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each( - function(f) { Effect.Methods[f] = Element[f]; } -); - -Element.addMethods(Effect.Methods); \ No newline at end of file diff --git a/sources/html/js/forecast.js b/sources/html/js/forecast.js deleted file mode 100644 index 8195bd1..0000000 --- a/sources/html/js/forecast.js +++ /dev/null @@ -1,25 +0,0 @@ - -/* - * This file is part of NOALYSS. - * - * NOALYSS is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * NOALYSS is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with NOALYSS; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -/* $Revision$ */ - -// Copyright Author Dany De Bontridder danydb@aevalys.eu - -/*!\file - * \brief - */ diff --git a/sources/html/js/gestion.js b/sources/html/js/gestion.js deleted file mode 100644 index d7c0e5d..0000000 --- a/sources/html/js/gestion.js +++ /dev/null @@ -1,389 +0,0 @@ -/* - * This file is part of NOALYSS. - * - * NOALYSS is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * NOALYSS is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with NOALYSS; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -/* $Revision$ */ - -// Copyright Author Dany De Bontridder danydb@aevalys.eu - -/*!\file - * \brief javascript scripts for the gestion - * - */ - - - -/** - *@brief remove an attached document of an action - *@param dossier - *@param dt_id id of the document (pk document:d_id) -*/ -function remove_document(p_dossier,p_id) -{ - var queryString="gDossier="+p_dossier+"&a=rm&d_id="+p_id; - var action=new Ajax.Request ( - "show_document.php", - { - method:'get', - parameters:queryString, - onFailure:errorRemoveDoc, - onSuccess:successRemoveDoc - } - - ); - -} -/** - *@brief update the description of an attached document of an action - *@param dossier - *@param dt_id id of the document (pk document:d_id) -*/ -function update_document(p_dossier,p_id) -{ - var queryString="gDossier="+p_dossier+"&a=upd_doc&d_id="+p_id; - queryString+="&value="+$('input_desc_txt'+p_id).value; - var action=new Ajax.Request ( - "show_document.php", - { - method:'get', - parameters:queryString, - onFailure:errorRemoveDoc, - onSuccess:function(req){ - $('input_desc'+p_id).hide(); - $('print_desc'+p_id).innerHTML=$('input_desc_txt'+p_id).value+'Modifier'; - $('print_desc'+p_id).show(); - } - } - - ); - return false; -} - -/** - *@brief remove the concerned operation of an action - *@param dossier - *@param p_id id pk action_comment_operation -*/ -function remove_operation(p_dossier,p_id) -{ - var queryString="gDossier="+p_dossier+"&a=rmop&id="+p_id; - var action=new Ajax.Request ( - "show_document.php", - { - method:'get', - parameters:queryString, - onFailure:errorRemoveDoc, - onSuccess:successRemoveOp - } - - ); - -} -function successRemoveOp(request,json) -{ - try{ - var answer=request.responseText.evalJSON(true); - if ( answer.ago_id == -1 ) { alert_box ('Effacement non autorisé');return;} - - var action="acop"+answer.ago_id; - $(action).innerHTML=""; - var doc="op"+answer.ago_id; - $(doc).style.color="red"; - $(doc).href="javascript:alert_box('Commentaire Effacé')"; - $(doc).style.textDecoration="line-through"; - }catch(e){ - alert_box(e.message); - } -} -/** - *@brief remove the concerned operation of an action - *@param dossier - *@param p_id id pk action_comment_operation -*/ -function remove_action(p_dossier,p_id,ag_id) -{ - queryString="gDossier="+p_dossier+"&a=rmaction&id="+p_id+"&ag_id="+ag_id; - var action=new Ajax.Request ( - "show_document.php", - { - method:'get', - parameters:queryString, - onFailure:ajax_misc_failure, - onSuccess:function(request,json) { - try{ - var answer=request.responseText.evalJSON(true); - if ( answer.act_id == -1 ) { alert_box ('Effacement non autorisé');return;} - var action="acact"+answer.act_id; - $(action).innerHTML=""; - var doc="act"+answer.act_id; - $(doc).style.color="red"; - $(doc).href="javascript:alert_box('Action Effacée')"; - $(doc).style.textDecoration="line-through"; - } catch (e){ alert_box(e.message);} - } - } - - ); - -} -/** - *@brief remove comment of an action - *@param dossier - *@param p_id pk action_gestion_comment -*/ -function remove_comment(p_dossier,p_id) -{ - queryString="gDossier="+p_dossier+"&a=rmcomment&id="+p_id; - var action=new Ajax.Request ( - "show_document.php", - { - method:'get', - parameters:queryString, - onFailure:errorRemoveDoc, - onSuccess:successRemoveComment - } - - ); - -} -function successRemoveComment(request,json) -{ - var answer=request.responseText.evalJSON(true); - if ( answer.agc_id == -1 ) { alert_box ('Effacement non autorisé');return;} - var action="accom"+answer.agc_id; - $(action).innerHTML=""; - var doc="com"+answer.agc_id; - $(doc).style.color="red"; - $(doc).href="javascript:alert_box('Commentaire Effacé')"; - $(doc).style.textDecoration="line-through"; - -} -/** - *@brief error if a document if removed - */ -function errorRemoveDoc() -{ - alert_box('Impossible d\'effacer ce document'); -} -/** - *@brief success when removing a document - */ -function successRemoveDoc(request,json) -{ - var answer=request.responseText.evalJSON(true); - if ( answer.d_id == -1 ) { alert_box ('Effacement non autorisé');return;} - var action="ac"+answer.d_id; - $(action).innerHTML=""; - var doc="doc"+answer.d_id; - $(doc).style.color="red"; - $(doc).href="javascript:alert_box('Document Effacé')"; - $(doc).style.textDecoration="line-through"; - $('desc'+answer.d_id).innerHTML=""; - -} -/** -* @brief check the format of the hour -* @param p_ctl is the control where the hour is encoded -*/ -function check_hour(p_ctl) -{ - try - { - var h=document.getElementById(p_ctl); - var re = /^\d{1,2}:\d{2}$/; - if ( trim(h.value) !='' && ! h.value.match(re)) - alert_box("Format de l'heure est HH:MM ") - } - catch (erreur) - { - alert_box('fct : check_hour '+erreur); - } - -} -/** - *@brief remove an attached document of an action - *@param dossier - *@param dt_id id of the document (pk document:d_id) -*/ - -function removeStock(s_id,p_dossier) -{ - smoke.confirm("Confirmez-vous l'effacement de cette entrée dans le stock?", - function (a) { - if (a) - { - queryString="gDossier="+p_dossier+"&op=rm_stock&s_id="+s_id; - var action=new Ajax.Request ( - "ajax_misc.php", - { - method:'get', - parameters:queryString, - onFailure:errorRemoveStock, - onSuccess:successRemoveStock - } - ); - - } - else { - return ; - } - }); -} -/** - *@brief error if a document if removed - */ -function errorRemoveStock() -{ - alert_box('Impossible d\'effacer '); -} -/** - *@brief success when removing a document - */ -function successRemoveStock(request,json) -{ - try - { - var answer=request.responseText.evalJSON(true); - var doc="stock"+answer.d_id; - var href="href"+answer.d_id; - $(href).innerHTML=''; - - $(doc).style.color="red"; - // $(doc).href="javascript:alert_box('Stock Effacé')"; - $(doc).style.textDecoration="line-through"; - } catch (e) -{ - alert_box("success_box"+e.message); - } -} -/** - * @brief display details of the last actions in management - * called from dashboard - * @param p_dossier : dossier id - */ -function action_show(p_dossier) -{ - try { - waiting_box(); - var action = new Ajax.Request('ajax_misc.php', - { - method:'get', - parameters : {gDossier:p_dossier,'op':'action_show'}, - onSuccess : function(p_xml, p_text) { - remove_waiting_box(); - add_div({id: 'action_list_div', style:"top:1%;width:90%;left:5%" , cssclass: 'inner_box'}); - $('action_list_div').innerHTML=p_xml.responseText; - } - }); - } catch (e) - { - alert_box('action_show '+e.message); - } -} -/** - * @brief Display a box for adding a new event - * @param {type} p_dossier - * @returns {undefined} - */ -function action_add(p_dossier) { - try { - if ( $('action_add_div')) { - alert_box('Désolé, événement en cours de création à sauver'); - return; - } - waiting_box(); - var action = new Ajax.Request('ajax_misc.php', - { - method:'get', - parameters : {gDossier:p_dossier,'op':'action_add'}, - onSuccess : function(p_xml, p_text) { - remove_waiting_box(); - add_div({id: 'action_add_div', - style:"top:1%;width:80%;left:10%" , - cssclass: 'inner_box'}); - $('action_add_div').innerHTML=p_xml.responseText; - p_xml.responseText.evalScripts(); - } - }); - } catch (e) - { - alert_box('action_add '+e.message); - } -} -/** - * @brief The new event is entered into the div action_add_div, we try - * to save and receive as answer a XML file with a code of success and possibly - * a message - * If the message is OK then the div is fading out, otherwise the reason of - * failure is shown and the div remains - */ -function action_save_short() -{ - try { - $('action_add_frm_info').innerHTML=""; - $('action_add_frm')['date_event_action_short'].parentNode.className=""; - $('action_add_frm')['title_event'].parentNode.className=""; - $('action_add_frm')['type_event'].parentNode.className=""; - - if ( $('action_add_frm')['date_event_action_short'].value.trim() == '') { - $('action_add_frm')['date_event_action_short'].parentNode.className="notice"; - return false; - } - - if ( $('action_add_frm')['title_event'].value.trim()=="") { - $('action_add_frm')['title_event'].parentNode.className="notice"; - return false; - } - - if ( $('action_add_frm')['type_event'].options[$('action_add_frm')['type_event'].selectedIndex].value == -1 ) - { - $('action_add_frm')['type_event'].parentNode.className="notice"; - return false; - } - var form=$('action_add_frm').serialize(); - waiting_box(); - var action = new Ajax.Request('ajax_misc.php', - { - method: 'get', - parameters: form, - onSuccess: function (p_xml, p_text) { - remove_waiting_box(); - var answer=p_xml.responseXML; - var code_tags=answer.getElementsByTagName('status'); - var code=getNodeText(code_tags[0]); - var message_tags=answer.getElementsByTagName('content'); - var message=getNodeText(message_tags[0]); - - if ( code == 'OK') { - // Successfully saved - $('action_add_frm_info').innerHTML=message; - $('action_add_div').remove(); - - } - else if (code == 'NOK') { - // issue while saving - $('action_add_frm_info').innerHTML=message; - } - - - } - }); - } catch (e) - { - alert_box('action_add ' + e.message); - } - return false; -} \ No newline at end of file diff --git a/sources/html/js/infobulle.js b/sources/html/js/infobulle.js deleted file mode 100644 index 3b9244c..0000000 --- a/sources/html/js/infobulle.js +++ /dev/null @@ -1,98 +0,0 @@ -/* - * This file is part of NOALYSS. - * - * NOALYSS is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * NOALYSS is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with NOALYSS; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -/*!\file - * \brief create the infobulle, the internalization is not yet implemented - * \code - // Example - echo JS_INFOBULLE; - echo HtmlInput::infobulle(x); - \endcode - */ - -var posX=0,posY=0,offsetX=10,offsetY=10; -document.onmousemove=getPosition; -var content=new Array(); -content[0]="Cherchez en saisissant le quickcode, le poste comptable ou une partie du nom de la fiche ou de l'adresse"; -content[1]="(optionnel) La description est un commentaire libre qui sert à identifier cette opération"; -content[2]="Selectionnez le journal où l'opération doit être sauvée"; -content[3]="Les périodes comptables servent comme un second contrôle pour la date de l'opération. Modifiez dans vos préférence pour avoir une autre période par défaut. Pour ne plus avoir à changer la période aller dans COMPANY, et mettez \"Afficher la période comptable\" à non"; -content[4]="(optionnel) L'échéance est la date limite de paiement"; -content[5]="(optionnel)Le numéro d'extrait permet de retrouver plus facilement l'extrait de banque"; -content[6]="Indiquez ici le prix hors tva si vous êtes affilié à la tva et que vous pouvez la déduire , sinon indiquez ici le total tva incluse et utilisez un taux tva de 0%"; -content[7]="(optionnel) Ces champs servent à contrôler que les montants correspondent à l'extrait"; -content[8]="(optionnel) Ce montant correspond au total tva, si vous le laissez à vide, il sera calculé automatiquement en fonction du taux"; -content[9]="Tapez le numéro de poste ou une partie du poste ou du libellé puis sur recherche, Si vous avez donné un quickcode, le poste comptable ne sera pas utilisé"; -content[10]="ATTENTION changer le poste comptable d'une fiche ne modifiera pas toutes les opérations où cette fiche est utilisée"; -content[11]="ATTENTION si le poste comptable est vide, il sera créé automatiquement"; -content[12]="Document généré uniquement si le mode de paiement est utilisé"; -content[13]="Vous pouvez utiliser le % pour indiquer le poste parent"; -content[14]="Attention, le poste comptable doit exister, il ne sera pas vérifié"; -content[15]="Laissez à 0 pour ne rien changer"; -content[16]="Vous devez donner la date par opération"; -content[17]="Cliquez sur le titre d'une colonne pour trier"; -content[18]="Donnez une partie du nom, prénom, de la description, du poste comptable, du n° de TVA,quick code ... "; -content[19]="Donnez une partie du nom, de la description, du n° de TVA du poste comptable ou du quick code"; -content[20]="Les menus ne peuvent dépendre que dans d'un menu principal ou d'un menu, si cette liste est vide, ajouter des modules ou menu principal sans donner de dépendance"; -content[21]="Donnez un nombre entre 0 & 100"; -content[22]="Donnez une partie du nom du dossier,du nom, du prénom ou du login pour filtrer"; -content[23]="Donnez une partie du nom du dossier ou de la description pour filtrer"; -content[24]="Donnez une partie du poste comptable ou du libellé pour filtrer"; -content[25]="Donnez une partie du libellé, la date, le montant ou le numéro d'opération pour filtrer, cela n'efface pas ce qui a déjà été sélectionné"; -content[26]="Donnez une partie du quickcode, nom, description... pour filtrer"; -content[27]="Attention, SI la fiche a changé de poste comptable, c'est seulement le dernier qui est affiché"; -content[28]="Attention Différence entre TVA calculée et donnée"; -content[29]="Si vous ne donnez pas de nom, ce sera le nom du fichier qui sera utilisé"; -content[30]="Peut contenir une information telle que le message structuré sur le virement"; -content[31]="Peut contenir un numéro de bon de commande"; -content[32]='

      Remarque : choix possibles

      • Détail opérations ne donne pas le même résultat si on regarde tous les journaux ou un journal de type ACH ou VEN
      • Liste opérations ne donne pas le même résultat si on regarde tous les journaux ou un journal de type ACH ou VEN
      • Journaux VEN ou ACH en mode "détail opérations" donne les détails des factures, y compris les montants, TVA et quantité par article
      • Journaux VEN ou ACH en mode "liste opérations" donne pour chaque opération, le total de la TVA, ND, ...
      '; -content[33]='le type vaut :
      • ME pour Menu
      • PR pour les impressions
      • PL pour les plugins
      • SP pour des valeurs spéciales
      '; -content[34]='Cliquez sur le code AD pour ouvrir le menu dans un nouvel onglet'; -content[35]='Cliquez sur le chemin pour ouvrir le menu'; -content[36]='En utilisant les dates d\'échéance ou de paiement, seuls les journaux de type ACH et VEN seront utilisés ,vous excluez d\'office les autres journaux'; -content[37]='Les dates sont en format DD.MM.YYYY'; -content[38]='La numérotation est propre à chaque journal. Laissez à 0 pour ne pas changer le numéro'; -content[39]='Le préfixe des pièces doit être différent pour chaque journal, on peut aussi utiliser l\'année'; -content[40]='Laissez à 0 pour ne pas changer le numéro'; -content[41]='Mettez le pourcentage à zéro pour effacer la ligne'; -content[42]="Selectionnez le plan qui vous intéresse avant de cliquer sur Recherche"; - -function showBulle(p_ctl){ - var d=document.getElementById('bulle'); - d.innerHTML=content[p_ctl]; - d.style.top=posY+offsetY+"px"; - d.style.left=posX+offsetX+"px"; - d.style.visibility="visible"; -} -function getPosition(e) -{ - if (document.all) - { - posX=event.x+document.body.scrollLeft; - posY=event.y+document.body.scrollTop; - } - else - { - posX=e.pageX; - posY=e.pageY; - } -} -function hideBulle(p_ctl) -{ - var d=document.getElementById('bulle'); - d.style.visibility="hidden"; -} diff --git a/sources/html/js/jcalendar.js b/sources/html/js/jcalendar.js deleted file mode 100644 index defe0df..0000000 --- a/sources/html/js/jcalendar.js +++ /dev/null @@ -1,3 +0,0 @@ -function test() { - alert("GO"); -} \ No newline at end of file diff --git a/sources/html/js/lang/calendar-af.js b/sources/html/js/lang/calendar-af.js deleted file mode 100644 index aeda581..0000000 --- a/sources/html/js/lang/calendar-af.js +++ /dev/null @@ -1,39 +0,0 @@ -// ** I18N Afrikaans -Calendar._DN = new Array -("Sondag", - "Maandag", - "Dinsdag", - "Woensdag", - "Donderdag", - "Vrydag", - "Saterdag", - "Sondag"); -Calendar._MN = new Array -("Januarie", - "Februarie", - "Maart", - "April", - "Mei", - "Junie", - "Julie", - "Augustus", - "September", - "Oktober", - "November", - "Desember"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Verander eerste dag van die week"; -Calendar._TT["PREV_YEAR"] = "Vorige jaar (hou vir keuselys)"; -Calendar._TT["PREV_MONTH"] = "Vorige maand (hou vir keuselys)"; -Calendar._TT["GO_TODAY"] = "Gaan na vandag"; -Calendar._TT["NEXT_MONTH"] = "Volgende maand (hou vir keuselys)"; -Calendar._TT["NEXT_YEAR"] = "Volgende jaar (hou vir keuselys)"; -Calendar._TT["SEL_DATE"] = "Kies datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Sleep om te skuif"; -Calendar._TT["PART_TODAY"] = " (vandag)"; -Calendar._TT["MON_FIRST"] = "Vertoon Maandag eerste"; -Calendar._TT["SUN_FIRST"] = "Display Sunday first"; -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; diff --git a/sources/html/js/lang/calendar-al.js b/sources/html/js/lang/calendar-al.js deleted file mode 100644 index d028e37..0000000 --- a/sources/html/js/lang/calendar-al.js +++ /dev/null @@ -1,100 +0,0 @@ -// Calendar ALBANIAN language -//author Rigels Gordani rige@hotmail.com - -// ditet -Calendar._DN = new Array -("E Diele", -"E Hene", -"E Marte", -"E Merkure", -"E Enjte", -"E Premte", -"E Shtune", -"E Diele"); - -//ditet shkurt -Calendar._SDN = new Array -("Die", -"Hen", -"Mar", -"Mer", -"Enj", -"Pre", -"Sht", -"Die"); - -// muajt -Calendar._MN = new Array -("Janar", -"Shkurt", -"Mars", -"Prill", -"Maj", -"Qeshor", -"Korrik", -"Gusht", -"Shtator", -"Tetor", -"Nentor", -"Dhjetor"); - -// muajte shkurt -Calendar._SMN = new Array -("Jan", -"Shk", -"Mar", -"Pri", -"Maj", -"Qes", -"Kor", -"Gus", -"Sht", -"Tet", -"Nen", -"Dhj"); - -// ndihmesa -Calendar._TT = {}; -Calendar._TT["INFO"] = "Per kalendarin"; - -Calendar._TT["ABOUT"] = -"Zgjedhes i ores/dates ne DHTML \n" + -"\n\n" +"Zgjedhja e Dates:\n" + -"- Perdor butonat \xab, \xbb per te zgjedhur vitin\n" + -"- Perdor butonat" + String.fromCharCode(0x2039) + ", " + -String.fromCharCode(0x203a) + -" per te zgjedhur muajin\n" + -"- Mbani shtypur butonin e mousit per nje zgjedje me te shpejte."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Zgjedhja e kohes:\n" + -"- Kliko tek ndonje nga pjeset e ores per ta rritur ate\n" + -"- ose kliko me Shift per ta zvogeluar ate\n" + -"- ose cliko dhe terhiq per zgjedhje me te shpejte."; - -Calendar._TT["PREV_YEAR"] = "Viti i shkuar (prit per menune)"; -Calendar._TT["PREV_MONTH"] = "Muaji i shkuar (prit per menune)"; -Calendar._TT["GO_TODAY"] = "Sot"; -Calendar._TT["NEXT_MONTH"] = "Muaji i ardhshem (prit per menune)"; -Calendar._TT["NEXT_YEAR"] = "Viti i ardhshem (prit per menune)"; -Calendar._TT["SEL_DATE"] = "Zgjidh daten"; -Calendar._TT["DRAG_TO_MOVE"] = "Terhiqe per te levizur"; -Calendar._TT["PART_TODAY"] = " (sot)"; - -// "%s" eshte dita e pare e javes -// %s do te zevendesohet me emrin e dite -Calendar._TT["DAY_FIRST"] = "Trego te %s te paren"; - - -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Mbyll"; -Calendar._TT["TODAY"] = "Sot"; -Calendar._TT["TIME_PART"] = "Kliko me (Shift-)ose terhiqe per te ndryshuar vleren"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "Java"; -Calendar._TT["TIME"] = "Koha:"; - diff --git a/sources/html/js/lang/calendar-bg.js b/sources/html/js/lang/calendar-bg.js deleted file mode 100644 index 4f4fd86..0000000 --- a/sources/html/js/lang/calendar-bg.js +++ /dev/null @@ -1,124 +0,0 @@ -// ** I18N - -// Calendar BG language -// Author: Mihai Bazon, -// Translator: Valentin Sheiretsky, -// Encoding: Windows-1251 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Íåäåëÿ", - "Ïîíåäåëíèê", - "Âòîðíèê", - "Ñðÿäà", - "×åòâúðòúê", - "Ïåòúê", - "Ñúáîòà", - "Íåäåëÿ"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Íåä", - "Ïîí", - "Âòî", - "Ñðÿ", - "×åò", - "Ïåò", - "Ñúá", - "Íåä"); - -// full month names -Calendar._MN = new Array -("ßíóàðè", - "Ôåâðóàðè", - "Ìàðò", - "Àïðèë", - "Ìàé", - "Þíè", - "Þëè", - "Àâãóñò", - "Ñåïòåìâðè", - "Îêòîìâðè", - "Íîåìâðè", - "Äåêåìâðè"); - -// short month names -Calendar._SMN = new Array -("ßíó", - "Ôåâ", - "Ìàð", - "Àïð", - "Ìàé", - "Þíè", - "Þëè", - "Àâã", - "Ñåï", - "Îêò", - "Íîå", - "Äåê"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Èíôîðìàöèÿ çà êàëåíäàðà"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Date selection:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + -"- Hold mouse button on any of the above buttons for faster selection."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- Click on any of the time parts to increase it\n" + -"- or Shift-click to decrease it\n" + -"- or click and drag for faster selection."; - -Calendar._TT["PREV_YEAR"] = "Ïðåäíà ãîäèíà (çàäðúæòå çà ìåíþ)"; -Calendar._TT["PREV_MONTH"] = "Ïðåäåí ìåñåö (çàäðúæòå çà ìåíþ)"; -Calendar._TT["GO_TODAY"] = "Èçáåðåòå äíåñ"; -Calendar._TT["NEXT_MONTH"] = "Ñëåäâàù ìåñåö (çàäðúæòå çà ìåíþ)"; -Calendar._TT["NEXT_YEAR"] = "Ñëåäâàùà ãîäèíà (çàäðúæòå çà ìåíþ)"; -Calendar._TT["SEL_DATE"] = "Èçáåðåòå äàòà"; -Calendar._TT["DRAG_TO_MOVE"] = "Ïðåìåñòâàíå"; -Calendar._TT["PART_TODAY"] = " (äíåñ)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "%s êàòî ïúðâè äåí"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Çàòâîðåòå"; -Calendar._TT["TODAY"] = "Äíåñ"; -Calendar._TT["TIME_PART"] = "(Shift-)Click èëè drag çà äà ïðîìåíèòå ñòîéíîñòòà"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%A - %e %B %Y"; - -Calendar._TT["WK"] = "Ñåäì"; -Calendar._TT["TIME"] = "×àñ:"; diff --git a/sources/html/js/lang/calendar-big5-utf8.js b/sources/html/js/lang/calendar-big5-utf8.js deleted file mode 100644 index 14e0d5d..0000000 --- a/sources/html/js/lang/calendar-big5-utf8.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar big5-utf8 language -// Author: Gary Fu, -// Encoding: utf8 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("星期日", - "星期一", - "星期二", - "星期三", - "星期四", - "星期五", - "星期六", - "星期日"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("æ—¥", - "一", - "二", - "三", - "å››", - "五", - "å…­", - "æ—¥"); - -// full month names -Calendar._MN = new Array -("一月", - "二月", - "三月", - "四月", - "五月", - "六月", - "七月", - "八月", - "ä¹æœˆ", - "å月", - "å一月", - "å二月"); - -// short month names -Calendar._SMN = new Array -("一月", - "二月", - "三月", - "四月", - "五月", - "六月", - "七月", - "八月", - "ä¹æœˆ", - "å月", - "å一月", - "å二月"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "關於"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"日期é¸æ“‡æ–¹æ³•:\n" + -"- 使用 \xab, \xbb 按鈕å¯é¸æ“‡å¹´ä»½\n" + -"- 使用 " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " 按鈕å¯é¸æ“‡æœˆä»½\n" + -"- 按ä½ä¸Šé¢çš„按鈕å¯ä»¥åŠ å¿«é¸å–"; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"時間é¸æ“‡æ–¹æ³•:\n" + -"- 點擊任何的時間部份å¯å¢žåŠ å…¶å€¼\n" + -"- åŒæ™‚按Shiftéµå†é»žæ“Šå¯æ¸›å°‘其值\n" + -"- 點擊並拖曳å¯åŠ å¿«æ”¹è®Šçš„值"; - -Calendar._TT["PREV_YEAR"] = "上一年 (按ä½é¸å–®)"; -Calendar._TT["PREV_MONTH"] = "下一年 (按ä½é¸å–®)"; -Calendar._TT["GO_TODAY"] = "到今日"; -Calendar._TT["NEXT_MONTH"] = "上一月 (按ä½é¸å–®)"; -Calendar._TT["NEXT_YEAR"] = "下一月 (按ä½é¸å–®)"; -Calendar._TT["SEL_DATE"] = "é¸æ“‡æ—¥æœŸ"; -Calendar._TT["DRAG_TO_MOVE"] = "拖曳"; -Calendar._TT["PART_TODAY"] = " (今日)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "å°‡ %s 顯示在å‰"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "關閉"; -Calendar._TT["TODAY"] = "今日"; -Calendar._TT["TIME_PART"] = "點擊or拖曳å¯æ”¹è®Šæ™‚é–“(åŒæ™‚按Shift為減)"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "週"; -Calendar._TT["TIME"] = "Time:"; diff --git a/sources/html/js/lang/calendar-big5.js b/sources/html/js/lang/calendar-big5.js deleted file mode 100644 index a589358..0000000 --- a/sources/html/js/lang/calendar-big5.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar big5 language -// Author: Gary Fu, -// Encoding: big5 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("¬P´Á¤é", - "¬P´Á¤@", - "¬P´Á¤G", - "¬P´Á¤T", - "¬P´Á¥|", - "¬P´Á¤­", - "¬P´Á¤»", - "¬P´Á¤é"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("¤é", - "¤@", - "¤G", - "¤T", - "¥|", - "¤­", - "¤»", - "¤é"); - -// full month names -Calendar._MN = new Array -("¤@¤ë", - "¤G¤ë", - "¤T¤ë", - "¥|¤ë", - "¤­¤ë", - "¤»¤ë", - "¤C¤ë", - "¤K¤ë", - "¤E¤ë", - "¤Q¤ë", - "¤Q¤@¤ë", - "¤Q¤G¤ë"); - -// short month names -Calendar._SMN = new Array -("¤@¤ë", - "¤G¤ë", - "¤T¤ë", - "¥|¤ë", - "¤­¤ë", - "¤»¤ë", - "¤C¤ë", - "¤K¤ë", - "¤E¤ë", - "¤Q¤ë", - "¤Q¤@¤ë", - "¤Q¤G¤ë"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Ãö©ó"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"¤é´Á¿ï¾Ü¤èªk:\n" + -"- ¨Ï¥Î \xab, \xbb «ö¶s¥i¿ï¾Ü¦~¥÷\n" + -"- ¨Ï¥Î " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " «ö¶s¥i¿ï¾Ü¤ë¥÷\n" + -"- «ö¦í¤W­±ªº«ö¶s¥i¥H¥[§Ö¿ï¨ú"; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"®É¶¡¿ï¾Ü¤èªk:\n" + -"- ÂIÀ»¥ô¦óªº®É¶¡³¡¥÷¥i¼W¥[¨ä­È\n" + -"- ¦P®É«öShiftÁä¦AÂIÀ»¥i´î¤Ö¨ä­È\n" + -"- ÂIÀ»¨Ã©ì¦²¥i¥[§Ö§ïÅܪº­È"; - -Calendar._TT["PREV_YEAR"] = "¤W¤@¦~ («ö¦í¿ï³æ)"; -Calendar._TT["PREV_MONTH"] = "¤U¤@¦~ («ö¦í¿ï³æ)"; -Calendar._TT["GO_TODAY"] = "¨ì¤µ¤é"; -Calendar._TT["NEXT_MONTH"] = "¤W¤@¤ë («ö¦í¿ï³æ)"; -Calendar._TT["NEXT_YEAR"] = "¤U¤@¤ë («ö¦í¿ï³æ)"; -Calendar._TT["SEL_DATE"] = "¿ï¾Ü¤é´Á"; -Calendar._TT["DRAG_TO_MOVE"] = "©ì¦²"; -Calendar._TT["PART_TODAY"] = " (¤µ¤é)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "±N %s Åã¥Ü¦b«e"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Ãö³¬"; -Calendar._TT["TODAY"] = "¤µ¤é"; -Calendar._TT["TIME_PART"] = "ÂIÀ»or©ì¦²¥i§ïÅܮɶ¡(¦P®É«öShift¬°´î)"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "¶g"; -Calendar._TT["TIME"] = "Time:"; diff --git a/sources/html/js/lang/calendar-br.js b/sources/html/js/lang/calendar-br.js deleted file mode 100644 index bfb0747..0000000 --- a/sources/html/js/lang/calendar-br.js +++ /dev/null @@ -1,108 +0,0 @@ -// ** I18N - -// Calendar pt-BR language -// Author: Fernando Dourado, -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Domingo", - "Segunda", - "Terça", - "Quarta", - "Quinta", - "Sexta", - "Sabádo", - "Domingo"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -// [No changes using default values] - -// full month names -Calendar._MN = new Array -("Janeiro", - "Fevereiro", - "Março", - "Abril", - "Maio", - "Junho", - "Julho", - "Agosto", - "Setembro", - "Outubro", - "Novembro", - "Dezembro"); - -// short month names -// [No changes using default values] - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Sobre o calendário"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Translate to portuguese Brazil (pt-BR) by Fernando Dourado (fernando.dourado@ig.com.br)\n" + -"Tradução para o português Brasil (pt-BR) por Fernando Dourado (fernando.dourado@ig.com.br)" + -"\n\n" + -"Selecionar data:\n" + -"- Use as teclas \xab, \xbb para selecionar o ano\n" + -"- Use as teclas " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para selecionar o mês\n" + -"- Clique e segure com o mouse em qualquer botão para selecionar rapidamente."; - -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Selecionar hora:\n" + -"- Clique em qualquer uma das partes da hora para aumentar\n" + -"- ou Shift-clique para diminuir\n" + -"- ou clique e arraste para selecionar rapidamente."; - -Calendar._TT["PREV_YEAR"] = "Ano anterior (clique e segure para menu)"; -Calendar._TT["PREV_MONTH"] = "Mês anterior (clique e segure para menu)"; -Calendar._TT["GO_TODAY"] = "Ir para a data atual"; -Calendar._TT["NEXT_MONTH"] = "Próximo mês (clique e segure para menu)"; -Calendar._TT["NEXT_YEAR"] = "Próximo ano (clique e segure para menu)"; -Calendar._TT["SEL_DATE"] = "Selecione uma data"; -Calendar._TT["DRAG_TO_MOVE"] = "Clique e segure para mover"; -Calendar._TT["PART_TODAY"] = " (hoje)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Exibir %s primeiro"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Fechar"; -Calendar._TT["TODAY"] = "Hoje"; -Calendar._TT["TIME_PART"] = "(Shift-)Clique ou arraste para mudar o valor"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%d de %B de %Y"; - -Calendar._TT["WK"] = "sem"; -Calendar._TT["TIME"] = "Hora:"; - diff --git a/sources/html/js/lang/calendar-ca.js b/sources/html/js/lang/calendar-ca.js deleted file mode 100644 index a2121bc..0000000 --- a/sources/html/js/lang/calendar-ca.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar CA language -// Author: Mihai Bazon, -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Diumenge", - "Dilluns", - "Dimarts", - "Dimecres", - "Dijous", - "Divendres", - "Dissabte", - "Diumenge"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Diu", - "Dil", - "Dmt", - "Dmc", - "Dij", - "Div", - "Dis", - "Diu"); - -// full month names -Calendar._MN = new Array -("Gener", - "Febrer", - "Març", - "Abril", - "Maig", - "Juny", - "Juliol", - "Agost", - "Setembre", - "Octubre", - "Novembre", - "Desembre"); - -// short month names -Calendar._SMN = new Array -("Gen", - "Feb", - "Mar", - "Abr", - "Mai", - "Jun", - "Jul", - "Ago", - "Set", - "Oct", - "Nov", - "Des"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Sobre el calendari"; - -Calendar._TT["ABOUT"] = -"DHTML Selector de Data/Hora\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Sel.lecció de Dates:\n" + -"- Fes servir els botons \xab, \xbb per sel.leccionar l'any\n" + -"- Fes servir els botons " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " per se.lecciconar el mes\n" + -"- Manté el ratolí apretat en qualsevol dels anteriors per sel.lecció ràpida."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- claca en qualsevol de les parts de la hora per augmentar-les\n" + -"- o Shift-click per decrementar-la\n" + -"- or click and arrastra per sel.lecció ràpida."; - -Calendar._TT["PREV_YEAR"] = "Any anterior (Mantenir per menu)"; -Calendar._TT["PREV_MONTH"] = "Mes anterior (Mantenir per menu)"; -Calendar._TT["GO_TODAY"] = "Anar a avui"; -Calendar._TT["NEXT_MONTH"] = "Mes següent (Mantenir per menu)"; -Calendar._TT["NEXT_YEAR"] = "Any següent (Mantenir per menu)"; -Calendar._TT["SEL_DATE"] = "Sel.leccionar data"; -Calendar._TT["DRAG_TO_MOVE"] = "Arrastrar per moure"; -Calendar._TT["PART_TODAY"] = " (avui)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Mostra %s primer"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Tanca"; -Calendar._TT["TODAY"] = "Avui"; -Calendar._TT["TIME_PART"] = "(Shift-)Click a arrastra per canviar el valor"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "st"; -Calendar._TT["TIME"] = "Hora:"; diff --git a/sources/html/js/lang/calendar-cs-utf8.js b/sources/html/js/lang/calendar-cs-utf8.js deleted file mode 100644 index f6bbbeb..0000000 --- a/sources/html/js/lang/calendar-cs-utf8.js +++ /dev/null @@ -1,65 +0,0 @@ -/* - calendar-cs-win.js - language: Czech - encoding: windows-1250 - author: Lubos Jerabek (xnet@seznam.cz) - Jan Uhlir (espinosa@centrum.cz) -*/ - -// ** I18N -Calendar._DN = new Array('NedÄ›le','PondÄ›lí','Úterý','StÅ™eda','ÄŒtvrtek','Pátek','Sobota','NedÄ›le'); -Calendar._SDN = new Array('Ne','Po','Út','St','ÄŒt','Pá','So','Ne'); -Calendar._MN = new Array('Leden','Únor','BÅ™ezen','Duben','KvÄ›ten','ÄŒerven','ÄŒervenec','Srpen','Září','Říjen','Listopad','Prosinec'); -Calendar._SMN = new Array('Led','Úno','BÅ™e','Dub','KvÄ›','ÄŒrv','ÄŒvc','Srp','Zář','Říj','Lis','Pro'); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "O komponentÄ› kalendář"; -Calendar._TT["TOGGLE"] = "ZmÄ›na prvního dne v týdnu"; -Calendar._TT["PREV_YEAR"] = "PÅ™edchozí rok (pÅ™idrž pro menu)"; -Calendar._TT["PREV_MONTH"] = "PÅ™edchozí mÄ›síc (pÅ™idrž pro menu)"; -Calendar._TT["GO_TODAY"] = "DneÅ¡ní datum"; -Calendar._TT["NEXT_MONTH"] = "Další mÄ›síc (pÅ™idrž pro menu)"; -Calendar._TT["NEXT_YEAR"] = "Další rok (pÅ™idrž pro menu)"; -Calendar._TT["SEL_DATE"] = "Vyber datum"; -Calendar._TT["DRAG_TO_MOVE"] = "ChyÅ¥ a táhni, pro pÅ™esun"; -Calendar._TT["PART_TODAY"] = " (dnes)"; -Calendar._TT["MON_FIRST"] = "Ukaž jako první PondÄ›lí"; -//Calendar._TT["SUN_FIRST"] = "Ukaž jako první NedÄ›li"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"VýbÄ›r datumu:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Použijte tlaÄítka " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " k výbÄ›ru mÄ›síce\n" + -"- Podržte tlaÄítko myÅ¡i na jakémkoliv z tÄ›ch tlaÄítek pro rychlejší výbÄ›r."; - -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"VýbÄ›r Äasu:\n" + -"- KliknÄ›te na jakoukoliv z Äástí výbÄ›ru Äasu pro zvýšení.\n" + -"- nebo Shift-click pro snížení\n" + -"- nebo kliknÄ›te a táhnÄ›te pro rychlejší výbÄ›r."; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Zobraz %s první"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Zavřít"; -Calendar._TT["TODAY"] = "Dnes"; -Calendar._TT["TIME_PART"] = "(Shift-)Klikni nebo táhni pro zmÄ›nu hodnoty"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "d.m.yy"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "ÄŒas:"; diff --git a/sources/html/js/lang/calendar-cs-win.js b/sources/html/js/lang/calendar-cs-win.js deleted file mode 100644 index 140dff3..0000000 --- a/sources/html/js/lang/calendar-cs-win.js +++ /dev/null @@ -1,65 +0,0 @@ -/* - calendar-cs-win.js - language: Czech - encoding: windows-1250 - author: Lubos Jerabek (xnet@seznam.cz) - Jan Uhlir (espinosa@centrum.cz) -*/ - -// ** I18N -Calendar._DN = new Array('Nedìle','Pondìlí','Úterý','Støeda','Ètvrtek','Pátek','Sobota','Nedìle'); -Calendar._SDN = new Array('Ne','Po','Út','St','Èt','Pá','So','Ne'); -Calendar._MN = new Array('Leden','Únor','Bøezen','Duben','Kvìten','Èerven','Èervenec','Srpen','Záøí','Øíjen','Listopad','Prosinec'); -Calendar._SMN = new Array('Led','Úno','Bøe','Dub','Kvì','Èrv','Èvc','Srp','Záø','Øíj','Lis','Pro'); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "O komponentì kalendáø"; -Calendar._TT["TOGGLE"] = "Zmìna prvního dne v týdnu"; -Calendar._TT["PREV_YEAR"] = "Pøedchozí rok (pøidrž pro menu)"; -Calendar._TT["PREV_MONTH"] = "Pøedchozí mìsíc (pøidrž pro menu)"; -Calendar._TT["GO_TODAY"] = "Dnešní datum"; -Calendar._TT["NEXT_MONTH"] = "Další mìsíc (pøidrž pro menu)"; -Calendar._TT["NEXT_YEAR"] = "Další rok (pøidrž pro menu)"; -Calendar._TT["SEL_DATE"] = "Vyber datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Chy a táhni, pro pøesun"; -Calendar._TT["PART_TODAY"] = " (dnes)"; -Calendar._TT["MON_FIRST"] = "Ukaž jako první Pondìlí"; -//Calendar._TT["SUN_FIRST"] = "Ukaž jako první Nedìli"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Výbìr datumu:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Použijte tlaèítka " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " k výbìru mìsíce\n" + -"- Podržte tlaèítko myši na jakémkoliv z tìch tlaèítek pro rychlejší výbìr."; - -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Výbìr èasu:\n" + -"- Kliknìte na jakoukoliv z èástí výbìru èasu pro zvýšení.\n" + -"- nebo Shift-click pro snížení\n" + -"- nebo kliknìte a táhnìte pro rychlejší výbìr."; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Zobraz %s první"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Zavøít"; -Calendar._TT["TODAY"] = "Dnes"; -Calendar._TT["TIME_PART"] = "(Shift-)Klikni nebo táhni pro zmìnu hodnoty"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "d.m.yy"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Èas:"; diff --git a/sources/html/js/lang/calendar-da.js b/sources/html/js/lang/calendar-da.js deleted file mode 100644 index a99b598..0000000 --- a/sources/html/js/lang/calendar-da.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar DA language -// Author: Michael Thingmand Henriksen, -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Søndag", -"Mandag", -"Tirsdag", -"Onsdag", -"Torsdag", -"Fredag", -"Lørdag", -"Søndag"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Søn", -"Man", -"Tir", -"Ons", -"Tor", -"Fre", -"Lør", -"Søn"); - -// full month names -Calendar._MN = new Array -("Januar", -"Februar", -"Marts", -"April", -"Maj", -"Juni", -"Juli", -"August", -"September", -"Oktober", -"November", -"December"); - -// short month names -Calendar._SMN = new Array -("Jan", -"Feb", -"Mar", -"Apr", -"Maj", -"Jun", -"Jul", -"Aug", -"Sep", -"Okt", -"Nov", -"Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Om Kalenderen"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For den seneste version besøg: http://www.dynarch.com/projects/calendar/\n"; + -"Distribueret under GNU LGPL. Se http://gnu.org/licenses/lgpl.html for detajler." + -"\n\n" + -"Valg af dato:\n" + -"- Brug \xab, \xbb knapperne for at vælge Ã¥r\n" + -"- Brug " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " knapperne for at vælge mÃ¥ned\n" + -"- Hold knappen pÃ¥ musen nede pÃ¥ knapperne ovenfor for hurtigere valg."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Valg af tid:\n" + -"- Klik pÃ¥ en vilkÃ¥rlig del for større værdi\n" + -"- eller Shift-klik for for mindre værdi\n" + -"- eller klik og træk for hurtigere valg."; - -Calendar._TT["PREV_YEAR"] = "Ét Ã¥r tilbage (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Én mÃ¥ned tilbage (hold for menu)"; -Calendar._TT["GO_TODAY"] = "GÃ¥ til i dag"; -Calendar._TT["NEXT_MONTH"] = "Én mÃ¥ned frem (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "Ét Ã¥r frem (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Vælg dag"; -Calendar._TT["DRAG_TO_MOVE"] = "Træk vinduet"; -Calendar._TT["PART_TODAY"] = " (i dag)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Vis %s først"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Luk"; -Calendar._TT["TODAY"] = "I dag"; -Calendar._TT["TIME_PART"] = "(Shift-)klik eller træk for at ændre værdi"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "Uge"; -Calendar._TT["TIME"] = "Tid:"; diff --git a/sources/html/js/lang/calendar-de.js b/sources/html/js/lang/calendar-de.js deleted file mode 100644 index 4bc1137..0000000 --- a/sources/html/js/lang/calendar-de.js +++ /dev/null @@ -1,124 +0,0 @@ -// ** I18N - -// Calendar DE language -// Author: Jack (tR), -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sonntag", - "Montag", - "Dienstag", - "Mittwoch", - "Donnerstag", - "Freitag", - "Samstag", - "Sonntag"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("So", - "Mo", - "Di", - "Mi", - "Do", - "Fr", - "Sa", - "So"); - -// full month names -Calendar._MN = new Array -("Januar", - "Februar", - "M\u00e4rz", - "April", - "Mai", - "Juni", - "Juli", - "August", - "September", - "Oktober", - "November", - "Dezember"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "M\u00e4r", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Okt", - "Nov", - "Dez"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "\u00DCber dieses Kalendarmodul"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Datum ausw\u00e4hlen:\n" + -"- Benutzen Sie die \xab, \xbb Buttons um das Jahr zu w\u00e4hlen\n" + -"- Benutzen Sie die " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " Buttons um den Monat zu w\u00e4hlen\n" + -"- F\u00fcr eine Schnellauswahl halten Sie die Maustaste \u00fcber diesen Buttons fest."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Zeit ausw\u00e4hlen:\n" + -"- Klicken Sie auf die Teile der Uhrzeit, um diese zu erh\u00F6hen\n" + -"- oder klicken Sie mit festgehaltener Shift-Taste um diese zu verringern\n" + -"- oder klicken und festhalten f\u00fcr Schnellauswahl."; - -Calendar._TT["TOGGLE"] = "Ersten Tag der Woche w\u00e4hlen"; -Calendar._TT["PREV_YEAR"] = "Voriges Jahr (Festhalten f\u00fcr Schnellauswahl)"; -Calendar._TT["PREV_MONTH"] = "Voriger Monat (Festhalten f\u00fcr Schnellauswahl)"; -Calendar._TT["GO_TODAY"] = "Heute ausw\u00e4hlen"; -Calendar._TT["NEXT_MONTH"] = "N\u00e4chst. Monat (Festhalten f\u00fcr Schnellauswahl)"; -Calendar._TT["NEXT_YEAR"] = "N\u00e4chst. Jahr (Festhalten f\u00fcr Schnellauswahl)"; -Calendar._TT["SEL_DATE"] = "Datum ausw\u00e4hlen"; -Calendar._TT["DRAG_TO_MOVE"] = "Zum Bewegen festhalten"; -Calendar._TT["PART_TODAY"] = " (Heute)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Woche beginnt mit %s "; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Schlie\u00dfen"; -Calendar._TT["TODAY"] = "Heute"; -Calendar._TT["TIME_PART"] = "(Shift-)Klick oder Festhalten und Ziehen um den Wert zu \u00e4ndern"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Zeit:"; diff --git a/sources/html/js/lang/calendar-du.js b/sources/html/js/lang/calendar-du.js deleted file mode 100644 index 2200448..0000000 --- a/sources/html/js/lang/calendar-du.js +++ /dev/null @@ -1,45 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Zondag", - "Maandag", - "Dinsdag", - "Woensdag", - "Donderdag", - "Vrijdag", - "Zaterdag", - "Zondag"); -Calendar._MN = new Array -("Januari", - "Februari", - "Maart", - "April", - "Mei", - "Juni", - "Juli", - "Augustus", - "September", - "Oktober", - "November", - "December"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Toggle startdag van de week"; -Calendar._TT["PREV_YEAR"] = "Vorig jaar (indrukken voor menu)"; -Calendar._TT["PREV_MONTH"] = "Vorige month (indrukken voor menu)"; -Calendar._TT["GO_TODAY"] = "Naar Vandaag"; -Calendar._TT["NEXT_MONTH"] = "Volgende Maand (indrukken voor menu)"; -Calendar._TT["NEXT_YEAR"] = "Volgend jaar (indrukken voor menu)"; -Calendar._TT["SEL_DATE"] = "Selecteer datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Sleep om te verplaatsen"; -Calendar._TT["PART_TODAY"] = " (vandaag)"; -Calendar._TT["MON_FIRST"] = "Toon Maandag eerst"; -Calendar._TT["SUN_FIRST"] = "Toon Zondag eerst"; -Calendar._TT["CLOSE"] = "Sluiten"; -Calendar._TT["TODAY"] = "Vandaag"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd"; -Calendar._TT["TT_DATE_FORMAT"] = "D, M d"; - -Calendar._TT["WK"] = "wk"; diff --git a/sources/html/js/lang/calendar-el.js b/sources/html/js/lang/calendar-el.js deleted file mode 100644 index fee5575..0000000 --- a/sources/html/js/lang/calendar-el.js +++ /dev/null @@ -1,89 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("ΚυÏιακή", - "ΔευτέÏα", - "ΤÏίτη", - "ΤετάÏτη", - "Πέμπτη", - "ΠαÏασκευή", - "Σάββατο", - "ΚυÏιακή"); - -Calendar._SDN = new Array -("Κυ", - "Δε", - "TÏ", - "Τε", - "Πε", - "Πα", - "Σα", - "Κυ"); - -Calendar._MN = new Array -("ΙανουάÏιος", - "ΦεβÏουάÏιος", - "ΜάÏτιος", - "ΑπÏίλιος", - "Μάϊος", - "ΙοÏνιος", - "ΙοÏλιος", - "ΑÏγουστος", - "ΣεπτέμβÏιος", - "ΟκτώβÏιος", - "ÎοέμβÏιος", - "ΔεκέμβÏιος"); - -Calendar._SMN = new Array -("Ιαν", - "Φεβ", - "ΜαÏ", - "ΑπÏ", - "Μαι", - "Ιουν", - "Ιουλ", - "Αυγ", - "Σεπ", - "Οκτ", - "Îοε", - "Δεκ"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Για το ημεÏολόγιο"; - -Calendar._TT["ABOUT"] = -"Επιλογέας ημεÏομηνίας/ÏŽÏας σε DHTML\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"Για τελευταία έκδοση: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Επιλογή ημεÏομηνίας:\n" + -"- ΧÏησιμοποιείστε τα κουμπιά \xab, \xbb για επιλογή έτους\n" + -"- ΧÏησιμοποιείστε τα κουμπιά " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " για επιλογή μήνα\n" + -"- ΚÏατήστε κουμπί Ï€Î¿Î½Ï„Î¹ÎºÎ¿Ï Ï€Î±Ï„Î·Î¼Î­Î½Î¿ στα παÏαπάνω κουμπιά για πιο γÏήγοÏη επιλογή."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Επιλογή ÏŽÏας:\n" + -"- Κάντε κλικ σε ένα από τα μέÏη της ÏŽÏας για αÏξηση\n" + -"- ή Shift-κλικ για μείωση\n" + -"- ή κλικ και μετακίνηση για πιο γÏήγοÏη επιλογή."; -Calendar._TT["TOGGLE"] = "ΜπάÏα Ï€Ïώτης ημέÏας της εβδομάδας"; -Calendar._TT["PREV_YEAR"] = "ΠÏοηγ. έτος (κÏατήστε για το μενοÏ)"; -Calendar._TT["PREV_MONTH"] = "ΠÏοηγ. μήνας (κÏατήστε για το μενοÏ)"; -Calendar._TT["GO_TODAY"] = "ΣήμεÏα"; -Calendar._TT["NEXT_MONTH"] = "Επόμενος μήνας (κÏατήστε για το μενοÏ)"; -Calendar._TT["NEXT_YEAR"] = "Επόμενο έτος (κÏατήστε για το μενοÏ)"; -Calendar._TT["SEL_DATE"] = "Επιλέξτε ημεÏομηνία"; -Calendar._TT["DRAG_TO_MOVE"] = "ΣÏÏτε για να μετακινήσετε"; -Calendar._TT["PART_TODAY"] = " (σήμεÏα)"; -Calendar._TT["MON_FIRST"] = "Εμφάνιση ΔευτέÏας Ï€Ïώτα"; -Calendar._TT["SUN_FIRST"] = "Εμφάνιση ΚυÏιακής Ï€Ïώτα"; -Calendar._TT["CLOSE"] = "Κλείσιμο"; -Calendar._TT["TODAY"] = "ΣήμεÏα"; -Calendar._TT["TIME_PART"] = "(Shift-)κλικ ή μετακίνηση για αλλαγή"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y"; -Calendar._TT["TT_DATE_FORMAT"] = "D, d M"; - -Calendar._TT["WK"] = "εβδ"; - diff --git a/sources/html/js/lang/calendar-en.js b/sources/html/js/lang/calendar-en.js deleted file mode 100644 index 0dbde79..0000000 --- a/sources/html/js/lang/calendar-en.js +++ /dev/null @@ -1,127 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat", - "Sun"); - -// First day of the week. "0" means display Sunday first, "1" means display -// Monday first, etc. -Calendar._FD = 0; - -// full month names -Calendar._MN = new Array -("January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "About the calendar"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Date selection:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + -"- Hold mouse button on any of the above buttons for faster selection."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- Click on any of the time parts to increase it\n" + -"- or Shift-click to decrease it\n" + -"- or click and drag for faster selection."; - -Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; -Calendar._TT["GO_TODAY"] = "Go Today"; -Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Select date"; -Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; -Calendar._TT["PART_TODAY"] = " (today)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; -Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Time:"; diff --git a/sources/html/js/lang/calendar-es.js b/sources/html/js/lang/calendar-es.js deleted file mode 100644 index 19c1b30..0000000 --- a/sources/html/js/lang/calendar-es.js +++ /dev/null @@ -1,129 +0,0 @@ -// ** I18N - -// Calendar ES (spanish) language -// Author: Mihai Bazon, -// Updater: Servilio Afre Puentes -// Updated: 2004-06-03 -// Encoding: utf-8 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Domingo", - "Lunes", - "Martes", - "Miércoles", - "Jueves", - "Viernes", - "Sábado", - "Domingo"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Dom", - "Lun", - "Mar", - "Mié", - "Jue", - "Vie", - "Sáb", - "Dom"); - -// First day of the week. "0" means display Sunday first, "1" means display -// Monday first, etc. -Calendar._FD = 1; - -// full month names -Calendar._MN = new Array -("Enero", - "Febrero", - "Marzo", - "Abril", - "Mayo", - "Junio", - "Julio", - "Agosto", - "Septiembre", - "Octubre", - "Noviembre", - "Diciembre"); - -// short month names -Calendar._SMN = new Array -("Ene", - "Feb", - "Mar", - "Abr", - "May", - "Jun", - "Jul", - "Ago", - "Sep", - "Oct", - "Nov", - "Dic"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Acerca del calendario"; - -Calendar._TT["ABOUT"] = -"Selector DHTML de Fecha/Hora\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"Para conseguir la última versión visite: http://www.dynarch.com/projects/calendar/\n" + -"Distribuido bajo licencia GNU LGPL. Visite http://gnu.org/licenses/lgpl.html para más detalles." + -"\n\n" + -"Selección de fecha:\n" + -"- Use los botones \xab, \xbb para seleccionar el año\n" + -"- Use los botones " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para seleccionar el mes\n" + -"- Mantenga pulsado el ratón en cualquiera de estos botones para una selección rápida."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Selección de hora:\n" + -"- Pulse en cualquiera de las partes de la hora para incrementarla\n" + -"- o pulse las mayúsculas mientras hace clic para decrementarla\n" + -"- o haga clic y arrastre el ratón para una selección más rápida."; - -Calendar._TT["PREV_YEAR"] = "Año anterior (mantener para menú)"; -Calendar._TT["PREV_MONTH"] = "Mes anterior (mantener para menú)"; -Calendar._TT["GO_TODAY"] = "Ir a hoy"; -Calendar._TT["NEXT_MONTH"] = "Mes siguiente (mantener para menú)"; -Calendar._TT["NEXT_YEAR"] = "Año siguiente (mantener para menú)"; -Calendar._TT["SEL_DATE"] = "Seleccionar fecha"; -Calendar._TT["DRAG_TO_MOVE"] = "Arrastrar para mover"; -Calendar._TT["PART_TODAY"] = " (hoy)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Hacer %s primer día de la semana"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Cerrar"; -Calendar._TT["TODAY"] = "Hoy"; -Calendar._TT["TIME_PART"] = "(Mayúscula-)Clic o arrastre para cambiar valor"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%A, %e de %B de %Y"; - -Calendar._TT["WK"] = "sem"; -Calendar._TT["TIME"] = "Hora:"; diff --git a/sources/html/js/lang/calendar-fi.js b/sources/html/js/lang/calendar-fi.js deleted file mode 100644 index 328eabb..0000000 --- a/sources/html/js/lang/calendar-fi.js +++ /dev/null @@ -1,98 +0,0 @@ -// ** I18N - -// Calendar FI language (Finnish, Suomi) -// Author: Jarno Käyhkö, -// Encoding: UTF-8 -// Distributed under the same terms as the calendar itself. - -// full day names -Calendar._DN = new Array -("Sunnuntai", - "Maanantai", - "Tiistai", - "Keskiviikko", - "Torstai", - "Perjantai", - "Lauantai", - "Sunnuntai"); - -// short day names -Calendar._SDN = new Array -("Su", - "Ma", - "Ti", - "Ke", - "To", - "Pe", - "La", - "Su"); - -// full month names -Calendar._MN = new Array -("Tammikuu", - "Helmikuu", - "Maaliskuu", - "Huhtikuu", - "Toukokuu", - "Kesäkuu", - "Heinäkuu", - "Elokuu", - "Syyskuu", - "Lokakuu", - "Marraskuu", - "Joulukuu"); - -// short month names -Calendar._SMN = new Array -("Tam", - "Hel", - "Maa", - "Huh", - "Tou", - "Kes", - "Hei", - "Elo", - "Syy", - "Lok", - "Mar", - "Jou"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Tietoja kalenterista"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"Uusin versio osoitteessa: http://www.dynarch.com/projects/calendar/\n" + -"Julkaistu GNU LGPL lisenssin alaisuudessa. Lisätietoja osoitteessa http://gnu.org/licenses/lgpl.html" + -"\n\n" + -"Päivämäärä valinta:\n" + -"- Käytä \xab, \xbb painikkeita valitaksesi vuosi\n" + -"- Käytä " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " painikkeita valitaksesi kuukausi\n" + -"- Pitämällä hiiren painiketta minkä tahansa yllä olevan painikkeen kohdalla, saat näkyviin valikon nopeampaan siirtymiseen."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Ajan valinta:\n" + -"- Klikkaa kellonajan numeroita lisätäksesi aikaa\n" + -"- tai pitämällä Shift-näppäintä pohjassa saat aikaa taaksepäin\n" + -"- tai klikkaa ja pidä hiiren painike pohjassa sekä liikuta hiirtä muuttaaksesi aikaa nopeasti eteen- ja taaksepäin."; - -Calendar._TT["PREV_YEAR"] = "Edell. vuosi (paina hetki, näet valikon)"; -Calendar._TT["PREV_MONTH"] = "Edell. kuukausi (paina hetki, näet valikon)"; -Calendar._TT["GO_TODAY"] = "Siirry tähän päivään"; -Calendar._TT["NEXT_MONTH"] = "Seur. kuukausi (paina hetki, näet valikon)"; -Calendar._TT["NEXT_YEAR"] = "Seur. vuosi (paina hetki, näet valikon)"; -Calendar._TT["SEL_DATE"] = "Valitse päivämäärä"; -Calendar._TT["DRAG_TO_MOVE"] = "Siirrä kalenterin paikkaa"; -Calendar._TT["PART_TODAY"] = " (tänään)"; -Calendar._TT["MON_FIRST"] = "Näytä maanantai ensimmäisenä"; -Calendar._TT["SUN_FIRST"] = "Näytä sunnuntai ensimmäisenä"; -Calendar._TT["CLOSE"] = "Sulje"; -Calendar._TT["TODAY"] = "Tänään"; -Calendar._TT["TIME_PART"] = "(Shift-) Klikkaa tai liikuta muuttaaksesi aikaa"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%d.%m.%Y"; - -Calendar._TT["WK"] = "Vko"; diff --git a/sources/html/js/lang/calendar-fr.js b/sources/html/js/lang/calendar-fr.js deleted file mode 100644 index 2a9e0b2..0000000 --- a/sources/html/js/lang/calendar-fr.js +++ /dev/null @@ -1,125 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// Translator: David Duret, from previous french version - -// full day names -Calendar._DN = new Array -("Dimanche", - "Lundi", - "Mardi", - "Mercredi", - "Jeudi", - "Vendredi", - "Samedi", - "Dimanche"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Dim", - "Lun", - "Mar", - "Mar", - "Jeu", - "Ven", - "Sam", - "Dim"); - -// full month names -Calendar._MN = new Array -("Janvier", - "Février", - "Mars", - "Avril", - "Mai", - "Juin", - "Juillet", - "Août", - "Septembre", - "Octobre", - "Novembre", - "Décembre"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Fev", - "Mar", - "Avr", - "Mai", - "Juin", - "Juil", - "Aout", - "Sep", - "Oct", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "A propos du calendrier"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Heure Selecteur\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"Pour la derniere version visitez : http://www.dynarch.com/projects/calendar/\n" + -"Distribué par GNU LGPL. Voir http://gnu.org/licenses/lgpl.html pour les details." + -"\n\n" + -"Selection de la date :\n" + -"- Utiliser les bouttons \xab, \xbb pour selectionner l\'annee\n" + -"- Utiliser les bouttons " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pour selectionner les mois\n" + -"- Garder la souris sur n'importe quels boutons pour une selection plus rapide"; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Selection de l\'heure :\n" + -"- Cliquer sur heures ou minutes pour incrementer\n" + -"- ou Maj-clic pour decrementer\n" + -"- ou clic et glisser-deplacer pour une selection plus rapide"; - -Calendar._TT["PREV_YEAR"] = "Année préc. (maintenir pour menu)"; -Calendar._TT["PREV_MONTH"] = "Mois préc. (maintenir pour menu)"; -Calendar._TT["GO_TODAY"] = "Atteindre la date du jour"; -Calendar._TT["NEXT_MONTH"] = "Mois suiv. (maintenir pour menu)"; -Calendar._TT["NEXT_YEAR"] = "Année suiv. (maintenir pour menu)"; -Calendar._TT["SEL_DATE"] = "Sélectionner une date"; -Calendar._TT["DRAG_TO_MOVE"] = "Déplacer"; -Calendar._TT["PART_TODAY"] = " (Aujourd'hui)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Afficher %s en premier"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Fermer"; -Calendar._TT["TODAY"] = "Aujourd'hui"; -Calendar._TT["TIME_PART"] = "(Maj-)Clic ou glisser pour modifier la valeur"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "Sem."; -Calendar._TT["TIME"] = "Heure :"; diff --git a/sources/html/js/lang/calendar-he-utf8.js b/sources/html/js/lang/calendar-he-utf8.js deleted file mode 100644 index b15005f..0000000 --- a/sources/html/js/lang/calendar-he-utf8.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Idan Sofer, -// Encoding: UTF-8 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("ר×שון", - "שני", - "שלישי", - "רביעי", - "חמישי", - "שישי", - "שבת", - "ר×שון"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("×", - "ב", - "×’", - "ד", - "×”", - "ו", - "ש", - "×"); - -// full month names -Calendar._MN = new Array -("ינו×ר", - "פברו×ר", - "מרץ", - "×פריל", - "מ××™", - "יוני", - "יולי", - "×וגוסט", - "ספטמבר", - "×וקטובר", - "נובמבר", - "דצמבר"); - -// short month names -Calendar._SMN = new Array -("×™× ×", - "פבר", - "מרץ", - "×פר", - "מ××™", - "יונ", - "יול", - "×וג", - "ספט", - "×וק", - "נוב", - "דצמ"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "×ודות השנתון"; - -Calendar._TT["ABOUT"] = -"בחרן ת×ריך/שעה DHTML\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"×”×’×™×¨×¡× ×”×חרונה זמינה ב: http://www.dynarch.com/projects/calendar/\n" + -"מופץ תחת זיכיון ×” GNU LGPL. עיין ב http://gnu.org/licenses/lgpl.html ×œ×¤×¨×˜×™× × ×•×¡×¤×™×." + -"\n\n" + -"בחירת ת×ריך:\n" + -"- השתמש ×‘×›×¤×ª×•×¨×™× \xab, \xbb לבחירת שנה\n" + -"- השתמש ×‘×›×¤×ª×•×¨×™× " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " לבחירת חודש\n" + -"- החזק העכבר לחוץ מעל ×”×›×¤×ª×•×¨×™× ×”×ž×•×–×›×¨×™× ×œ×¢×™×œ לבחירה מהירה יותר."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"בחירת זמן:\n" + -"- לחץ על כל ×חד מחלקי הזמן כדי להוסיף\n" + -"- ×ו shift בשילוב ×¢× ×œ×—×™×¦×” כדי להחסיר\n" + -"- ×ו לחץ וגרור לפעולה מהירה יותר."; - -Calendar._TT["PREV_YEAR"] = "שנה קודמת - החזק לקבלת תפריט"; -Calendar._TT["PREV_MONTH"] = "חודש ×§×•×“× - החזק לקבלת תפריט"; -Calendar._TT["GO_TODAY"] = "עבור להיו×"; -Calendar._TT["NEXT_MONTH"] = "חודש ×”×‘× - החזק לתפריט"; -Calendar._TT["NEXT_YEAR"] = "שנה הב××” - החזק לתפריט"; -Calendar._TT["SEL_DATE"] = "בחר ת×ריך"; -Calendar._TT["DRAG_TO_MOVE"] = "גרור להזזה"; -Calendar._TT["PART_TODAY"] = " )היו×("; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "הצג %s קוד×"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "6"; - -Calendar._TT["CLOSE"] = "סגור"; -Calendar._TT["TODAY"] = "היו×"; -Calendar._TT["TIME_PART"] = "(שיפט-)לחץ וגרור כדי לשנות ערך"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "שעה::"; diff --git a/sources/html/js/lang/calendar-hr-utf8.js b/sources/html/js/lang/calendar-hr-utf8.js deleted file mode 100644 index baf01b1..0000000 --- a/sources/html/js/lang/calendar-hr-utf8.js +++ /dev/null @@ -1,49 +0,0 @@ -/* Croatian language file for the DHTML Calendar version 0.9.2 -* Author Krunoslav Zubrinic , June 2003. -* Feel free to use this script under the terms of the GNU Lesser General -* Public License, as long as you do not remove or alter this notice. -*/ -Calendar._DN = new Array -("Nedjelja", - "Ponedjeljak", - "Utorak", - "Srijeda", - "ÄŒetvrtak", - "Petak", - "Subota", - "Nedjelja"); -Calendar._MN = new Array -("SijeÄanj", - "VeljaÄa", - "Ožujak", - "Travanj", - "Svibanj", - "Lipanj", - "Srpanj", - "Kolovoz", - "Rujan", - "Listopad", - "Studeni", - "Prosinac"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Promjeni dan s kojim poÄinje tjedan"; -Calendar._TT["PREV_YEAR"] = "Prethodna godina (dugi pritisak za meni)"; -Calendar._TT["PREV_MONTH"] = "Prethodni mjesec (dugi pritisak za meni)"; -Calendar._TT["GO_TODAY"] = "Idi na tekući dan"; -Calendar._TT["NEXT_MONTH"] = "Slijedeći mjesec (dugi pritisak za meni)"; -Calendar._TT["NEXT_YEAR"] = "Slijedeća godina (dugi pritisak za meni)"; -Calendar._TT["SEL_DATE"] = "Izaberite datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Pritisni i povuci za promjenu pozicije"; -Calendar._TT["PART_TODAY"] = " (today)"; -Calendar._TT["MON_FIRST"] = "Prikaži ponedjeljak kao prvi dan"; -Calendar._TT["SUN_FIRST"] = "Prikaži nedjelju kao prvi dan"; -Calendar._TT["CLOSE"] = "Zatvori"; -Calendar._TT["TODAY"] = "Danas"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y"; -Calendar._TT["TT_DATE_FORMAT"] = "DD, dd.mm.y"; - -Calendar._TT["WK"] = "Tje"; \ No newline at end of file diff --git a/sources/html/js/lang/calendar-hr.js b/sources/html/js/lang/calendar-hr.js deleted file mode 100644 index be9a021bed0f12c1b0bfb44a7e0e369dccc37640..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3088 zcmcJR>rWF=5XFa2Cd5Bt!zVOa41O{`VnYRyLL0ZBXbdT|;?id*tpTHdy81hFyKT1* zQlnD%n@~&)4Fn2u487deB5&D4j#uVJ9c1)jEh+Gc*4FN+P3$_Vv4Ek zIW>oQ7rm98b}65#`)@kG=cDm8<36LBqZgY(shnE$bt)09&?;6yI+$!-_MD&af2Gai`x47*-?MIOSk&2Z!GDwgDl-p!EuvQji*`<~H!>E7 zU=-de=RUbJW-f8BLNmE?ccspr0qa*YyUN6xosFGoF_rZ+i~OEFUC71$5?sVX%&RM^ zw~Gw!qY*<|oy@3YKUVtAU6zB2^D+SSw6ECpe>!JHI_l1u7oYRy_h4Td8}Pfypn3~y zI?r}yR{nc1*>P{R%v#KRpR<;RlFUk(=&F0wc@^!gS<1AkVS`5+?eIvm%AmLK94g#O zL6hI?`z_}syN^VwSjl#HiuQ`pr{P{{Q6kXpXc~u9t9!EM{6yT%>Ib$WTc_V=P8hqOPMo72XdBGj&_>`4 ztlz`;VhyL9j1ld_&H)^~z7>-q2c~p8oiY0Nn07#N;-^)BqvH&oU1vkLkaE?n)_{>a zoJo3W%Vd23`|pWx!dq=#)-mc!@0|M3`~S{*jA@=WrV%Oo|E-M}mWqD&=iw?_GrO*~ zQ}_=mR5hp$RQIi=lvhCgd8#p-bU2BlsVJ(imH=q*tI>-L1|#aoG!+eaJOv#X(lhp4^9|MdvLysxM9wpFWdsZdXg fJr}Uim!Bf!JVI_Ff^xhq$~)Tw&G`LR8R`Ew-{ITh diff --git a/sources/html/js/lang/calendar-hu.js b/sources/html/js/lang/calendar-hu.js deleted file mode 100644 index f5bf057..0000000 --- a/sources/html/js/lang/calendar-hu.js +++ /dev/null @@ -1,124 +0,0 @@ -// ** I18N - -// Calendar HU language -// Author: ??? -// Modifier: KARASZI Istvan, -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Vasárnap", - "Hétfõ", - "Kedd", - "Szerda", - "Csütörtök", - "Péntek", - "Szombat", - "Vasárnap"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("v", - "h", - "k", - "sze", - "cs", - "p", - "szo", - "v"); - -// full month names -Calendar._MN = new Array -("január", - "február", - "március", - "április", - "május", - "június", - "július", - "augusztus", - "szeptember", - "október", - "november", - "december"); - -// short month names -Calendar._SMN = new Array -("jan", - "feb", - "már", - "ápr", - "máj", - "jún", - "júl", - "aug", - "sze", - "okt", - "nov", - "dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "A kalendáriumról"; - -Calendar._TT["ABOUT"] = -"DHTML dátum/idõ kiválasztó\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"a legfrissebb verzió megtalálható: http://www.dynarch.com/projects/calendar/\n" + -"GNU LGPL alatt terjesztve. Lásd a http://gnu.org/licenses/lgpl.html oldalt a részletekhez." + -"\n\n" + -"Dátum választás:\n" + -"- használja a \xab, \xbb gombokat az év kiválasztásához\n" + -"- használja a " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " gombokat a hónap kiválasztásához\n" + -"- tartsa lenyomva az egérgombot a gyors választáshoz."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Idõ választás:\n" + -"- kattintva növelheti az idõt\n" + -"- shift-tel kattintva csökkentheti\n" + -"- lenyomva tartva és húzva gyorsabban kiválaszthatja."; - -Calendar._TT["PREV_YEAR"] = "Elõzõ év (tartsa nyomva a menühöz)"; -Calendar._TT["PREV_MONTH"] = "Elõzõ hónap (tartsa nyomva a menühöz)"; -Calendar._TT["GO_TODAY"] = "Mai napra ugrás"; -Calendar._TT["NEXT_MONTH"] = "Köv. hónap (tartsa nyomva a menühöz)"; -Calendar._TT["NEXT_YEAR"] = "Köv. év (tartsa nyomva a menühöz)"; -Calendar._TT["SEL_DATE"] = "Válasszon dátumot"; -Calendar._TT["DRAG_TO_MOVE"] = "Húzza a mozgatáshoz"; -Calendar._TT["PART_TODAY"] = " (ma)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "%s legyen a hét elsõ napja"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Bezár"; -Calendar._TT["TODAY"] = "Ma"; -Calendar._TT["TIME_PART"] = "(Shift-)Klikk vagy húzás az érték változtatásához"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%b %e, %a"; - -Calendar._TT["WK"] = "hét"; -Calendar._TT["TIME"] = "idõ:"; diff --git a/sources/html/js/lang/calendar-it.js b/sources/html/js/lang/calendar-it.js deleted file mode 100644 index 7f84cde..0000000 --- a/sources/html/js/lang/calendar-it.js +++ /dev/null @@ -1,124 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, -// Translator: Fabio Di Bernardini, -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Domenica", - "Lunedì", - "Martedì", - "Mercoledì", - "Giovedì", - "Venerdì", - "Sabato", - "Domenica"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Dom", - "Lun", - "Mar", - "Mer", - "Gio", - "Ven", - "Sab", - "Dom"); - -// full month names -Calendar._MN = new Array -("Gennaio", - "Febbraio", - "Marzo", - "Aprile", - "Maggio", - "Giugno", - "Luglio", - "Augosto", - "Settembre", - "Ottobre", - "Novembre", - "Dicembre"); - -// short month names -Calendar._SMN = new Array -("Gen", - "Feb", - "Mar", - "Apr", - "Mag", - "Giu", - "Lug", - "Ago", - "Set", - "Ott", - "Nov", - "Dic"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Informazioni sul calendario"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"Per gli aggiornamenti: http://www.dynarch.com/projects/calendar/\n" + -"Distribuito sotto licenza GNU LGPL. Vedi http://gnu.org/licenses/lgpl.html per i dettagli." + -"\n\n" + -"Selezione data:\n" + -"- Usa \xab, \xbb per selezionare l'anno\n" + -"- Usa " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " per i mesi\n" + -"- Tieni premuto a lungo il mouse per accedere alle funzioni di selezione veloce."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Selezione orario:\n" + -"- Clicca sul numero per incrementarlo\n" + -"- o Shift+click per decrementarlo\n" + -"- o click e sinistra o destra per variarlo."; - -Calendar._TT["PREV_YEAR"] = "Anno prec.(clicca a lungo per il menù)"; -Calendar._TT["PREV_MONTH"] = "Mese prec. (clicca a lungo per il menù)"; -Calendar._TT["GO_TODAY"] = "Oggi"; -Calendar._TT["NEXT_MONTH"] = "Pross. mese (clicca a lungo per il menù)"; -Calendar._TT["NEXT_YEAR"] = "Pross. anno (clicca a lungo per il menù)"; -Calendar._TT["SEL_DATE"] = "Seleziona data"; -Calendar._TT["DRAG_TO_MOVE"] = "Trascina per spostarlo"; -Calendar._TT["PART_TODAY"] = " (oggi)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Mostra prima %s"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Chiudi"; -Calendar._TT["TODAY"] = "Oggi"; -Calendar._TT["TIME_PART"] = "(Shift-)Click o trascina per cambiare il valore"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%a:%b:%e"; - -Calendar._TT["WK"] = "set"; -Calendar._TT["TIME"] = "Ora:"; diff --git a/sources/html/js/lang/calendar-jp.js b/sources/html/js/lang/calendar-jp.js deleted file mode 100644 index 3bca7eb..0000000 --- a/sources/html/js/lang/calendar-jp.js +++ /dev/null @@ -1,45 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("“ú", - "ŒŽ", - "‰Î", - "…", - "–Ø", - "‹à", - "“y", - "“ú"); -Calendar._MN = new Array -("1ŒŽ", - "2ŒŽ", - "3ŒŽ", - "4ŒŽ", - "5ŒŽ", - "6ŒŽ", - "7ŒŽ", - "8ŒŽ", - "9ŒŽ", - "10ŒŽ", - "11ŒŽ", - "12ŒŽ"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "T‚Ìʼn‚Ì—j“ú‚ðØ‚è‘Ö‚¦"; -Calendar._TT["PREV_YEAR"] = "‘O”N"; -Calendar._TT["PREV_MONTH"] = "‘OŒŽ"; -Calendar._TT["GO_TODAY"] = "¡“ú"; -Calendar._TT["NEXT_MONTH"] = "—‚ŒŽ"; -Calendar._TT["NEXT_YEAR"] = "—‚”N"; -Calendar._TT["SEL_DATE"] = "“ú•t‘I‘ð"; -Calendar._TT["DRAG_TO_MOVE"] = "ƒEƒBƒ“ƒhƒE‚̈ړ®"; -Calendar._TT["PART_TODAY"] = " (¡“ú)"; -Calendar._TT["MON_FIRST"] = "ŒŽ—j“ú‚ð擪‚É"; -Calendar._TT["SUN_FIRST"] = "“ú—j“ú‚ð擪‚É"; -Calendar._TT["CLOSE"] = "•Â‚¶‚é"; -Calendar._TT["TODAY"] = "¡“ú"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd"; -Calendar._TT["TT_DATE_FORMAT"] = "%mŒŽ %d“ú (%a)"; - -Calendar._TT["WK"] = "T"; diff --git a/sources/html/js/lang/calendar-ko-utf8.js b/sources/html/js/lang/calendar-ko-utf8.js deleted file mode 100644 index 035dd74..0000000 --- a/sources/html/js/lang/calendar-ko-utf8.js +++ /dev/null @@ -1,120 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, -// Translation: Yourim Yi -// Encoding: EUC-KR -// lang : ko -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names - -Calendar._DN = new Array -("ì¼ìš”ì¼", - "월요ì¼", - "화요ì¼", - "수요ì¼", - "목요ì¼", - "금요ì¼", - "토요ì¼", - "ì¼ìš”ì¼"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("ì¼", - "ì›”", - "í™”", - "수", - "목", - "금", - "토", - "ì¼"); - -// full month names -Calendar._MN = new Array -("1ì›”", - "2ì›”", - "3ì›”", - "4ì›”", - "5ì›”", - "6ì›”", - "7ì›”", - "8ì›”", - "9ì›”", - "10ì›”", - "11ì›”", - "12ì›”"); - -// short month names -Calendar._SMN = new Array -("1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "calendar ì— ëŒ€í•´ì„œ"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"\n"+ -"최신 ë²„ì „ì„ ë°›ìœ¼ì‹œë ¤ë©´ http://www.dynarch.com/projects/calendar/ ì— ë°©ë¬¸í•˜ì„¸ìš”\n" + -"\n"+ -"GNU LGPL ë¼ì´ì„¼ìŠ¤ë¡œ ë°°í¬ë©ë‹ˆë‹¤. \n"+ -"ë¼ì´ì„¼ìŠ¤ì— 대한 ìžì„¸í•œ ë‚´ìš©ì€ http://gnu.org/licenses/lgpl.html ì„ ì½ìœ¼ì„¸ìš”." + -"\n\n" + -"날짜 ì„ íƒ:\n" + -"- ì—°ë„를 ì„ íƒí•˜ë ¤ë©´ \xab, \xbb ë²„íŠ¼ì„ ì‚¬ìš©í•©ë‹ˆë‹¤\n" + -"- ë‹¬ì„ ì„ íƒí•˜ë ¤ë©´ " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ë²„íŠ¼ì„ ëˆ„ë¥´ì„¸ìš”\n" + -"- ê³„ì† ëˆ„ë¥´ê³  있으면 위 ê°’ë“¤ì„ ë¹ ë¥´ê²Œ ì„ íƒí•˜ì‹¤ 수 있습니다."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"시간 ì„ íƒ:\n" + -"- 마우스로 누르면 ì‹œê°„ì´ ì¦ê°€í•©ë‹ˆë‹¤\n" + -"- Shift 키와 함께 누르면 ê°ì†Œí•©ë‹ˆë‹¤\n" + -"- 누른 ìƒíƒœì—ì„œ 마우스를 움ì§ì´ë©´ 좀 ë” ë¹ ë¥´ê²Œ ê°’ì´ ë³€í•©ë‹ˆë‹¤.\n"; - -Calendar._TT["PREV_YEAR"] = "지난 í•´ (길게 누르면 목ë¡)"; -Calendar._TT["PREV_MONTH"] = "지난 달 (길게 누르면 목ë¡)"; -Calendar._TT["GO_TODAY"] = "오늘 날짜로"; -Calendar._TT["NEXT_MONTH"] = "ë‹¤ìŒ ë‹¬ (길게 누르면 목ë¡)"; -Calendar._TT["NEXT_YEAR"] = "ë‹¤ìŒ í•´ (길게 누르면 목ë¡)"; -Calendar._TT["SEL_DATE"] = "날짜를 ì„ íƒí•˜ì„¸ìš”"; -Calendar._TT["DRAG_TO_MOVE"] = "마우스 드래그로 ì´ë™ 하세요"; -Calendar._TT["PART_TODAY"] = " (오늘)"; -Calendar._TT["MON_FIRST"] = "월요ì¼ì„ í•œ ì£¼ì˜ ì‹œìž‘ ìš”ì¼ë¡œ"; -Calendar._TT["SUN_FIRST"] = "ì¼ìš”ì¼ì„ í•œ ì£¼ì˜ ì‹œìž‘ ìš”ì¼ë¡œ"; -Calendar._TT["CLOSE"] = "닫기"; -Calendar._TT["TODAY"] = "오늘"; -Calendar._TT["TIME_PART"] = "(Shift-)í´ë¦­ ë˜ëŠ” 드래그 하세요"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]"; - -Calendar._TT["WK"] = "주"; diff --git a/sources/html/js/lang/calendar-ko.js b/sources/html/js/lang/calendar-ko.js deleted file mode 100644 index 8cddf58..0000000 --- a/sources/html/js/lang/calendar-ko.js +++ /dev/null @@ -1,120 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, -// Translation: Yourim Yi -// Encoding: EUC-KR -// lang : ko -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names - -Calendar._DN = new Array -("ÀÏ¿äÀÏ", - "¿ù¿äÀÏ", - "È­¿äÀÏ", - "¼ö¿äÀÏ", - "¸ñ¿äÀÏ", - "±Ý¿äÀÏ", - "Åä¿äÀÏ", - "ÀÏ¿äÀÏ"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("ÀÏ", - "¿ù", - "È­", - "¼ö", - "¸ñ", - "±Ý", - "Åä", - "ÀÏ"); - -// full month names -Calendar._MN = new Array -("1¿ù", - "2¿ù", - "3¿ù", - "4¿ù", - "5¿ù", - "6¿ù", - "7¿ù", - "8¿ù", - "9¿ù", - "10¿ù", - "11¿ù", - "12¿ù"); - -// short month names -Calendar._SMN = new Array -("1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "calendar ¿¡ ´ëÇؼ­"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"\n"+ -"ÃֽŠ¹öÀüÀ» ¹ÞÀ¸½Ã·Á¸é http://www.dynarch.com/projects/calendar/ ¿¡ ¹æ¹®Çϼ¼¿ä\n" + -"\n"+ -"GNU LGPL ¶óÀ̼¾½º·Î ¹èÆ÷µË´Ï´Ù. \n"+ -"¶óÀ̼¾½º¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº http://gnu.org/licenses/lgpl.html À» ÀÐÀ¸¼¼¿ä." + -"\n\n" + -"³¯Â¥ ¼±ÅÃ:\n" + -"- ¿¬µµ¸¦ ¼±ÅÃÇÏ·Á¸é \xab, \xbb ¹öÆ°À» »ç¿ëÇÕ´Ï´Ù\n" + -"- ´ÞÀ» ¼±ÅÃÇÏ·Á¸é " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ¹öÆ°À» ´©¸£¼¼¿ä\n" + -"- °è¼Ó ´©¸£°í ÀÖÀ¸¸é À§ °ªµéÀ» ºü¸£°Ô ¼±ÅÃÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"½Ã°£ ¼±ÅÃ:\n" + -"- ¸¶¿ì½º·Î ´©¸£¸é ½Ã°£ÀÌ Áõ°¡ÇÕ´Ï´Ù\n" + -"- Shift Å°¿Í ÇÔ²² ´©¸£¸é °¨¼ÒÇÕ´Ï´Ù\n" + -"- ´©¸¥ »óÅ¿¡¼­ ¸¶¿ì½º¸¦ ¿òÁ÷À̸é Á» ´õ ºü¸£°Ô °ªÀÌ º¯ÇÕ´Ï´Ù.\n"; - -Calendar._TT["PREV_YEAR"] = "Áö³­ ÇØ (±æ°Ô ´©¸£¸é ¸ñ·Ï)"; -Calendar._TT["PREV_MONTH"] = "Áö³­ ´Þ (±æ°Ô ´©¸£¸é ¸ñ·Ï)"; -Calendar._TT["GO_TODAY"] = "¿À´Ã ³¯Â¥·Î"; -Calendar._TT["NEXT_MONTH"] = "´ÙÀ½ ´Þ (±æ°Ô ´©¸£¸é ¸ñ·Ï)"; -Calendar._TT["NEXT_YEAR"] = "´ÙÀ½ ÇØ (±æ°Ô ´©¸£¸é ¸ñ·Ï)"; -Calendar._TT["SEL_DATE"] = "³¯Â¥¸¦ ¼±ÅÃÇϼ¼¿ä"; -Calendar._TT["DRAG_TO_MOVE"] = "¸¶¿ì½º µå·¡±×·Î À̵¿ Çϼ¼¿ä"; -Calendar._TT["PART_TODAY"] = " (¿À´Ã)"; -Calendar._TT["MON_FIRST"] = "¿ù¿äÀÏÀ» ÇÑ ÁÖÀÇ ½ÃÀÛ ¿äÀÏ·Î"; -Calendar._TT["SUN_FIRST"] = "ÀÏ¿äÀÏÀ» ÇÑ ÁÖÀÇ ½ÃÀÛ ¿äÀÏ·Î"; -Calendar._TT["CLOSE"] = "´Ý±â"; -Calendar._TT["TODAY"] = "¿À´Ã"; -Calendar._TT["TIME_PART"] = "(Shift-)Ŭ¸¯ ¶Ç´Â µå·¡±× Çϼ¼¿ä"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]"; - -Calendar._TT["WK"] = "ÁÖ"; diff --git a/sources/html/js/lang/calendar-lt-utf8.js b/sources/html/js/lang/calendar-lt-utf8.js deleted file mode 100644 index d39653b..0000000 --- a/sources/html/js/lang/calendar-lt-utf8.js +++ /dev/null @@ -1,114 +0,0 @@ -// ** I18N - -// Calendar LT language -// Author: Martynas Majeris, -// Encoding: UTF-8 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sekmadienis", - "Pirmadienis", - "Antradienis", - "TreÄiadienis", - "Ketvirtadienis", - "Pentadienis", - "Å eÅ¡tadienis", - "Sekmadienis"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sek", - "Pir", - "Ant", - "Tre", - "Ket", - "Pen", - "Å eÅ¡", - "Sek"); - -// full month names -Calendar._MN = new Array -("Sausis", - "Vasaris", - "Kovas", - "Balandis", - "Gegužė", - "Birželis", - "Liepa", - "RugpjÅ«tis", - "RugsÄ—jis", - "Spalis", - "Lapkritis", - "Gruodis"); - -// short month names -Calendar._SMN = new Array -("Sau", - "Vas", - "Kov", - "Bal", - "Geg", - "Bir", - "Lie", - "Rgp", - "Rgs", - "Spa", - "Lap", - "Gru"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Apie kalendorių"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"NaujausiÄ… versijÄ… rasite: http://www.dynarch.com/projects/calendar/\n" + -"Platinamas pagal GNU LGPL licencijÄ…. Aplankykite http://gnu.org/licenses/lgpl.html" + -"\n\n" + -"Datos pasirinkimas:\n" + -"- Metų pasirinkimas: \xab, \xbb\n" + -"- MÄ—nesio pasirinkimas: " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" + -"- Nuspauskite ir laikykite pelÄ—s klaviÅ¡Ä… greitesniam pasirinkimui."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Laiko pasirinkimas:\n" + -"- Spustelkite ant valandų arba minuÄių - skaiÄius padidÄ—s vienetu.\n" + -"- Jei spausite kartu su Shift, skaiÄius sumažės.\n" + -"- Greitam pasirinkimui spustelkite ir pajudinkite pelÄ™."; - -Calendar._TT["PREV_YEAR"] = "Ankstesni metai (laikykite, jei norite meniu)"; -Calendar._TT["PREV_MONTH"] = "Ankstesnis mÄ—nuo (laikykite, jei norite meniu)"; -Calendar._TT["GO_TODAY"] = "Pasirinkti Å¡iandienÄ…"; -Calendar._TT["NEXT_MONTH"] = "Kitas mÄ—nuo (laikykite, jei norite meniu)"; -Calendar._TT["NEXT_YEAR"] = "Kiti metai (laikykite, jei norite meniu)"; -Calendar._TT["SEL_DATE"] = "Pasirinkite datÄ…"; -Calendar._TT["DRAG_TO_MOVE"] = "Tempkite"; -Calendar._TT["PART_TODAY"] = " (Å¡iandien)"; -Calendar._TT["MON_FIRST"] = "Pirma savaitÄ—s diena - pirmadienis"; -Calendar._TT["SUN_FIRST"] = "Pirma savaitÄ—s diena - sekmadienis"; -Calendar._TT["CLOSE"] = "Uždaryti"; -Calendar._TT["TODAY"] = "Å iandien"; -Calendar._TT["TIME_PART"] = "Spustelkite arba tempkite jei norite pakeisti"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%A, %Y-%m-%d"; - -Calendar._TT["WK"] = "sav"; diff --git a/sources/html/js/lang/calendar-lt.js b/sources/html/js/lang/calendar-lt.js deleted file mode 100644 index 43b93d6..0000000 --- a/sources/html/js/lang/calendar-lt.js +++ /dev/null @@ -1,114 +0,0 @@ -// ** I18N - -// Calendar LT language -// Author: Martynas Majeris, -// Encoding: Windows-1257 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sekmadienis", - "Pirmadienis", - "Antradienis", - "Treèiadienis", - "Ketvirtadienis", - "Pentadienis", - "Ðeðtadienis", - "Sekmadienis"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sek", - "Pir", - "Ant", - "Tre", - "Ket", - "Pen", - "Ðeð", - "Sek"); - -// full month names -Calendar._MN = new Array -("Sausis", - "Vasaris", - "Kovas", - "Balandis", - "Geguþë", - "Birþelis", - "Liepa", - "Rugpjûtis", - "Rugsëjis", - "Spalis", - "Lapkritis", - "Gruodis"); - -// short month names -Calendar._SMN = new Array -("Sau", - "Vas", - "Kov", - "Bal", - "Geg", - "Bir", - "Lie", - "Rgp", - "Rgs", - "Spa", - "Lap", - "Gru"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Apie kalendoriø"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"Naujausià versijà rasite: http://www.dynarch.com/projects/calendar/\n" + -"Platinamas pagal GNU LGPL licencijà. Aplankykite http://gnu.org/licenses/lgpl.html" + -"\n\n" + -"Datos pasirinkimas:\n" + -"- Metø pasirinkimas: \xab, \xbb\n" + -"- Mënesio pasirinkimas: " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" + -"- Nuspauskite ir laikykite pelës klaviðà greitesniam pasirinkimui."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Laiko pasirinkimas:\n" + -"- Spustelkite ant valandø arba minuèiø - skaièus padidës vienetu.\n" + -"- Jei spausite kartu su Shift, skaièius sumaþës.\n" + -"- Greitam pasirinkimui spustelkite ir pajudinkite pelæ."; - -Calendar._TT["PREV_YEAR"] = "Ankstesni metai (laikykite, jei norite meniu)"; -Calendar._TT["PREV_MONTH"] = "Ankstesnis mënuo (laikykite, jei norite meniu)"; -Calendar._TT["GO_TODAY"] = "Pasirinkti ðiandienà"; -Calendar._TT["NEXT_MONTH"] = "Kitas mënuo (laikykite, jei norite meniu)"; -Calendar._TT["NEXT_YEAR"] = "Kiti metai (laikykite, jei norite meniu)"; -Calendar._TT["SEL_DATE"] = "Pasirinkite datà"; -Calendar._TT["DRAG_TO_MOVE"] = "Tempkite"; -Calendar._TT["PART_TODAY"] = " (ðiandien)"; -Calendar._TT["MON_FIRST"] = "Pirma savaitës diena - pirmadienis"; -Calendar._TT["SUN_FIRST"] = "Pirma savaitës diena - sekmadienis"; -Calendar._TT["CLOSE"] = "Uþdaryti"; -Calendar._TT["TODAY"] = "Ðiandien"; -Calendar._TT["TIME_PART"] = "Spustelkite arba tempkite jei norite pakeisti"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%A, %Y-%m-%d"; - -Calendar._TT["WK"] = "sav"; diff --git a/sources/html/js/lang/calendar-lv.js b/sources/html/js/lang/calendar-lv.js deleted file mode 100644 index 407699d..0000000 --- a/sources/html/js/lang/calendar-lv.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar LV language -// Author: Juris Valdovskis, -// Encoding: cp1257 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Svçtdiena", - "Pirmdiena", - "Otrdiena", - "Treðdiena", - "Ceturdiena", - "Piektdiena", - "Sestdiena", - "Svçtdiena"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sv", - "Pr", - "Ot", - "Tr", - "Ce", - "Pk", - "Se", - "Sv"); - -// full month names -Calendar._MN = new Array -("Janvâris", - "Februâris", - "Marts", - "Aprîlis", - "Maijs", - "Jûnijs", - "Jûlijs", - "Augusts", - "Septembris", - "Oktobris", - "Novembris", - "Decembris"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "Mai", - "Jûn", - "Jûl", - "Aug", - "Sep", - "Okt", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Par kalendâru"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Datuma izvçle:\n" + -"- Izmanto \xab, \xbb pogas, lai izvçlçtos gadu\n" + -"- Izmanto " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "pogas, lai izvçlçtos mçnesi\n" + -"- Turi nospiestu peles pogu uz jebkuru no augstâk minçtajâm pogâm, lai paâtrinâtu izvçli."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Laika izvçle:\n" + -"- Uzklikðíini uz jebkuru no laika daïâm, lai palielinâtu to\n" + -"- vai Shift-klikðíis, lai samazinâtu to\n" + -"- vai noklikðíini un velc uz attiecîgo virzienu lai mainîtu âtrâk."; - -Calendar._TT["PREV_YEAR"] = "Iepr. gads (turi izvçlnei)"; -Calendar._TT["PREV_MONTH"] = "Iepr. mçnesis (turi izvçlnei)"; -Calendar._TT["GO_TODAY"] = "Ðodien"; -Calendar._TT["NEXT_MONTH"] = "Nâkoðais mçnesis (turi izvçlnei)"; -Calendar._TT["NEXT_YEAR"] = "Nâkoðais gads (turi izvçlnei)"; -Calendar._TT["SEL_DATE"] = "Izvçlies datumu"; -Calendar._TT["DRAG_TO_MOVE"] = "Velc, lai pârvietotu"; -Calendar._TT["PART_TODAY"] = " (ðodien)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Attçlot %s kâ pirmo"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "1,7"; - -Calendar._TT["CLOSE"] = "Aizvçrt"; -Calendar._TT["TODAY"] = "Ðodien"; -Calendar._TT["TIME_PART"] = "(Shift-)Klikðíis vai pârvieto, lai mainîtu"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Laiks:"; diff --git a/sources/html/js/lang/calendar-nl.js b/sources/html/js/lang/calendar-nl.js deleted file mode 100644 index a1dea94..0000000 --- a/sources/html/js/lang/calendar-nl.js +++ /dev/null @@ -1,73 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Zondag", - "Maandag", - "Dinsdag", - "Woensdag", - "Donderdag", - "Vrijdag", - "Zaterdag", - "Zondag"); - -Calendar._SDN_len = 2; - -Calendar._MN = new Array -("Januari", - "Februari", - "Maart", - "April", - "Mei", - "Juni", - "Juli", - "Augustus", - "September", - "Oktober", - "November", - "December"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Info"; - -Calendar._TT["ABOUT"] = -"DHTML Datum/Tijd Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + -"Ga voor de meest recente versie naar: http://www.dynarch.com/projects/calendar/\n" + -"Verspreid onder de GNU LGPL. Zie http://gnu.org/licenses/lgpl.html voor details." + -"\n\n" + -"Datum selectie:\n" + -"- Gebruik de \xab \xbb knoppen om een jaar te selecteren\n" + -"- Gebruik de " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " knoppen om een maand te selecteren\n" + -"- Houd de muis ingedrukt op de genoemde knoppen voor een snellere selectie."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Tijd selectie:\n" + -"- Klik op een willekeurig onderdeel van het tijd gedeelte om het te verhogen\n" + -"- of Shift-klik om het te verlagen\n" + -"- of klik en sleep voor een snellere selectie."; - -//Calendar._TT["TOGGLE"] = "Selecteer de eerste week-dag"; -Calendar._TT["PREV_YEAR"] = "Vorig jaar (ingedrukt voor menu)"; -Calendar._TT["PREV_MONTH"] = "Vorige maand (ingedrukt voor menu)"; -Calendar._TT["GO_TODAY"] = "Ga naar Vandaag"; -Calendar._TT["NEXT_MONTH"] = "Volgende maand (ingedrukt voor menu)"; -Calendar._TT["NEXT_YEAR"] = "Volgend jaar (ingedrukt voor menu)"; -Calendar._TT["SEL_DATE"] = "Selecteer datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Klik en sleep om te verplaatsen"; -Calendar._TT["PART_TODAY"] = " (vandaag)"; -//Calendar._TT["MON_FIRST"] = "Toon Maandag eerst"; -//Calendar._TT["SUN_FIRST"] = "Toon Zondag eerst"; - -Calendar._TT["DAY_FIRST"] = "Toon %s eerst"; - -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Sluiten"; -Calendar._TT["TODAY"] = "(vandaag)"; -Calendar._TT["TIME_PART"] = "(Shift-)Klik of sleep om de waarde te veranderen"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b %Y"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Tijd:"; \ No newline at end of file diff --git a/sources/html/js/lang/calendar-no.js b/sources/html/js/lang/calendar-no.js deleted file mode 100644 index d9297d1..0000000 --- a/sources/html/js/lang/calendar-no.js +++ /dev/null @@ -1,114 +0,0 @@ -// ** I18N - -// Calendar NO language -// Author: Daniel Holmen, -// Encoding: UTF-8 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Søndag", - "Mandag", - "Tirsdag", - "Onsdag", - "Torsdag", - "Fredag", - "Lørdag", - "Søndag"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Søn", - "Man", - "Tir", - "Ons", - "Tor", - "Fre", - "Lør", - "Søn"); - -// full month names -Calendar._MN = new Array -("Januar", - "Februar", - "Mars", - "April", - "Mai", - "Juni", - "Juli", - "August", - "September", - "Oktober", - "November", - "Desember"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "Mai", - "Jun", - "Jul", - "Aug", - "Sep", - "Okt", - "Nov", - "Des"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Om kalenderen"; - -Calendar._TT["ABOUT"] = -"DHTML Dato-/Tidsvelger\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For nyeste versjon, gÃ¥ til: http://www.dynarch.com/projects/calendar/\n" + -"Distribuert under GNU LGPL. Se http://gnu.org/licenses/lgpl.html for detaljer." + -"\n\n" + -"Datovalg:\n" + -"- Bruk knappene \xab og \xbb for Ã¥ velge Ã¥r\n" + -"- Bruk knappene " + String.fromCharCode(0x2039) + " og " + String.fromCharCode(0x203a) + " for Ã¥ velge mÃ¥ned\n" + -"- Hold inne musknappen eller knappene over for raskere valg."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Tidsvalg:\n" + -"- Klikk pÃ¥ en av tidsdelene for Ã¥ øke den\n" + -"- eller Shift-klikk for Ã¥ senke verdien\n" + -"- eller klikk-og-dra for raskere valg.."; - -Calendar._TT["PREV_YEAR"] = "Forrige. Ã¥r (hold for meny)"; -Calendar._TT["PREV_MONTH"] = "Forrige. mÃ¥ned (hold for meny)"; -Calendar._TT["GO_TODAY"] = "GÃ¥ til idag"; -Calendar._TT["NEXT_MONTH"] = "Neste mÃ¥ned (hold for meny)"; -Calendar._TT["NEXT_YEAR"] = "Neste Ã¥r (hold for meny)"; -Calendar._TT["SEL_DATE"] = "Velg dato"; -Calendar._TT["DRAG_TO_MOVE"] = "Dra for Ã¥ flytte"; -Calendar._TT["PART_TODAY"] = " (idag)"; -Calendar._TT["MON_FIRST"] = "Vis mandag først"; -Calendar._TT["SUN_FIRST"] = "Vis søndag først"; -Calendar._TT["CLOSE"] = "Lukk"; -Calendar._TT["TODAY"] = "Idag"; -Calendar._TT["TIME_PART"] = "(Shift-)Klikk eller dra for Ã¥ endre verdi"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "uke"; \ No newline at end of file diff --git a/sources/html/js/lang/calendar-pl-utf8.js b/sources/html/js/lang/calendar-pl-utf8.js deleted file mode 100644 index 6b8ca67..0000000 --- a/sources/html/js/lang/calendar-pl-utf8.js +++ /dev/null @@ -1,93 +0,0 @@ -// ** I18N - -// Calendar PL language -// Author: Dariusz Pietrzak, -// Author: Janusz Piwowarski, -// Encoding: utf-8 -// Distributed under the same terms as the calendar itself. - -Calendar._DN = new Array -("Niedziela", - "PoniedziaÅ‚ek", - "Wtorek", - "Åšroda", - "Czwartek", - "PiÄ…tek", - "Sobota", - "Niedziela"); -Calendar._SDN = new Array -("Nie", - "Pn", - "Wt", - "Åšr", - "Cz", - "Pt", - "So", - "Nie"); -Calendar._MN = new Array -("StyczeÅ„", - "Luty", - "Marzec", - "KwiecieÅ„", - "Maj", - "Czerwiec", - "Lipiec", - "SierpieÅ„", - "WrzesieÅ„", - "Październik", - "Listopad", - "GrudzieÅ„"); -Calendar._SMN = new Array -("Sty", - "Lut", - "Mar", - "Kwi", - "Maj", - "Cze", - "Lip", - "Sie", - "Wrz", - "Paź", - "Lis", - "Gru"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "O kalendarzu"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"Aby pobrać najnowszÄ… wersjÄ™, odwiedź: http://www.dynarch.com/projects/calendar/\n" + -"DostÄ™pny na licencji GNU LGPL. Zobacz szczegóły na http://gnu.org/licenses/lgpl.html." + -"\n\n" + -"Wybór daty:\n" + -"- Użyj przycisków \xab, \xbb by wybrać rok\n" + -"- Użyj przycisków " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " by wybrać miesiÄ…c\n" + -"- Przytrzymaj klawisz myszy nad jednym z powyższych przycisków dla szybszego wyboru."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Wybór czasu:\n" + -"- Kliknij na jednym z pól czasu by zwiÄ™kszyć jego wartość\n" + -"- lub kliknij trzymajÄ…c Shift by zmiejszyć jego wartość\n" + -"- lub kliknij i przeciÄ…gnij dla szybszego wyboru."; - -//Calendar._TT["TOGGLE"] = "ZmieÅ„ pierwszy dzieÅ„ tygodnia"; -Calendar._TT["PREV_YEAR"] = "Poprzedni rok (przytrzymaj dla menu)"; -Calendar._TT["PREV_MONTH"] = "Poprzedni miesiÄ…c (przytrzymaj dla menu)"; -Calendar._TT["GO_TODAY"] = "Idź do dzisiaj"; -Calendar._TT["NEXT_MONTH"] = "NastÄ™pny miesiÄ…c (przytrzymaj dla menu)"; -Calendar._TT["NEXT_YEAR"] = "NastÄ™pny rok (przytrzymaj dla menu)"; -Calendar._TT["SEL_DATE"] = "Wybierz datÄ™"; -Calendar._TT["DRAG_TO_MOVE"] = "PrzeciÄ…gnij by przesunąć"; -Calendar._TT["PART_TODAY"] = " (dzisiaj)"; -Calendar._TT["MON_FIRST"] = "WyÅ›wietl poniedziaÅ‚ek jako pierwszy"; -Calendar._TT["SUN_FIRST"] = "WyÅ›wietl niedzielÄ™ jako pierwszÄ…"; -Calendar._TT["CLOSE"] = "Zamknij"; -Calendar._TT["TODAY"] = "Dzisiaj"; -Calendar._TT["TIME_PART"] = "(Shift-)Kliknij lub przeciÄ…gnij by zmienić wartość"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%e %B, %A"; - -Calendar._TT["WK"] = "ty"; diff --git a/sources/html/js/lang/calendar-pl.js b/sources/html/js/lang/calendar-pl.js deleted file mode 100644 index 76e0551..0000000 --- a/sources/html/js/lang/calendar-pl.js +++ /dev/null @@ -1,56 +0,0 @@ -// ** I18N -// Calendar PL language -// Author: Artur Filipiak, -// January, 2004 -// Encoding: UTF-8 -Calendar._DN = new Array -("Niedziela", "PoniedziaÅ‚ek", "Wtorek", "Åšroda", "Czwartek", "PiÄ…tek", "Sobota", "Niedziela"); - -Calendar._SDN = new Array -("N", "Pn", "Wt", "Åšr", "Cz", "Pt", "So", "N"); - -Calendar._MN = new Array -("StyczeÅ„", "Luty", "Marzec", "KwiecieÅ„", "Maj", "Czerwiec", "Lipiec", "SierpieÅ„", "WrzesieÅ„", "Październik", "Listopad", "GrudzieÅ„"); - -Calendar._SMN = new Array -("Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "O kalendarzu"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Wybór daty:\n" + -"- aby wybrać rok użyj przycisków \xab, \xbb\n" + -"- aby wybrać miesiÄ…c użyj przycisków " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" + -"- aby przyspieszyć wybór przytrzymaj wciÅ›niÄ™ty przycisk myszy nad ww. przyciskami."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Wybór czasu:\n" + -"- aby zwiÄ™kszyć wartość kliknij na dowolnym elemencie selekcji czasu\n" + -"- aby zmniejszyć wartość użyj dodatkowo klawisza Shift\n" + -"- możesz również poruszać myszkÄ™ w lewo i prawo wraz z wciÅ›niÄ™tym lewym klawiszem."; - -Calendar._TT["PREV_YEAR"] = "Poprz. rok (przytrzymaj dla menu)"; -Calendar._TT["PREV_MONTH"] = "Poprz. miesiÄ…c (przytrzymaj dla menu)"; -Calendar._TT["GO_TODAY"] = "Pokaż dziÅ›"; -Calendar._TT["NEXT_MONTH"] = "Nast. miesiÄ…c (przytrzymaj dla menu)"; -Calendar._TT["NEXT_YEAR"] = "Nast. rok (przytrzymaj dla menu)"; -Calendar._TT["SEL_DATE"] = "Wybierz datÄ™"; -Calendar._TT["DRAG_TO_MOVE"] = "PrzesuÅ„ okienko"; -Calendar._TT["PART_TODAY"] = " (dziÅ›)"; -Calendar._TT["MON_FIRST"] = "Pokaż PoniedziaÅ‚ek jako pierwszy"; -Calendar._TT["SUN_FIRST"] = "Pokaż NiedzielÄ™ jako pierwszÄ…"; -Calendar._TT["CLOSE"] = "Zamknij"; -Calendar._TT["TODAY"] = "DziÅ›"; -Calendar._TT["TIME_PART"] = "(Shift-)klik | drag, aby zmienić wartość"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y.%m.%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; \ No newline at end of file diff --git a/sources/html/js/lang/calendar-pt.js b/sources/html/js/lang/calendar-pt.js deleted file mode 100644 index deee8a1..0000000 --- a/sources/html/js/lang/calendar-pt.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar pt_BR language -// Author: Adalberto Machado, -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Domingo", - "Segunda", - "Terca", - "Quarta", - "Quinta", - "Sexta", - "Sabado", - "Domingo"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Dom", - "Seg", - "Ter", - "Qua", - "Qui", - "Sex", - "Sab", - "Dom"); - -// full month names -Calendar._MN = new Array -("Janeiro", - "Fevereiro", - "Marco", - "Abril", - "Maio", - "Junho", - "Julho", - "Agosto", - "Setembro", - "Outubro", - "Novembro", - "Dezembro"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Fev", - "Mar", - "Abr", - "Mai", - "Jun", - "Jul", - "Ago", - "Set", - "Out", - "Nov", - "Dez"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Sobre o calendario"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"Ultima versao visite: http://www.dynarch.com/projects/calendar/\n" + -"Distribuido sobre GNU LGPL. Veja http://gnu.org/licenses/lgpl.html para detalhes." + -"\n\n" + -"Selecao de data:\n" + -"- Use os botoes \xab, \xbb para selecionar o ano\n" + -"- Use os botoes " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para selecionar o mes\n" + -"- Segure o botao do mouse em qualquer um desses botoes para selecao rapida."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Selecao de hora:\n" + -"- Clique em qualquer parte da hora para incrementar\n" + -"- ou Shift-click para decrementar\n" + -"- ou clique e segure para selecao rapida."; - -Calendar._TT["PREV_YEAR"] = "Ant. ano (segure para menu)"; -Calendar._TT["PREV_MONTH"] = "Ant. mes (segure para menu)"; -Calendar._TT["GO_TODAY"] = "Hoje"; -Calendar._TT["NEXT_MONTH"] = "Prox. mes (segure para menu)"; -Calendar._TT["NEXT_YEAR"] = "Prox. ano (segure para menu)"; -Calendar._TT["SEL_DATE"] = "Selecione a data"; -Calendar._TT["DRAG_TO_MOVE"] = "Arraste para mover"; -Calendar._TT["PART_TODAY"] = " (hoje)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Mostre %s primeiro"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Fechar"; -Calendar._TT["TODAY"] = "Hoje"; -Calendar._TT["TIME_PART"] = "(Shift-)Click ou arraste para mudar valor"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b"; - -Calendar._TT["WK"] = "sm"; -Calendar._TT["TIME"] = "Hora:"; diff --git a/sources/html/js/lang/calendar-ro.js b/sources/html/js/lang/calendar-ro.js deleted file mode 100644 index 116e358..0000000 --- a/sources/html/js/lang/calendar-ro.js +++ /dev/null @@ -1,66 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Duminică", - "Luni", - "MarÅ£i", - "Miercuri", - "Joi", - "Vineri", - "Sâmbătă", - "Duminică"); -Calendar._SDN_len = 2; -Calendar._MN = new Array -("Ianuarie", - "Februarie", - "Martie", - "Aprilie", - "Mai", - "Iunie", - "Iulie", - "August", - "Septembrie", - "Octombrie", - "Noiembrie", - "Decembrie"); - -// tooltips -Calendar._TT = {}; - -Calendar._TT["INFO"] = "Despre calendar"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"Pentru ultima versiune vizitaÅ£i: http://www.dynarch.com/projects/calendar/\n" + -"Distribuit sub GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"SelecÅ£ia datei:\n" + -"- FolosiÅ£i butoanele \xab, \xbb pentru a selecta anul\n" + -"- FolosiÅ£i butoanele " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pentru a selecta luna\n" + -"- TineÅ£i butonul mouse-ului apăsat pentru selecÅ£ie mai rapidă."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"SelecÅ£ia orei:\n" + -"- Click pe ora sau minut pentru a mări valoarea cu 1\n" + -"- Sau Shift-Click pentru a micÅŸora valoarea cu 1\n" + -"- Sau Click ÅŸi drag pentru a selecta mai repede."; - -Calendar._TT["PREV_YEAR"] = "Anul precedent (lung pt menu)"; -Calendar._TT["PREV_MONTH"] = "Luna precedentă (lung pt menu)"; -Calendar._TT["GO_TODAY"] = "Data de azi"; -Calendar._TT["NEXT_MONTH"] = "Luna următoare (lung pt menu)"; -Calendar._TT["NEXT_YEAR"] = "Anul următor (lung pt menu)"; -Calendar._TT["SEL_DATE"] = "Selectează data"; -Calendar._TT["DRAG_TO_MOVE"] = "Trage pentru a miÅŸca"; -Calendar._TT["PART_TODAY"] = " (astăzi)"; -Calendar._TT["DAY_FIRST"] = "AfiÅŸează %s prima zi"; -Calendar._TT["WEEKEND"] = "0,6"; -Calendar._TT["CLOSE"] = "ÃŽnchide"; -Calendar._TT["TODAY"] = "Astăzi"; -Calendar._TT["TIME_PART"] = "(Shift-)Click sau drag pentru a selecta"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%A, %d %B"; - -Calendar._TT["WK"] = "spt"; -Calendar._TT["TIME"] = "Ora:"; diff --git a/sources/html/js/lang/calendar-ru.js b/sources/html/js/lang/calendar-ru.js deleted file mode 100644 index 9f75a6a..0000000 --- a/sources/html/js/lang/calendar-ru.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar RU language -// Translation: Sly Golovanov, http://golovanov.net, -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("воÑкреÑенье", - "понедельник", - "вторник", - "Ñреда", - "четверг", - "пÑтница", - "Ñуббота", - "воÑкреÑенье"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("вÑк", - "пон", - "втр", - "Ñрд", - "чет", - "пÑÑ‚", - "Ñуб", - "вÑк"); - -// full month names -Calendar._MN = new Array -("Ñнварь", - "февраль", - "март", - "апрель", - "май", - "июнь", - "июль", - "авгуÑÑ‚", - "ÑентÑбрь", - "октÑбрь", - "ноÑбрь", - "декабрь"); - -// short month names -Calendar._SMN = new Array -("Ñнв", - "фев", - "мар", - "апр", - "май", - "июн", - "июл", - "авг", - "Ñен", - "окт", - "ноÑ", - "дек"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "О календаре..."; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Как выбрать дату:\n" + -"- При помощи кнопок \xab, \xbb можно выбрать год\n" + -"- При помощи кнопок " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " можно выбрать меÑÑц\n" + -"- Подержите Ñти кнопки нажатыми, чтобы поÑвилоÑÑŒ меню быÑтрого выбора."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Как выбрать времÑ:\n" + -"- При клике на чаÑах или минутах они увеличиваютÑÑ\n" + -"- при клике Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¾Ð¹ клавишей Shift они уменьшаютÑÑ\n" + -"- еÑли нажать и двигать мышкой влево/вправо, они будут менÑÑ‚ÑŒÑÑ Ð±Ñ‹Ñтрее."; - -Calendar._TT["PREV_YEAR"] = "Ðа год назад (удерживать Ð´Ð»Ñ Ð¼ÐµÐ½ÑŽ)"; -Calendar._TT["PREV_MONTH"] = "Ðа меÑÑц назад (удерживать Ð´Ð»Ñ Ð¼ÐµÐ½ÑŽ)"; -Calendar._TT["GO_TODAY"] = "СегоднÑ"; -Calendar._TT["NEXT_MONTH"] = "Ðа меÑÑц вперед (удерживать Ð´Ð»Ñ Ð¼ÐµÐ½ÑŽ)"; -Calendar._TT["NEXT_YEAR"] = "Ðа год вперед (удерживать Ð´Ð»Ñ Ð¼ÐµÐ½ÑŽ)"; -Calendar._TT["SEL_DATE"] = "Выберите дату"; -Calendar._TT["DRAG_TO_MOVE"] = "ПеретаÑкивайте мышкой"; -Calendar._TT["PART_TODAY"] = " (ÑегоднÑ)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Первый день недели будет %s"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Закрыть"; -Calendar._TT["TODAY"] = "СегоднÑ"; -Calendar._TT["TIME_PART"] = "(Shift-)клик или нажать и двигать"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%e %b, %a"; - -Calendar._TT["WK"] = "нед"; -Calendar._TT["TIME"] = "ВремÑ:"; diff --git a/sources/html/js/lang/calendar-ru_win_.js b/sources/html/js/lang/calendar-ru_win_.js deleted file mode 100644 index de455af..0000000 --- a/sources/html/js/lang/calendar-ru_win_.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar RU language -// Translation: Sly Golovanov, http://golovanov.net, -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("âîñêðåñåíüå", - "ïîíåäåëüíèê", - "âòîðíèê", - "ñðåäà", - "÷åòâåðã", - "ïÿòíèöà", - "ñóááîòà", - "âîñêðåñåíüå"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("âñê", - "ïîí", - "âòð", - "ñðä", - "÷åò", - "ïÿò", - "ñóá", - "âñê"); - -// full month names -Calendar._MN = new Array -("ÿíâàðü", - "ôåâðàëü", - "ìàðò", - "àïðåëü", - "ìàé", - "èþíü", - "èþëü", - "àâãóñò", - "ñåíòÿáðü", - "îêòÿáðü", - "íîÿáðü", - "äåêàáðü"); - -// short month names -Calendar._SMN = new Array -("ÿíâ", - "ôåâ", - "ìàð", - "àïð", - "ìàé", - "èþí", - "èþë", - "àâã", - "ñåí", - "îêò", - "íîÿ", - "äåê"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Î êàëåíäàðå..."; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Êàê âûáðàòü äàòó:\n" + -"- Ïðè ïîìîùè êíîïîê \xab, \xbb ìîæíî âûáðàòü ãîä\n" + -"- Ïðè ïîìîùè êíîïîê " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ìîæíî âûáðàòü ìåñÿö\n" + -"- Ïîäåðæèòå ýòè êíîïêè íàæàòûìè, ÷òîáû ïîÿâèëîñü ìåíþ áûñòðîãî âûáîðà."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Êàê âûáðàòü âðåìÿ:\n" + -"- Ïðè êëèêå íà ÷àñàõ èëè ìèíóòàõ îíè óâåëè÷èâàþòñÿ\n" + -"- ïðè êëèêå ñ íàæàòîé êëàâèøåé Shift îíè óìåíüøàþòñÿ\n" + -"- åñëè íàæàòü è äâèãàòü ìûøêîé âëåâî/âïðàâî, îíè áóäóò ìåíÿòüñÿ áûñòðåå."; - -Calendar._TT["PREV_YEAR"] = "Íà ãîä íàçàä (óäåðæèâàòü äëÿ ìåíþ)"; -Calendar._TT["PREV_MONTH"] = "Íà ìåñÿö íàçàä (óäåðæèâàòü äëÿ ìåíþ)"; -Calendar._TT["GO_TODAY"] = "Ñåãîäíÿ"; -Calendar._TT["NEXT_MONTH"] = "Íà ìåñÿö âïåðåä (óäåðæèâàòü äëÿ ìåíþ)"; -Calendar._TT["NEXT_YEAR"] = "Íà ãîä âïåðåä (óäåðæèâàòü äëÿ ìåíþ)"; -Calendar._TT["SEL_DATE"] = "Âûáåðèòå äàòó"; -Calendar._TT["DRAG_TO_MOVE"] = "Ïåðåòàñêèâàéòå ìûøêîé"; -Calendar._TT["PART_TODAY"] = " (ñåãîäíÿ)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Ïåðâûé äåíü íåäåëè áóäåò %s"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Çàêðûòü"; -Calendar._TT["TODAY"] = "Ñåãîäíÿ"; -Calendar._TT["TIME_PART"] = "(Shift-)êëèê èëè íàæàòü è äâèãàòü"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%e %b, %a"; - -Calendar._TT["WK"] = "íåä"; -Calendar._TT["TIME"] = "Âðåìÿ:"; diff --git a/sources/html/js/lang/calendar-si.js b/sources/html/js/lang/calendar-si.js deleted file mode 100644 index 100c522..0000000 --- a/sources/html/js/lang/calendar-si.js +++ /dev/null @@ -1,94 +0,0 @@ -/* Slovenian language file for the DHTML Calendar version 0.9.2 -* Author David Milost , January 2004. -* Feel free to use this script under the terms of the GNU Lesser General -* Public License, as long as you do not remove or alter this notice. -*/ - // full day names -Calendar._DN = new Array -("Nedelja", - "Ponedeljek", - "Torek", - "Sreda", - "ÄŒetrtek", - "Petek", - "Sobota", - "Nedelja"); - // short day names - Calendar._SDN = new Array -("Ned", - "Pon", - "Tor", - "Sre", - "ÄŒet", - "Pet", - "Sob", - "Ned"); -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "Maj", - "Jun", - "Jul", - "Avg", - "Sep", - "Okt", - "Nov", - "Dec"); - // full month names -Calendar._MN = new Array -("Januar", - "Februar", - "Marec", - "April", - "Maj", - "Junij", - "Julij", - "Avgust", - "September", - "Oktober", - "November", - "December"); - -// tooltips -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "O koledarju"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"Za zadnjo verzijo pojdine na naslov: http://www.dynarch.com/projects/calendar/\n" + -"Distribuirano pod GNU LGPL. Poglejte http://gnu.org/licenses/lgpl.html za podrobnosti." + -"\n\n" + -"Izbor datuma:\n" + -"- Uporabite \xab, \xbb gumbe za izbor leta\n" + -"- Uporabite " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " gumbe za izbor meseca\n" + -"- Zadržite klik na kateremkoli od zgornjih gumbov za hiter izbor."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Izbor ćasa:\n" + -"- Kliknite na katerikoli del ćasa za poveć. le-tega\n" + -"- ali Shift-click za zmanj. le-tega\n" + -"- ali kliknite in povlecite za hiter izbor."; - -Calendar._TT["TOGGLE"] = "Spremeni dan s katerim se prićne teden"; -Calendar._TT["PREV_YEAR"] = "Predhodnje leto (dolg klik za meni)"; -Calendar._TT["PREV_MONTH"] = "Predhodnji mesec (dolg klik za meni)"; -Calendar._TT["GO_TODAY"] = "Pojdi na tekoći dan"; -Calendar._TT["NEXT_MONTH"] = "Naslednji mesec (dolg klik za meni)"; -Calendar._TT["NEXT_YEAR"] = "Naslednje leto (dolg klik za meni)"; -Calendar._TT["SEL_DATE"] = "Izberite datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Pritisni in povleci za spremembo pozicije"; -Calendar._TT["PART_TODAY"] = " (danes)"; -Calendar._TT["MON_FIRST"] = "Prikaži ponedeljek kot prvi dan"; -Calendar._TT["SUN_FIRST"] = "Prikaži nedeljo kot prvi dan"; -Calendar._TT["CLOSE"] = "Zapri"; -Calendar._TT["TODAY"] = "Danes"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "Ted"; \ No newline at end of file diff --git a/sources/html/js/lang/calendar-sk.js b/sources/html/js/lang/calendar-sk.js deleted file mode 100644 index 4fe6a3c..0000000 --- a/sources/html/js/lang/calendar-sk.js +++ /dev/null @@ -1,99 +0,0 @@ -// ** I18N - -// Calendar SK language -// Author: Peter Valach (pvalach@gmx.net) -// Encoding: utf-8 -// Last update: 2003/10/29 -// Distributed under the same terms as the calendar itself. - -// full day names -Calendar._DN = new Array -("NedeÄľa", - "Pondelok", - "Utorok", - "Streda", - "Ĺ tvrtok", - "Piatok", - "Sobota", - "NedeÄľa"); - -// short day names -Calendar._SDN = new Array -("Ned", - "Pon", - "Uto", - "Str", - "Ĺ tv", - "Pia", - "Sob", - "Ned"); - -// full month names -Calendar._MN = new Array -("Január", - "Február", - "Marec", - "AprĂ­l", - "Máj", - "JÄ‚ÅŸn", - "JÄ‚ÅŸl", - "August", - "September", - "OktÄ‚Å‚ber", - "November", - "December"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "Máj", - "JÄ‚ÅŸn", - "JÄ‚ÅŸl", - "Aug", - "Sep", - "Okt", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "O kalendári"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + -"PoslednÄ‚ÅŸ verziu nájdete na: http://www.dynarch.com/projects/calendar/\n" + -"DistribuovanĂ© pod GNU LGPL. ViÄŹ http://gnu.org/licenses/lgpl.html pre detaily." + -"\n\n" + -"VÄ‚Ëber dátumu:\n" + -"- PouĹľite tlaÄŤidlá \xab, \xbb pre vÄ‚Ëber roku\n" + -"- PouĹľite tlaÄŤidlá " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pre vÄ‚Ëber mesiaca\n" + -"- Ak ktorĂ©koÄľvek z tÄ‚Ëchto tlaÄŤidiel podržíte dlhšie, zobrazĂ­ sa rÄ‚Ëchly vÄ‚Ëber."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"VÄ‚Ëber ÄŤasu:\n" + -"- Kliknutie na niektorÄ‚ÅŸ poloĹľku ÄŤasu ju zvÄ‚Ëši\n" + -"- Shift-klik ju znĂ­Ĺľi\n" + -"- Ak podržíte tlaÄŤĂ­tko stlaÄŤenĂ©, posÄ‚ÅŸvanĂ­m menĂ­te hodnotu."; - -Calendar._TT["PREV_YEAR"] = "PredošlÄ‚Ë rok (podrĹľte pre menu)"; -Calendar._TT["PREV_MONTH"] = "PredošlÄ‚Ë mesiac (podrĹľte pre menu)"; -Calendar._TT["GO_TODAY"] = "PrejsĹĄ na dnešok"; -Calendar._TT["NEXT_MONTH"] = "Nasl. mesiac (podrĹľte pre menu)"; -Calendar._TT["NEXT_YEAR"] = "Nasl. rok (podrĹľte pre menu)"; -Calendar._TT["SEL_DATE"] = "ZvoÄľte dátum"; -Calendar._TT["DRAG_TO_MOVE"] = "PodrĹľanĂ­m tlaÄŤĂ­tka zmenĂ­te polohu"; -Calendar._TT["PART_TODAY"] = " (dnes)"; -Calendar._TT["MON_FIRST"] = "ZobraziĹĄ pondelok ako prvÄ‚Ë"; -Calendar._TT["SUN_FIRST"] = "ZobraziĹĄ nedeÄľu ako prvÄ‚ÅŸ"; -Calendar._TT["CLOSE"] = "ZavrieĹĄ"; -Calendar._TT["TODAY"] = "Dnes"; -Calendar._TT["TIME_PART"] = "(Shift-)klik/ĹĄahanie zmenĂ­ hodnotu"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "$d. %m. %Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %e. %b"; - -Calendar._TT["WK"] = "tÄ‚ËĹľ"; diff --git a/sources/html/js/lang/calendar-sp.js b/sources/html/js/lang/calendar-sp.js deleted file mode 100644 index 239d1b3..0000000 --- a/sources/html/js/lang/calendar-sp.js +++ /dev/null @@ -1,110 +0,0 @@ -// ** I18N - -// Calendar SP language -// Author: Rafael Velasco -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Domingo", - "Lunes", - "Martes", - "Miercoles", - "Jueves", - "Viernes", - "Sabado", - "Domingo"); - -Calendar._SDN = new Array -("Dom", - "Lun", - "Mar", - "Mie", - "Jue", - "Vie", - "Sab", - "Dom"); - -// full month names -Calendar._MN = new Array -("Enero", - "Febrero", - "Marzo", - "Abril", - "Mayo", - "Junio", - "Julio", - "Agosto", - "Septiembre", - "Octubre", - "Noviembre", - "Diciembre"); - -// short month names -Calendar._SMN = new Array -("Ene", - "Feb", - "Mar", - "Abr", - "May", - "Jun", - "Jul", - "Ago", - "Sep", - "Oct", - "Nov", - "Dic"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Información del Calendario"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"Nuevas versiones en: http://www.dynarch.com/projects/calendar/\n" + -"Distribuida bajo licencia GNU LGPL. Para detalles vea http://gnu.org/licenses/lgpl.html ." + -"\n\n" + -"Selección de Fechas:\n" + -"- Use \xab, \xbb para seleccionar el año\n" + -"- Use " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para seleccionar el mes\n" + -"- Mantenga presionado el botón del ratón en cualquiera de las opciones superiores para un acceso rapido ."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Selección del Reloj:\n" + -"- Seleccione la hora para cambiar el reloj\n" + -"- o presione Shift-click para disminuirlo\n" + -"- o presione click y arrastre del ratón para una selección rapida."; - -Calendar._TT["PREV_YEAR"] = "Año anterior (Presione para menu)"; -Calendar._TT["PREV_MONTH"] = "Mes Anterior (Presione para menu)"; -Calendar._TT["GO_TODAY"] = "Ir a Hoy"; -Calendar._TT["NEXT_MONTH"] = "Mes Siguiente (Presione para menu)"; -Calendar._TT["NEXT_YEAR"] = "Año Siguiente (Presione para menu)"; -Calendar._TT["SEL_DATE"] = "Seleccione fecha"; -Calendar._TT["DRAG_TO_MOVE"] = "Arrastre y mueva"; -Calendar._TT["PART_TODAY"] = " (Hoy)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Mostrar %s primero"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Cerrar"; -Calendar._TT["TODAY"] = "Hoy"; -Calendar._TT["TIME_PART"] = "(Shift-)Click o arrastra para cambar el valor"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%dd-%mm-%yy"; -Calendar._TT["TT_DATE_FORMAT"] = "%A, %e de %B de %Y"; - -Calendar._TT["WK"] = "Sm"; -Calendar._TT["TIME"] = "Hora:"; diff --git a/sources/html/js/lang/calendar-sv.js b/sources/html/js/lang/calendar-sv.js deleted file mode 100644 index db1f4b8..0000000 --- a/sources/html/js/lang/calendar-sv.js +++ /dev/null @@ -1,93 +0,0 @@ -// ** I18N - -// Calendar SV language (Swedish, svenska) -// Author: Mihai Bazon, -// Translation team: -// Translator: Leonard Norrgård -// Last translator: Leonard Norrgård -// Encoding: iso-latin-1 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("söndag", - "måndag", - "tisdag", - "onsdag", - "torsdag", - "fredag", - "lördag", - "söndag"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. -Calendar._SDN_len = 2; -Calendar._SMN_len = 3; - -// full month names -Calendar._MN = new Array -("januari", - "februari", - "mars", - "april", - "maj", - "juni", - "juli", - "augusti", - "september", - "oktober", - "november", - "december"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Om kalendern"; - -Calendar._TT["ABOUT"] = -"DHTML Datum/tid-väljare\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"För senaste version gå till: http://www.dynarch.com/projects/calendar/\n" + -"Distribueras under GNU LGPL. Se http://gnu.org/licenses/lgpl.html för detaljer." + -"\n\n" + -"Val av datum:\n" + -"- Använd knapparna \xab, \xbb för att välja år\n" + -"- Använd knapparna " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " för att välja månad\n" + -"- Håll musknappen nedtryckt på någon av ovanstående knappar för snabbare val."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Val av tid:\n" + -"- Klicka på en del av tiden för att öka den delen\n" + -"- eller skift-klicka för att minska den\n" + -"- eller klicka och drag för snabbare val."; - -Calendar._TT["PREV_YEAR"] = "Föregående år (håll för menu)"; -Calendar._TT["PREV_MONTH"] = "Föregående månad (håll för menu)"; -Calendar._TT["GO_TODAY"] = "Gå till dagens datum"; -Calendar._TT["NEXT_MONTH"] = "Följande månad (håll för menu)"; -Calendar._TT["NEXT_YEAR"] = "Följande år (håll för menu)"; -Calendar._TT["SEL_DATE"] = "Välj datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Drag för att flytta"; -Calendar._TT["PART_TODAY"] = " (idag)"; -Calendar._TT["MON_FIRST"] = "Visa måndag först"; -Calendar._TT["SUN_FIRST"] = "Visa söndag först"; -Calendar._TT["CLOSE"] = "Stäng"; -Calendar._TT["TODAY"] = "Idag"; -Calendar._TT["TIME_PART"] = "(Skift-)klicka eller drag för att ändra tid"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%A %d %b %Y"; - -Calendar._TT["WK"] = "vecka"; diff --git a/sources/html/js/lang/calendar-tr.js b/sources/html/js/lang/calendar-tr.js deleted file mode 100644 index f2c906c..0000000 --- a/sources/html/js/lang/calendar-tr.js +++ /dev/null @@ -1,58 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////////////// -// Turkish Translation by Nuri AKMAN -// Location: Ankara/TURKEY -// e-mail : nuriakman@hotmail.com -// Date : April, 9 2003 -// -// Note: if Turkish Characters does not shown on you screen -// please include falowing line your html code: -// -// -// -////////////////////////////////////////////////////////////////////////////////////////////// - -// ** I18N -Calendar._DN = new Array -("Pazar", - "Pazartesi", - "Salý", - "Çarþamba", - "Perþembe", - "Cuma", - "Cumartesi", - "Pazar"); -Calendar._MN = new Array -("Ocak", - "Þubat", - "Mart", - "Nisan", - "Mayýs", - "Haziran", - "Temmuz", - "Aðustos", - "Eylül", - "Ekim", - "Kasým", - "Aralýk"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Haftanýn ilk gününü kaydýr"; -Calendar._TT["PREV_YEAR"] = "Önceki Yýl (Menü için basýlý tutunuz)"; -Calendar._TT["PREV_MONTH"] = "Önceki Ay (Menü için basýlý tutunuz)"; -Calendar._TT["GO_TODAY"] = "Bugün'e git"; -Calendar._TT["NEXT_MONTH"] = "Sonraki Ay (Menü için basýlý tutunuz)"; -Calendar._TT["NEXT_YEAR"] = "Sonraki Yýl (Menü için basýlý tutunuz)"; -Calendar._TT["SEL_DATE"] = "Tarih seçiniz"; -Calendar._TT["DRAG_TO_MOVE"] = "Taþýmak için sürükleyiniz"; -Calendar._TT["PART_TODAY"] = " (bugün)"; -Calendar._TT["MON_FIRST"] = "Takvim Pazartesi gününden baþlasýn"; -Calendar._TT["SUN_FIRST"] = "Takvim Pazar gününden baþlasýn"; -Calendar._TT["CLOSE"] = "Kapat"; -Calendar._TT["TODAY"] = "Bugün"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y"; -Calendar._TT["TT_DATE_FORMAT"] = "d MM y, DD"; - -Calendar._TT["WK"] = "Hafta"; diff --git a/sources/html/js/lang/calendar-zh.js b/sources/html/js/lang/calendar-zh.js deleted file mode 100644 index 4a0feb6..0000000 --- a/sources/html/js/lang/calendar-zh.js +++ /dev/null @@ -1,119 +0,0 @@ -// ** I18N - -// Calendar ZH language -// Author: muziq, -// Encoding: GB2312 or GBK -// Distributed under the same terms as the calendar itself. - -// full day names -Calendar._DN = new Array -("ÐÇÆÚÈÕ", - "ÐÇÆÚÒ»", - "ÐÇÆÚ¶þ", - "ÐÇÆÚÈý", - "ÐÇÆÚËÄ", - "ÐÇÆÚÎå", - "ÐÇÆÚÁù", - "ÐÇÆÚÈÕ"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("ÈÕ", - "Ò»", - "¶þ", - "Èý", - "ËÄ", - "Îå", - "Áù", - "ÈÕ"); - -// full month names -Calendar._MN = new Array -("Ò»ÔÂ", - "¶þÔÂ", - "ÈýÔÂ", - "ËÄÔÂ", - "ÎåÔÂ", - "ÁùÔÂ", - "ÆßÔÂ", - "°ËÔÂ", - "¾ÅÔÂ", - "Ê®ÔÂ", - "ʮһÔÂ", - "Ê®¶þÔÂ"); - -// short month names -Calendar._SMN = new Array -("Ò»ÔÂ", - "¶þÔÂ", - "ÈýÔÂ", - "ËÄÔÂ", - "ÎåÔÂ", - "ÁùÔÂ", - "ÆßÔÂ", - "°ËÔÂ", - "¾ÅÔÂ", - "Ê®ÔÂ", - "ʮһÔÂ", - "Ê®¶þÔÂ"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "°ïÖú"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Ñ¡ÔñÈÕÆÚ:\n" + -"- µã»÷ \xab, \xbb °´Å¥Ñ¡ÔñÄê·Ý\n" + -"- µã»÷ " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " °´Å¥Ñ¡ÔñÔ·Ý\n" + -"- ³¤°´ÒÔÉÏ°´Å¥¿É´Ó²Ëµ¥ÖпìËÙÑ¡ÔñÄê·Ý»òÔ·Ý"; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Ñ¡Ôñʱ¼ä:\n" + -"- µã»÷Сʱ»ò·ÖÖÓ¿Éʹ¸ÄÊýÖµ¼ÓÒ»\n" + -"- °´×¡Shift¼üµã»÷Сʱ»ò·ÖÖÓ¿Éʹ¸ÄÊýÖµ¼õÒ»\n" + -"- µã»÷Í϶¯Êó±ê¿É½øÐпìËÙÑ¡Ôñ"; - -Calendar._TT["PREV_YEAR"] = "ÉÏÒ»Äê (°´×¡³ö²Ëµ¥)"; -Calendar._TT["PREV_MONTH"] = "ÉÏÒ»Ô (°´×¡³ö²Ëµ¥)"; -Calendar._TT["GO_TODAY"] = "תµ½½ñÈÕ"; -Calendar._TT["NEXT_MONTH"] = "ÏÂÒ»Ô (°´×¡³ö²Ëµ¥)"; -Calendar._TT["NEXT_YEAR"] = "ÏÂÒ»Äê (°´×¡³ö²Ëµ¥)"; -Calendar._TT["SEL_DATE"] = "Ñ¡ÔñÈÕÆÚ"; -Calendar._TT["DRAG_TO_MOVE"] = "Í϶¯"; -Calendar._TT["PART_TODAY"] = " (½ñÈÕ)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "×î×ó±ßÏÔʾ%s"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "¹Ø±Õ"; -Calendar._TT["TODAY"] = "½ñÈÕ"; -Calendar._TT["TIME_PART"] = "(Shift-)µã»÷Êó±ê»òÍ϶¯¸Ä±äÖµ"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%A, %b %eÈÕ"; - -Calendar._TT["WK"] = "ÖÜ"; -Calendar._TT["TIME"] = "ʱ¼ä:"; diff --git a/sources/html/js/lang/cn_utf8.js b/sources/html/js/lang/cn_utf8.js deleted file mode 100644 index de61b46..0000000 --- a/sources/html/js/lang/cn_utf8.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, -// Encoding: any -// Translator : Niko -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("\u5468\u65e5",//\u5468\u65e5 - "\u5468\u4e00",//\u5468\u4e00 - "\u5468\u4e8c",//\u5468\u4e8c - "\u5468\u4e09",//\u5468\u4e09 - "\u5468\u56db",//\u5468\u56db - "\u5468\u4e94",//\u5468\u4e94 - "\u5468\u516d",//\u5468\u516d - "\u5468\u65e5");//\u5468\u65e5 - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("\u5468\u65e5", - "\u5468\u4e00", - "\u5468\u4e8c", - "\u5468\u4e09", - "\u5468\u56db", - "\u5468\u4e94", - "\u5468\u516d", - "\u5468\u65e5"); - -// full month names -Calendar._MN = new Array -("\u4e00\u6708", - "\u4e8c\u6708", - "\u4e09\u6708", - "\u56db\u6708", - "\u4e94\u6708", - "\u516d\u6708", - "\u4e03\u6708", - "\u516b\u6708", - "\u4e5d\u6708", - "\u5341\u6708", - "\u5341\u4e00\u6708", - "\u5341\u4e8c\u6708"); - -// short month names -Calendar._SMN = new Array -("\u4e00\u6708", - "\u4e8c\u6708", - "\u4e09\u6708", - "\u56db\u6708", - "\u4e94\u6708", - "\u516d\u6708", - "\u4e03\u6708", - "\u516b\u6708", - "\u4e5d\u6708", - "\u5341\u6708", - "\u5341\u4e00\u6708", - "\u5341\u4e8c\u6708"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "\u5173\u4e8e"; - -Calendar._TT["ABOUT"] = -" DHTML \u65e5\u8d77/\u65f6\u95f4\u9009\u62e9\u63a7\u4ef6\n" + -"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) -"For latest version visit: \u6700\u65b0\u7248\u672c\u8bf7\u767b\u9646http://www.dynarch.com/projects/calendar/\u5bdf\u770b\n" + -"\u9075\u5faaGNU LGPL. \u7ec6\u8282\u53c2\u9605 http://gnu.org/licenses/lgpl.html" + -"\n\n" + -"\u65e5\u671f\u9009\u62e9:\n" + -"- \u70b9\u51fb\xab(\xbb)\u6309\u94ae\u9009\u62e9\u4e0a(\u4e0b)\u4e00\u5e74\u5ea6.\n" + -"- \u70b9\u51fb" + String.fromCharCode(0x2039) + "(" + String.fromCharCode(0x203a) + ")\u6309\u94ae\u9009\u62e9\u4e0a(\u4e0b)\u4e2a\u6708\u4efd.\n" + -"- \u957f\u65f6\u95f4\u6309\u7740\u6309\u94ae\u5c06\u51fa\u73b0\u66f4\u591a\u9009\u62e9\u9879."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"\u65f6\u95f4\u9009\u62e9:\n" + -"-\u5728\u65f6\u95f4\u90e8\u5206(\u5206\u6216\u8005\u79d2)\u4e0a\u5355\u51fb\u9f20\u6807\u5de6\u952e\u6765\u589e\u52a0\u5f53\u524d\u65f6\u95f4\u90e8\u5206(\u5206\u6216\u8005\u79d2)\n" + -"-\u5728\u65f6\u95f4\u90e8\u5206(\u5206\u6216\u8005\u79d2)\u4e0a\u6309\u4f4fShift\u952e\u540e\u5355\u51fb\u9f20\u6807\u5de6\u952e\u6765\u51cf\u5c11\u5f53\u524d\u65f6\u95f4\u90e8\u5206(\u5206\u6216\u8005\u79d2)."; - -Calendar._TT["PREV_YEAR"] = "\u4e0a\u4e00\u5e74"; -Calendar._TT["PREV_MONTH"] = "\u4e0a\u4e2a\u6708"; -Calendar._TT["GO_TODAY"] = "\u5230\u4eca\u5929"; -Calendar._TT["NEXT_MONTH"] = "\u4e0b\u4e2a\u6708"; -Calendar._TT["NEXT_YEAR"] = "\u4e0b\u4e00\u5e74"; -Calendar._TT["SEL_DATE"] = "\u9009\u62e9\u65e5\u671f"; -Calendar._TT["DRAG_TO_MOVE"] = "\u62d6\u52a8"; -Calendar._TT["PART_TODAY"] = " (\u4eca\u5929)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "%s\u4e3a\u8fd9\u5468\u7684\u7b2c\u4e00\u5929"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "\u5173\u95ed"; -Calendar._TT["TODAY"] = "\u4eca\u5929"; -Calendar._TT["TIME_PART"] = "(\u6309\u7740Shift\u952e)\u5355\u51fb\u6216\u62d6\u52a8\u6539\u53d8\u503c"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e\u65e5"; - -Calendar._TT["WK"] = "\u5468"; -Calendar._TT["TIME"] = "\u65f6\u95f4:"; diff --git a/sources/html/js/modele_document.js b/sources/html/js/modele_document.js deleted file mode 100644 index 31b9b28..0000000 --- a/sources/html/js/modele_document.js +++ /dev/null @@ -1,89 +0,0 @@ -/* - * This file is part of NOALYSS. - * - * NOALYSS is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * NOALYSS is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with NOALYSS; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -/*!\brief - * \param p_value jrn.jr_id - */ -function modifyModeleDocument(p_value,dossier) -{ - layer++; - id='det'+layer; - var pos_y=posY+offsetY-20; - var pos_x=posX+offsetX+40; - var style="position:absolute;top:"+pos_y+"px;left:10%;width:80%"; - var popup={'id':'mod_doc', - 'cssclass':'inner_box', - 'html': loading(), - 'drag':false, - 'style':style - }; - - querystring='gDossier='+dossier+'&op=mod_doc&id='+p_value+'&div=mod_doc'; - if ( ! $('mod_doc')) - { - add_div(popup); - } - - var action=new Ajax.Request( - "ajax_misc.php", - { - method:'get', - parameters:querystring, - onFailure:error_box, - onSuccess:modify_document_success_box - } - ); -} -/** - *@brief receive answer from ajax and just display it into the IBox - * XML must contains at least 2 fields : code is the ID of the IBOX and - * html which is the contain - */ -function modify_document_success_box(req,json) -{ - try - { - $('mod_doc').show(); - var answer=req.responseXML; - var a=answer.getElementsByTagName('ctl'); - var html=answer.getElementsByTagName('code'); - if ( a.length == 0 ) - { - var rec=req.responseText; - alert_box ('erreur :'+rec); - } - var name_ctl=a[0].firstChild.nodeValue; - var code_html=getNodeText(html[0]); - - code_html=unescape_xml(code_html); - g(name_ctl).innerHTML=code_html; - g(name_ctl).style.height='auto'; - } - catch (e) - { - alert_box("success_box"+e.message); - } - try - { - code_html.evalScripts(); - } - catch(e) - { - alert_box("answer_box Impossible executer script de la reponse\n"+e.message); - } -} diff --git a/sources/html/js/nicEdit.js b/sources/html/js/nicEdit.js deleted file mode 100644 index 00a2e09..0000000 --- a/sources/html/js/nicEdit.js +++ /dev/null @@ -1,112 +0,0 @@ -/* NicEdit - Micro Inline WYSIWYG - * Copyright 2007-2008 Brian Kirchoff - * - * NicEdit is distributed under the terms of the MIT license - * For more information visit http://nicedit.com/ - * Do not remove this copyright message - */ -var bkExtend=function(){var A=arguments;if(A.length==1){A=[this,A[0]]}for(var B in A[1]){A[0][B]=A[1][B]}return A[0]};function bkClass(){}bkClass.prototype.construct=function(){};bkClass.extend=function(C){var A=function(){if(arguments[0]!==bkClass){return this.construct.apply(this,arguments)}};var B=new this(bkClass);bkExtend(B,C);A.prototype=B;A.extend=this.extend;return A};var bkElement=bkClass.extend({construct:function(B,A){if(typeof (B)=="string"){B=(A||document).createElement(B)}B=$BK(B);return B},appendTo:function(A){A.appendChild(this);return this},appendBefore:function(A){A.parentNode.insertBefore(this,A);return this},addEvent:function(B,A){bkLib.addEvent(this,B,A);return this},setContent:function(A){this.innerHTML=A;return this},pos:function(){var C=curtop=0;var B=obj=this;if(obj.offsetParent){do{C+=obj.offsetLeft;curtop+=obj.offsetTop}while(obj=obj.offsetParent)}var A=(!window.opera)?parseInt(this.getStyle("border-width")||this.style.border)||0:0;return[C+A,curtop+A+this.offsetHeight]},noSelect:function(){bkLib.noSelect(this);return this},parentTag:function(A){var B=this;do{if(B&&B.nodeName&&B.nodeName.toUpperCase()==A){return B}B=B.parentNode}while(B);return false},hasClass:function(A){return this.className.match(new RegExp("(\\s|^)nicEdit-"+A+"(\\s|$)"))},addClass:function(A){if(!this.hasClass(A)){this.className+=" nicEdit-"+A}return this},removeClass:function(A){if(this.hasClass(A)){this.className=this.className.replace(new RegExp("(\\s|^)nicEdit-"+A+"(\\s|$)")," ")}return this},setStyle:function(A){var B=this.style;for(var C in A){switch(C){case"float":B.cssFloat=B.styleFloat=A[C];break;case"opacity":B.opacity=A[C];B.filter="alpha(opacity="+Math.round(A[C]*100)+")";break;case"className":this.className=A[C];break;default:B[C]=A[C]}}return this},getStyle:function(A,C){var B=(!C)?document.defaultView:C;if(this.nodeType==1){return(B&&B.getComputedStyle)?B.getComputedStyle(this,null).getPropertyValue(A):this.currentStyle[bkLib.camelize(A)]}},remove:function(){this.parentNode.removeChild(this);return this},setAttributes:function(A){for(var B in A){this[B]=A[B]}return this}});var bkLib={isMSIE:(navigator.appVersion.indexOf("MSIE")!=-1),addEvent:function(C,B,A){(C.addEventListener)?C.addEventListener(B,A,false):C.attachEvent("on"+B,A)},toArray:function(C){var B=C.length,A=new Array(B);while(B--){A[B]=C[B]}return A},noSelect:function(B){if(B.setAttribute&&B.nodeName.toLowerCase()!="input"&&B.nodeName.toLowerCase()!="textarea"){B.setAttribute("unselectable","on")}for(var A=0;A.nicEdit-main p { margin: 0; } to your HTML - Add class="sortable" to any table you'd like to make sortable - Click on the headers to sort - - Thanks to many, many people for contributions and suggestions. - Licenced as X11: http://www.kryogenix.org/code/browser/licence.html - This basically means: do what you want with it. - -@note -Documentation http://www.kryogenix.org/code/browser/sorttable/ - -Show the default order -example: - -.... ▴ - -....  ▾ - -Sort on date - // format YYYYMMDD - -force as numeric (normally useless): -Part number - -To avoid the sort on the last row, use tfoot - -*/ - - -var stIsIE = /*@cc_on!@*/false; - -sorttable = { - init: function() { - // quit if this function has already been called - if (arguments.callee.done) return; - // flag this function so we don't do the same thing twice - arguments.callee.done = true; - // kill the timer - if (_timer) clearInterval(_timer); - - if (!document.createElement || !document.getElementsByTagName) return; - - sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/; - - forEach(document.getElementsByTagName('table'), function(table) { - if (table.className.search(/\bsortable\b/) != -1) { - sorttable.makeSortable(table); - } - }); - - }, - - makeSortable: function(table) { - if (table.getElementsByTagName('thead').length == 0) { - // table doesn't have a tHead. Since it should have, create one and - // put the first table row in it. - the = document.createElement('thead'); - the.appendChild(table.rows[0]); - table.insertBefore(the,table.firstChild); - } - // Safari doesn't support table.tHead, sigh - if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0]; - - if (table.tHead.rows.length != 1) return; // can't cope with two header rows - - // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as - // "total" rows, for example). This is B&R, since what you're supposed - // to do is put them in a tfoot. So, if there are sortbottom rows, - // for backwards compatibility, move them to tfoot (creating it if needed). - sortbottomrows = []; - for (var i=0; i5' : ' ▴'; - this.appendChild(sortrevind); - return; - } - if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) { - // if we're already sorted by this column in reverse, just - // re-reverse the table, which is quicker - sorttable.reverse(this.sorttable_tbody); - this.className = this.className.replace('sorttable_sorted_reverse', - 'sorttable_sorted'); - this.removeChild(document.getElementById('sorttable_sortrevind')); - sortfwdind = document.createElement('span'); - sortfwdind.id = "sorttable_sortfwdind"; - sortfwdind.innerHTML = stIsIE ? ' 6' : ' ▾'; - this.appendChild(sortfwdind); - return; - } - - // remove sorttable_sorted classes - theadrow = this.parentNode; - forEach(theadrow.childNodes, function(cell) { - if (cell.nodeType == 1) { // an element - cell.className = cell.className.replace('sorttable_sorted_reverse',''); - cell.className = cell.className.replace('sorttable_sorted',''); - } - }); - sortfwdind = document.getElementById('sorttable_sortfwdind'); - if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); } - sortrevind = document.getElementById('sorttable_sortrevind'); - if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); } - - this.className += ' sorttable_sorted'; - sortfwdind = document.createElement('span'); - sortfwdind.id = "sorttable_sortfwdind"; - sortfwdind.innerHTML = stIsIE ? ' 6' : ' ▾'; - this.appendChild(sortfwdind); - - // build an array to sort. This is a Schwartzian transform thing, - // i.e., we "decorate" each row with the actual sort key, - // sort based on the sort keys, and then put the rows back in order - // which is a lot faster because you only do getInnerText once per row - var row_array = []; - var col = this.sorttable_columnindex; - var rows = this.sorttable_tbody.rows; - for (var j=0; j 12) { - // definitely dd/mm - return sorttable.sort_ddmm; - } else if (second > 12) { - return sorttable.sort_mmdd; - } else { - // looks like a date, but we can't tell which, so assume - // that it's dd/mm (English imperialism!) and keep looking - sortfn = sorttable.sort_ddmm; - } - } - } - } - return sortfn; - }, - - getInnerText: function(node) { - // gets the text we want to use for sorting for a cell. - // strips leading and trailing whitespace. - // this is *not* a generic getInnerText function; it's special to sorttable. - // for example, you can override the cell text with a customkey attribute. - // it also gets .value for fields. - - if (!node) return ""; - - hasInputs = (typeof node.getElementsByTagName == 'function') && - node.getElementsByTagName('input').length; - - if (node.getAttribute("sorttable_customkey") != null) { - return node.getAttribute("sorttable_customkey"); - } - else if (typeof node.textContent != 'undefined' && !hasInputs) { - return node.textContent.replace(/^\s+|\s+$/g, ''); - } - else if (typeof node.innerText != 'undefined' && !hasInputs) { - return node.innerText.replace(/^\s+|\s+$/g, ''); - } - else if (typeof node.text != 'undefined' && !hasInputs) { - return node.text.replace(/^\s+|\s+$/g, ''); - } - else { - switch (node.nodeType) { - case 3: - if (node.nodeName.toLowerCase() == 'input') { - return node.value.replace(/^\s+|\s+$/g, ''); - } - case 4: - return node.nodeValue.replace(/^\s+|\s+$/g, ''); - break; - case 1: - case 11: - var innerText = ''; - for (var i = 0; i < node.childNodes.length; i++) { - innerText += sorttable.getInnerText(node.childNodes[i]); - } - return innerText.replace(/^\s+|\s+$/g, ''); - break; - default: - return ''; - } - } - }, - - reverse: function(tbody) { - // reverse the rows in a tbody - newrows = []; - for (var i=0; i=0; i--) { - tbody.appendChild(newrows[i]); - } - delete newrows; - }, - - /* sort functions - each sort function takes two parameters, a and b - you are comparing a[0] and b[0] */ - sort_numeric: function(a,b) { - var aa = parseFloat(a[0].replace(/[^0-9.-]/g,'')); - if (isNaN(aa)) aa = 0; - var bb = parseFloat(b[0].replace(/[^0-9.-]/g,'')); - if (isNaN(bb)) bb = 0; - return aa-bb; - }, - sort_alpha: function(a,b) { - if (a[0]==b[0]) return 0; - if (a[0] 0 ) { - var q = list[i]; list[i] = list[i+1]; list[i+1] = q; - swap = true; - } - } // for - t--; - - if (!swap) break; - - for(var i = t; i > b; --i) { - if ( comp_func(list[i], list[i-1]) < 0 ) { - var q = list[i]; list[i] = list[i-1]; list[i-1] = q; - swap = true; - } - } // for - b++; - - } // while(swap) - } -} - -/* ****************************************************************** - Supporting functions: bundled here to avoid depending on a library - ****************************************************************** */ - -// Dean Edwards/Matthias Miller/John Resig - -/* for Mozilla/Opera9 */ -if (document.addEventListener) { - document.addEventListener("DOMContentLoaded", sorttable.init, false); -} - -/* for Internet Explorer */ -/*@cc_on @*/ -/*@if (@_win32) - document.write(" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - diff --git a/sources/html/popup.php b/sources/html/popup.php deleted file mode 100644 index 727efb7..0000000 --- a/sources/html/popup.php +++ /dev/null @@ -1,89 +0,0 @@ -'; -global $g_user; -if ( basename($_GET['ajax']) == 'ajax_history.php' ) - { - $href=dossier::get(); - $cn=new Database(dossier::id()); - /* current year */ - $g_user=new User($cn); - $exercice=$g_user->get_exercice(); - - /* get date limit */ - $periode=new Periode($cn); - $limit=$periode->get_limit($exercice); - - $from_periode='from_periode='.format_date($limit[0]->p_start); - $to_periode='to_periode='.format_date($limit[1]->p_end); - if (isset($_GET['ex'])) - { - if ( $exercice > $_GET['ex']) - { - $limit_periode=$periode->get_limit($_GET['ex']); - $from_periode='from_periode='.format_date($limit_periode[0]->p_start); - } - else - { - $limit_periode=$periode->get_limit($_GET['ex']); - $to_periode='to_periode='.format_date($limit_periode[1]->p_end); - - } - } - - if (isset($_GET['pcm_val']) ) - { - $href_csv="export.php?".$href.'&poste_id='.$_GET['pcm_val'].'&ople=0&type=poste&'.$from_periode.'&'.$to_periode."&act=CSV:postedetail"; - $href_pdf="export.php?".$href.'&poste_id='.$_GET['pcm_val'].'&ople=0&type=poste&'.$from_periode.'&'.$to_periode."&act=PDF:postedetail";; - } - else - { - $href_csv="export.php?".$href.'&f_id='.$_GET['f_id'].'&ople=0&type=poste&'.$from_periode.'&'.$to_periode."&act=CSV:fichedetail"; - $href_pdf="export.php?".$href.'&f_id='.$_GET['f_id'].'&ople=0&type=poste&'.$from_periode.'&'.$to_periode."&act=PDF:fichedetail"; - } - echo HtmlInput::print_window(); - echo ''._("Export CSV").''; - echo ''._("Export PDF").''; - } - else { - echo HtmlInput::print_window(); - } -echo '

      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 diff --git a/sources/html/image/bg-submit2.gif b/sources/html/image/bg-submit2.gif deleted file mode 100644 index 74666bcb211e155811058bb21428d06757f6bb31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1213 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 diff --git a/sources/html/image/bg-submit4.png b/sources/html/image/bg-submit4.png deleted file mode 100644 index 34f6c5afbb25ad1bac3f9462ac0e5413fec834bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ zu)P6cM!8Z8Q=p(^iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0vvo-U3d z9-VK`EAllM2(Vs^)Og79Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L00}w(00}w)@MMxo00007bV*G`2i^k+ z4Iqsv!(w3kMoO7F5W{SKtg8ru+p?4fH8*h^Z5uM z2ti1H0zd!~M8N*#6CeTAN6Xf4dv7immZQ&{6Oup@QZ^E9fytb|F9gs|nGb5S@+i4N zhXjzqGsdXF%Pvn5N0t^)N+jn+2om4l6qwGS1xk3P1t56zr-4%N?g%=tX^bME97@Uu z&zK{GcjAIU+JVg&g_A`@?FnooG(?T` zi7@ITTHJ%fjK*d~ZwGVPXn4~|SQE%4G{(D==!#-u&@(+;g*(cT;2_=rh|TB=1(oY? z9QUk)NJ{NOaCL`D33AKfB~cZbE+_{vam3p1D0nJ^64Vqz2Y7Yk(Wm|=D!FzGKWN>d zt`vGNdWMm3y(Fu8HKfRy-(*rT1#L*R;ws1&G-S$i@^As zNocl-lz5RfEEO!fO?JYv zJKRUS>p-JW==MO=vE9qJ>twe-0=uWB1IUHAkf^1TbYFlv-YQ5f*h+SY*%B|;a0`$! zZq#~*;-zU^6oX~hXOcg2jBRlA>0~NpPfDxyZ5plN$g^!?CoHJC(8MJ?s#oO|zLGmK zx3Z*Wg4R+RA11dYXR$voLTS6*>nzgh%`(h*kZ}HOuygGcYwf-yl1tIV(hn|EDw&>~ zYx(vSqM}Z?dI=RwA_ZMnEguUu4Vf~~w-23&FUxoPl^TJ#@W40%aqW)pEZA2rvaHW1 z0Z)E-eZTGzNd^7hn-b=a)W-B5U9P+GyseCi00000NkvXXu0mjf DLJyF& diff --git a/sources/html/image/bgcolor.gif b/sources/html/image/bgcolor.gif deleted file mode 100644 index 55fcf1ba65532afcb65eb8f958258aa2230fb89c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmZ?wbhEHblw^=#Sj5Kg|33o*Ljw>1sRIWN{09RdTk$6gBLf2)gAS0*08-1q9GS7} z&Od`wo~v_}SPEkUqL0@&8x$-`6uLc=&t+rkEmm>WHCM013K%fGHU22d!jiZwMDovs tQ;l6WyxkmEEKAT1P0?Mxj@3bL_W1^ms@Sm2*WZ1&bX|Y@eGdzRH2_EwIXD0S diff --git a/sources/html/image/blackdot.gif b/sources/html/image/blackdot.gif deleted file mode 100644 index f79319f818d144f6cb1241bf81f8bb642bc4f4ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 807 wcmZ?wbhEHbWMp7uXlED&qaiS&LqPE-3()`n8FWCQ0Ll{#94risEG!Jx02WLH%>V!Z diff --git a/sources/html/image/bold.gif b/sources/html/image/bold.gif deleted file mode 100644 index bdb3259c3d686e7d66d33667243a6ac3909b01e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81 zcmZ?wbhEHblw^=#XkcUjg8%>jEB<5wG8q|kKzxu41CvHi|H{*E`4`XG62-CUT$r?f g;{%nVhiUT;O!s=aYSV`9ZP$CB|2p@*hLOP<0LaQ7kN^Mx diff --git a/sources/html/image/centre.gif b/sources/html/image/centre.gif deleted file mode 100644 index f98c86a7848ad61de8e8406446bc98d43c0718f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76 zcmZ?wbhEHblw^=#XkcUjg8%>jEB<5wG8q|kKzxu41Cw%3|H{*E`4`XGBGs_@+P3z+ am0})DNuf#VQ`=Tw+4srk`nPBX25SH&PZ_5G diff --git a/sources/html/image/chrome_logo_2x.png b/sources/html/image/chrome_logo_2x.png deleted file mode 100644 index 4d251a326c698db10fe31891b6320d626b7346a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3920 zcmV-W53lfvP)E9>+1de{pm|ROQS`$*XiONE8E=MQL9Dx)Hmx= zL-nkxlVLRFu_EkkXJxxrt+Xd7o6=UeM)2_PoSK~c(h2$b`R!Xu>&%VjIy3st4#(c< z^vDwedbi=KCH>I>{`%@zx<}(EE#)&Yo66-@wMNyRE@Z6T?YkU;gN4uN%;O_1_V@Pg z)}{B^*D{^ciHeQtwH^|b&i2(zd5b)$s;r}>5`I_0BNW3wixZj z7~Ze4X%G1UqkI96E zh{(vw@xU02jgZmN((K2{gTCVa`TzFozw@7&{{8#%?($u{P59qxdBJY=${Y3i{B*3z z>wI|Z;pUZ=m;`gLU9?eJvDnt!)!L{Gjww6(XyD=fyw$gHiezP`Z9 z%gpo21?EUpwzjxdzDVxo>E7+$U9m>{_WqompB0P3)6>*Xr$y>cKa+FY!i`3NB%goJ~n474ms^;eBYrkFh^Xr|}lh4-QSf|XOprZWv{{Q>^-{0W+ z#uI?3X5ADek-^;KFe{IclkxZQ_3!ZZ^ZNGl_50Ke>{v)tm|*R{4cA9e!fjhkj!sOJ zQVwmVVVl16ytqb@Peq$gNR&=fvqQJIxlWr*^V7p&rax%0)9Sz_=)M&3#0T=s65#0W z@#^g3wPW##hUmRcP@znBczgf<|DV$00RR9C=1D|BRCwC#+k0G7*Bt=xsDLI|uRy4_ zh(x0((gwAf5+z~*4Q?Vnz*d7!U!w zj+zb2I_lnaTivW(MYr6Z$9m1Hz)Udf9ITg?ztdizn3BNv;Ay8 z`}@T{HTy=>GU+oI!2~M|4caXslisz2Js#v5OWiTmak{j^&&g zqp>=A`0%23eTTBNv{d=fvNzw0j*bTKGYF34T=XW zoN*}U18$0FppJ`ckGl%6s~%Q%&$P7RA{^8CSOCos&8y?%d-?{uZ(Lj&4~KF@=VBpe z=FvbM7S`7n*kjY;k(-BOIv3Hr8KBcJIxH-1Z0Bd&{@fHF58zzJdAbn81v7^Rap+X1 zXU}`1OP4SK&e6$0r3lTd!@_!YcJ}jI*F4tLB@Ds^ITdknm@JxMGoRhb*(WteZtVy8 z4in@MANS#halZiZ=?5QtD%i=`(Ye{jwrVsm-Ceje#-j*Jizr$-7R0{?-;M3sH8wW( zMI7UPz{Tjr-m2Br7#wO3Y@NfQ^Y$6WVNg*!Z4N_?*P~fR)u2+71!|Q+W%GPC=>`Ym z&i+-DMsq~7N_2y0ir+ET#?I2|bn4A4vpC@P*SCL&A|~b=6hrbq|9qRLFL7KpTP=2@ z)>52(8hsnjR#v52v|5YRoJ(MG&1O0LX(+L3jdqLBDh!IUOIoARVofR}adXY}*`Q9Q z+^mO(*Ok`b@)|`Q`pz@D zh|skxvuXSvfw@PI7#J6a&#Mw+jW9T=H~kl1*Ygg%o>Ulm@wBGw0k*5nI^jMvMv` zg(7&=h_!4>z<)UM5JZNNGtDj416*X3@!6IuwbTwd|AB0mORHw{_;P$boO?1$l&%2u<9Gi!Zl5uL_mW>+9=mOs6vn;U3 zOVz3Px|&N$4i*DwF5kD!V8c{=Q=w4gSrl4L z48cyi1TK{s>@2}mDU)CWItU7~FTri2L1^IU`V`AA7b+T!_!0^1W&JQ)v*wv5+|HX0 zwc0{uvfyAo+rhyyS?JY|9(`gU9XXO#&LpF+QR0(y)aE&OHaPjl2EH3WNiid`<=~W( z15pL&b1>H?IoC-8Q7Uf|Y!KNht}3_zuBcIghYQ^WqNlJe@UmFS@kRse7$&E{etIOw z)_64-cD>(UhQ+8tQ}bjx@& zP$vYheQnzlQa07O8F)dP)t>I#E-O*2gKhDEXe7Ei9EFUM0$VdEXk5`Y`RaR7Bf$~Cui=j2njFehxi%Y*`a^gECIfW;l$6BKPqsN!0}@Nvz}~&^^Cc)Mmd8~4>Dj2d8 zd3p-|ed@klpGeskNp_80ywTkM2~5J4OZVv|1B4P@3ROGV2V92 zrzTPX3ij=Khhl?de+O*X0j;b%8xLd;%r*+_YO zyY1|`9{P59NBVXyF<!wS}Hi!Y~WicCcZe^Dt)==H%g$bbooWb?K5}-Jo2EZr!>aAG&3mG}%3HN@6_TPz8!2dUrX}Je!3!@9@L_?X0^Vwa~Ob&F>KhdYg@X%FIBJKBprEN zwGYaMJGE5fJWbEZ+sH;!V0*eZ_OiV&-IRN~^XTh40bGooJ73?@K=kY!%)U)MZ`-V1 zpTOF|)>$NdMW+{Ma_wQK8^tF#4=bmuE8Lp->OkP0v{Q&lJ6~$O6X4dw*9Wj}99J?i z*I+up#y4Dr_vh`lvQejV9VFAh7;NHNT8K2=!0kLb|K&+SygdK2SAO)iL>;q!ba%-j zZW&%(!FB7D*?ApdGiW_78#hnJSxl~iwTrDoOI)di_$ijrIZIQy$9}YOy0^m39ko5{ zXyE)W-uoMf_r92K*pf9Pl4{{7*|()Dr>bVWmR4Ut{xrW z)@fA5^vY?6*sN-RWaZSxc8JZ^)Jf*17J_~3e<9&G-=sUL-|C>O-Ad)|te^>dr>t1+ zt{&&%t%#ajCpT4j{v!@J?=BV>!%Ey=c_@e_H1W?R;zDrEXCu{+`Oth`nDDbO1SA< zE%RTEa_Q&SfdcZuKwWzwRd2Cd^v%f%CqupZ1L>}C z&o@W^GCaH@^VT=yoeQfU_xcKqRjX7w=7C?(>C(Nt)M{_o9O(|5hxgk-ncmzQ&CKfX zkjzLPoijvGk6}A)@PExPgK*REsA|BT&ZAKS$Ljyi>hx^(*uQ`qjOXs~k=4}|70Wp^ zZs16LpC;aU*zCL&D};no@R`-sA(7AwGmTRX)v?`KUtqHtQ#dz*Lph>Hfvye4v;6#g z)TvRbp?Wau8*J?6;DS5~w(-b;FwYzsHSkWZCfN*duRuKH;62vyLM-Ni_IRJ zF>wlP>OcuV(D%m96NG3#q=mI?YRf&)3Ehh%0(Lhv|fM(90bHnYCRX4&T_ z{Cy&jLprdpc;Rsrv5?&Lsiy{i#Iiog2JnnuPDFATkuPE~H1F{dw738ITb4Be%0aw= z!65cL+kF;I2lKikjtv;Ay8+t2p1{cJzm&-SzZ e?EhbUE5HC5e&G$Wxp$2K0000e6=537GaN~3d3*XYUCl;$1yKx#G Ro3m!y=HBnzeBIm()&NSnEENC% diff --git a/sources/html/image/cut.gif b/sources/html/image/cut.gif deleted file mode 100644 index ca60a1aa3a0a1bec0a2a313a0014a4dfa863ac58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 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 C7?y?r diff --git a/sources/html/image/down.gif b/sources/html/image/down.gif deleted file mode 100644 index c6259b9c71f3b59912cc4d3111587e3e0f0ca189..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74 zcmZ?wbhEHb#FEq$h4Rdj31pDc`A42%pq cKt({s91ILhJU#s@+26{_ndqNQ<{9 diff --git a/sources/html/image/email.gif b/sources/html/image/email.gif deleted file mode 100644 index 7e376ea5da4bde4d08813be310bacefb9689e853..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 374 zcmZ?wbhEHblw^=#xT?#LmX^lA!0;aguKoXi=Kue9(|Stg&0qNc|M#qp{{R1<7WYj# zacS$Ktt+=5S+i`#>Z|wm9z3(**RCZIC=HJD;GZheBpQFoF^}@ef@fCR)6K56RTdl*!}a&H*H5BGd3>J$TiAdCm!?S{8?5harw&J>LgY*L7tu-1v#!( zm%IWlOD3eC6u3>o;yVGFSruLW7_U diff --git a/sources/html/image/empty.gif b/sources/html/image/empty.gif deleted file mode 100644 index b3dadb0a5960d0a6c41e800442df2be96e32646f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58 zcmZ?wbhEHb6k!lyXkcLY4+e@qSs1w(7#VaJfB+=Jz$Dnyzw-23{>5{)-0I$ZZ_n@b Hq72pmDFPJ+ diff --git a/sources/html/image/go-next.png b/sources/html/image/go-next.png deleted file mode 100644 index 85549a9788fd952885a161f02706c51aea3a2028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 484 zcmVKR6R=rK@ffSfhYt-2!ek=3laPQN}52_Lc%SVjU*Zj z1__u{Q9B#4QY=hiBQ`cJ%cVW-5)1JMSP7PvDN-o-b!(A}NzOaCr_l}R(bHt=L(V} z!$4I4!eLcW%*AdJl#B)vXl6=gy+ktU+b02#(S1h3HVc5pS)l|( z9CS74w7kHXaozH?&LGa&)4gl#?eBX;aL5W+> zddQxVdC$x#DY?b?eoZN*iiMB8=2!PHY_1=g^_P(ox41y#8I4Aza5yYA8VzBZrU=6I ahw%luZo;KK^q15C0000KR544#Kp1^@YAY@ZQnmj;!Pz;Bv)J@{X$LJzGg<4_ ze^7+tV6xRk=ul%+&|lC+7k`3-tCNCCwTL-~)Y6(eZ6L*^4~`J-eec~nzVCn${u@NK z!3=#40^6=rtjHOfvbGmgwJ{xU@2kWaw-*NymqODtFs^R`O(9#1>uX{30tpiHvrDd1 zJeH9Q`Rd{8bL%RMLEk;5d3y59*?Ciu8Mjvfv^odttrb1X>wF*K(Yr3mG)>fMIT7Y` ze<72xW8Eu?S{wib6_ol;`b^Z~06;uK`~(Ec!!Qt}(?#*v)b-ZJ!O;*r`~>xSUA(+c zl=sZaO_b^a1moX7?&-x7m}6`8`+c* zHbr2PKR(B5g?#l=Mm}lmHW=3vVNC*HTwhS7003^V*q~a{*VJ{+AB?P(l9x1v=ZTd; s4Ss#o8DkUxlF6j7EGzO!9{~XH1)vjynu9wQ@c;k-07*qoM6N<$f}Q8V7ytkO diff --git a/sources/html/image/header-firefox.png b/sources/html/image/header-firefox.png deleted file mode 100644 index ecaf9f7a5a2476cd95e9d395c69a652f74696b8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12696 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

      '; -echo HtmlInput::hidden('inpopup',1); -load_all_script(); - -$str=$_SERVER['QUERY_STRING']."&div=popup"; -$script=" - var obj={id:'popup',fixed:1,cssclass:'content',style:'width:auto',html:loading(),qs:'$str',js_success:'success_box',js_error:null,callback:'".$_GET['ajax']."'}; - show_box(obj); - "; -echo create_script($script); -?> diff --git a/sources/html/recherche.php b/sources/html/recherche.php deleted file mode 100644 index cd59fa2..0000000 --- a/sources/html/recherche.php +++ /dev/null @@ -1,117 +0,0 @@ -Check(); -$act=$g_user->check_dossier($gDossier); -// AC CODE = SEARCH -if ($act =='P') -{ - redirect("extension.php?".dossier::get(),0); - exit(); -} -if ( $act=='X') - { - alert(_('Accès interdit')); - exit(); - } -// display a search box - -$ledger=new Acc_Ledger($cn,0); -$ledger->type='ALL'; -$search_box=$ledger->search_form('ALL',1); -echo '
      '; - -echo '
      '; -echo $search_box; -echo HtmlInput::submit("viewsearch",_("Recherche")); -?> - - -'; - -//----------------------------------------------------- -// Display search result -//----------------------------------------------------- -if ( isset ($_GET['viewsearch'])) -{ - - // Navigation bar - $step=$_SESSION['g_pagesize']; - $page=(isset($_GET['offset']))?$_GET['page']:1; - $offset=(isset($_GET['offset']))?$_GET['offset']:0; - if (count ($_GET) == 0) - $array=null; - else - $array=$_GET; - $array['p_action']='ALL'; - list($sql,$where)=$ledger->build_search_sql($array); - // Count nb of line - $max_line=$cn->count_sql($sql); - - list($count,$a)=$ledger->list_operation($sql,$offset,0); - $bar=navigation_bar($offset,$max_line,$step,$page); - - echo $bar; - echo $a; - echo $bar; - /* - * Export to csv - */ - $r=HtmlInput::get_to_hidden(array('l','date_start','date_end','desc','amount_min','amount_max','qcode','accounting','unpaid','gDossier','ledger_type')); - if (isset($_GET['r_jrn'])) { - foreach ($_GET['r_jrn'] as $k=>$v) - $r.=HtmlInput::hidden('r_jrn['.$k.']',$v); - } - echo ''; - echo $r; - echo HtmlInput::hidden('act','CSV:histo'); - echo HtmlInput::submit('viewsearch',_('Export vers CSV')); - echo HtmlInput::hidden('p_action','ALL'); - ?> - - -'; -} -echo '
      '; -?> diff --git a/sources/html/securimage/AHGBold.ttf b/sources/html/securimage/AHGBold.ttf deleted file mode 100644 index 764b23d76ff19a9ea15f8abd10c4725d2ad03b67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144556 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 diff --git a/sources/html/securimage/LICENSE.txt b/sources/html/securimage/LICENSE.txt deleted file mode 100644 index 9a749e6..0000000 --- a/sources/html/securimage/LICENSE.txt +++ /dev/null @@ -1,458 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS diff --git a/sources/html/securimage/README.FONT.txt b/sources/html/securimage/README.FONT.txt deleted file mode 100644 index d4770de..0000000 --- a/sources/html/securimage/README.FONT.txt +++ /dev/null @@ -1,12 +0,0 @@ -AHGBold.ttf is used by Securimage under the following license: - -Alte Haas Grotesk is a typeface that look like an helvetica printed in an old Muller-Brockmann Book. - -These fonts are freeware and can be distributed as long as they are -together with this text file. - -I would appreciate very much to see what you have done with it anyway. - -yann le coroller -www.yannlecoroller.com -yann@lecoroller.com \ No newline at end of file diff --git a/sources/html/securimage/README.txt b/sources/html/securimage/README.txt deleted file mode 100644 index b608018..0000000 --- a/sources/html/securimage/README.txt +++ /dev/null @@ -1,88 +0,0 @@ -NAME: - - Securimage - A PHP class for creating and managing form CAPTCHA images - -VERSION: 2.0 BETA - -AUTHOR: - - Drew Phillips - -DOWNLOAD: - - The latest version can always be - found at http://www.phpcaptcha.org - -DOCUMENTATION: - - Online documentation of the class, methods, and variables can - be found at http://www.phpcaptcha.org/Securimage_Docs/ - -REQUIREMENTS: - PHP 4.3.0 - GD 2.0 - FreeType (recommended, required for TTF support) - -SYNOPSIS: - - require_once 'securimage.php'; - - $image = new Securimage(); - - $image->show(); - - // Code Validation - - $image = new Securimage(); - if ($image->check($_POST['code']) == true) { - echo "Correct!"; - } else { - echo "Sorry, wrong code."; - } - -DESCRIPTION: - - What is Securimage? - - Securimage is a PHP class that is used to generate and validate CAPTCHA images. - The classes uses an existing PHP session or creates its own if none is found to store the - CAPTCHA code. Variables within the class are used to control the style and display of the image. - The class supports TTF fonts and effects for strengthening the security of the image. - If TTF support is not available, GD fonts can be used as well, but certain options such as - transparent text and angled letters cannot be used. - - -COPYRIGHT: - Copyright (c) 2009 Drew Phillips. All rights reserved. - This software is released under the GNU Lesser General Public License. - - ----------------------------------------------------------------------------- - Flash code created for Securimage by Douglas Walsh (www.douglaswalsh.net) - Many thanks for releasing this to the project! - - ------------------------------------------------------------------------------ - Portions of Securimage contain code from Han-Kwang Nienhuys' PHP captcha - - Han-Kwang Nienhuys' PHP captcha - Copyright June 2007 - - This copyright message and attribution must be preserved upon - modification. Redistribution under other licenses is expressly allowed. - Other licenses include GPL 2 or higher, BSD, and non-free licenses. - The original, unrestricted version can be obtained from - http://www.lagom.nl/linux/hkcaptcha/ - - ------------------------------------------------------------------------------- - AHGBold.ttf (AlteHaasGroteskBold.ttf) font was created by Yann Le Coroller and is distributed as freeware - - Alte Haas Grotesk is a typeface that look like an helvetica printed in an old Muller-Brockmann Book. - - These fonts are freeware and can be distributed as long as they are - together with this text file. - - I would appreciate very much to see what you have done with it anyway. - - yann le coroller - www.yannlecoroller.com - yann@lecoroller.com - diff --git a/sources/html/securimage/backgrounds/bg3.jpg b/sources/html/securimage/backgrounds/bg3.jpg deleted file mode 100644 index a2d62d6320d11c71a542023ee3d9d98f55cf9c07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15854 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

      F`@Ou1AOiK0mV!lLpgEa+PL-Y@ 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 diff --git a/sources/html/securimage/backgrounds/bg4.jpg b/sources/html/securimage/backgrounds/bg4.jpg deleted file mode 100644 index 37a22f88551240a67d68fd7136777c9b0ffbf221..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16438 zcmeIZWl)^W*7rNOyAzzCgToLY5FCR00E4>>5C(z-ch>|D1a}5^g1ZOzV1WPwBoH7# zki-4%{p|gmdiJS$@AuO=Ri~$>W~wjg?$v9puD*W%>v8#U3qYu>primmLIwb=pFV)c zV*rtyhZXc4011E!_^T4|cnZLmwti!21F-ISszG{O1B3yP{`U*=zYEI0%0DkhMnZZz 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 G%Krub@4FHJ diff --git a/sources/html/securimage/backgrounds/bg5.jpg b/sources/html/securimage/backgrounds/bg5.jpg deleted file mode 100644 index 0a04181bf5390b6e5fbb7d9686da394865b7b448..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48746 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 d&H5;Dy>c4;BDE=bE`xQ diff --git a/sources/html/securimage/database/.htaccess b/sources/html/securimage/database/.htaccess deleted file mode 100644 index 8d2f256..0000000 --- a/sources/html/securimage/database/.htaccess +++ /dev/null @@ -1 +0,0 @@ -deny from all diff --git a/sources/html/securimage/database/index.html b/sources/html/securimage/database/index.html deleted file mode 100644 index 8d1c8b6..0000000 --- a/sources/html/securimage/database/index.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/sources/html/securimage/database/securimage.sqlite b/sources/html/securimage/database/securimage.sqlite deleted file mode 100644 index 10e233ddec53831b6d94af55db9c6fa003a320d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30720 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 HZwCH1*4PIP diff --git a/sources/html/securimage/example_form.php b/sources/html/securimage/example_form.php deleted file mode 100644 index 952a24b..0000000 --- a/sources/html/securimage/example_form.php +++ /dev/null @@ -1,71 +0,0 @@ - - * File: securimage.php
      - * URL: www.phpcaptcha.org - */ - - -session_start(); // Start the session where the code will be stored. - -?> - - - Securimage Test Form - - - - - - -Username:
      -
      -Password:
      -

      - -

      -
      -Code:
      - - -

      - - - - -check($_POST['code']); - - if($valid == true) { - echo "
      Thanks, you entered the correct code.
      Click here to go back.
      "; - } else { - echo "
      Sorry, the code you entered was invalid. Go back to try again.
      "; - } -} - -?> - - - diff --git a/sources/html/securimage/gdfonts/automatic.gdf b/sources/html/securimage/gdfonts/automatic.gdf deleted file mode 100644 index 3eee7068f3d178d9fcae61543edd388f2090b8a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61196 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 diff --git a/sources/html/securimage/images/audio_icon.gif b/sources/html/securimage/images/audio_icon.gif deleted file mode 100644 index beafd518270f15bd62e15276ede1c5daab7d8892..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 621 zcmZ?wbhEHb6k`x!_^QpIqpNFdY;5n~;OXV*;u07d77`tuk`SMg4g%!``GsX=6`7eG zdAYMHE8DB9Cl}-|Dk@sq*4En8JY(Xd{;AWZcXzLtI%VaIncG&ZSh;fLjtv{u?cBL* z-n?TgR~%Wn^4iXwNA~QwzIDrk0|)jWJ$mfyncG*dUO#s1;k9c|Uc7kq`}ZFcBNGM+ zfZ|UUMg|6;KR{-H{KUZa&ta<9(x80Hu6g9xjs6OJx{*}F1irQnIh u7dv#M;XVU}-70|>#f(4=q5()DsoH-GNgp`0mIfgL4N0Ze0AvFtqn diff --git a/sources/html/securimage/images/refresh.gif b/sources/html/securimage/images/refresh.gif deleted file mode 100644 index a10b24717f9d5be6af61c1c3dd646f6bf0e99ab9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 865 zcmZ?wbhEHb6k`x!_!h>%CaB6Ptji&y#V=p2w7!KzXt05lpspEM3`BTH%UXDah6V>n8Og~tI6xGK`HJXUg#tx`gY`5u<@9|a z${kJRgF-nOg9F(4R6=DG>_MWTp(f&{p)Bf_0oq%;a?r#XtQw|MwS1<*8Ce%$(jz?HI zI5;#YDAa~u-UDKWucr+83P4BI7J_Vwa^hB@P%i@|8bZRnos_J^l|21I!{Ff=78Vo= aM8QB^K+!<3$zTGg0-_A8G%&D{!5RQ?yDO0Z diff --git a/sources/html/securimage/securimage.php b/sources/html/securimage/securimage.php deleted file mode 100644 index ebabab0..0000000 --- a/sources/html/securimage/securimage.php +++ /dev/null @@ -1,1584 +0,0 @@ - - * File: securimage.php
      - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or any later version.

      - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details.

      - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

      - * - * Any modifications to the library should be indicated clearly in the source code - * to inform users that the changes are not a part of the original software.

      - * - * If you found this script useful, please take a quick moment to rate it.
      - * http://www.hotscripts.com/rate/49400.html Thanks. - * - * @link http://www.phpcaptcha.org Securimage PHP CAPTCHA - * @link http://www.phpcaptcha.org/latest.zip Download Latest Version - * @link http://www.phpcaptcha.org/Securimage_Docs/ Online Documentation - * @copyright 2009 Drew Phillips - * @author Drew Phillips - * @version 2.0.1 BETA (December 6th, 2009) - * @package Securimage - * - */ - -/** - ChangeLog - - 2.0.1 - - Add support for browsers with cookies disabled (requires php5, sqlite) maps users to md5 hashed ip addresses and md5 hashed codes for security - - Add fallback to gd fonts if ttf support is not enabled or font file not found (Mike Challis http://www.642weather.com/weather/scripts.php) - - Check for previous definition of image type constants (Mike Challis) - - Fix mime type settings for audio output - - Fixed color allocation issues with multiple colors and background images, consolidate allocation to one function - - Ability to let codes expire after a given length of time - - Allow HTML color codes to be passed to Securimage_Color (suggested by Mike Challis) - - 2.0.0 - - Add mathematical distortion to characters (using code from HKCaptcha) - - Improved session support - - Added Securimage_Color class for easier color definitions - - Add distortion to audio output to prevent binary comparison attack (proposed by Sven "SavageTiger" Hagemann [insecurity.nl]) - - Flash button to stream mp3 audio (Douglas Walsh www.douglaswalsh.net) - - Audio output is mp3 format by default - - Change font to AlteHaasGrotesk by yann le coroller - - Some code cleanup - - 1.0.4 (unreleased) - - Ability to output audible codes in mp3 format to stream from flash - - 1.0.3.1 - - Error reading from wordlist in some cases caused words to be cut off 1 letter short - - 1.0.3 - - Removed shadow_text from code which could cause an undefined property error due to removal from previous version - - 1.0.2 - - Audible CAPTCHA Code wav files - - Create codes from a word list instead of random strings - - 1.0 - - Added the ability to use a selected character set, rather than a-z0-9 only. - - Added the multi-color text option to use different colors for each letter. - - Switched to automatic session handling instead of using files for code storage - - Added GD Font support if ttf support is not available. Can use internal GD fonts or load new ones. - - Added the ability to set line thickness - - Added option for drawing arced lines over letters - - Added ability to choose image type for output - - */ - -/** - * Output images in JPEG format - */ -if (!defined('SI_IMAGE_JPEG')) - define('SI_IMAGE_JPEG', 1); -/** - * Output images in PNG format - */ -if (!defined('SI_IMAGE_PNG')) - define('SI_IMAGE_PNG', 2); -/** - * Output images in GIF format (not recommended) - * Must have GD >= 2.0.28! - */ -if (!defined('SI_IMAGE_GIF')) - define('SI_IMAGE_GIF', 3); - -/** - * Securimage CAPTCHA Class. - * - * @package Securimage - * @subpackage classes - * - */ -class Securimage { - - /** - * The desired width of the CAPTCHA image. - * - * @var int - */ - var $image_width; - - /** - * The desired width of the CAPTCHA image. - * - * @var int - */ - var $image_height; - - /** - * The image format for output.
      - * Valid options: SI_IMAGE_PNG, SI_IMAGE_JPG, SI_IMAGE_GIF - * - * @var int - */ - var $image_type; - - /** - * The length of the code to generate. - * - * @var int - */ - var $code_length; - - /** - * The character set for individual characters in the image.
      - * Letters are converted to uppercase.
      - * The font must support the letters or there may be problematic substitutions. - * - * @var string - */ - var $charset; - - /** - * Create codes using this word list - * - * @var string The path to the word list to use for creating CAPTCHA codes - */ - var $wordlist_file; - - /** - * Use wordlist of not - * - * @var bool true to use wordlist file, false to use random code - */ - var $use_wordlist = false; - - /** - * Note: Use of GD fonts is not recommended as many distortion features are not available
      - * The GD font to use.
      - * Internal gd fonts can be loaded by their number.
      - * Alternatively, a file path can be given and the font will be loaded from file. - * - * @var mixed - */ - var $gd_font_file; - - /** - * The approximate size of the font in pixels.
      - * This does not control the size of the font because that is determined by the GD font itself.
      - * This is used to aid the calculations of positioning used by this class.
      - * - * @var int - */ - var $gd_font_size; - - /** - * Use a gd font instead of TTF - * - * @var bool true for gd font, false for TTF - */ - var $use_gd_font; - - // Note: These font options below do not apply if you set $use_gd_font to true with the exception of $text_color - - /** - * The path to the TTF font file to load. - * - * @var string - */ - var $ttf_file; - - /** - * How much to distort image, higher = more distortion.
      - * Distortion is only available when using TTF fonts.
      - * - * @var float - */ - var $perturbation; - - /** - * The minimum angle in degrees, with 0 degrees being left-to-right reading text.
      - * Higher values represent a counter-clockwise rotation.
      - * For example, a value of 90 would result in bottom-to-top reading text.
      - * This value along with maximum angle distance do not need to be very high with perturbation - * - * @var int - */ - var $text_angle_minimum; - - /** - * The minimum angle in degrees, with 0 degrees being left-to-right reading text.
      - * Higher values represent a counter-clockwise rotation.
      - * For example, a value of 90 would result in bottom-to-top reading text. - * - * @var int - */ - var $text_angle_maximum; - - /** - * The X-Position on the image where letter drawing will begin.
      - * This value is in pixels from the left side of the image. - * - * @var int - * @deprecated 2.0 - */ - var $text_x_start; - - /** - * The background color for the image as a Securimage_Color.
      - * - * @var Securimage_Color - */ - var $image_bg_color; - - /** - * Scan this directory for gif, jpg, and png files to use as background images.
      - * A random image file will be picked each time.
      - * Change from null to the full path to your directory.
      - * i.e. var $background_directory = $_SERVER['DOCUMENT_ROOT'] . '/securimage/backgrounds'; - * Make sure not to pass a background image to the show function, otherwise this directive is ignored. - * - * @var string - */ - var $background_directory = null; //'./backgrounds'; - - /** - * The text color to use for drawing characters as a Securimage_Color.
      - * This value is ignored if $use_multi_text is set to true.
      - * Make sure this contrasts well with the background color or image.
      - * - * @see Securimage::$use_multi_text - * @var Securimage_Color - */ - var $text_color; - - /** - * Set to true to use multiple colors for each character. - * - * @see Securimage::$multi_text_color - * @var boolean - */ - var $use_multi_text; - - /** - * Array of Securimage_Colors which will be randomly selected for each letter.
      - * - * @var array - */ - var $multi_text_color; - - /** - * Set to true to make the characters appear transparent. - * - * @see Securimage::$text_transparency_percentage - * @var boolean - */ - var $use_transparent_text; - - /** - * The percentage of transparency, 0 to 100.
      - * A value of 0 is completely opaque, 100 is completely transparent (invisble) - * - * @see Securimage::$use_transparent_text - * @var int - */ - var $text_transparency_percentage; - - - // Line options - /** - * Draw vertical and horizontal lines on the image. - * - * @see Securimage::$line_color - * @see Securimage::$draw_lines_over_text - * @var boolean - */ - var $num_lines; - - /** - * Color of lines drawn over text - * - * @var string - */ - var $line_color; - - /** - * Draw the lines over the text.
      - * If fales lines will be drawn before putting the text on the image. - * - * @var boolean - */ - var $draw_lines_over_text; - - /** - * Text to write at the bottom corner of captcha image - * - * @since 2.0 - * @var string Signature text - */ - var $image_signature; - - /** - * Color to use for writing signature text - * - * @since 2.0 - * @var Securimage_Color - */ - var $signature_color; - - /** - * Full path to the WAV files to use to make the audio files, include trailing /.
      - * Name Files [A-Z0-9].wav - * - * @since 1.0.1 - * @var string - */ - var $audio_path; - - /** - * Type of audio file to generate (mp3 or wav) - * - * @var string - */ - var $audio_format; - - /** - * The session name to use if not the default. Blank for none - * - * @see http://php.net/session_name - * @since 2.0 - * @var string - */ - var $session_name = ''; - - /** - * The amount of time in seconds that a code remains valid.
      - * Any code older than this number will be considered invalid even if entered correctly.
      - * Any non-numeric or value less than 1 disables this functionality. - * - * @var int - */ - var $expiry_time; - - /** - * Path to the file to use for storing codes for users.
      - * THIS FILE MUST ABSOLUTELY NOT BE ACCESSIBLE FROM A WEB BROWSER!!
      - * Put this file in a directory below the web root or one that is restricted (i.e. an apache .htaccess file with deny from all)
      - * If you cannot meet those requirements your forms may not be completely protected.
      - * You could obscure the database file name but this is also not recommended. - * - * @var string - */ - var $sqlite_database; - - /** - * Use an SQLite database for storing codes as a backup to sessions.
      - * Note: Sessions will still be used - */ - var $use_sqlite_db; - - - //END USER CONFIGURATION - //There should be no need to edit below unless you really know what you are doing. - - /** - * The gd image resource. - * - * @access private - * @var resource - */ - var $im; - - /** - * Temporary image for rendering - * - * @access private - * @var resource - */ - var $tmpimg; - - /** - * Internal scale factor for anti-alias @hkcaptcha - * - * @access private - * @since 2.0 - * @var int - */ - var $iscale; // internal scale factor for anti-alias @hkcaptcha - - /** - * The background image resource - * - * @access private - * @var resource - */ - var $bgimg; - - /** - * The code generated by the script - * - * @access private - * @var string - */ - var $code; - - /** - * The code that was entered by the user - * - * @access private - * @var string - */ - var $code_entered; - - /** - * Whether or not the correct code was entered - * - * @access private - * @var boolean - */ - var $correct_code; - - /** - * Handle to SQLite database - * - * @access private - * @var resource - */ - var $sqlite_handle; - - /** - * Color resource for image line color - * - * @access private - * @var int - */ - var $gdlinecolor; - - /** - * Array of colors for multi colored codes - * - * @access private - * @var array - */ - var $gdmulticolor; - - /** - * Color resource for image font color - * - * @access private - * @var int - */ - var $gdtextcolor; - - /** - * Color resource for image signature color - * - * @access private - * @var int - */ - var $gdsignaturecolor; - - /** - * Color resource for image background color - * - * @access private - * @var int - */ - var $gdbgcolor; - - - /** - * Class constructor.
      - * Because the class uses sessions, this will attempt to start a session if there is no previous one.
      - * If you do not start a session before calling the class, the constructor must be called before any - * output is sent to the browser. - * - * - * $securimage = new Securimage(); - * - * - */ - function Securimage() - { - // Initialize session or attach to existing - if ( session_id() == '' ) { // no session has been started yet, which is needed for validation - if (trim($this->session_name) != '') { - session_name($this->session_name); // set session name if provided - } - session_start(); - } - - // Set Default Values - $this->image_width = 230; - $this->image_height = 80; - $this->image_type = SI_IMAGE_PNG; - - $this->code_length = 6; - $this->charset = 'ABCDEFGHKLMNPRSTUVWYZabcdefghklmnprstuvwyz23456789'; - $this->wordlist_file = './words/words.txt'; - $this->use_wordlist = false; - - $this->gd_font_file = 'gdfonts/automatic.gdf'; - $this->use_gd_font = false; - $this->gd_font_size = 24; - $this->text_x_start = 15; - - $this->ttf_file = './AHGBold.ttf'; - - $this->perturbation = 0.75; - $this->iscale = 5; - $this->text_angle_minimum = 0; - $this->text_angle_maximum = 0; - - $this->image_bg_color = new Securimage_Color(0xff, 0xff, 0xff); - $this->text_color = new Securimage_Color(0x3d, 0x3d, 0x3d); - $this->multi_text_color = array(new Securimage_Color(0x0, 0x20, 0xCC), - new Securimage_Color(0x0, 0x30, 0xEE), - new Securimage_color(0x0, 0x40, 0xCC), - new Securimage_Color(0x0, 0x50, 0xEE), - new Securimage_Color(0x0, 0x60, 0xCC)); - $this->use_multi_text = false; - - $this->use_transparent_text = false; - $this->text_transparency_percentage = 30; - - $this->num_lines = 10; - $this->line_color = new Securimage_Color(0x3d, 0x3d, 0x3d); - $this->draw_lines_over_text = true; - - $this->image_signature = ''; - $this->signature_color = new Securimage_Color(0x20, 0x50, 0xCC); - $this->signature_font = './AHGBold.ttf'; - - $this->audio_path = './audio/'; - $this->audio_format = 'mp3'; - $this->session_name = ''; - $this->expiry_time = 900; - - $this->sqlite_database = 'database/securimage.sqlite'; - $this->use_sqlite_db = false; - - $this->sqlite_handle = false; - } - - /** - * Generate a code and output the image to the browser. - * - * - * show('bg.jpg'); - * ?> - * - * - * @param string $background_image The path to an image to use as the background for the CAPTCHA - */ - function show($background_image = "") - { - if($background_image != "" && is_readable($background_image)) { - $this->bgimg = $background_image; - } - - $this->doImage(); - } - - /** - * Validate the code entered by the user. - * - * - * $code = $_POST['code']; - * if ($securimage->check($code) == false) { - * die("Sorry, the code entered did not match."); - * } else { - * $valid = true; - * } - * - * @param string $code The code the user entered - * @return boolean true if the code was correct, false if not - */ - function check($code) - { - $this->code_entered = $code; - $this->validate(); - return $this->correct_code; - } - - /** - * Output audio file with HTTP headers to browser - * - * - * $sound = new Securimage(); - * $sound->audio_format = 'mp3'; - * $sound->outputAudioFile(); - * - * - * @since 2.0 - */ - function outputAudioFile() - { - if (strtolower($this->audio_format) == 'wav') { - header('Content-type: audio/x-wav'); - $ext = 'wav'; - } else { - header('Content-type: audio/mpeg'); // default to mp3 - $ext = 'mp3'; - } - - header("Content-Disposition: attachment; filename=\"securimage_audio.{$ext}\""); - header('Cache-Control: no-store, no-cache, must-revalidate'); - header('Expires: Sun, 1 Jan 2000 12:00:00 GMT'); - header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . 'GMT'); - - $audio = $this->getAudibleCode($ext); - - header('Content-Length: ' . strlen($audio)); - - echo $audio; - exit; - } - - /** - * Generate and output the image - * - * @access private - * - */ - function doImage() - { - if ($this->use_gd_font == true) { - $this->iscale = 1; - } - if($this->use_transparent_text == true || $this->bgimg != "") { - $this->im = imagecreatetruecolor($this->image_width, $this->image_height); - $this->tmpimg = imagecreatetruecolor($this->image_width * $this->iscale, $this->image_height * $this->iscale); - - } else { //no transparency - $this->im = imagecreate($this->image_width, $this->image_height); - $this->tmpimg = imagecreate($this->image_width * $this->iscale, $this->image_height * $this->iscale); - } - - $this->allocateColors(); - imagepalettecopy($this->tmpimg, $this->im); - - $this->setBackground(); - - $this->createCode(); - - if (!$this->draw_lines_over_text && $this->num_lines > 0) $this->drawLines(); - - $this->drawWord(); - if ($this->use_gd_font == false && is_readable($this->ttf_file)) $this->distortedCopy(); - - if ($this->draw_lines_over_text && $this->num_lines > 0) $this->drawLines(); - - if (trim($this->image_signature) != '') $this->addSignature(); - - $this->output(); - - } - - /** - * Allocate all colors that will be used in the CAPTCHA image - * - * @since 2.0.1 - * @access private - */ - function allocateColors() - { - // allocate bg color first for imagecreate - $this->gdbgcolor = imagecolorallocate($this->im, $this->image_bg_color->r, $this->image_bg_color->g, $this->image_bg_color->b); - - $alpha = intval($this->text_transparency_percentage / 100 * 127); - - if ($this->use_transparent_text == true) { - $this->gdtextcolor = imagecolorallocatealpha($this->im, $this->text_color->r, $this->text_color->g, $this->text_color->b, $alpha); - $this->gdlinecolor = imagecolorallocatealpha($this->im, $this->line_color->r, $this->line_color->g, $this->line_color->b, $alpha); - } else { - $this->gdtextcolor = imagecolorallocate($this->im, $this->text_color->r, $this->text_color->g, $this->text_color->b); - $this->gdlinecolor = imagecolorallocate($this->im, $this->line_color->r, $this->line_color->g, $this->line_color->b); - } - - $this->gdsignaturecolor = imagecolorallocate($this->im, $this->signature_color->r, $this->signature_color->g, $this->signature_color->b); - - if ($this->use_multi_text == true) { - $this->gdmulticolor = array(); - - foreach($this->multi_text_color as $color) { - if ($this->use_transparent_text == true) { - $this->gdmulticolor[] = imagecolorallocatealpha($this->im, $color->r, $color->g, $color->b, $alpha); - } else { - $this->gdmulticolor[] = imagecolorallocate($this->im, $color->r, $color->g, $color->b); - } - } - } - } - - /** - * Set the background of the CAPTCHA image - * - * @access private - * - */ - function setBackground() - { - imagefilledrectangle($this->im, 0, 0, $this->image_width * $this->iscale, $this->image_height * $this->iscale, $this->gdbgcolor); - imagefilledrectangle($this->tmpimg, 0, 0, $this->image_width * $this->iscale, $this->image_height * $this->iscale, $this->gdbgcolor); - - if ($this->bgimg == '') { - if ($this->background_directory != null && is_dir($this->background_directory) && is_readable($this->background_directory)) { - $img = $this->getBackgroundFromDirectory(); - if ($img != false) { - $this->bgimg = $img; - } - } - } - - $dat = @getimagesize($this->bgimg); - if($dat == false) { - return; - } - - switch($dat[2]) { - case 1: $newim = @imagecreatefromgif($this->bgimg); break; - case 2: $newim = @imagecreatefromjpeg($this->bgimg); break; - case 3: $newim = @imagecreatefrompng($this->bgimg); break; - case 15: $newim = @imagecreatefromwbmp($this->bgimg); break; - case 16: $newim = @imagecreatefromxbm($this->bgimg); break; - default: return; - } - - if(!$newim) return; - - imagecopyresized($this->im, $newim, 0, 0, 0, 0, $this->image_width, $this->image_height, imagesx($newim), imagesy($newim)); - } - - /** - * Return the full path to a random gif, jpg, or png from the background directory. - * - * @access private - * @see Securimage::$background_directory - * @return mixed false if none found, string $path if found - */ - function getBackgroundFromDirectory() - { - $images = array(); - - if ($dh = opendir($this->background_directory)) { - while (($file = readdir($dh)) !== false) { - if (preg_match('/(jpg|gif|png)$/i', $file)) $images[] = $file; - } - - closedir($dh); - - if (sizeof($images) > 0) { - return rtrim($this->background_directory, '/') . '/' . $images[rand(0, sizeof($images)-1)]; - } - } - - return false; - } - - /** - * Draw random curvy lines over the image
      - * Modified code from HKCaptcha - * - * @since 2.0 - * @access private - * - */ - function drawLines() - { - for ($line = 0; $line < $this->num_lines; ++$line) { - $x = $this->image_width * (1 + $line) / ($this->num_lines + 1); - $x += (0.5 - $this->frand()) * $this->image_width / $this->num_lines; - $y = rand($this->image_height * 0.1, $this->image_height * 0.9); - - $theta = ($this->frand()-0.5) * M_PI * 0.7; - $w = $this->image_width; - $len = rand($w * 0.4, $w * 0.7); - $lwid = rand(0, 2); - - $k = $this->frand() * 0.6 + 0.2; - $k = $k * $k * 0.5; - $phi = $this->frand() * 6.28; - $step = 0.5; - $dx = $step * cos($theta); - $dy = $step * sin($theta); - $n = $len / $step; - $amp = 1.5 * $this->frand() / ($k + 5.0 / $len); - $x0 = $x - 0.5 * $len * cos($theta); - $y0 = $y - 0.5 * $len * sin($theta); - - $ldx = round(-$dy * $lwid); - $ldy = round($dx * $lwid); - - for ($i = 0; $i < $n; ++$i) { - $x = $x0 + $i * $dx + $amp * $dy * sin($k * $i * $step + $phi); - $y = $y0 + $i * $dy - $amp * $dx * sin($k * $i * $step + $phi); - imagefilledrectangle($this->im, $x, $y, $x + $lwid, $y + $lwid, $this->gdlinecolor); - } - } - } - - /** - * Draw the CAPTCHA code over the image - * - * @access private - * - */ - function drawWord() - { - $width2 = $this->image_width * $this->iscale; - $height2 = $this->image_height * $this->iscale; - - if ($this->use_gd_font == true || !is_readable($this->ttf_file)) { - if (!is_int($this->gd_font_file)) { //is a file name - $font = @imageloadfont($this->gd_font_file); - if ($font == false) { - trigger_error("Failed to load GD Font file {$this->gd_font_file} ", E_USER_WARNING); - return; - } - } else { //gd font identifier - $font = $this->gd_font_file; - } - - imagestring($this->im, $font, $this->text_x_start, ($this->image_height / 2) - ($this->gd_font_size / 2), $this->code, $this->gdtextcolor); - } else { //ttf font - $font_size = $height2 * .35; - $bb = imagettfbbox($font_size, 0, $this->ttf_file, $this->code); - $tx = $bb[4] - $bb[0]; - $ty = $bb[5] - $bb[1]; - $x = floor($width2 / 2 - $tx / 2 - $bb[0]); - $y = round($height2 / 2 - $ty / 2 - $bb[1]); - - $strlen = strlen($this->code); - if (!is_array($this->multi_text_color)) $this->use_multi_text = false; - - - if ($this->use_multi_text == false && $this->text_angle_minimum == 0 && $this->text_angle_maximum == 0) { // no angled or multi-color characters - imagettftext($this->tmpimg, $font_size, 0, $x, $y, $this->gdtextcolor, $this->ttf_file, $this->code); - } else { - for($i = 0; $i < $strlen; ++$i) { - $angle = rand($this->text_angle_minimum, $this->text_angle_maximum); - $y = rand($y - 5, $y + 5); - if ($this->use_multi_text == true) { - $font_color = $this->gdmulticolor[rand(0, sizeof($this->gdmulticolor) - 1)]; - } else { - $font_color = $this->gdtextcolor; - } - - $ch = $this->code{$i}; - - imagettftext($this->tmpimg, $font_size, $angle, $x, $y, $font_color, $this->ttf_file, $ch); - - // estimate character widths to increment $x without creating spaces that are too large or too small - // these are best estimates to align text but may vary between fonts - // for optimal character widths, do not use multiple text colors or character angles and the complete string will be written by imagettftext - if (strpos('abcdeghknopqsuvxyz', $ch) !== false) { - $min_x = $font_size - ($this->iscale * 6); - $max_x = $font_size - ($this->iscale * 6); - } else if (strpos('ilI1', $ch) !== false) { - $min_x = $font_size / 5; - $max_x = $font_size / 3; - } else if (strpos('fjrt', $ch) !== false) { - $min_x = $font_size - ($this->iscale * 12); - $max_x = $font_size - ($this->iscale * 12); - } else if ($ch == 'wm') { - $min_x = $font_size; - $max_x = $font_size + ($this->iscale * 3); - } else { // numbers, capitals or unicode - $min_x = $font_size + ($this->iscale * 2); - $max_x = $font_size + ($this->iscale * 5); - } - - $x += rand($min_x, $max_x); - } //for loop - } // angled or multi-color - } //else ttf font - //$this->im = $this->tmpimg; - //$this->output(); - } //function - - /** - * Warp text from temporary image onto final image.
      - * Modified for securimage - * - * @access private - * @since 2.0 - * @author Han-Kwang Nienhuys modified - * @copyright Han-Kwang Neinhuys - * - */ - function distortedCopy() - { - $numpoles = 3; // distortion factor - - // make array of poles AKA attractor points - for ($i = 0; $i < $numpoles; ++$i) { - $px[$i] = rand($this->image_width * 0.3, $this->image_width * 0.7); - $py[$i] = rand($this->image_height * 0.3, $this->image_height * 0.7); - $rad[$i] = rand($this->image_width * 0.4, $this->image_width * 0.7); - $tmp = -$this->frand() * 0.15 - 0.15; - $amp[$i] = $this->perturbation * $tmp; - } - - $bgCol = imagecolorat($this->tmpimg, 0, 0); - $width2 = $this->iscale * $this->image_width; - $height2 = $this->iscale * $this->image_height; - - imagepalettecopy($this->im, $this->tmpimg); // copy palette to final image so text colors come across - - // loop over $img pixels, take pixels from $tmpimg with distortion field - for ($ix = 0; $ix < $this->image_width; ++$ix) { - for ($iy = 0; $iy < $this->image_height; ++$iy) { - $x = $ix; - $y = $iy; - - for ($i = 0; $i < $numpoles; ++$i) { - $dx = $ix - $px[$i]; - $dy = $iy - $py[$i]; - if ($dx == 0 && $dy == 0) continue; - - $r = sqrt($dx * $dx + $dy * $dy); - if ($r > $rad[$i]) continue; - - $rscale = $amp[$i] * sin(3.14 * $r / $rad[$i]); - $x += $dx * $rscale; - $y += $dy * $rscale; - } - - $c = $bgCol; - $x *= $this->iscale; - $y *= $this->iscale; - - if ($x >= 0 && $x < $width2 && $y >= 0 && $y < $height2) { - $c = imagecolorat($this->tmpimg, $x, $y); - } - - if ($c != $bgCol) { // only copy pixels of letters to preserve any background image - imagesetpixel($this->im, $ix, $iy, $c); - } - } - } - } - - /** - * Create a code and save to the session - * - * @access private - * @since 1.0.1 - * - */ - function createCode() - { - $this->code = false; - - if ($this->use_wordlist && is_readable($this->wordlist_file)) { - $this->code = $this->readCodeFromFile(); - } - - if ($this->code == false) { - $this->code = $this->generateCode($this->code_length); - } - - $this->saveData(); - } - - /** - * Generate a code - * - * @access private - * @param int $len The code length - * @return string - */ - function generateCode($len) - { - $code = ''; - - for($i = 1, $cslen = strlen($this->charset); $i <= $len; ++$i) { - $code .= $this->charset{rand(0, $cslen - 1)}; - } - return $code; - } - - /** - * Reads a word list file to get a code - * - * @access private - * @since 1.0.2 - * @return mixed false on failure, a word on success - */ - function readCodeFromFile() - { - $fp = @fopen($this->wordlist_file, 'rb'); - if (!$fp) return false; - - $fsize = filesize($this->wordlist_file); - if ($fsize < 32) return false; // too small of a list to be effective - - if ($fsize < 128) { - $max = $fsize; // still pretty small but changes the range of seeking - } else { - $max = 128; - } - - fseek($fp, rand(0, $fsize - $max), SEEK_SET); - $data = fread($fp, 128); // read a random 128 bytes from file - fclose($fp); - $data = preg_replace("/\r?\n/", "\n", $data); - - $start = strpos($data, "\n", rand(0, 100)) + 1; // random start position - $end = strpos($data, "\n", $start); // find end of word - - return strtolower(substr($data, $start, $end - $start)); // return substring in 128 bytes - } - - /** - * Output image to the browser - * - * @access private - * - */ - function output() - { - header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); - header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); - header("Cache-Control: no-store, no-cache, must-revalidate"); - header("Cache-Control: post-check=0, pre-check=0", false); - header("Pragma: no-cache"); - - switch($this->image_type) - { - case SI_IMAGE_JPEG: - header("Content-Type: image/jpeg"); - imagejpeg($this->im, null, 90); - break; - - case SI_IMAGE_GIF: - header("Content-Type: image/gif"); - imagegif($this->im); - break; - - default: - header("Content-Type: image/png"); - imagepng($this->im); - break; - } - - imagedestroy($this->im); - exit; - } - - /** - * Get WAV or MP3 file data of the spoken code.
      - * This is appropriate for output to the browser as audio/x-wav or audio/mpeg - * - * @since 1.0.1 - * @return string WAV or MP3 data - * - */ - function getAudibleCode($format = 'wav') - { - $letters = array(); - $code = $this->getCode(); - - if ($code == '') { - $this->createCode(); - $code = $this->getCode(); - } - - for($i = 0; $i < strlen($code); ++$i) { - $letters[] = $code{$i}; - } - - if ($format == 'mp3') { - return $this->generateMP3($letters); - } else { - return $this->generateWAV($letters); - } - } - - /** - * Set the path to the audio directory.
      - * - * @since 1.0.4 - * @return bool true if the directory exists and is readble, false if not - */ - function setAudioPath($audio_directory) - { - if (is_dir($audio_directory) && is_readable($audio_directory)) { - $this->audio_path = $audio_directory; - return true; - } else { - return false; - } - } - - /** - * Save the code in the session - * - * @access private - * - */ - function saveData() - { - $_SESSION['securimage_code_value'] = strtolower($this->code); - $_SESSION['securimage_code_ctime'] = time(); - - $this->saveCodeToDatabase(); - } - - /** - * Validate the code to the user code - * - * @access private - * - */ - function validate() - { - // retrieve code from session, if no code exists check sqlite database if supported. - - if (isset($_SESSION['securimage_code_value']) && trim($_SESSION['securimage_code_value']) != '') { - if ($this->isCodeExpired($_SESSION['securimage_code_ctime']) == false) { - $code = $_SESSION['securimage_code_value']; - } - } else if ($this->use_sqlite_db == true && function_exists('sqlite_open')) { // no code in session - may mean user has cookies turned off - $this->openDatabase(); - $code = $this->getCodeFromDatabase(); - } else { - // session code invalid or non-existant and code not found in sqlite db or sqlite is not available - $code = ''; - } - - $code = trim(strtolower($code)); - $code_entered = trim(strtolower($this->code_entered)); - $this->correct_code = false; - - if ($code != '') { - if ($code == $code_entered) { - $this->correct_code = true; - $_SESSION['securimage_code_value'] = ''; - $_SESSION['securimage_code_ctime'] = ''; - $this->clearCodeFromDatabase(); - } - } - } - - /** - * Get the captcha code - * - * @since 1.0.1 - * @return string - */ - function getCode() - { - if (isset($_SESSION['securimage_code_value']) && !empty($_SESSION['securimage_code_value'])) { - return strtolower($_SESSION['securimage_code_value']); - } else { - if ($this->sqlite_handle == false) $this->openDatabase(); - - return $this->getCodeFromDatabase(); // attempt to get from database, returns empty string if sqlite is not available or disabled - } - } - - /** - * Check if the user entered code was correct - * - * @access private - * @return boolean - */ - function checkCode() - { - return $this->correct_code; - } - - /** - * Generate a wav file by concatenating individual files - * - * @since 1.0.1 - * @access private - * @param array $letters Array of letters to build a file from - * @return string WAV file data - */ - function generateWAV($letters) - { - $data_len = 0; - $files = array(); - $out_data = ''; - - foreach ($letters as $letter) { - $filename = $this->audio_path . strtoupper($letter) . '.wav'; - - $fp = fopen($filename, 'rb'); - - $file = array(); - - $data = fread($fp, filesize($filename)); // read file in - - $header = substr($data, 0, 36); - $body = substr($data, 44); - - - $data = unpack('NChunkID/VChunkSize/NFormat/NSubChunk1ID/VSubChunk1Size/vAudioFormat/vNumChannels/VSampleRate/VByteRate/vBlockAlign/vBitsPerSample', $header); - - $file['sub_chunk1_id'] = $data['SubChunk1ID']; - $file['bits_per_sample'] = $data['BitsPerSample']; - $file['channels'] = $data['NumChannels']; - $file['format'] = $data['AudioFormat']; - $file['sample_rate'] = $data['SampleRate']; - $file['size'] = $data['ChunkSize'] + 8; - $file['data'] = $body; - - if ( ($p = strpos($file['data'], 'LIST')) !== false) { - // If the LIST data is not at the end of the file, this will probably break your sound file - $info = substr($file['data'], $p + 4, 8); - $data = unpack('Vlength/Vjunk', $info); - $file['data'] = substr($file['data'], 0, $p); - $file['size'] = $file['size'] - (strlen($file['data']) - $p); - } - - $files[] = $file; - $data = null; - $header = null; - $body = null; - - $data_len += strlen($file['data']); - - fclose($fp); - } - - $out_data = ''; - for($i = 0; $i < sizeof($files); ++$i) { - if ($i == 0) { // output header - $out_data .= pack('C4VC8', ord('R'), ord('I'), ord('F'), ord('F'), $data_len + 36, ord('W'), ord('A'), ord('V'), ord('E'), ord('f'), ord('m'), ord('t'), ord(' ')); - - $out_data .= pack('VvvVVvv', - 16, - $files[$i]['format'], - $files[$i]['channels'], - $files[$i]['sample_rate'], - $files[$i]['sample_rate'] * (($files[$i]['bits_per_sample'] * $files[$i]['channels']) / 8), - ($files[$i]['bits_per_sample'] * $files[$i]['channels']) / 8, - $files[$i]['bits_per_sample'] ); - - $out_data .= pack('C4', ord('d'), ord('a'), ord('t'), ord('a')); - - $out_data .= pack('V', $data_len); - } - - $out_data .= $files[$i]['data']; - } - - $this->scrambleAudioData($out_data, 'wav'); - return $out_data; - } - - /** - * Randomly modify the audio data to scramble sound and prevent binary recognition.
      - * Take care not to "break" the audio file by leaving the header data intact. - * - * @since 2.0 - * @access private - * @param $data Sound data in mp3 of wav format - */ - function scrambleAudioData(&$data, $format) - { - if ($format == 'wav') { - $start = strpos($data, 'data') + 4; // look for "data" indicator - if ($start === false) $start = 44; // if not found assume 44 byte header - } else { // mp3 - $start = 4; // 4 byte (32 bit) frame header - } - - $start += rand(1, 64); // randomize starting offset - $datalen = strlen($data) - $start - 256; // leave last 256 bytes unchanged - - for ($i = $start; $i < $datalen; $i += 64) { - $ch = ord($data{$i}); - if ($ch < 9 || $ch > 119) continue; - - $data{$i} = chr($ch + rand(-8, 8)); - } - } - - /** - * Generate an mp3 file by concatenating individual files - * @since 1.0.4 - * @access private - * @param array $letters Array of letters to build a file from - * @return string MP3 file data - */ - function generateMP3($letters) - { - $data_len = 0; - $files = array(); - $out_data = ''; - - foreach ($letters as $letter) { - $filename = $this->audio_path . strtoupper($letter) . '.mp3'; - - $fp = fopen($filename, 'rb'); - $data = fread($fp, filesize($filename)); // read file in - - $this->scrambleAudioData($data, 'mp3'); - $out_data .= $data; - - fclose($fp); - } - - - return $out_data; - } - - /** - * Generate random number less than 1 - * @since 2.0 - * @access private - * @return float - */ - function frand() - { - return 0.0001*rand(0,9999); - } - - /** - * Print signature text on image - * - * @since 2.0 - * @access private - * - */ - function addSignature() - { - if ($this->use_gd_font) { - imagestring($this->im, 5, $this->image_width - (strlen($this->image_signature) * 10), $this->image_height - 20, $this->image_signature, $this->gdsignaturecolor); - } else { - - $bbox = imagettfbbox(10, 0, $this->signature_font, $this->image_signature); - $textlen = $bbox[2] - $bbox[0]; - $x = $this->image_width - $textlen - 5; - $y = $this->image_height - 3; - - imagettftext($this->im, 10, 0, $x, $y, $this->gdsignaturecolor, $this->signature_font, $this->image_signature); - } - } - - /** - * Get hashed IP address of remote user - * - * @access private - * @since 2.0.1 - * @return string - */ - function getIPHash() - { - return strtolower(md5($_SERVER['REMOTE_ADDR'])); - } - - /** - * Open SQLite database - * - * @access private - * @since 2.0.1 - * @return bool true if database was opened successfully - */ - function openDatabase() - { - $this->sqlite_handle = false; - - if ($this->use_sqlite_db && function_exists('sqlite_open')) { - $this->sqlite_handle = sqlite_open($this->sqlite_database, 0666, $error); - - if ($this->sqlite_handle !== false) { - $res = sqlite_query($this->sqlite_handle, "PRAGMA table_info(codes)"); - if (sqlite_num_rows($res) == 0) { - sqlite_query($this->sqlite_handle, "CREATE TABLE codes (iphash VARCHAR(32) PRIMARY KEY, code VARCHAR(32) NOT NULL, created INTEGER)"); - } - } - - return $this->sqlite_handle != false; - } - - return $this->sqlite_handle; - } - - /** - * Save captcha code to sqlite database - * - * @access private - * @since 2.0.1 - * @return bool true if code was saved, false if not - */ - function saveCodeToDatabase() - { - $success = false; - - $this->openDatabase(); - - if ($this->use_sqlite_db && $this->sqlite_handle !== false) { - $ip = $this->getIPHash(); - $time = time(); - $code = $_SESSION['securimage_code_value']; // hash code for security - if cookies are disabled the session still exists at this point - $success = sqlite_query($this->sqlite_handle, "INSERT OR REPLACE INTO codes(iphash, code, created) VALUES('$ip', '$code', $time)"); - } - - return $success !== false; - } - - /** - * Get stored captcha code from sqlite database based on ip address hash - * - * @access private - * @since 2.0.1 - * @return string captcha code - */ - function getCodeFromDatabase() - { - $code = ''; - - if ($this->use_sqlite_db && $this->sqlite_handle !== false) { - $ip = $this->getIPHash(); - - $res = sqlite_query($this->sqlite_handle, "SELECT * FROM codes WHERE iphash = '$ip'"); - if ($res && sqlite_num_rows($res) > 0) { - $res = sqlite_fetch_array($res); - - if ($this->isCodeExpired($res['created']) == false) { - $code = $res['code']; - } - } - } - - return $code; - } - - /** - * Delete a code from the database by ip address hash - * - * @access private - * @since 2.0.1 - */ - function clearCodeFromDatabase() - { - if ($this->sqlite_handle !== false) { - $ip = $this->getIPHash(); - - sqlite_query($this->sqlite_handle, "DELETE FROM codes WHERE iphash = '$ip'"); - } - } - - /** - * Purge codes over a day old from database - * - * @access private - * @since 2.0.1 - */ - function purgeOldCodesFromDatabase() - { - if ($this->use_sqlite_db && $this->sqlite_handle !== false) { - $now = time(); - $limit = (!is_numeric($this->expiry_time) || $this->expiry_time < 1) ? 86400 : $this->expiry_time; - - sqlite_query($this->sqlite_handle, "DELETE FROM codes WHERE $now - created > $limit"); - } - } - - /** - * Check a code to see if it is expired based on creation time - * - * @access private - * @since 2.0.1 - * @param $creation_time unix timestamp of code creation time - * @return bool true if code has expired, false if not - */ - function isCodeExpired($creation_time) - { - $expired = true; - - if (!is_numeric($this->expiry_time) || $this->expiry_time < 1) { - $expired = false; - } else if (time() - $creation_time < $this->expiry_time) { - $expired = false; - } - - return $expired; - } - -} /* class Securimage */ - - -/** - * Color object for Securimage CAPTCHA - * - * @since 2.0 - * @package Securimage - * @subpackage classes - * - */ -class Securimage_Color { - /** - * Red component: 0-255 - * - * @var int - */ - var $r; - /** - * Green component: 0-255 - * - * @var int - */ - var $g; - /** - * Blue component: 0-255 - * - * @var int - */ - var $b; - - /** - * Create a new Securimage_Color object.
      - * Specify the red, green, and blue components using their HTML hex code equivalent.
      - * Example: The code for the HTML color #4A203C is:
      - * $color = new Securimage_Color(0x4A, 0x20, 0x3C); - * - * @param $red Red component 0-255 - * @param $green Green component 0-255 - * @param $blue Blue component 0-255 - */ - function Securimage_Color($red, $green = null, $blue = null) - { - if ($green == null && $blue == null && preg_match('/^#[a-f0-9]{3,6}$/i', $red)) { - $col = substr($red, 1); - if (strlen($col) == 3) { - $red = str_repeat(substr($col, 0, 1), 2); - $green = str_repeat(substr($col, 1, 1), 2); - $blue = str_repeat(substr($col, 2, 1), 2); - } else { - $red = substr($col, 0, 2); - $green = substr($col, 2, 2); - $blue = substr($col, 4, 2); - } - - $red = hexdec($red); - $green = hexdec($green); - $blue = hexdec($blue); - } else { - if ($red < 0) $red = 0; - if ($red > 255) $red = 255; - if ($green < 0) $green = 0; - if ($green > 255) $green = 255; - if ($blue < 0) $blue = 0; - if ($blue > 255) $blue = 255; - } - - $this->r = $red; - $this->g = $green; - $this->b = $blue; - } -} diff --git a/sources/html/securimage/securimage_play.php b/sources/html/securimage/securimage_play.php deleted file mode 100644 index 1f369bc..0000000 --- a/sources/html/securimage/securimage_play.php +++ /dev/null @@ -1,43 +0,0 @@ - - * File: securimage_play.php
      - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or any later version.

      - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details.

      - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

      - * - * Any modifications to the library should be indicated clearly in the source code - * to inform users that the changes are not a part of the original software.

      - * - * If you found this script useful, please take a quick moment to rate it.
      - * http://www.hotscripts.com/rate/49400.html Thanks. - * - * @link http://www.phpcaptcha.org Securimage PHP CAPTCHA - * @link http://www.phpcaptcha.org/latest.zip Download Latest Version - * @link http://www.phpcaptcha.org/Securimage_Docs/ Online Documentation - * @copyright 2009 Drew Phillips - * @author drew010 - * @version 2.0.1 BETA (December 6th, 2009) - * @package Securimage - * - */ - -include 'securimage.php'; - -$img = new Securimage(); -$img->audio_format = (isset($_GET['format']) && in_array(strtolower($_GET['format']), array('mp3', 'wav')) ? strtolower($_GET['format']) : 'mp3'); -//$img->setAudioPath('/path/to/securimage/audio/'); - -$img->outputAudioFile(); diff --git a/sources/html/securimage/securimage_play.swf b/sources/html/securimage/securimage_play.swf deleted file mode 100644 index d1718b7355c4e8d6a03d2caab2224e9a3c862b24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3102 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 diff --git a/sources/html/securimage/securimage_show.php b/sources/html/securimage/securimage_show.php deleted file mode 100644 index 00230a0..0000000 --- a/sources/html/securimage/securimage_show.php +++ /dev/null @@ -1,57 +0,0 @@ - - * File: securimage_show.php
      - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or any later version.

      - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details.

      - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

      - * - * Any modifications to the library should be indicated clearly in the source code - * to inform users that the changes are not a part of the original software.

      - * - * If you found this script useful, please take a quick moment to rate it.
      - * http://www.hotscripts.com/rate/49400.html Thanks. - * - * @link http://www.phpcaptcha.org Securimage PHP CAPTCHA - * @link http://www.phpcaptcha.org/latest.zip Download Latest Version - * @link http://www.phpcaptcha.org/Securimage_Docs/ Online Documentation - * @copyright 2009 Drew Phillips - * @author drew010 - * @version 2.0.1 BETA (December 6th, 2009) - * @package Securimage - * - */ - -include 'securimage.php'; - -$img = new securimage(); - -// Change some settings - -$img->image_width = 205; -$img->image_height = 50; -$img->perturbation = 0.35; // 1.0 = high distortion, higher numbers = more distortion -$img->image_bg_color = new Securimage_Color("#000000"); -//$img->text_color = new Securimage_Color("#EAEAEA"); -$img->text_transparency_percentage = 45; // 100 = completely transparent -$img->num_lines = 0; -$img->line_color = new Securimage_Color("#0033ff"); -$img->signature_color = new Securimage_Color(rand(0, 64), rand(64, 128), rand(128, 255)); -$img->image_type = SI_IMAGE_JPEG; -$img->background_directory="./backgrounds"; -$img->bgimg="./backgrounds/bg4.jpg"; -$img->use_multi_text=true; - -$img->show(); // alternate use: $img->show('/path/to/background_image.jpg'); diff --git a/sources/html/securimage/securimage_show_example.php b/sources/html/securimage/securimage_show_example.php deleted file mode 100644 index 1d34753..0000000 --- a/sources/html/securimage/securimage_show_example.php +++ /dev/null @@ -1,64 +0,0 @@ - - * File: securimage_show_example.php
      - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or any later version.

      - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details.

      - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

      - * - * Any modifications to the library should be indicated clearly in the source code - * to inform users that the changes are not a part of the original software.

      - * - * If you found this script useful, please take a quick moment to rate it.
      - * http://www.hotscripts.com/rate/49400.html Thanks. - * - * @link http://www.phpcaptcha.org Securimage PHP CAPTCHA - * @link http://www.phpcaptcha.org/latest.zip Download Latest Version - * @link http://www.phpcaptcha.org/Securimage_Docs/ Online Documentation - * @copyright 2009 Drew Phillips - * @author Drew Phillips - * @version 2.0.1 BETA (December 6th, 2009) - * @package Securimage - * - */ - -include 'securimage.php'; - -$img = new securimage(); - -//Change some settings -$img->image_width = 250; -$img->image_height = 80; -$img->perturbation = 0.85; -$img->image_bg_color = new Securimage_Color("#f6f6f6"); -$img->multi_text_color = array(new Securimage_Color("#3399ff"), - new Securimage_Color("#3300cc"), - new Securimage_Color("#3333cc"), - new Securimage_Color("#6666ff"), - new Securimage_Color("#99cccc") - ); -$img->use_multi_text = true; -$img->text_angle_minimum = -5; -$img->text_angle_maximum = 5; -$img->use_transparent_text = true; -$img->text_transparency_percentage = 30; // 100 = completely transparent -$img->num_lines = 7; -$img->line_color = new Securimage_Color("#eaeaea"); -$img->image_signature = 'phpcaptcha.org'; -$img->signature_color = new Securimage_Color(rand(0, 64), rand(64, 128), rand(128, 255)); -$img->use_wordlist = true; - -$img->show('backgrounds/bg3.jpg'); // alternate use: $img->show('/path/to/background_image.jpg'); - diff --git a/sources/html/securimage/securimage_show_example2.php b/sources/html/securimage/securimage_show_example2.php deleted file mode 100644 index 941379b..0000000 --- a/sources/html/securimage/securimage_show_example2.php +++ /dev/null @@ -1,55 +0,0 @@ - - * File: securimage_show_example2.php
      - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or any later version.

      - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details.

      - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

      - * - * Any modifications to the library should be indicated clearly in the source code - * to inform users that the changes are not a part of the original software.

      - * - * If you found this script useful, please take a quick moment to rate it.
      - * http://www.hotscripts.com/rate/49400.html Thanks. - * - * @link http://www.phpcaptcha.org Securimage PHP CAPTCHA - * @link http://www.phpcaptcha.org/latest.zip Download Latest Version - * @link http://www.phpcaptcha.org/Securimage_Docs/ Online Documentation - * @copyright 2009 Drew Phillips - * @author Drew Phillips - * @version 2.0.1 BETA (December 6th, 2009) - * @package Securimage - * - */ - -include 'securimage.php'; - -$img = new securimage(); - -//Change some settings -$img->image_width = 280; -$img->image_height = 100; -$img->perturbation = 0.9; -$img->code_length = rand(5,6); -$img->image_bg_color = new Securimage_Color("#ffffff"); -$img->use_transparent_text = true; -$img->text_transparency_percentage = 75; // 100 = completely transparent -$img->num_lines = 15; -$img->image_signature = ''; -$img->text_color = new Securimage_Color("#000000"); -$img->line_color = new Securimage_Color("#cccccc"); - -$img->show(''); // alternate use: $img->show('/path/to/background_image.jpg'); - diff --git a/sources/html/securimage/words/words.txt b/sources/html/securimage/words/words.txt deleted file mode 100644 index eaeb84a..0000000 --- a/sources/html/securimage/words/words.txt +++ /dev/null @@ -1,15621 +0,0 @@ -aahing -aaliis -aarrgh -abacas -abacus -abakas -abamps -abased -abaser -abases -abasia -abated -abater -abates -abatis -abator -abayas -abbacy -abbess -abbeys -abbots -abduce -abduct -abeles -abelia -abhors -abided -abider -abides -abject -abjure -ablate -ablaut -ablaze -ablest -ablins -abloom -ablush -abmhos -aboard -aboded -abodes -abohms -abolla -abomas -aboral -aborts -abound -aboves -abrade -abroad -abrupt -abseil -absent -absorb -absurd -abulia -abulic -abvolt -abwatt -abying -abysms -acacia -acajou -acarid -acarus -accede -accent -accept -access -accord -accost -accrue -accuse -acedia -acetal -acetic -acetin -acetum -acetyl -achene -achier -aching -acidic -acidly -acinar -acinic -acinus -ackees -acnode -acorns -acquit -across -acting -actins -action -active -actors -actual -acuate -acuity -aculei -acumen -acuter -acutes -adages -adagio -adapts -addend -adders -addict -adding -addled -addles -adduce -adduct -adeems -adenyl -adepts -adhere -adieus -adieux -adipic -adjoin -adjure -adjust -admass -admire -admits -admixt -adnate -adnexa -adnoun -adobes -adobos -adonis -adopts -adored -adorer -adores -adorns -adrift -adroit -adsorb -adults -advect -advent -adverb -advert -advice -advise -adytum -adzing -adzuki -aecial -aecium -aedile -aedine -aeneus -aeonic -aerate -aerial -aeried -aerier -aeries -aerify -aerily -aerobe -aerugo -aether -afeard -affair -affect -affine -affirm -afflux -afford -affray -afghan -afield -aflame -afloat -afraid -afreet -afresh -afrits -afters -aftosa -agamas -agamic -agamid -agapae -agapai -agapes -agaric -agates -agaves -agedly -ageing -ageism -ageist -agency -agenda -agenes -agents -aggada -aggers -aggies -aggros -aghast -agings -agisms -agists -agitas -aglare -agleam -aglets -agnail -agnate -agnize -agonal -agones -agonic -agorae -agoras -agorot -agouti -agouty -agrafe -agreed -agrees -agrias -aguish -ahchoo -ahimsa -aholds -ahorse -aiders -aidful -aiding -aidman -aidmen -aiglet -aigret -aikido -ailing -aimers -aimful -aiming -aiolis -airbag -airbus -airers -airest -airier -airily -airing -airman -airmen -airted -airths -airway -aisled -aisles -aivers -ajivas -ajowan -ajugas -akelas -akenes -akimbo -alamos -alands -alanin -alants -alanyl -alarms -alarum -alaska -alated -alates -albata -albedo -albeit -albino -albite -albums -alcade -alcaic -alcids -alcove -alders -aldols -aldose -aldrin -alegar -alephs -alerts -alevin -alexia -alexin -alfaki -algins -algoid -algors -algums -alibis -alible -alidad -aliens -alight -aligns -alined -aliner -alines -aliped -aliyah -aliyas -aliyos -aliyot -alkali -alkane -alkene -alkies -alkine -alkoxy -alkyds -alkyls -alkyne -allays -allees -allege -allele -alleys -allied -allies -allium -allods -allots -allows -alloys -allude -allure -allyls -almahs -almehs -almner -almond -almost -almuce -almude -almuds -almugs -alnico -alodia -alohas -aloins -alpaca -alphas -alphyl -alpine -alsike -altars -alters -althea -aludel -alulae -alular -alumin -alumna -alumni -alvine -always -amadou -amarna -amatol -amazed -amazes -amazon -ambage -ambari -ambary -ambeer -ambers -ambery -ambits -ambled -ambler -ambles -ambush -amebae -ameban -amebas -amebic -ameers -amends -aments -amerce -amices -amicus -amides -amidic -amidin -amidol -amidst -amigas -amigos -amines -aminic -ammine -ammino -ammono -amnion -amnios -amoeba -amoles -amoral -amount -amours -ampere -amping -ampler -ampule -ampuls -amrita -amtrac -amucks -amulet -amused -amuser -amuses -amusia -amylic -amylum -anabas -anadem -analog -ananke -anarch -anatto -anchor -anchos -ancone -andros -anears -aneled -aneles -anemia -anemic -anenst -anergy -angary -angels -angers -angina -angled -angler -angles -anglos -angora -angsts -anilin -animal -animas -animes -animis -animus -anions -anises -anisic -ankled -ankles -anklet -ankush -anlace -anlage -annals -anneal -annexe -annona -annoys -annual -annuli -annuls -anodal -anodes -anodic -anoint -anoles -anomic -anomie -anonym -anopia -anorak -anoxia -anoxic -ansate -answer -anteed -anthem -anther -antiar -antick -antics -anting -antler -antral -antres -antrum -anural -anuran -anuria -anuric -anuses -anvils -anyhow -anyone -anyons -anyway -aorist -aortae -aortal -aortas -aortic -aoudad -apache -apathy -apercu -apexes -aphids -aphtha -apiary -apical -apices -apiece -aplite -aplomb -apneal -apneas -apneic -apnoea -apodal -apogee -apollo -apolog -aporia -appall -appals -appeal -appear -appels -append -apples -applet -appose -aprons -aptest -arabic -arable -arames -aramid -arbors -arbour -arbute -arcade -arcana -arcane -arched -archer -arches -archil -archly -archon -arcing -arcked -arctic -ardebs -ardent -ardors -ardour -arecas -arenas -arenes -areola -areole -arepas -aretes -argala -argali -argals -argent -argils -argled -argles -argols -argons -argosy -argots -argued -arguer -argues -argufy -argyle -argyll -arhats -ariary -arider -aridly -ariels -aright -ariled -ariose -ariosi -arioso -arisen -arises -arista -aristo -arkose -armada -armers -armets -armful -armies -arming -armlet -armors -armory -armour -armpit -armure -arnica -aroids -aroint -aromas -around -arouse -aroynt -arpens -arpent -arrack -arrant -arrays -arrear -arrest -arriba -arrive -arroba -arrows -arrowy -arroyo -arseno -arshin -arsine -arsino -arsons -artels -artery -artful -artier -artily -artist -asanas -asarum -ascend -ascent -ascots -asdics -ashcan -ashier -ashing -ashlar -ashler -ashman -ashmen -ashore -ashram -asides -askant -askers -asking -aslant -asleep -aslope -aslosh -aspect -aspens -aspers -aspics -aspire -aspish -asrama -assail -assais -assays -assent -assert -assess -assets -assign -assist -assize -assoil -assort -assume -assure -astern -asters -asthma -astony -astral -astray -astute -aswarm -aswirl -aswoon -asylum -atabal -ataman -atavic -ataxia -ataxic -atelic -atlatl -atmans -atolls -atomic -atonal -atoned -atoner -atones -atonia -atonic -atopic -atrial -atrium -attach -attack -attain -attars -attend -attent -attest -attics -attire -attorn -attrit -attune -atwain -atween -atypic -aubade -auburn -aucuba -audads -audial -audile -auding -audios -audits -augend -augers -aughts -augite -augurs -augury -august -auklet -aulder -auntie -auntly -aurate -aureus -aurist -aurora -aurous -aurums -auspex -ausubo -auteur -author -autism -autist -autoed -autumn -auxins -avails -avatar -avaunt -avenge -avenue -averse -averts -avians -aviary -aviate -avidin -avidly -avions -avisos -avocet -avoids -avoset -avouch -avowal -avowed -avower -avulse -awaits -awaked -awaken -awakes -awards -aweary -aweigh -aweing -awhile -awhirl -awless -awmous -awning -awoken -axeman -axemen -axenic -axilla -axioms -axions -axised -axises -axites -axlike -axonal -axones -axonic -axseed -azalea -azides -azines -azlons -azoles -azonal -azonic -azoted -azotes -azoths -azotic -azukis -azures -azygos -baaing -baalim -baases -babble -babels -babied -babier -babies -babkas -babool -baboon -baboos -babuls -baccae -bached -baches -backed -backer -backup -bacons -bacula -badass -badder -baddie -badged -badger -badges -badman -badmen -baffed -baffle -bagels -bagful -bagged -bagger -baggie -bagman -bagmen -bagnio -baguet -bagwig -bailed -bailee -bailer -bailey -bailie -bailor -bairns -baited -baiter -baizas -baizes -bakers -bakery -baking -balata -balboa -balded -balder -baldly -baleen -balers -baling -balked -balker -ballad -balled -baller -ballet -ballon -ballot -ballsy -balsam -balsas -bamboo -bammed -banana -bancos -bandas -banded -bander -bandit -bandog -banged -banger -bangle -banian -baning -banish -banjax -banjos -banked -banker -bankit -banned -banner -bannet -bantam -banter -banyan -banzai -baobab -barbal -barbed -barbel -barber -barbes -barbet -barbie -barbut -barcas -barded -bardes -bardic -barege -barely -barest -barfed -barfly -barged -bargee -barges -barhop -baring -barite -barium -barked -barker -barley -barlow -barman -barmen -barmie -barned -barney -barong -barons -barony -barque -barred -barrel -barren -barres -barret -barrio -barrow -barter -baryes -baryon -baryta -baryte -basalt -basely -basest -bashaw -bashed -basher -bashes -basics -basify -basils -basing -basins -basion -basked -basket -basque -basted -baster -bastes -batboy -bateau -bathed -bather -bathes -bathos -batiks -bating -batman -batmen -batons -batted -batten -batter -battik -battle -battue -baubee -bauble -baulks -baulky -bawbee -bawdry -bawled -bawler -bawtie -bayamo -bayard -baying -bayman -baymen -bayous -bazaar -bazars -bazoos -beachy -beacon -beaded -beader -beadle -beagle -beaked -beaker -beamed -beaned -beanie -beanos -beards -bearer -beaten -beater -beauts -beauty -bebops -becalm -became -becaps -becked -becket -beckon -beclog -become -bedamn -bedaub -bedbug -bedded -bedder -bedeck -bedell -bedels -bedews -bedims -bedlam -bedpan -bedrid -bedrug -bedsit -beduin -bedumb -beebee -beechy -beefed -beeped -beeper -beetle -beeves -beezer -befall -befell -befits -beflag -beflea -befogs -befool -before -befoul -befret -begall -begaze -begets -beggar -begged -begins -begird -begirt -beglad -begone -begrim -begulf -begums -behalf -behave -behead -beheld -behest -behind -behold -behoof -behove -behowl -beiges -beigne -beings -bekiss -beknot -belady -belaud -belays -beldam -beleap -belfry -belgas -belied -belief -belier -belies -belike -belive -belled -belles -bellow -belong -belons -belows -belted -belter -beluga -bemata -bemean -bemire -bemist -bemixt -bemoan -bemock -bemuse -bename -benday -bended -bendee -bender -bendys -benign -bennes -bennet -bennis -bentos -benumb -benzal -benzin -benzol -benzyl -berake -berate -bereft -berets -berime -berlin -bermed -bermes -bertha -berths -beryls -beseem -besets -beside -besmut -besnow -besoms -besots -bested -bestir -bestow -bestud -betake -betels -bethel -betide -betime -betise -betons -betony -betook -betray -bettas -betted -better -bettor -bevels -bevies -bevors -bewail -beware -beweep -bewept -bewigs -beworm -bewrap -bewray -beylic -beylik -beyond -bezant -bezazz -bezels -bezils -bezoar -bhakta -bhakti -bhangs -bharal -bhoots -bialis -bialys -biased -biases -biaxal -bibbed -bibber -bibles -bicarb -biceps -bicker -bicorn -bicron -bidden -bidder -biders -bidets -biding -bields -biface -biffed -biffin -biflex -bifold -biform -bigamy -bigeye -bigger -biggie -biggin -bights -bigots -bigwig -bijous -bijoux -bikers -bikies -biking -bikini -bilboa -bilbos -bilged -bilges -bilked -bilker -billed -biller -billet -billie -billon -billow -bimahs -bimbos -binary -binate -binder -bindis -bindle -biners -binged -binger -binges -bingos -binits -binned -binocs -biogas -biogen -biomes -bionic -bionts -biopic -biopsy -biotas -biotic -biotin -bipack -bipeds -bipods -birded -birder -birdie -bireme -birkie -birled -birler -birles -birred -birses -births -bisect -bishop -bisons -bisque -bister -bistre -bistro -bitchy -biters -biting -bitmap -bitted -bitten -bitter -bizone -bizzes -blabby -blacks -bladed -blader -blades -blaffs -blains -blamed -blamer -blames -blanch -blanks -blared -blares -blasts -blasty -blawed -blazed -blazer -blazes -blazon -bleach -bleaks -blears -bleary -bleats -blebby -bleeds -bleeps -blench -blende -blends -blenny -blight -blimey -blimps -blinds -blinis -blinks -blintz -blites -blithe -bloats -blocks -blocky -blokes -blonde -blonds -bloods -bloody -blooey -blooie -blooms -bloomy -bloops -blotch -blotto -blotty -blouse -blousy -blowby -blowed -blower -blowsy -blowup -blowzy -bludge -bluely -bluest -bluesy -bluets -blueys -bluffs -bluing -bluish -blumed -blumes -blunge -blunts -blurbs -blurry -blurts -blypes -boards -boarts -boasts -boated -boatel -boater -bobbed -bobber -bobbin -bobble -bobcat -bocces -boccia -boccie -boccis -boches -bodega -bodice -bodied -bodies -bodily -boding -bodkin -boffed -boffin -boffos -bogans -bogart -bogeys -bogged -boggle -bogies -bogles -boheas -bohunk -boiled -boiler -boings -boinks -boites -bolder -boldly -bolero -bolete -boleti -bolide -bolled -bollix -bollox -bolshy -bolson -bolted -bolter -bombax -bombed -bomber -bombes -bombyx -bonaci -bonbon -bonded -bonder -bonduc -boners -bonged -bongos -bonier -boning -bonita -bonito -bonked -bonnes -bonnet -bonnie -bonobo -bonsai -bonzer -bonzes -boobed -boobie -booboo -boocoo -boodle -booger -boogey -boogie -boohoo -booing -boojum -booked -booker -bookie -bookoo -boomed -boomer -boosts -booted -bootee -booths -bootie -boozed -boozer -boozes -bopeep -bopped -bopper -borage -borals -borane -borate -bordel -border -boreal -boreas -boreen -borers -boride -boring -borked -borons -borrow -borsch -borsht -borzoi -boshes -bosker -bosket -bosoms -bosomy -bosons -bosque -bossed -bosses -boston -bosuns -botany -botchy -botels -botfly -bother -bottle -bottom -boubou -boucle -boudin -bouffe -boughs -bought -bougie -boules -boulle -bounce -bouncy -bounds -bounty -bourgs -bourne -bourns -bourse -boused -bouses -bouton -bovids -bovine -bowers -bowery -bowfin -bowing -bowled -bowleg -bowler -bowman -bowmen -bowpot -bowsed -bowses -bowwow -bowyer -boxcar -boxers -boxful -boxier -boxily -boxing -boyard -boyars -boyish -boylas -braced -bracer -braces -brachs -bracts -braggy -brahma -braids -brails -brains -brainy -braise -braize -braked -brakes -branch -brands -brandy -branks -branny -brants -brashy -brasil -brassy -bratty -bravas -braved -braver -braves -bravos -brawer -brawls -brawly -brawns -brawny -brayed -brayer -brazas -brazed -brazen -brazer -brazes -brazil -breach -breads -bready -breaks -breams -breath -bredes -breech -breeds -breeks -breeze -breezy -bregma -brents -breves -brevet -brewed -brewer -brewis -briard -briars -briary -bribed -bribee -briber -bribes -bricks -bricky -bridal -brides -bridge -bridle -briefs -briers -briery -bright -brillo -brills -brined -briner -brines -brings -brinks -briony -brises -brisks -briths -britts -broach -broads -broche -brocks -brogan -brogue -broils -broken -broker -brolly -bromal -bromes -bromic -bromid -bromin -bromos -bronco -broncs -bronze -bronzy -brooch -broods -broody -brooks -brooms -broomy -broses -broths -brothy -browed -browns -browny -browse -brucin -brughs -bruins -bruise -bruits -brulot -brumal -brumby -brumes -brunch -brunet -brunts -brushy -brutal -bruted -brutes -bruxed -bruxes -bryony -bubale -bubals -bubbas -bubble -bubbly -bubkes -buboed -buboes -buccal -bucked -bucker -bucket -buckle -buckos -buckra -budded -budder -buddha -buddle -budged -budger -budges -budget -budgie -buffed -buffer -buffet -buffos -bugeye -bugged -bugger -bugled -bugler -bugles -bugout -bugsha -builds -bulbar -bulbed -bulbel -bulbil -bulbul -bulged -bulger -bulges -bulgur -bulked -bullae -bulled -bullet -bumble -bumkin -bummed -bummer -bumped -bumper -bumphs -bunchy -buncos -bundle -bundts -bunged -bungee -bungle -bunion -bunked -bunker -bunkos -bunkum -bunted -bunter -bunyas -buoyed -bupkes -bupkus -buppie -buqsha -burans -burble -burbly -burbot -burden -burdie -bureau -burets -burgee -burger -burghs -burgle -burgoo -burial -buried -burier -buries -burins -burkas -burked -burker -burkes -burlap -burled -burler -burley -burned -burner -burnet -burnie -burped -burqas -burred -burrer -burros -burrow -bursae -bursal -bursar -bursas -burses -bursts -burton -busbar -busboy -bushed -bushel -busher -bushes -bushwa -busied -busier -busies -busily -busing -busked -busker -buskin -busman -busmen -bussed -busses -busted -buster -bustic -bustle -butane -butene -buteos -butled -butler -butles -butted -butter -buttes -button -bututs -butyls -buyers -buying -buyoff -buyout -buzuki -buzzed -buzzer -buzzes -bwanas -byelaw -bygone -bylaws -byline -byname -bypass -bypast -bypath -byplay -byrled -byrnie -byroad -byssal -byssus -bytalk -byways -byword -bywork -byzant -cabala -cabals -cabana -cabbed -cabbie -cabers -cabins -cabled -cabler -cables -cablet -cabman -cabmen -cabobs -cacaos -cached -caches -cachet -cachou -cackle -cactus -caddie -caddis -cadent -cadets -cadged -cadger -cadges -cadmic -cadres -caecal -caecum -caeoma -caesar -caftan -cagers -cagier -cagily -caging -cahier -cahoot -cahows -caiman -caique -cairds -cairns -cairny -cajole -cakier -caking -calami -calash -calcar -calces -calcic -calesa -calico -califs -caliph -calked -calker -calkin -callan -callas -called -callee -caller -callet -callow -callus -calmed -calmer -calmly -calory -calpac -calque -calved -calves -calxes -camail -camber -cambia -camels -cameos -camera -camion -camisa -camise -camlet -cammie -camped -camper -campos -campus -canals -canape -canard -canary -cancan -cancel -cancer -cancha -candid -candle -candor -caners -canful -cangue -canids -canine -caning -canker -cannas -canned -cannel -canner -cannie -cannon -cannot -canoed -canoer -canoes -canola -canons -canopy -cansos -cantal -canted -canter -canthi -cantic -cantle -canton -cantor -cantos -cantus -canula -canvas -canyon -capers -capful -capias -capita -caplet -caplin -capons -capote -capped -capper -capric -capris -capsid -captan -captor -carack -carafe -carate -carats -carbon -carbos -carboy -carcel -carded -carder -cardia -cardio -cardon -careen -career -carers -caress -carets -carful -cargos -carhop -caribe -caried -caries -carina -caring -carked -carles -carlin -carman -carmen -carnal -carnet -carney -carnie -carobs -caroch -caroli -carols -caroms -carpal -carped -carpel -carper -carpet -carpus -carrel -carrom -carrot -carses -carted -cartel -carter -cartes -carton -cartop -carved -carvel -carven -carver -carves -casaba -casava -casbah -casefy -caseic -casein -casern -cashaw -cashed -cashes -cashew -cashoo -casing -casini -casino -casita -casked -casket -casque -caster -castes -castle -castor -casual -catalo -catchy -catena -caters -catgut -cation -catkin -catlin -catnap -catnip -catsup -catted -cattie -cattle -caucus -caudad -caudal -caudex -caudle -caught -caulds -caules -caulis -caulks -causal -caused -causer -causes -causey -caveat -cavern -cavers -caviar -cavies -cavils -caving -cavity -cavort -cawing -cayman -cayuse -ceased -ceases -cebids -ceboid -cecity -cedarn -cedars -cedary -ceders -ceding -cedula -ceibas -ceiled -ceiler -ceilis -celebs -celery -celiac -cellae -cellar -celled -cellos -celoms -cement -cenote -censed -censer -censes -censor -census -centai -cental -centas -center -centos -centra -centre -centum -ceorls -cerate -cercal -cercis -cercus -cereal -cereus -cerias -cering -ceriph -cerise -cerite -cerium -cermet -cerous -certes -ceruse -cervid -cervix -cesium -cessed -cesses -cestas -cestoi -cestos -cestus -cesura -cetane -chabuk -chacma -chadar -chador -chadri -chaeta -chafed -chafer -chafes -chaffs -chaffy -chaine -chains -chairs -chaise -chakra -chalah -chaleh -chalet -chalks -chalky -challa -chally -chalot -chammy -champs -champy -chance -chancy -change -changs -chants -chanty -chapel -chapes -charas -chards -chared -chares -charge -charka -charks -charms -charro -charrs -charry -charts -chased -chaser -chases -chasms -chasmy -chasse -chaste -chatty -chaunt -chawed -chawer -chazan -cheapo -cheaps -cheats -chebec -checks -cheder -cheeks -cheeky -cheeps -cheero -cheers -cheery -cheese -cheesy -chefed -chegoe -chelae -chelas -chemic -chemos -cheque -cherry -cherts -cherty -cherub -chests -chesty -chetah -cheths -chevre -chewed -chewer -chiasm -chiaus -chicas -chicer -chichi -chicks -chicle -chicly -chicos -chided -chider -chides -chiefs -chield -chiels -chigoe -childe -chiles -chilis -chilli -chills -chilly -chimar -chimbs -chimed -chimer -chimes -chimla -chimps -chinas -chinch -chined -chines -chinks -chinky -chinos -chints -chintz -chippy -chiral -chirks -chirms -chiros -chirps -chirpy -chirre -chirrs -chirus -chisel -chital -chitin -chiton -chitty -chives -chivvy -choana -chocks -choice -choirs -choked -choker -chokes -chokey -cholas -choler -cholla -cholos -chomps -chooks -choose -choosy -chopin -choppy -choral -chords -chorea -chored -chores -choric -chorus -chosen -choses -chotts -chough -chouse -choush -chowed -chowse -chrism -chroma -chrome -chromo -chromy -chubby -chucks -chucky -chufas -chuffs -chuffy -chukar -chukka -chummy -chumps -chunks -chunky -chuppa -church -churls -churns -churro -churrs -chuted -chutes -chyles -chymes -chymic -cibols -cicada -cicala -cicale -cicely -cicero -ciders -cigars -cilice -cilium -cinder -cinema -cineol -cinque -cipher -circle -circus -cirque -cirrus -ciscos -cisted -cistus -citers -cither -citied -cities -citify -citing -citola -citole -citral -citric -citrin -citron -citrus -civets -civics -civies -civism -clachs -clacks -clades -claims -clammy -clamor -clamps -clangs -clanks -clanky -claque -claret -claros -clasps -claspt -classy -clasts -clause -claver -claves -clavus -clawed -clawer -claxon -clayed -clayey -cleans -clears -cleats -cleave -cleeks -clefts -clench -cleome -cleped -clepes -clergy -cleric -clerid -clerks -clever -clevis -clewed -cliche -clicks -client -cliffs -cliffy -clifts -climax -climbs -climes -clinal -clinch -clines -clings -clingy -clinic -clinks -clique -cliquy -clitic -clivia -cloaca -cloaks -cloche -clocks -cloddy -cloggy -clomps -clonal -cloned -cloner -clones -clonic -clonks -clonus -cloots -cloque -closed -closer -closes -closet -clothe -cloths -clotty -clouds -cloudy -clough -clours -clouts -cloven -clover -cloves -clowns -cloyed -clozes -clubby -clucks -cluing -clumps -clumpy -clumsy -clunks -clunky -clutch -clypei -cnidae -coacts -coalas -coaled -coaler -coapts -coarse -coasts -coated -coatee -coater -coatis -coaxal -coaxed -coaxer -coaxes -cobalt -cobber -cobble -cobias -cobles -cobnut -cobras -cobweb -cocain -coccal -coccic -coccid -coccus -coccyx -cochin -cocoas -cocoon -codded -codder -coddle -codecs -codeia -codens -coders -codify -coding -codlin -codons -coedit -coelom -coempt -coerce -coeval -coffee -coffer -coffin -coffle -cogent -cogged -cogito -cognac -cogons -cogway -cohead -coheir -cohere -cohogs -cohort -cohosh -cohost -cohune -coifed -coiffe -coigne -coigns -coiled -coiler -coined -coiner -coital -coitus -cojoin -coking -colbys -colder -coldly -colead -coleus -colics -colies -colins -collar -collet -collie -collop -colobi -cologs -colone -coloni -colons -colony -colors -colour -colter -colugo -column -colure -colzas -comade -comake -comate -combat -combed -comber -combes -combos -comedo -comedy -comely -comers -cometh -comets -comfit -comics -coming -comity -commas -commie -commit -commix -common -comose -comous -compas -comped -compel -comply -compos -compts -comtes -concha -concho -conchs -conchy -concur -condor -condos -coneys -confab -confer -confit -congas -congee -conger -conges -congii -congos -congou -conics -conies -conine -coning -conins -conium -conked -conker -conned -conner -conoid -consol -consul -contes -contos -contra -convex -convey -convoy -coocoo -cooeed -cooees -cooers -cooeys -cooing -cooked -cooker -cookey -cookie -cooled -cooler -coolie -coolly -coolth -coombe -coombs -cooped -cooper -coopts -cooter -cootie -copalm -copals -copays -copeck -copens -copers -copied -copier -copies -coping -coplot -copout -copped -copper -coppra -coprah -copras -copses -copter -copula -coquet -corals -corban -corbel -corbie -corded -corder -cordon -corers -corgis -coring -corium -corked -corker -cormel -cornea -corned -cornel -corner -cornet -cornua -cornus -corody -corona -corpse -corpus -corral -corrie -corsac -corses -corset -cortex -cortin -corvee -corves -corvet -corvid -corymb -coryza -cosecs -cosets -coseys -coshed -cosher -coshes -cosied -cosier -cosies -cosign -cosily -cosine -cosmic -cosmid -cosmos -cosset -costae -costal -costar -costed -coster -costly -cotans -coteau -coting -cottae -cottar -cottas -cotter -cotton -cotype -cougar -coughs -coulee -coulis -counts -county -couped -coupes -couple -coupon -course -courts -cousin -couter -couths -covary -covens -covers -covert -covets -coveys -coving -covins -cowage -coward -cowboy -cowers -cowier -cowing -cowled -cowman -cowmen -cowpat -cowpea -cowpie -cowpox -cowrie -coxing -coydog -coyest -coying -coyish -coyote -coypou -coypus -cozens -cozeys -cozied -cozier -cozies -cozily -cozzes -craals -crabby -cracks -cracky -cradle -crafts -crafty -craggy -crakes -crambe -crambo -cramps -crampy -cranch -craned -cranes -crania -cranks -cranky -cranny -crapes -crappy -crases -crasis -cratch -crated -crater -crates -craton -cravat -craved -craven -craver -craves -crawls -crawly -crayon -crazed -crazes -creaks -creaky -creams -creamy -crease -creasy -create -creche -credal -credit -credos -creeds -creeks -creels -creeps -creepy -creese -creesh -cremes -crenel -creole -creped -crepes -crepey -crepon -cresol -cressy -crests -cresyl -cretic -cretin -crewed -crewel -cricks -criers -crikey -crimes -crimps -crimpy -cringe -crinum -cripes -crises -crisic -crisis -crisps -crispy -crissa -crista -critic -croaks -croaky -crocks -crocus -crofts -crojik -crones -crooks -croons -crores -crosse -crotch -croton -crouch -croupe -croups -croupy -crouse -croute -crowds -crowdy -crowed -crower -crowns -crozer -crozes -cruces -crucks -cruddy -cruder -crudes -cruets -cruise -crumbs -crumby -crummy -crumps -crunch -cruors -crural -cruses -cruset -crusts -crusty -crutch -cruxes -crwths -crying -crypto -crypts -cuatro -cubage -cubebs -cubers -cubics -cubing -cubism -cubist -cubiti -cubits -cuboid -cuckoo -cuddie -cuddle -cuddly -cudgel -cueing -cuesta -cuffed -cuisse -culets -cullay -culled -culler -cullet -cullis -culmed -culpae -cultch -cultic -cultus -culver -cumber -cumbia -cumins -cummer -cummin -cumuli -cundum -cuneal -cunner -cupels -cupful -cupids -cupola -cuppas -cupped -cupper -cupric -cuprum -cupula -cupule -curacy -curagh -curara -curare -curari -curate -curbed -curber -curded -curdle -curers -curets -curfew -curiae -curial -curies -curing -curios -curite -curium -curled -curler -curlew -curran -curred -currie -cursed -curser -curses -cursor -curtal -curter -curtly -curtsy -curule -curved -curves -curvet -curvey -cuscus -cusecs -cushat -cushaw -cuspal -cusped -cuspid -cuspis -cussed -cusser -cusses -cussos -custom -custos -cutely -cutest -cutesy -cuteys -cuties -cutins -cutlas -cutler -cutlet -cutoff -cutout -cutter -cuttle -cutups -cuvees -cyanic -cyanid -cyanin -cyborg -cycads -cycled -cycler -cycles -cyclic -cyclin -cyclos -cyders -cyeses -cyesis -cygnet -cymars -cymbal -cymene -cymlin -cymoid -cymols -cymose -cymous -cynics -cypher -cypres -cyprus -cystic -cytons -dabbed -dabber -dabble -dachas -dacite -dacker -dacoit -dacron -dactyl -daddle -dadgum -dadoed -dadoes -daedal -daemon -daffed -dafter -daftly -daggas -dagger -daggle -dagoba -dagoes -dahlia -dahoon -daiker -daikon -daimen -daimio -daimon -daimyo -dainty -daises -dakoit -dalasi -daledh -daleth -dalles -dalton -damage -damans -damars -damask -dammar -dammed -dammer -dammit -damned -damner -damped -dampen -damper -damply -damsel -damson -danced -dancer -dances -dander -dandle -danged -danger -dangle -dangly -danios -danish -danker -dankly -daphne -dapped -dapper -dapple -darbar -darers -darics -daring -darked -darken -darker -darkey -darkie -darkle -darkly -darned -darnel -darner -darted -darter -dartle -dashed -dasher -dashes -dashis -dassie -datary -datcha -daters -dating -dative -dattos -datums -datura -daubed -dauber -daubes -daubry -daunts -dauted -dautie -davens -davies -davits -dawdle -dawing -dawned -dawted -dawtie -daybed -dayfly -daylit -dazing -dazzle -deacon -deaden -deader -deadly -deafen -deafer -deafly -deairs -dealer -deaned -dearer -dearie -dearly -dearth -deasil -deaths -deathy -deaved -deaves -debags -debark -debars -debase -debate -debeak -debits -debone -debris -debtor -debugs -debunk -debuts -debyes -decade -decafs -decals -decamp -decane -decant -decare -decays -deceit -decent -decern -decide -decile -decked -deckel -decker -deckle -declaw -decoct -decode -decors -decoys -decree -decury -dedans -deduce -deduct -deeded -deejay -deemed -deepen -deeper -deeply -deewan -deface -defame -defang -defats -defeat -defect -defend -defers -deffer -defied -defier -defies -defile -define -deflea -defoam -defogs -deform -defrag -defray -defter -deftly -defuel -defund -defuse -defuze -degage -degame -degami -degerm -degree -degums -degust -dehorn -dehort -deiced -deicer -deices -deific -deigns -deisms -deists -deixis -deject -dekare -deking -dekkos -delate -delays -delead -delete -delfts -delict -delime -delish -delist -deltas -deltic -delude -deluge -deluxe -delved -delver -delves -demand -demark -demast -demean -dement -demies -demise -demits -demobs -demode -demoed -demons -demote -demure -demurs -denari -denars -denary -dengue -denial -denied -denier -denies -denims -denned -denote -denser -dental -dented -dentil -dentin -denude -deodar -depart -depend -deperm -depict -deploy -depone -deport -depose -depots -depths -depute -deputy -derail -derate -derats -derays -deride -derive -dermal -dermas -dermic -dermis -derris -desalt -desand -descry -desert -design -desire -desist -desman -desmid -desorb -desoxy -despot -detach -detail -detain -detect -detent -deters -detest -detick -detour -deuced -deuces -devein -devels -devest -device -devils -devise -devoid -devoir -devons -devote -devour -devout -dewans -dewars -dewier -dewily -dewing -dewlap -dewool -deworm -dexies -dexter -dextro -dezinc -dharma -dharna -dhobis -dholes -dhooly -dhoora -dhooti -dhotis -dhurna -dhutis -diacid -diadem -dialed -dialer -dialog -diamin -diaper -diapir -diatom -diazin -dibbed -dibber -dibble -dibbuk -dicast -dicers -dicier -dicing -dicked -dicker -dickey -dickie -dicots -dictum -didact -diddle -diddly -didies -didoes -dieing -dienes -dieoff -diesel -dieses -diesis -dieted -dieter -differ -digamy -digest -digged -digger -dights -digits -diglot -dikdik -dikers -diking -diktat -dilate -dildoe -dildos -dilled -dilute -dimers -dimity -dimmed -dimmer -dimout -dimple -dimply -dimwit -dinars -dindle -dinero -diners -dinged -dinger -dinges -dingey -dinghy -dingle -dingus -dining -dinked -dinkey -dinkly -dinkum -dinned -dinner -dinted -diobol -diodes -dioecy -dioxan -dioxid -dioxin -diplex -diploe -dipnet -dipody -dipole -dipped -dipper -dipsas -dipsos -diquat -dirams -dirdum -direct -direly -direst -dirges -dirham -dirked -dirled -dirndl -disarm -disbar -disbud -disced -discos -discus -diseur -dished -dishes -disked -dismal -dismay -dismes -disown -dispel -dissed -disses -distal -distil -disuse -dither -dittos -ditzes -diuron -divans -divers -divert -divest -divide -divine -diving -divots -diwans -dixits -dizens -djebel -djinni -djinns -djinny -doable -doated -dobber -dobbin -dobies -doblas -doblon -dobras -dobros -dobson -docent -docile -docked -docker -docket -doctor -dodder -dodged -dodgem -dodger -dodges -dodoes -doffed -doffer -dogdom -dogear -dogeys -dogged -dogger -doggie -dogies -dogleg -dogmas -dognap -doiled -doings -doited -doling -dollar -dolled -dollop -dolman -dolmas -dolmen -dolors -dolour -domain -domine -doming -domino -donate -donees -dongas -dongle -donjon -donkey -donnas -donned -donnee -donors -donsie -donuts -donzel -doobie -doodad -doodle -doodoo -doofus -doolee -doolie -doomed -doowop -doozer -doozie -dopant -dopers -dopier -dopily -doping -dorado -dorbug -dories -dormer -dormie -dormin -dorper -dorsad -dorsal -dorsel -dorser -dorsum -dosage -dosers -dosing -dossal -dossed -dossel -dosser -dosses -dossil -dotage -dotard -doters -dotier -doting -dotted -dottel -dotter -dottle -double -doubly -doubts -douche -doughs -dought -doughy -doulas -doumas -dourah -douras -dourer -dourly -doused -douser -douses -dovens -dovish -dowels -dowers -dowery -dowing -downed -downer -dowsed -dowser -dowses -doxies -doyens -doyley -dozens -dozers -dozier -dozily -dozing -drably -drachm -draffs -draffy -drafts -drafty -dragee -draggy -dragon -drails -drains -drakes -dramas -drawee -drawer -drawls -drawly -drayed -dreads -dreams -dreamt -dreamy -drears -dreary -drecks -drecky -dredge -dreggy -dreich -dreidl -dreigh -drench -dressy -driegh -driers -driest -drifts -drifty -drills -drinks -drippy -drivel -driven -driver -drives -drogue -droids -droits -drolls -drolly -dromon -droned -droner -drones -drongo -drools -drooly -droops -droopy -dropsy -drosky -drossy -drouks -drouth -droved -drover -droves -drownd -drowns -drowse -drowsy -drudge -druggy -druids -drumly -drunks -drupes -druses -dryads -dryers -dryest -drying -dryish -drylot -dually -dubbed -dubber -dubbin -ducats -ducked -ducker -duckie -ductal -ducted -duddie -dudeen -duding -dudish -dueled -dueler -duelli -duello -duende -duenna -dueted -duffel -duffer -duffle -dugong -dugout -duiker -duking -dulcet -dulias -dulled -duller -dulses -dumbed -dumber -dumbly -dumbos -dumdum -dumped -dumper -dunams -dunces -dunged -dunite -dunked -dunker -dunlin -dunned -dunner -dunted -duolog -duomos -dupers -dupery -duping -duplex -dupped -durbar -duress -durian -during -durion -durned -durocs -durras -durrie -durums -dusked -dusted -duster -dustup -duties -duvets -dwarfs -dweebs -dweeby -dwells -dwined -dwines -dyable -dyadic -dybbuk -dyeing -dyings -dyking -dynamo -dynast -dynein -dynels -dynode -dyvour -eagers -eagled -eagles -eaglet -eagres -earbud -earful -earing -earlap -earned -earner -earths -earthy -earwax -earwig -easels -easier -easies -easily -easing -easter -eaters -eatery -eating -ebbets -ebbing -ebooks -ecarte -ecesic -ecesis -echard -eching -echini -echoed -echoer -echoes -echoey -echoic -eclair -eclats -ectype -eczema -eddied -eddies -eddoes -edemas -edenic -edgers -edgier -edgily -edging -edible -edicts -ediles -edited -editor -educed -educes -educts -eelier -eerier -eerily -efface -effect -effete -effigy -efflux -effort -effuse -egesta -egests -eggars -eggcup -eggers -egging -eggnog -egises -egoism -egoist -egress -egrets -eiders -eidola -eighth -eights -eighty -eikons -either -ejecta -ejects -ekuele -elains -elands -elapid -elapse -elated -elater -elates -elbows -elders -eldest -elects -elegit -elemis -eleven -elevon -elfins -elfish -elicit -elided -elides -elints -elites -elixir -elmier -elodea -eloign -eloins -eloped -eloper -elopes -eluant -eluate -eluded -eluder -eludes -eluent -eluted -elutes -eluvia -elvers -elvish -elytra -emails -embalm -embank -embark -embars -embays -embeds -embers -emblem -embody -emboli -emboly -embosk -emboss -embows -embrue -embryo -emceed -emcees -emdash -emeers -emends -emerge -emerod -emeses -emesis -emetic -emetin -emeute -emigre -emmers -emmets -emodin -emoted -emoter -emotes -empale -empery -empire -employ -emydes -enable -enacts -enamel -enamor -enates -enatic -encage -encamp -encase -encash -encina -encode -encore -encyst -endash -endear -enders -ending -endite -endive -endows -endrin -endued -endues -endure -enduro -energy -enface -enfold -engage -engild -engine -engird -engirt -englut -engram -engulf -enhalo -enigma -enisle -enjoin -enjoys -enlace -enlist -enmesh -enmity -ennead -ennuis -ennuye -enokis -enolic -enosis -enough -enrage -enrapt -enrich -enrobe -enroll -enrols -enroot -enserf -ensign -ensile -ensoul -ensued -ensues -ensure -entail -entera -enters -entice -entire -entity -entoil -entomb -entrap -entree -enured -enures -envied -envier -envies -enviro -envois -envoys -enwind -enwomb -enwrap -enzyme -enzyms -eocene -eolian -eolith -eonian -eonism -eosine -eosins -epacts -eparch -ephahs -ephebe -ephebi -ephods -ephori -ephors -epical -epigon -epilog -epimer -epizoa -epochs -epodes -eponym -epopee -eposes -equals -equate -equids -equine -equips -equity -erased -eraser -erases -erbium -erects -erenow -ergate -ergots -ericas -eringo -ermine -eroded -erodes -eroses -erotic -errand -errant -errata -erring -errors -ersatz -eructs -erugos -erupts -ervils -eryngo -escape -escarp -escars -eschar -eschew -escort -escots -escrow -escudo -eskars -eskers -espial -espied -espies -esprit -essays -essoin -estate -esteem -esters -estops -estral -estray -estrin -estrum -estrus -etalon -etamin -etapes -etched -etcher -etches -eterne -ethane -ethene -ethers -ethics -ethion -ethnic -ethnos -ethoxy -ethyls -ethyne -etoile -etudes -etwees -etymon -euchre -eulogy -eunuch -eupnea -eureka -euripi -euroky -eutaxy -evaded -evader -evades -evened -evener -evenly -events -everts -evicts -eviler -evilly -evince -evited -evites -evoked -evoker -evokes -evolve -evulse -evzone -exacta -exacts -exalts -examen -exarch -exceed -excels -except -excess -excide -excise -excite -excuse -exedra -exempt -exequy -exerts -exeunt -exhale -exhort -exhume -exiled -exiler -exiles -exilic -exines -exists -exited -exodoi -exodos -exodus -exogen -exonic -exonym -exotic -expand -expats -expect -expels -expend -expert -expire -expiry -export -expose -exsect -exsert -extant -extend -extent -extern -extoll -extols -extort -extras -exuded -exudes -exults -exurbs -exuvia -eyases -eyebar -eyecup -eyeful -eyeing -eyelet -eyelid -eyries -fabber -fabled -fabler -fables -fabric -facade -facers -facete -facets -faceup -facial -facile -facing -factor -facula -fadein -faders -fading -faenas -faerie -failed -faille -fainer -faints -faired -fairer -fairly -faiths -fajita -fakeer -fakers -fakery -faking -fakirs -falces -falcon -fallal -fallen -faller -fallow -falser -falsie -falter -family -famine -faming -famish -famous -famuli -fandom -fanega -fanfic -fangas -fanged -fanion -fanjet -fanned -fanner -fanons -fantod -fantom -fanums -faqirs -faquir -farads -farced -farcer -farces -farcie -farded -fardel -farers -farfal -farfel -farina -faring -farles -farmed -farmer -farrow -farted -fasces -fascia -fashed -fashes -fasted -fasten -faster -father -fathom -fating -fatwas -faucal -fauces -faucet -faulds -faults -faulty -faunae -faunal -faunas -fauves -favela -favism -favors -favour -fawned -fawner -faxing -faying -fazing -fealty -feared -fearer -feased -feases -feasts -feater -featly -feazed -feazes -feckly -fecund -fedora -feeble -feebly -feeder -feeing -feeler -feezed -feezes -feigns -feijoa -feints -feirie -feists -feisty -felids -feline -fellah -fellas -felled -feller -felloe -fellow -felons -felony -felsic -felted -female -femmes -femora -femurs -fenced -fencer -fences -fended -fender -fennec -fennel -feoffs -ferals -ferbam -feriae -ferial -ferias -ferine -ferity -ferlie -fermis -ferrel -ferret -ferric -ferrum -ferula -ferule -fervid -fervor -fescue -fessed -fesses -festal -fester -fetial -fetich -feting -fetish -fetors -fetted -fetter -fettle -feuars -feudal -feuded -feuing -fevers -fewest -feyest -fezzed -fezzes -fiacre -fiance -fiasco -fibbed -fibber -fibers -fibres -fibril -fibrin -fibula -fiches -fichus -ficins -fickle -fickly -ficoes -fiddle -fiddly -fidged -fidges -fidget -fields -fiends -fierce -fiesta -fifers -fifing -fifths -figged -fights -figure -filers -filets -filial -filing -filled -filler -filles -fillet -fillip -fillos -filmed -filmer -filmic -filmis -filose -filter -filths -filthy -fimble -finale -finals -fincas -finder -finely -finery -finest -finger -finial -fining -finish -finite -finito -finked -finned -fiords -fipple -fiques -firers -firing -firkin -firman -firmed -firmer -firmly -firsts -firths -fiscal -fished -fisher -fishes -fisted -fistic -fitchy -fitful -fitted -fitter -fivers -fixate -fixers -fixing -fixity -fixure -fizgig -fizzed -fizzer -fizzes -fizzle -fjelds -fjords -flabby -flacks -flacon -flaggy -flagon -flails -flairs -flaked -flaker -flakes -flakey -flambe -flamed -flamen -flamer -flames -flanes -flange -flanks -flappy -flared -flares -flashy -flasks -flatly -flatus -flaunt -flauta -flavin -flavor -flawed -flaxen -flaxes -flayed -flayer -fleams -fleche -flecks -flecky -fledge -fledgy -fleece -fleech -fleecy -fleers -fleets -flench -flense -fleshy -fletch -fleury -flexed -flexes -flexor -fleyed -flicks -fliers -fliest -flight -flimsy -flinch -flings -flints -flinty -flippy -flirts -flirty -flitch -flited -flites -floats -floaty -flocci -flocks -flocky -flongs -floods -flooey -flooie -floors -floosy -floozy -floppy -florae -floral -floras -floret -florid -florin -flossy -flotas -flours -floury -flouts -flowed -flower -fluent -fluffs -fluffy -fluids -fluish -fluked -flukes -flukey -flumed -flumes -flumps -flunks -flunky -fluors -flurry -fluted -fluter -flutes -flutey -fluxed -fluxes -fluyts -flyboy -flybys -flyers -flying -flyman -flymen -flyoff -flysch -flyted -flytes -flyway -foaled -foamed -foamer -fobbed -fodder -fodgel -foehns -foeman -foemen -foetal -foetid -foetor -foetus -fogbow -fogdog -fogeys -fogged -fogger -fogies -foible -foiled -foined -foison -foists -folate -folded -folder -foldup -foleys -foliar -folios -folium -folkie -folksy -folles -follis -follow -foment -fomite -fonded -fonder -fondle -fondly -fondue -fondus -fontal -foodie -fooled -footed -footer -footie -footle -footsy -foozle -fopped -forage -forams -forays -forbad -forbid -forbye -forced -forcer -forces -forded -fordid -foreby -foredo -forego -forest -forgat -forged -forger -forges -forget -forgot -forint -forked -forker -formal -format -formed -formee -former -formes -formic -formol -formyl -fornix -forrit -fortes -fortis -forums -forwhy -fossae -fossas -fosses -fossil -foster -fought -fouled -fouler -foully -founds -founts -fourth -foveae -foveal -foveas -fowled -fowler -foxier -foxily -foxing -foyers -fozier -fracas -fracti -fraena -frails -fraise -framed -framer -frames -francs -franks -frappe -frater -frauds -frayed -frazil -freaks -freaky -freely -freers -freest -freeze -french -frenum -frenzy -freres -fresco -fretty -friars -friary -fridge -friend -friers -frieze -friges -fright -frigid -frijol -frills -frilly -fringe -fringy -frisee -frises -frisks -frisky -frites -friths -fritts -frivol -frized -frizer -frizes -frizzy -frocks -froggy -frolic -fronds -fronts -frosts -frosty -froths -frothy -frouzy -frowns -frowst -frowsy -frowzy -frozen -frugal -fruits -fruity -frumps -frumpy -frusta -fryers -frying -frypan -fubbed -fucoid -fucose -fucous -fuddle -fudged -fudges -fueled -fueler -fugato -fugged -fugios -fugled -fugles -fugued -fugues -fuhrer -fulcra -fulfil -fulgid -fulham -fullam -fulled -fuller -fulmar -fumble -fumers -fumets -fumier -fuming -fumuli -funded -funder -fundic -fundus -funest -fungal -fungic -fungus -funked -funker -funkia -funned -funnel -funner -furane -furans -furfur -furies -furled -furler -furore -furors -furred -furrow -furzes -fusain -fusees -fusels -fusile -fusils -fusing -fusion -fussed -fusser -fusses -fustic -fusuma -futile -futons -future -futzed -futzes -fuzees -fuzils -fuzing -fuzzed -fuzzes -fylfot -fynbos -fyttes -gabbed -gabber -gabble -gabbro -gabies -gabion -gabled -gables -gaboon -gadded -gadder -gaddis -gadfly -gadget -gadids -gadoid -gaeing -gaffed -gaffer -gaffes -gagaku -gagers -gagged -gagger -gaggle -gaging -gagman -gagmen -gaiety -gaijin -gained -gainer -gainly -gainst -gaited -gaiter -galago -galahs -galaxy -galeae -galeas -galena -galere -galiot -galled -gallet -galley -gallic -gallon -gallop -gallus -galoot -galops -galore -galosh -galyac -galyak -gamays -gambas -gambes -gambia -gambir -gambit -gamble -gambol -gamely -gamers -gamest -gamete -gamier -gamily -gamine -gaming -gamins -gammas -gammed -gammer -gammon -gamuts -gander -ganefs -ganevs -ganged -ganger -gangly -gangue -ganjah -ganjas -gannet -ganofs -ganoid -gantry -gaoled -gaoler -gapers -gaping -gapped -garage -garbed -garble -garcon -gardai -garden -garget -gargle -garish -garlic -garner -garnet -garote -garred -garret -garron -garter -garths -garvey -gasbag -gascon -gashed -gasher -gashes -gasify -gasket -gaskin -gaslit -gasman -gasmen -gasped -gasper -gassed -gasser -gasses -gasted -gaster -gateau -gaters -gather -gating -gators -gauche -gaucho -gauged -gauger -gauges -gaults -gaumed -gauzes -gavage -gavels -gavial -gavots -gawked -gawker -gawped -gawper -gawsie -gayals -gaydar -gayest -gayety -gazabo -gazars -gazebo -gazers -gazing -gazoos -gazump -geared -gecked -geckos -geegaw -geeing -geeked -geests -geezer -geisha -gelada -gelant -gelate -gelati -gelato -gelcap -gelded -gelder -gelees -gelled -gemmae -gemmed -gemote -gemots -gender -genera -genets -geneva -genial -genies -genips -genius -genoas -genome -genoms -genres -genros -gentes -gentil -gentle -gently -gentoo -gentry -geodes -geodic -geoids -gerahs -gerbil -gerent -german -germen -gerund -gestes -gestic -getter -getups -gewgaw -geyser -gharri -gharry -ghauts -ghazis -gherao -ghetto -ghibli -ghosts -ghosty -ghouls -ghylls -giants -giaour -gibbed -gibber -gibbet -gibbon -gibers -gibing -giblet -gibson -giddap -gieing -gifted -giftee -gigged -giggle -giggly -giglet -giglot -gigolo -gigots -gigues -gilded -gilder -gilled -giller -gillie -gimbal -gimels -gimlet -gimmal -gimmes -gimmie -gimped -gingal -ginger -gingko -ginkgo -ginned -ginner -gipons -gipped -gipper -girded -girder -girdle -girlie -girned -girons -girted -girths -gismos -gitano -gitted -gittin -givens -givers -giving -gizmos -glaces -glacis -glades -gladly -glaire -glairs -glairy -glaive -glamor -glance -glands -glared -glares -glassy -glazed -glazer -glazes -gleams -gleamy -gleans -glebae -glebes -gledes -gleeds -gleeks -gleets -gleety -glegly -gleyed -glibly -glided -glider -glides -gliffs -glimed -glimes -glints -glinty -glioma -glitch -glitzy -gloams -gloats -global -globby -globed -globes -globin -gloggs -glomus -glooms -gloomy -gloppy -gloria -glossa -glossy -glosts -glouts -gloved -glover -gloves -glowed -glower -glozed -glozes -glucan -gluers -gluier -gluily -gluing -glumes -glumly -glumpy -glunch -gluons -glutei -gluten -glutes -glycan -glycin -glycol -glycyl -glyphs -gnarls -gnarly -gnarrs -gnatty -gnawed -gnawer -gneiss -gnomes -gnomic -gnomon -gnoses -gnosis -goaded -goaled -goalie -goanna -goatee -gobang -gobans -gobbed -gobbet -gobble -gobies -goblet -goblin -goboes -gobony -goddam -godded -godets -godown -godson -godwit -gofers -goffer -goggle -goggly -goglet -goings -goiter -goitre -golden -golder -golems -golfed -golfer -golosh -gombos -gomers -gomuti -gonefs -goners -gonged -goniff -gonifs -gonion -gonium -gonofs -gonoph -goodby -goodie -goodly -goofed -googly -googol -gooier -gooney -goonie -gooral -goosed -gooses -goosey -gopher -gorals -gorged -gorger -gorges -gorget -gorgon -gorhen -gorier -gorily -goring -gormed -gorses -gospel -gossan -gossip -gotcha -gothic -gotten -gouged -gouger -gouges -gourde -gourds -govern -gowans -gowany -gowned -goyish -graals -grabby -graben -graced -graces -graded -grader -grades -gradin -gradus -grafts -graham -grails -grains -grainy -gramas -gramma -gramme -grampa -gramps -grands -grange -granny -grants -granum -grapes -grapey -graphs -grappa -grasps -grassy -grated -grater -grates -gratin -gratis -graved -gravel -graven -graver -graves -gravid -grayed -grayer -grayly -grazed -grazer -grazes -grease -greasy -greats -greave -grebes -greeds -greedy -greens -greeny -greets -gregos -greige -gremmy -greyed -greyer -greyly -grided -grides -griefs -grieve -griffe -griffs -grifts -grigri -grille -grills -grilse -grimed -grimes -grimly -grinch -grinds -gringa -gringo -griots -griped -griper -gripes -gripey -grippe -grippy -grisly -grison -grists -griths -gritty -grivet -groans -groats -grocer -groggy -groins -grooms -groove -groovy -groped -groper -gropes -grosze -groszy -grotto -grotty -grouch -ground -groups -grouse -grouts -grouty -groved -grovel -groves -grower -growls -growly -growth -groyne -grubby -grudge -gruels -gruffs -gruffy -grugru -grumes -grumps -grumpy -grunge -grungy -grunts -grutch -guacos -guaiac -guanay -guanin -guanos -guards -guavas -guenon -guests -guffaw -guggle -guglet -guided -guider -guides -guidon -guilds -guiled -guiles -guilts -guilty -guimpe -guinea -guiros -guised -guises -guitar -gulags -gulden -gulfed -gulled -gullet -gulley -gulped -gulper -gumbos -gummas -gummed -gummer -gundog -gunite -gunman -gunmen -gunned -gunnel -gunnen -gunner -gunsel -gurged -gurges -gurgle -gurnet -gurney -gushed -gusher -gushes -gusset -gussie -gusted -guttae -gutted -gutter -guttle -guying -guyots -guzzle -gweduc -gybing -gyozas -gypped -gypper -gypsum -gyrase -gyrate -gyrene -gyring -gyrons -gyrose -gyttja -gyving -habile -habits -haboob -haceks -hacked -hackee -hacker -hackie -hackle -hackly -hading -hadith -hadjee -hadjes -hadjis -hadron -haeing -haemal -haemic -haemin -haeres -haffet -haffit -hafted -hafter -hagbut -hagdon -hagged -haggis -haggle -haikus -hailed -hailer -haints -hairdo -haired -hajjes -hajjis -hakeem -hakims -halala -halals -halers -haleru -halest -halide -halids -haling -halite -hallah -hallal -hallel -halloa -halloo -hallos -hallot -hallow -hallux -halmas -haloed -haloes -haloid -halons -halted -halter -halutz -halvah -halvas -halved -halves -hamada -hamals -hamate -hamaul -hamlet -hammal -hammam -hammed -hammer -hamper -hamuli -hamzah -hamzas -hances -handax -handed -hander -handle -hangar -hanged -hanger -hangul -hangup -haniwa -hanked -hanker -hankie -hansas -hansel -hanses -hansom -hanted -hantle -haoles -happed -happen -hapten -haptic -harbor -harden -harder -hardly -hareem -harems -haring -harked -harken -harlot -harmed -harmer -harmin -harped -harper -harpin -harrow -hartal -hashed -hashes -haslet -hasped -hassel -hassle -hasted -hasten -hastes -hatbox -haters -hatful -hating -hatpin -hatred -hatted -hatter -haughs -hauled -hauler -haulms -haulmy -haunch -haunts -hausen -havens -havers -having -havior -havocs -hawala -hawing -hawked -hawker -hawkey -hawkie -hawser -hawses -hayers -haying -haymow -hazans -hazard -hazels -hazers -hazier -hazily -hazing -hazmat -hazzan -headed -header -healed -healer -health -heaped -heaper -hearer -hearse -hearth -hearts -hearty -heated -heater -heaths -heathy -heaume -heaved -heaven -heaver -heaves -heckle -hectic -hector -heddle -heders -hedged -hedger -hedges -heeded -heeder -heehaw -heeled -heeler -heezed -heezes -hefted -hefter -hegari -hegira -heifer -height -heiled -heinie -heired -heishi -heists -hejira -heliac -helios -helium -helled -heller -hellos -helmed -helmet -helots -helped -helper -helved -helves -hemins -hemmed -hemmer -hemoid -hempen -hempie -henbit -henges -henley -hennas -henrys -hented -hepcat -hepper -heptad -herald -herbal -herbed -herded -herder -herdic -hereat -hereby -herein -hereof -hereon -heresy -hereto -heriot -hermae -hermai -hermit -hernia -heroes -heroic -heroin -herons -herpes -hetero -hetman -heuchs -heughs -hewers -hewing -hexade -hexads -hexane -hexers -hexing -hexone -hexose -hexyls -heyday -heydey -hiatal -hiatus -hiccup -hickey -hickie -hidden -hiders -hiding -hieing -hiemal -higgle -higher -highly -highth -hights -hijabs -hijack -hijrah -hijras -hikers -hiking -hilled -hiller -hilloa -hillos -hilted -hinder -hinged -hinger -hinges -hinted -hinter -hipped -hipper -hippie -hippos -hirees -hirers -hiring -hirple -hirsel -hirsle -hispid -hissed -hisser -hisses -histed -hither -hitman -hitmen -hitter -hiving -hoagie -hoards -hoarse -hoaxed -hoaxer -hoaxes -hobbed -hobber -hobbit -hobble -hobnob -hoboed -hoboes -hocked -hocker -hockey -hodads -hodden -hoddin -hoeing -hogans -hogged -hogger -hogget -hognut -hogtie -hoicks -hoiden -hoised -hoises -hoists -hokier -hokily -hoking -hokums -holard -holden -holder -holdup -holier -holies -holily -holing -holism -holist -holked -hollas -holler -holloa -holloo -hollos -hollow -holmic -holpen -homage -hombre -homely -homers -homeys -homier -homies -homily -homing -hominy -hommos -honans -honcho -hondas -hondle -honers -honest -honeys -honied -honing -honked -honker -honkey -honkie -honors -honour -hooded -hoodie -hoodoo -hooeys -hoofed -hoofer -hookah -hookas -hooked -hooker -hookey -hookup -hoolie -hooped -hooper -hoopla -hoopoe -hoopoo -hoorah -hooray -hootch -hooted -hooter -hooved -hoover -hooves -hopers -hoping -hopped -hopper -hopple -horahs -horary -horded -hordes -horned -hornet -horrid -horror -horsed -horses -horsey -horste -horsts -hosels -hosers -hoseys -hosier -hosing -hostas -hosted -hostel -hostly -hotbed -hotbox -hotdog -hotels -hotrod -hotted -hotter -hottie -houdah -hounds -houris -hourly -housed -housel -houser -houses -hovels -hovers -howdah -howdie -howffs -howked -howled -howler -howlet -hoyden -hoyles -hryvna -hubbly -hubbub -hubcap -hubris -huckle -huddle -huffed -hugely -hugest -hugged -hugger -huipil -hulked -hulled -huller -hulloa -hulloo -hullos -humane -humans -humate -humble -humbly -humbug -humeri -hummed -hummer -hummus -humors -humour -humped -humper -humphs -humvee -hunger -hungry -hunker -hunkey -hunkie -hunted -hunter -huppah -hurdle -hurled -hurler -hurley -hurrah -hurray -hursts -hurter -hurtle -hushed -hushes -husked -husker -hussar -hustle -hutted -hutzpa -huzzah -huzzas -hyaena -hyalin -hybrid -hybris -hydrae -hydras -hydria -hydric -hydrid -hydros -hyenas -hyenic -hyetal -hymens -hymnal -hymned -hyoids -hypers -hyphae -hyphal -hyphen -hyping -hypnic -hypoed -hysons -hyssop -iambic -iambus -iatric -ibexes -ibices -ibidem -ibises -icebox -icecap -iceman -icemen -ichors -icicle -iciest -icings -ickers -ickier -ickily -icones -iconic -ideals -ideate -idiocy -idioms -idiots -idlers -idlest -idling -idylls -iffier -igging -igloos -ignify -ignite -ignore -iguana -ihrams -ilexes -iliads -illest -illite -illude -illume -imaged -imager -images -imagos -imaret -imaums -imbalm -imbark -imbeds -imbibe -imbody -imbrue -imbued -imbues -imides -imidic -imines -immane -immesh -immies -immune -immure -impact -impair -impala -impale -impark -impart -impawn -impede -impels -impend -imphee -imping -impish -impled -impone -import -impose -impost -improv -impugn -impure -impute -inaner -inanes -inarch -inarms -inborn -inbred -incage -incant -incase -incent -incept -incest -inched -incher -inches -incise -incite -inclip -incogs -income -incony -incubi -incult -incurs -incuse -indaba -indeed -indene -indent -indict -indies -indign -indigo -indite -indium -indole -indols -indoor -indows -indris -induce -induct -indued -indues -indult -inerts -infall -infamy -infant -infare -infect -infers -infest -infill -infirm -inflow -influx -infold -inform -infuse -ingate -ingest -ingles -ingots -ingulf -inhale -inhaul -inhere -inhume -inions -inject -injure -injury -inkers -inkier -inking -inkjet -inkles -inkpot -inlace -inlaid -inland -inlays -inlets -inlier -inmate -inmesh -inmost -innage -innate -inners -inning -inpour -inputs -inroad -inruns -inrush -insane -inseam -insect -insert -insets -inside -insist -insole -insoul -inspan -instal -instar -instep -instil -insult -insure -intact -intake -intend -intent -intern -inters -intima -intime -intine -intomb -intone -intort -intown -intron -intros -intuit -inturn -inulin -inured -inures -inurns -invade -invars -invent -invert -invest -invite -invoke -inwall -inward -inwind -inwove -inwrap -iodate -iodide -iodids -iodine -iodins -iodise -iodism -iodize -iodous -iolite -ionics -ionise -ionium -ionize -ionone -ipecac -irades -irater -ireful -irenic -irides -iridic -irised -irises -iritic -iritis -irking -irokos -ironed -ironer -irones -ironic -irreal -irrupt -isatin -ischia -island -islets -isling -isobar -isogon -isohel -isolog -isomer -isopod -isseis -issued -issuer -issues -isthmi -istles -italic -itched -itches -itemed -iterum -itself -ixodid -ixoras -ixtles -izzard -jabbed -jabber -jabiru -jabots -jacals -jacana -jackal -jacked -jacker -jacket -jading -jadish -jaeger -jagers -jagged -jagger -jagras -jaguar -jailed -jailer -jailor -jalaps -jalops -jalopy -jambed -jambes -jammed -jammer -jangle -jangly -japans -japers -japery -japing -jarful -jargon -jarina -jarrah -jarred -jarvey -jasmin -jasper -jassid -jauked -jaunce -jaunts -jaunty -jauped -jawans -jawing -jaygee -jayvee -jazzbo -jazzed -jazzer -jazzes -jeaned -jebels -jeeing -jeeped -jeered -jeerer -jehads -jejuna -jejune -jelled -jellos -jennet -jerboa -jereed -jerids -jerked -jerker -jerkin -jerrid -jersey -jessed -jesses -jested -jester -jesuit -jetlag -jetons -jetsam -jetsom -jetted -jetton -jetway -jewels -jewing -jezail -jibbed -jibber -jibers -jibing -jicama -jigged -jigger -jiggle -jiggly -jigsaw -jihads -jilted -jilter -jiminy -jimmie -jimper -jimply -jingal -jingko -jingle -jingly -jinked -jinker -jinnee -jinnis -jinxed -jinxes -jitney -jitter -jivers -jivier -jiving -jnanas -jobbed -jobber -jockey -jockos -jocose -jocund -jogged -jogger -joggle -johnny -joined -joiner -joints -joists -jojoba -jokers -jokier -jokily -joking -jolted -jolter -jorams -jordan -jorums -joseph -joshed -josher -joshes -josses -jostle -jotted -jotter -jouals -jouked -joules -jounce -jouncy -journo -jousts -jovial -jowars -jowing -jowled -joyful -joying -joyous -joypop -jubbah -jubhah -jubile -judder -judged -judger -judges -judoka -jugate -jugful -jugged -juggle -jugula -jugums -juiced -juicer -juices -jujube -juking -juleps -jumbal -jumble -jumbos -jumped -jumper -juncos -jungle -jungly -junior -junked -junker -junket -junkie -juntas -juntos -jupons -jurant -jurats -jurels -juried -juries -jurist -jurors -justed -juster -justle -justly -jutted -kababs -kabaka -kabala -kabars -kabaya -kabiki -kabobs -kabuki -kaffir -kafirs -kaftan -kahuna -kaiaks -kainit -kaiser -kakapo -kalams -kalian -kalifs -kaliph -kalium -kalmia -kalong -kalpac -kalpak -kalpas -kamala -kamiks -kamsin -kanaka -kanban -kanjis -kantar -kanzus -kaolin -kaonic -kapoks -kappas -kaputt -karate -karats -karmas -karmic -karoos -kaross -karroo -karsts -kasbah -kashas -kasher -kation -kauris -kavass -kayaks -kayles -kayoed -kayoes -kazoos -kebabs -kebars -kebbie -keblah -kebobs -kecked -keckle -keddah -kedged -kedges -keeked -keeled -keened -keener -keenly -keeper -keeves -kefirs -kegged -kegger -kegler -keleps -kelims -keloid -kelped -kelpie -kelson -kelter -kelvin -kenafs -kendos -kenned -kennel -kentes -kepped -keppen -kerbed -kerfed -kermes -kermis -kerned -kernel -kernes -kerria -kersey -ketene -ketols -ketone -ketose -kettle -kevels -kevils -kewpie -keying -keypad -keypal -keyset -keyway -khadis -khakis -khalif -khaphs -khazen -khedah -khedas -kheths -khoums -kiangs -kiaugh -kibbeh -kibbes -kibbis -kibble -kibeis -kibitz -kiblah -kiblas -kibosh -kicked -kicker -kickup -kidded -kidder -kiddie -kiddos -kidnap -kidney -kidvid -kilims -killed -killer -killie -kilned -kilted -kilter -kiltie -kimchi -kimono -kinara -kinase -kinder -kindle -kindly -kinema -kinged -kingly -kinins -kinked -kiosks -kipped -kippen -kipper -kirned -kirsch -kirtle -kishka -kishke -kismat -kismet -kissed -kisser -kisses -kitbag -kiters -kithed -kithes -kiting -kitsch -kitted -kittel -kitten -kittle -klatch -klaxon -klepht -klepto -klicks -klongs -kloofs -kludge -kludgy -kluged -kluges -klutzy -knacks -knarry -knaurs -knaves -knawel -knawes -kneads -kneels -knells -knifed -knifer -knifes -knight -knives -knobby -knocks -knolls -knolly -knosps -knotty -knouts -knower -knowns -knubby -knurls -knurly -koalas -kobold -koines -kolhoz -kolkoz -kombus -konked -koodoo -kookie -kopeck -kopeks -kopjes -koppas -koppie -korats -kormas -koruna -koruny -kosher -kotows -koumis -koumys -kouroi -kouros -kousso -kowtow -kraals -krafts -kraits -kraken -krater -krauts -kreeps -krewes -krills -krises -kronen -kroner -kronor -kronur -krooni -kroons -krubis -krubut -kuchen -kudzus -kugels -kukris -kulaki -kulaks -kultur -kumiss -kummel -kurgan -kurtas -kussos -kuvasz -kvases -kvells -kvetch -kwacha -kwanza -kyacks -kybosh -kyries -kythed -kythes -laager -labara -labels -labial -labile -labium -labors -labour -labret -labrum -lacers -laches -lacier -lacily -lacing -lacked -lacker -lackey -lactam -lactic -lacuna -lacune -ladder -laddie -ladens -laders -ladies -lading -ladino -ladled -ladler -ladles -ladron -lagans -lagend -lagers -lagged -lagger -lagoon -laguna -lagune -lahars -laical -laichs -laighs -lairds -laired -lakers -lakier -laking -lallan -lalled -lambda -lambed -lamber -lambie -lamedh -lameds -lamely -lament -lamest -lamiae -lamias -lamina -laming -lammed -lampad -lampas -lamped -lanais -lanate -lanced -lancer -lances -lancet -landau -landed -lander -lanely -langue -langur -lanker -lankly -lanner -lanose -lanugo -laogai -lapdog -lapels -lapful -lapins -lapped -lapper -lappet -lapsed -lapser -lapses -lapsus -laptop -larded -larder -lardon -larees -larger -larges -largos -lariat -larine -larked -larker -larrup -larums -larvae -larval -larvas -larynx -lascar -lasers -lashed -lasher -lashes -lasing -lasses -lassie -lassis -lassos -lasted -laster -lastly -lateen -lately -latens -latent -latest -lathed -lather -lathes -lathis -latigo -latina -latino -latish -latkes -latria -latten -latter -lattes -lattin -lauans -lauded -lauder -laughs -launce -launch -laurae -lauras -laurel -lavabo -lavage -lavash -laveer -lavers -laving -lavish -lawful -lawine -lawing -lawman -lawmen -lawyer -laxest -laxity -layers -laying -layins -layman -laymen -layoff -layout -layups -lazars -lazied -lazier -lazies -lazily -lazing -lazuli -leachy -leaded -leaden -leader -leafed -league -leaked -leaker -leally -lealty -leaned -leaner -leanly -leaped -leaper -learns -learnt -leased -leaser -leases -leasts -leaved -leaven -leaver -leaves -lebens -leched -lecher -leches -lechwe -lectin -lector -ledger -ledges -leered -leeway -lefter -legacy -legals -legate -legato -legend -legers -legged -leggin -legion -legist -legits -legman -legmen -legong -legume -lehuas -lekked -lekvar -lemans -lemmas -lemons -lemony -lemurs -lender -length -lenite -lenity -lensed -lenses -lenten -lentic -lentil -lentos -leones -lepers -leptin -lepton -lesbos -lesion -lessee -lessen -lesser -lesson -lessor -lethal -lethes -letted -letter -letups -leucin -leudes -leukon -levant -leveed -levees -levels -levers -levied -levier -levies -levins -levity -lewder -lewdly -lexeme -lexica -lezzes -lezzie -liable -liaise -lianas -lianes -liangs -liards -libber -libels -libers -libido -liblab -librae -libras -lichee -lichen -liches -lichis -lichts -licked -licker -lictor -lidars -lidded -lieder -liefer -liefly -lieges -lienal -lierne -liever -lifers -lifted -lifter -ligand -ligans -ligase -ligate -ligers -lights -lignan -lignin -ligula -ligule -ligure -likely -likens -likers -likest -liking -likuta -lilacs -lilied -lilies -lilted -limans -limbas -limbed -limber -limbic -limbos -limbus -limens -limeys -limier -limina -liming -limits -limmer -limned -limner -limnic -limpas -limped -limper -limpet -limpid -limply -limpsy -limuli -linacs -linage -linden -lineal -linear -linens -lineny -liners -lineup -lingam -lingas -linger -lingua -linier -lining -linins -linked -linker -linkup -linnet -linsey -linted -lintel -linter -lintol -linums -lipase -lipide -lipids -lipins -lipoid -lipoma -lipped -lippen -lipper -liquid -liquor -liroth -lisles -lisped -lisper -lissom -listed -listee -listel -listen -lister -litany -litchi -liters -lither -lithia -lithic -lithos -litmus -litres -litten -litter -little -lively -livens -livers -livery -livest -livier -living -livres -livyer -lizard -llamas -llanos -loaded -loader -loafed -loafer -loamed -loaned -loaner -loathe -loaves -lobate -lobbed -lobber -lobule -locale -locals -locate -lochan -lochia -locked -locker -locket -lockup -locoed -locoes -locule -loculi -locums -locust -lodens -lodged -lodger -lodges -lofted -lofter -logans -logged -logger -loggia -loggie -logics -logier -logily -logins -logion -logjam -logons -logway -loided -loiter -lolled -loller -lollop -lomein -loment -lonely -loners -longan -longed -longer -longes -longly -looeys -loofah -loofas -looies -looing -looked -looker -lookup -loomed -looney -loonie -looped -looper -loosed -loosen -looser -looses -looted -looter -lopers -loping -lopped -lopper -loquat -lorans -lorded -lordly -loreal -lorica -lories -losels -losers -losing -losses -lotahs -lotion -lotted -lotter -lottes -lottos -louche -louden -louder -loudly -loughs -louies -loumas -lounge -loungy -louped -loupen -loupes -loured -loused -louses -louted -louver -louvre -lovage -lovats -lovely -lovers -loving -lowboy -lowers -lowery -lowest -lowing -lowish -loxing -lubber -lubing -lubric -lucent -lucern -lucite -lucked -luckie -lucres -luetic -luffas -luffed -lugers -lugged -lugger -luggie -luging -lulled -luller -lumbar -lumber -lumens -lumina -lummox -lumped -lumpen -lumper -lunacy -lunars -lunate -lunets -lungan -lunged -lungee -lunger -lunges -lungis -lungyi -lunier -lunies -lunker -lunted -lunula -lunule -lupine -lupins -lupous -lurdan -lurers -luring -lurked -lurker -lushed -lusher -lushes -lushly -lusted -luster -lustra -lustre -luteal -lutein -luteum -luting -lutist -lutzes -luxate -luxury -lyases -lycees -lyceum -lychee -lyches -lycras -lyings -lymphs -lynxes -lyrate -lyrics -lyrism -lyrist -lysate -lysine -lysing -lysins -lyssas -lyttae -lyttas -macaco -macaws -macers -maches -machos -macing -mackle -macled -macles -macons -macron -macros -macula -macule -madame -madams -madcap -madded -madden -madder -madman -madmen -madras -madres -madtom -maduro -maenad -maffia -mafias -maftir -maggot -magian -magics -magilp -maglev -magmas -magnet -magnum -magots -magpie -maguey -mahoes -mahout -mahzor -maiden -maigre -maihem -mailed -mailer -mailes -maills -maimed -maimer -mainly -maists -maizes -majors -makars -makers -makeup -making -makuta -malady -malars -malate -malfed -malgre -malice -malign -maline -malkin -malled -mallee -mallei -mallet -mallow -maloti -malted -maltha -maltol -mambas -mambos -mameys -mamies -mamluk -mammae -mammal -mammas -mammee -mammer -mammet -mammey -mammie -mammon -mamzer -manage -manana -manats -manche -manege -manful -mangas -mangel -manger -manges -mangey -mangle -mangos -maniac -manias -manics -manila -manioc -manito -manitu -mannan -mannas -manned -manner -manors -manque -manses -mantas -mantel -mantes -mantic -mantid -mantis -mantle -mantra -mantua -manual -manure -maples -mapped -mapper -maquis -maraca -maraud -marble -marbly -marcel -margay -marges -margin -marina -marine -marish -markas -marked -marker -market -markka -markup -marled -marlin -marmot -maroon -marque -marram -marred -marrer -marron -marrow -marses -marshy -marted -marten -martin -martyr -marvel -masala -mascon -mascot -masers -mashed -masher -mashes -mashie -masjid -masked -maskeg -masker -masons -masque -massif -masted -master -mastic -mastix -maters -mateys -matier -mating -matins -matres -matrix -matron -matsah -matted -matter -mattes -mattin -mature -matzah -matzas -matzoh -matzos -matzot -mauger -maugre -mauled -mauler -maumet -maunds -maundy -mauves -mavens -mavies -mavins -mawing -maxima -maxims -maxing -maxixe -maybes -mayday -mayest -mayfly -mayhap -mayhem -maying -mayors -maypop -mayvin -mazard -mazers -mazier -mazily -mazing -mazuma -mbiras -meadow -meager -meagre -mealie -meaner -meanie -meanly -measle -measly -meatal -meated -meatus -meccas -medaka -medals -meddle -medfly -mediad -mediae -medial -median -medias -medick -medico -medics -medina -medium -medius -medlar -medley -medusa -meeker -meekly -meeter -meetly -megara -megilp -megohm -megrim -mehndi -meikle -meinie -melded -melder -melees -melena -melled -mellow -melody -meloid -melons -melted -melter -melton -member -memoir -memory -menace -menads -menage -mended -mender -menhir -menial -meninx -mensae -mensal -mensas -mensch -mensed -menses -mental -mentee -mentor -mentum -menudo -meoued -meowed -mercer -merces -merdes -merely -merest -merged -mergee -merger -merges -merino -merits -merles -merlin -merlon -merlot -merman -mermen -mescal -meshed -meshes -mesial -mesian -mesnes -mesons -messan -messed -messes -mestee -metage -metals -metate -meteor -metepa -meters -method -methyl -metier -meting -metols -metope -metred -metres -metric -metros -mettle -metump -mewing -mewled -mewler -mezcal -mezuza -mezzos -miaous -miaows -miasma -miasms -miauls -micell -miched -miches -mickey -mickle -micron -micros -midair -midcap -midday -midden -middle -midges -midget -midgut -midleg -midrib -midsts -midway -miffed -miggle -mights -mighty -mignon -mihrab -mikado -miking -mikron -mikvah -mikveh -mikvos -mikvot -miladi -milady -milage -milded -milden -milder -mildew -mildly -milers -milieu -milium -milked -milker -milled -miller -milles -millet -milneb -milord -milpas -milted -milter -mimbar -mimeos -mimers -mimics -miming -mimosa -minced -mincer -minces -minded -minder -miners -mingle -minify -minima -minims -mining -minion -minish -minium -minkes -minnow -minors -minted -minter -minuet -minute -minxes -minyan -mioses -miosis -miotic -mirage -mirier -miring -mirins -mirker -mirror -mirths -mirzas -misact -misadd -misaim -misate -miscue -miscut -misdid -miseat -misers -misery -misfed -misfit -mishap -miskal -mislay -misled -mislie -mislit -mismet -mispen -missal -missay -missed -missel -misses -misset -missis -missus -misted -mister -misuse -miters -mither -mitier -mitral -mitred -mitres -mitten -mixers -mixing -mixups -mizens -mizuna -mizzen -mizzle -mizzly -moaned -moaner -moated -mobbed -mobber -mobcap -mobile -mobled -mochas -mocked -mocker -mockup -modals -models -modems -modern -modest -modica -modify -modish -module -moduli -modulo -mogged -moggie -moghul -moguls -mohair -mohawk -mohels -mohurs -moiety -moiled -moiler -moirai -moires -mojoes -molars -molded -molder -molies -moline -mollah -mollie -moloch -molted -molten -molter -moment -mommas -momser -momzer -monads -mondes -mondos -moneys -monger -mongoe -mongol -mongos -mongst -monied -monies -monish -monism -monist -monkey -monody -montes -months -mooing -moolah -moolas -mooley -mooned -mooner -moored -mooted -mooter -mopeds -mopers -mopery -mopier -moping -mopish -mopoke -mopped -mopper -moppet -morale -morals -morays -morbid -moreen -morels -morgan -morgen -morgue -morion -morons -morose -morpho -morphs -morris -morros -morrow -morsel -mortal -mortar -morula -mosaic -moseys -moshav -moshed -mosher -moshes -mosque -mossed -mosser -mosses -mostly -motels -motets -mother -motifs -motile -motion -motive -motley -motmot -motors -mottes -mottle -mottos -moujik -moulds -mouldy -moulin -moults -mounds -mounts -mourns -moused -mouser -mouses -mousey -mousse -mouths -mouthy -mouton -movers -movies -moving -mowers -mowing -moxies -muches -muchly -mucins -mucked -mucker -muckle -mucluc -mucoid -mucors -mucosa -mucose -mucous -mudbug -mudcap -mudcat -mudded -mudder -muddle -muddly -mudhen -mudras -muesli -muffed -muffin -muffle -muftis -mugful -muggar -mugged -muggee -mugger -muggur -mughal -mujiks -mukluk -muktuk -mulcts -muleta -muleys -muling -mulish -mullah -mullas -mulled -mullen -muller -mullet -mulley -mumble -mumbly -mummed -mummer -mumped -mumper -mungos -muntin -muonic -murals -murder -murein -murids -murine -muring -murker -murkly -murmur -murphy -murras -murres -murrey -murrha -muscae -muscat -muscid -muscle -muscly -musers -museum -mushed -musher -mushes -musick -musics -musing -musjid -muskeg -musket -muskie -muskit -muskox -muslin -mussed -mussel -musses -musted -mustee -muster -musths -mutant -mutase -mutate -mutely -mutest -mutine -muting -mutiny -mutism -mutons -mutter -mutton -mutual -mutuel -mutule -muumuu -muzhik -muzjik -muzzle -myases -myasis -mycele -myelin -mylars -mynahs -myomas -myopes -myopia -myopic -myoses -myosin -myosis -myotic -myriad -myrica -myrrhs -myrtle -myself -mysids -mysost -mystic -mythic -mythoi -mythos -myxoid -myxoma -nabbed -nabber -nabobs -nachas -naches -nachos -nacred -nacres -nadirs -naevus -naffed -nagana -nagged -nagger -naiads -nailed -nailer -nairas -nairus -naiver -naives -nakfas -naleds -namely -namers -naming -nances -nandin -nanism -nankin -nannie -napalm -napery -napkin -nappas -napped -napper -nappes -nappie -narcos -narial -narine -narked -narrow -narwal -nasals -nasial -nasion -nastic -natant -nation -native -natron -natter -nature -naught -nausea -nautch -navaid -navars -navels -navies -nawabs -naysay -nazify -nearby -neared -nearer -nearly -neaten -neater -neatly -nebula -nebule -nebuly -necked -necker -nectar -needed -needer -needle -negate -neighs -nekton -nellie -nelson -neocon -neoned -nepeta -nephew -nereid -nereis -neroli -nerols -nerved -nerves -nesses -nested -nester -nestle -nestor -nether -netops -netted -netter -nettle -nettly -neumes -neumic -neural -neuron -neuter -nevoid -newbie -newels -newest -newies -newish -newsie -newton -niacin -nibbed -nibble -nicads -nicely -nicest -nicety -niched -niches -nicked -nickel -nicker -nickle -nicols -nidate -nidget -nidify -niding -nieces -nielli -niello -nieves -niffer -nigger -niggle -niggly -nighed -nigher -nights -nighty -nihils -nilgai -nilgau -nilled -nimble -nimbly -nimbus -nimmed -nimrod -ninety -ninjas -ninons -ninths -niobic -nipped -nipper -nipple -niseis -niters -nitery -nitons -nitres -nitric -nitrid -nitril -nitros -nitwit -nixies -nixing -nizams -nobble -nobler -nobles -nobody -nocent -nocked -nodded -nodder -noddle -nodose -nodous -nodule -noesis -noetic -nogged -noggin -noised -noises -nomads -nomina -nomism -nonage -nonart -nonces -noncom -nonego -nonets -nonfan -nonfat -nongay -nonman -nonmen -nonpar -nontax -nonuse -nonwar -nonyls -noodge -noodle -noogie -nookie -noosed -nooser -nooses -nopals -nordic -norias -norite -normal -normed -norths -noshed -nosher -noshes -nosier -nosily -nosing -nostoc -notary -notate -noters -nother -notice -notify -noting -notion -nougat -nought -nounal -nouses -novels -novena -novice -noways -nowise -noyade -nozzle -nuance -nubbin -nubble -nubbly -nubias -nubile -nubuck -nuchae -nuchal -nuclei -nudely -nudest -nudged -nudger -nudges -nudies -nudism -nudist -nudity -nudnik -nugget -nuking -nullah -nulled -numbat -numbed -number -numbly -numina -nuncio -nuncle -nurled -nursed -nurser -nurses -nutant -nutate -nutlet -nutmeg -nutria -nuzzle -nyalas -oafish -oakier -oakums -oaring -oaters -obeahs -obelia -obelus -obento -obeyed -obeyer -obiism -object -objets -oblast -oblate -oblige -oblong -oboist -oboles -obolus -obsess -obtain -obtect -obtest -obtund -obtuse -obvert -occult -occupy -occurs -oceans -ocelli -ocelot -ochers -ochery -ochone -ochrea -ochred -ochres -ocicat -ockers -ocreae -octads -octane -octans -octant -octave -octavo -octets -octopi -octroi -octyls -ocular -oculus -oddest -oddish -oddity -odeons -odeums -odious -odists -odiums -odored -odours -odyles -oedema -oeuvre -offals -offcut -offend -offers -office -offing -offish -offkey -offset -oftest -ogdoad -oghams -ogival -ogives -oglers -ogling -ogress -ogrish -ogrism -ohmage -oidium -oilcan -oilcup -oilers -oilier -oilily -oiling -oilman -oilmen -oilway -oinked -okapis -okayed -oldest -oldies -oldish -oleate -olefin -oleine -oleins -oleums -olingo -olives -omasum -ombers -ombres -omegas -omelet -omened -omenta -onager -onagri -onions -oniony -onlays -online -onload -onrush -onsets -onside -onuses -onward -onyxes -oocyst -oocyte -oodles -oogamy -oogeny -oohing -oolite -oolith -oology -oolong -oomiac -oomiak -oompah -oomphs -oorali -ootids -oozier -oozily -oozing -opaque -opened -opener -openly -operas -operon -ophite -opiate -opined -opines -opioid -opiums -oppose -oppugn -opsins -optics -optima -optime -opting -option -opuses -orache -oracle -orally -orange -orangs -orangy -orated -orates -orator -orbier -orbing -orbits -orcein -orchid -orchil -orchis -orcins -ordain -ordeal -orders -ordure -oreads -oreide -orfray -organs -orgone -oribis -oriels -orient -origan -origin -oriole -orisha -orison -orlons -orlops -ormers -ormolu -ornate -ornery -oroide -orphan -orphic -orpine -orpins -orrery -orrice -oryxes -oscine -oscula -oscule -osetra -osiers -osmics -osmium -osmole -osmols -osmose -osmous -osmund -osprey -ossein -ossify -osteal -ostium -ostler -ostomy -otalgy -others -otiose -otitic -otitis -ottars -ottava -otters -ouched -ouches -oughts -ounces -ouphes -ourang -ourari -ourebi -ousels -ousted -ouster -outact -outadd -outage -outask -outate -outbeg -outbid -outbox -outbuy -outbye -outcry -outdid -outeat -outers -outfit -outfly -outfox -outgas -outgun -outhit -outing -outjut -outlaw -outlay -outled -outlet -outlie -outman -output -outran -outrig -outrow -outrun -outsat -outsaw -outsay -outsee -outset -outsin -outsit -outvie -outwar -outwit -ouzels -ovally -overdo -overed -overly -ovibos -ovines -ovisac -ovoids -ovolos -ovonic -ovular -ovules -owlets -owlish -owners -owning -oxalic -oxalis -oxbows -oxcart -oxeyes -oxford -oxides -oxidic -oximes -oxlike -oxlips -oxtail -oxters -oxygen -oyezes -oyster -ozalid -ozones -ozonic -pablum -pacers -pachas -pacier -pacify -pacing -packed -packer -packet -packly -padauk -padded -padder -paddle -padles -padnag -padouk -padres -paeans -paella -paeons -paesan -pagans -pagers -paging -pagoda -pagods -paiked -painch -pained -paints -painty -paired -paisan -paisas -pajama -pakeha -pakora -palace -palais -palapa -palate -paleae -paleal -palely -palest -palets -palier -paling -palish -palled -pallet -pallia -pallid -pallor -palmar -palmed -palmer -palpal -palped -palpus -palter -paltry -pampas -pamper -panada -panama -pandas -pander -pandit -panels -panfry -panful -pangas -panged -pangen -panics -panier -panini -panino -panned -panner -pannes -panted -pantie -pantos -pantry -panzer -papacy -papain -papaws -papaya -papers -papery -papism -papist -pappus -papula -papule -papyri -parade -paramo -parang -paraph -parcel -pardah -pardee -pardie -pardon -parent -pareos -parers -pareus -pareve -parged -parges -parget -pargos -pariah -parian -paries -paring -parish -parity -parkas -parked -parker -parlay -parled -parles -parley -parlor -parody -parole -parols -parous -parral -parred -parrel -parrot -parsec -parsed -parser -parses -parson -partan -parted -partly -parton -parura -parure -parvis -parvos -pascal -paseos -pashas -pashed -pashes -pastas -pasted -pastel -paster -pastes -pastie -pastil -pastis -pastor -pastry -pataca -patchy -patens -patent -paters -pathos -patina -patine -patins -patios -patois -patrol -patron -patted -pattee -patten -patter -pattie -patzer -paulin -paunch -pauper -pausal -paused -pauser -pauses -pavane -pavans -paveed -pavers -paving -pavins -pavior -pavise -pawers -pawing -pawned -pawnee -pawner -pawnor -pawpaw -paxwax -payday -payees -payers -paying -paynim -payoff -payola -payors -payout -pazazz -peaced -peaces -peachy -peages -peahen -peaked -pealed -peanut -pearls -pearly -peasen -peases -peavey -pebble -pebbly -pecans -pechan -peched -pecked -pecker -pecten -pectic -pectin -pedalo -pedals -pedant -pedate -peddle -pedlar -pedler -pedros -peeing -peeked -peeled -peeler -peened -peered -peerie -pegged -peined -peised -peises -pekans -pekins -pekoes -pelage -pelite -pellet -pelmet -pelota -pelted -pelter -peltry -pelves -pelvic -pelvis -penang -pencel -pencil -pended -pengos -penial -penile -penman -penmen -pennae -penned -penner -pennia -pennis -pennon -pensee -pensil -pentad -pentyl -penult -penury -peones -people -pepino -peplos -peplum -peplus -pepped -pepper -pepsin -peptic -peptid -perdie -perdue -perdus -pereia -pereon -perils -period -perish -periti -perked -permed -permit -pernio -pernod -peroxy -perron -perses -person -perter -pertly -peruke -peruse -pesade -peseta -pesewa -pester -pestle -pestos -petals -petard -peters -petite -petnap -petrel -petrol -petsai -petted -petter -pettle -pewees -pewits -pewter -peyote -peyotl -phages -pharos -phased -phases -phasic -phasis -phatic -phenix -phenol -phenom -phenyl -phials -phizes -phlegm -phloem -phobia -phobic -phoebe -phonal -phoned -phones -phoney -phonic -phonon -phonos -phooey -photic -photog -photon -photos -phrase -phreak -phylae -phylar -phylic -phyllo -phylon -phylum -physed -physes -physic -physis -phytin -phytol -phyton -piaffe -pianic -pianos -piazza -piazze -pibals -picara -picaro -pickax -picked -picker -picket -pickle -pickup -picnic -picots -picric -piculs -piddle -piddly -pidgin -pieced -piecer -pieces -pieing -pierce -pietas -piffle -pigeon -pigged -piggie -piggin -piglet -pignus -pignut -pigout -pigpen -pigsty -pikake -pikers -piking -pilaff -pilafs -pilaus -pilaws -pileum -pileup -pileus -pilfer -piling -pillar -pilled -pillow -pilose -pilots -pilous -pilule -pimped -pimple -pimply -pinang -pinata -pincer -pinder -pineal -pinene -pinery -pineta -pinged -pinger -pingos -pinier -pining -pinion -pinite -pinked -pinken -pinker -pinkey -pinkie -pinkly -pinkos -pinnae -pinnal -pinnas -pinned -pinner -pinole -pinons -pinots -pintas -pintle -pintos -pinups -pinyin -pinyon -piolet -pionic -pipage -pipals -pipers -pipets -pipier -piping -pipits -pipkin -pipped -pippin -piqued -piques -piquet -piracy -pirana -pirate -piraya -pirogi -piscos -pistil -pistol -piston -pistou -pitaya -pitchy -pithed -pitied -pitier -pities -pitman -pitmen -pitons -pitsaw -pittas -pitted -pivots -pixels -pixies -pizazz -pizzas -pizzaz -pizzle -placed -placer -places -placet -placid -placks -plagal -plages -plague -plaguy -plaice -plaids -plains -plaint -plaits -planar -planch -planed -planer -planes -planet -planks -plants -plaque -plashy -plasma -plasms -platan -plated -platen -plater -plates -platys -playas -played -player -plazas -pleach -pleads -please -pleats -plebes -pledge -pleiad -plench -plenty -plenum -pleons -pleura -plexal -plexes -plexor -plexus -pliant -plicae -plical -pliers -plight -plinks -plinth -plisky -plisse -ploidy -plonks -plotty -plough -plover -plowed -plower -ployed -plucks -plucky -plumbs -plumed -plumes -plummy -plumps -plunge -plunks -plunky -plural -pluses -plushy -plutei -pluton -plyers -plying -pneuma -poachy -poboys -pocked -pocket -podded -podite -podium -podsol -podzol -poetic -poetry -pogeys -pogies -pogrom -poilus -poinds -pointe -points -pointy -poised -poiser -poises -poisha -poison -pokers -pokeys -pokier -pokies -pokily -poking -polars -polder -poleax -poleis -polers -poleyn -police -policy -polies -poling -polios -polish -polite -polity -polkas -polled -pollee -pollen -poller -pollex -polyol -polypi -polyps -pomace -pomade -pomelo -pommee -pommel -pommie -pompom -pompon -ponced -ponces -poncho -ponded -ponder -ponent -ponged -pongee -pongid -ponied -ponies -pontes -pontil -ponton -poodle -poohed -pooing -pooled -pooler -pooped -poorer -pooris -poorly -pooves -popery -popgun -popish -poplar -poplin -poppas -popped -popper -poppet -popple -popsie -poring -porism -porked -porker -pornos -porose -porous -portal -ported -porter -portly -posada -posers -poseur -posher -poshly -posies -posing -posits -posole -posses -posset -possum -postal -posted -poster -postie -postin -postop -potage -potash -potato -potboy -poteen -potent -potful -pother -pothos -potion -potman -potmen -potpie -potsie -potted -potter -pottle -pottos -potzer -pouchy -poufed -pouffe -pouffs -pouffy -poults -pounce -pounds -poured -pourer -pouted -pouter -powder -powers -powter -powwow -poxier -poxing -poyous -pozole -praams -prahus -praise -prajna -prance -prangs -pranks -prases -prated -prater -prates -prawns -praxes -praxis -prayed -prayer -preach -preact -preamp -prearm -prebid -prebuy -precis -precut -predry -preens -prefab -prefer -prefix -prelaw -prelim -preman -premed -premen -premie -premix -preops -prepay -preppy -preset -presto -prests -pretax -pretor -pretty -prevue -prewar -prexes -preyed -preyer -prezes -priapi -priced -pricer -prices -pricey -prided -prides -priers -priest -prills -primal -primas -primed -primer -primes -primly -primos -primps -primus -prince -prinks -prints -prions -priors -priory -prised -prises -prisms -prison -prissy -privet -prized -prizer -prizes -probed -prober -probes -probit -proems -profit -progun -projet -prolan -proleg -proles -prolix -prolog -promos -prompt -prongs -pronto -proofs -propel -proper -propyl -prosed -proser -proses -prosit -prosos -protea -protei -proton -protyl -proved -proven -prover -proves -prowar -prower -prowls -prudes -pruned -pruner -prunes -prunus -prutah -prutot -pryers -prying -psalms -pseudo -pseuds -pshaws -psocid -psyche -psycho -psychs -psylla -psyops -psywar -pterin -ptisan -ptooey -ptoses -ptosis -ptotic -public -pucker -puddle -puddly -pueblo -puffed -puffer -puffin -pugged -puggry -pugree -puisne -pujahs -puking -pulers -puling -pulled -puller -pullet -pulley -pullup -pulpal -pulped -pulper -pulpit -pulque -pulsar -pulsed -pulser -pulses -pumelo -pumice -pummel -pumped -pumper -punchy -pundit -pungle -punier -punily -punish -punjis -punkah -punkas -punker -punkey -punkie -punkin -punned -punner -punnet -punted -punter -puntos -pupate -pupils -pupped -puppet -purana -purdah -purdas -pureed -purees -purely -purest -purfle -purged -purger -purges -purify -purine -purins -purism -purist -purity -purled -purlin -purple -purply -purred -pursed -purser -purses -pursue -purvey -pushed -pusher -pushes -pushup -pusley -pusses -pussly -putlog -putoff -putons -putout -putrid -putsch -putted -puttee -putter -puttie -putzed -putzes -puzzle -pyemia -pyemic -pyjama -pyknic -pylons -pylori -pyoses -pyosis -pyrans -pyrene -pyrite -pyrola -pyrone -pyrope -pyrrol -python -pyuria -pyxies -qabala -qanats -qindar -qintar -qiviut -quacks -quacky -quaere -quaffs -quagga -quaggy -quahog -quaich -quaigh -quails -quaint -quaked -quaker -quakes -qualia -qualms -qualmy -quango -quanta -quants -quarks -quarry -quarte -quarto -quarts -quartz -quasar -quatre -quaver -qubits -qubyte -queans -queasy -queazy -queens -queers -quelea -quells -quench -querns -quests -queued -queuer -queues -quezal -quiche -quicks -quiets -quiffs -quills -quilts -quince -quinic -quinin -quinoa -quinol -quinsy -quinta -quinte -quints -quippu -quippy -quipus -quired -quires -quirks -quirky -quirts -quitch -quiver -quohog -quoins -quoits -quokka -quolls -quorum -quotas -quoted -quoter -quotes -quotha -qurush -qwerty -rabato -rabats -rabbet -rabbin -rabbis -rabbit -rabble -rabies -raceme -racers -rachet -rachis -racier -racily -racing -racked -racker -racket -rackle -racons -racoon -radars -radded -raddle -radial -radian -radios -radish -radium -radius -radome -radons -radula -raffia -raffle -rafted -rafter -ragbag -ragees -ragged -raggee -raggle -raging -raglan -ragman -ragmen -ragout -ragtag -ragtop -raided -raider -railed -railer -rained -raised -raiser -raises -raisin -raitas -rajahs -rakees -rakers -raking -rakish -rallye -ralphs -ramada -ramate -rambla -ramble -ramees -ramets -ramies -ramify -ramjet -rammed -rammer -ramona -ramose -ramous -ramped -ramrod -ramson -ramtil -rances -rancho -rancid -rancor -randan -random -ranees -ranged -ranger -ranges -ranids -ranked -ranker -rankle -rankly -ransom -ranted -ranter -ranula -rarefy -rarely -rarest -rarify -raring -rarity -rascal -rasers -rasher -rashes -rashly -rasing -rasped -rasper -rassle -raster -rasure -ratals -ratans -ratany -ratbag -ratels -raters -rather -ratify -ratine -rating -ration -ratios -ratite -ratlin -ratoon -rattan -ratted -ratten -ratter -rattle -rattly -ratton -raunch -ravage -ravels -ravens -ravers -ravine -raving -ravins -ravish -rawest -rawins -rawish -raxing -rayahs -raying -rayons -razeed -razees -razers -razing -razors -razzed -razzes -reacts -readds -reader -reagin -realer -reales -realia -really -realms -realty -reamed -reamer -reaped -reaper -reared -rearer -rearms -reason -reatas -reaved -reaver -reaves -reavow -rebait -rebars -rebate -rebato -rebbes -rebeck -rebecs -rebels -rebids -rebill -rebind -rebody -reboil -rebook -reboot -rebops -rebore -reborn -rebozo -rebred -rebuff -rebuke -rebury -rebuts -rebuys -recall -recane -recant -recaps -recast -recces -recede -recent -recept -recess -rechew -recipe -recite -recits -recked -reckon -reclad -recoal -recoat -recock -recode -recoil -recoin -recomb -recons -recook -recopy -record -recork -recoup -rectal -rector -rectos -rectum -rectus -recurs -recuse -recuts -redact -redans -redate -redbay -redbud -redbug -redcap -redded -redden -redder -reddle -redear -redeem -redefy -redeny -redeye -redfin -rediae -redial -redias -reding -redips -redipt -redleg -redock -redoes -redone -redons -redout -redowa -redraw -redrew -redtop -redubs -reduce -redyed -redyes -reearn -reecho -reechy -reeded -reedit -reefed -reefer -reeked -reeker -reeled -reeler -reemit -reests -reeved -reeves -reface -refall -refect -refeed -refeel -refell -refels -refelt -refers -reffed -refile -refill -refilm -refind -refine -refire -refits -reflag -reflet -reflew -reflex -reflow -reflux -refold -reform -refuel -refuge -refund -refuse -refute -regain -regale -regard -regave -regear -regent -reggae -regild -regilt -regime -regina -region -regius -regive -reglet -reglow -reglue -regnal -regnum -regret -regrew -regrow -reguli -rehabs -rehang -rehash -rehear -reheat -reheel -rehems -rehire -rehung -reigns -reined -reinks -reived -reiver -reives -reject -rejigs -rejoin -rekeys -reknit -reknot -relace -relaid -reland -relate -relays -relend -relent -relets -releve -relics -relict -relied -relief -relier -relies -reline -relink -relish -relist -relive -reload -reloan -relock -relook -reluct -relume -remade -remail -remain -remake -remand -remans -remaps -remark -remate -remedy -remeet -remelt -remend -remind -remint -remise -remiss -remits -remixt -remold -remora -remote -remove -remuda -renail -rename -rended -render -renege -renest -renews -renigs -renins -rennet -rennin -renown -rental -rented -renter -rentes -renvoi -reoils -reopen -repack -repaid -repair -repand -repark -repass -repast -repave -repays -repeal -repeat -repegs -repels -repent -reperk -repine -repins -replan -replay -repled -replot -replow -repoll -report -repose -repots -repour -repped -repros -repugn -repump -repute -requin -rerack -reread -rerent -rerigs -rerise -reroll -reroof -rerose -reruns -resaid -resail -resale -resawn -resaws -resays -rescue -reseal -reseat -reseau -resect -reseda -reseed -reseek -reseen -resees -resell -resend -resent -resets -resewn -resews -reshes -reship -reshod -reshoe -reshot -reshow -reside -resids -resift -resign -resile -resins -resiny -resist -resite -resits -resize -resoak -resods -resold -resole -resorb -resort -resown -resows -respot -rested -rester -result -resume -retack -retags -retail -retain -retake -retape -reteam -retear -retell -retems -retene -retest -retial -retied -reties -retile -retime -retina -retine -retint -retire -retold -retook -retool -retore -retorn -retort -retral -retrim -retros -retted -retune -return -retuse -retype -reused -reuses -revamp -reveal -revels -reverb -revere -revers -revert -revery -revest -revets -review -revile -revise -revive -revoke -revolt -revote -revues -revved -rewake -reward -rewarm -rewash -rewear -reweds -reweld -rewets -rewind -rewins -rewire -rewoke -reword -rewore -rework -reworn -rewove -rewrap -rexine -rezero -rezone -rhaphe -rhebok -rhemes -rhesus -rhetor -rheums -rheumy -rhinal -rhinos -rhodic -rhombi -rhombs -rhotic -rhumba -rhumbs -rhuses -rhymed -rhymer -rhymes -rhythm -rhyton -rialto -riatas -ribald -riband -ribbed -ribber -ribbon -ribier -riblet -ribose -ricers -richen -richer -riches -richly -ricing -ricins -ricked -rickey -ricrac -rictal -rictus -ridded -ridden -ridder -riddle -rident -riders -ridged -ridgel -ridges -ridgil -riding -ridley -riever -rifely -rifest -riffed -riffle -rifled -rifler -rifles -riflip -rifted -rigged -rigger -righto -rights -righty -rigors -rigour -riling -rilled -rilles -rillet -rimers -rimier -riming -rimmed -rimmer -rimose -rimous -rimple -rinded -ringed -ringer -rinsed -rinser -rinses -riojas -rioted -rioter -ripely -ripens -ripest -riping -ripoff -ripost -ripped -ripper -ripple -ripply -riprap -ripsaw -risers -rishis -rising -risked -risker -risque -ristra -ritard -ritter -ritual -ritzes -rivage -rivals -rivers -rivets -riving -riyals -roadeo -roadie -roamed -roamer -roared -roarer -roasts -robalo -roband -robbed -robber -robbin -robing -robins -robles -robots -robust -rochet -rocked -rocker -rocket -rococo -rodded -rodent -rodeos -rodman -rodmen -rogers -rogued -rogues -roiled -rolfed -rolfer -rolled -roller -romaji -romano -romans -romeos -romped -romper -rondel -rondos -ronion -ronnel -ronyon -roofed -roofer -roofie -rooked -rookie -roomed -roomer -roomie -roosed -rooser -rooses -roosts -rooted -rooter -rootle -ropers -ropery -ropier -ropily -roping -roques -roquet -rosary -roscoe -rosery -rosets -roshis -rosier -rosily -rosing -rosins -rosiny -roster -rostra -rotary -rotate -rotche -rotgut -rotors -rotted -rotten -rotter -rottes -rotund -rouble -rouche -rouens -rouged -rouges -roughs -roughy -rounds -rouped -roupet -roused -rouser -rouses -rousts -routed -router -routes -rouths -rovers -roving -rowans -rowels -rowens -rowers -rowing -rowths -royals -rozzer -ruanas -rubace -rubati -rubato -rubbed -rubber -rubble -rubbly -rubels -rubied -rubier -rubies -rubigo -rubles -ruboff -rubout -rubric -ruched -ruches -rucked -ruckle -ruckus -rudder -ruddle -rudely -rudery -rudest -rueful -ruffed -ruffes -ruffle -ruffly -rufous -rugate -rugged -rugger -rugola -rugosa -rugose -rugous -ruined -ruiner -rulers -rulier -ruling -rumaki -rumbas -rumble -rumbly -rumens -rumina -rummer -rumors -rumour -rumple -rumply -rumpus -rundle -runkle -runlet -runnel -runner -runoff -runout -runway -rupees -rupiah -rurban -rushed -rushee -rusher -rushes -rusine -russet -rusted -rustic -rustle -rutile -rutins -rutted -ryking -ryokan -sabals -sabbat -sabbed -sabers -sabine -sabins -sabirs -sables -sabots -sabras -sabred -sabres -sacbut -sachem -sachet -sacked -sacker -sacque -sacral -sacred -sacrum -sadden -sadder -saddhu -saddle -sadhes -sadhus -sadism -sadist -safari -safely -safest -safety -safrol -sagbut -sagely -sagest -saggar -sagged -sagger -sagier -sahibs -saices -saigas -sailed -sailer -sailor -saimin -sained -saints -saithe -saiyid -sajous -sakers -salaam -salads -salals -salami -salary -saleps -salify -salina -saline -saliva -sallet -sallow -salmis -salmon -salols -salons -saloon -saloop -salpae -salpas -salpid -salsas -salted -salter -saltie -saluki -salute -salved -salver -salves -salvia -salvor -salvos -samara -sambal -sambar -sambas -sambos -sambur -samech -samekh -sameks -samiel -samite -samlet -samosa -sampan -sample -samshu -sancta -sandal -sanded -sander -sandhi -sanely -sanest -sangar -sangas -sanger -sanghs -sanies -saning -sanity -sanjak -sannop -sannup -sansar -sansei -santir -santol -santos -santur -sapors -sapota -sapote -sapour -sapped -sapper -sarans -sarape -sardar -sarees -sarges -sargos -sarins -sarode -sarods -sarong -sarsar -sarsen -sartor -sashay -sashed -sashes -sasins -sassed -sasses -satang -satara -satays -sateen -sating -satins -satiny -satire -satori -satrap -satyrs -sauced -saucer -sauces -sauchs -sauger -saughs -saughy -saults -saunas -saurel -sauted -sautes -savage -savant -savate -savers -savine -saving -savins -savior -savors -savory -savour -savoys -sawers -sawfly -sawing -sawlog -sawney -sawyer -saxony -sayeds -sayers -sayest -sayids -saying -sayyid -scabby -scalar -scalds -scaled -scaler -scales -scalls -scalps -scampi -scamps -scants -scanty -scaped -scapes -scarab -scarce -scared -scarer -scares -scarey -scarfs -scarph -scarps -scarry -scarts -scathe -scatts -scatty -scaups -scaurs -scenas -scends -scenes -scenic -scents -schavs -schema -scheme -schism -schist -schizo -schizy -schlep -schlub -schmoe -schmos -schnoz -school -schorl -schrik -schrod -schtik -schuit -schuln -schuls -schuss -schwas -scilla -scions -sclaff -sclera -scoffs -scolds -scolex -sconce -scones -scooch -scoops -scoots -scoped -scopes -scorch -scored -scorer -scores -scoria -scorns -scotch -scoter -scotia -scours -scouse -scouth -scouts -scowed -scowls -scrags -scrams -scrape -scraps -scrawl -screak -scream -screed -screen -screes -screws -screwy -scribe -scried -scries -scrimp -scrims -scrips -script -scrive -scrods -scroll -scroop -scrota -scrubs -scruff -scrums -scubas -scuffs -sculch -sculks -sculls -sculps -sculpt -scummy -scurfs -scurfy -scurry -scurvy -scutch -scutes -scutum -scuzzy -scyphi -scythe -seabag -seabed -seadog -sealed -sealer -seaman -seamed -seamen -seamer -seance -search -seared -searer -season -seated -seater -seawan -seaway -sebums -secant -seccos -secede -secern -second -secpar -secret -sector -secund -secure -sedans -sedate -seders -sedges -sedile -seduce -sedums -seeded -seeder -seeing -seeker -seeled -seemed -seemer -seemly -seeped -seesaw -seethe -seggar -segnos -segued -segues -seiche -seidel -seined -seiner -seines -seised -seiser -seises -seisin -seisms -seisor -seitan -seized -seizer -seizes -seizin -seizor -sejant -selahs -seldom -select -selfed -selkie -seller -selles -selsyn -selvas -selves -sememe -semple -sempre -senary -senate -sendal -sended -sender -sendup -seneca -senega -senhor -senile -senior -seniti -sennas -sennet -sennit -senora -senors -senryu -sensed -sensei -senses -sensor -sensum -sentry -sepals -sepias -sepoys -sepses -sepsis -septal -septet -septic -septum -sequel -sequin -seracs -serail -serais -serape -seraph -serdab -serein -serene -serest -serged -serger -serges -serial -series -serifs -serine -sering -serins -sermon -serosa -serous -serows -serums -serval -served -server -serves -servos -sesame -sestet -setoff -setons -setose -setous -setout -settee -setter -settle -setups -sevens -severe -severs -sewage -sewans -sewars -sewers -sewing -shabby -shacko -shacks -shaded -shader -shades -shadow -shaduf -shafts -shaggy -shaird -shairn -shaken -shaker -shakes -shakos -shaled -shales -shaley -shalom -shaman -shamas -shamed -shames -shammy -shamos -shamoy -shamus -shandy -shanks -shanny -shanti -shanty -shaped -shapen -shaper -shapes -shards -shared -sharer -shares -sharia -sharif -sharks -sharns -sharny -sharps -sharpy -shaugh -shauls -shaved -shaven -shaver -shaves -shavie -shawed -shawls -shawms -shazam -sheafs -sheals -shears -sheath -sheave -sheens -sheeny -sheers -sheesh -sheets -sheeve -sheikh -sheiks -sheila -shekel -shells -shelly -shelta -shelty -shelve -shelvy -shends -sheols -sheqel -sherds -sherif -sherpa -sherry -sheuch -sheugh -shewed -shewer -shibah -shield -shiels -shiers -shiest -shifts -shifty -shikar -shiksa -shikse -shills -shimmy -shindy -shined -shiner -shines -shinny -shires -shirks -shirrs -shirts -shirty -shists -shivah -shivas -shiver -shives -shlepp -shleps -shlock -shlubs -shlump -shmear -shmoes -shmuck -shnaps -shnook -shoals -shoaly -shoats -shocks -shoddy -shoers -shofar -shogis -shogun -shojis -sholom -shooed -shooks -shools -shoots -shoppe -shoran -shored -shores -shorls -shorts -shorty -shotes -shotts -should -shouts -shoved -shovel -shover -shoves -showed -shower -shoyus -shrank -shreds -shrewd -shrews -shriek -shrift -shrike -shrill -shrimp -shrine -shrink -shrive -shroff -shroud -shrove -shrubs -shrugs -shrunk -shtetl -shtick -shtiks -shucks -shunts -shuted -shutes -shyers -shyest -shying -sialic -sialid -sibyls -siccan -sicced -sicked -sickee -sicken -sicker -sickie -sickle -sickly -sickos -siddur -siding -sidled -sidler -sidles -sieged -sieges -sienna -sierra -siesta -sieurs -sieved -sieves -sifaka -sifted -sifter -sighed -sigher -sights -sigils -sigloi -siglos -siglum -sigmas -signal -signed -signee -signer -signet -signor -silage -silane -sileni -silent -silica -silked -silken -silkie -siller -siloed -silted -silvae -silvan -silvas -silver -silvex -simars -simian -simile -simlin -simmer -simnel -simony -simoom -simoon -simper -simple -simply -sinews -sinewy -sinful -singed -singer -singes -single -singly -sinker -sinned -sinner -sinter -siphon -siping -sipped -sipper -sippet -sirdar -sirees -sirens -siring -sirrah -sirras -sirree -sirups -sirupy -sisals -siskin -sisses -sister -sistra -sitars -sitcom -siting -sitten -sitter -situps -sivers -sixmos -sixtes -sixths -sizars -sizers -sizier -sizing -sizzle -skalds -skated -skater -skates -skatol -skeane -skeans -skeens -skeets -skeigh -skeins -skells -skelms -skelps -skenes -skerry -sketch -skewed -skewer -skibob -skiddy -skidoo -skiers -skiffs -skiing -skills -skimos -skimps -skimpy -skinks -skinny -skirls -skirrs -skirts -skited -skites -skived -skiver -skives -skivvy -sklent -skoals -skorts -skulks -skulls -skunks -skunky -skybox -skycap -skying -skylit -skyman -skymen -skyway -slacks -slaggy -slaked -slaker -slakes -slalom -slangs -slangy -slants -slanty -slatch -slated -slater -slates -slatey -slaved -slaver -slaves -slavey -slayed -slayer -sleave -sleaze -sleazo -sleazy -sledge -sleeks -sleeky -sleeps -sleepy -sleets -sleety -sleeve -sleigh -sleuth -slewed -sliced -slicer -slices -slicks -slider -slides -sliest -slieve -slight -slimed -slimes -slimly -slimsy -slings -slinks -slinky -sliped -slipes -slippy -slipup -slitty -sliver -slobby -slogan -sloids -slojds -sloops -sloped -sloper -slopes -sloppy -sloshy -sloths -slouch -slough -sloven -slowed -slower -slowly -sloyds -sludge -sludgy -sluffs -sluice -sluicy -sluing -slummy -slumps -slurbs -slurps -slurry -slushy -slyest -slypes -smacks -smalls -smalti -smalto -smalts -smarms -smarmy -smarts -smarty -smazes -smears -smeary -smeeks -smegma -smells -smelly -smelts -smerks -smidge -smilax -smiled -smiler -smiles -smiley -smirch -smirks -smirky -smiter -smites -smiths -smithy -smocks -smoggy -smoked -smoker -smokes -smokey -smolts -smooch -smoosh -smooth -smudge -smudgy -smugly -smutch -smutty -snacks -snafus -snaggy -snails -snaked -snakes -snakey -snappy -snared -snarer -snares -snarfs -snarks -snarky -snarls -snarly -snatch -snathe -snaths -snawed -snazzy -sneaks -sneaky -sneaps -snecks -sneers -sneery -sneesh -sneeze -sneezy -snells -snicks -snider -sniffs -sniffy -sniped -sniper -snipes -snippy -snitch -snivel -snobby -snoods -snooks -snools -snoops -snoopy -snoots -snooty -snooze -snoozy -snored -snorer -snores -snorts -snotty -snouts -snouty -snowed -snubby -snuffs -snuffy -snugly -soaked -soaker -soaped -soaper -soared -soarer -soaves -sobbed -sobber -sobeit -sobers -sobful -socage -soccer -social -socked -socket -socles -socman -socmen -sodded -sodden -sodium -soever -sofars -soffit -softas -soften -softer -softie -softly -sogged -soigne -soiled -soiree -sokols -solace -soland -solano -solans -solate -soldan -solder -solely -solemn -soleus -solgel -solidi -solids -soling -solion -soloed -solons -solums -solute -solved -solver -solves -somans -somata -somber -sombre -somite -somoni -sonant -sonars -sonata -sonder -sondes -sonics -sonnet -sonsie -sooner -sooted -soothe -sooths -sopite -sopors -sopped -sorbed -sorbet -sorbic -sordid -sordor -sorels -sorely -sorest -sorgho -sorgos -soring -sorned -sorner -sorrel -sorrow -sorted -sorter -sortie -sotols -sotted -souari -soucar -soudan -soughs -sought -souled -sounds -souped -source -soured -sourer -sourly -soused -souses -souter -souths -soviet -sovran -sowans -sowars -sowcar -sowens -sowers -sowing -sozine -sozins -spaced -spacer -spaces -spacey -spaded -spader -spades -spadix -spahee -spahis -spails -spaits -spales -spalls -spanks -spared -sparer -spares -sparge -sparid -sparks -sparky -sparry -sparse -spasms -spates -spathe -spavie -spavin -spawns -spayed -speaks -speans -spears -specie -specks -speech -speedo -speeds -speedy -speels -speers -speils -speirs -speise -speiss -spells -spelts -speltz -spence -spends -spendy -spense -spewed -spewer -sphene -sphere -sphery -sphinx -sphynx -spicae -spicas -spiced -spicer -spices -spicey -spicks -spider -spiels -spiers -spiffs -spiffy -spigot -spiked -spiker -spikes -spikey -spiled -spiles -spills -spilth -spinal -spined -spinel -spines -spinet -spinny -spinor -spinto -spiral -spirea -spired -spirem -spires -spirit -spirts -spital -spited -spites -spivvy -splake -splash -splats -splays -spleen -splent -splice -spliff -spline -splint -splits -splore -splosh -spodes -spoils -spoilt -spoked -spoken -spokes -sponge -spongy -spoofs -spoofy -spooks -spooky -spools -spoons -spoony -spoors -sporal -spored -spores -sports -sporty -spotty -spouse -spouts -sprags -sprain -sprang -sprats -sprawl -sprays -spread -sprees -sprent -sprier -sprigs -spring -sprint -sprite -sprits -spritz -sprout -spruce -sprucy -sprues -sprugs -sprung -spryer -spryly -spuing -spumed -spumes -spunks -spunky -spurge -spurns -spurry -spying -squabs -squads -squall -squama -square -squark -squash -squats -squawk -squaws -squeak -squeal -squegs -squibs -squids -squill -squint -squire -squirm -squirt -squish -squush -sradha -stable -stably -stacks -stacte -stades -stadia -staffs -staged -stager -stages -stagey -staggy -staigs -stains -stairs -staked -stakes -stalag -staled -staler -stales -stalks -stalky -stalls -stamen -stamps -stance -stanch -stands -staned -stanes -stangs -stanks -stanol -stanza -stapes -staphs -staple -starch -stared -starer -stares -starry -starts -starve -stases -stasis -statal -stated -stater -states -static -statin -stator -statue -status -staved -staves -stayed -stayer -steads -steady -steaks -steals -steams -steamy -steeds -steeks -steels -steely -steeps -steers -steeve -steins -stelae -stelai -stelar -steles -stelic -stella -stemma -stemmy -stench -stenos -stents -steppe -stereo -steres -steric -sterna -sterns -sterol -stewed -stichs -sticks -sticky -stiffs -stifle -stigma -stiles -stills -stilly -stilts -stimes -stingo -stings -stingy -stinko -stinks -stinky -stints -stiped -stipel -stipes -stirks -stirps -stitch -stithy -stiver -stoats -stocks -stocky -stodge -stodgy -stogey -stogie -stoics -stoked -stoker -stokes -stoled -stolen -stoles -stolid -stolon -stomal -stomas -stomps -stoned -stoner -stones -stoney -stooge -stooks -stools -stoops -stoped -stoper -stopes -storax -stored -storer -stores -storey -storks -storms -stormy -stotin -stotts -stound -stoups -stoure -stours -stoury -stouts -stover -stoves -stowed -stowps -strafe -strain -strait -strake -strand -strang -straps -strass -strata -strath -strati -straws -strawy -strays -streak -stream -streek -streel -street -streps -stress -strewn -strews -striae -strick -strict -stride -strife -strike -string -stripe -strips -stript -stripy -strive -strobe -strode -stroke -stroll -stroma -strong -strook -strops -stroud -strove -strown -strows -stroys -struck -struma -strums -strung -strunt -struts -stubby -stucco -studio -studly -stuffs -stuffy -stulls -stumps -stumpy -stunts -stupas -stupes -stupor -sturdy -sturts -stying -stylar -styled -styler -styles -stylet -stylus -stymie -styrax -suable -suably -suaver -subahs -subbed -subdeb -subdue -subers -subfix -subgum -subito -sublet -sublot -submit -subnet -suborn -subpar -subsea -subset -subtle -subtly -suburb -subway -succah -succor -sucres -sudary -sudden -sudors -sudsed -sudser -sudses -sueded -suedes -suffer -suffix -sugars -sugary -sughed -suints -suited -suiter -suites -suitor -sukkah -sukkot -sulcal -sulcus -suldan -sulfas -sulfid -sulfur -sulked -sulker -sullen -sulpha -sultan -sultry -sumach -sumacs -summae -summas -summed -summer -summit -summon -sunbow -sundae -sunder -sundew -sundog -sundry -sunken -sunket -sunlit -sunnah -sunnas -sunned -sunray -sunset -suntan -sunups -superb -supers -supine -supped -supper -supple -supply -surahs -surely -surest -surety -surfed -surfer -surged -surger -surges -surimi -surras -surrey -surtax -survey -sushis -suslik -sussed -susses -sutler -sutras -suttas -suttee -suture -svaraj -svelte -swabby -swaged -swager -swages -swails -swains -swales -swamis -swamps -swampy -swanks -swanky -swanny -swaraj -swards -swarfs -swarms -swarth -swarty -swatch -swathe -swaths -swayed -swayer -swears -sweats -sweaty -swedes -sweeny -sweeps -sweepy -sweets -swells -swerve -sweven -swifts -swills -swimmy -swinge -swings -swingy -swinks -swiped -swipes -swiple -swirls -swirly -swishy -switch -swithe -swived -swivel -swives -swivet -swoons -swoony -swoops -swoopy -swoosh -swords -swound -swouns -syboes -sycees -sylphs -sylphy -sylvae -sylvan -sylvas -sylvin -symbol -synced -synchs -syncom -syndet -syndic -syngas -synods -syntax -synths -synura -sypher -syphon -syrens -syrinx -syrups -syrupy -sysops -system -syzygy -tabard -tabbed -tabbis -tabers -tablas -tabled -tables -tablet -taboos -tabors -tabour -tabued -tabuli -tabuns -taches -tacked -tacker -tacket -tackey -tackle -tactic -taenia -taffia -tafias -tagged -tagger -tagrag -tahini -tahsil -taigas -tailed -tailer -taille -tailor -taints -taipan -takahe -takers -takeup -taking -takins -talars -talced -talcky -talcum -talent -talers -talion -talked -talker -talkie -taller -tallis -tallit -tallol -tallow -talons -taluka -taluks -tamale -tamals -tamari -tambac -tambak -tambur -tamein -tamely -tamers -tamest -taming -tammie -tampan -tamped -tamper -tampon -tandem -tanged -tangle -tangly -tangos -tanist -tankas -tanked -tanker -tanned -tanner -tannic -tannin -tannoy -tanrec -tantra -tanuki -tapalo -tapers -tapeta -taping -tapirs -tapped -tapper -tappet -tarama -targes -target -tariff -taring -tarmac -tarnal -tarocs -taroks -tarots -tarpan -tarpon -tarred -tarres -tarsal -tarsia -tarsus -tartan -tartar -tarted -tarter -tartly -tarzan -tasked -tassel -tasses -tasset -tassie -tasted -taster -tastes -tatami -tatars -taters -tatsoi -tatted -tatter -tattie -tattle -tattoo -taught -taunts -tauons -taupes -tauted -tauten -tauter -tautly -tautog -tavern -tawdry -tawers -tawing -tawney -tawpie -tawsed -tawses -taxeme -taxers -taxied -taxies -taxing -taxite -taxman -taxmen -taxols -taxons -tazzas -teabox -teacup -teamed -teapot -teapoy -teared -tearer -teased -teasel -teaser -teases -teated -teazel -teazle -teched -techie -techno -tectal -tectum -tedded -tedder -tedium -teeing -teemed -teemer -teener -teensy -teepee -teeter -teethe -teflon -tegmen -teguas -teiids -teinds -tekkie -telcos -teledu -telega -telfer -telial -telium -teller -tellys -telnet -telome -telson -temped -tempeh -temper -temple -tempos -tempts -tenace -tenail -tenant -tended -tender -tendon -tendus -tenets -teniae -tenias -tenner -tennis -tenons -tenors -tenour -tenpin -tenrec -tensed -tenser -tenses -tensor -tented -tenter -tenths -tentie -tenues -tenuis -tenure -tenuti -tenuto -teopan -tepals -tepees -tepefy -tephra -tepoys -terais -teraph -terbia -terbic -tercel -terces -tercet -teredo -terete -tergal -tergum -termed -termer -termly -termor -ternes -terrae -terras -terret -territ -terror -terser -teslas -testae -tested -testee -tester -testes -testis -teston -tetany -tetchy -tether -tetrad -tetras -tetris -tetryl -tetter -tewing -thacks -thairm -thaler -thalli -thanes -thanks -tharms -thatch -thawed -thawer -thebes -thecae -thecal -thefts -thegns -theine -theins -theirs -theism -theist -themed -themes -thenal -thenar -thence -theory -theres -therme -therms -theses -thesis -thesps -thetas -thetic -thicks -thieve -thighs -thills -things -thinks -thinly -thiols -thiram -thirds -thirls -thirst -thirty -tholed -tholes -tholoi -tholos -thongs -thorax -thoria -thoric -thorns -thorny -thoron -thorpe -thorps -thoued -though -thrall -thrash -thrave -thrawn -thraws -thread -threap -threat -threep -threes -thresh -thrice -thrift -thrill -thrips -thrive -throat -throbs -throes -throne -throng -throve -thrown -throws -thrums -thrush -thrust -thujas -thulia -thumbs -thumps -thunks -thurls -thusly -thuyas -thwack -thwart -thymes -thymey -thymic -thymol -thymus -thyrse -thyrsi -tiaras -tibiae -tibial -tibias -ticals -ticced -ticked -ticker -ticket -tickle -tictac -tictoc -tidbit -tiddly -tidied -tidier -tidies -tidily -tiding -tieing -tiepin -tierce -tiered -tiffed -tiffin -tigers -tights -tiglon -tigons -tikkas -tilaks -tildes -tilers -tiling -tilled -tiller -tilted -tilter -tilths -timbal -timber -timbre -timely -timers -timing -tincal -tincts -tinder -tineal -tineas -tineid -tinful -tinged -tinges -tingle -tingly -tinier -tinily -tining -tinker -tinkle -tinkly -tinman -tinmen -tinned -tinner -tinpot -tinsel -tinted -tinter -tipcat -tipoff -tipped -tipper -tippet -tipple -tiptoe -tiptop -tirade -tiring -tirled -tisane -tissue -titans -tmeses -tmesis -toasts -toasty -tobies -tocher -tocsin -todays -toddle -todies -toecap -toeing -toffee -togaed -togate -togged -toggle -togues -toiled -toiler -toiles -toited -tokays -tokens -tokers -toking -tolane -tolans -tolars -toledo -toling -tolled -toller -toluic -toluid -toluol -toluyl -tolyls -tomans -tomato -tombac -tombak -tombal -tombed -tomboy -tomcat -tomcod -tommed -tomtit -tondos -toneme -toners -tongas -tonged -tonger -tongue -tonics -tonier -toning -tonish -tonlet -tonner -tonnes -tonsil -tooled -tooler -toonie -tooted -tooter -tooths -toothy -tootle -tootsy -topees -topers -topful -tophes -tophus -topics -toping -topped -topper -topple -toques -toquet -torahs -torchy -torero -torics -tories -toroid -torose -toroth -torous -torpid -torpor -torque -torrid -torses -torsks -torsos -tortas -torten -tortes -torula -toshes -tossed -tosser -tosses -tossup -totals -totems -toters -tother -toting -totted -totter -toucan -touche -touchy -toughs -toughy -toupee -toured -tourer -toused -touses -tousle -touted -touter -touzle -towage -toward -towels -towers -towery -towhee -towies -towing -townee -townie -toxics -toxine -toxins -toxoid -toyers -toying -toyish -toyons -traced -tracer -traces -tracks -tracts -traded -trader -trades -tragic -tragus -traiks -trails -trains -traits -tramel -tramps -trampy -trance -tranks -tranny -tranqs -trapan -trapes -trashy -trauma -travel -traves -trawls -treads -treats -treaty -treble -trebly -treens -trefah -tremor -trench -trends -trendy -trepan -trepid -tressy -trevet -triacs -triads -triage -trials -tribal -tribes -triced -tricep -trices -tricks -tricky -tricot -triene -triens -triers -trifid -trifle -trigly -trigon -trigos -trijet -trikes -trilby -trills -trimer -trimly -trinal -trined -trines -triode -triols -triose -tripes -triple -triply -tripod -tripos -trippy -triste -triter -triton -triune -trivet -trivia -troaks -trocar -troche -trocks -trogon -troika -troked -trokes -trolls -trolly -trompe -tromps -tronas -trones -troops -tropes -trophy -tropic -tropin -troths -trotyl -trough -troupe -trouts -trouty -trover -troves -trowed -trowel -trowth -truant -truced -truces -trucks -trudge -truest -truffe -truing -truism -trulls -trumps -trunks -trusts -trusty -truths -trying -tryout -tryste -trysts -tsades -tsadis -tsetse -tsking -tsktsk -tsores -tsoris -tsuris -tubate -tubbed -tubber -tubers -tubful -tubing -tubist -tubule -tuchun -tucked -tucker -tucket -tuffet -tufoli -tufted -tufter -tugged -tugger -tugrik -tuille -tuladi -tulips -tulles -tumble -tumefy -tumors -tumour -tumped -tumuli -tumult -tundra -tuners -tuneup -tunica -tunics -tuning -tunned -tunnel -tupelo -tupiks -tupped -tuques -turaco -turban -turbid -turbit -turbos -turbot -tureen -turfed -turgid -turgor -turion -turkey -turned -turner -turnip -turnon -turnup -turret -turtle -turves -tusche -tushed -tushes -tushie -tusked -tusker -tussah -tussal -tussar -tusseh -tusser -tusses -tussis -tussle -tussor -tussur -tutees -tutors -tutted -tuttis -tutued -tuxedo -tuyere -tuyers -twains -twangs -twangy -twanky -tweaks -tweaky -tweeds -tweedy -tweens -tweeny -tweets -tweeze -twelve -twenty -twerps -twibil -twiers -twiggy -twilit -twills -twined -twiner -twines -twinge -twirls -twirly -twirps -twists -twisty -twitch -twofer -twyers -tycoon -tymbal -tympan -tyning -typhon -typhus -typier -typify -typing -typist -tyrant -tyring -tythed -tythes -tzetze -tzuris -uakari -ubiety -ubique -udders -uglier -uglies -uglify -uglily -ugsome -uhlans -ukases -ulamas -ulcers -ulemas -ullage -ulster -ultima -ultimo -ultras -umamis -umbels -umbers -umbles -umbrae -umbral -umbras -umiack -umiacs -umiaks -umiaqs -umlaut -umping -umpire -unable -unaged -unakin -unarms -unawed -unaxed -unbale -unbans -unbars -unbear -unbelt -unbend -unbent -unbind -unbolt -unborn -unbred -unbusy -uncage -uncake -uncaps -uncase -uncast -unchic -unciae -uncial -uncini -unclad -uncles -unclip -unclog -uncoil -uncool -uncork -uncuff -uncurb -uncurl -uncute -undead -undies -undine -undock -undoer -undoes -undone -undraw -undrew -unduly -undyed -unease -uneasy -uneven -unfair -unfelt -unfits -unfixt -unfold -unfond -unfree -unfurl -ungird -ungirt -unglue -ungual -ungues -unguis -ungula -unhair -unhand -unhang -unhats -unhelm -unhewn -unholy -unhood -unhook -unhung -unhurt -unhusk -unific -unions -unipod -unique -unisex -unison -united -uniter -unites -unjams -unjust -unkend -unkent -unkept -unkind -unkink -unknit -unknot -unlace -unlade -unlaid -unlash -unlays -unlead -unless -unlike -unlink -unlive -unload -unlock -unmade -unmake -unmans -unmask -unmeet -unmesh -unmews -unmixt -unmold -unmoor -unmown -unnail -unopen -unpack -unpaid -unpegs -unpens -unpent -unpick -unpile -unpins -unplug -unpure -unread -unreal -unreel -unrent -unrest -unrigs -unripe -unrips -unrobe -unroll -unroof -unroot -unrove -unruly -unsafe -unsaid -unsawn -unsays -unseal -unseam -unseat -unseen -unsell -unsent -unsets -unsewn -unsews -unsexy -unshed -unship -unshod -unshut -unsnag -unsnap -unsold -unsown -unspun -unstep -unstop -unsung -unsunk -unsure -untack -untame -untidy -untied -unties -untold -untorn -untrim -untrod -untrue -untuck -untune -unused -unveil -unvext -unwary -unwell -unwept -unwind -unwise -unwish -unwits -unworn -unwove -unwrap -unyoke -unzips -upases -upbear -upbeat -upbind -upboil -upbore -upbows -upcast -upcoil -upcurl -updart -update -updive -updove -upends -upflow -upfold -upgaze -upgird -upgirt -upgrew -upgrow -upheap -upheld -uphill -uphold -uphove -uphroe -upkeep -upland -upleap -uplift -uplink -upload -upmost -uppers -uppile -upping -uppish -uppity -upprop -uprate -uprear -uprise -uproar -uproot -uprose -uprush -upsend -upsent -upsets -upshot -upside -upsize -upsoar -upstep -upstir -uptake -uptalk -uptear -uptick -uptilt -uptime -uptore -uptorn -uptoss -uptown -upturn -upwaft -upward -upwell -upwind -uracil -uraeus -urania -uranic -uranyl -urares -uraris -urases -urates -uratic -urbane -urbias -urchin -urease -uredia -uredos -ureide -uremia -uremic -ureter -uretic -urgent -urgers -urging -urials -urinal -urines -uropod -urping -ursids -ursine -urtext -uruses -usable -usably -usages -usance -useful -ushers -usneas -usques -usuals -usurer -usurps -uterus -utmost -utopia -utters -uveous -uvulae -uvular -uvulas -vacant -vacate -vacuum -vadose -vagary -vagile -vagrom -vaguer -vahine -vailed -vainer -vainly -vakeel -vakils -valets -valgus -valine -valise -valkyr -valley -valors -valour -valses -valued -valuer -values -valuta -valval -valvar -valved -valves -vamose -vamped -vamper -vandal -vandas -vanish -vanity -vanman -vanmen -vanned -vanner -vapors -vapory -vapour -varias -varied -varier -varies -varlet -varnas -varoom -varved -varves -vassal -vaster -vastly -vatful -vatted -vaults -vaulty -vaunts -vaunty -vaward -vealed -vealer -vector -veejay -veenas -veepee -veered -vegans -vegete -vegged -veggie -vegies -veiled -veiler -veinal -veined -veiner -velars -velate -velcro -veldts -vellum -veloce -velour -velure -velvet -vended -vendee -vender -vendor -vendue -veneer -venene -venery -venged -venges -venial -venine -venins -venire -venoms -venose -venous -vented -venter -venues -venule -verbal -verbid -verdin -verged -verger -verges -verier -verify -verily -verism -verist -verite -verity -vermes -vermin -vermis -vernal -vernix -versal -versed -verser -verses -verset -versos -verste -versts -versus -vertex -vertus -verves -vervet -vesica -vesper -vespid -vessel -vestal -vestas -vested -vestee -vestry -vetoed -vetoer -vetoes -vetted -vetter -vexers -vexils -vexing -viable -viably -vialed -viands -viatic -viator -vibist -vibrio -vicars -vicing -victim -victor -vicuna -videos -viewed -viewer -vigias -vigils -vigors -vigour -viking -vilely -vilest -vilify -villae -villas -villus -vimina -vinals -vincas -vineal -vinery -vinier -vinify -vining -vinous -vinyls -violas -violet -violin -vipers -virago -vireos -virgas -virgin -virile -virion -viroid -virtue -virtus -visaed -visage -visard -viscid -viscus -viseed -vising -vision -visits -visive -visors -vistas -visual -vitals -vitric -vittae -vittle -vivace -vivary -vivers -vivify -vixens -vizard -vizier -vizirs -vizors -vizsla -vocabs -vocals -vodkas -vodoun -vodous -voduns -vogued -voguer -vogues -voiced -voicer -voices -voided -voider -voiles -volant -volery -voling -volley -volost -voltes -volume -volute -volvas -volvox -vomers -vomica -voodoo -vortex -votary -voters -voting -votive -voudon -vowels -vowers -vowing -voyage -voyeur -vrooms -vrouws -vulgar -vulgus -vulvae -vulval -vulvar -vulvas -wabble -wabbly -wacker -wackes -wackos -wadded -wadder -waddie -waddle -waddly -waders -wadies -wading -wadmal -wadmel -wadmol -wadset -waeful -wafers -wafery -waffed -waffie -waffle -waffly -wafted -wafter -wagers -wagged -wagger -waggle -waggly -waggon -waging -wagons -wahine -wahoos -waifed -wailed -wailer -waired -waists -waited -waiter -waived -waiver -waives -wakame -wakens -wakers -wakiki -waking -walers -walies -waling -walked -walker -walkup -wallah -wallas -walled -wallet -wallie -wallop -wallow -walnut -walrus -wamble -wambly -wammus -wampum -wampus -wander -wandle -wangan -wangle -wangun -wanier -waning -wanion -wanned -wanner -wanted -wanter -wanton -wapiti -wapped -warble -warded -warden -warder -warier -warily -waring -warked -warmed -warmer -warmly -warmth -warmup -warned -warner -warped -warper -warred -warren -warsaw -warsle -warted -wasabi -washed -washer -washes -washup -wasted -waster -wastes -wastry -watape -wataps -waters -watery -watter -wattle -waucht -waught -wauked -wauled -wavers -wavery -waveys -wavier -wavies -wavily -waving -wawled -waxers -waxier -waxily -waxing -waylay -wazoos -weaken -weaker -weakly -weakon -wealds -wealth -weaned -weaner -weapon -wearer -weasel -weason -weaved -weaver -weaves -webbed -webcam -webers -webfed -weblog -wechts -wedded -wedder -wedeln -wedels -wedged -wedges -wedgie -weeded -weeder -weekly -weened -weenie -weensy -weeper -weepie -weeted -weever -weevil -weewee -weighs -weight -weiner -weirdo -weirds -weirdy -welded -welder -weldor -welkin -welled -wellie -welted -welter -wended -weskit -wester -wether -wetted -wetter -whacko -whacks -whacky -whaled -whaler -whales -whammo -whammy -whangs -wharfs -wharve -whaups -wheals -wheats -wheels -wheens -wheeps -wheeze -wheezy -whelks -whelky -whelms -whelps -whenas -whence -wheres -wherry -wherve -wheyey -whidah -whiffs -whiled -whiles -whilom -whilst -whimsy -whined -whiner -whines -whiney -whinge -whinny -whippy -whirls -whirly -whirrs -whirry -whisht -whisks -whisky -whists -whited -whiten -whiter -whites -whitey -whizzy -wholes -wholly -whomps -whomso -whoofs -whoops -whoosh -whored -whores -whorls -whorts -whosis -whumps -whydah -wiccan -wiccas -wiches -wicked -wicker -wicket -wicopy -widder -widdie -widdle -widely -widens -widest -widget -widish -widows -widths -wields -wieldy -wiener -wienie -wifely -wifeys -wifing -wigans -wigeon -wigged -wiggle -wiggly -wights -wiglet -wigwag -wigwam -wikiup -wilded -wilder -wildly -wilful -wilier -wilily -wiling -willed -willer -willet -willie -willow -wilted -wimble -wimmin -wimped -wimple -winced -wincer -winces -wincey -winded -winder -windle -window -windup -winery -winged -winger -winier -wining -winish -winked -winker -winkle -winned -winner -winnow -winoes -winter -wintle -wintry -winzes -wipers -wiping -wirers -wirier -wirily -wiring -wisdom -wisely -wisent -wisest -wished -wisher -wishes -wising -wisped -wissed -wisses -wisted -witans -witchy -withal -withed -wither -withes -within -witing -witney -witted -wittol -wivern -wivers -wiving -wizard -wizens -wizzen -wizzes -woaded -woalds -wobble -wobbly -wodges -woeful -wolfed -wolfer -wolver -wolves -womans -wombat -wombed -womera -wonder -wonned -wonner -wonted -wonton -wooded -wooden -woodie -woodsy -wooers -woofed -woofer -wooing -wooled -woolen -wooler -woolie -woolly -worded -worked -worker -workup -worlds -wormed -wormer -wormil -worrit -worsen -worser -worses -worset -worsts -worths -worthy -wotted -wounds -wovens -wowing -wowser -wracks -wraith -wrangs -wrasse -wraths -wrathy -wreaks -wreath -wrecks -wrench -wrests -wretch -wricks -wriest -wright -wrings -wrists -wristy -writer -writes -writhe -wrongs -wryest -wrying -wursts -wurzel -wusses -wuther -wyches -wyling -wyting -wyvern -xebecs -xenial -xenias -xenons -xylans -xylems -xylene -xyloid -xylols -xylose -xylyls -xyster -xystoi -xystos -xystus -yabber -yabbie -yachts -yacked -yaffed -yagers -yahoos -yairds -yakked -yakker -yakuza -yamens -yammer -yamuns -yanked -yanqui -yantra -yapock -yapoks -yapons -yapped -yapper -yarded -yarder -yarely -yarest -yarned -yarner -yarrow -yasmak -yatter -yauped -yauper -yaupon -yautia -yawing -yawled -yawned -yawner -yawped -yawper -yclept -yeaned -yearly -yearns -yeasts -yeasty -yecchs -yeelin -yelled -yeller -yellow -yelped -yelper -yenned -yentas -yentes -yeoman -yeomen -yerbas -yerked -yessed -yesses -yester -yeuked -yields -yipped -yippee -yippie -yirred -yirths -yobbos -yocked -yodels -yodled -yodler -yodles -yogees -yogini -yogins -yogurt -yoicks -yokels -yoking -yolked -yonder -yonker -youngs -youpon -youths -yowies -yowing -yowled -yowler -yttria -yttric -yuccas -yucked -yukked -yulans -yupons -yuppie -yutzes -zaddik -zaffar -zaffer -zaffir -zaffre -zaftig -zagged -zaikai -zaires -zamias -zanana -zander -zanier -zanies -zanily -zanzas -zapped -zapper -zareba -zariba -zayins -zazens -zealot -zeatin -zebeck -zebecs -zebras -zechin -zenana -zenith -zephyr -zeroed -zeroes -zeroth -zested -zester -zeugma -zibeth -zibets -zigged -zigzag -zillah -zinced -zincic -zincky -zinebs -zinged -zinger -zinnia -zipped -zipper -zirams -zircon -zither -zizith -zizzle -zlotys -zoaria -zocalo -zodiac -zoecia -zoftig -zombie -zombis -zonary -zonate -zoners -zoning -zonked -zonula -zonule -zooids -zooier -zoomed -zoonal -zooned -zorils -zoster -zouave -zounds -zoysia -zydeco -zygoid -zygoma -zygose -zygote -zymase \ No newline at end of file diff --git a/sources/html/show_document.php b/sources/html/show_document.php deleted file mode 100644 index 67ac28b..0000000 --- a/sources/html/show_document.php +++ /dev/null @@ -1,114 +0,0 @@ -Check(); -$g_user->check_dossier($gDossier); -set_language(); -/* Show the document */ -if ($action == 'sh') -{ - if ($g_user->check_action(VIEWDOC) == 1) - { - // retrieve the document - $doc = new Document($cn, $_REQUEST['d_id']); - $doc->Send(); - } -} -/* remove the document */ -if ($action == 'rm') -{ - $json='{"d_id":"-1"}'; - if ($g_user->check_action(RMDOC) == 1) - { - $doc = new Document($cn, $_REQUEST['d_id']); - $doc->remove(); - $json = sprintf('{"d_id":"%s"}', $_REQUEST['d_id']); - } - header("Content-type: text/html; charset: utf8", true); - print $json; -} -/* update the description of the document */ -if ( $action == "upd_doc") -{ - if ($g_user->check_action(VIEWDOC) == 1) - { - $doc = new Document($cn, $_REQUEST['d_id']); - $doc->get(); - if ( $g_user->can_write_action($doc->ag_id)) - // retrieve the document - $doc->update_description(strip_tags ($_REQUEST['value'])); - } - -} -/* remove the operation from action_gestion_operation */ -if ($action == 'rmop') -{ - $json = '{"ago_id":"-1"}'; - $dt_id = $cn->get_value("select ag_id from action_gestion_operation where ago_id=$1",array( $_REQUEST['id'])); - if ($g_user->check_action(RMDOC) == 1 && $g_user->can_write_action($dt_id) == true) - { - $cn->exec_sql("delete from action_gestion_operation where ago_id=$1", array($_REQUEST['id'])); - $json = sprintf('{"ago_id":"%s"}', $_REQUEST['id']); - } - header("Content-type: text/html; charset: utf8", true); - print $json; -} -/* remove the comment from action_gestion_operation */ -if ($action == 'rmcomment') -{ - $json = '{"agc_id":"-1"}'; - $dt_id = $cn->get_value("select ag_id from action_gestion_comment where agc_id=$1", array($_REQUEST['id'])); - if ($g_user->check_action(RMDOC) == 1 && $g_user->can_write_action($dt_id) == true) - { - $cn->exec_sql("delete from action_gestion_comment where agc_id=$1", array($_REQUEST['id'])); - $json = sprintf('{"agc_id":"%s"}', $_REQUEST['id']); - } - header("Content-type: text/html; charset: utf8", true); - print $json; -} -/* remove the action from action_gestion_operation */ -if ($action == 'rmaction') -{ - $json = '{"act_id":"-1"}'; - if ($g_user->check_action(RMDOC) == 1 && $g_user->can_write_action($_REQUEST['id']) == true && $g_user->can_write_action($_REQUEST['ag_id']) == true) - { - $cn->exec_sql("delete from action_gestion_related where aga_least=$1 and aga_greatest=$2", array($_REQUEST['id'], $_REQUEST['ag_id'])); - $cn->exec_sql("delete from action_gestion_related where aga_least=$2 and aga_greatest=$1", array($_REQUEST['id'], $_REQUEST['ag_id'])); - $json = sprintf('{"act_id":"%s"}', $_REQUEST['id']); - } - header("Content-type: text/html; charset: utf8", true); - print $json; -} diff --git a/sources/html/show_document_modele.php b/sources/html/show_document_modele.php deleted file mode 100644 index c641cb6..0000000 --- a/sources/html/show_document_modele.php +++ /dev/null @@ -1,70 +0,0 @@ -Check(); -set_language(); -if ( $g_user->check_module("CFGDOC") == 0 ) exit(); -// retrieve the document -$r=$cn->exec_sql("select md_id,md_lob,md_filename,md_mimetype - from document_modele where md_id=$1",array($_REQUEST['md_id'])); -if ( Database::num_row($r) == 0 ) -{ - echo_error("Invalid Document"); - exit; -} -$row=Database::fetch_array($r,0); - - -$cn->start(); - -$tmp=tempnam($_ENV['TMP'],'document_'); -$cn->lo_export($row['md_lob'],$tmp); -ini_set('zlib.output_compression','Off'); -header("Pragma: public"); -header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); -header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); -header("Cache-Control: must-revalidate"); -header('Content-type: '.$row['md_mimetype']); -header('Content-Disposition: attachment;filename="'.$row['md_filename'].'"',FALSE); -header("Accept-Ranges: bytes"); -$file=fopen($tmp,'r'); -while ( !feof ($file) ) - echo fread($file,8192); - -fclose($file); - -unlink ($tmp); - -$cn->commit(); diff --git a/sources/html/show_pj.php b/sources/html/show_pj.php deleted file mode 100644 index 7563e82..0000000 --- a/sources/html/show_pj.php +++ /dev/null @@ -1,107 +0,0 @@ -Check(); -$g_user->check_dossier($gDossier); -if ( isNumber($jr_grpt_id) != 1 ) die (_('Données invalides')); - -// retrieve the jrn -$r=$cn->exec_sql("select jr_def_id from jrn where jr_grpt_id=$jr_grpt_id"); -if ( Database::num_row($r) == 0 ) -{ - echo_error("Invalid operation id jr_grpt_id=$jr_grpt_id"); - exit; -} -$a=Database::fetch_array($r,0); -$jrn=$a['jr_def_id']; - -if ($g_user->check_jrn($jrn) == 'X' ) -{ - /* Cannot Access */ - NoAccess(); - exit -1; -} - -$cn->start(); -$ret=$cn->exec_sql("select jr_pj,jr_pj_name,jr_pj_type from jrn where jr_grpt_id=$jr_grpt_id"); -if ( Database::num_row ($ret) == 0 ) - return; -$row=Database::fetch_array($ret,0); -if ( $row['jr_pj']==null ) -{ - ini_set('zlib.output_compression','Off'); - header("Pragma: public"); - header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); - header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); - header("Cache-Control: must-revalidate"); - header('Content-type: '.'text/plain'); - header('Content-Disposition: attachment;filename=vide.txt',FALSE); - header("Accept-Ranges: bytes"); - echo "******************"; - echo _("Fichier effacé"); - echo "******************"; - exit(); -} -$tmp=tempnam($_ENV['TMP'],'document_'); - -$cn->lo_export($row['jr_pj'],$tmp); - -ini_set('zlib.output_compression','Off'); -header("Pragma: public"); -header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); -header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); -header("Cache-Control: must-revalidate"); -header('Content-type: '.$row['jr_pj_type']); -header('Content-Disposition: attachment;filename="'.$row['jr_pj_name'].'"',FALSE); -header("Accept-Ranges: bytes"); -$file=fopen($tmp,'r'); -while ( !feof ($file) ) - echo fread($file,8192); - -fclose($file); - -unlink ($tmp); - -$cn->commit(); diff --git a/sources/html/style-classic.css b/sources/html/style-classic.css deleted file mode 100644 index ef0af6e..0000000 --- a/sources/html/style-classic.css +++ /dev/null @@ -1,2105 +0,0 @@ - /* */ -#add_todo_list , div.add_todo_list { - border:1px solid #0000FF; - background-color:#DDE6FF; - padding:0.07%; - position:absolute; - text-align:left; - z-index:1; - width:480px; - width:30rem; - height:auto; -} -div.welcome { - -} -div.gest_name { - float:left; - margin-left:150px; - margin-top:15px; -} -h2.gest_name { - border-right: 2px solid #403a8d; - border-bottom:2px solid #403a8d; - border-top:1px solid #b4bbc2; - border-left: 1px solid #b4bbc2; - padding: 5px; - width: 80%; - font-size:140%; - margin-left: 10%; -} -body.op_detail_frame,div.op_detail_frame { - background-color:#e4e7ed; - height:100%; width:100%; --moz-box-shadow: 10px 10px 5px #888; --webkit-box-shadow: 10px 10px 5px #888; -box-shadow: 10px 10px 5px #888; - - -} -div.inner_box { - background-color: #DCE1EF; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - padding:2px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left:10%; - border:1px solid #00008B; --moz-box-shadow: 10px 10px 5px #888; --webkit-box-shadow: 10px 10px 5px #888; -box-shadow: 10px 10px 5px #888; -font-size:14.4px; -font-size:0.90rem; -} -div.inner_box { - width: 85%; - } -@media only screen and (min-width: 1281px) { -div.inner_box { - width: 85%; - border-radius: 9px; - padding: 5px; - } -} -div.op_detail_title { - background-color:#888; - /* width:500;*/ - - -} - -div#div_cat{ - position:absolute; - border:1px solid #000000; - top:15%;left:100px; - visibility:hidden; - z-index:2; - width:50em; - background-color:#EDF3FF; - -} - -div.divinfo -{ - color:#FF0000; - text-align:right; - display:block; - width:480px; - width:30rem; - height:13px; - font-weight:bold; -} - -div#search_form -{ - position:absolute; - border:1px solid #000000; - top:15%;left:100px; - margin-left:25%; - z-index:2; - width:50%; - display:none; - background-color:#e4e7ed; - -moz-box-shadow: 10px 10px 5px #888; - -webkit-box-shadow: 10px 10px 5px #888; - box-shadow: 10px 10px 5px #888; -} -@media only screen and (max-width: 995px) { - div#search_form { - width:90%; - margin-left:5%; - left:0px; - } -} - -table.sortable td, table.table_large td, table.result td -{ - padding-left:5px; - padding-right:5px; -} -table.info_op -{ - width:100%; -} -table.info_op tr -{ - background:#FFFFFF; -} -h2#jrn_name -{ - color:#0000FF; - margin-right:30%; - float: right; -} -tr.footer{ - font-style: italic; - font-weight: bold; - -} -span.remain { - font-weight: bold; - color:#000000; -} - div#jrn_name_div - { - float: right; - margin-right:150px; - - - } - #predef_form { - margin-left:35%; - width:60%; - position:absolute; - z-index:2 - } -@media only screen and (min-width: 955px) { - div#jrn_name_div - { - float: right; - margin-right:150px; - - - } - #predef_form { - margin-left:35%; - width:60%; - position:absolute; - z-index:2 - } -} -@media only screen and (max-width: 955px) { - div#jrn_name_div - { - } - #predef_form { - } -} -#direct -{ - display:inline; - float:left; -} -#calc -{ - display:inline; - float:left; -} -div#wait_box -{ - background-color:#DDE6FF; - font-family: arial,verdana,helvetica,arial,sans-serif; - width: 300px; - padding:0px; - margin:0px; - overflow:hidden; - z-index:10; - position:absolute; - left:30%; - top:30%; - border:1px solid #00008B; - width: 260px; -} -#wait_box h2 -{ - /* color:#000000; */ - text-align:center; - /* width: 50%; */ -} -#navi_tb { -width: 95%; -margin-left: 2%; -border-spacing: 0em 0.50em; -border-collapse: separate; -} -div#div_jrnsearch_op{ - - border:1px solid #000000; - width:800px; - width:50rem; - background-color:#EDF3FF; - z-index: 5; - -} -ul { - padding-left: 110px; -} -a.line,div.content a.line -{ - text-decoration:underline; - display:inline; - /* color: #0000FF; */ -} -a.line:hover,div_content a.line -{ - text-decoration:underline; - display:inline; - color: #FFFFFF; - background-color:#336699; -} -#close_div -{ - color:white; - text-decoration:none; - margin-left: 2px; - margin-right:6px; - margin-top:0px; - font-size:14px; - font-size:1rem; - cursor: pointer; - border:0px; -} -#close_div:hover -{ - background-color: #F93; -} -#popmeout -{ - background-color:#FFFFFF; - color:#0000FF; - text-decoration:none; - border:1px solid #0000FF; - margin-left: 2px; - margin-right:18px; - font-size:12px; - font-size: 0.75rem; -} -#popmeout:hover -{ - background-color: #F93; -} -table.table_large tr.odd ,table.table_large tr.even { - - height:32px; -} -#calc1 -{ - position:absolute; - display:block; - top:30px; - left:150px; - width:300px; - border:1px solid #000000; - background-color:#aec3e8; - padding: 20px 20px; -} -span.invoice -{ - font-style: italic; - display:block; - margin: 20px; - font-weight: bold; -} -a.nav,div.content a.nav,div.redcontent a.nav { - display:inline; - text-decoration:none; -} -a.nav:hover,div.content a.nav:hover,div.redcontent a.nav:hover { - display:inline; - text-decoration:none; - background-color:#00008B; - color:#FFFFFF; -} -#dossier { - display:inline; - float:left; - width:100%; - top:0px; - text-align: center; - font-variant:small-caps; - font-weight: bolder; - } -@media only screen and (min-width: 955px) { -#dossier { - display:inline; - float:left; - width:100%; - top:0px; - text-align: center; - font-variant:small-caps; - font-weight: bolder; - } -} -@media only screen and (max-width: 955px) { -#dossier { - display:inline; - float:left; - width:100%; - top:0px; - text-align: left; - font-variant:small-caps; - font-weight: bolder; - } -} - -div.foldercontent { - font-size:14px; - font-size:0.95rem; - width: 95%; - margin-left: 2.5%; -} - -h1.title { - color: #0000FF; - font-style: italic; - text-align:center; - text-transform: uppercase; -} -h2.title { - background-color:#606c88; - color:#FFFFFF; - text-align:center; - padding:0.14%; - border:1px solid #00008B; - background: #606c88 !important; /* Old browsers */ - background: -moz-linear-gradient(top, #606c88 0%, #3f4c6b 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#606c88), color-stop(100%,#3f4c6b)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* IE10+ */ - background: linear-gradient(to bottom, #606c88 0%,#3f4c6b 100%); /* W3C */ -} -h3.title { - color: #0000FF; - margin-left: 30px; -} -h4.title { - color: #0000FF; - margin-left: 45px; - text-decoration: underline; -} -h5.title { - color: #0000FF; - margin-left: 45px; - text-decoration: none; - font-style: italic; -} -div.myfieldset -{ - margin-top: 5px; - margin-left:5px; - margin-right: 5px; - border:#EDF3FF 2px groove; - border-radius: 4px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - -} -#info_div { - display:none; - background-color: #FCFFCC; - color:#000000; - z-index: 15; - position: absolute; - top:0px; - left:45%; -} -div.menu2 a.mtitle{ - font-size:13.6px; - font-size:0.80rem; -} -div.menu3 { - font-size:13.6px; - font-size:0.80rem; - -} -#go_submit_id { - -} -.decale { - margin-left:30px; -} -#folder { - border: 1px solid #0000ff; - border-collapse: separate; - border-radius: 10px; - border-spacing: 0px; - box-shadow: 10px 10px 5px #888888; - padding: 5px; - width: 100%; -} -#folder tr { - height: 30px; -} -/*#folder tr.odd,#folder tr.even { - font-size : 1.2em; -}*/ -textarea.itextarea{ - border:solid #0000FF 1px; - width:90%; - margin-left:5%; - height:120px; -} - -div#notice { - position:absolute; - right:5%; - top:200px; - background-color:#FCFFCC; - border: 1px solid #000000; -} -div.name { - position:absolute; - top:0px; - left:0px; - display:block; - } -div#modele_op_div{ - display: none; - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left: 10%; - border:1px solid #00008B; - width: 80%; -} -@media only screen and (min-width: 955px) { - div.name { - position:absolute; - top:0px; - left:0px; - } - div#modele_op_div{ - display: none; - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left: 4%; - border:1px solid #00008B; - min-width: 75%; - box-shadow: 10px 10px 5px #888888; -} -} -@media only screen and (max-width: 955px) { - div.name { - position:absolute; - top:0px; - left:0px; - display:none; - } - div#modele_op_div{ - display: none; - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left: 10%; - border:1px solid #00008B; - width: 85%; - box-shadow: 10px 10px 5px #888888; -} -} - -div#box_search_card { - position:absolute; - right:15.625%; - top:115px; -} -div.bxbutton -{ - float:right; - height:10px; - display:block; - margin-top:0.48%; - margin-right:0.48%; -} -div.inner_box tr.odd { - background: #E0EBFF; -} -#modele_op_tab tr.odd { - background: #EDF3FF; -} -div#bookmark_div { - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - padding:2px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - border:1px solid #00008B; - top:32px; - top:2rem; - left:30%; - width:40%; -} -div#preference_div { - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - border:1px solid #00008B; - top:32px; - top:2rem; - left:20%; - width:50%; -} -#error_div{ - position:absolute; - border:1px solid #000000; - background-color:#DDE6FF; - padding-bottom: 2px; - padding-top: 2px; - padding-left: 2px; - padding-right: 2px; - color:#FF0000; - top:40%;left:25%; - visibility:hidden; - width:640px; - width:40rem; - z-index:20; -} -#error_div h2 { - background: #FF0000; -} -div#error_content_div { - color:#FF0000; - font-weight: bold; - text-align: center; -} -td.workday ol { - margin:0px; - padding:0px; - list-style-type:none; - text-align:left; -} -input.inum { - text-align:right; - border:1px solid #0000FF; - margin:2px -} -div.box { - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - margin-top:10px; - margin-left:3px; - margin-right:3px; - padding:2px; - overflow:hidden; - border:1px solid #00008B; - width:32%; - height:364px; - float:left; - font-size:14px; - font-size:0.90rem; -} -@media only screen and (max-width: 1426px) { - div.box { - width: 48%; - height: 380px; -} -} -@media only screen and (max-width: 955px) { - div.box { - width: 95%; - height: 380px; - } -} -div.box table{ - border-spacing:0px; - font-size: 96%; -} -div.box tr.odd { - background-color: #F2F6FD; - -} -div.box tr.even { - background-color:#e4e7ed; - -} -#jrn_name_div h2{ - font-size:38.4px; - font-size: 2.4rem; -} -#search_account { - width: 70%; -} -fieldset { - border-width: 1px; -} -#tva_select table { - border-spacing: 0px; -} -#mod_predf_op { - width: 80%; - overflow: auto; -} -/**************************************************************************** - * Tabs - ****************************************************************************/ -ul.tabs { - padding-top: 15px; - display:block; - border-bottom: 1px solid #879ed4; - padding-left: 2px; - list-style: none; - margin-left:2px; -} -ul.tabs a { - display:inline; -} -li.tabs_selected { - display:inline; - background: #C2E3FC; /* Old browsers */ - background: -moz-linear-gradient(top, #C2E3FC 0%, #6393c1 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#C2E3FC), color-stop(100%,#6393c1)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #C2E3FC 0%,#6393c1 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, #C2E3FC 0%,#6393c1 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, #C2E3FC 0%,#6393c1 100%); /* IE10+ */ - background: linear-gradient(to bottom, #C2E3FC 0%,#6393c1 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#C2E3FC', endColorstr='#6393c1',GradientType=0 ); /* IE6-9 */ - color:whitesmoke; - margin-left: 2px; - border-top-left-radius: 10px; - border-top-right-radius: 10px; - border:1px #879ed4 solid; - font-weight: bold; - -} -li.tabs { - display:inline; - background-color: inherit; - color:inherit;margin-left: 0px; - padding: 0px; - border-top-left-radius: 10px; - border-top-right-radius: 10px; - border:1px #879ed4 solid; - -} -li.tabs:hover { - display:inline; - background-color: lightblue; - color:wheat;margin-left: 2px; - padding: 0px; - border-top-left-radius: 10px; - border-top-right-radius: 10px; - border:1px #879ed4 solid; - white-space: nowrap; - -} -@media only screen and (min-width: 1280px) { - li.tabs { - display:inline; - background-color: inherit; - color:inherit;margin-left: 2px; - padding: 15px 7px 0px 10px; - border-top-left-radius: 10px; - border-top-right-radius: 10px; - border:1px #879ed4 solid; - -} - li.tabs:hover { - display:inline; - background-color: lightblue; - color:wheat;margin-left: 2px; - padding: 10px 10px 0px 10px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - border:1px #879ed4 solid; - } - li.tabs_selected { - padding: 12px 15px 15px 15px; - } -} -ul.tabs a { - text-decoration: none; - color:inherit; - display:inline; - white-space: nowrap; - -} -ul.tabs a:hover { - text-decoration: none; - color:white; - display:inline; - background-color: lightblue; -} -/* - * ???? - */ -.previous_year -{ - text-align:right; - color:black; -} -/***************************************************************************** - * autocomplete style - *****************************************************************************/ - -div.autocomplete_fixed { - background-color:#FFFFFF; - border:1px solid #888; - margin:0px; - padding:0px; - text-align:left; -} -div.autocomplete_fixed em { - color:#0000FF; - font-weight:bold; -} -div.autocomplete_fixed ul { - list-style-type:none; - background-color:#FFFFFF; - border:1px solid blue; - width:300px; - margin:0px; - padding:0px; - } -div.tag { - -} -@media only screen and (max-width: 1280px) { - div.autocomplete_fixed ul { - list-style-type:none; - background-color:#FFFFFF; - border:1px solid blue; - width:300px; - margin:0px; - padding:0px; - } - div.tag { - - } - -} -@media only screen and (min-width: 1281px) { - div.autocomplete_fixed ul { - list-style-type:none; - background-color:#FFFFFF; - border:1px solid blue; - width:500px; - margin:0px; - padding:0px; - } - div.tag { - width: 50%; - } - - -} -div.autocomplete_fixed ul li.selected { - background-color: #DDE6FF; - border-bottom: 1px solid black; -} - -div.autocomplete_fixed ul li { - list-style-type:none; - display:block; - margin:0px; - padding:0px; - cursor:pointer; -} -#popup { - font-size:0.9rem; -} -hr { - width:95%; - margin-left:2.5%; - background:#5d90cd; - height:5px; - -} -/****************************************************************************** - * Hightlight row in a table - ******************************************************************************/ -tr.highlight{ - font-weight: bolder; - font-size:14px; - background-color: navy; - color:white !important; - border-width: 2px; - border-style: solid; - border-color: blue; -} -tr.highlight a{ - color:white !important; - -} -*|*:link { - color: inherit; -} -/******************************************************************************* - * Inner_box on a smaller screen - *******************************************************************************/ -@media only screen and (min-width: 1280px) { - div.inner_box { - width: 95%; - left:2%; - margin-bottom: 2%; - } -} -/***************************************************************************** - * Table of one column to present menu - * as in CFGLED, FORECAST, REPORT - *****************************************************************************/ -table.vert_mtitle { - text-align:center; - /* border:5px solid #99B1DF; */ - border-radius:5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - - width:80%; - margin-left: 10%; - border-collapse: separate; - border-spacing: 10px; - - -} -table.vert_mtitle td.first { - background-color: #DCE1EF; -} -table.vert_mtitle td { - border : 1px solid #99B1DF; - background-color:#EDEDED; - border-top-radius:20px; -} -table.vert_mtitle td a{ - padding : 20px; - font-weight: bold; -} -table.vert_mtitle td:hover { - border : 1px solid #99B1DF; - background-color: #336699; - color:white; -} -table.vert_mtitle td:hover a{ - color:white; - -} - -/******************************************************************************* - * Tiny button example : -X for remove action, remove link... - *******************************************************************************/ -div.content a.tinybutton,a.tinybutton{ - color: blue; - font-weight: bold; - text-decoration: none; - font-family: arial,verdana,sans-serif,helvetica; - /* background-image: url("image/bg-submit2.gif"); - background-repeat: repeat-x; - background-position: left; */ - font-size: 8px; - font-size: 0.7rem; - padding-bottom: 0px; - padding-top: 0px; - padding-right: 0px; - padding-left: 0px; - margin-top: 3px; - cursor: pointer; - margin: 1px 2px 1px 2px; - border-width: 1px; - border-style: solid; - border-color: blue; - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - - display : inline; -} -input[type="button"].tinybutton { - color: blue; - font-weight: bold; - text-decoration: none; - font-family: arial,verdana,sans-serif,helvetica; - font-size: 8px; - font-size: 0.7rem; - padding-bottom: 0px; - padding-top: 0px; - padding-right: 0px; - padding-left: 0px; - margin-top: 3px; - cursor: pointer; - margin: 1px 2px 1px 2px; - border-width: 1px; - border-style: solid; - border-color: blue; - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - - display : inline; -} -/******************************************************************************* - Image Search -*******************************************************************************/ -.image_search { - cursor:pointer; - width:16px; - height:16px; - vertical-align: top; - background-image: url("image/bg-submit2.gif"); - background-repeat: repeat-x; - background-position: left; - - padding : 3px; - -} -/**************************************************************************** - * Aligned button - ****************************************************************************/ -ul.aligned-block { - padding:5px; - display : block; -} -ul.aligned-block li { - display:table-cell; - padding : 10px; - list-style: none; -} -/****************************************************************************** - * Total in confirmation VEN / ACH - ******************************************************************************/ -#total_div_id { - float: right; - margin-right: 150px; - background: snow; - margin-top: 50px; -} -/*************************************************************************** - * column in the dashboard - ***************************************************************************/ - -td.cut { - max-width: 25%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -td.box { - border-left: #9999ff solid 1px; -} - -/**************************************************************************** -* Smoke appearance of modal box - ****************************************************************************/ -.smoke-base { - position: fixed; - top: 0px; - left: 0px; - bottom: 0px; - right: 0px; - visibility: hidden; - opacity: 0; - background: rgba(0,0,0,.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#90000000,endColorstr=#900000000); -} - -.smoke-base.smoke-visible { - opacity: 1; - visibility: visible; -} - -.smokebg { - position: fixed; - top: 0px; - left: 0px; - bottom: 0px; - right: 0px; -} - -.smoke-base .dialog { - position: absolute; - top: 25%; - width: 40%; - left: 50%; - margin-left: -20%; -} - -.dialog-prompt { - margin-top: 15px; - text-align: center; -} - -.dialog-buttons { - margin: 20px 0px 5px 0px -} - -.smoke { - text-align: center; - background-color: #DCE1EF; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - - padding:2px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left:10%; - border:1px solid #00008B; --moz-box-shadow: 10px 10px 5px #888; --webkit-box-shadow: 10px 10px 5px #888; -box-shadow: 10px 10px 5px #888; -font-size:14.4px; -font-size:0.90rem; -width: 85%; -} -.dialog-buttons button:hover{ - color:beige; - font-weight: bold; -} -.dialog-buttons button { - color:#FFFFFF; - font-weight: normal; - text-decoration:none; - background: #606c88; /* Old browsers */ - background: -moz-linear-gradient(top, #606c88 0%, #3f4c6b 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#606c88), color-stop(100%,#3f4c6b)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* IE10+ */ - background: linear-gradient(to bottom, #606c88 0%,#3f4c6b 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#606c88', endColorstr='#3f4c6b',GradientType=0 ); /* IE6-9 */ - border-color: #605D5D; - border-width:0px; - padding:4px; - margin:3px; - cursor:pointer; - margin:1px 2px 1px 2px; - border-radius: 5px; - moz-border-radius:5px; - width:7em; - width:7rem; -} - -.dialog-prompt input { - margin: 0; - border: 0; - font-family: sans-serif; - outline: none; - font-family: Menlo, 'Andale Mono', monospace; - border: 1px solid #aaa; - width: 75%; - display: inline-block; - background-color: transparent; - font-size: 16px; - padding: 8px; -} - -.smoke-base .dialog-inner { - padding: 15px; - - color:#202020; -} - -button.cancel { - background-color: rgba(0,0,0,.40); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#444444,endColorstr=#444444); -} - -.queue{ - display:none; -} diff --git a/sources/html/style-light.css b/sources/html/style-light.css deleted file mode 100644 index d93a92f..0000000 --- a/sources/html/style-light.css +++ /dev/null @@ -1,2092 +0,0 @@ - /* */ -#add_todo_list , div.add_todo_list { - border:1px solid #0000FF; - background-color:#DDE6FF; - padding:0.07%; - position:absolute; - text-align:left; - z-index:1; - width:480px; - width:30rem; - height:auto; -} -div.welcome { - -} -div.gest_name { - float:left; - margin-left:150px; - margin-top:15px; -} -h2.gest_name { - border-right: 2px solid #403a8d; - border-bottom:2px solid #403a8d; - border-top:1px solid #b4bbc2; - border-left: 1px solid #b4bbc2; - padding: 5px; - width: 80%; - font-size:140%; - margin-left: 10%; -} -body.op_detail_frame,div.op_detail_frame { - background-color:#e4e7ed; - height:100%; width:100%; --moz-box-shadow: 10px 10px 5px #888; --webkit-box-shadow: 10px 10px 5px #888; -box-shadow: 10px 10px 5px #888; - - -} -div.inner_box { - background-color: #DCE1EF; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - padding:2px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left:10%; - border:1px solid #00008B; --moz-box-shadow: 10px 10px 5px #888; --webkit-box-shadow: 10px 10px 5px #888; -box-shadow: 10px 10px 5px #888; -font-size:14.4px; -font-size:0.90rem; -} -div.inner_box { - width: 85%; - } -@media only screen and (min-width: 1281px) { -div.inner_box { - width: 85%; - border-radius: 9px; - padding: 5px; - } -} -div.op_detail_title { - background-color:#888; - /* width:500;*/ - - -} - -div#div_cat{ - position:absolute; - border:1px solid #000000; - top:15%;left:100px; - visibility:hidden; - z-index:2; - width:50em; - background-color:#EDF3FF; - -} - -div.divinfo -{ - color:#FF0000; - text-align:right; - display:block; - width:480px; - width:30rem; - height:13px; - font-weight:bold; -} - -div#search_form -{ - position:absolute; - border:1px solid #000000; - top:15%;left:100px; - margin-left:25%; - z-index:2; - width:50%; - display:none; - background-color:#e4e7ed; - -moz-box-shadow: 10px 10px 5px #888; - -webkit-box-shadow: 10px 10px 5px #888; - box-shadow: 10px 10px 5px #888; -} -@media only screen and (max-width: 995px) { - div#search_form { - width:90%; - margin-left:5%; - left:0px; - } -} - -table.sortable td, table.table_large td, table.result td -{ - padding-left:5px; - padding-right:5px; -} -table.info_op -{ - width:100%; -} -table.info_op tr -{ - background:#FFFFFF; -} -h2#jrn_name -{ - color:#0000FF; - margin-right:30%; - float: right; -} -tr.footer{ - font-style: italic; - font-weight: bold; - -} -span.remain { - font-weight: bold; - color:#000000; -} - div#jrn_name_div - { - float: right; - margin-right:150px; - - - } - #predef_form { - margin-left:35%; - width:60%; - position:absolute; - z-index:2 - } -@media only screen and (min-width: 955px) { - div#jrn_name_div - { - float: right; - margin-right:150px; - - - } - #predef_form { - margin-left:35%; - width:60%; - position:absolute; - z-index:2 - } -} -@media only screen and (max-width: 955px) { - div#jrn_name_div - { - } - #predef_form { - } -} -#direct -{ - display:inline; - float:left; -} -#calc -{ - display:inline; - float:left; -} -div#wait_box -{ - background-color:#DDE6FF; - font-family: arial,verdana,helvetica,arial,sans-serif; - width: 300px; - padding:0px; - margin:0px; - overflow:hidden; - z-index:10; - position:absolute; - left:30%; - top:30%; - border:1px solid #00008B; - width: 260px; -} -#wait_box h2 -{ - /* color:#000000; */ - text-align:center; - /* width: 50%; */ -} -#navi_tb { -width: 95%; -margin-left: 2%; -border-spacing: 0em 0.50em; -border-collapse: separate; -} -div#div_jrnsearch_op{ - - border:1px solid #000000; - width:800px; - width:50rem; - background-color:#EDF3FF; - z-index: 5; - -} -ul { - padding-left: 110px; -} -a.line,div.content a.line -{ - text-decoration:underline; - display:inline; - /* color: #0000FF; */ -} -a.line:hover,div_content a.line -{ - text-decoration:underline; - display:inline; - color: #FFFFFF; - background-color:#336699; -} -#close_div -{ - color:white; - text-decoration:none; - margin-left: 2px; - margin-right:6px; - margin-top:0px; - font-size:14px; - font-size:1rem; - cursor: pointer; - border:0px; -} -#close_div:hover -{ - background-color: #F93; -} -#popmeout -{ - background-color:#FFFFFF; - color:#0000FF; - text-decoration:none; - border:1px solid #0000FF; - margin-left: 2px; - margin-right:18px; - font-size:12px; - font-size: 0.75rem; -} -#popmeout:hover -{ - background-color: #F93; -} -table.table_large tr.odd ,table.table_large tr.even { - - height:32px; -} -#calc1 -{ - position:absolute; - display:block; - top:30px; - left:150px; - width:300px; - border:1px solid #000000; - background-color:#aec3e8; - padding: 20px 20px; -} -span.invoice -{ - font-style: italic; - display:block; - margin: 20px; - font-weight: bold; -} -a.nav,div.content a.nav,div.redcontent a.nav { - display:inline; - text-decoration:none; -} -a.nav:hover,div.content a.nav:hover,div.redcontent a.nav:hover { - display:inline; - text-decoration:none; - background-color:#00008B; - color:#FFFFFF; -} -#dossier { - display:inline; - float:left; - width:100%; - top:0px; - text-align: center; - font-variant:small-caps; - font-weight: bolder; - } -@media only screen and (min-width: 955px) { -#dossier { - display:inline; - float:left; - width:100%; - top:0px; - text-align: center; - font-variant:small-caps; - font-weight: bolder; - } -} -@media only screen and (max-width: 955px) { -#dossier { - display:inline; - float:left; - width:100%; - top:0px; - text-align: left; - font-variant:small-caps; - font-weight: bolder; - } -} - -div.foldercontent { - font-size:14px; - font-size:0.95rem; - width: 95%; - margin-left: 2.5%; -} - -h1.title { - color: #0000FF; - font-style: italic; - text-align:center; - text-transform: uppercase; -} -h2.title { - background-color: #879ED4; - color:#FFFFFF; - text-align:center; - padding:0.14%; - border:1px solid #00008B; - -} -h3.title { - color: #0000FF; - margin-left: 30px; -} -h4.title { - color: #0000FF; - margin-left: 45px; - text-decoration: underline; -} -h5.title { - color: #0000FF; - margin-left: 45px; - text-decoration: none; - font-style: italic; -} -div.myfieldset -{ - margin-top: 5px; - margin-left:5px; - margin-right: 5px; - border:#EDF3FF 2px groove; - border-radius: 4px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - -} -#info_div { - display:none; - background-color: #FCFFCC; - color:#000000; - z-index: 15; - position: absolute; - top:0px; - left:45%; -} -div.menu2 a.mtitle{ - font-size:13.6px; - font-size:0.80rem; -} -div.menu3 { - font-size:13.6px; - font-size:0.80rem; - -} -#go_submit_id { - -} -.decale { - margin-left:30px; -} -#folder { - border: 1px solid #0000ff; - border-collapse: separate; - border-radius: 10px; - border-spacing: 0px; - box-shadow: 10px 10px 5px #888888; - padding: 5px; - width: 100%; -} -#folder tr { - height: 30px; -} -/*#folder tr.odd,#folder tr.even { - font-size : 1.2em; -}*/ -textarea.itextarea{ - border:solid #0000FF 1px; - width:90%; - margin-left:5%; - height:120px; -} - -div#notice { - position:absolute; - right:5%; - top:200px; - background-color:#FCFFCC; - border: 1px solid #000000; -} -div.name { - position:absolute; - top:0px; - left:0px; - display:block; - } -div#modele_op_div{ - display: none; - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left: 10%; - border:1px solid #00008B; - width: 80%; -} -@media only screen and (min-width: 1015px) { - div.name { - position:absolute; - top:0px; - left:0px; - } - div#modele_op_div{ - display: none; - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left: 4%; - border:1px solid #00008B; - min-width: 75%; - box-shadow: 10px 10px 5px #888888; -} -} -@media only screen and (max-width: 955px) { - div.name { - position:absolute; - top:0px; - left:0px; - display:none; - } - div#modele_op_div{ - display: none; - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left: 10%; - border:1px solid #00008B; - width: 85%; - box-shadow: 10px 10px 5px #888888; -} -} - -div#box_search_card { - position:absolute; - right:15.625%; - top:115px; -} -div.bxbutton -{ - float:right; - height:10px; - display:block; - margin-top:0.48%; - margin-right:0.48%; -} -div.inner_box tr.odd { - background: #E0EBFF; -} -#modele_op_tab tr.odd { - background: #EDF3FF; -} -div#bookmark_div { - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - padding:2px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - border:1px solid #00008B; - top:32px; - top:2rem; - left:30%; - width:40%; -} -div#preference_div { - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - border:1px solid #00008B; - top:32px; - top:2rem; - left:20%; - width:50%; -} -#error_div{ - position:absolute; - border:1px solid #000000; - background-color:#DDE6FF; - padding-bottom: 2px; - padding-top: 2px; - padding-left: 2px; - padding-right: 2px; - color:#FF0000; - top:40%;left:25%; - visibility:hidden; - width:640px; - width:40rem; - z-index:20; -} -#error_div h2 { - background: #FF0000; -} -div#error_content_div { - color:#FF0000; - font-weight: bold; - text-align: center; -} -td.workday ol { - margin:0px; - padding:0px; - list-style-type:none; - text-align:left; -} -input.inum { - text-align:right; - border:1px solid #0000FF; - margin:2px -} -div.box { - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - margin-top:10px; - margin-left:3px; - margin-right:3px; - padding:2px; - overflow:hidden; - border:1px solid #00008B; - width:32%; - height:364px; - float:left; - font-size:14px; - font-size:0.90rem; -} -@media only screen and (max-width: 1426px) { - div.box { - width: 48%; - height: 380px; -} -} -@media only screen and (max-width: 955px) { - div.box { - width: 95%; - height: 380px; - } -} -div.box table{ - border-spacing:0px; - font-size: 95%; -} -div.box tr.odd { - background-color: #F2F6FD; - -} -div.box tr.even { - background-color:#e4e7ed; - -} -#jrn_name_div h2{ - font-size:38.4px; - font-size: 2.4rem; -} -#search_account { - width: 70%; -} -fieldset { - border-width: 1px; -} -#tva_select table { - border-spacing: 0px; -} -#mod_predf_op { - width: 80%; - overflow: auto; -} -/**************************************************************************** - * Tabs - ****************************************************************************/ -ul.tabs { - padding-top: 15px; - display:block; - border-bottom: 1px solid #879ed4; - padding-left: 2px; - list-style: none; -} -ul.tabs a { - display:inline; -} -li.tabs_selected { - display:inline; - background: #C2E3FC; /* Old browsers */ - background: -moz-linear-gradient(top, #C2E3FC 0%, #6393c1 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#C2E3FC), color-stop(100%,#6393c1)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #C2E3FC 0%,#6393c1 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, #C2E3FC 0%,#6393c1 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, #C2E3FC 0%,#6393c1 100%); /* IE10+ */ - background: linear-gradient(to bottom, #C2E3FC 0%,#6393c1 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#C2E3FC', endColorstr='#6393c1',GradientType=0 ); /* IE6-9 */ - color:whitesmoke; - margin-left: 1px; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - border:1px #879ed4 solid; - font-weight: bold; - -} -li.tabs { - display:inline; - background-color: inherit; - color:inherit;margin-left: 1px; - padding: 0px; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - border:1px #879ed4 solid; - -} -li.tabs:hover { - display:inline; - background-color: lightblue; - color:wheat;margin-left: 1px; - padding: 0px; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - border:1px #879ed4 solid; - white-space: nowrap; - -} -@media only screen and (min-width: 1280px) { - li.tabs { - display:inline; - background-color: inherit; - color:inherit;margin-left: 2px; - padding: 15px 7px 0px 10px; - border-top-left-radius: 10px; - border-top-right-radius: 10px; - border:1px #879ed4 solid; - -} - li.tabs:hover { - display:inline; - background-color: lightblue; - color:wheat; - margin-left: 2px; - padding: 10px 7px 0px 10px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - border:1px #879ed4 solid; - } - li.tabs_selected { - padding: 12px 15px 15px 15px; - } -} -ul.tabs a { - text-decoration: none; - color:inherit; - display:inline; - white-space: nowrap; - -} -ul.tabs a:hover { - text-decoration: none; - color:white; - display:inline; - background-color: lightblue; -} -/* - * ???? - */ -.previous_year -{ - text-align:right; - color:black; -} -/***************************************************************************** - * autocomplete style - *****************************************************************************/ - -div.autocomplete_fixed { - background-color:#FFFFFF; - border:1px solid #888; - margin:0px; - padding:0px; - text-align:left; -} -div.autocomplete_fixed em { - color:#0000FF; - font-weight:bold; -} -div.autocomplete_fixed ul { - list-style-type:none; - background-color:#FFFFFF; - border:1px solid blue; - width:300px; - margin:0px; - padding:0px; - } -div.tag { - -} -@media only screen and (max-width: 1280px) { - div.autocomplete_fixed ul { - list-style-type:none; - background-color:#FFFFFF; - border:1px solid blue; - width:300px; - margin:0px; - padding:0px; - } - div.tag { - - } - -} -@media only screen and (min-width: 1281px) { - div.autocomplete_fixed ul { - list-style-type:none; - background-color:#FFFFFF; - border:1px solid blue; - width:500px; - margin:0px; - padding:0px; - } - div.tag { - width: 50%; - } - - -} -div.autocomplete_fixed ul li.selected { - background-color: #DDE6FF; - border-bottom: 1px solid black; -} - -div.autocomplete_fixed ul li { - list-style-type:none; - display:block; - margin:0px; - padding:0px; - cursor:pointer; -} -#popup { - font-size:0.9rem; -} -hr { - width:95%; - margin-left:2.5%; - background:blue; - height:2px; - -} -/****************************************************************************** - * Hightlight row in a table - ******************************************************************************/ -tr.highlight{ - font-weight: bolder; - font-size:14px; - background-color: #334975 !important; - color:white !important; - border-width: 2px; - border-style: solid; - border-color: blue; -} -tr.highlight a{ - color:white !important; - -} -*|*:link { - color: inherit; -} -/******************************************************************************* - * Inner_box on a smaller screen - *******************************************************************************/ -@media only screen and (min-width: 1280px) { - div.inner_box { - width: 95%; - left:2%; - margin-bottom: 2%; - } -} -/***************************************************************************** - * Table of one column to present menu - * as in CFGLED, FORECAST, REPORT - *****************************************************************************/ -table.vert_mtitle { - text-align:center; - /* border:5px solid #99B1DF; */ - border-radius:5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - - width:80%; - margin-left: 10%; - border-collapse: separate; - border-spacing: 10px; - - -} -table.vert_mtitle td.first { - background-color: #DCE1EF; -} -table.vert_mtitle td { - border : 1px solid #99B1DF; - background-color:#EDEDED; - border-top-radius:20px; -} -table.vert_mtitle td a{ - padding : 20px; - font-weight: bold; -} -table.vert_mtitle td:hover { - border : 1px solid #99B1DF; - background-color: #336699; - color:white; -} -table.vert_mtitle td:hover a{ - color:white; - -} - -/******************************************************************************* - * Tiny button example : -X for remove action, remove link... - *******************************************************************************/ -div.content a.tinybutton,a.tinybutton{ - color: blue; - font-weight: bold; - text-decoration: none; - font-family: arial,verdana,sans-serif,helvetica; - /* background-image: url("image/bg-submit2.gif"); - background-repeat: repeat-x; - background-position: left; */ - font-size: 8px; - font-size: 0.7rem; - padding-bottom: 0px; - padding-top: 0px; - padding-right: 0px; - padding-left: 0px; - margin-top: 3px; - cursor: pointer; - margin: 1px 2px 1px 2px; - border-width: 1px; - border-style: solid; - border-color: blue; - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - - display : inline; -} -input[type="button"].tinybutton { - color: blue; - font-weight: bold; - text-decoration: none; - font-family: arial,verdana,sans-serif,helvetica; - font-size: 8px; - font-size: 0.7rem; - padding-bottom: 0px; - padding-top: 0px; - padding-right: 0px; - padding-left: 0px; - margin-top: 3px; - cursor: pointer; - margin: 1px 2px 1px 2px; - border-width: 1px; - border-style: solid; - border-color: blue; - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - - display : inline; -} -/******************************************************************************* - Image Search -*******************************************************************************/ -.image_search { - cursor:pointer; - width:16px; - height:16px; - vertical-align: top; - background-image: url("image/bg-submit2.gif"); - background-repeat: repeat-x; - background-position: left; - - padding : 3px; - -} -/**************************************************************************** - * Aligned button - ****************************************************************************/ -ul.aligned-block { - padding:5px; - display : block; -} -ul.aligned-block li { - display:table-cell; - padding : 10px; - list-style: none; -} -/****************************************************************************** - * Total in confirmation VEN / ACH - ******************************************************************************/ -#total_div_id { - float: right; - margin-right: 150px; - background: snow; - margin-top: 50px; -} -/*************************************************************************** - * column in the dashboard - ***************************************************************************/ - -td.cut { - max-width: 25%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -td.box { - border-left: #9999ff solid 1px; -} - -/**************************************************************************** -* Smoke appearance of modal box - ****************************************************************************/ -.smoke-base { - position: fixed; - top: 0px; - left: 0px; - bottom: 0px; - right: 0px; - visibility: hidden; - opacity: 0; - background: rgba(0,0,0,.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#90000000,endColorstr=#900000000); -} - -.smoke-base.smoke-visible { - opacity: 1; - visibility: visible; -} - -.smokebg { - position: fixed; - top: 0px; - left: 0px; - bottom: 0px; - right: 0px; -} - -.smoke-base .dialog { - position: absolute; - top: 25%; - width: 40%; - left: 50%; - margin-left: -20%; -} - -.dialog-prompt { - margin-top: 15px; - text-align: center; -} - -.dialog-buttons { - margin: 20px 0px 5px 0px -} - -.smoke { - text-align: center; - background-color: #DCE1EF; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - - padding:2px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left:10%; - border:1px solid #00008B; --moz-box-shadow: 10px 10px 5px #888; --webkit-box-shadow: 10px 10px 5px #888; -box-shadow: 10px 10px 5px #888; -font-size:14.4px; -font-size:0.90rem; -width: 85%; -} -.dialog-buttons button:hover{ - color:beige; - font-weight: bold; -} -.dialog-buttons button { - color:#FFFFFF; - font-weight: normal; - text-decoration:none; - background: #606c88; /* Old browsers */ - background: -moz-linear-gradient(top, #606c88 0%, #3f4c6b 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#606c88), color-stop(100%,#3f4c6b)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* IE10+ */ - background: linear-gradient(to bottom, #606c88 0%,#3f4c6b 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#606c88', endColorstr='#3f4c6b',GradientType=0 ); /* IE6-9 */ - border-color: #605D5D; - border-width:0px; - padding:4px; - margin:3px; - cursor:pointer; - margin:1px 2px 1px 2px; - border-radius: 5px; - moz-border-radius:5px; - width:7em; - width:7rem; -} - -.dialog-prompt input { - margin: 0; - border: 0; - font-family: sans-serif; - outline: none; - font-family: Menlo, 'Andale Mono', monospace; - border: 1px solid #aaa; - width: 75%; - display: inline-block; - background-color: transparent; - font-size: 16px; - padding: 8px; -} - -.smoke-base .dialog-inner { - padding: 15px; - - color:#202020; -} - -button.cancel { - background-color: rgba(0,0,0,.40); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#444444,endColorstr=#444444); -} - -.queue{ - display:none; -} diff --git a/sources/html/style-mandarine.css b/sources/html/style-mandarine.css deleted file mode 100644 index 05a609d..0000000 --- a/sources/html/style-mandarine.css +++ /dev/null @@ -1,2086 +0,0 @@ - /* */ -#add_todo_list { - border:1px solid #FF7F50; - display:none; - background-color:#FFCC99; - padding:0.07%; - position:absolute; - text-align:left; - z-index:1; - width: 480px; - width:30rem; - height:auto; -} -div.welcome { - -} -div.gest_name { - float:left; - margin-left:150px; - margin-top:15px; -} -h2.gest_name { - border-left: 5px solid #403a8d; - border-bottom:1px solid #b4bbc2; - border-top:1px solid #b4bbc2; - border-right:1px solid #b4bbc2; - padding: 5px; - width: 40%; -} -body.op_detail_frame,div.op_detail_frame { - background-color: #FFF1ED; - height:100%; width:100%; --moz-box-shadow: 10px 10px 5px #888; --webkit-box-shadow: 10px 10px 5px #888; -box-shadow: 10px 10px 5px #888; - - -} -div.inner_box { - background-color: #FAF3EC; - font-family: "Liberation Sans", FreeSans, sans-serif,Arial, Helvetica; - padding:2px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left:10%; - border:1px solid #6D3F2E; --moz-box-shadow: 10px 10px 5px #888; --webkit-box-shadow: 10px 10px 5px #888; -box-shadow: 10px 10px 5px #888; -font-size:14.4px; -font-size:0.90rem; - width: 95%; -} -@media only screen and (min-width: 1281px) { -div.inner_box { - width: 85%; - } -} -@media only screen and (max-width: 1280px) { -div.inner_box { - width: 95%; - left:2%; - margin-bottom: 2%; - } -} -div.op_detail_title { - background-color:#888; - /* width:500;*/ - - -} - -div#div_cat{ - position:absolute; - border:1px solid #000000; - top:15%;left:100; - visibility:hidden; - z-index:2; - width:50em; - background-color:#FFFFCC; - -} - -div.divinfo -{ - color:#FF0000; - text-align:right; - display:block; - width: 480px; - width:30rem; - height:13px; - font-weight:bold; -} - -div#search_form -{ - position:absolute; - border:1px solid #000000; - top:15%;left:100px; - margin-left:25%; - z-index:2; - width:50%; - display:none; - background-color:#FFF1ED; - -moz-box-shadow: 10px 10px 5px #888; - -webkit-box-shadow: 10px 10px 5px #888; - box-shadow: 10px 10px 5px #888; -} -@media only screen and (max-width: 995px) { - div#search_form { - width:90%; - margin-left:5%; - left:0px; - } -} - -table.sortable td, table.table_large td, table.result td -{ - padding-left:5px; - padding-right:5px; -} -table.info_op -{ - width:100%; -} -table.info_op tr -{ - background:#FFFFFF; -} -h2#jrn_name -{ - color:#FF7F50; - margin-right:30%; - float: right; -} -tr.footer{ - font-style: italic; - font-weight: bold; - -} -span.remain { - font-weight: bold; - color:#000000; -} -div#jrn_name_div -{ - float: right; - margin-right:150px; - - -} -#predef_form { - margin-left:20%; - width:60%; - position: absolute; -} - -@media only screen and (min-width: 955px) { - div#jrn_name_div - { - float: right; - margin-right:150px; - - - } - #predef_form { - margin-left:20%; - width:60%; - position: absolute; - } -} -@media only screen and (max-width: 955px) { - div#jrn_name_div - { - } - #predef_form { - } -} -#direct -{ - display:inline; - float:left; -} -#calc -{ - display:inline; - float:left; -} -div#wait_box -{ - background-color:#FFCC99; - font-family: arial,verdana,helvetica,arial,sans-serif; - width: 300px; - padding:0px; - margin:0px; - overflow:hidden; - z-index:10; - - position:absolute; - left:30%; - top:30%; - - - border:1px solid #6D3F2E; - - width: 260px; - widt: 260px; -} -#wait_box h2 -{ - /* color:#000000; */ - text-align:center; - /* width: 50%; */ -} -div#div_jrnsearch_op{ - - border:1px solid #000000; - width: 800px; - width:50rem; - background-color:#FFFFCC; - z-index: 5; - -} -ul { - padding-left: 110px; -} -a.line,div.content a.line -{ - text-decoration:underline; - display:inline; - cursor: pointer; - - /* color: #FF7F50; */ -} -a.line:hover,div_content a.line -{ - text-decoration:underline; - display:inline; - color: #FFFFFF; - background-color:#336699; -} -#close_div -{ - color:white; - text-decoration:none; - margin-left: 2px; - margin-right:2px; - margin-top:3px; - font-size:12px; - font-size:0.90rem; - cursor: pointer; - cursor: pointer; - border:0px; - font-size:20px; -} -#close_div:hover -{ - background-color: #F93; -} -#popmeout -{ - background-color:#FFFFFF; - color:#FF7F50; - text-decoration:none; - border:1px solid #FF7F50; - margin-left: 2px; - margin-right:18px; - font-size:12px; - font-size: 0.75rem; - cursor: pointer; - -} -#popmeout:hover -{ - background-color: #F93; -} -table.table_large tr.odd ,table.table_large tr.even { - - height:32px; -} -#calc1 -{ - position:absolute; - display:block; - top:30px; - left:150px; - width:300px; - border:1px solid #000000; - background-color:#FFCC99; - padding: 20px 20px; -} -span.invoice -{ - font-style: italic; - display:block; - margin: 20px; - font-weight: bold; -} -a.nav,div.content a.nav,div.redcontent a.nav { - display:inline; - text-decoration:none; - cursor: pointer; - -} -a.nav:hover,div.content a.nav:hover,div.redcontent a.nav:hover { - display:inline; - text-decoration:none; - background-color:#6D3F2E; - color:#FFFFFF; -} -#dossier { - display:inline; - float:left; - width:100%; - top:0px; - text-align: center; - font-variant:small-caps; - font-weight: bolder; - } -@media only screen and (min-width: 955px) { -#dossier { - display:inline; - float:left; - width:100%; - top:0px; - text-align: center; - font-variant:small-caps; - font-weight: bolder; - } -} -@media only screen and (max-width: 955px) { -#dossier { - display:inline; - float:left; - width:100%; - top:0px; - text-align: left; - font-variant:small-caps; - font-weight: bolder; - } -} - -div.foldercontent { - font-size:14px; - font-size:0.95rem; - width: 80%; - margin-left: 10%; -} - -h1.title { - color: #FF7F50; - font-style: italic; - text-align:center; - text-transform: uppercase; -} -h2.title { -/* - background: -moz-linear-gradient(top, rgba(242,130,91,0.94) 0%, rgba(229,91,43,0.98) 62%, rgba(240,113,70,0.99) 73%, rgba(240,113,70,1) 100%); FF3.6+ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(242,130,91,0.94)), color-stop(62%,rgba(229,91,43,0.98)), color-stop(73%,rgba(240,113,70,0.99)), color-stop(100%,rgba(240,113,70,1))); Chrome,Safari4+ - background: -webkit-linear-gradient(top, rgba(242,130,91,0.94) 0%,rgba(229,91,43,0.98) 62%,rgba(240,113,70,0.99) 73%,rgba(240,113,70,1) 100%); Chrome10+,Safari5.1+ - background: -o-linear-gradient(top, rgba(242,130,91,0.94) 0%,rgba(229,91,43,0.98) 62%,rgba(240,113,70,0.99) 73%,rgba(240,113,70,1) 100%); Opera 11.10+ - background: -ms-linear-gradient(top, rgba(242,130,91,0.94) 0%,rgba(229,91,43,0.98) 62%,rgba(240,113,70,0.99) 73%,rgba(240,113,70,1) 100%); IE10+ - background: linear-gradient(to bottom, rgba(242,130,91,0.94) 0%,rgba(229,91,43,0.98) 62%,rgba(240,113,70,0.99) 73%,rgba(240,113,70,1) 100%); W3C - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0f2825b', endColorstr='#f07146',GradientType=0 ); IE6-9 */ -/* Other test */ -/*background: #feccb1; Old browsers -background: -moz-linear-gradient(top, #feccb1 0%, #f17432 50%, #ea5507 51%, #fb955e 100%); FF3.6+ -background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#feccb1), color-stop(50%,#f17432), color-stop(51%,#ea5507), color-stop(100%,#fb955e)); Chrome,Safari4+ -background: -webkit-linear-gradient(top, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); Chrome10+,Safari5.1+ -background: -o-linear-gradient(top, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); Opera 11.10+ -background: -ms-linear-gradient(top, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); IE10+ -background: linear-gradient(to bottom, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); W3C -filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#feccb1', endColorstr='#fb955e',GradientType=0 ); IE6-9 */ - background: rgb(255,100,86); /* Old browsers */ -background: -moz-linear-gradient(top, rgba(255,100,86,1) 11%, rgba(207,4,4,1) 67%); /* FF3.6+ */ -background: -webkit-gradient(linear, left top, left bottom, color-stop(11%,rgba(255,100,86,1)), color-stop(67%,rgba(207,4,4,1))); /* Chrome,Safari4+ */ -background: -webkit-linear-gradient(top, rgba(255,100,86,1) 11%,rgba(207,4,4,1) 67%); /* Chrome10+,Safari5.1+ */ -background: -o-linear-gradient(top, rgba(255,100,86,1) 11%,rgba(207,4,4,1) 67%); /* Opera 11.10+ */ -background: -ms-linear-gradient(top, rgba(255,100,86,1) 11%,rgba(207,4,4,1) 67%); /* IE10+ */ -background: linear-gradient(to bottom, rgba(255,100,86,1) 11%,rgba(207,4,4,1) 67%); /* W3C */ -filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff6456', endColorstr='#cf0404',GradientType=0 ); /* IE6-9 */ - color:#FFFFFF; - text-align:center; - padding:0.24%; - border:1px solid #6D3F2E; - -} -h3.title { - color: #FF7F50; - margin-left: 30px; -} -h4.title { - color: #FF7F50; - margin-left: 45px; - text-decoration: underline; -} -h5.title { - color: #FF7F50; - margin-left: 45px; - text-decoration: none; - font-style: italic; -} -div.myfieldset -{ - margin-top: 5px; - margin-left:5px; - margin-right: 5px; - border:#FFFFCC 2px groove; - border-radius: 4px; -} -#info_div { - display:none; - background-color: #FCFFCC; - color:#000000; - z-index: 15; - position: absolute; - top:0px; - left:45%; -} -div.menu3 { - font-size:13.6px; - font-size:0.85rem; - -} -#go_submit_id { - -} -.decale { - margin-left:30px; -} -#folder { - border-width:1px; - border-collapse: separate; - margin-left: 5%; - width: 90%; - border-radius: 9px; - border-style:solid; - padding : 5px; - border-color: #DF3F3F; -} -#folder tr { - height: 33px; -} -/*#folder tr.odd,#folder tr.even { - font-size : 1.2em; -}*/ -textarea.itextarea{ - border:solid #FF7F50 1px; - width:90%; - margin-left:5%; - height:120px; - color:rgb(165, 42, 42); -} - -div#notice { - position:absolute; - right:5%; - top:200px; - background-color:#FCFFCC; - border: 1px solid #000000; -} -div.name { - position:absolute; - top:0px; - left:0px; - display:block; -} -div#modele_op_div{ - display: none; - background-color:#FFF1ED; - font-family: "Liberation Sans", FreeSans, sans-serif,Arial, Helvetica; - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left: 10%; - border:1px solid #6D3F2E; - width: 80%; -} -@media only screen and (min-width: 955px) { - div.name { - position:absolute; - top:0px; - left:0px; - display: block; - } - div#modele_op_div{ - display: none; - background-color:#FFF1ED; - font-family: "Liberation Sans", FreeSans, sans-serif,Arial, Helvetica; - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left: 17.5%; - border:1px solid #6D3F2E; - width: 75%; -} -} -@media only screen and (max-width: 955px) { - div.name { - position:absolute; - top:0px; - left:0px; - display:none; - } - div#modele_op_div{ - display: none; - background-color:#FFF1ED; - font-family: "Liberation Sans", FreeSans, sans-serif,Arial, Helvetica; - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left: 10%; - border:1px solid #6D3F2E; - width: 80%; -} -} - -div#box_search_card { - position:absolute; - right:15.625%; - top:115px; -} -div.bxbutton -{ - float:right; - height:10px; - display:block; - margin-right:0.48%; - margin-top:3px; -} -div.inner_box tr.odd { -} -#modele_op_tab tr.odd { - background: #FFFFCC; -} -div#bookmark_div { - background-color:#FFF1ED; - font-family: "Liberation Sans", FreeSans, sans-serif,Arial, Helvetica; - padding:2px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - border:1px solid #6D3F2E; - top:32px; - top:2rem; - left:30%; - width:40%; -} -div#preference_div { - background-color:#FFF1ED; - font-family: "Liberation Sans", FreeSans, sans-serif,Arial, Helvetica; - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - border:1px solid #6D3F2E; - top:32px; - top:2rem; - left:20%; - width:50%; -} -#error_div{ - position:absolute; - border:1px solid #000000; - background-color:#FFCC99; - padding-bottom: 2px; - padding-top: 2px; - padding-left: 2px; - padding-right: 2px; - color:#FF0000; - top:40%;left:25%; - visibility:hidden; - width: 640px; - width:40rem; - z-index:20; -} -#error_div h2 { - background: #FF0000; -} -div#error_content_div { - color:#FF0000; - font-weight: bold; - text-align: center; -} -td.workday ol { - margin:0px; - padding:0px; - list-style-type:none; - text-align:left; -} -input.inum { - text-align:right; - border:1px solid #FF7F50; - margin:2px -} -div.box { - background-color:#FFF1ED; - font-family: "Liberation Sans", FreeSans, sans-serif,Arial, Helvetica; - margin-top:10px; - margin-left:3px; - margin-right:3px; - padding:2px; - overflow:hidden; - border:1px solid #6D3F2E; - width:30%; - height:350px; - float:left; - font-size:14px; - font-size:0.90rem; -} -@media only screen and (max-width: 1426px) { - div.box { - width: 48%; - height: 380px; - } -} -@media only screen and (max-width: 955px) { - div.box { - width: 95%; - - height: 380px; -} -} -div.box table{ - border-spacing:0px; -} -div.box tr.odd { - background-color: #FFF1ED; - -} -div.box tr.even { - background-color:#FFF1ED; - -} -#jrn_name_div h2{ - font-size:38.4px; - font-size: 2.4rem; -} -#search_account { - width: 70%; -} -fieldset { - border-width: 1px; -} -#tva_select table { - border-spacing: 0px; -} -a { - color: brown; -/* text-decoration: underline; */ - cursor: pointer; -} -#mod_predf_op { - width: 80%; - overflow: auto; - overflow-style: panner; -} -hr { - color : orangered; - background-color : orangered; - width : 75%; - border-width:2px; - border-style:solid; - margin-left: 12.5% -} - -/**************************************************************************** - * Aligned button - ****************************************************************************/ -ul.aligned-block { - padding:5px; - display : block; -} -ul.aligned-block li { - display:table-cell; - padding : 10px; - list-style: none; -} -/**************************************************************************** - * Tabs - ****************************************************************************/ -ul.tabs { - padding-top: 15px; - display:block; - border-bottom: 1px solid red; - padding-left: 2px -} -ul.tabs a { - display:inline; -} -li.tabs_selected { - display:inline; - background: #F9C5B6; /* Old browsers */ - border-top-left-radius: 10px; - border-top-right-radius: 10px; - margin-left: 5px; - padding: 20px 15px 0px 15px; - border:1px red solid; -} - -li.tabs,li.tabs:hover{ - display:inline; - margin-left: 5px; - border-top-right-radius: 10px; - padding: 15px 15px 0px 15px; - border:1px red solid; - color:rgb(165, 42, 42); -} -li.tabs { - background-color: inherit; - -} -li.tabs:hover { - background-color: pink; - color:wheat; - border:1px orange solid; - -} -ul.tabs a { - text-decoration: none; - color:inherit; - display:inline; - white-space: nowrap; - -} -ul.tabs a:hover { - text-decoration: none; - color:red; - display:inline; - background-color: pink; - white-space: nowrap; -} -@media only screen and (max-width: 1426px) { - li.tabs_selected { - padding: 8px 10px 10px 10px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - } - li.tabs , li.tabs:hover { - padding: 10px 10px 0px 10px; - } -} -@media only screen and (max-width: 955px) { - li.tabs_selected { - padding: 1px 1px 1px 1px; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - } - li.tabs , li.tabs:hover { - padding: 1px 1px 1px 1px; - } -} -/***************************************************************************** - * Second row of menu - *****************************************************************************/ -div.menu2 a.mtitle{ - font-size:13.6px; - font-size:0.85rem; - padding-left: 2%; - padding-right: 2%; -} - -div.menu2 table.mtitle td.mtitle { - border:0px; - background:inherit; - color:white; - /* width: 10rem; */ - border-spacing: 12px; - border-bottom: 2px #E95353 solid; - border-radius: 0px; - -} -div.menu2 table.mtitle td.mtitle a.mtitle { - color:red; - padding-left: 2%; - padding-right: 2%; - cursor:pointer; -} -/***************************************************************************** - * Table of one column to present menu - * as in CFGLED, FORECAST, REPORT - *****************************************************************************/ -table.vert_mtitle { - text-align:center; - /* border:5px solid #99B1DF; */ - border-radius:5px; - width:80%; - margin-left: 10%; - border-collapse: separate; - border-spacing: 10px; - - -} -table.vert_mtitle td.first { - background-color: #FFBC93; - color:#DF3F3F; -} -table.vert_mtitle td.first a { - background-color: #FFBC93; - color:#DF3F3F; -} -table.vert_mtitle td { - border : 1px solid #99B1DF; - background-color:#FFD4BA; - border-top-radius:20px; -} -table.vert_mtitle td a{ - padding : 20px; - font-weight: bold; -} -table.vert_mtitle td:hover { - border : 1px solid #99B1DF; - background-color: #336699; - color:white; -} -table.vert_mtitle td:hover a{ - color:white; - -} -/******************************************************************************* - * Tiny button example : -X for remove action, remove link... - *******************************************************************************/ -div.content a.tinybutton{ - color: red; - font-weight: bold; - text-decoration: none; - font-family: arial,verdana,sans-serif,helvetica; - font-size: 8px; - font-size: 0.7rem; - padding-bottom: 0px; - padding-top: 0px; - padding-right: 0px; - padding-left: 0px; - margin-top: 3px; - cursor: pointer; - margin: 1px 2px 1px 2px; - border-width: 1px; - border-style: solid; - border-color: blue; - border-radius: 2px; - display : inline; -} -input[type="button"].tinybutton { - color: red; - font-weight: blue; - text-decoration: none; - font-family: arial,verdana,sans-serif,helvetica; - font-size: 8px; - font-size: 0.7rem; - padding-bottom: 0px; - padding-top: 0px; - padding-right: 0px; - padding-left: 0px; - margin-top: 3px; - cursor: pointer; - margin: 1px 2px 1px 2px; - border-width: 1px; - border-style: solid; - border-color: red; - border-radius: 2px; - display : inline; - background-color:white; -} -/******************************************************************************* - Image Search -*******************************************************************************/ -.image_search { - cursor:pointer; - width:16px; - height:16px; - vertical-align: top; - border-radius: 2px; - - border-width: 1px; - border-color: #6D3F2E; - background: #feccb1; /* Old browsers */ -background: -moz-linear-gradient(top, #feccb1 0%, #f17432 50%, #ea5507 51%, #fb955e 100%); /* FF3.6+ */ -background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#feccb1), color-stop(50%,#f17432), color-stop(51%,#ea5507), color-stop(100%,#fb955e)); /* Chrome,Safari4+ */ -background: -webkit-linear-gradient(top, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); /* Chrome10+,Safari5.1+ */ -background: -o-linear-gradient(top, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); /* Opera 11.10+ */ -background: -ms-linear-gradient(top, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); /* IE10+ */ -background: linear-gradient(to bottom, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); /* W3C */ -filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#feccb1', endColorstr='#fb955e',GradientType=0 ); /* IE6-9 */ - - padding : 3px; - -} -/****************************************************************************** - * Hightlight row in a table - ******************************************************************************/ -tr.highlight{ - font-weight: bolder; - font-size:14px; - background-color: lightgrey ! important; - color:orangered !important; - border-width: 0px; - border-style: solid; - border-color: inherit; - -} -tr.highlight a{ - color:white !important; - background-color:grey !important; - -} -//--- Top menu and menu2 -div.topmenu a.mtitle , div.menu2 a.mtitle{ - font-size:13.6px; - font-size:0.85rem; - color:red; -} -div.topmenu a.mtitle:hover,div.menu2 a.mtitle:hover{ - color:red; - background-color: transparent; -} -div.topmenu td.selectedcell a.mtitle, div.menu2 a.mtitle{ - font-size:13.6px; - font-size:0.85rem; -} -*|*:link { - color: inherit; -} -/****************************************************************************** - * Total in confirmation VEN / ACH - ******************************************************************************/ -#total_div_id { - float: right; - margin-right: 150px; - background: snow; - margin-top: 50px; -} -/******************************************************************************* - * For TODO List - *******************************************************************************/ -#add_todo_list , div.add_todo_list { - border:1px solid #0000FF; - background-color:#FFCCCC; - padding:0.07%; - position:absolute; - text-align:left; - z-index:1; - width:480px; - width:30rem; - height:auto; -} -/*************************************************************************** - * column in the dashboard - ***************************************************************************/ -td.cut { - max-width: 25%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -td.box { - border-left : #C76626 solid 1px; -} - -/**************************************************************************** -* Smoke appearance of modal box - ****************************************************************************/ -.smoke-base { - position: fixed; - top: 0px; - left: 0px; - bottom: 0px; - right: 0px; - visibility: hidden; - opacity: 0; - background: rgba(0,0,0,.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#90000000,endColorstr=#900000000); -} - -.smoke-base.smoke-visible { - opacity: 1; - visibility: visible; -} - -.smokebg { - position: fixed; - top: 0px; - left: 0px; - bottom: 0px; - right: 0px; -} - -.smoke-base .dialog { - position: absolute; - top: 25%; - width: 40%; - left: 50%; - margin-left: -20%; -} - -.dialog-prompt { - margin-top: 15px; - text-align: center; -} - -.dialog-buttons { - margin: 20px 0px 5px 0px -} - -.smoke { - text-align: center; - background-color:#FFF1ED ; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - - padding:2px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left:10%; - border:1px solid #white; --moz-box-shadow: 10px 10px 5px #888; --webkit-box-shadow: 10px 10px 5px #888; -box-shadow: 10px 10px 5px #888; -font-size:14.4px; -font-size:0.90rem; -width: 85%; -} -.dialog-buttons button:hover{ - color:beige; - font-weight: bold; -} -.dialog-buttons button { - color:#FFFFFF; - font-weight: normal; - text-decoration:none; - - border-color: #6D3F2E; - background: #feccb1; /* Old browsers */ -background: -moz-linear-gradient(top, #feccb1 0%, #f17432 50%, #ea5507 51%, #fb955e 100%); /* FF3.6+ */ -background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#feccb1), color-stop(50%,#f17432), color-stop(51%,#ea5507), color-stop(100%,#fb955e)); /* Chrome,Safari4+ */ -background: -webkit-linear-gradient(top, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); /* Chrome10+,Safari5.1+ */ -background: -o-linear-gradient(top, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); /* Opera 11.10+ */ -background: -ms-linear-gradient(top, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); /* IE10+ */ -background: linear-gradient(to bottom, #feccb1 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); /* W3C */ -filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#feccb1', endColorstr='#fb955e',GradientType=0 ); /* IE6-9 */ - border-color: #605D5D; - border-width:0px; - padding:4px; - margin:3px; - cursor:pointer; - margin:1px 2px 1px 2px; - border-radius: 5px; - moz-border-radius:5px; - width:7em; - width:7rem; -} - -.dialog-prompt input { - margin: 0; - border: 0; - font-family: sans-serif; - outline: none; - font-family: Menlo, 'Andale Mono', monospace; - border: 1px solid #aaa; - width: 75%; - display: inline-block; - background-color: transparent; - font-size: 16px; - padding: 8px; -} - -.smoke-base .dialog-inner { - padding: 15px; - - color:#202020; -} - -button.cancel { - background-color: rgba(0,0,0,.50); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#2000,endColorstr=#444444); -} - -.queue{ - display:none; -} - -/***************************************************************************** - * autocomplete style - *****************************************************************************/ - -div.autocomplete_fixed { - background-color:#FFFFFF; - border:1px solid #C76626; - margin:0px; - padding:0px; - text-align:left; -} -div.autocomplete_fixed em { - color: #C76626; - font-weight:bold; -} -div.autocomplete_fixed ul { - list-style-type:none; - background-color:#FFFFFF; - border:1px solid blue; - width:300px; - margin:0px; - padding:0px; - } -div.tag { - -} -@media only screen and (max-width: 1280px) { - div.autocomplete_fixed ul { - list-style-type:none; - background-color:#FFFFFF; - border:1px solid blue; - width:300px; - margin:0px; - padding:0px; - } - div.tag { - - } - -} -@media only screen and (min-width: 1281px) { - div.autocomplete_fixed ul { - list-style-type:none; - background-color:#FFFFFF; - border:#EF5F2B 1px solid; - width:500px; - margin:0px; - padding:0px; - } - div.tag { - width: 50%; - } - - -} -div.autocomplete_fixed ul li.selected { - background-color: #feccb1; - border-bottom: #000000 1px solid ; -} - -div.autocomplete_fixed ul li { - list-style-type:none; - display:block; - margin:0px; - padding:0px; - cursor:pointer; -} \ No newline at end of file diff --git a/sources/html/style-mobile.css b/sources/html/style-mobile.css deleted file mode 100644 index 008a3a8..0000000 --- a/sources/html/style-mobile.css +++ /dev/null @@ -1,2036 +0,0 @@ - /* */ -#add_todo_list,div.add_todo_list { - border:1px solid #605D5D; - background-color:#DDE6FF; - padding:0.07%; - position:absolute; - text-align:left; - z-index:1; - width: 480px; - width:30rem; - height:auto; -} -div.welcome { - -} -div.gest_name { - float:left; - margin-left:150px; - margin-top:15px; -} -h2.gest_name { - border-left: 5px solid #403a8d; - border-bottom:1px solid #b4bbc2; - border-top:1px solid #b4bbc2; - border-right:1px solid #b4bbc2; - padding: 5px; - width: 40%; -} -body.op_detail_frame,div.op_detail_frame { - background-color:#e4e7ed; - height:100%; width:100%; --moz-box-shadow: 10px 10px 5px #888; --webkit-box-shadow: 10px 10px 5px #888; -box-shadow: 10px 10px 5px #888; - - -} -div.inner_box { - background-color: #DCE1EF; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - - padding:2px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left:10%; - border:1px solid #00008B; --moz-box-shadow: 10px 10px 5px #888; --webkit-box-shadow: 10px 10px 5px #888; -box-shadow: 10px 10px 5px #888; -font-size:14.4px; -font-size:0.90rem; -width: 85%; -} - -@media only screen and (min-width: 1281px) { -div.inner_box { - width: 85%; - } -} - -@media only screen and (max-width: 1280px) { -div.inner_box { - width: 95%; - left:2%; - margin-bottom: 2%; - } -} -div.op_detail_title { - background-color:#888; - /* width:500;*/ - - -} - -div#div_cat{ - position:absolute; - border:1px solid #000000; - top:15%;left:100; - visibility:hidden; - z-index:2; - width:50em; - background-color:#EDF3FF; - -} - -div.divinfo -{ - color:#FF0000; - text-align:right; - display:block; - width:480px; - width:30rem; - height:13px; - font-weight:bold; -} - -div#search_form -{ - position:absolute; - border:1px solid #000000; - top:15%;left:100px; - z-index:2; - width:50%; - display:none; - background-color:#e4e7ed; - -moz-box-shadow: 10px 10px 5px #888; - -webkit-box-shadow: 10px 10px 5px #888; - box-shadow: 10px 10px 5px #888; - width:90%; -} -@media only screen and (max-width: 995px) { - div#search_form { - width:90%; - margin-left:5%; - left:0px; - } -} - -table.sortable td, table.table_large td, table.result td -{ - padding-left:5px; - padding-right:5px; -} -table.info_op -{ - width:100%; -} -table.info_op tr -{ - background:#FFFFFF; -} -h2#jrn_name -{ - color:#605D5D; - margin-right:30%; - float: right; -} -tr.footer{ - font-style: italic; - font-weight: bold; - -} -span.remain { - font-weight: bold; - color:#000000; -} - div#jrn_name_div - { - float: right; - margin-right:150px; - - - } - #predef_form { - margin-left:20%; - width:60%; - position:absolute; - z-index:2 - } -@media only screen and (min-width: 955px) { - div#jrn_name_div - { - float: right; - margin-right:150px; - - - } - #predef_form { - margin-left:20%; - width:60%; - position:absolute; - z-index:2 - } -} -@media only screen and (max-width: 955px) { - div#jrn_name_div - { - } - #predef_form { - } -} -#direct -{ - display:inline; - float:left; -} -#calc -{ - display:inline; - float:left; -} -div#wait_box -{ - background-color:#DDE6FF; - font-family: arial,verdana,helvetica,arial,sans-serif; - width: 300px; - padding:0px; - margin:0px; - overflow:hidden; - z-index:10; - - position:absolute; - left:30%; - top:30%; - - - border:1px solid #00008B; - - width: 260px; - widt: 260px; -} -#wait_box h2 -{ - /* color:#000000; */ - text-align:center; - /* width: 50%; */ -} -div#div_jrnsearch_op{ - - border:1px solid #000000; - width:800px; - width:50rem; - background-color:#EDF3FF; - z-index: 5; - -} -ul { - padding-left: 110px; -} -a.line,div.content a.line -{ - text-decoration:underline; - display:inline; - /* color: #605D5D; */ -} -a.line:hover,div_content a.line -{ - text-decoration:underline; - display:inline; - color: #FFFFFF; - background-color:#336699; -} -#close_div -{ - color:white; - text-decoration:none; - border:0px; - margin-left: 2px; - margin-right:2px; - margin-top:2px; - font-size:12px; - font-size: 1.2rem; -} -#close_div:hover -{ - background-color: #F93; -} -#popmeout -{ - background-color:#FFFFFF; - color:#605D5D; - text-decoration:none; - border:1px solid #605D5D; - margin-left: 2px; - margin-right:18px; - font-size:12px; - font-size: 0.75rem; -} -#popmeout:hover -{ - background-color: #F93; -} -table.table_large tr.odd ,table.table_large tr.even { - - height:32px; -} -#calc1 -{ - position:absolute; - display:block; - top:30px; - left:150px; - width:300px; - border:1px solid #000000; - background-color:#aec3e8; - padding: 20px 20px; -} -span.invoice -{ - font-style: italic; - display:block; - margin: 20px; - font-weight: bold; -} -a.nav,div.content a.nav,div.redcontent a.nav { - display:inline; - text-decoration:none; -} -a.nav:hover,div.content a.nav:hover,div.redcontent a.nav:hover { - display:inline; - text-decoration:none; - background-color:#00008B; - color:#FFFFFF; -} -#dossier { - display:inline; - float:left; - width:100%; - top:0px; - text-align: center; - font-variant:small-caps; - font-weight: bolder; - text-transform: full-width; - text-transform: fullwidth; - font-size: 150%; -} -@media only screen and (min-width: 955px) { -#dossier { - display:inline; - float:left; - width:100%; - top:0px; - text-align: center; - font-variant:small-caps; - font-weight: bolder; - text-transform: full-width; - text-transform: fullwidth; - - font-size: 150%; -} -} -@media only screen and (max-width: 955px) { -#dossier { - display:inline; - float:left; - width:100%; - top:0px; - text-align: left; - font-variant:small-caps; - font-weight: bolder; - text-transform: full-width; - } -} - -div.foldercontent { - font-size:14px; - font-size:0.95rem; - width: 80%; - margin-left: 10%; -} - -h1.title { - color: #605D5D; - font-style: italic; - text-align:center; - text-transform: uppercase; -} -h2.title { - -// background: rgb(149,149,149); /* Old browsers */ -// background: -moz-linear-gradient(top, rgba(149,149,149,1) 0%, rgba(13,13,13,1) 46%, rgba(1,1,1,1) 50%, rgba(10,10,10,1) 53%, rgba(78,78,78,1) 76%, rgba(56,56,56,1) 87%, rgba(27,27,27,1) 100%); /* FF3.6+ */ -// background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(149,149,149,1)), color-stop(46%,rgba(13,13,13,1)), color-stop(50%,rgba(1,1,1,1)), color-stop(53%,rgba(10,10,10,1)), color-stop(76%,rgba(78,78,78,1)), color-stop(87%,rgba(56,56,56,1)), color-stop(100%,rgba(27,27,27,1))); /* Chrome,Safari4+ */ -// background: -webkit-linear-gradient(top, rgba(149,149,149,1) 0%,rgba(13,13,13,1) 46%,rgba(1,1,1,1) 50%,rgba(10,10,10,1) 53%,rgba(78,78,78,1) 76%,rgba(56,56,56,1) 87%,rgba(27,27,27,1) 100%); /* Chrome10+,Safari5.1+ */ -// background: -o-linear-gradient(top, rgba(149,149,149,1) 0%,rgba(13,13,13,1) 46%,rgba(1,1,1,1) 50%,rgba(10,10,10,1) 53%,rgba(78,78,78,1) 76%,rgba(56,56,56,1) 87%,rgba(27,27,27,1) 100%); /* Opera 11.10+ */ -// background: -ms-linear-gradient(top, rgba(149,149,149,1) 0%,rgba(13,13,13,1) 46%,rgba(1,1,1,1) 50%,rgba(10,10,10,1) 53%,rgba(78,78,78,1) 76%,rgba(56,56,56,1) 87%,rgba(27,27,27,1) 100%); /* IE10+ */ -///background: linear-gradient(to bottom, rgba(149,149,149,1) 0%,rgba(13,13,13,1) 46%,rgba(1,1,1,1) 50%,rgba(10,10,10,1) 53%,rgba(78,78,78,1) 76%,rgba(56,56,56,1) 87%,rgba(27,27,27,1) 100%); /* W3C */ - background: #606c88; /* Old browsers */ - background: -moz-linear-gradient(top, #606c88 0%, #3f4c6b 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#606c88), color-stop(100%,#3f4c6b)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* IE10+ */ - background: linear-gradient(to bottom, #606c88 0%,#3f4c6b 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#606c88', endColorstr='#3f4c6b',GradientType=0 ); /* IE6-9 */ -//filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#959595', endColorstr='#1b1b1b',GradientType=0 ); /* IE6-9 */ - color:#FFFFFF; - text-align:center; - padding:0.24%; - border:1px solid #00008B; - -} -h3.title { - color: #605D5D; - margin-left: 30px; -} -h4.title { - color: #605D5D; - margin-left: 45px; - text-decoration: underline; -} -h5.title { - color: #605D5D; - margin-left: 45px; - text-decoration: none; - font-style: italic; -} -div.myfieldset -{ - margin-top: 5px; - margin-left:5px; - margin-right: 5px; - border:#EDF3FF 2px groove; - border-radius: 4px; -} -#info_div { - display:none; - background-color: #FCFFCC; - color:#000000; - z-index: 15; - position: absolute; - top:0px; - left:45%; -} -div.menu2 a.mtitle{ - font-size:13.60px; - font-size:0.85rem; - /* color:brown; */ -} -div.menu3 { - font-size:13.60px; - font-size:0.85rem; - -} -#go_submit_id { - -} -.decale { - margin-left:30px; -} -#folder { - border-width:1px; - border-collapse: separate; - margin-left: 5%; - width: 90%; - border-radius: 9px; - border-style:solid; - padding : 5px; - - } - #folder tr { - height: 30px; - } -/*#folder tr.odd,#folder tr.even { - font-size : 1.2em; -}*/ -textarea.itextarea{ - border:solid #605D5D 1px; - width:90%; - margin-left:5%; - height:120px; -} - -div#notice { - position:absolute; - right:5%; - top:200px; - background-color:#FCFFCC; - border: 1px solid #000000; -} - div.name { - position:absolute; - top:0px; - left:0px; - } - div#modele_op_div{ - display: none; - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left: 17.5%; - border:1px solid #00008B; - width: 75%; -} -@media only screen and (min-width: 955px) { - div.name { - position:absolute; - top:0px; - left:0px; - } - div#modele_op_div{ - display: none; - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left: 17.5%; - border:1px solid #00008B; - width: 75%; -} -} -@media only screen and (max-width: 955px) { - div.name { - position:absolute; - top:0px; - left:0px; - display:none; - } - div#modele_op_div{ - display: none; - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left: 10%; - border:1px solid #00008B; - width: 80%; -} -} - -div#box_search_card { - position:absolute; - right:15.625%; - top:115px; -} -div.bxbutton -{ - float:right; - height:10px; - display:block; - margin-top:0.48%; - margin-right:0.48%; -} -div.inner_box tr.odd { - background: #E5E5E5; -} -#modele_op_tab tr.odd { - background: #EDF3FF; -} -div#bookmark_div { - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - - padding:2px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - border:1px solid #00008B; - top:32px; - top:2rem; - left:30%; - width:40%; -} -div#preference_div { - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - - padding:0px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - border:1px solid #00008B; - top:32px; - top:2rem; - left:20%; - width:50%; -} -#error_div{ - position:absolute; - border:1px solid #000000; - background-color:#DDE6FF; - padding-bottom: 2px; - padding-top: 2px; - padding-left: 2px; - padding-right: 2px; - color:#FF0000; - top:40%;left:25%; - visibility:hidden; - width: 640px; - width:40rem; - z-index:20; -} -#error_div h2 { - background: #FF0000; -} -div#error_content_div { - color:#FF0000; - font-weight: bold; - text-align: center; -} -td.workday ol { - margin:0px; - padding:0px; - list-style-type:none; - text-align:left; -} -input.inum { - text-align:right; - border:1px solid #605D5D; - margin:2px -} -/************************************************************************** -Box dashboard on 3 columns -**************************************************************************/ -div.box { - background-color:#e4e7ed; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - - margin-top:10px; - margin-left:3px; - margin-right:3px; - padding:2px; - overflow:hidden; - border:1px solid #00008B; - width:30%; - height:350px; - float:left; - font-size:14px; - font-size:0.90rem; -} -@media only screen and (max-width: 1426px) { -/* Dashboard on 2 cols */ - div.box { - width: 48%; - height: 380px; - } -} -@media only screen and (max-width: 955px) { -/* Dashboard on 1 cols */ - div.box { - width: 95%; - - height: 380px; -} -} -div.box table{ - border-spacing:0px; -} -div.box tr.odd { - background-color: #F2F6FD; - -} -div.box tr.even { - background-color:#e4e7ed; - -} -#jrn_name_div h2{ - font-size:38.4px; - font-size: 2.4rem; -} -#search_account { - width: 70%; -} -fieldset { - border-width: 1px; -} -#tva_select table { - border-spacing: 0px; -} -#mod_predf_op { - width: 80%; - overflow: auto; - overflow-style: panner; -} -/**************************************************************************** - * Tabs - ****************************************************************************/ -ul.tabs { - padding-top: 15px; - display:block; - border-bottom: 1px solid #879ed4; - padding-left: 2px -} -ul.tabs a { - display:inline; -} -li.tabs_selected { - display:inline; - background: rgb(206,220,231); /* Old browsers */ -background: -moz-linear-gradient(top, rgba(206,220,231,1) 0%, rgba(89,106,114,1) 100%); /* FF3.6+ */ -background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(206,220,231,1)), color-stop(100%,rgba(89,106,114,1))); /* Chrome,Safari4+ */ -background: -webkit-linear-gradient(top, rgba(206,220,231,1) 0%,rgba(89,106,114,1) 100%); /* Chrome10+,Safari5.1+ */ -background: -o-linear-gradient(top, rgba(206,220,231,1) 0%,rgba(89,106,114,1) 100%); /* Opera 11.10+ */ -background: -ms-linear-gradient(top, rgba(206,220,231,1) 0%,rgba(89,106,114,1) 100%); /* IE10+ */ -background: linear-gradient(to bottom, rgba(206,220,231,1) 0%,rgba(89,106,114,1) 100%); /* W3C */ -filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cedce7', endColorstr='#596a72',GradientType=0 ); /* IE6-9 */ - color:whitesmoke; - margin-left: 2px; - padding: 12px 15px 15px 15px; - border-top-left-radius: 10px; - border-top-right-radius: 10px; - border:1px #879ed4 solid; - font-weight: bold; - -} -li.tabs { - display:inline; - background-color: inherit; - color:inherit; - margin-left: 2px; - padding: 15px 15px 0px 15px; - border-top-left-radius: 10px; - border-top-right-radius: 10px; - border:1px grey solid; - -} -li.tabs:hover { - display:inline; - background-color: grey; - color:wheat;margin-left: 2px; - padding: 15px 15px 0px 15px; - border-top-left-radius: 10px; - border-top-right-radius: 10px; - border:1px grey solid; - -} -ul.tabs a { - text-decoration: none; - color:inherit; - display:inline; - white-space: nowrap; - -} -ul.tabs a:hover { - text-decoration: none; - color:white; - display:inline; - background-color: lightblue; - white-space: nowrap; -} -@media only screen and (max-width: 1426px) { - li.tabs_selected { - padding: 8px 10px 10px 10px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - } - li.tabs , li.tabs:hover { - padding: 10px 10px 0px 10px; - } -} -/***************************************************************************** - * Table of one column to present menu - * as in CFGLED, FORECAST, REPORT - *****************************************************************************/ -table.vert_mtitle { - text-align:center; - /* border:5px solid #99B1DF; */ - border-radius:5px; - width:80%; - margin-left: 10%; - border-collapse: separate; - border-spacing: 10px; - - -} -table.vert_mtitle td.first { - background-color: #DCE1EF; -} -table.vert_mtitle td { - border : 1px solid #99B1DF; - background-color:#EDEDED; - border-top-radius:20px; -} -table.vert_mtitle td a{ - padding : 20px; - font-weight: bold; -} -table.vert_mtitle td:hover { - border : 1px solid #99B1DF; - background-color: #336699; - color:white; -} -table.vert_mtitle td:hover a{ - color:white; - -} - -/******************************************************************************* - * Tiny button example : -X for remove action, remove link... - *******************************************************************************/ -div.content a.tinybutton,input[type="button"].tinybutton { - color: red; - font-weight: bold; - text-decoration: none; - font-family: arial,verdana,sans-serif,helvetica; - /* background-image: url("image/bg-submit2.gif"); - background-repeat: repeat-x; - background-position: left; */ - font-size: 8px; - font-size: 0.7rem; - padding-bottom: 0px; - padding-top: 0px; - padding-right: 0px; - padding-left: 0px; - margin-top: 3px; - cursor: pointer; - margin: 1px 2px 1px 2px; - border-width: 1px; - border-style: solid; - border-color: orangered; - border-radius: 2px; - display : inline; -} -/*div.content td.mtitle a.mtitle { - color:darkslategrey; - // font-variant: small-caps; - background-color: inherit; -}*/ -/******************************************************************************* - Image Search -*******************************************************************************/ -.image_search { - cursor:pointer; - width:16px; - height:16px; - padding:1px; - border:#000000 1px solid; - vertical-align: top; - background: grey; -} - -/**************************************************************************** - * Aligned button - ****************************************************************************/ -ul.aligned-block { - padding:5px; - display : block; -} -ul.aligned-block li { - display:table-cell; - padding : 10px; - list-style: none; -} -/****************************************************************************** - * Total in confirmation VEN / ACH - ******************************************************************************/ -#total_div_id { - float: right; - margin-right: 150px; - background: snow; - margin-top: 50px; -} -// Selected cell in the module -td.toolselected {background-color: #909BA7; } -/*************************************************************************** - * column in the dashboard - ***************************************************************************/ -td.cut { - max-width: 25%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -td.box { - border-left : #C76626 solid 1px; -} -/**************************************************************************** -* Smoke appearance of modal box - ****************************************************************************/ -.smoke-base { - position: fixed; - top: 0px; - left: 0px; - bottom: 0px; - right: 0px; - visibility: hidden; - opacity: 0; - background: rgba(0,0,0,.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#90000000,endColorstr=#900000000); -} - -.smoke-base.smoke-visible { - opacity: 1; - visibility: visible; -} - -.smokebg { - position: fixed; - top: 0px; - left: 0px; - bottom: 0px; - right: 0px; -} - -.smoke-base .dialog { - position: absolute; - top: 25%; - width: 40%; - left: 50%; - margin-left: -20%; -} - -.dialog-prompt { - margin-top: 15px; - text-align: center; -} - -.dialog-buttons { - margin: 20px 0px 5px 0px -} - -.smoke { - text-align: center; - background-color: #DCE1EF; - font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; - font-family: 'openSansRegular'; - - padding:2px; - margin:0px; - overflow:hidden; - z-index:3; - position:absolute; - left:10%; - border:1px solid #00008B; --moz-box-shadow: 10px 10px 5px #888; --webkit-box-shadow: 10px 10px 5px #888; -box-shadow: 10px 10px 5px #888; -font-size:14.4px; -font-size:0.90rem; -width: 85%; -} -.dialog-buttons button:hover{ - color:beige; - font-weight: bold; -} -.dialog-buttons button { - color:#FFFFFF; - font-weight: normal; - text-decoration:none; - background: #606c88; /* Old browsers */ - background: -moz-linear-gradient(top, #606c88 0%, #3f4c6b 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#606c88), color-stop(100%,#3f4c6b)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, #606c88 0%,#3f4c6b 100%); /* IE10+ */ - background: linear-gradient(to bottom, #606c88 0%,#3f4c6b 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#606c88', endColorstr='#3f4c6b',GradientType=0 ); /* IE6-9 */ - border-color: #605D5D; - border-width:0px; - padding:4px; - margin:3px; - cursor:pointer; - margin:1px 2px 1px 2px; - border-radius: 5px; - moz-border-radius:5px; - width:7em; - width:7rem; -} - -.dialog-prompt input { - margin: 0; - border: 0; - font-family: sans-serif; - outline: none; - font-family: Menlo, 'Andale Mono', monospace; - border: 1px solid #aaa; - width: 75%; - display: inline-block; - background-color: transparent; - font-size: 16px; - padding: 8px; -} - -.smoke-base .dialog-inner { - padding: 15px; - - color:#202020; -} - -button.cancel { - background-color: rgba(0,0,0,.40); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#444444,endColorstr=#444444); -} - -.queue{ - display:none; -} diff --git a/sources/html/style-print.css b/sources/html/style-print.css deleted file mode 100644 index 729ec56..0000000 --- a/sources/html/style-print.css +++ /dev/null @@ -1,296 +0,0 @@ -body { - font-size:10pt; - font-family:sans-serif; - margin-left: 5mm; - margin-right: 5mm; - } -input, select ,.input_text{ - font-size:10pt; - border:1px solid #FFFFFF; - } -form { - display:none; - } -.print { - font-size:10pt; - display: block; - } -.noprint { - display:none; - } - -.button, .smallbutton{ - display:none; - } -div.recherche_form { - display:none; - } -table.result { - font-size:10pt; - font-family:sans-serif; - width:100% - } - -table.result th { - font-size:105%; - font-family:sans-serif; -} -h3,h4 { - font-size:110%; - text-decoration: underline; - font-family:sans-serif; -} - -h2 { - font-size:110%; - font-weight:bold; - font-family:sans-serif; -} -div.info { - display:none; -} -.content { - font-size:10pt; -} -h1.content,h1,h2.info,legend { - font-size:120%; - font-weight:bold; - font-family:sans-serif; -} -h3.info { - display:none; -} - -h2.info2 { - display:none; -} - - -h2.error { - display:none; -} - -h1.title { - display:none; -} -div.mtitle { - display:none; - -} - -div.tmenu { - display:none; -} -div.u_tmenu { - - display:none; -} -div.lmenu { - display:none; -} -div.lextmenu { - display:none; -} -div.searchmenu { - display:none; -} -div.credit{ - display:none; -} -div.debit{ - display:none; -} -div.recherche{ - font-size:10pt; - font-family:sans-serif; -} -div.redcontent{ - font-size:10pt; - font-family:sans-serif; - -} -div.redcontent{ - font-size:10pt; - font-family:sans-serif; -} -div.ccontent{ - font-size:10pt; - font-family:sans-serif; -} -div.rmenu { - display:none; -} - -table.mtitle { - display: none; -} -td.mshort { - display:none; -} -td.mlltitle { - display:none; -} -td.mltitle { - display:none; -} -td.mtitle { - display:none; -} -span.mtitle2 { - display:none; -} -span.mtitle { - display:none; -} -span.odd { - display:none; - } -span.even { - display:none; - } - -tr.odd { - font-size:10pt; - font-family:sans-serif; -} -tr { - font-size:10pt; - font-family:sans-serif; - } -tr.even { - - font-size:10pt; - font-family:sans-serif; -} -td.odd{ - font-size:10pt; - font-family:sans-serif; -} -td.even{ - font-size:10pt; - font-family:sans-serif; -} -td.cell{ - display:none; -} -td.selectedcell{ - display:none; -} - -a.mtitle { - display:none; -} - -a.mtitle:hover { - display:none; -} -a.cell { - display:none; -} - -a.cell:hover { - display:none; - } - -a.mtitle2 { - display:none; - } - -a.mtitle2:hover { - display:none; - } - -a.one:link { - display:none; -} -a.one:visited { - display:none; - } -a.one:active { - display:none; - } - -a.one:hover { - display:none; - } - -a.two:link { - display:none; -} -a.two:visited { - display:none; - } -a.two:active { - display:none; - } - -a.two:hover { - display:none; - } - -th.doc { - display:none; -} - - -table.doc { - display:none; -} -a.detail -{ -font-size:10pt; -font-family:sans-serif; -} - -a.detail:hover -{ - display:none; -} -.popup_border_title { - display:none; -} -.ipop_card_fond { - display:none; -} -.num { - text-align:right; - font-size:10pt; -} -h1.title { - font-size:120%; - font-style: italic; -} -h2.title { - font-size:110%; - font-style: italic; - margin-left: 3em; -} -h3.title { - font-size:110%; - margin-left: 3em; -} -h4.title { - color: blue; - font-size:110%; - margin-left: 3em; - text-decoration: underline; -} -h5.title { - color: blue; - font-size:110%; - margin-left: 3em; - text-decoration: none; - font-style: italic; -} -/* */ -div.myfieldset -{ - margin-top: 3em; - margin-left:3em; - margin-right: 3em; - border:lightgrey 2px groove; -} -#info_div ,div#error_div ,div#close_div{ - display:none; -} -p#breakhere {page-break-before: always} diff --git a/sources/html/style-test.css b/sources/html/style-test.css deleted file mode 100644 index 478a8ec..0000000 --- a/sources/html/style-test.css +++ /dev/null @@ -1,74 +0,0 @@ -span.tmenu { - padding-left:20px; - padding-right:20px; - border:solid 1px blue; - background-color: #6699dd ; -} -.topmenu { - background:url('/FR/wcompta/image/bg1.jpg'); - color:white; - text-align:center; - - } -.menuitem { - width:150px; -} -a.tmenu:link { - background-color: #6699dd ; - color:white; - } -a.tmenu:visited { -// background-color:black ; - color:#683af2; - color:white; - } -a.tmenu:active{ - background-color:#6699dd ; - color:#683af2; - color:white; - } -a.tmenu:hover{ - background-color:#6699dd ; - color:#d1ffb9; - } -div.dtitle { - width:150px; - color:#6699dd; - background:#cccccc; - text-align:center; - font-size:20px; -} -div.dcontent { - color:black; - background-color:white; - margin: 5% 5%; - -} -div.ddownload { - color:white; - background-color:#6699dd ; -} -div.content { - margin-left:10%; - margin-right:10%; - padding:2%; -} -H2 { - font-size:16pt; - color:blue; - background-color:white; -} -table.sortable td,table.result td -{ - padding-left:5px; - padding-right:5px; -} -#info_div { - display:none; - background-color: yellow; - color:red; - z-index: 15; - position: absolute; - top:0; - left:0; -} diff --git a/sources/html/test.php b/sources/html/test.php deleted file mode 100644 index 2dc2fb5..0000000 --- a/sources/html/test.php +++ /dev/null @@ -1,187 +0,0 @@ -Test NOALYSS"; - /* - * cherche pour fichier a include, s'il y en a alors les affiche - * avec une description - */ - - - echo ''; - $get='test.php?'.http_build_query(array('script'=>"all", 'gDossier'=>$gDossierLogInput, 'description'=>"Tous les scripts")); - echo ''; - echo ''; - echo ''; - echo ''; - - for ($e=0; $e<$cnt_scenario; $e++) - { - - $get='test.php?'.http_build_query(array('script'=>$scenario[$e]['file'], 'gDossier'=>$gDossierLogInput, 'description'=>$scenario[$e]['desc'])); - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - - } - echo '
      '; - echo ''; - echo "Tous "; - echo ''; - echo 'Tous les scripts
      '; - echo $e; - echo ''; - echo ''; - echo $scenario[$e]['file']; - echo ''; - echo ''.$scenario[$e]['desc'].'
      '; -} -else if ($script=='all') -{ - $nb=HtmlInput::default_value_get('nb_script', 0); - - $start_mem=memory_get_usage(); - $start_time=microtime(true); - $script=str_replace('../', '', $script); - - echo '

      '.$nb." ".$scenario[$nb]['file']."

      "; - echo '

      description = '.$scenario[$nb]["desc"].'

      '; - include '../scenario/'.$scenario[$nb]['file']; - echo '
      '; - echo '
      '; - $end_mem=memory_get_usage(); - $end_time=microtime(true); - - echo "

      start mem : ".$start_mem; - echo '

      '; - echo "

      end mem : ".$end_mem; - echo '

      '; - echo "

      Diff = ".($end_mem-$start_mem)." bytes "; - echo "

      Diff = ".(round(($end_mem-$start_mem)/1024, 2))." kbytes "; - echo "

      Diff = ".(round(($end_mem-$start_mem)/1024/1024, 2))." Mbytes "; - echo '

      '; - echo "

      Execution script ".$script." time = ".(round(($end_time-$start_time), 4))." secondes

      "; - $nb++; - if ( $nb == $maxscan ) { - echo "Dernier test"; - } else { - $get='test.php?'.http_build_query(array('script'=>"all", 'gDossier'=>$gDossierLogInput, 'nb_script'=>$nb)); - echo '
      '; - echo $scenario[$nb]['file']; - } -} -else -{ - $start_mem=memory_get_usage(); - $start_time=microtime(true); - $script=str_replace('../', '', $script); - $description=HtmlInput::default_value_get("description", "aucune description"); - echo '

      '.$script."

      "; - echo '

      description = '.$description.'

      '; - include '../scenario/'.$script; - - $end_mem=memory_get_usage(); - $end_time=microtime(true); - - echo "

      start mem : ".$start_mem; - echo '

      '; - echo "

      end mem : ".$end_mem; - echo '

      '; - echo "

      Diff = ".($end_mem-$start_mem)." bytes "; - echo "

      Diff = ".(round(($end_mem-$start_mem)/1024, 2))." kbytes "; - echo "

      Diff = ".(round(($end_mem-$start_mem)/1024/1024, 2))." Mbytes "; - echo '

      '; - echo "

      Execution script ".$script." time = ".(round(($end_time-$start_time), 4))." secondes

      "; -} \ No newline at end of file diff --git a/sources/html/tmp/.htaccess b/sources/html/tmp/.htaccess deleted file mode 100644 index ff2beb8..0000000 --- a/sources/html/tmp/.htaccess +++ /dev/null @@ -1,2 +0,0 @@ -order deny,allow -deny from all diff --git a/sources/html/user_login.php b/sources/html/user_login.php deleted file mode 100644 index af9808f..0000000 --- a/sources/html/user_login.php +++ /dev/null @@ -1,187 +0,0 @@ -Check(); -/* Check Browser version if < IE6 then unsupported */ -$browser=$_SERVER['HTTP_USER_AGENT']; -if ( strpos($browser,'MSIE 6')!=false || - strpos($browser,'MSIE 5')!=false ) -{ - $nav=_('Vous utilisez un navigateur dépassé depuis près de 8 ans!'); - $nav2=_("Pour une meilleure expérience web, prenez le temps de mettre votre navigateur à jour"); - echo << -
      -
      Close this notice
      -
      -
      Warning!
      -
      -
      $nav
      -
      $nav2.
      -
      -
      Get Firefox 3.5
      -
      Get Safari 4
      -
      Get Google Chrome
      -
      -
      - -EOF; - exit(); -} -$ac=new Database(); - -/* check if repo valid */ -if ( $ac->exist_table('version') == false) -{ - echo '

      '._("Base de donnée invalide").'

      '; - $base=dirname($_SERVER['REQUEST_URI']); - exit(); -} - -/* check repo version */ -$version = $ac->get_value('select val from version'); -if ( $version < DBVERSIONREPO ) -{ - echo '

      '._("Votre base de données n'est pas à jour").' '; - $a=_("cliquez ici pour appliquer le patch"); - $base = dirname($_SERVER['REQUEST_URI']); - if ($base == '/') { $base = ''; } - $base .= '/admin/setup.php'; - echo ''.$a.'

      '; - -} -if ( $User->Admin() == 1) -{ - if (SITE_UPDATE !="") { - $update=@file_get_contents(SITE_UPDATE); - if ($update > $version_noalyss ) { - echo '
      '; - echo '

      '; - echo "Mise à jour disponible de NOALYSS version actuelle : $update votre version $version_noalyss"; - echo '

      '; - echo '

      '. - _('Fermer'). - "

      "; - echo '
      '; - } - } -} - -include_once("user_menu.php"); -$priv=($User->admin==1)?_("Administrateur"):_("Utilisateur"); -load_all_script(); -if ( isset ($_POST['set_preference'])) { - //// Save value - extract($_POST); - - if (strlen(trim($pass_1)) != 0 && strlen(trim($pass_2)) != 0) - { - $User->save_password($pass_1,$pass_2); - - } - $User->save_global_preference('THEME', $style_user); - $User->save_global_preference('LANG', $lang); - $_SESSION['g_theme']=$style_user; - $_SESSION['g_lang']=$lang; - $User->load(); - $User->save_email($p_email); -} -echo '
      '; -/** - * - * If the user is NOT admin and can access only ONE folder, - * so it will be directly redirected to this folder or to the plugins of this - * folder if he's an "plugin user" - */ - -if ( $User->admin == 0 ) -{ - // how many folder ? - $folder=$User->get_available_folder(); - if ( $folder != null && count($folder) == 1 ) - { - - if ( $User->check_dossier($folder[0]['dos_id']) == 'P') - { - redirect('extension.php?gDossier='.$folder[0]['dos_id']); - exit(); - } - else - { - redirect('do.php?gDossier='.$folder[0]['dos_id']); - exit(); - } - } - -} - -$result=""; -$result.=""; -$result.=''; -if ( $User->Admin() == 1 ) -{ - $result.=""; -} -$result.=''; -$result.=''; -$result.=""; -$result.="
      Administration '; -$result.=''._('Préférence').''; -$result.= ''._('Deconnexion').'
      "; - -echo '
      '.$result.'
      '; -echo '
      '; -?> -
      - - - - -show_dossier(""); -echo $res; -?> -

      - -

      -
      - diff --git a/sources/include/ac_common.php b/sources/include/ac_common.php deleted file mode 100644 index 3b46a62..0000000 --- a/sources/include/ac_common.php +++ /dev/null @@ -1,1254 +0,0 @@ -' . $p_string . ''; -} - -function hi($p_string) -{ - return '' . htmlspecialchars($p_string) . ''; -} - -function hb($p_string) -{ - return '' . htmlspecialchars($p_string) . ''; -} - -function th($p_string, $p_extra='',$raw='') -{ - return '' . htmlspecialchars($p_string).$raw . ''; -} - -function h2info($p_string) -{ - return '

      ' . htmlspecialchars($p_string) . '

      '; -} - -function h2($p_string, $p_class="",$raw="") -{ - return '

      ' . $raw.htmlspecialchars($p_string) . '

      '; -} -function h1($p_string, $p_class="") -{ - return '

      ' . htmlspecialchars($p_string) . '

      '; -} -/** - * \brief surround the string with td - * \param $p_string string to surround by TD - * \param $p_extra extra info (class, style, javascript...) - * \return string surrounded by td - */ - -function td($p_string='', $p_extra='') -{ - return '' . $p_string . ''; -} - -function tr($p_string, $p_extra='') -{ - return '' . $p_string . ''; -} - -/** - * @brief escape correctly php string to javascript - */ -function j($p_string) -{ - $a = preg_replace("/\r?\n/", "\\n", addslashes($p_string)); - $a = str_replace("'", '\'', $a); - return $a; -} - -/** - * format the number for the CSV export - * @param $p_number number - */ -function nb($p_number) -{ - $r = sprintf('%.2f', $p_number); - $r = str_replace('.', ',', $r); - - return $r; -} - -/** - * format the number with a sep. for the thousand - * @param $p_number number - */ -function nbm($p_number) -{ - - if (trim($p_number) == '') - return ''; - if ($p_number == 0) - return "0,00"; - - $a = doubleval($p_number); - $r = number_format($a, 2, ",", "."); - if (trim($r) == '') - { - var_dump($r); - var_dump($p_number); - var_dump($a); - exit(); - } - - return $r; -} - -/** - * \brief log error into the /tmp/noalyss_error.log it doesn't work on windows - * - * \param p_log message - * \param p_line line number - * \param p_message is the message - * - * \return nothing - * - */ - -function echo_error($p_log, $p_line="", $p_message="") -{ - echo "ERREUR :" . $p_log . " " . $p_line . " " . $p_message; - $fdebug = fopen($_ENV['TMP'] . DIRECTORY_SEPARATOR . "noalyss_error.log", "a+"); - if ($fdebug != null) - { - fwrite($fdebug, date("Ymd H:i:s") . $p_log . " " . $p_line . " " . $p_message . "\n"); - fclose($fdebug); - } -} - -/** - * \brief Compare 2 dates - * \param p_date - * \param p_date_oth - * - * \return - * - == 0 les dates sont identiques - * - > 0 date1 > date2 - * - < 0 date1 < date2 - */ - -function cmpDate($p_date, $p_date_oth) -{ - date_default_timezone_set('Europe/Brussels'); - - $l_date = isDate($p_date); - $l2_date = isDate($p_date_oth); - if ($l_date == null || $l2_date == null) - { - throw new Exception("erreur date [$p_date] [$p_date_oth]"); - } - $l_adate = explode(".", $l_date); - $l2_adate = explode(".", $l2_date); - $l_mkdate = mktime(0, 0, 0, $l_adate[1], $l_adate[0], $l_adate[2]); - $l2_mkdate = mktime(0, 0, 0, $l2_adate[1], $l2_adate[0], $l2_adate[2]); - // si $p_date > $p_date_oth return > 0 - return $l_mkdate - $l2_mkdate; -} - -/***! - * @brief check if the argument is a number - * - * \param $p_int number to test - * - * \return - * - 1 it's a number - * - 0 it is not - */ -function isNumber(&$p_int) -{ - if (strlen(trim($p_int)) == 0) - return 0; - if (is_numeric($p_int) === true) - return 1; - else - return 0; -} - -/*** - * \brief Verifie qu'une date est bien formaté - * en d.m.y et est valable - * \param $p_date - * - * \return - * - null si la date est invalide ou malformaté - * - $p_date si tout est bon - * - */ - -function isDate($p_date) -{ - if (strlen(trim($p_date)) == 0) - return null; - if (preg_match("/^[0-9]{1,2}\.[0-9]{1,2}\.20[0-9]{2}$/", $p_date) == 0) - { - - return null; - } - else - { - $l_date = explode(".", $p_date); - - if (sizeof($l_date) != 3) - return null; - - if ($l_date[2] > COMPTA_MAX_YEAR || $l_date[2] < COMPTA_MIN_YEAR) - { - return null; - } - - if (checkdate($l_date[1], $l_date[0], $l_date[2]) == false) - { - return null; - } - } - return $p_date; -} - -/** - * \brief Default page header for each page - * - * \param p_theme default theme - * \param $p_script - * \param $p_script2 another js script - * Must be called only once - * \return none - */ - -function html_page_start($p_theme="", $p_script="", $p_script2="") -{ - // check not called twiced - static $already_call=0; - if ( $already_call==1)return; - $already_call=1; - - $cn = new Database(); - if ($p_theme != "") - { - $Res = $cn->exec_sql("select the_filestyle from theme - where the_name='" . $p_theme . "'"); - if (Database::num_row($Res) == 0) - $style = "style-classic.css"; - else - { - $s = Database::fetch_array($Res, 0); - $style = $s['the_filestyle']; - } - } - else - { - $style = "style-classic.css"; - } // end if - $title="NOALYSS"; - - if ( isset ($_REQUEST['ac'])) { - if (strpos($_REQUEST['ac'],'/') <> 0) - { - $m= explode('/',$_REQUEST['ac']); - $title=$m[count($m)-1]." ".$title; - } - else - $title=$_REQUEST['ac']." ".$title; - } - $is_msie=is_msie(); - - if ($is_msie == 0 ) - { - echo ''; - printf("\n"); - echo ''; - printf("\n"); - } - else { - echo ''; - printf("\n"); - } - echo ""; - - if ($p_script2 != "") - $p_script2 = ''; - $style=trim($style); - echo ""; - if ( $is_msie == 1 )echo ' '; - echo " - $title - - - - " . - $p_script2 . " - "; - echo ' - - - - '; - echo load_all_script(); - echo ' '; - - echo ""; - echo '
      '; - echo '
      '. - HtmlInput::title_box(_("Erreur"), 'error_div','hide'). - '
      '. - '
      '. - '

      '. - HtmlInput::button_action('Valider','$(\'error_div\').style.visibility=\'hidden\';$(\'error_content_div\').innerHTML=\'\';'). - '

      '. - '
      '; -// language - if (isset($_SESSION['g_lang'])) - { - set_language(); - } - -} - -/** - * \brief Minimal page header for each page, used for small popup window - * - * \param p_theme default theme - * \param $p_script - * \param $p_script2 another js script - * - * \return none - */ - -function html_min_page_start($p_theme="", $p_script="", $p_script2="") -{ - - $cn = new Database(); - if ($p_theme != "") - { - $Res = $cn->exec_sql("select the_filestyle from theme - where the_name='" . $p_theme . "'"); - if (Database::num_row($Res) == 0) - $style = "style-classic.css"; - else - { - $s = Database::fetch_array($Res, 0); - $style = $s['the_filestyle']; - } - } - else - { - $style = "style-classic.css"; - } // end if - echo ''; - echo ""; - - - if ($p_script2 != "") - $p_script2 = ''; - - echo " - NOALYSS - - - " . - $p_script2 . " - - - "; - echo ' - '; - - echo ""; - /* If we are on the user_login page */ - if (basename($_SERVER['PHP_SELF']) == 'user_login.php') - { - return; - } -} - -/** - * \brief end tag - * - */ - -function html_page_stop() -{ - echo ""; - echo ""; -} - -/** - * \brief Echo no access and stop - * - * \return nothing - */ - -function NoAccess($js=1) -{ - if ($js == 1) - { - echo ""; - } - else - { - echo '
      '; - echo '

      ' . _(' Cette action ne vous est pas autorisée Contactez votre responsable') . '

      '; - echo '
      '; - } - exit - 1; -} -/** - * replaced by sql_string - * @deprecated - */ -function FormatString($p_string) -{ - return sql_string($p_string); -} -/** - * \brief Fix the problem with the quote char for the database - * - * \param $p_string - * \return a string which won't let strange char for the database - */ - -function sql_string($p_string) -{ - $p_string = trim($p_string); - if (strlen($p_string) == 0) - return null; - $p_string = str_replace("'", "''", $p_string); - $p_string = str_replace('\\', '\\\\', $p_string); - return $p_string; -} - -/** - /* \brief store the string which print - * the content of p_array in a table - * used to display the menu - * \param $p_array array like ( 0=>HREF reference, 1=>visible item (name),2=>Help(opt), - * 3=>selected (opt) 4=>javascript (normally a onclick event) (opt) - * \param $p_dir direction of the menu (H Horizontal V vertical) - * \param $class CSS for TD tag - * \param $class_ref CSS for the A tag - * \param $default selected item - * \param $p_extra extra code for the table tag (CSS or javascript) - * - /* \return : string */ - -function ShowItem($p_array, $p_dir='V', $class="mtitle", $class_ref="mtitle", $default="", $p_extra="") -{ - - $ret = ""; - // direction Vertical - if ($p_dir == 'V') - { - foreach ($p_array as $all => $href) - { - $javascript = (isset($href[4])) ? $href[4] : ""; - $title = ""; - $set = "XX"; - if (isset($href[2])) - $title = $href[2]; - if (isset($href[3])) - $set = $href[3]; - - if ($set == $default) - $ret.=''; - else - $ret.=''; - } - } - //direction Horizontal - else if ($p_dir == 'H') - { - - $ret.=""; - foreach ($p_array as $all => $href) - { - $title = ""; - $javascript = (isset($href[4])) ? $href[4] : ""; - - $set = "A"; - if (isset($href[2])) - $title = $href[2]; - - if (isset($href[3])) - $set = $href[3]; - - if ($default === $href[0] || $set === $default) - { - $ret.=''; - } - else - { - $ret.=''; - } - } - $ret.=""; - } - $ret.="
      ' . $href[1] . '
      ' . $href[1] . '
      ' . $href[1] . '' . $href[1] . '
      "; - return $ret; -} - -/** - * \brief warns - * - * \param p_string error message - * gen : - * - none - * \return: - * - none - */ - -function echo_warning($p_string) -{ - echo '

      ' . $p_string . "

      "; -} - -/** - * \brief Show the periode which found thanks its id - * - * - * \param $p_cn database connection - * \param p_id - * \param pos Start or end - * - * \return: string - */ - -function getPeriodeName($p_cn, $p_id, $pos='p_start') -{ - if ($pos != 'p_start' and - $pos != 'p_end') - echo_error('ac_common.php' . "-" . __LINE__ . ' UNDEFINED PERIODE'); - $ret = $p_cn->get_value("select to_char($pos,'Mon YYYY') as t from parm_periode where p_id=$p_id"); - return $ret; -} - -/** - * \brief Return the period corresponding to the - * date - * - * \param p_cn database connection - * \param p_date the month + year 'MM.YYYY' - * - * \return: - * parm_periode.p_id - */ - -function getPeriodeFromMonth($p_cn, $p_date) -{ - $R = $p_cn->get_value("select p_id from parm_periode where - to_char(p_start,'DD.MM.YYYY') = '01.$p_date'"); - if ($R == "") - return -1; - return $R; -} - -/**\brief Decode the html for the widegt richtext and remove newline - * \param $p_html string to decode - * \return the html code without new line - */ - -function Decode($p_html) -{ - $p_html = str_replace('%0D', '', $p_html); - $p_html = str_replace('%0A', '', $p_html); - $p_html = urldecode($p_html); - return $p_html; -} - -/**\brief Create the condition to filter on the j_tech_per - * thanks a from and to date. - * \param $p_cn database conx - * \param $p_from start date (date) - * \param $p_to end date (date) - * \param $p_form if the p_from and p_to are date or p_id - * \param $p_field column name - * \return a string containg the query - */ - -function sql_filter_per($p_cn, $p_from, $p_to, $p_form='p_id', $p_field='jr_tech_per') -{ - - if ($p_form != 'p_id' && - $p_form != 'date') - { - echo_error(__FILE__, __LINE__, 'Mauvais parametres '); - exit(-1); - } - if ($p_form == 'p_id') - { - // retrieve the date - $pPeriode = new Periode($p_cn); - $a_start = $pPeriode->get_date_limit($p_from); - $a_end = $pPeriode->get_date_limit($p_to); - if ($a_start == null || $a_end == null) - throw new Exception(__FILE__ . __LINE__ . sprintf(_('Attention periode - non trouvee periode p_from= %s p_to_periode = %s'), $p_from , - $p_to)); - - - $p_from = $a_start['p_start']; - $p_to = $a_end['p_end']; - } - if ($p_from == $p_to) - $periode = " $p_field = (select p_id from parm_periode " . - " where " . - " p_start = to_date('$p_from','DD.MM.YYYY')) "; - else - $periode = "$p_field in (select p_id from parm_periode " . - " where p_start >= to_date('$p_from','DD.MM.YYYY') and p_end <= to_date('$p_to','DD.MM.YYYY')) "; - return $periode; -} - -/**\brief alert in javascript - * \param $p_msg is the message - * \param $buffer if false, echo directly and execute the javascript, if $buffer is true, the alert javascript - * is in the return string - * \return string with alert javascript if $buffer is true - */ - -function alert($p_msg, $buffer=false) -{ - $r = ''; - - if ($buffer) - return $r; - echo $r; -} - -/** - * @brief set the lang thanks the _SESSION['g_lang'] var. - */ -function set_language() -{ - // desactivate local check - if ( defined("LOCALE") && LOCALE==0 ) return; - if ( ! isset ($_SESSION['g_lang'])) return; - $dir = ""; - // set differently the language depending of the operating system - if (what_os() == 1) - { - $dir = setlocale(LC_MESSAGES, $_SESSION['g_lang']); - if ($dir == "") - { - $g_lang = 'fr_FR.utf8'; - $dir = setlocale(LC_MESSAGES, $g_lang); - // echo '' . $_SESSION['g_lang'] . ' domaine non supporté'; - } - bindtextdomain('messages', './lang'); - textdomain('messages'); - bind_textdomain_codeset('messages', 'UTF8'); - - return; - } - // for windows - putenv('LANG=' . $_SESSION['g_lang']); - $dir = setlocale(LC_ALL, $_SESSION['g_lang']); - bindtextdomain('messages', '.\\lang'); - textdomain('messages'); - bind_textdomain_codeset('messages', 'UTF8'); -} - -/** - * @brief try to determine on what os you are running the pĥpcompte - * server - * @return - * 0 it is a windows - * 1 it is a Unix like - */ -function what_os() -{ - $inc_path = get_include_path(); - - if (strpos($inc_path, ";") != 0) - { - $os = 0; /* $os is 0 for windoz */ - } - else - { - $os = 1; /* $os is 1 for unix */ - } - return $os; -} - -/** - * @brief shrink the date, make a date shorter for the printing - * @param $p_date format DD.MM.YYYY - * @return date in the format DDMMYY (size = 13 mm in arial 8) - */ -function shrink_date($p_date) -{ - $date = str_replace('.', '', $p_date); - $str_date = substr($date, 0, 4) . substr($date, 6, 2); - return $str_date; -} -/** - * @brief shrink the date, make a date shorter for the printing - * @param $p_date format DD.MM.YYYY - * @return date in the format DDMMYY (size = 13 mm in arial 8) - */ -function smaller_date($p_date) -{ - $str_date = substr($p_date, 0, 6) . substr($p_date, 8, 2); - return $str_date; -} - -/** - * @brief format the date, when taken from the database the format - * is MM-DD-YYYY - * @param $p_date format - * @param - * @return date in the format DD.MM.YYYY - */ -function format_date($p_date, $p_from_format = 'YYYY-MM-DD',$p_to_format='DD.MM.YYYY') -{ - if ($p_from_format == 'YYYY-MM-DD') - { - $date = explode('-', $p_date); - if (count($date) != 3) - return $p_date; - } - if ($p_from_format == 'DD.MM.YYYY') - { - $temp_date = explode('.', $p_date); - if (count($temp_date) != 3) - return $p_date; - $date[0] = $temp_date[2]; // 0 is year - $date[1] = $temp_date[1]; // 1 for month - $date[2] = $temp_date[0]; // 2 for day - } - - switch ($p_to_format) - { - case 'DD.MM.YYYY': - $str_date = $date[2] . '.' . $date[1] . '.' . $date[0]; - break; - case 'YYYY-MM-DD': - $str_date = $date[0] . '-' . $date[1] . '-' . $date[2]; - break; - case 'YYYYMMDD': - $str_date = $date[0] . $date[1] . $date[2]; - break; - case 'YYYY/MM/DD': - $str_date = $date[0] . '/' . $date[1] . '/' . $date[2]; - break; - - } - return $str_date; -} - - - -/** - * Should a dialog box when you are disconnected from an ajax call - * propose to reload or to connect in another tab - */ -function ajax_disconnected($div) -{ - /** - * if $_SESSION['g_user'] is not set : echo a warning - */ - if (!isset($_SESSION['g_user'])) - { - $script = 'var a=$("' . $div . '");a.style.height="70%";a.style.width="60%";'; - $script.='a.style.top=posY-20+offsetY;a.style.left=posX+offsetX;'; - $script = create_script($script); - $html = $script; - $html.=HtmlInput::anchor_close($div); - $html.='
      '; - $html.=h2(_('Données non disponibles'), 'class="title" style="width:auto"'); - $html.=h2(_('Veuillez vous reconnecter soit dans une autre fenêtre soit ' - . ' en cliquant sur le lien'), 'class="error"'); - // Reload button - $reload=new IButton("reload"); - $reload->value=_("Se reconnecter pour revenir ici"); - $reload->class="button"; - $reload->javascript='window.location.reload()'; - // Link to log in another tab - $html.='

      '; - $html.=''. - _('Cliquez ici pour vous reconnecter dans une autre page'). - ''; - $html.=$reload->input(); - $html.='

      '; - $html = escape_xml($html); - header('Content-type: text/xml; charset=UTF-8'); - echo << - -$div -$html - -EOF; - exit(); - } -} - -/** - *Show the modules - * @param int $selected module selected profile_menu.pm_id - */ -function show_module($selected) -{ - global $g_user; - $cn = Dossier::connect(); - $amodule = $cn->get_array("select - me_code,me_menu,me_url,me_javascript,p_order,me_type,me_description - from v_all_menu - where - p_id=$1 - and p_type_display='M' - order by p_order", array($g_user->get_profile())); - - if ($selected != -1) - { - $selected_module=$cn->get_value('select me_code from profile_menu where' - . ' pm_id = $1 ', array($selected)); - require_once NOALYSS_INCLUDE.'/template/module.php'; - $file = $cn->get_array("select me_file,me_parameter,me_javascript,me_type,me_description from v_all_menu - where pm_id=$1 and p_id=$2", array($selected,$g_user->get_profile())); - if ( count($file ) == 0 ) - { - echo '
      '; - echo '
      '; - echo '
      '; - echo_warning(_("Module inexistant")."[ $selected ] "); - echo '
      '; - exit(); - } - if ($file[0]['me_file'] != '') - { - if ($file[0]['me_parameter'] != "") - { - // if there are paramter put them in superglobal - $array=compute_variable($file[0]['me_parameter']); - put_global($array); - } - - // if file is not a plugin, include the file, otherwise - // include the plugin launcher - if ($file[0]['me_type'] != 'PL') - { - require_once $file[0]['me_file']; - } - else - { - // nothing : direct call to plugin - } - } - if ( $file[0]['me_javascript'] != '') - { - create_script($file[0]['me_javascript']); - } - } -} -/** - * Find the default module or the first one - * @global $g_user $g_user - * @return default module (string) - */ -function find_default_module() -{ - global $g_user; - $cn = Dossier::connect(); - - $default_module = $cn->get_array("select me_code - from profile_menu join profile_user using (p_id) - where - p_type_display='M' and - user_name=$1 and pm_default=1", array($g_user->login)); - - /* - * Try to find the smallest order for module - */ - if (empty($default_module)) - { - $default_module = $cn->get_array("select me_code - from profile_menu join profile_user using (p_id) - where - p_type_display='M' and - user_name=$1 order by p_order limit 1", array($g_user->login)); - - // if no default try to find the default menu - if ( empty ($default_module)) - { - $default_module = $cn->get_array("select me_code - from profile_menu join profile_user using (p_id) - where - p_type_display='E' and - user_name=$1 and pm_default=1 ", array($g_user->login)); - /* - * Try to find a default menu by order - */ - if (empty ($default_module)) - { - $default_module = $cn->get_array("select me_code - from profile_menu join profile_user using (p_id) - where - user_name=$1 and p_order=(select min(p_order) from profile_menu join profile_user using (p_id) - where user_name=$2) limit 1", array($g_user->login, $g_user->login)); - } - - /* - * if nothing found, there is no profile for this user => exit - */ - if (empty ($default_module)) - { - /* - * If administrateur, then we insert a default profile (1) - * for him - */ - if ( $g_user->admin == 1 ) - { - $cn->exec_sql('insert into profile_user(user_name,p_id) values ($1,1) ',array($g_user->login)); - return find_default_module(); - } - echo_warning(_("Utilisateur n'a pas de profil, votre administrateur doit en configurer un dans CFGSEC")); - exit(); - } - } - return $default_module[0]['me_code']; - } - - if (count($default_module) > 1) - { - // return the first module found - return $default_module[0]['me_code']; - } - elseif (count($default_module) == 1) - { - return $default_module[0]['me_code']; - } -} - -/** - * show the module - * @global $g_user - * @param $module the $_REQUEST['ac'] exploded into an array - * @param $idx the index of the array : the AD code is splitted into an array thanks the slash - */ -function show_menu($module) -{ - if ($module == 0)return; - static $level=0; - global $g_user; - - $cn = Dossier::connect(); - /** - * Show the submenus - */ - $amenu = $cn->get_array(" - select - pm_id, - me_code, - pm_id_dep, - me_file, - me_javascript, - me_url, - me_menu, - me_description, - me_description_etendue - from profile_menu - join menu_ref using (me_code) - where pm_id_dep=$1 and p_id=$2 - order by p_order", array($module, $g_user->get_profile())); - - // There are submenuS, so show them - if (!empty($amenu) && count($amenu) > 1) - { - $a_style_menu=array('topmenu','menu2','menu3'); - if ( $level > count($a_style_menu)) - $style_menu='menu3'; - else { - $style_menu=$a_style_menu[$level]; - } - require 'template/menu.php'; - } // there is only one submenu so we include the code or javascript - // or we show the submenu - elseif (count($amenu) == 1) - { - if ( trim($amenu[0]['me_url']) != "" || - trim ($amenu[0]['me_file']) != "" || - trim ($amenu[0]['me_javascript']) != "" ) - { - echo '
      '; - echo h2info(_($amenu[0]['me_menu'])); - echo '
      '; - $module = $amenu[0]['pm_id']; - } else { - $url=$_REQUEST['ac'].'/'.$amenu[0]['me_code']; - echo ''; - echo _($amenu[0]['me_menu']); - echo ''; - $level++; - return; - } - } - - // There is no submenu or only one - if (empty($amenu) || count($amenu) == 1) - { - $file = $cn->get_array("select me_file,me_parameter,me_javascript,me_type - from menu_ref - join profile_menu using (me_code) - join profile_user using (p_id) - where - pm_id=$1 and - user_name=$2 and - (me_file is not null or trim(me_file) <>'' or - me_javascript is not null or trim (me_javascript) <> '')", array($module,$g_user->login)); - - if (count($file)==0) - { - return; - } - - if ($file[0]['me_file'] != "") - { - if ($file[0]['me_parameter'] !== "") - { - // if there are paramter put them in superglobal - $array=compute_variable($file[0]['me_parameter']); - put_global($array); - } - if ( DEBUG ) echo $file[0]['me_file']," param : ",$file[0]['me_parameter'] ; - /* - * Log the file we input to put in the folder test-noalyss for replaying it - */ - if (LOGINPUT) { - $file_loginput=fopen($_ENV['TMP'].'/scenario-'.$_SERVER['REQUEST_TIME'].'.php','a+'); - fwrite($file_loginput, "include '".$file[0]['me_file']."';"); - fwrite($file_loginput,"\n"); - fclose($file_loginput); - } - // if file is not a plugin, include the file, otherwise - // include the plugin launcher - if ( $file[0]['me_type'] != 'PL') - require_once $file[0]['me_file']; - else - require 'extension_get.inc.php'; - - exit(); - } - if ( $file[0]['me_javascript'] != '') - { - $js= str_replace('', dossier::id(), $file[0]['me_javascript']); - echo create_script($js); - } - } - $level++; -} -/** - * Put in superglobal (get,post,request) the value contained in - * the parameter field (me_parameter) - * @param $array [key] [value] - */ -function put_global($array) -{ - for ($i=0;$i - -$p_code -$html - -EOF; -} -/** - * @brief Display a box with the contains - * @param type $p_array Data to display - * @param type $p_title Title of the box - * @param type $p_div id of the box - */ -function display_dashboard_operation($p_array,$p_title,$p_div) -{ - ?> - -get_type(); - - switch ($type) - { - case 'VEN': - $obj=new Acc_Ledger_Sold($p_cn, $ledger_id); - break; - case 'ACH': - $obj=new Acc_Ledger_Purchase($p_cn, $ledger_id); - break; - case 'FIN': - $obj= new Acc_Ledger_Fin($p_cn, $ledger_id); - break; - case 'ODS': - $obj=$ledger; - break; - - default: - throw new Exception('Ledger type not found'); - } - return $obj; -} -/** - * Check if we use IE 8 or 9 - * @return int 1 for IE8-9;0 otherwise - */ -function is_msie() -{ - if ( strpos ($_SERVER['HTTP_USER_AGENT'],'MSIE 8.0') != 0 || - strpos ($_SERVER['HTTP_USER_AGENT'],'MSIE 9.0') != 0 ) - $is_msie=1; - else - $is_msie=0; - return $is_msie; -} -?> \ No newline at end of file diff --git a/sources/include/action.common.inc.php b/sources/include/action.common.inc.php deleted file mode 100644 index de913ee..0000000 --- a/sources/include/action.common.inc.php +++ /dev/null @@ -1,330 +0,0 @@ -fromArray($_POST); - if ($act->ag_id == 0) - { - $act->save(); - $ag_id = $act->ag_id; - } - else - { - $act->Update(); - } - $act->generate_document($_POST['doc_mod'], $_POST); - $sub_action = 'detail'; -} -/* for delete */ -if (isset($_POST['delete']) && $_POST['delete'] == "1") - $sub_action = 'delete'; -if ($sub_action == "") - $sub_action = "list"; - -// if correction is asked go to directly to add_action -if (isset($_POST['corr'])) -{ - $ag_comment = urldecode($_POST['ag_comment']); - $sub_action = "add_action"; -} -// if this page is called from another menu (customer, supplier,...) -// a button back is added -//---------------------------------------------------------------------- -// Update the detail -// Add a new action related to this one or update -//---------------------------------------------------------------------- -if ($sub_action == "update") -{ - // Update the modification - if (isset($_POST['save'])) - { - $act2 = new Follow_Up($cn); - $act2->fromArray($_POST); - if ($g_user->can_write_action($act2->ag_id) == false ) - { - echo '
      '; - echo '

      '._('Cette action ne vous est pas autorisée Contactez votre responsable').'

      '; - echo '
      '; - return; - } - $sub_action = "detail"; - put_global(array(array('key' => "sa", "value" => "detail"))); - try { - $act2->verify() ; - $act2->Update() ; - } - catch (Exception $e) - { - echo ''; - echo _("Erreur")." ".$e->getMessage(); - echo ''; - $sub_action="detail"; - $correction = 1; - $act = clone $act2; - $act->get(); - $act->fromArray($_POST); - $error_id=$e->getCode(); - } - } - //---------------------------------------------------------------------- - // Add a related action - //---------------------------------------------------------------------- - if (isset($_POST['add_action_here'])) - { - $act = new Follow_Up($cn); - - - //---------------------------------------- - // puis comme ajout normal (copier / coller ) - $act->fromArray($_POST); - $act->ag_id = 0; - $act->d_id = 0; - $act->action = $_POST['ag_id']; - - echo '
      '; - - // Add hidden tag - echo '
      '; - - $act->ag_comment = ""; - if (isset($_REQUEST['qcode_dest'])) - $act->qcode_dest = $_REQUEST['qcode_dest']; - echo $act->Display('NEW', false, $base, $retour); - - echo ''; - echo ''; - echo ''; - echo '

      '; - echo $supl_hidden; - echo '
      '; - echo '
      '; - } -} -//-------------------------------------------------------------------------------- -// Show the detail of an action -// permit the update -if ($sub_action == 'detail') -{ - echo '
      '; - if ( $correction == 0 ) - { - $act = new Follow_Up($cn); - $act->ag_id = $ag_id; - echo $act->get(); - } - - if ($g_user->can_write_action($ag_id) == true) - { - echo '
      '; - echo $supl_hidden; - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - echo dossier::hidden(); - echo $act->Display('UPD', false, $base, $retour); - echo ''; - echo ''; - echo HtmlInput::submit("save", "Sauve",' onclick="$(\'delete\').value=0"'); - echo HtmlInput::submit("add_action_here", _("Ajoute un événement à celui-ci"),' onclick="$(\'delete\').value=0"'); - echo HtmlInput::submit("delete_bt", _("Efface cet événement "), ' onclick="$(\'delete\').value=1;return confirm_box(\'action_common_frm\',\''. _("Vous confirmez l\'effacement") . '\')" '); - echo $retour; - echo '
      '; - } - else if ($g_user->can_read_action($ag_id) == true || $act->ag_dest == -1) - { - echo $act->Display('READ', false, $base, $retour); - } - else - { - echo h2info(_("Ce document n'est pas accessible")); - return; - } - - - echo '
      '; -} -//------------------------------------------------------------------------------- -// Delete an action -if ($sub_action == 'delete') -{ - // confirmed - $cn->start(); - $act = new Follow_Up($cn); - $act->ag_id = $_REQUEST['ag_id']; - $act->get(); - if ($g_user->can_write_action($_REQUEST['ag_id'])==true) $act->remove(); - $sub_action = "list"; - $cn->commit(); - Follow_Up::show_action_list($cn, $base); - if (isset($act->ag_ref)) - echo hb(_('Action ') . $act->ag_ref . _(' effacée')); - return; -} - -//-------------------------------------------------------------------------------- -// Show a list of the action -if ($sub_action == "list") -{ - // Add a button to export to Csv - echo '
      '; - echo HtmlInput::request_to_hidden(array("closed_action","remind_date_end","remind_date","sag_ref", "remind_date","only_internal", "state", "gDossier", "qcode", "start_date", "end_date", "ag_id", "ag_dest_query", - "tdoc", "action_query","date_start","date_end","hsstate","searchtag")); - echo HtmlInput::hidden("act", "CSV:ActionGestion"); - echo HtmlInput::submit("follow_up_csv", "Export CSV",'','smallbutton'); - echo "
      "; - Follow_Up::show_action_list($cn, $base); -} -//-------------------------------------------------------------------------------- -// Save Follow_Up -// Stage 2 : Save a NEW action + Files and generate eventually a document -//-------------------------------------------------------------------------------- -if ($sub_action == "save_action_st2") -{ - $act = new Follow_Up($cn); - $act->fromArray($_POST); - try { - $act->d_id = 0; - $act->md_id = (isset($_POST['gen_doc'])) ? $_POST['gen_doc'] : 0; - - $act->verify(); - - // insert into action_gestion - echo $act->save(); - $url = "?$base&sa=detail&ag_id=" . $act->ag_id . '&' . dossier::get(); - echo '

      ' . hb(_('Evènement Sauvée').' : ' . $act->ag_ref) . '

      '; - - Follow_Up::show_action_list($cn,$base); - $url = "?$base&sa=detail&ag_id=" . $act->ag_id . '&' . dossier::get(); - echo '

      ' . hb(_('Evènement Sauvée').' : ' . $act->ag_ref) . '

      '; - } catch (Exception $e) - { - echo ''; - echo _("Erreur")." ".$e->getMessage(); - echo ''; - $sub_action="add_action"; - $error_id=$e->getCode(); - } -} -//-------------------------------------------------------------------------------- -// Add an action -if ($sub_action == "add_action") -{ - $act = new Follow_Up($cn); - $act->fromArray($_POST); - $act->ag_id = 0; - $act->d_id = 0; - echo '
      '; - // Add hidden tag - echo '
      '; - echo $supl_hidden; - echo dossier::hidden(); - - - $act->ag_comment = (isset($_POST['ag_comment'])) ? Decode($_POST['ag_comment']) : ""; - if (isset($_REQUEST['qcode'])) - $act->qcode_dest = $_REQUEST['qcode']; - echo $act->Display('NEW', false, $base, $retour); - - echo ''; - echo ''; - echo ''; - echo ''; - echo '
      '; - - echo '
      '; - -} -if ( $error_id != 0 ){ - $error[10]='dt_id'; - $error[20]='ag_timestamp'; - $error[30]='ag_remind_date'; - $div=$error[$error_id]; - $js=<<$('$div').style.borderColor="red"; - $('info_div').innerHTML='erreur'; - - -EOF; - echo $js; - } -?> - diff --git a/sources/include/action.inc.php b/sources/include/action.inc.php deleted file mode 100644 index ff2ea68..0000000 --- a/sources/include/action.inc.php +++ /dev/null @@ -1,60 +0,0 @@ -"; - -?> diff --git a/sources/include/adm.inc.php b/sources/include/adm.inc.php deleted file mode 100644 index 6e32b3b..0000000 --- a/sources/include/adm.inc.php +++ /dev/null @@ -1,161 +0,0 @@ -check_action(FICADD) == 0 ) - { - alert(_('Vous ne pouvez pas enlever de fiche')); - return; - } - - $f_id=$_REQUEST['f_id']; - - $fiche=new Admin($cn,$f_id); - $fiche->remove(); - $low_action="list"; - } - -} - -//----------------------------------------------------- -// list of customer -//----------------------------------------------------- -if ( $low_action == "list" ) -{ - - ?> -
      -
      -
      - ' . "Exercice " . $g_user->get_exercice() . ''; - echo dossier::hidden(); - $a=(isset($_GET['query']))?$_GET['query']:""; - printf (_('Recherche').' ', - $a); - echo HtmlInput::request_to_hidden(array('ac')); - $choice_cat=HtmlInput::default_value_request("choice_cat", 1); - if ( $choice_cat == 1 ) - { - $sel_card=new ISelect('cat'); - $sel_card->value=$cn->make_array('select fd_id, fd_label from fiche_def '. - ' where frd_id=$1 '. - ' order by fd_label ',1,array(FICHE_TYPE_ADM_TAX)); - $sel_card->selected=(isset($_GET['cat']))?$_GET['cat']:-1; - $sel_card->javascript=' onchange="submit(this);"'; - echo _('Catégorie :').$sel_card->input(); - } else - { - $cat=HtmlInput::default_value_request('cat', ''); - echo HtmlInput::hidden("cat",$cat); - echo HtmlInput::hidden('choice_cat', 0); - } - echo Dossier::hidden(); - - ?> - - -
      -
      - '; - echo $adm->Summary($search,'adm',$sql); - - - echo '
      '; - echo '
      '; - echo '
      '; - if ($g_user->check_action(FICADD)==1) - { - /* Add button */ - $f_add_button=new IButton('add_card'); - $f_add_button->label=_('Créer une nouvelle fiche'); - $f_add_button->set_attribute('ipopup','ipop_newcard'); - $f_add_button->set_attribute('win_refresh','yes'); - - $f_add_button->set_attribute('type_cat',FICHE_TYPE_ADM_TAX); - $f_add_button->javascript=" select_card_type(this);"; - echo $f_add_button->input(); - - $f_cat_button=new IButton('add_cat'); - $f_cat_button->set_attribute('ipopup','ipop_cat'); - $f_cat_button->set_attribute('type_cat',FICHE_TYPE_ADM_TAX); - $f_cat_button->label=_('Ajout d\'une catégorie'); - $f_cat_button->javascript='add_category(this)'; - echo $f_cat_button->input(); - } - echo '
      '; - echo '
      '; - - -} -/*---------------------------------------------------------------------- - * Detail for a card, Suivi, Contact, Operation,... * - * cc stands for customer card - *----------------------------------------------------------------------*/ -if ( $low_action == 'detail') -{ - /* Menu */ - require_once NOALYSS_INCLUDE.'/category_card.inc.php'; -return; -} - - - -html_page_stop(); -?> diff --git a/sources/include/ajax_account_update.php b/sources/include/ajax_account_update.php deleted file mode 100644 index e0d0ba4..0000000 --- a/sources/include/ajax_account_update.php +++ /dev/null @@ -1,213 +0,0 @@ - - -if (!defined('ALLOWED')) die('Appel direct ne sont pas permis'); - -/** - * @file - * @brief delete insert or update data from account_update (need right CFGPCMN) - * called from ajax_misc.php - * @param array - * @code - * 'op' => string 'account_update' (length=14) - 'gDossier' => string '44' (length=2) - 'action' => string 'update' (length=6) - 'p_oldu' => string '4124' (length=4) - 'p_valu' => string '4124' (length=4) - 'p_libu' => string 'Impôt belge sur le résultat' (length=29) - 'p_parentu' => string '412' (length=3) - 'acc_delete' => string '0' (length=1) - 'p_typeu' => string '0' (length=1) - * @endcode - */ -if ($g_user->check_module('CFGPCMN') == 0) - exit(); - -$var=array('action', 'p_oldu', 'p_valu', 'p_libu', 'p_parentu', 'acc_delete', 'p_typeu'); -for ($i=0; $iset_parameter('libelle', $p_lib); - $acc->set_parameter('value', $p_val); - $acc->set_parameter('parent', $p_parent); - $acc->set_parameter('type', $p_type); - $acc->check(); - } - catch (Exception $e) - { - $message=_("Valeurs invalides, pas de changement")." \n ". - $e->getMessage(); - $ctl='nok'; - } - if (strlen($p_val)!=0&&strlen($p_lib)!=0&&strlen($old_line)!=0) - { - if (strlen($p_val)==1) - { - $p_parent=0; - } - else - { - if (strlen($p_parent)==0) - { - $p_parent=substr($p_val, 0, strlen($p_val)-1); - } - } - /* Parent existe */ - $Ret=$cn->exec_sql("select pcm_val from tmp_pcmn where pcm_val=$1", array($p_parent)); - if (($p_parent!=0&&Database::num_row($Ret)==0)||$p_parent==$old_line) - { - $message=_("Ne peut pas modifier; aucun poste parent"); - $ctl='nok'; - } - else - { - try - { - $acc->update($old_line); - } - catch (Exception $e) - { - $message=$e->getMessage(); - $ctl='nok'; - } - } - } - else - { - $message=_('Update Valeurs invalides'); - $ctl='nok'; - } -} -//----------------------------------------------------- -/* Ajout d'une ligne */ -if ($action=="new") -{ - $p_val=trim($p_valu); - $p_parent=trim($p_parentu); - - if (isset($p_valu)&&isset($p_libu)) - { - $p_val=trim($p_valu); - - if (strlen($p_valu)!=0&&strlen($p_libu)!=0) - { - if (strlen($p_valu)==1) - { - $p_parentu=0; - } - else - { - if (strlen(trim($p_parentu))==0&& - (string) $p_parentu!=(string) (int) $p_parentu) - { - $p_parentu=substr($p_val, 0, strlen($p_valu)-1); - } - } - /* Parent existe */ - $Ret=$cn->exec_sql("select pcm_val from tmp_pcmn where pcm_val=$1", array($p_parentu)); - if ($p_parent!=0&&Database::num_row($Ret)==0) - { - $message=_(" Ne peut pas modifier; aucun poste parent"); - $ctl='nok'; - } - else - { - // Check if the account already exists - - $Count=$cn->get_value("select count(*) from tmp_pcmn where pcm_val=$1", array($p_val)); - if ($Count!=0) - { - // Alert message account already exists - $message=_("Ce poste existe déjà "); - $ctl='nok'; - } - else - { - $Ret=$cn->exec_sql("insert into tmp_pcmn (pcm_val,pcm_lib,pcm_val_parent,pcm_type) values ($1,$2,$3,$4)", array($p_val, $p_libu, $p_parent, $p_typeu)); - } - } - } - else - { - $message=_("Valeurs invalides "); - $ctl='nok'; - } - } -} - -//----------------------------------------------------- -// Action == remove a line -if ($action=="update"&&$acc_delete==1) -{ - /* Ligne a enfant */ - $R=$cn->exec_sql("select pcm_val from tmp_pcmn where pcm_val_parent=$1", array($p_valu)); - if (Database::num_row($R)!=0) - { - $message=_("Ne peut pas effacer le poste: d'autres postes en dépendent"); - $ctl='nok'; - } - else - { - /* Vérifier que le poste n'est pas utilisé qq part dans les journaux */ - $Res=$cn->exec_sql("select * from jrnx where j_poste=$1", array($p_valu)); - if (Database::num_row($Res)!=0) - { - $message=_("Ne peut pas effacer le poste: il est utilisé dans les journaux"); - $ctl='nok'; - } - else - { - $Del=$cn->exec_sql("delete from tmp_pcmn where pcm_val=$1", array($p_valu)); - } // if Database::num_row - } // if Database::num_row -} //$action == del -$message=escape_xml($message); - if ( ! headers_sent()) { header('Content-type: text/xml; charset=UTF-8');} else { echo "HTML".unescape_xml($html);} - - echo << - -$ctl -$message - -EOF; -?> diff --git a/sources/include/ajax_action_remove_concerned.php b/sources/include/ajax_action_remove_concerned.php deleted file mode 100644 index e6da625..0000000 --- a/sources/include/ajax_action_remove_concerned.php +++ /dev/null @@ -1,45 +0,0 @@ -remove_linked_card($f_id); -echo $follow->display_linked(); -HtmlInput::button_action_add_concerned_card( $follow->ag_id); - -$response = ob_get_clean(); - -$html = escape_xml($response); -header('Content-type: text/xml; charset=UTF-8'); -echo << - -unused -$html - -EOF; -?> \ No newline at end of file diff --git a/sources/include/ajax_action_save_concerned.php b/sources/include/ajax_action_save_concerned.php deleted file mode 100644 index b8b780e..0000000 --- a/sources/include/ajax_action_save_concerned.php +++ /dev/null @@ -1,47 +0,0 @@ -insert_linked_card($f_id); -/** - * Display all the linked card - */ - -ob_start(); -$follow->display_linked(); -echo HtmlInput::button_action_add_concerned_card( $ag_id); -$response = ob_get_clean(); -$html = escape_xml($response); -header('Content-type: text/xml; charset=UTF-8'); -echo << - -unused -$html - -EOF; -?> \ No newline at end of file diff --git a/sources/include/ajax_add_concerned_card.php b/sources/include/ajax_add_concerned_card.php deleted file mode 100644 index da09c71..0000000 --- a/sources/include/ajax_add_concerned_card.php +++ /dev/null @@ -1,83 +0,0 @@ -'; -$q=new IText('query'); -$q->value=(isset($query))?$query:''; -$r.=''; -$r.=_('Fiche contenant').HtmlInput::infobulle(19); -$r.=$q->input(); -$r.=HtmlInput::submit('fs', _('Recherche'), "", "smallbutton"); -$r.=''; -$r.=dossier::hidden().HtmlInput::hidden('op', 'add_concerned_card'); -$r.=HtmlInput::request_to_hidden(array('ag_id')); -$r.=''; -$query=HtmlInput::default_value_get("query", ""); -$sql_array['query']=$query; -$sql_array['typecard']='all'; - -$fiche=new Fiche($cn); -/* Build the SQL and show result */ -$sql=$fiche->build_sql($sql_array); - - -/* We limit the search to MAX_SEARCH_CARD records */ -$sql=$sql.' order by vw_name limit '.MAX_SEARCH_CARD; -$a=$cn->get_array($sql); -for ($i=0; $i - -unused -$html - -EOF; -?> \ No newline at end of file diff --git a/sources/include/ajax_add_menu.php b/sources/include/ajax_add_menu.php deleted file mode 100644 index e6ff190..0000000 --- a/sources/include/ajax_add_menu.php +++ /dev/null @@ -1,212 +0,0 @@ -check_module('CFGPRO')==0) - die(); - -$type=HtmlInput::default_value_get('type', 'XX'); -$p_level=HtmlInput::default_value_get('p_level', 0); -$dep=HtmlInput::default_value_get('dep', 0); -if ($type=='XX') -{ - throw new Exception('invalid call'); - return; -} -// if type == menu the -if ($type=='me') -{ - if ( isNumber($p_level)==0 ) throw new Exception('invalid call'); - - if ($p_level==0) - { - // There is no dependency - // Menu which can be added - $ame_code=$cn->make_array(" -select me_code,me_code||' '||coalesce(me_menu,'')||' '||coalesce(me_description,'') - ||'('|| case when me_type='SP' then 'Special' - when me_type='PL' then 'Plugin' - when me_type='ME' and me_file is null and me_javascript is null and me_url is null then 'Module - Menu principal' - when me_type='ME' then 'Menu' - else - me_type - end||')' - from - menu_ref - where - me_type<>'PR' - order by 1 - "); - } - elseif ($p_level==1) - { - // dependency is in dep - // Menu which can be added - $ame_code=$cn->make_array(" -select me_code,me_code||' '||coalesce(me_menu,'')||' '||coalesce(me_description,'') - ||'('|| case when me_type='SP' then 'Special' - when me_type='PL' then 'Plugin' - when me_type='ME' and me_file is null and me_javascript is null and me_url is null then 'Module - Menu principal' - when me_type='ME' then 'Menu' - else - me_type - end||')' - from - menu_ref - where - me_type<>'PR' - order by 1 - "); - } - elseif ($p_level==2) - { - // menu can *NOT* have submenu - // Menu which can be added - $ame_code=$cn->make_array(" -select me_code,me_code||' '||coalesce(me_menu,'')||' '||coalesce(me_description,'') - ||'('|| case when me_type='SP' then 'Special' - when me_type='PL' then 'Plugin' - when me_type='ME' and me_file is null and me_javascript is null and me_url is null then 'Module - Menu principal' - when me_type='ME' then 'Menu' - else - me_type - end||')' - from - menu_ref - where - me_type<>'PR' and - ( - coalesce(me_file,'') <> '' or - coalesce(me_url,'') <> '' or - coalesce(me_javascript,'') <> '' - ) - order by 1 - "); - } - else - { - throw new Exception('LEVEL ERROR'); - } - - - $p_order=new INum("p_order", "10"); - - $me_code=new ISelect('me_code'); - $me_code->value=$ame_code; - - - $pm_default=new ICheckBox('pm_default'); - echo HtmlInput::title_box(_("Nouveau"), $ctl); - ?> - -

      - =MAX_FOLDER_TO_SHOW)?MAX_FOLDER_TO_SHOW:$nb_dossier; - echo _('Dossiers trouvés').':'.$nb_dossier." "._('Dossiers affichés').$max; - ?> -

      - createElement('content', $xml); - $xml_status=$dom->createElement('status', $status); - $root=$dom->createElement("root"); - $root->appendChild($xml_content); - $root->appendChild($xml_status); - $dom->appendChild($root); - echo $dom->saveXML(); - exit(); -} -// For the operation 'modele_drop','modele_modify','folder_modify','folder_drop' -// the p_dossier parameter is mandatory -if (in_array($op, array('modele_drop', 'modele_modify', 'folder_modify', 'folder_drop'))) -{ - $dossier=HtmlInput::default_value_get('p_dossier', 0); - $content=_('Erreur paramètre'); - $status="NOK"; - // check if we receive a valid parameter - if ($dossier==0||isNumber($dossier)==0) - { - //---------------------------------------------------------------- - // Answer in XML - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $xml=escape_xml($content); - $xml_content=$dom->createElement('content', $xml); - $xml_status=$dom->createElement('status', $status); - $root=$dom->createElement("root"); - $root->appendChild($xml_content); - $root->appendChild($xml_status); - $dom->appendChild($root); - echo $dom->saveXML(); - exit(); - } - // Modify the description or the name of folder - if ($op=='folder_modify') - { - $dos=new Dossier($dossier); - ob_start(); - $dos->load(); - echo HtmlInput::title_box(_('Modification'), 'folder_admin_div'); - $wText=new IText(); - echo '
      '; - echo HtmlInput::hidden('action', 'dossier_mgt'); - echo HtmlInput::hidden('d', $dos->get_parameter("id")); - echo _('Nom').' : '; - echo $wText->input('name', $dos->get_parameter('name')); - echo '
      '; - $wDesc=new ITextArea(); - $wDesc->heigh=5; - echo _('Description').' :
      '; - echo $wDesc->input('desc', $dos->get_parameter('desc')); - echo '
      '; - echo HtmlInput::submit('upd', _('Modifie')); - echo '
      '; - $content=ob_get_clean(); - $status='OK'; - } - else if ($op=='folder_drop') - { - // ask to confirm the removal a folder - $dos=new Dossier($dossier); - ob_start(); - echo HtmlInput::title_box(_('Efface'), 'folder_admin_div'); - $dos->load(); - echo '
      '; - echo HtmlInput::hidden('action', 'dossier_mgt'); - echo HtmlInput::hidden('d', $dossier); - echo HtmlInput::hidden('sa', 'remove'); - echo '

      '._('Etes vous sûr et certain de vouloir effacer ').$dos->dos_name.' ???

      '; - $confirm=new ICheckBox(); - $confirm->name="p_confirm"; - echo '

      '; - echo _('Cochez la case si vous êtes sûr de vouloir effacer ce dossier'); - echo $confirm->input(); - echo '

      '; - echo '

      '; - echo HtmlInput::submit('remove', _('Effacer')); - echo '

      '; - echo '
      '; - $content=ob_get_clean(); - $status='OK'; - } - else if ($op=='modele_drop') - { - // ask to confirm the removal a folder - $cn=new Database(); - $name=$cn->get_value('select mod_name from modeledef where mod_id=$1', array($dossier)); - ob_start(); - echo HtmlInput::title_box(_('Efface'), 'folder_admin_div'); - echo '
      '; - echo HtmlInput::hidden('m', $dossier); - echo HtmlInput::hidden('sa', 'remove'); - echo HtmlInput::hidden('action', 'modele_mgt'); - echo '

      '._('Etes vous sure et certain de vouloir effacer ').$name.' ?

      '; - $confirm=new ICheckBox(); - $confirm->name="p_confirm"; - echo '

      '; - echo _('Cochez la case si vous êtes sûr de vouloir effacer ce modèle'); - echo $confirm->input(); - echo '

      '; - echo '

      '; - echo HtmlInput::submit('remove', 'Effacer'); - echo '

      '; - echo '
      '; - $content=ob_get_clean(); - $status='OK'; - } - else if ($op=='modele_modify') - { - // Modify the description or the name of a template - $cn=new Database(); - ob_start(); - echo HtmlInput::title_box(_('Modification'), 'folder_admin_div'); - echo '
      '; - $name=$cn->get_value( - "select mod_name from modeledef where ". - " mod_id=$1", array($dossier)); - - $desc=$cn->get_value( - "select mod_desc from modeledef where ". - " mod_id=$1", array($dossier)); - $wText=new IText(); - echo 'Nom : '.$wText->input('name', $name); - $wDesc=new ITextArea(); - $wDesc->heigh=5; - echo '
      Description :
      '; - echo $wDesc->input('desc', $desc); - echo HtmlInput::hidden('m', $dossier); - echo HtmlInput::hidden('action', 'modele_mgt'); - echo '
      '; - echo HtmlInput::submit('upd', 'Modifie'); - echo '
      '; - $content=ob_get_clean(); - $status='OK'; - } - //---------------------------------------------------------------- - // Answer in XML - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $xml=escape_xml($content); - $xml_content=$dom->createElement('content', $xml); - $xml_status=$dom->createElement('status', $status); - $root=$dom->createElement("root"); - $root->appendChild($xml_content); - $root->appendChild($xml_status); - $dom->appendChild($root); - echo $dom->saveXML(); - exit(); -} -?> \ No newline at end of file diff --git a/sources/include/ajax_anc_key_choice.php b/sources/include/ajax_anc_key_choice.php deleted file mode 100644 index d2d38ee..0000000 --- a/sources/include/ajax_anc_key_choice.php +++ /dev/null @@ -1,53 +0,0 @@ - - - -$html - -EOF; -?> \ No newline at end of file diff --git a/sources/include/ajax_anc_key_compute.php b/sources/include/ajax_anc_key_compute.php deleted file mode 100644 index 499ad16..0000000 --- a/sources/include/ajax_anc_key_compute.php +++ /dev/null @@ -1,61 +0,0 @@ -fill_table($target,$amount); - -//// -$response = ob_get_clean(); -$html = escape_xml($response); -header('Content-type: text/xml; charset=UTF-8'); -echo << - - -$html - -EOF; -?> \ No newline at end of file diff --git a/sources/include/ajax_anc_search.php b/sources/include/ajax_anc_search.php deleted file mode 100644 index 7c313c0..0000000 --- a/sources/include/ajax_anc_search.php +++ /dev/null @@ -1,98 +0,0 @@ -'; -echo ''._('Recherche').':'; - -$texte=new IText('plabel'); -$texte->value=HtmlInput::default_value('plabel',"", $_GET); -echo $texte->input(); -echo ''; -echo dossier::hidden(); -$hid=new IHidden(); -echo $hid->input("c1",$_REQUEST['c1']); -echo $hid->input("c2",$_REQUEST['c2']); -echo $hid->input("go"); -echo HtmlInput::submit("go",_("Recherche")); -echo ''; -//------------- FORM ---------------------------------- -if ( isset($_REQUEST['go'])) -{ - $cn=Dossier::connect(); - $plan=new Anc_Plan($cn,$_REQUEST['c2']); - $plan->pa_id=$_REQUEST['c2']; - if ( $plan->exist()==false) - exit(_("Ce plan n'existe pas")); - - $sql="select po_name , po_description from poste_analytique ". - "where pa_id=$1 and ". - " (po_name ~* $2 or po_description ~* $3) order by po_name"; - $array=$cn->get_array($sql,array($_REQUEST['c2'],$_REQUEST['plabel'],$_REQUEST['plabel'])); - - if (empty($array) == true) - { - echo _("Aucun poste trouvé"); - return; - } - $button=new IButton(); - $button->name=_("Choix"); - $button->label=_("Choix"); - - echo ''; - foreach ($array as $line) - { - $button->javascript=sprintf("$('%s').value='%s';removeDiv('%s')", - $_REQUEST['c1'], - $line['po_name'],$ctl); - echo ''. - ''. - ''; - } - echo '
      '. - $button->input(). - ''. - h($line['po_name']). - ''. - h($line['po_description']). - '
      '; -} diff --git a/sources/include/ajax_auto_anc_card.php b/sources/include/ajax_auto_anc_card.php deleted file mode 100644 index 4d17610..0000000 --- a/sources/include/ajax_auto_anc_card.php +++ /dev/null @@ -1,31 +0,0 @@ -exec_sql("select po_name,po_description from poste_analytique where pa_id=$1 ~* and (po_description ~* $2 or po_name ~* $3 order by po_id limit 12", - array($_REQUEST['pa_id'],$_POST['anccard'],$_POST['anccard'])); -} -else -{ - $res=$cn->exec_sql("select po_name,po_description from poste_analytique where po_description ~* $1 or po_name ~* $2 order by po_id limit 12 ", - array($_POST['anccard'],$_POST['anccard'])); -} -$nb=Database::num_row($res); - echo "
        "; -for ($i = 0;$i< $nb;$i++) -{ - $row=Database::fetch_array($res,$i); - echo "
      • "; - echo $row['po_name']; - echo ' '.$row['po_description'].'
      • '; -} - echo "
      "; -?> \ No newline at end of file diff --git a/sources/include/ajax_bank_saldo.php b/sources/include/ajax_bank_saldo.php deleted file mode 100644 index 56a3e84..0000000 --- a/sources/include/ajax_bank_saldo.php +++ /dev/null @@ -1,75 +0,0 @@ -check_jrn($_GET['j'])=='X' ) return '{"saldo":"0"}'; -/* make a filter on the exercice */ - -$filter_year=" j_tech_per in (select p_id from parm_periode ". - "where p_exercice='".$g_user->get_exercice()."')"; - - -$id=$cn->get_value('select jrn_def_bank from jrn_def where jrn_def_id=$1',array($_GET['j'])); -$acc=new Fiche($cn,$id); - -$res=$acc->get_bk_balance($filter_year." and ( trim(jr_pj_number) != '' and jr_pj_number is not null)" ); - - -if ( empty($res) ) return '{"saldo":"0"}'; -$solde=$res['solde']; -if ( $res['debit'] < $res['credit'] ) $solde=$solde*(-1); - -//header("Content-type: text/html; charset: utf8",true); -echo '{"saldo":"'.$solde.'"}'; - - - -?> - diff --git a/sources/include/ajax_bookmark.php b/sources/include/ajax_bookmark.php deleted file mode 100644 index 854e42c..0000000 --- a/sources/include/ajax_bookmark.php +++ /dev/null @@ -1,117 +0,0 @@ -get_value("select count(*) from bookmark" - . " where b_action=$1 and login=$2", - array($_GET['ac'],$g_user->login) - ); - // Add bookmark only if absent - if ( $count == 0 ){ - $cn->exec_sql("insert into bookmark(b_action,login) values($1,$2)", - array($_GET['ac'],$g_user->login)); - } else { - $js="error_message('"._("Ce favori a déjà été ajouté")."');"; - echo create_script($js); - } -} -// remove bookmark -if (isset($_GET['bookmark_delete']) && isset ($_GET['book'])){ - $a_book=$_GET['book']; - for ($e=0;$eexec_sql("delete from bookmark where b_id=$1 and login=$2", - array($a_book[$e],$g_user->login)); - } -} - -$bookmark_sql="select distinct b_id,b_action,b_order,me_code,me_description, javascript" - . " from bookmark " - . "join v_menu_description_favori on (code=b_action or b_action=me_code)" - . "where " - . "login=$1 order by me_code"; -$a_bookmark=$cn->get_array($bookmark_sql,array($g_user->login)); -$url="do.php?gDossier=".Dossier::id()."&ac="; -?> -
      -
      - - - - - - - - - - - -
      - value=$a_bookmark[$i]['b_id']; - echo $ch->input(); - ?> - - - - - - -
      - 0) : - echo HtmlInput::submit("bookmark_delete",_("Supprimez favoris sélectionnés"),"","smallbutton"); -endif; - ?> -
      -
      - -

      - -

      - - -
      \ No newline at end of file diff --git a/sources/include/ajax_boxcard_search.php b/sources/include/ajax_boxcard_search.php deleted file mode 100644 index 2073911..0000000 --- a/sources/include/ajax_boxcard_search.php +++ /dev/null @@ -1,103 +0,0 @@ -get_array($sql,array($_GET['card'])); -echo HtmlInput::title_box(_("Résultat recherche"), "boxsearch_card_div"); -$max=(count($array)>MAX_CARD_SEARCH)?MAX_CARD_SEARCH:count($array); -?> -MAX_CARD_SEARCH ): ?> -

      - - - : - - - - - - - - - - - -

      - - - - - - - - - - - - - - -
      - - - Nom -  ▾ - - - - - - - - -
      - - -   - - - - - - - - - - - - -
      - diff --git a/sources/include/ajax_calendar_zoom.php b/sources/include/ajax_calendar_zoom.php deleted file mode 100644 index 5458235..0000000 --- a/sources/include/ajax_calendar_zoom.php +++ /dev/null @@ -1,46 +0,0 @@ -get_preference(); -} -$cal->set_periode($in); -echo $cal->zoom($distype,$notitle); -$response= ob_get_clean(); - -$html=escape_xml($response); -header('Content-type: text/xml; charset=UTF-8'); -echo << - - -$html - -EOF; -exit(); - - -?> diff --git a/sources/include/ajax_create_menu.php b/sources/include/ajax_create_menu.php deleted file mode 100644 index 6f5726d..0000000 --- a/sources/include/ajax_create_menu.php +++ /dev/null @@ -1,15 +0,0 @@ -'; -echo HtmlInput::hidden('create_menu', 1); -require_once 'template/menu_detail.php'; -echo HtmlInput::submit('create_menubt',_('Sauver')); -echo HtmlInput::button_close('divmenu'); -echo ''; -?> diff --git a/sources/include/ajax_display_submenu.php b/sources/include/ajax_display_submenu.php deleted file mode 100644 index d8271f1..0000000 --- a/sources/include/ajax_display_submenu.php +++ /dev/null @@ -1,98 +0,0 @@ -check_module('CFGPRO') == 0 ) die(); - -// Check parameter -$module=HtmlInput::default_value_get("dep", ""); -$p_level=HtmlInput::default_value_get("p_level", 0); -$p_id=HtmlInput::default_value_get('p_profile',-1); - -if ($module == "" - || $p_id == -1 - || isNumber($p_id) == 0 - || isNumber($p_level) == 0 - ) -{ - echo _('Paramètre invalide'); - return; -} - -require_once NOALYSS_INCLUDE.'/class_profile_menu.php'; -$p_level++; -$profile=new Profile_Menu($cn); -$profile->p_id=$p_id; -$profile->display_module_menu($module,$p_level); - -//////////////////////////////////////////////////////////////////////////////// -// EXAMPLE -//////////////////////////////////////////////////////////////////////////////// -/* -if ($ac == 'save') // operation -{ - - $cn=new Database(dossier::id()); - $todo=new Todo_List($cn); - $id=HtmlInput::default_value_get("id", 0); // get variable - $todo->set_parameter("id",$id); - if ($id <> 0 ) { $todo->load(); } - else - { - $todo->set_parameter("owner", $_SESSION['g_user']); - } - - $todo->set_parameter("date", HtmlInput::default_value_get("p_date_todo", "")); - $todo->set_parameter("title", HtmlInput::default_value_get("p_title", "")); - $todo->set_parameter("desc", HtmlInput::default_value_get("p_desc", "")); - $todo->set_is_public(HtmlInput::default_value_get("p_public", "N")); - - if ( $todo->get_parameter('owner') == $_SESSION['g_user'] ) $todo->save(); - $todo->load(); - //---------------------------------------------------------------- - // Answer in XML - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0','UTF-8'); - $tl_id=$dom->createElement('tl_id',$todo->get_parameter('id')); - $tl_content=$dom->createElement('row',$todo->display_row('class="odd"','N')); - $root=$dom->createElement("root"); - $todo_class=$todo->get_class(); - $todo_class=($todo_class=="")?' odd ':$todo_class; - $class=$dom->createElement("style",$todo_class); - - $root->appendChild($tl_id); - $root->appendChild($tl_content); - $root->appendChild($class); - $dom->appendChild($root); - - echo $dom->saveXML(); - exit(); -} - */ -?> \ No newline at end of file diff --git a/sources/include/ajax_fiche_def_detail.php b/sources/include/ajax_fiche_def_detail.php deleted file mode 100644 index effdb49..0000000 --- a/sources/include/ajax_fiche_def_detail.php +++ /dev/null @@ -1,47 +0,0 @@ -can_request(FICCAT,0); - -$fd=new Fiche_Def($cn,$_GET['id']); -if ( $_GET['id'] > 0 ) -{ - - echo $fd->input_detail(); - echo HtmlInput::button("retour_b", _("Retour à la liste"), "onclick=\"$('detail_category_div').hide();$('list_cat_div').show()\""); -} -else -{ - $fd->input_new(); - -} -?> diff --git a/sources/include/ajax_gestion.php b/sources/include/ajax_gestion.php deleted file mode 100644 index d59c681..0000000 --- a/sources/include/ajax_gestion.php +++ /dev/null @@ -1,129 +0,0 @@ -get_last(25); - $len_array=count($array); - require_once NOALYSS_INCLUDE.'/template/action_show.php'; - return; -} -if ($op=='action_add') -{ - require_once NOALYSS_INCLUDE.'/class_follow_up.php'; - $gestion=new Follow_Up($cn); - $gestion->display_short(); - return; -} -if ($op=='action_save') -{ - require_once NOALYSS_INCLUDE.'/class_follow_up.php'; - - /** - * save info from the get - */ - $date_event=HtmlInput::default_value_get("date_event", -1); - $dest=HtmlInput::default_value_get("dest", ""); - $event_group=HtmlInput::default_value_get("event_group", 0); - $event_priority=HtmlInput::default_value_get("event_priority", 0); - $title=HtmlInput::default_value_get("title_event", NULL); - $summary=HtmlInput::default_value_get("summary", ""); - $type_event=HtmlInput::default_value_get('type_event', -1); - /* - * Check if data are valid - */ - try - { - if ($date_event==-1||isDate($date_event)==0) - throw new Exception(_('Date invalide')); - if (trim($dest)=="") - $dest_id=NULL; - else - { - $fiche=new Fiche($cn); - $fiche->get_by_qcode($dest); - $dest_id=$fiche->id; - if ($dest_id==0) - throw new Exception(_('Destinataire invalide')); - } - if ($type_event==-1) - throw new Exception(_('Type invalide')); - if (trim($title)=="") - throw new Exception(_('Aucun titre')); - } - catch (Exception $ex) - { - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $xml_content=$dom->createElement('content', $ex->getMessage()); - $xml_status=$dom->createElement('status', "NOK"); - $root=$dom->createElement("root"); - $root->appendChild($xml_content); - $root->appendChild($xml_status); - $dom->appendChild($root); - echo $dom->saveXML(); - return; - } - /* - * Save data - */ - $gestion=new Follow_Up($cn); - $gestion->ag_priority=$event_priority; - $gestion->ag_title=$title; - $gestion->ag_dest=$event_group; - $gestion->ag_type=$type_event; - $gestion->f_id_dest=$dest_id; - $gestion->ag_state=3; - $gestion->dt_id=$type_event; - $gestion->ag_comment=h($summary); - $gestion->ag_timestamp=$date_event; - $gestion->ag_remind_date=$date_event; - $content=_('Sauvé'); - $status='OK'; - try { - $gestion->save_short(); - } catch (Exception $ex) - { - $content=$ex->getMessage(); - $status='NOK'; - } - header('Content-type: text/xml; charset=UTF-8'); - $dom=new DOMDocument('1.0', 'UTF-8'); - $xml_content=$dom->createElement('content', _("Sauvé")); - $xml_status=$dom->createElement('status', "OK"); - $root=$dom->createElement("root"); - $root->appendChild($xml_content); - $root->appendChild($xml_status); - $dom->appendChild($root); - echo $dom->saveXML(); - return; -} \ No newline at end of file diff --git a/sources/include/ajax_get_menu_detail.php b/sources/include/ajax_get_menu_detail.php deleted file mode 100644 index ff015a8..0000000 --- a/sources/include/ajax_get_menu_detail.php +++ /dev/null @@ -1,81 +0,0 @@ -get_value("select p_id from profile_menu where pm_id=$1",array($pm_id)); -$a_value=$cn->make_array("select me_code,me_code||' '||me_menu||' '||coalesce(me_description,'') from menu_ref",0); - -$array=$cn->get_array("select p_id,pm_id,me_code,me_code_dep,p_order,p_type_display,pm_default - from profile_menu - where pm_id=$1",array($pm_id)); -if ( empty($array)) { - alert("Code invalide"); - exit(); -} - - -echo HtmlInput::title_box($array[0]['me_code'],'divdm'.$pm_id); - -$me_code=new ISelect('me_code'); -$me_code->value=$a_value; -$me_code->selected=$array[0]['me_code']; - -$p_order=new Inum('p_order',$array[0]['p_order']); -$pm_default=new ICheckBox('pm_default','1'); -$pm_default->set_check($array[0]['pm_default']); - -?> -
      ?')"> - - - - - - - - - - - - - - - - - - - -
      input()?>
      input()?>
      input()?>
      -'; - - -?> diff --git a/sources/include/ajax_get_profile.php b/sources/include/ajax_get_profile.php deleted file mode 100644 index 8dcab3b..0000000 --- a/sources/include/ajax_get_profile.php +++ /dev/null @@ -1,137 +0,0 @@ -check_module('CFGPRO') == 0 ) die(); - -require_once NOALYSS_INCLUDE.'/class_profile_sql.php'; -require_once NOALYSS_INCLUDE.'/class_profile_menu.php'; -require_once NOALYSS_INCLUDE.'/class_html_input.php'; -$p_id=HtmlInput::default_value_request('p_id', -1); -$profile=new Profile_sql($cn,$p_id); -$gDossier=Dossier::id(); -$add_impression=HtmlInput::button("add", _("Ajout Menu"),"onclick=\"add_menu({dossier:$gDossier,p_id:$p_id,type:'pr'})\""); -$call_tab=HtmlInput::default_value_post('tab', 'none'); -$a_tab=array('profile_gen_div'=>'tabs','profile_menu_div'=>'tabs','profile_print_div'=>'tabs','profile_gestion_div'=>'tabs','profile_repo_div'=>'tabs'); -$a_tab[$call_tab]='tabs_selected'; -?> -

      Profil p_name?>

      - - 0 ) : ?> -
        - -
      • -
      • -
      • -
      • -
      •   -
      - - -p_id); -$name=new IText("p_name",$profile->p_name); -$desc=new IText("p_desc",$profile->p_desc); -$with_calc=new ICheckBox("with_calc","t"); -$with_calc->set_check($profile->with_calc); - -$with_direct_form=new ICheckBox("with_direct_form","t"); -$with_direct_form->set_check($profile->with_direct_form); - -// If $p_id == -1 it is a new profile -if ( $p_id > 0 ) -{ - echo '
      '; -} -?> - - diff --git a/sources/include/ajax_get_receipt.php b/sources/include/ajax_get_receipt.php deleted file mode 100644 index 472c9fa..0000000 --- a/sources/include/ajax_get_receipt.php +++ /dev/null @@ -1,65 +0,0 @@ -get_propertie(); -$pj_seq=$Ledger->guess_pj(); -$string='{"pj":"'.$pj_seq.'"}'; - -header("Content-type: text/json; charset: utf8",true); -echo $string; - - -?> - diff --git a/sources/include/ajax_ledger_show.php b/sources/include/ajax_ledger_show.php deleted file mode 100644 index db9534c..0000000 --- a/sources/include/ajax_ledger_show.php +++ /dev/null @@ -1,35 +0,0 @@ - - -$ctl -$html - -EOF; -exit(); -?> \ No newline at end of file diff --git a/sources/include/ajax_min_row.php b/sources/include/ajax_min_row.php deleted file mode 100644 index c454ccc..0000000 --- a/sources/include/ajax_min_row.php +++ /dev/null @@ -1,48 +0,0 @@ -check_jrn($_GET['j'])=='X' ) { echo '{"row":"0"}';exit();} - -$row=$cn->get_value('select jrn_deb_max_line from jrn_def where jrn_def_id=$1',array($_GET['j'])); - -echo '{"row":"'.$row.'"}'; - -?> diff --git a/sources/include/ajax_mod_document.php b/sources/include/ajax_mod_document.php deleted file mode 100644 index 157d25b..0000000 --- a/sources/include/ajax_mod_document.php +++ /dev/null @@ -1,52 +0,0 @@ -load(); -ob_start(); -require(NOALYSS_INCLUDE.'/template/modele_document.php'); - -$html=ob_get_contents(); -ob_end_clean(); -$html=escape_xml($html); -header('Content-type: text/xml; charset=UTF-8'); - -echo << - -mod_doc -$html - -EOF; -exit(); diff --git a/sources/include/ajax_mod_menu.php b/sources/include/ajax_mod_menu.php deleted file mode 100644 index 7d32b3f..0000000 --- a/sources/include/ajax_mod_menu.php +++ /dev/null @@ -1,17 +0,0 @@ -me_code.' '.h($m->me_menu); -echo '
      '; -echo HtmlInput::hidden('modify_menu', 1); - -require_once NOALYSS_INCLUDE.'/template/menu_detail.php'; - -echo HtmlInput::submit('modify_menutb',_('Sauver')); -echo HtmlInput::button_close('divmenu'); -echo '
      '; -?> diff --git a/sources/include/ajax_mod_periode.php b/sources/include/ajax_mod_periode.php deleted file mode 100644 index f28cd13..0000000 --- a/sources/include/ajax_mod_periode.php +++ /dev/null @@ -1,104 +0,0 @@ -load(); - $limit = $per->get_date_limit($_GET['p_id']); - - $p_start = new IDate('p_start'); - $p_start->value = $limit['p_start']; - $p_end = new IDate('p_end'); - $p_end->value = $limit['p_end']; - $p_exercice = new INum('p_exercice'); - $p_exercice->value = $per->p_exercice; - - $html = ''; - $html.=HtmlInput::anchor_close('mod_periode'); - $html.=h2info(_('Modification période')); - $html.='

      '._('Modifier les dates de début et fin de période').'

      '; - $html.='

      '._('Cela pourrait avoir un impact sur les opérations déjà existantes').'

      '; - $html.='
      '; - $html.=dossier::hidden(); - $html.=''; - - $html.=tr(td(_(' Début période : ')) . td($p_start->input())); - $html.=tr(td(_(' Fin période : ')) . td($p_end->input())); - $html.=tr(td(_(' Exercice : ')) . td($p_exercice->input())); - $html.='
      '; - $html.=HtmlInput::submit('sauver', _('sauver')); - $html.=HtmlInput::button('close', _('fermer'), 'onclick="removeDiv(\'mod_periode\')"'); - $html.=HtmlInput::hidden('p_id', $_GET['p_id']); - $html.='
      '; - break; - case 'save_per': - $per = new Periode($cn, $_POST['p_id']); - $per->load(); - if (isDate($_POST['p_start']) == null || - isDate($_POST['p_end'] == null) || - isNumber($_POST['p_exercice']) == 0 || - $_POST['p_exercice'] > 2099 || - $_POST['p_exercice'] < 2000) - { - $html = ''; - $html.=HtmlInput::anchor_close('mod_periode'); - $html.='

      '._('Modifier les dates de début et fin de période').'

      '; - $html.="
      "._('Erreur date invalide')."
      "; - - $html.=HtmlInput::button('close', _('fermer'), 'onclick="removeDiv(\'mod_periode\')"'); - } - else - { - $sql = "update parm_periode set p_start=to_date($1,'DD.MM.YYYY'),p_end=to_date($2,'DD.MM.YYYY'),p_exercice=$3 where p_id=$4"; - try - { - $cn->exec_sql($sql, array($_POST['p_start'], $_POST['p_end'], $_POST['p_exercice'], $_POST['p_id'])); - $html = '

      Modifier les dates de début et fin de période

      '; - $html.='

      Sauvé

      '; - - $html.=HtmlInput::button('close', _('Fermer'), 'onclick=" refresh_window();"'); - } - catch (Exception $e) - { - $html = alert($e->getTrace(), true); - } - } - break; -} - -$html = escape_xml($html); -header('Content-type: text/xml; charset=UTF-8'); -echo ''; -echo ''; -echo '' . $html . ''; -echo ''; diff --git a/sources/include/ajax_mod_predf_op.php b/sources/include/ajax_mod_predf_op.php deleted file mode 100644 index 1e5ea89..0000000 --- a/sources/include/ajax_mod_predf_op.php +++ /dev/null @@ -1,76 +0,0 @@ -load(); -echo HtmlInput::anchor_close('mod_predf_op'); -echo h2(_('Modification du nom'),' class="title"'); - -echo ' -
      '; -$name = new IText('opd_name'); -$name->value = $op->od_name; -$name->size = 60; -echo "Nom =" . $name->input(); -$opd_description=new ITextarea('od_description'); -$opd_description->style=' class="itextarea" style="width:30em;height:4em;vertical-align:top"'; -$opd_description->value=$op->od_description; -echo '

      '; -echo _("Description (max 50 car.)"); -echo $opd_description->input(); -echo '

      '; -echo dossier::hidden() . HtmlInput::hidden('od_id', $_GET['id']); -echo "
      "; -////////////////////////////////////////////////////////////////////////////// -// Detail operation -////////////////////////////////////////////////////////////////////////////// -echo $op->display(); - - -echo HtmlInput::submit('save', _('Sauve')); -echo HtmlInput::button('close', _('Annuler'), 'onclick="removeDiv(\'mod_predf_op\')"'); -echo '
      '; - - -$html1 = ob_get_contents(); -ob_end_clean(); -$html = escape_xml($html1); -if (headers_sent() ) - { - echo $html1; - } -else { - header('Content-type: text/xml; charset=UTF-8'); -} -echo << - -mod_predf_op -$html - -EOF; diff --git a/sources/include/ajax_mod_stock_repo.php b/sources/include/ajax_mod_stock_repo.php deleted file mode 100644 index e808e7d..0000000 --- a/sources/include/ajax_mod_stock_repo.php +++ /dev/null @@ -1,80 +0,0 @@ - - -
      - - - - - - - - - - - - - - - - - - - - - - - -
      - - - r_name); echo $name->input();?> -
      - - - r_adress); echo $name->input();?> -
      - - - r_city); echo $name->input();?> -
      - - - r_country); echo $name->input();?> -
      - - - r_phone); echo $name->input();?> -
      - -
      \ No newline at end of file diff --git a/sources/include/ajax_navigator.php b/sources/include/ajax_navigator.php deleted file mode 100644 index f3bc5c3..0000000 --- a/sources/include/ajax_navigator.php +++ /dev/null @@ -1,116 +0,0 @@ -get_array($sql,array($_SESSION['g_user'])); - -?> -
      -

      - -

      -

      - Filtre : -

      - - - - - - - - - - - - - - - - - - -
      - \ No newline at end of file diff --git a/sources/include/ajax_pcmn_update.php b/sources/include/ajax_pcmn_update.php deleted file mode 100644 index de4d80d..0000000 --- a/sources/include/ajax_pcmn_update.php +++ /dev/null @@ -1,95 +0,0 @@ -check_module('CFGPCMN') == 0 ) -{ - $html=h2(_('Action interdite'),' class="notice"'); - $html = escape_xml($response); - - header('Content-type: text/xml; charset=UTF-8'); -echo << - -pcmn_update -$html -NOTALLOWED - -EOF; - return; -} - -ob_start(); -$pcmn_val=HtmlInput::default_value_get('value', "-1"); - -// if empty -if ( $pcmn_val != "-1" ) -{ - // not set - -} -$action='new'; -$val=new IText('p_valu'); -$parent=new IText('p_parentu'); -$lib=new IText('p_libu'); -$lib->css_size="100%"; -$type=new ISelect('p_typeu'); -$type->value=Acc_Account::$type; - -if ( $pcmn_val != "") -{ - $action='update'; - /* - * Not empty, show the default value - */ - $account = new Acc_Account($cn); - $account->set_parameter('value',$pcmn_val); - $account->load(); - - $val->value=$account->get_parameter('value'); - $parent->value=$account->get_parameter('parent'); - $lib->value=$account->get_parameter('libelle'); - $type->selected=$account->get_parameter('type'); - -} - -require 'template/pcmn_update.php'; -$response = ob_get_clean(); -$html = escape_xml($response); -if ( headers_sent() ) { - echo $response; - echo $html; -} else { - header('Content-type: text/xml; charset=UTF-8'); - echo << - - -$html -ok - -EOF; - } \ No newline at end of file diff --git a/sources/include/ajax_plugin_detail.php b/sources/include/ajax_plugin_detail.php deleted file mode 100644 index bc9a0bd..0000000 --- a/sources/include/ajax_plugin_detail.php +++ /dev/null @@ -1,64 +0,0 @@ -value; -echo HtmlInput::title_box($msg, $ctl); -?> -
      ')"> - - - - - - - - - - - - - - - - - -
      input();?>
      input();?>
      input();?>
      input();?>
      - "._("Voulez-vous effacer ce plugin ?")." ".$delete->input()."

      "; - echo HtmlInput::hidden('mod_plugin',1); - echo HtmlInput::submit("mod_plugin_sbt",_("Modifier ce plugin")); - - } - ?> -
      \ No newline at end of file diff --git a/sources/include/ajax_preference.php b/sources/include/ajax_preference.php deleted file mode 100644 index 0b4c894..0000000 --- a/sources/include/ajax_preference.php +++ /dev/null @@ -1,195 +0,0 @@ -'; -echo '

      '; -echo _("Si vous validez, la page sera rechargée et vous pourriez perdre ce que vous faisiez"); -echo '

      '; -//---------------------------------------------------------------------- -// -global $g_user; - -$g_user=new User($cn); -$inside_dossier = false; - -if (isset($_REQUEST['gDossier']) && $_REQUEST['gDossier']<>0) -{ - $g_user->load_global_pref(); - $msg = ""; - $cn = new Database($_REQUEST['gDossier']); - $g_user->cn = $cn; - $inside_dossier = true; - $local_pref=$g_user->get_preference(); -} -////////////////////////////////////////////////////////////////////////// -// Theme -////////////////////////////////////////////////////////////////////////// - - $repo = new Database(); -// charge tous les styles - $res = $repo->exec_sql("select the_name from theme - order by the_name"); - $style = new ISelect('style_user'); - $style->value = $repo->make_array("select the_name,the_name - from theme - order by the_name"); - $style->selected =$_SESSION['g_theme']; -?> - -
      - -
      -
      - - - - - - - - - - - - - - - get_periode(); - if ($l_user_per == "") - $l_user_per = $cn->get_value("select min(p_id) from parm_periode where p_closed='f'"); - -// if periode is closed then warns the users - $period = new Periode($cn, $l_user_per); - - $period->p_id = $l_user_per; - $period->jrn_def_id = 0; - if ($period->is_closed($l_user_per) == 1) - { - $msg = _('Attention cette période est fermée, vous ne pourrez rien modifier dans le module comptable'); - $msg = '

      ' . $msg . '

      '; - } - - $period = new IPeriod("period"); - $period->user = $g_user; - $period->cn = $cn; - $period->filter_year = false; - $period->value = $l_user_per; - $period->type = ALL; - $l_form_per = $period->input(); - ?> - - - - - - - - -
      - - - -
      - Mot de passe : - - -
      - - - input();?> -
      - -
      - - -
      -
      - '; - echo '' . _('Options pour la page d\'accueil') . ''; - echo _('Mini-Rapport : '); - $rapport = new Acc_Report($cn); - $aRapport = $rapport->make_array(); - $aRapport[] = array("value" => 0, "label" => _('Aucun mini rapport')); - $wRapport = new ISelect(); - $wRapport->name = "minirap"; - $wRapport->selected = $g_user->get_mini_report(); - $wRapport->value = $aRapport; - echo $wRapport->input(); - echo '' . _('Le mini rapport est un rapport qui s\'affiche sur votre page d\'accueil') . ''; - echo ''; - } - - echo '
      '; - echo '' . _('Langue') . ''; - echo _('Selectionnez votre langue'); - $aLang = array(array(_('Français'), 'fr_FR.utf8'), - array(_('Anglais'), 'en_US.utf8'), - array(_('Néerlandais'), 'nl_NL.utf8'), - ); - echo ''; - echo '
      '; - - echo '

      '; - echo HtmlInput::button_close('preference_div'); - echo HtmlInput::submit("set_preference", _("Valider")); - echo '

      '; - echo '
      '; - - echo "
      "; - ?> diff --git a/sources/include/ajax_remove_submenu.php b/sources/include/ajax_remove_submenu.php deleted file mode 100644 index 913f997..0000000 --- a/sources/include/ajax_remove_submenu.php +++ /dev/null @@ -1,30 +0,0 @@ -check_module('CFGPRO')==0) - die(); -$p_profile_menu_id=HtmlInput::default_value_get('p_profile_menu_id', 0); -$cn->exec_sql('delete from profile_menu where pm_id = $1 or pm_id_dep=$1',array($p_profile_menu_id)) -?> \ No newline at end of file diff --git a/sources/include/ajax_save_predf_op.php b/sources/include/ajax_save_predf_op.php deleted file mode 100644 index 83a7479..0000000 --- a/sources/include/ajax_save_predf_op.php +++ /dev/null @@ -1,58 +0,0 @@ -check_module('PREDOP') == 0) exit(); -$name=HtmlInput::default_value_post("opd_name", ""); -if ( trim($name) != '') - { - $od_id=HtmlInput::default_value_post("od_id", -1); - - if ( $od_id == -1 ||isNumber($od_id) == 0) return; - - $cn->exec_sql('delete from op_predef where od_id=$1', - array($od_id)); - - $cn->exec_sql("delete from op_predef_detail where od_id=$1",array($od_id)); - - $jrn_type=HtmlInput::default_value_post("jrn_type", null); - switch ($jrn_type) { - case 'ACH': - $operation=new Pre_op_ach($cn); - break; - case 'VEN': - $operation=new Pre_op_ven($cn); - break; - case 'ODS': - $operation=new Pre_Op_Advanced($cn); - break; - default : - throw new Exception(_('Type de journal invalide')); - } - $operation->get_post(); - $operation->save(); - $cn->commit(); - } -?> \ No newline at end of file diff --git a/sources/include/ajax_search_action.php b/sources/include/ajax_search_action.php deleted file mode 100755 index aae5edf..0000000 --- a/sources/include/ajax_search_action.php +++ /dev/null @@ -1,34 +0,0 @@ - diff --git a/sources/include/ajax_search_add_tag.php b/sources/include/ajax_search_add_tag.php deleted file mode 100644 index f40c9e1..0000000 --- a/sources/include/ajax_search_add_tag.php +++ /dev/null @@ -1,45 +0,0 @@ -update_search_cell($_GET['pref']); - -$response= ob_get_clean(); -$html=escape_xml($response); -header('Content-type: text/xml; charset=UTF-8'); -echo << - - -$html - -EOF; -exit(); - - -?> - diff --git a/sources/include/ajax_search_clear_tag.php b/sources/include/ajax_search_clear_tag.php deleted file mode 100644 index fb8508a..0000000 --- a/sources/include/ajax_search_clear_tag.php +++ /dev/null @@ -1,38 +0,0 @@ - - - -$html - -EOF; -exit(); - - -?> diff --git a/sources/include/ajax_search_display_tag.php b/sources/include/ajax_search_display_tag.php deleted file mode 100644 index 90270be..0000000 --- a/sources/include/ajax_search_display_tag.php +++ /dev/null @@ -1,40 +0,0 @@ -select_search($_GET['pref']); - -$response= ob_get_clean(); -$html=escape_xml($response); -header('Content-type: text/xml; charset=UTF-8'); -echo << - - -$html - -EOF; -exit(); - - -?> diff --git a/sources/include/ajax_tag_add_action.php b/sources/include/ajax_tag_add_action.php deleted file mode 100644 index f067f68..0000000 --- a/sources/include/ajax_tag_add_action.php +++ /dev/null @@ -1,44 +0,0 @@ -ag_id=$_REQUEST['ag_id']; -if ( $g_user->can_write_action($fl->ag_id) == TRUE ) - $fl->tag_add($_REQUEST['t_id']); - -ob_start(); - -$fl->tag_cell(); - -$response= ob_get_clean(); -$html=escape_xml($response); -header('Content-type: text/xml; charset=UTF-8'); -echo << - - -$html - -EOF; -exit(); - - -?> diff --git a/sources/include/ajax_tag_detail.php b/sources/include/ajax_tag_detail.php deleted file mode 100644 index 1226260..0000000 --- a/sources/include/ajax_tag_detail.php +++ /dev/null @@ -1,51 +0,0 @@ -data->t_id=$_GET['tag']; -$tag->data->load(); -echo HtmlInput::title_box(_("Détail du dossier ou tag"), "tag_div"); - -?> - -
      - - - - data; - require_once 'template/tag_detail.php'; - echo HtmlInput::submit("save_tag_sb", "Valider"); - ?> -
      - - - -$html - -EOF; - exit(); - ?> \ No newline at end of file diff --git a/sources/include/ajax_tag_list.php b/sources/include/ajax_tag_list.php deleted file mode 100644 index f8dc506..0000000 --- a/sources/include/ajax_tag_list.php +++ /dev/null @@ -1,45 +0,0 @@ -select(); - -//------------------- Propose to add a tag - -$js=sprintf("onclick=\"show_tag('%s','%s','%s','j')\"",Dossier::id(),'','-1'); -echo HtmlInput::button("tag_add", _("Ajout d'un tag"), $js); - -$response= ob_get_clean(); -$html=escape_xml($response); -header('Content-type: text/xml; charset=UTF-8'); -echo << - - -$html - -EOF; -exit(); - - -?> diff --git a/sources/include/ajax_tag_remove_action.php b/sources/include/ajax_tag_remove_action.php deleted file mode 100644 index 1451865..0000000 --- a/sources/include/ajax_tag_remove_action.php +++ /dev/null @@ -1,44 +0,0 @@ -ag_id=$_REQUEST['ag_id']; - -if ( $g_user->can_write_action($fl->ag_id) == TRUE ) $fl->tag_remove($_REQUEST['t_id']); - -ob_start(); - -$fl->tag_cell(); - -$response= ob_get_clean(); -$html=escape_xml($response); -header('Content-type: text/xml; charset=UTF-8'); -echo << - - -$html - -EOF; -exit(); - - -?> diff --git a/sources/include/ajax_tag_save.php b/sources/include/ajax_tag_save.php deleted file mode 100644 index 9194a18..0000000 --- a/sources/include/ajax_tag_save.php +++ /dev/null @@ -1,11 +0,0 @@ -save($_GET); - -?> diff --git a/sources/include/ajax_tag_select_search.php b/sources/include/ajax_tag_select_search.php deleted file mode 100644 index d364ec0..0000000 --- a/sources/include/ajax_tag_select_search.php +++ /dev/null @@ -1,40 +0,0 @@ -select_search(); - -$response= ob_get_clean(); -$html=escape_xml($response); -header('Content-type: text/xml; charset=UTF-8'); -echo << - - -$html - -EOF; -exit(); - - -?> diff --git a/sources/include/ajax_update_payment.php b/sources/include/ajax_update_payment.php deleted file mode 100644 index f12a61a..0000000 --- a/sources/include/ajax_update_payment.php +++ /dev/null @@ -1,32 +0,0 @@ -input_paid(1); -?> diff --git a/sources/include/ajax_update_predef.php b/sources/include/ajax_update_predef.php deleted file mode 100644 index 80eaf20..0000000 --- a/sources/include/ajax_update_predef.php +++ /dev/null @@ -1,69 +0,0 @@ -set('ledger',$l); -$op->set('ledger_type',$t); -$op->set('direct',$d); -$url=http_build_query(array('action'=>'use_opd','p_jrn_predef'=>$l,'ac'=>$_GET['ac'],'gDossier'=>dossier::id())); -$html=""; - -$html.=HtmlInput::title_box(_("Modèle d'opérations"), 'modele_op_div', 'hide'); -$html.=$op->show_button('do.php?'.$url); - -$html=escape_xml($html); -header('Content-type: text/xml; charset=UTF-8'); -echo << - - -$html - -EOF; - -?> - diff --git a/sources/include/ajax_view_action.php b/sources/include/ajax_view_action.php deleted file mode 100644 index 38a1f79..0000000 --- a/sources/include/ajax_view_action.php +++ /dev/null @@ -1,75 +0,0 @@ -ag_id = $ag_id; -$act->get(); -$code='nok'; -if ($g_user->can_write_action($ag_id) == true || $g_user->can_read_action($ag_id) == true || $act->ag_dest == -1) -{ - $menu=new Default_Menu(); - echo $act->Display('READ', false, "ajax", ""); - //$action=HtmlInput::array_to_string(array("gDossier","ag_id"), $_GET)."&ac=FOLLOW&sa=detail"; - $action= "do.php?".http_build_query(array("gDossier"=>Dossier::id(),"ag_id"=>$ag_id,"ac"=>$menu->get('code_follow'),"sa"=>"detail")); - $code='ok'; - if ( $_GET['mod']== 1) : - $forbidden=_("Accès interdit : vous n'avez pas accès à cette information, contactez votre responsable"); - ?> - - -
      -

      ; -
      - - -$code -$html - -EOF; -exit(); - -?> \ No newline at end of file diff --git a/sources/include/ajax_view_mod_stock.php b/sources/include/ajax_view_mod_stock.php deleted file mode 100644 index d6426c7..0000000 --- a/sources/include/ajax_view_mod_stock.php +++ /dev/null @@ -1,58 +0,0 @@ -get_array("select * from stock_goods where c_id=$1",array($_GET['c_id'])); -echo HtmlInput::title_box(_("Détail changement"),$_GET['ctl']); -$p_array=array(); -$p_array['p_date']=$cn->get_value("select to_char(c_date,'DD.MM.YYYY') from stock_change where c_id=$1",array($_GET['c_id'])); -$p_array['p_motif']=$cn->get_value("select c_comment from stock_change where c_id=$1",array($_GET['c_id'])); -$p_array['p_depot']=$cn->get_value("select r_id from stock_change where c_id=$1",array($_GET['c_id'])); -for ($i=0;$iinput($p_array,true); -?> -
      - -

      - label= _("Cochez pour confirmer effacement"); - echo $ck->input();?> -

      - - - -
      diff --git a/sources/include/anc_acc_balance.inc.php b/sources/include/anc_acc_balance.inc.php deleted file mode 100644 index efa03f8..0000000 --- a/sources/include/anc_acc_balance.inc.php +++ /dev/null @@ -1,21 +0,0 @@ -'; -$tab = new Anc_Acc_List($cn); -$tab->get_request(); -echo '
      '; -echo $tab->display_form(); -echo '

      ' . HtmlInput::submit('Recherche', _('Recherche')) . '

      '; - -echo '
      '; -if (isset($_GET['result'])) -{ - echo $tab->show_button(); - $tab->display_html(); -} -echo ''; -?> diff --git a/sources/include/anc_acc_table.inc.php b/sources/include/anc_acc_table.inc.php deleted file mode 100644 index 357c2dd..0000000 --- a/sources/include/anc_acc_table.inc.php +++ /dev/null @@ -1,19 +0,0 @@ -get_request(); -echo '
      '; -echo $tab->display_form(); -echo '

      ' . HtmlInput::submit('Recherche', _('Recherche')) . '

      '; - -echo '
      '; -if (isset($_GET['result'])) -{ - echo $tab->show_button(""); - $tab->display_html(); -} -?> diff --git a/sources/include/anc_balance_double.inc.php b/sources/include/anc_balance_double.inc.php deleted file mode 100644 index b8baab3..0000000 --- a/sources/include/anc_balance_double.inc.php +++ /dev/null @@ -1,28 +0,0 @@ -get_request(); -echo '
      '; -echo $bc->display_form(); -echo '
      '; -if (isset($_GET['result'])) -{ - $result=$bc->display_html(); - if ($bc->has_data > 0) - { - echo $bc->show_button(); - echo $result; - } - else - { - echo '

      '; - echo _('Aucune donnée trouvée'); - echo '

      '; - } - -} -?> diff --git a/sources/include/anc_balance_simple.inc.php b/sources/include/anc_balance_simple.inc.php deleted file mode 100644 index fdab93c..0000000 --- a/sources/include/anc_balance_simple.inc.php +++ /dev/null @@ -1,27 +0,0 @@ -get_request(); -echo '
      '; -echo $bs->display_form(); -echo '
      '; -if (isset($_GET['result'])) -{ - $result= $bs->display_html(); - if ( $bs->has_data > 0) - { - echo $bs->show_button(); - echo $result; - } - else - { - echo '

      '; - echo _('Aucune donnée trouvée'); - echo '

      '; - } -} -?> diff --git a/sources/include/anc_great_ledger.inc.php b/sources/include/anc_great_ledger.inc.php deleted file mode 100644 index fc7c51a..0000000 --- a/sources/include/anc_great_ledger.inc.php +++ /dev/null @@ -1,52 +0,0 @@ -'; - -require_once NOALYSS_INCLUDE.'/class_anc_grandlivre.php'; - -$grandLivre=new Anc_Grandlivre($cn); - -$grandLivre->get_request(); - -/* - * Form - */ -echo '
      '; -echo $grandLivre->display_form(); -echo '

      ' . HtmlInput::submit('Recherche', _('Rechercher')) . '

      '; -echo HtmlInput::request_to_hidden(array('sa','ac','gDossier')); -echo '
      '; - -$result=HtmlInput::default_value_request('result',null); - -if ($result != null) -{ - $result=$grandLivre->display_html(); - if ($grandLivre->has_data != 0 ) - { - echo ''; - echo _('Tout sélectionner')." ".ICheckBox::toggle_checkbox('export_pdf_bt1','export_anc_receipt_pdf'); - echo ''; - echo $grandLivre->show_button(); - echo '
      '; - - echo $grandLivre->button_export_pdf(); - echo $grandLivre->display_html(); - echo $grandLivre->button_export_pdf(); - echo HtmlInput::get_to_hidden(array('ac','gDossier','sa')); - echo '
      '; - echo $grandLivre->show_button(); - } - else - { - echo '

      '; - echo _('Aucune donnée trouvée'); - echo '

      '; - } - -} -echo ''; -?> diff --git a/sources/include/anc_group.inc.php b/sources/include/anc_group.inc.php deleted file mode 100644 index fdda9f3..0000000 --- a/sources/include/anc_group.inc.php +++ /dev/null @@ -1,90 +0,0 @@ -ga_id=$m; - $obj->remove(); - } - } -} - -//---------------------------------------------------------------------- -// INSERT -if ( isset($_POST['add'])) -{ - $obj=new Anc_Group($cn); - $obj->get_from_array($_POST); - echo $obj->insert(); -} -$array=$r->myList(); - -echo '
      '; -echo '
      '; -echo dossier::hidden(); -echo ''; -echo ''; -foreach ($array as $idx=>$m) -{ - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; -} -$w=new IText("ga_id"); -$wDesc=new IText("ga_description"); -$val_pa_id=$cn->make_array("select pa_id,pa_name from plan_analytique"); -$wPa_id=new ISelect("pa_id"); -$wPa_id->value=$val_pa_id; - -echo ""; -echo ""; -echo ""; -; - -echo '
      '._("Code")." "._("Plan")." "._("Description").'
      '.h($m->ga_id).''.h($m->pa_name).''.h($m->ga_description).' Effacer '.'
      ".$w->input()."".$wPa_id->input("pa_id")."".$wDesc->input("ga_description"). -HtmlInput::submit('add',_('Ajouter')). -"
      '; - -echo "
      "; -echo HtmlInput::submit('remove',_('Effacer')); - -echo '
      '; diff --git a/sources/include/anc_group_balance.inc.php b/sources/include/anc_group_balance.inc.php deleted file mode 100644 index 532c897..0000000 --- a/sources/include/anc_group_balance.inc.php +++ /dev/null @@ -1,20 +0,0 @@ -get_request(); -echo ''; -echo $gr->display_form(); -echo '

      ' . HtmlInput::submit('Recherche', _('Recherche')) . '

      '; -echo ''; -if (isset($_GET['result'])) -{ - echo $gr->show_button(); - - echo $gr->display_html(); -} -?> diff --git a/sources/include/anc_history.inc.php b/sources/include/anc_history.inc.php deleted file mode 100644 index 7efb2a6..0000000 --- a/sources/include/anc_history.inc.php +++ /dev/null @@ -1,36 +0,0 @@ -get_request(); - -echo $list->display_form(); -//---- result -if (isset($_GET['result'])) -{ - echo '
      '; - - //-------------------------------- - // export Buttons - //--------------------------------- - $result=$list->display_html(); - if ( $list->has_data > 0) - { - echo $list->show_button(); - echo $result; - } - else - { - echo '

      '; - echo _('Aucune donnée trouvée'); - echo '

      '; - } - echo '
      '; -} -echo ''; -?> diff --git a/sources/include/anc_key.inc.php b/sources/include/anc_key.inc.php deleted file mode 100644 index b9d5a22..0000000 --- a/sources/include/anc_key.inc.php +++ /dev/null @@ -1,72 +0,0 @@ -save($_POST); - Anc_Key::display_list(); - Anc_Key::key_add(); - - break; - } - catch (Exception $e) - { - echo span($e->getMessage(),' class="notice"'); - } - } - $key->input(); - break; - case 'delete_key': - $id=HtmlInput::default_value_request("key", "0"); - $key=new Anc_Key($id); - $key->delete(); - Anc_Key::display_list(); - Anc_Key::key_add(); -} -?> diff --git a/sources/include/anc_od.inc.php b/sources/include/anc_od.inc.php deleted file mode 100644 index 54d3339..0000000 --- a/sources/include/anc_od.inc.php +++ /dev/null @@ -1,161 +0,0 @@ -get_list(); -if ( ! $m ) -{ - - echo '

      '._('Aucun plan analytique défini').'

      '; - return; -} - - - -//---------------------------------------------------------------------- -// show the left menu -//---------------------------------------------------------------------- -echo ' - -'; - - -//---------------------------------------------------------------------- -// the pa_id is set -// -//---------------------------------------------------------------------- -if ( isset($_GET['see'])) -{ - - // Show the list for the period - // and exit - //----------------------------- - $a=new Anc_Operation($cn); - - echo ' -
      -
      - '; - - echo dossier::hidden(); - $hid=new IHidden(); - - $hid->name="ac"; - $hid->value=$_REQUEST['ac']; - echo $hid->input(); - - $hid->name="see"; - $hid->value=""; - echo $hid->input(); - - $w=new ISelect(); - $w->name="p_periode"; -// filter on the current year - $filter_year=" where p_exercice='".$g_user->get_exercice()."'"; - - $periode_start=$cn->make_array("select p_id,to_char(p_start,'DD-MM-YYYY') from parm_periode $filter_year order by p_start,p_end",1); - $g_user=new User($cn); - $current=(isset($_GET['p_periode']))?$_GET['p_periode']:$g_user->get_periode(); - $w->value=$periode_start; - $w->selected=$current; - echo _('Filtrer par période').":".$w->input().HtmlInput::submit('gl_submit','Valider').'
      '; - echo '
      '; - - echo '
      '; - echo $a->html_table($current); - echo '
      '; - return; -} -if ( isset($_POST['save'])) -{ - // record the operation and exit - // and exit - //----------------------------- - echo '
      '. - _('Opération sauvée'); - $a=new Anc_Group_Operation($cn); - - $a->get_from_array($_POST); - - $a->save(); - echo $a->show(); - echo '
      '; - return; -} - -if ( isset($_GET['new'])) -{ - //show the form for entering a new Anc_Operation - //------------------------------------------ - $a=new Anc_Group_Operation($cn); - - $wSubmit=new IHidden("p_action","ca_od"); - $wSubmit->table=0; - echo '
      '; - echo '
      '; - echo dossier::hidden(); - echo $wSubmit->input(); - echo $a->form(); - echo HtmlInput::submit("save",_("Sauver")); - echo '
      '; - echo '
      '; - echo _('Débit').' = '; - echo _('Crédit').' = '; - echo _('Difference').' = -
      - '; - - echo '
      '; - return; -} - -?> -
      diff --git a/sources/include/anc_pa.inc.php b/sources/include/anc_pa.inc.php deleted file mode 100644 index 23e6798..0000000 --- a/sources/include/anc_pa.inc.php +++ /dev/null @@ -1,317 +0,0 @@ -isAppend() == true) - { - $ret.= '
      '; - $ret.=HtmlInput::title_box(_('Nouveau plan'),'','none'); - $ret.= '
      '; - $ret.=dossier::hidden(); - $ret.= $new->form(); - $ret.= HtmlInput::hidden("sa","pa_write"); - $ret.=HtmlInput::submit("submit",_("Enregistre")); - $ret.= '
      '; - $ret.= '
      '; - } - else - { - $ret.= '
      '. - '

      '. - _("Maximum de plan analytique est atteint"). - "

      "; - } - $sa="anc_menu"; - } - // Add - if ( $sa == "pa_write") - { - $new=new Anc_Plan($cn); - - - if ( $new->isAppend() == false) - { - $ret.= '

      '. - _("Maximum de plan analytique est atteint"). - "

      "; - } - else - { - $new=new Anc_Plan($cn); - $new->name=$_POST['pa_name']; - $new->description=$_POST['pa_description']; - $new->add(); - } - $sa="anc_menu"; - } - - // Update the PA - if ( $sa == "pa_update" ) - { - $new=new Anc_Plan($cn,$_GET['pa_id']); - $new->name=$_POST['pa_name']; - $new->description=$_POST['pa_description']; - $new->update(); - $ret='
      '; - $ret.='

      '._('Mis à jour').'

      '; - $ret.="
      "; - $sa="anc_menu"; - } - // show the form for add a poste - if ( $sa=='po_add') - { - $po=new Anc_Account($cn); - $po->pa_id=$_REQUEST['pa_id']; - $wSa=HtmlInput::hidden("sa","po_write"); - $ret.='
      '; - $ret.=h2(_("Ajout d'un poste analytique")); - $ret.='
      '; - $ret.=dossier::hidden(); - $ret.=$po->form(); - $ret.=$wSa; - $ret.=HtmlInput::submit("add",_("Ajout")); - $ret.="
      "; - $ret.="
      "; - - } - // record the poste - if ( $sa=="po_write") - { - // var_dump($_POST); - $po=new Anc_Account($cn); - $po->get_from_array($_POST); - $po->add(); - $sa="pa_detail"; - - - } - /* delete pa */ - if ( $sa == "pa_delete") - { - $delete=new Anc_Plan($cn,$_GET['pa_id']); - $delete->delete(); - $sa="anc_menu"; - } - /* po detail - *---> in ajax : montre detail d'un poste analytique - * - */ - if ( $sa=="po_detail") - { - $ret.=h2(_('Modification')); - $po=new Anc_Account($cn,$_GET['po_id']); - $po->get_by_id(); - $ret.='
      '; - $ret.='
      '; - $ret.=dossier::hidden(); - - $ret.=$po->form(); - $ret.=HtmlInput::hidden('sa','po_update'); - $ret.=HtmlInput::submit('Correction','Correction'); - $ret.=sprintf('id, - $_REQUEST['pa_id'] - ); - - $ret.='
      '; - $ret.='
      '; - $sa=""; - } - /** - * mise à jour po - */ - if ( $sa=="po_update") - { - $po=new Anc_Account($cn); - $po->get_from_array($_POST); - $po->update(); - $sa="pa_detail"; - } - /** - * Efface po - */ - if ( $sa=="po_delete") - { - $po=new Anc_Account($cn,$_REQUEST['po_id']); - $po->delete(); - $sa="pa_detail"; - } - // show the detail - if ( $sa == "pa_detail" ) - { - $new=new Anc_Plan($cn,$_GET['pa_id']); - $wSa=HtmlInput::hidden("sa","pa_update"); - - $new->get(); - - $ret.= '
      '; - $ret.= '

      '._("Mise à jour").'

      '; - $ret.= '
      '; - $ret.=dossier::hidden(); - - $ret.= $new->form(); - $ret.= $wSa; - $ret.=HtmlInput::submit("submit",_("Enregistre")); - $ret.=HtmlInput::button_anchor(_('Efface'), - '', - 'remove_analytic_plan', - 'onclick="return confirm_box(\'remove_analytic_plan\',\'Effacer ?\',function () {window.location=\'do.php?ac='.$_REQUEST['ac'].'&pa_id='.$_GET['pa_id'].'&sa=pa_delete&'.$str_dossier.'\';})"', - 'smallbutton'); - $ret.= '
      '; - /** - * Detail now - */ - $count=0; - - $new=new Anc_Plan($cn,$_REQUEST['pa_id']); - $new->get(); - $array=$new->get_poste_analytique(" order by po_name"); - $ret.='
      '; - $ret.=''; - $ret.=""; - $ret.=""; - $ret.=""; - $class=""; - foreach ($array as $obj) - { - $count++; - if ( $count %2 == 0 ) - $class="even"; - else - $class="odd"; - - $ret.=""; - $ret.="" - ; - $ret.=""; - $ret.=""; - $ret.=""; - $ret.=""; - $ret.=""; - - } - $ret.="
      "._("Nom")." "; - $ret.=""._("Montant")." "; - $ret.=""._("Description")." "; - $ret.=""._("Groupe").""._("Plan A")." "; - $ret.="
      ". - ''. - h($obj->name). - ''; - "".$obj->amount."".h($obj->description)."".$obj->ga_id."".h($new->name)."
      "; - // ---> montre form pour ajouter po - $ret.=HtmlInput::button_anchor(_('Ajout'),"?ac=".$_REQUEST['ac']."&sa=po_add&pa_id=".$_GET['pa_id']."&".$str_dossier,'','','smallbutton'); - $href=http_build_query(array('ac'=>$_REQUEST['ac'],'gDossier'=>$_REQUEST['gDossier'])); - $ret.= ''._('Retour').''; - $ret.= '
      '; - - } -} -else { - $sa="anc_menu"; -} - -//--------------------------------------------------------------------------- -// Show lmenu -// -//--------------------------------------------------------------------------- -if ($sa=='anc_menu') -{ - - $obj=new Anc_Plan($cn); - $list=$obj->get_list(); - - - - - if (empty($list)) - { - echo '
      '; - echo ''; - echo ''; - echo '
      '; - echo ''._("Ajout d'un plan comptable").''; - echo '
      '; - - echo '
      '; - if (!isset($_REQUEST['sa'])) - echo '
      '. - _("Aucun plan analytique n'est défini"). - '
      '; - } - else - { - echo '
      '; - - echo ''; - if ($obj->isAppend()==true) - { - echo ''; - } - foreach ($list as $line) - { - echo ''; - echo '"; - echo "\n"; - } - echo '
      '; - echo ''._("Ajout d'un plan comptable").''; - echo '
      '. - ''. - h($line['name']); - - echo $line['description'].""; - echo "
      '; - - - echo '
      '; - } -} -//--------------------------------------------------------------------------- -// show the content part -// -// -//--------------------------------------------------------------------------- - -echo $ret; diff --git a/sources/include/audit_log.php b/sources/include/audit_log.php deleted file mode 100644 index a9a93f0..0000000 --- a/sources/include/audit_log.php +++ /dev/null @@ -1,86 +0,0 @@ - -
      -Liste limitée aux 100 dernières connexions -exec_sql("select ac_user,ac_ip,to_char(ac_date,'DD.MM.YYYY HH24:MI') as fmt_date,ac_state,ac_module from audit_connect order by ac_date desc limit 100 "); -?> - - - - - - - - - - count(); - for ($i=0;$i < $max ;$i++): - $r=$cn->fetch($i); -?> - - - - - - - - - -'; - break; - case 'SUCCESS'; - echo ' - - - - - diff --git a/sources/include/balance.inc.php b/sources/include/balance.inc.php deleted file mode 100644 index 0480987..0000000 --- a/sources/include/balance.inc.php +++ /dev/null @@ -1,397 +0,0 @@ -get_exercice(); - - -echo '
      '; -/* - * Let you change the exercice - */ -echo '
      '._('Exercice').'';; -echo '
      '; -echo _('Choisissez un autre exercice')." : "; -$ex=new Exercice($cn); -$wex=$ex->select('exercice',$exercice,' onchange="submit(this)"'); -echo $wex->input(); -echo dossier::hidden(); -echo HtmlInput::get_to_hidden(array('ac','type')); -echo ''; -echo '
      '; - - -// Show the form for period -echo '
      '; -echo HtmlInput::get_to_hidden(array('ac')); -echo HtmlInput::hidden('type','bal'); -echo HtmlInput::get_to_hidden(array('exercice')); -echo dossier::hidden(); - - - -// filter on the current year -$from=HtmlInput::default_value_get("from_periode", ""); -$input_from=new IPeriod("from_periode",$from,$exercice); -$input_from->show_end_date=false; -$input_from->type=ALL; -$input_from->cn=$cn; -$input_from->filter_year=true; -$input_from->user=$g_user; - -echo _('Depuis').' :'.$input_from->input(); -// filter on the current year -$to=HtmlInput::default_value_get("to_periode", ""); -$input_to=new IPeriod("to_periode",$to,$exercice); -$input_to->show_start_date=false; -$input_to->filter_year=true; -$input_to->type=ALL; -$input_to->cn=$cn; -$input_to->user=$g_user; -echo " "._('jusque').' :'.$input_to->input(); -echo '
      '; -echo HtmlInput::button_action(_('Avancé'), " if (\$('balance_advanced_div').style.display=='none') { \$('balance_advanced_div').show();} else { \$('balance_advanced_div').hide();}"); -//------------------------------------------------- -echo ''; -echo HtmlInput::submit("view",_("Visualisation")); -echo ''; -echo '
      '; -//----------------------------------------------------- -// Form -//----------------------------------------------------- -// Show the export button -if ( isset ($_GET['view'] ) ) -{ - - $hid=new IHidden(); - - - echo "
      - - - - - - - -'; - break; - default: - echo ''; - } -?> - -
      "; - echo ''; - echo '"; - - echo '"; - echo ''; - echo ""; - - echo "
      '. - dossier::hidden(). - HtmlInput::submit('bt_pdf',"Export PDF"). - HtmlInput::hidden("ac",$_REQUEST['ac']). - HtmlInput::hidden("act","PDF:balance"). - - HtmlInput::hidden("from_periode",$_GET['from_periode']). - HtmlInput::hidden("to_periode",$_GET['to_periode']); - echo HtmlInput::hidden('p_filter',$_GET['p_filter']); - for ($e=0;$e
      '. - HtmlInput::submit('bt_csv',"Export CSV"). - dossier::hidden(). - HtmlInput::hidden("act","CSV:balance"). - HtmlInput::hidden("from_periode",$_GET['from_periode']). - HtmlInput::hidden("to_periode",$_GET['to_periode']); - echo HtmlInput::get_to_hidden(array('ac')); - echo HtmlInput::hidden('p_filter',$_GET['p_filter']); - for ($e=0;$e'; - echo HtmlInput::print_window(); - echo '
      "; -} - - -//----------------------------------------------------- -// Display result -//----------------------------------------------------- -if ( isset($_GET['view'] ) ) -{ - $bal=new Acc_Balance($cn); - if ( $_GET['p_filter']==1) - { - for ($e=0;$ejrn[]=$selected[$e]; - } - if ( $_GET['p_filter'] == 0 ) - { - $bal->jrn=null; - } - if ( $_GET['p_filter'] == 2 && isset ($_GET['r_cat'])) - { - $bal->filter_cat($_GET['r_cat']); - } - $bal->from_poste=$_GET['from_poste']; - $bal->to_poste=$_GET['to_poste']; - if ( isset($_GET['unsold'])) $bal->unsold=true; - $previous=(isset($_GET['previous_exc']))?1:0; - - $row=$bal->get_row($_GET['from_periode'], - $_GET['to_periode'], - $previous); - $previous= (isset ($row[0]['sum_cred_previous']))?1:0; - - $periode=new Periode($cn); - $a=$periode->get_date_limit($_GET['from_periode']); - $b=$periode->get_date_limit($_GET['to_periode']); - echo "

      période du ".$a['p_start']." au ".$b['p_end']."

      "; - echo ''; - echo _('Filtre').HtmlInput::infobulle(24); - echo HtmlInput::filter_table("t_balance", "0,1","1"); - echo ''; - echo ''; - echo ''; - echo ''; - if ( $previous == 1 ){ - echo ''; - echo ''; - echo ''; - echo ''; - if ( isset($_GET['lvl1']) || isset($_GET['lvl2']) || isset($_GET['lvl3'])) - echo ''; - - } - echo ''; - echo ''; - echo ''; - echo ''; - if ( isset($_GET['lvl1']) || isset($_GET['lvl2']) || isset($_GET['lvl3'])) - echo ''; - $i=0; - if ( $previous == 1) { - $a_sum=array('sum_cred','sum_deb','solde_deb','solde_cred','sum_cred_previous','sum_deb_previous','solde_deb_previous','solde_cred_previous'); - } - else { - $a_sum=array('sum_cred','sum_deb','solde_deb','solde_cred') ; - } - foreach($a_sum as $a) - { - $lvl1[$a]=0; - $lvl2[$a]=0; - $lvl3[$a]=0; - } - $lvl1_old=''; - $lvl2_old=''; - $lvl3_old=''; - - bcscale(2); - foreach ($row as $r) - { - $i++; - if ( $i%2 == 0 ) - $tr="even"; - else - $tr="odd"; - $view_history= sprintf('%s', - $r['poste'], $gDossier, $r['poste']); - - /* - * level x - */ - foreach (array(3,2,1) as $ind) - { - if ( ! isset($_GET['lvl'.$ind]))continue; - if (${'lvl'.$ind.'_old'} == '') ${'lvl'.$ind.'_old'}=mb_substr($r['poste'],0,$ind); - if ( ${'lvl'.$ind.'_old'} != mb_substr($r['poste'],0,$ind)) - { - - echo ''; - echo td(${'lvl'.$ind.'_old'},'style="font-weight:bold;"'); - echo td(${'lvl'.$ind.'_old'}." "._("Total niveau")." ".$ind,'style="font-weight:bold;"'); - if ($previous==1) { - echo td(nbm(${'lvl'.$ind}['sum_deb_previous']),'class="previous_year" style="font-weight:bold;"'); - echo td(nbm(${'lvl'.$ind}['sum_cred_previous']),' class="previous_year" style="font-weight:bold;" '); - echo td(nbm(${'lvl'.$ind}['solde_deb_previous']),'class="previous_year" style="font-weight:bold;"'); - echo td(nbm(${'lvl'.$ind}['solde_cred_previous']),'class="previous_year" style="font-weight:bold;"'); - $delta_previous=bcsub(${'lvl'.$ind}['solde_cred_previous'],${'lvl'.$ind}['solde_deb_previous']); - $side_previous=($delta_previous > 0 ) ? "C":"D"; - echo td(nbm(abs($delta_previous))." $side_previous",'class="previous_year" style="text-align:right;font-weight:bold;" '); - - } - echo td(nbm(${'lvl'.$ind}['sum_deb']),'style="text-align:right;font-weight:bold;" '); - echo td(nbm(${'lvl'.$ind}['sum_cred']),'style="text-align:right;font-weight:bold;"'); - echo td(nbm(${'lvl'.$ind}['solde_deb']),'style="text-align:right;font-weight:bold;"'); - echo td(nbm(${'lvl'.$ind}['solde_cred']),'style="text-align:right;font-weight:bold;"'); - $delta=bcsub(${'lvl'.$ind}['solde_cred'],${'lvl'.$ind}['solde_deb']); - $side=($delta > 0 ) ? "C":"D"; - echo td(nbm(abs($delta))." $side",'style="text-align:right;font-weight:bold;" '); - - echo ''; - ${'lvl'.$ind.'_old'}=mb_substr($r['poste'],0,$ind); - foreach($a_sum as $a) - { - ${'lvl'.$ind}[$a]=0; - } - } - } - - foreach($a_sum as $a) - { - $lvl1[$a]=bcadd($lvl1[$a],$r[$a]); - $lvl2[$a]=bcadd($lvl2[$a],$r[$a]); - $lvl3[$a]=bcadd($lvl3[$a],$r[$a]); - } - echo ''; - echo td($view_history); - echo td(h($r['label'])); - if ($previous == 1 ) { - echo td(nbm($r['sum_deb_previous']),' class="previous_year"'); - echo td(nbm($r['sum_cred_previous']),' class="previous_year" '); - echo td(nbm($r['solde_deb_previous']),' class="previous_year"'); - echo td(nbm($r['solde_cred_previous']),'class="previous_year" '); - if ( isset($_GET['lvl1']) || isset($_GET['lvl2']) || isset($_GET['lvl3'])) echo ''; - } - echo td(nbm($r['sum_deb']),'style="text-align:right;"'); - echo td(nbm($r['sum_cred']),'style="text-align:right;"'); - echo td(nbm($r['solde_deb']),'style="text-align:right;"'); - echo td(nbm($r['solde_cred']),'style="text-align:right;"'); - if ( isset($_GET['lvl1']) || isset($_GET['lvl2']) || isset($_GET['lvl3'])) echo ''; - echo ''; - - } - echo '
      Poste ComptableLibelléDébit N-1Crédit N-1Solde Débiteur N-1Solde Créditeur N-1Solde N-1DébitCréditSolde Débiteur Solde CréditeurSolde
      '; - -}// end submit -echo "
      "; -?> diff --git a/sources/include/balance_age.inc.php b/sources/include/balance_age.inc.php deleted file mode 100644 index ba5a4da..0000000 --- a/sources/include/balance_age.inc.php +++ /dev/null @@ -1,79 +0,0 @@ - - -if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis'); - -/** - * @file - * @brief - * @param type $name Descriptionara - */ -$date_start=HtmlInput::default_value_get('p_date_start', '01.01.'.$g_user->get_exercice()); -$w_date_start=new IDate('p_date_start',$date_start); -$w_select=new ISelect('p_type'); -$w_select->value=array( - array('value'=>'C','label'=>_('Client')), - array('value'=>'F','label'=>_('Fournisseur')) -); -$w_select->selected=HtmlInput::default_value_get('p_type','C'); - -$w_lettre=new ISelect('p_let'); -$w_lettre->value=array( - array('value'=>'let','label'=>_('lettrées et non lettrées')), - array('value'=>'unlet','label'=>_('non lettrées')) -); -$w_lettre->selected=HtmlInput::default_value_get('p_let','unlet'); - -?> - - - input(),$w_lettre->input())?> - input()?> - - - - -
      - -
      -display_sale($date,$let); - else: - $balance->display_purchase($date,$let); - endif; - -?> \ No newline at end of file diff --git a/sources/include/balance_card.inc.php b/sources/include/balance_card.inc.php deleted file mode 100644 index 9cf7642..0000000 --- a/sources/include/balance_card.inc.php +++ /dev/null @@ -1,76 +0,0 @@ -'; -$exercice=new Exercice($cn); -$old=''; -$fiche=new Fiche($cn,$_GET['f_id']); -$year=$g_user->get_exercice(); -if ( $year == 0 ) - { - $html=_("erreur aucune période par défaut, allez dans préférence pour en choisir une"); - } -else - { - $per=new Periode($cn); - $limit_periode=$per->get_limit($year); - $array['from_periode']=$limit_periode[0]->first_day(); - $array['to_periode']=$limit_periode[1]->last_day(); - if (isset($_GET['ex'])) - { - $limit_periode=$per->get_limit($_GET['ex']); - $array['from_periode']=$limit_periode[0]->first_day(); - } - - /* - * Add button to select another year - */ - if ($exercice->count() > 1 ) - { - $default=(isset($_GET['ex']))?$_GET['ex']:$year; - $dossier=dossier::id(); - - $old='
      '; - $is=$exercice->select('ex',$default,'onchange = "submit(this)"'); - $old.="Autre exercice ".$is->input(); - $old.=HtmlInput::hidden('f_id',$_GET['f_id']); - $old.=HtmlInput::hidden('ac',$_GET['ac']); - $old.=HtmlInput::hidden('sb',$_GET['sb']); - $old.=HtmlInput::hidden('sc',$_GET['sc']); - $old.=dossier::hidden(); - $old.='
      '; - } - - if ( $fiche->HtmlTable($array,0,0)==-1){ - echo h2(_("Aucune opération pour l'exercice courant"),'class="error"'); - } - echo $old; - - } - -echo '
      '; diff --git a/sources/include/balance_card_ageing.inc.php b/sources/include/balance_card_ageing.inc.php deleted file mode 100644 index 60fe728..0000000 --- a/sources/include/balance_card_ageing.inc.php +++ /dev/null @@ -1,58 +0,0 @@ - - -if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis'); - -/** - * @file - * @brief - * @param type $name Descriptionara - */ -require_once NOALYSS_INCLUDE.'/class_exercice.php'; -require_once NOALYSS_INCLUDE.'/class_balance_age.php'; -$let=( isset ($_GET['p_let']))?'let':'unlet'; - -$export_csv = '
      '; -$export_csv .=HtmlInput::request_to_hidden(array('gDossier','ac',)); -$export_csv.=HtmlInput::hidden('p_date_start', '01.01.2000'); -$export_csv .= HtmlInput::hidden('act','CSV:balance_age'); -$export_csv .= HtmlInput::hidden('p_let',$let); -$export_csv .= HtmlInput::hidden('p_type','U'); -$export_csv .= HtmlInput::hidden('fiche',$_GET['f_id']); -$export_csv .= HtmlInput::submit('csv',_('Export CSV')); -$export_csv.='
      '; -?> -
      - - - -
      -'; -echo $export_csv; -$fiche=new Fiche($cn,$_GET['f_id']); -$bal=new Balance_Age($cn); -$bal->display_card('01.01.2000', $fiche->id, $let); -echo $export_csv; - -echo '
      '; - -?> diff --git a/sources/include/bank.inc.php b/sources/include/bank.inc.php deleted file mode 100644 index 6d7ff1c..0000000 --- a/sources/include/bank.inc.php +++ /dev/null @@ -1,158 +0,0 @@ -check_action(FICADD) == 0 ) - { - alert(_('Vous ne pouvez pas enlever de fiche')); - return; - } - - $f_id=$_REQUEST['f_id']; - - $fiche=new Bank($cn,$f_id); - $fiche->remove(); - $low_action="list"; - -} - -//----------------------------------------------------- -// list of supplier -//----------------------------------------------------- -if ( $low_action == "list" ) -{ - - ?> -
      -
      -
      - ' ._( "Exercice")." " . $g_user->get_exercice() . ''; - $a=(isset($_GET['query']))?$_GET['query']:""; - printf (_('Recherche').' ', - $a); - $choice_cat=HtmlInput::default_value_request("choice_cat", 1); - - if ( $choice_cat == 1 ) - { - $sel_card=new ISelect('cat'); - $sel_card->value=$cn->make_array('select fd_id, fd_label from fiche_def '. - ' where frd_id=$1'. - ' order by fd_label ',1,array(FICHE_TYPE_FIN)); - $sel_card->selected=(isset($_GET['cat']))?$_GET['cat']:-1; - $sel_card->javascript=' onchange="submit(this);"'; - echo _('Catégorie :').$sel_card->input(); - } - else - { - $cat=HtmlInput::default_value_request('cat', ''); - echo HtmlInput::hidden("cat", $cat); - echo HtmlInput::hidden('choice_cat', 0); - } - $nooperation=new ICheckBox('noop'); - $nooperation->selected=(isset($_GET['noop']))?true:false; - echo _('Inclure les banques sans opération :').$nooperation->input(); - - ?> - - -
      -
      - '; - echo $supplier->Summary($search,'bank',$sql,$noop); - - - echo '
      '; - echo '
      '; - echo '
      '; - if ($g_user->check_action(FICADD)==1) - { - /* Add button */ - $f_add_button=new IButton('add_card'); - $f_add_button->label=_('Créer une nouvelle fiche'); - $f_add_button->set_attribute('win_refresh','yes'); - - $f_add_button->set_attribute('type_cat',FICHE_TYPE_FIN); - $f_add_button->javascript=" select_card_type(this);"; - echo $f_add_button->input(); - - $f_cat_button=new IButton('add_cat'); - $f_cat_button->set_attribute('type_cat',FICHE_TYPE_FIN); - $f_cat_button->set_attribute('ipopup','ipop_cat'); - $f_cat_button->label=_('Ajout d\'une catégorie'); - $f_cat_button->javascript='add_category(this)'; - echo $f_cat_button->input(); - } - - echo '
      '; - echo '
      '; - - -} -/*---------------------------------------------------------------------- - * Detail for a card, Suivi, Contact, Operation,... * - * cc stands for supplier card - *----------------------------------------------------------------------*/ -if ( $low_action == 'detail') -{ - /* Menu */ - require_once('category_card.inc.php'); - return; -} - - - -html_page_stop(); -?> diff --git a/sources/include/calendar.inc.php b/sources/include/calendar.inc.php deleted file mode 100644 index 74db9a8..0000000 --- a/sources/include/calendar.inc.php +++ /dev/null @@ -1,19 +0,0 @@ -default_periode=(isset ($_GET['in']))?$_GET['in']:$g_user->get_periode(); - -?> -
      - -display('long',1); ?> -
      \ No newline at end of file diff --git a/sources/include/card_attr.inc.php b/sources/include/card_attr.inc.php deleted file mode 100644 index 151150f..0000000 --- a/sources/include/card_attr.inc.php +++ /dev/null @@ -1,164 +0,0 @@ -start(); - for ($e=0;$eset_parameter('id',$ad_id[$e]); - $fa->set_parameter('desc',$ad_text[$e]); - $fa->set_parameter('type',$ad_type[$e]); - $fa->set_parameter('size',$ad_size[$e]); - $fa->set_parameter('extra',$ad_extra[$e]); - if ( trim($ad_text[$e])!='' && trim($ad_type[$e])!='') - $fa->save(); - } - $cn->commit(); - } - catch (Exception $e) - { - alert($e->getMessage()); - $cn->rollback(); - } - -} -/* show list of existing */ -$gDossier=dossier::id(); -$array=$fa->seek(); - -$select_type=new ISelect('type[]'); -$select_type->table=0; -$desc=new IText('desc[]'); -$desc->size=50; -$size=new INum('size[]'); -$size->size=5; -$extra=new IText('extra[]'); - -$select_type->value=array( - array('value'=>'text','label'=>_('Texte')), - array('value'=>'numeric','label'=>_('Nombre')), - array('value'=>'date','label'=>_('Date')), - array('value'=>'zone','label'=>_('Zone de texte')), - array('value'=>'poste','label'=>_('Poste Comptable')), - array('value'=>'card','label'=>_('Fiche')), - array('value'=>'select','label'=>_('Selection')) - ); - -echo '
      '; -echo '
      '; - -echo HtmlInput::hidden('sa','fat'); -echo HtmlInput::hidden('p_action','divers'); -echo ''; -echo ''; -echo th(_("id")); -echo th(_("Description")); -echo th(_("Type")); -echo th(_("Taille")); -echo th(_("Paramètre")); -echo ''; -for ($e=0;$eget_parameter('id')).$row->get_parameter('id')); - $select_type->selected=$row->get_parameter('type'); - $desc->value=$row->get_parameter('desc'); - $size->value=$row->get_parameter('size'); - $extra->value=$row->get_parameter('extra'); - $remove=new IButton('rmfa'.$e); - $remove->label=_('Effacer'); - if ( $row->get_parameter('id')>= 9000) - { - $select_type->readOnly=false; - $desc->readOnly=false; - $size->readOnly=false; - $extra->readOnly=false; - - $desc->style=' class="input_text" '; - $r.=td($desc->input()); - $r.=td($select_type->input()); - $r.=td($size->input()); - $r.=td($extra->input()); - - $remove->javascript=sprintf('confirm_box(\'tb_rmfa\',\'Vous confirmez ?\',function() { removeCardAttribut(%d,%d,\'tb_rmfa\',$(\'rmfa%d\') );})', - $row->get_parameter('id'),$gDossier,$e); - $msg=''._("Attention : effacera les données qui y sont liées").' '; - $r.=td($remove->input().$msg); - } - else - { - $select_type->readOnly=true; - $desc->readOnly=true; - $size->readOnly=true; - $extra->readOnly=true; - - $r.=td($desc->input().HtmlInput::hidden('type[]','')); - $r.=td($select_type->input()); - $r.=td($size->input()); - $r.=td($extra->input()); - $r.=td(""); - } - - - - - echo tr($r); - -} -$desc->readOnly=false; -$select_type->readOnly=false; -$size->readOnly=false; -$extra->readOnly=false; -$desc->value=''; -$select_type->selected=-1; -$r=td(HtmlInput::hidden('ad_id[]','0')); -$r.=td($desc->input()); -$r.=td($select_type->input()); -$r.=td($size->input()); -$r.=td($extra->input()); -echo tr($r); - -echo '
      '; -echo HtmlInput::submit('save',_('Sauver')); -echo '
      '; -echo '
      '; diff --git a/sources/include/cat_document.inc.php b/sources/include/cat_document.inc.php deleted file mode 100644 index 43d2cf2..0000000 --- a/sources/include/cat_document.inc.php +++ /dev/null @@ -1,60 +0,0 @@ -insert($_POST['cat'],$_POST['prefix']); -} -if ( isset($_POST['save'])) { - $catDoc=new Document_Type($cn,$_POST['dt_id']); - $catDoc->get(); - $catDoc->dt_value=trim($_POST['dt_name']); - $catDoc->dt_prefix=trim($_POST['dt_prefix']); - if ( $catDoc->dt_value=="") { - alert(_("Le nom ne peut pas être vide")); - } else { - $catDoc->update(); - } - if ($_POST['seq'] != 0 && isNumber($_POST['seq'])==1){ - $catDoc->set_number($_POST['seq']); - } -} -$aList=Document_Type::get_list($cn); -$addCat=new IText('cat'); -$addPrefix=new IText('prefix'); -$str_addCat=$addCat->input(); -$str_addPrefix=$addPrefix->input(); -$str_submit=HtmlInput::submit('add',_('Ajout')); -echo '
      '; -require_once NOALYSS_INCLUDE.'/template/list_category_document.php'; - -echo '
      '; -?> diff --git a/sources/include/category_card.inc.php b/sources/include/category_card.inc.php deleted file mode 100644 index 845d3c6..0000000 --- a/sources/include/category_card.inc.php +++ /dev/null @@ -1,169 +0,0 @@ -'; -echo $f->get_gestion_title(); -$menu = array( - array('href'=>$root."&sc=dc",'label'=>_('Fiche'),'alt'=>_('Détail de la fiche')), - array('href'=>$root.'&sc=sv','label'=>_('Suivi'),'alt'=>_('Suivi Fournisseur, client, banque, devis, bon de commande, courrier')), - array('href'=>$root.'&sc=cn','label'=>_('Contact'),'alt'=>_('Liste de contacts')), - array('href'=>$root.'&sc=op','label'=>_('Opérations'),'alt'=>_('Toutes les opérations')), - array('href'=>$root.'&sc=bal','label'=>_('Balance'),'alt'=>_('Balance du tiers')), - array('href'=>$root.'&sc=balag','label'=>_('Balance âgée'),'alt'=>_('Balance âgée du tiers')), - array('href'=>$root.'&sc=let','label'=>_('Lettrage'),'alt'=>_('Opérations & Lettrages')) - ); -echo ''; -echo ''; -echo '
      '; - -echo '
      '; -//--------------------------------------------------------------------------- -// Show Detail of a card and category -//--------------------------------------------------------------------------- -if ( $ss_action == 'dc' ) -{ - require_once NOALYSS_INCLUDE.'/category_detail.inc.php'; -} -//--------------------------------------------------------------------------- -// Follow up : mail, bons de commande, livraison, rendez-vous... -//--------------------------------------------------------------------------- -if ( $ss_action == 'sv' ) -{ - require_once NOALYSS_INCLUDE.'/category_followup.inc.php'; -} -/*---------------------------------------------------------------------- - * Operation all the operation of this customer - * - * ----------------------------------------------------------------------*/ -if ( $ss_action == 'op') -{ - require_once NOALYSS_INCLUDE.'/category_operation.inc.php'; -} -/*------------------------------------------------------------------------- - * Balance of the card - *-------------------------------------------------------------------------*/ -if ( $ss_action=='bal') - { - require_once NOALYSS_INCLUDE.'/balance_card.inc.php'; - } -/*------------------------------------------------------------------------- - * Ageing Balance of the card - *-------------------------------------------------------------------------*/ -if ( $ss_action=='balag') - { - require_once NOALYSS_INCLUDE.'/balance_card_ageing.inc.php'; - } -/*---------------------------------------------------------------------- - * All the contact - * - *----------------------------------------------------------------------*/ -if ( $ss_action == 'cn') -{ - echo '
      '; - - echo dossier::hidden(); - $f = new Fiche($cn, $_REQUEST['f_id']); - $contact=new Contact($cn); - $contact->company=$f->get_quick_code(); - echo $contact->summary(""); - - $sql=' select fd_id from fiche_def where frd_id='.FICHE_TYPE_CONTACT; - $filter=$cn->make_list($sql); - if ( empty ($filter)) - { - echo ''; - $url="do.php?".http_build_query(array('gDossier'=>Dossier::id(),'ac'=>'CFGCARD')); - echo ''; - echo _("Vous devez aller dans fiche et créer une catégorie pour les contacts"); - echo ''; - echo ''; - return; - } - /* Add button */ - $f_add_button=new IButton('add_card'); - $f_add_button->label=_('Créer une nouvelle fiche'); - - $f_add_button->set_attribute('filter',$filter); - $f_add_button->javascript=" select_card_type(this);"; - - echo $f_add_button->input(); - echo '
      '; -} -/*---------------------------------------------------------------------------- - * Lettering - *----------------------------------------------------------------------------*/ -if ( $def==7 ) -{ - require_once NOALYSS_INCLUDE.'/lettering.gestion.inc.php'; -} -echo '
      '; \ No newline at end of file diff --git a/sources/include/category_detail.inc.php b/sources/include/category_detail.inc.php deleted file mode 100644 index 95e68b9..0000000 --- a/sources/include/category_detail.inc.php +++ /dev/null @@ -1,76 +0,0 @@ -Save(); - -} - -echo '
      '; -$f_id=$_REQUEST['f_id']; -echo '
      '; -if ( isset($_POST['mod'])) echo hb(_('Information sauvée')); - -$supplier=new Fiche($cn,$f_id); -$p_readonly=($g_user->check_action(FICADD)==0)?true:false; -if ( ! $p_readonly) echo '
      '; -echo dossier::hidden(); -echo HtmlInput::hidden('sb','detail'); -echo HtmlInput::hidden('dc','cc'); -echo $supplier->Display($p_readonly); -$w=new IHidden(); -$w->name="p_action"; -$w->value="supplier"; -echo $w->input(); -$w->name="f_id"; -$w->value=$f_id; -echo $w->input(); -echo HtmlInput::hidden('action_fiche',''); -if ( ! $p_readonly) -{ - echo HtmlInput::submit('mod',_('Sauver les modifications'),' onclick="$(\'action_fiche\').value=\'mod\';"'); - echo HtmlInput::reset(_("Annuler")); - echo HtmlInput::submit('delete_card',_('Effacer cette fiche'),'onclick="$(\'action_fiche\').value=\'delete_card\';return confirm_box(\'catergory_detail_frm\',\''.('Confirmer effacement ?').'\');"'); - echo '
      '; -} -echo '
      '; - - diff --git a/sources/include/category_followup.inc.php b/sources/include/category_followup.inc.php deleted file mode 100644 index d4b0a7f..0000000 --- a/sources/include/category_followup.inc.php +++ /dev/null @@ -1,51 +0,0 @@ -get_quick_code(); -$_REQUEST['qcode'] = $fiche->get_quick_code(); - -echo '
      '; -require_once NOALYSS_INCLUDE.'/action.common.inc.php'; -echo '
      '; diff --git a/sources/include/category_operation.inc.php b/sources/include/category_operation.inc.php deleted file mode 100644 index 1fb5b06..0000000 --- a/sources/include/category_operation.inc.php +++ /dev/null @@ -1,41 +0,0 @@ -get_quick_code(); -$_GET['qcode']=$qcode; -$_REQUEST['qcode']=$qcode; -$var_array=compute_variable('ledger_type=ALL'); -put_global($var_array); - -require_once NOALYSS_INCLUDE.'/history_operation.inc.php'; - diff --git a/sources/include/cfgfiche.inc.php b/sources/include/cfgfiche.inc.php deleted file mode 100644 index 17620fa..0000000 --- a/sources/include/cfgfiche.inc.php +++ /dev/null @@ -1,150 +0,0 @@ -InsertAttribut($_REQUEST['ad_id']); - echo $fiche_def->input_detail(); - echo $retour; - return; -} -/*******************************************************************************************/ -// Remove an attribut -/*******************************************************************************************/ -if ( $action == 'remove_line' ) -{ - $fiche_def=new Fiche_Def($cn,$_REQUEST['fd_id']); - $fiche_def=new Fiche_Def($cn,$_REQUEST['fd_id']); - $fiche_def->RemoveAttribut($_REQUEST['chk_remove']); - echo $fiche_def->input_detail(); - echo $retour; - return; -} -/*******************************************************************************************/ -// Try to remove a category -/*******************************************************************************************/ -if ( $action == 'remove_cat' ) -{ - $post_id=HtmlInput::default_value_post('fd_id', 0); - if ($post_id == 0 || $post_id >= 500000) - { - alert(_('Impossible d\'enlever cette catégorie')); - } else { - $fd_id=new Fiche_Def($cn,$post_id); - $remains=$fd_id->remove(); - if ( $remains != 0 ) { - /* some card are not removed because it is used */ - alert(_('Impossible d\'enlever cette catégorie, certaines fiches sont encore utilisées'."\n". - 'Les fiches non utilisées ont cependant été effacées')); - } - } -} -/*******************************************************************************************/ -// Change some basis info -/*******************************************************************************************/ -if ( isset ($_POST['change_name'])) -{ - if (isset ($_REQUEST['label']) ) - { - $fiche_def=new Fiche_Def($cn,$_REQUEST['fd_id']); - $fiche_def->SaveLabel($_REQUEST['label']); - if ( isset($_REQUEST['create'])) - { - $fiche_def->set_autocreate(true); - } - else - { - $fiche_def->set_autocreate(false); - } - $fiche_def->save_class_base($_REQUEST['class_base']); - $fiche_def->save_description($_REQUEST['fd_description']); - - } - echo $fiche_def->input_detail(); - echo $retour; - return; -} -/*******************************************************************************************/ -// Save order of the attributes -/*******************************************************************************************/ -if ( $action == 'save_line' ) -{ - $fiche_def=new Fiche_Def($cn,$_REQUEST['fd_id']); - $fiche_def->save_order($_POST); - echo $fiche_def->input_detail(); - echo $retour; - return; -} -/*******************************************************************************************/ -// Save a new category of card -/*******************************************************************************************/ -if ( isset($_POST['add_modele'])) -{ - $single=new Tool_Uos("dup"); - if ($single->get_count()==0) - { - $single->save(); - $fiche_def=new Fiche_Def($cn); - /** - * Check if we have all needed information - */ - if ( $fiche_def->Add($_POST) == 0 ) - { - echo $fiche_def->input_detail(); - echo $retour; - return; - } - else - { - $fiche_def->input_new(); - echo $retour; - return; - } - } - else - { - alert(_('Doublon')); - } -} -$fiche_def=new Fiche_def($cn); - -$fiche_def->Display(); -$dossier=Dossier::id(); -?> diff --git a/sources/include/cfgledger.inc.php b/sources/include/cfgledger.inc.php deleted file mode 100644 index b0b1bea..0000000 --- a/sources/include/cfgledger.inc.php +++ /dev/null @@ -1,161 +0,0 @@ -id=$_POST['p_jrn']; - if ( $ledger->load() == -1) throw new Exception (_('Journal inexistant')); - $ledger->verify_ledger($_POST); - $ledger->update($_POST); - $show_menu=1; - } catch (Exception $e) - { - alert($e->getMessage()); - } -} - -////////////////////////////////////////////////////////////////////////// -// Perform request action : delete -////////////////////////////////////////////////////////////////////////// -if ($action_frm == 'delete' ) -{ - $ledger->jrn_def_id=$_POST['p_jrn']; - $ledger->id=$_POST['p_jrn']; - $ledger->load(); - $name=$ledger->get_name(); - try { - $ledger->delete_ledger(); - $sa=""; - echo '
      '; - echo '

      '.h($name). " est effacé"."

      "; - echo '
      '; - $show_menu=1; - } - catch (Exception $e) - { - alert ($e->getMessage()); - } - -} - -////////////////////////////////////////////////////////////////////////// -// Perform request action : add -////////////////////////////////////////////////////////////////////////// -if (isset($_POST['add'])) -{ - try - { - $ledger->verify_ledger($_POST); - $ledger->save_new($_POST); - $sa="detail"; - $_REQUEST['p_jrn']=$ledger->jrn_def_id; - $show_menu=1; - } - catch (Exception $e) - { - alert($e->getMessage()); - } -} - - - - - -////////////////////////////////////////////////////////////////////////// -//Display detail of ledger -////////////////////////////////////////////////////////////////////////// - -switch ($sa) -{ - case 'detail': /* detail of a ledger */ - try - { - $ledger->id=$_REQUEST['p_jrn']; - echo '
      '; - echo '
      '; - echo $ledger->display_ledger(); - echo HtmlInput::hidden('action_frm',''); - echo ' - - '; - $href=http_build_query(array('ac'=>$_REQUEST['ac'],'gDossier'=>$_REQUEST['gDossier'])); - echo ''._('Retour').''; - echo '
      '; - echo "
      "; - $show_menu=0; - } - catch (Exception $e) - { - alert($e->getMessage()); - } - break; - case 'add': /* Add a new ledger */ - echo '
      '; - echo '
      '; - $ledger->input_new(); - echo HtmlInput::submit('add',_('Sauver')); - echo ''; - echo '
      '; - echo "
      "; - $show_menu=0; -} - -////////////////////////////////////////////////////////////////////////// -// Display list of ledgers -////////////////////////////////////////////////////////////////////////// -if ( $show_menu == 1 ) { - echo '
      '; - echo $ledger->listing(); - echo '
      '; -} - - -html_page_stop(); - - - -?> diff --git a/sources/include/cfgplugin.inc.php b/sources/include/cfgplugin.inc.php deleted file mode 100644 index b440dd3..0000000 --- a/sources/include/cfgplugin.inc.php +++ /dev/null @@ -1,166 +0,0 @@ - - -if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis'); -require_once NOALYSS_INCLUDE.'/class_extension.php'; - -/** - * @file - * @brief Automatic installation of plugins and activation - */ -global $cn; - -/****************************************************************************** - * Scan the plugin folder and file in each subfolder a property file and - * store them into an array a_plugin - ****************************************************************************** - */ -$dirscan=scandir(NOALYSS_PLUGIN); -$nb_dirscan=count($dirscan); -$a_plugin=array(); -for ($e=0;$e<$nb_dirscan;$e++) { - if ($dirscan[$e] != '.' && $dirscan[$e]!='..' && is_dir(NOALYSS_PLUGIN.'/'.$dirscan[$e])) { - $dir_plugin=$dirscan[$e]; - if (file_exists(NOALYSS_PLUGIN.'/'.$dir_plugin.'/plugin.xml')) { - - $extension=Extension::read_definition(NOALYSS_PLUGIN.'/'.$dir_plugin.'/plugin.xml'); - for ($i=0;$iget_array('select p_id,p_name from profile where p_id > 0 order by p_name'); -$nb_profile=count($a_profile); -/****************************************************************************** - * save - ******************************************************************************/ -if ( isset ($_POST['save_plugin'])){ - // retrieve array of plugin - $plugin=HtmlInput::default_value_post('plugin', array()); - // for each extension - for ($i=0;$i<$nb_plugin;$i++) { - - $code=$a_plugin[$i]->me_code; - // for each profile - for ($e=0;$e<$nb_profile;$e++) - { - $profile=$a_profile[$e]['p_id']; - if ( isset ($plugin[$code][$profile])) { - // insert or update into db - $count = $cn->get_value("select count(*) from menu_ref where me_code=$1", array($code)); - if ( $count == 0 ) { - $a_plugin[$i]->insert(); - } - try - { - $a_plugin[$i]->insert_profile_menu($profile,'EXT'); - } - catch (Exception $exc) - { - $profile_name=$cn->get_value('select profile.p_name from profile where p_id=$1' - ,array($profile)); - echo '

      '; - echo "code $code"," profile $profile_name ",$exc->getMessage(); - echo '

      '; - } - - } else { - // delete - $a_plugin[$i]->remove_from_profile_menu ($profile); - } - } - } -} -/****************************************************************************** - * Display the Plugin and for each profile were it is installed or not - ******************************************************************************/ - - -?> -
      - -
      - - - - - - - - - get_array("select distinct - p_id,p_name, - (select count(*) from profile_menu as a where a.p_id=b.p_id and me_code=$1 )+ - (select count(*) from menu_ref as c join profile_menu as d on (d.me_code=c.me_code) where d.p_id=b.p_id and me_file=$2 ) as cnt - from profile as b - where p_id > 0 - order by p_name",array($a_plugin[$e]->me_code,$a_plugin[$e]->me_file)); - - $class=($e%2==0)?'odd':'even'; - ?> - - - - - - - - - -
      - me_code); ?> - - me_menu); ?> - - me_description); ?> - - me_file); ?> - - - - - me_code.']['.$a_profile[$w]['p_id'].']'); - if ($a_profile[$w]['cnt']>0) $a->selected=true; - echo $a->input(); - echo $a_profile[$w]['p_name']; - ?> - - -
      - -
      -
      - diff --git a/sources/include/cfgtags.inc.php b/sources/include/cfgtags.inc.php deleted file mode 100644 index 2a4743e..0000000 --- a/sources/include/cfgtags.inc.php +++ /dev/null @@ -1,59 +0,0 @@ -check(); - $tag->save($_POST); - $uos->save(); - } catch (Exception $e) - { - alert("déjà sauvé"); - } - } else { - $tag->remove($_POST); - } -} -?> -
      -

      - -

      - show_list(); - $js=sprintf("onclick=\"show_tag('%s','%s','%s','p')\"",Dossier::id(),$_REQUEST['ac'],'-1'); - echo HtmlInput::button("tag_add", "Ajout d'un tag", $js); - ?> \ No newline at end of file diff --git a/sources/include/class_acc_account.php b/sources/include/class_acc_account.php deleted file mode 100644 index 960dd26..0000000 --- a/sources/include/class_acc_account.php +++ /dev/null @@ -1,233 +0,0 @@ -'pcm_val', - 'type'=>'pcm_type', - 'parent'=>'pcm_val_parent', - 'libelle'=>'pcm_lib'); - private $pcm_val; - private $pcm_type; - private $pcm_parent; - private $pcm_lib; - static public $type=array( - array('label'=>'Actif','value'=>'ACT'), - array('label'=>'Passif','value'=>'PAS'), - array('label'=>'Actif c. inverse','value'=>'ACTINV'), - array('label'=>'Passif c.inverse','value'=>'PASINV'), - array('label'=>'Produit','value'=>'PRO'), - array('label'=>'Produit Inverse','value'=>'PROINV'), - array('label'=>'Charge','value'=>'CHA'), - array('label'=>'Charge Inverse','value'=>'CHAINV'), - array('label'=>'Non defini','value'=>'CON') - ); - - function __construct ($p_cn,$p_id=0) - { - $this->db=$p_cn; - $this->pcm_val=$p_id; - } - public function get_parameter($p_string) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - return $this->$idx; - } - else - throw new Exception (__FILE__.":".__LINE__._('Erreur attribut inexistant')); - } - - function set_parameter($p_string,$p_value) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - if ($this->check($idx,$p_value) == true ) $this->$idx=$p_value; - } - else - throw new Exception (__FILE__.":".__LINE__._('Erreur attribut inexistant')); - - - } - /*!\brief Return the name of a account - * it doesn't change any data member - * \return string with the pcm_lib - */ - function get_lib() - { - $ret=$this->db->exec_sql( - "select pcm_lib from tmp_pcmn where - pcm_val=$1",array($this->pcm_val)); - if ( Database::num_row($ret) != 0) - { - $r=Database::fetch_array($ret); - $this->pcm_lib=$r['pcm_lib']; - } - else - { - $this->pcm_lib=_("Poste inconnu"); - } - return $this->pcm_lib; - } - /*!\brief Check that the value are valid - *\return true if all value are valid otherwise false - */ - function check ($p_member='',$p_value='') - { - // if there is no argument we check all the member - if ($p_member == '' && $p_value== '' ) - { - foreach (self::$variable as $l=>$k) - { - $this->check($k,$this->$k); - } - } - else - { - // otherwise we check only the value - if ( strcmp ($p_member,'pcm_val') == 0 ) - { - return true; - } - else if ( strcmp ($p_member,'pcm_val_parent') == 0 ) - { - return true; - } - else if ( strcmp ($p_member,'pcm_lib') == 0 ) - { - return true; - } - else if ( strcmp ($p_member,'pcm_type') == 0 ) - { - foreach (self::$type as $l=>$k) - { - if ( strcmp ($k['value'],$p_value) == 0 ) return true; - - } - throw new Exception(_('type de compte incorrect ').$p_value); - } - throw new Exception (_('Donnee member inconnue ').$p_member); - } - - } - /*!\brief Get all the value for this object from the database - * the data member are set - * \return false if this account doesn't exist otherwise true - */ - function load() - { - $ret=$this->db->exec_sql("select pcm_lib,pcm_val_parent,pcm_type from - tmp_pcmn where pcm_val=$1",array($this->pcm_val)); - $r=Database::fetch_all($ret); - - if ( ! $r ) return false; - $this->pcm_lib=$r[0]['pcm_lib']; - $this->pcm_val_parent=$r[0]['pcm_val_parent']; - $this->pcm_type=$r[0]['pcm_type']; - return true; - - } - function form($p_table=true) - { - $wType=new ISelect(); - $wType->name='p_type'; - $wType->value=self::$type; - - if ( ! $p_table ) - { - $ret=' - - - - - - - - - - '; - - $ret.=$wType->input().''; - return $ret; - } - else - { - $ret=''; - $ret.=sprintf ('',$this->pcm_val); - $ret.=""; - $ret.=sprintf('',h($this->pcm_lib)); - $ret.= ""; - $ret.=sprintf ('',$this->pcm_val_parent); - $ret.=''; - $wType->selected=$this->pcm_type; - $ret.=""; - $ret.= ''; - $ret.="
      '._('Numéro de classe').'
      '._('Libellé').'
      '._('Classe Parent').'
      Type de poste '.$wType->input().'
      "; - $ret.=dossier::hidden(); - - return $ret; - } - } - function count($p_value) - { - $sql="select count(*) from tmp_pcmn where pcm_val=$1"; - return $this->db->get_value($sql,array($p_value)); - } - /*!\brief for developper only during test */ - static function test_me() - { - $cn=new Database(dossier::id()); - - } - /** - *@brief update an accounting, but you can update pcm_val only if - * this accounting has never been used before */ - function update($p_old) - { - if (strcmp(trim($p_old), trim($this->pcm_val)) !=0 ) - { - $count=$this->db->get_value('select count(*) from jrnx where j_poste=$1', - array($p_old) - ); - if ($count != 0) - throw new Exception(_('Impossible de changer la valeur: poste déjà utilisé')); - } - $this->pcm_lib=mb_substr($this->pcm_lib,0,150); - $this->check(); - $sql="update tmp_pcmn set pcm_val=$1, pcm_lib=$2,pcm_val_parent=$3,pcm_type=$4 where pcm_val=$5"; - $Ret=$this->db->exec_sql($sql,array($this->pcm_val, - $this->pcm_lib, - $this->pcm_val_parent, - $this->pcm_type, - $p_old)); - } -} diff --git a/sources/include/class_acc_account_ledger.php b/sources/include/class_acc_account_ledger.php deleted file mode 100644 index ebf8f2b..0000000 --- a/sources/include/class_acc_account_ledger.php +++ /dev/null @@ -1,657 +0,0 @@ -db=$p_cn; - $this->id=$p_id; - } - /** - *@brief get the row thanks the resource - *@return double array (j_date,deb_montant,cred_montant,description,jrn_name,j_debit,jr_internal) - * (tot_deb,tot_credit) - */ - private function get_row_sql($Res) - { - $array=array(); - $tot_cred=0.0; - $tot_deb=0.0; - $Max=Database::num_row($Res); - if ( $Max == 0 ) return null; - for ($i=0;$i<$Max;$i++) - { - $array[]=Database::fetch_array($Res,$i); - if ($array[$i]['j_debit']=='t') - { - $tot_deb+=$array[$i]['deb_montant'] ; - } - else - { - $tot_cred+=$array[$i]['cred_montant'] ; - } - } - $this->row=$array; - $this->tot_deb=$tot_deb; - $this->tot_cred=$tot_cred; - return array($array,$tot_deb,$tot_cred); - - } - /*! - * \brief Get data for accounting entry between 2 periode - * - * \param $p_from periode from - * \param $p_to end periode - * \return double array (j_date,deb_montant,cred_montant,description,jrn_name,j_debit,jr_internal) - * (tot_deb,tot_credit - * - */ - function get_row($p_from,$p_to) - { - $periode=sql_filter_per($this->db,$p_from,$p_to,'p_id','jr_tech_per'); - - $Res=$this->db->exec_sql("select distinct j_id,jr_id,to_char(j_date,'DD.MM.YYYY') as j_date_fmt,j_date,". - "case when j_debit='t' then j_montant else 0 end as deb_montant,". - "case when j_debit='f' then j_montant else 0 end as cred_montant,". - " jr_comment as description,jrn_def_name as jrn_name,". - "j_debit, jr_internal,jr_pj_number ". - " from jrnx left join jrn_def on jrn_def_id=j_jrn_def ". - " left join jrn on jr_grpt_id=j_grpt". - " where j_poste=".$this->id." and ".$periode. - " order by j_date"); - return $this->get_row_sql($Res); - } - /*! - * \brief Get data for accounting entry between 2 date - * - * \param $p_from date from - * \param $p_to end date - *\param $let 0 means all rows, 1 only lettered, 2 only unlettered - * \param $solded 0 means all account, 1 means only accounts with a saldo <> 0 - *\note the data are filtered by the access of the current user - * \return double array (j_date,deb_montant,cred_montant,description,jrn_name,j_debit,jr_internal) - * (tot_deb,tot_credit - * - */ - function get_row_date($p_from,$p_to,$let=0,$solded=0) - { - global $g_user; - $filter_sql=$g_user->get_ledger_sql('ALL',3); - $sql_let=''; - switch ($let) - { - case 0: - break; - case 1: - $sql_let=' and j_id in (select j_id from letter_cred union select j_id from letter_deb)'; - break; - case '2': - $sql_let=' and j_id not in (select j_id from letter_cred union select j_id from letter_deb) '; - break; - } - if ( $solded == 1) - { - $filter=str_replace('jrn_def_id','jr_def_id',$filter_sql); - $bal_sql="select sum(amount_deb) as s_deb,sum(amount_cred) as s_cred, j_poste - from (select case when j_debit='t' then j_montant else 0 end as amount_deb, - case when j_debit='f' then j_montant else 0 end as amount_cred, - j_poste - from jrnx join jrn on (j_grpt = jr_grpt_id) - where - j_poste=$1 and - $filter and - ( to_date($2,'DD.MM.YYYY') <= j_date and - to_date($3,'DD.MM.YYYY') >= j_date )) as signed_amount - group by j_poste - "; - $r=$this->db->get_array($bal_sql,array($this->id,$p_from,$p_to)); - if ( $this->db->count() == 0 ) return array(); - if ($r[0]['s_deb']==$r[0]['s_cred']) return array(); - } - $Res=$this->db->exec_sql("select jr_id,to_char(j_date,'DD.MM.YYYY') as j_date_fmt,j_date,". - "case when j_debit='t' then j_montant else 0 end as deb_montant,". - "case when j_debit='f' then j_montant else 0 end as cred_montant,". - " case when j_text is null or j_text = '' then jr_comment - else jr_comment||' '||j_text end - as description,jrn_def_name as jrn_name,". - "j_debit, jr_internal,jr_pj_number, - coalesce(comptaproc.get_letter_jnt(j_id),-1) as letter ". - ",pcm_lib ". - ",jr_tech_per,p_exercice,jrn_def_name,jrn_def_code". - " from jrnx left join jrn_def on (jrn_def_id=j_jrn_def )". - " left join jrn on (jr_grpt_id=j_grpt)". - " left join tmp_pcmn on (j_poste=pcm_val)". - " left join parm_periode on (p_id=jr_tech_per) ". - " where j_poste=$1 and ". - " ( to_date($2,'DD.MM.YYYY') <= j_date and ". - " to_date($3,'DD.MM.YYYY') >= j_date )". - " and $filter_sql $sql_let ". - " order by j_date,substring(jr_pj_number,'[0-9]+$') asc",array($this->id,$p_from,$p_to)); - return $this->get_row_sql($Res); - } - - - /*!\brief Return the name of a account - * it doesn't change any data member - * \return string with the pcm_lib - */ - function get_name() - { - $ret=$this->db->exec_sql( - "select pcm_lib from tmp_pcmn where - pcm_val=$1",array($this->id)); - if ( Database::num_row($ret) != 0) - { - $r=Database::fetch_array($ret); - $this->name=$r['pcm_lib']; - } - else - { - $this->name="Poste inconnu"; - } - return $this->name; - } - /*!\brief check if the poste exist in the tmp_pcmn - *\return the number of line (normally 1 or 0) - */ - function do_exist() - { - $sql="select pcm_val from tmp_pcmn where pcm_val= $1"; - $ret=$this->db->exec_sql($sql,array($this->id)); - return Database::num_row($ret) ; - } - /*!\brief Get all the value for this object from the database - * the data member are set - * \return false if this account doesn't exist otherwise true - */ - function load() - { - $ret=$this->db->exec_sql("select pcm_lib,pcm_val_parent from - tmp_pcmn where pcm_val=$1",array($this->id)); - $r=Database::fetch_all($ret); - - if ( ! $r ) return false; - $this->label=$r[0]['pcm_lib']; - $this->parent=$r[0]['pcm_val_parent']; - return true; - - } - /*!\brief Get all the value for this object from the database - * the data member are set - * \return false if this account doesn't exist otherwise true - */ - function get() - { - echo "OBSOLETE Acc_Account_Ledger->get(), a remplacer par Acc_Account_Ledger->load()"; - return $this->load(); - } - - /*! - * \brief give the balance of an account - * - * \return - * balance of the account - * - */ - function get_solde($p_cond=" true ") - { - $Res=$this->db->exec_sql("select sum(deb) as sum_deb, sum(cred) as sum_cred from - ( select j_poste, - case when j_debit='t' then j_montant else 0 end as deb, - case when j_debit='f' then j_montant else 0 end as cred - from jrnx join tmp_pcmn on j_poste=pcm_val - where - j_poste::text like ('$this->id'::text) and - $p_cond - ) as m "); - $Max=Database::num_row($Res); - if ($Max==0) return 0; - $r=Database::fetch_array($Res,0); - - return abs($r['sum_deb']-$r['sum_cred']); - } - /*! - * \brief give the balance of an account - * \return - * balance of the account - * - */ - function get_solde_detail($p_cond="") - { - - if ( $p_cond != "") $p_cond=" and ".$p_cond; - $sql="select sum(deb) as sum_deb, sum(cred) as sum_cred from - ( select j_poste, - case when j_debit='t' then j_montant else 0 end as deb, - case when j_debit='f' then j_montant else 0 end as cred - from jrnx - where - j_poste::text like ('$this->id'::text) - $p_cond - ) as m "; - - $Res=$this->db->exec_sql($sql); - $Max=Database::num_row($Res); - - if ($Max==0) - { - return array('debit'=>0, - 'credit'=>0, - 'solde'=>0) ; - } - $r=Database::fetch_array($Res,0); -// if p_start is < p_end the query returns null to avoid any problem -// we set it to 0 - if ($r['sum_deb']=='') - $r['sum_deb']=0.0; - if ($r['sum_cred']=='') - $r['sum_cred']=0.0; - - return array('debit'=>$r['sum_deb'], - 'credit'=>$r['sum_cred'], - 'solde'=>abs(bcsub($r['sum_deb'],$r['sum_cred']))); - } - /*! - * \brief isTva tell is a poste is used for VAT - * \param none - * - * - * \return 1 is Yes otherwise 0 - */ - function isTVA() - { - // Load TVA array - $a_TVA=$this->db->get_array('select tva_poste - from tva_rate'); - foreach ( $a_TVA as $line_tva) - { - if ( $line_tva['tva_poste'] == '' ) - continue; - list($tva_deb,$tva_cred)=explode(',',$line_tva['tva_poste']); - if ( $this->id == $tva_deb || - $this->id == $tva_cred ) - { - return 1; - } - } - return 0; - - } - /*! - * \brief HtmlTable, display a HTML of a poste for the asked period - * \param $p_array array for filter - * \param $let lettering of operation 0 - * \return -1 if nothing is found otherwise 0 - */ - function HtmlTable($p_array=null,$let=0 , $from_div=0) - { - if ( $p_array==null)$p_array=$_REQUEST; - $this->get_name(); - list($array,$tot_deb,$tot_cred)=$this->get_row_date( $p_array['from_periode'], - $p_array['to_periode'],$let - ); - - if ( count($this->row ) == 0 ) - return -1; - - $rep=""; - - echo '

      '.$this->id." ".$this->name.'

      '; - if ( $from_div == 0) - echo ""; - else - echo "
      "; - echo ''; - echo "". - "". - "". - "". - "". - "". - "". - th('Prog.','style="text-align:right"'). - th('Let.','style="text-align:right"'); - "" - ; - $progress=0;$sum_deb=0;$sum_cred=0; - bcscale(2); - $old_exercice=""; - $idx=0; - foreach ( $this->row as $op ) - { - $vw_operation = sprintf('%s', $op['jr_id'], dossier::id(), $op['jr_internal']); - $let = ''; - $html_let = ""; - if ($op['letter'] != -1) - { - $let = strtoupper(base_convert($op['letter'], 10, 36)); - $html_let = HtmlInput::show_reconcile($from_div, $let); - } - $tmp_diff=bcsub($op['deb_montant'],$op['cred_montant']); - - /* - * reset prog. balance to zero if we change of exercice - */ - if ( $old_exercice != $op['p_exercice']) - { - if ( $old_exercice != '') - { - $progress=bcsub($sum_deb,$sum_cred); - $side=" ".$this->get_amount_side($progress); - echo "". - "". - td(''). - "". - "". - "". - "". - td(nbm(abs($progress)).$side,'style="text-align:right"'). - td(''). - ""; - $sum_cred=0; - $sum_deb=0; - $progress=0; - - } - } - $progress=bcadd($progress,$tmp_diff); - $side=" ".$this->get_amount_side($progress); - $sum_cred=bcadd($sum_cred,$op['cred_montant']); - $sum_deb=bcadd($sum_deb,$op['deb_montant']); - if ($idx%2 == 0) $class='class="odd"'; else $class=' class="even"'; - $idx++; - - echo "" . - "". - td(h($op['jr_pj_number'])). - "". - "". - "". - "". - td(nbm(abs($progress)).$side,'style="text-align:right"'). - - td($html_let, ' style="color:red;text-align:right"') . - ""; - $old_exercice=$op['p_exercice']; - } - echo ''; - $solde_type=($sum_deb>$sum_cred)?"solde débiteur":"solde créditeur"; - $diff=bcsub($sum_deb,$sum_cred); - $side=" ".$this->get_amount_side($diff); - echo "". - "". - "". - "". - "". - "". - "". - - ""; - echo "". - "". - ""; - echo ''; - echo ''; - - echo "
      Date n° de pièce Code interne Description Débit Crédit
      $old_exerciceTotaux".nbm($sum_deb)."".nbm($sum_cred)."
      ".smaller_date(format_date($op['j_date']))."".$vw_operation."".h($op['description'])."".nbm($op['deb_montant'])."".nbm($op['cred_montant'])."
      Totaux".nbm($sum_deb)."".nbm($sum_cred)."".nbm(abs($diff)).$side."
      $solde_type".nbm(abs($diff))."
      "; - - return; - } - /** - * return the letter C if amount is > 0, D if < 0 or = - * @param type $p_amount - * @return string - */ - function get_amount_side($p_amount) - { - if ($p_amount == 0) - return "="; - if ($p_amount < 0) - return "C"; - if ($p_amount > 0) - return "D"; - } - /*! - * \brief Display HTML Table Header (button) - * - * \return none - */ - static function HtmlTableHeader($actiontarget="poste") - { - switch($actiontarget) - { - case 'poste': - $action_csv='CSV:postedetail'; - $action_pdf='PDF:postedetail'; - break; - case 'gl_comptes': - $action_csv='CSV:glcompte'; - $action_pdf='PDF:glcompte'; - break; - default: - throw new Exception(" Fonction HtmlTableHeader argument actiontarget invalid"); - } - $hid=new IHidden(); - - echo ""; - echo ''; - $str_ople=(isset($_REQUEST['ople']))?HtmlInput::hidden('ople',$_REQUEST['ople']):''; - if ($actiontarget=='poste') - { - echo '"; - } - - - echo '"; - - echo '"; - echo ""; - echo ''; - echo ''; - echo "
      '. - dossier::hidden(). - HtmlInput::submit('bt_other',"Autre poste"). - $hid->input("type","poste").$hid->input('ac',$_REQUEST['ac'])."
      '. - dossier::hidden(). - HtmlInput::submit('bt_pdf',"Export PDF"). - HtmlInput::hidden('act',$action_pdf). - $hid->input("type","poste").$str_ople. - $hid->input('p_action','impress'). - $hid->input("from_periode",$_REQUEST['from_periode']). - $hid->input("to_periode",$_REQUEST['to_periode']) - ; - - if ( isset($_REQUEST['letter'] )) echo HtmlInput::hidden('letter','2'); - if ( isset($_REQUEST['solded'] )) echo HtmlInput::hidden('solded','1'); - - if (isset($_REQUEST['from_poste'])) - echo HtmlInput::hidden('from_poste',$_REQUEST['from_poste']); - - if (isset($_REQUEST['to_poste'])) - echo HtmlInput::hidden('to_poste',$_REQUEST['to_poste']); - - if (isset($_REQUEST['poste_id'])) - echo HtmlInput::hidden("poste_id",$_REQUEST['poste_id']); - - if (isset($_REQUEST['poste_fille'])) - echo $hid->input('poste_fille','on'); - if (isset($_REQUEST['oper_detail'])) - echo $hid->input('oper_detail','on'); - - echo "
      '. - dossier::hidden(). - HtmlInput::submit('bt_csv',"Export CSV"). - HtmlInput::hidden('act',$action_csv). - $hid->input("type","poste").$str_ople. - $hid->input('p_action','impress'). - $hid->input("from_periode",$_REQUEST['from_periode']). - $hid->input("to_periode",$_REQUEST['to_periode']); - - if (isset($_REQUEST['from_poste'])) - echo HtmlInput::hidden('from_poste',$_REQUEST['from_poste']); - - if (isset($_REQUEST['to_poste'])) - echo HtmlInput::hidden('to_poste',$_REQUEST['to_poste']); - - if (isset($_REQUEST['poste_id'])) - echo HtmlInput::hidden("poste_id",$_REQUEST['poste_id']); - - if ( isset($_REQUEST['letter'] )) echo HtmlInput::hidden('letter','2'); - if ( isset($_REQUEST['solded'] )) echo HtmlInput::hidden('solded','1'); - - if (isset($_REQUEST['poste_fille'])) - echo $hid->input('poste_fille','on'); - if (isset($_REQUEST['oper_detail'])) - echo $hid->input('oper_detail','on'); - if (isset($_REQUEST['poste_id'])) echo $hid->input("poste_id",$_REQUEST['poste_id']); - - echo "
      '; - echo HtmlInput::print_window(); - echo '
      "; - - - } - /*! - * \brief verify that the poste belong to a ledger - * - * \return 0 ok, -1 no - */ - function belong_ledger($p_jrn) - { - $filter=$this->db->get_value("select jrn_def_class_cred from jrn_def where jrn_def_id=$p_jrn"); - if ( trim ($filter) == '') - return 0; - - $valid_cred=explode(" ",$filter); - $sql="select count(*) as poste from tmp_pcmn where "; - // Creation query - $or=""; - $SqlFilter=""; - foreach ( $valid_cred as $item_cred) - { - if ( strlen (trim($item_cred))) - { - if ( strstr($item_cred,"*") == true ) - { - $item_cred=strtr($item_cred,"*","%"); - $SqlItem="$or pcm_val::text like '".sql_string($item_cred)."'"; - $or=" or "; - } - else - { - $SqlItem="$or pcm_val::text = '".sql_string($item_cred)."' "; - $or=" or "; - } - $SqlFilter=$SqlFilter.$SqlItem; - } - }//foreach - $sql.=$SqlFilter." and pcm_val::text='".sql_string($this->id)."'"; - $max=$this->db->get_value($sql); - if ($max > 0 ) - return 0; - else - return -1; - } - /*!\brief With the id of the ledger, get the col jrn_def_class_deb - *\param $p_jrn jrn_id - *\return array of value, or an empty array if nothing is found - *\note - *\see - */ - function get_account_ledger($p_jrn) - { - $l=new Acc_Ledger($this->db,$p_jrn); - $row=$l->get_propertie(); - if ( strlen(trim($row['jrn_def_class_deb'])) == 0 ) return array(); - $valid_account=explode(" ",$row['jrn_def_class_deb']); - return $valid_account; - } - /*!\brief build a sql statement thanks a array found with get_account_ledger - * - *\param $p_jrn jrn_id - *\return an emty string if nothing is found or a valid SQL statement like - \code - pcm_val like ... or pcm_val like ... - \endcode - *\note - *\see get_account_ledger - */ - function build_sql_account($p_jrn) - { - $array=$this->get_account_ledger($p_jrn); - if ( empty($array) ) return ""; - $sql=""; - foreach ( $array as $item_cred) - { - if ( strlen (trim($item_cred))>0 ) - { - if ( strstr($item_cred,"*") == true ) - { - $item_cred=strtr($item_cred,"*","%"); - $sql_tmp=" pcm_val::text like '$item_cred' or"; - } - else - { - $sql_tmp=" pcm_val::text = '$item_cred' or"; - } - $sql.=$sql_tmp; - } - }//foreach - /* remove the last or */ - $sql=substr($sql,0,strlen($sql)-2); - return $sql; - } - /** - * Find the id of the cards which are using the current account - * - * @return an array of f_id - */ - function find_card() - { - $sql="select f_id from fiche_detail where ad_id=$1 and ad_value=$2"; - $account=$this->db->get_array($sql,array(ATTR_DEF_ACCOUNT,$this->id)); - return $account; - } - static function test_me() - { - $cn=new Database(dossier::id()); - $a=new Acc_Account_Ledger($cn,550); - echo ' Journal 4 '.$a->belong_ledger(4); - return $a->belong_ledger(4);; - - } -} diff --git a/sources/include/class_acc_balance.php b/sources/include/class_acc_balance.php deleted file mode 100644 index 654bdd2..0000000 --- a/sources/include/class_acc_balance.php +++ /dev/null @@ -1,284 +0,0 @@ -get_ledger */ - var $from_poste; /*!< from_poste filter on the post */ - var $to_poste; /*!< to_poste filter on the post*/ - var $unsold; /**= 0) */ - function Acc_Balance($p_cn) - { - $this->db=$p_cn; - $this->jrn=null; - $from_poste=""; - $to_poste=""; - $unsold=false; - } - - - /*! - * \brief retrieve all the row from the ledger in the range of a periode - * \param $p_from_periode start periode (p_id) - * \param $p_to_periode end periode (p_id) - * \param $p_previous_exc previous exercice 1= yes default =0 - * - * \return a double array - * array of - * - $a['poste'] - * - $a['label'] - * - $a['sum_deb'] - * - $a['sum_cred'] - * - $a['solde_deb'] - * - $a['solde_cred'] - */ - function get_row($p_from_periode,$p_to_periode,$p_previous_exc=0) - { - global $g_user; - // filter on requested periode - $per_sql=sql_filter_per($this->db,$p_from_periode,$p_to_periode,'p_id','j_tech_per'); - - - $and=""; - $jrn=""; - $from_poste=""; - $to_poste=""; - /* if several ledgers are asked then we filter here */ - if ($this->jrn!== null) - { - /** - *@file - *@bug the get_ledger here is not valid and useless we just need a list of the - * asked ledgers - */ - - $jrn=" j_jrn_def in ("; - $comma=''; - for ($e=0;$ejrn);$e++) - { - $jrn.=$comma.$this->jrn[$e]; - $comma=','; - } - $jrn.=')'; - $and=" and "; - } - - if ( strlen(trim($this->from_poste)) != 0 && $this->from_poste!=-1 ) - { - $from_poste=" $and j_poste::text >= '".$this->from_poste."'"; - $and=" and "; - } - if ( strlen(trim($this->to_poste)) != 0 && $this->to_poste!=-1 ) - { - $to_poste=" $and j_poste::text <= '".$this->to_poste."'"; - $and=" and "; - } - $filter_sql=$g_user->get_ledger_sql('ALL',3); - - switch ($p_previous_exc) - { - case 0: - // build query - $sql="select j_poste as poste,sum(deb) as sum_deb, sum(cred) as sum_cred from - ( select j_poste, - case when j_debit='t' then j_montant else 0 end as deb, - case when j_debit='f' then j_montant else 0 end as cred - from jrnx join tmp_pcmn on (j_poste=pcm_val) - left join parm_periode on (j_tech_per = p_id) - join jrn_def on (j_jrn_def=jrn_def_id) - where - $jrn $from_poste $to_poste - $and $filter_sql - and - $per_sql ) as m group by 1 order by 1"; - break; - case 1: - /* - * retrieve balance previous exercice - */ - $periode=new Periode($this->db); - $previous_exc=$periode->get_exercice($p_from_periode)-1; - try { - list($previous_start,$previous_end)=$periode->get_limit($previous_exc); - - $per_sql_previous=sql_filter_per($this->db,$previous_start->p_id,$previous_end->p_id,'p_id','j_tech_per'); - $sql=" - with m as - ( select j_poste,sum(deb) as sdeb,sum(cred) as scred - from - (select j_poste, - case when j_debit='t' then j_montant else 0 end as deb, - case when j_debit='f' then j_montant else 0 end as cred - from jrnx - join tmp_pcmn on (j_poste=pcm_val) - left join parm_periode on (j_tech_per = p_id) - join jrn_def on (j_jrn_def=jrn_def_id) - where - $jrn $from_poste $to_poste - $and $filter_sql and $per_sql - ) as sub_m group by j_poste order by j_poste ) , - p as ( select j_poste,sum(deb) as sdeb,sum(cred) as scred - from - (select j_poste, - case when j_debit='t' then j_montant else 0 end as deb, - case when j_debit='f' then j_montant else 0 end as cred - from jrnx join tmp_pcmn on (j_poste=pcm_val) - left join parm_periode on (j_tech_per = p_id) - join jrn_def on (j_jrn_def=jrn_def_id) - where - $jrn $from_poste $to_poste - $and $filter_sql and $per_sql_previous) as sub_p group by j_poste order by j_poste) - select coalesce(m.j_poste,p.j_poste) as poste - ,coalesce(m.sdeb,0) as sum_deb - , coalesce(m.scred,0) as sum_cred - ,coalesce(p.sdeb,0) as sum_deb_previous - , coalesce(p.scred,0) as sum_cred_previous from m full join p on (p.j_poste=m.j_poste) - order by poste"; - - } catch (Exception $exc) { - $p_previous_exc=0; - /* - * no previous exercice - */ - $sql="select upper(j_poste::text) as poste,sum(deb) as sum_deb, sum(cred) as sum_cred from - ( select j_poste, - case when j_debit='t' then j_montant else 0 end as deb, - case when j_debit='f' then j_montant else 0 end as cred - from jrnx join tmp_pcmn on (j_poste=pcm_val) - left join parm_periode on (j_tech_per = p_id) - join jrn_def on (j_jrn_def=jrn_def_id) - where - $jrn $from_poste $to_poste - $and $filter_sql - and - $per_sql ) as m group by poste order by poste"; - } - break; - - } - $cn=clone $this->db; - $Res=$this->db->exec_sql($sql); - $tot_cred= 0.0; - $tot_deb= 0.0; - $tot_deb_saldo=0.0; - $tot_cred_saldo=0.0; - $tot_cred_previous= 0.0; - $tot_deb_previous= 0.0; - $tot_deb_saldo_previous=0.0; - $tot_cred_saldo_previous=0.0; - $M=$this->db->size(); - - // Load the array - for ($i=0; $i <$M;$i++) - { - $r=$this->db->fetch($i); - $poste=new Acc_Account($cn,$r['poste']); - - $a['poste']=$r['poste']; - $a['label']=mb_substr($poste->get_lib(),0,40); - $a['sum_deb']=round($r['sum_deb'],2); - $a['sum_cred']=round($r['sum_cred'],2); - $a['solde_deb']=round(( $a['sum_deb'] >= $a['sum_cred'] )? $a['sum_deb']- $a['sum_cred']:0,2); - $a['solde_cred']=round(( $a['sum_deb'] <= $a['sum_cred'] )?$a['sum_cred']-$a['sum_deb']:0,2); - if ($p_previous_exc==1) - { - $a['sum_deb_previous']=round($r['sum_deb_previous'],2); - $a['sum_cred_previous']=round($r['sum_cred_previous'],2); - $a['solde_deb_previous']=round(( $a['sum_deb_previous'] >= $a['sum_cred_previous'] )? $a['sum_deb_previous']- $a['sum_cred_previous']:0,2); - $a['solde_cred_previous']=round(( $a['sum_deb_previous'] <= $a['sum_cred_previous'] )?$a['sum_cred_previous']-$a['sum_deb_previous']:0,2); - $tot_cred_previous+= $a['sum_cred_previous']; - $tot_deb_previous+= $a['sum_deb_previous']; - $tot_deb_saldo_previous+= $a['solde_deb_previous']; - $tot_cred_saldo_previous+= $a['solde_cred_previous']; - } - if ($p_previous_exc==0 && $this->unsold==true && $a['solde_cred']==0 && $a['solde_deb']==0) continue; - if ($p_previous_exc==1 && $this->unsold==true && $a['solde_cred']==0 && $a['solde_deb']==0 && $a['solde_cred_previous']==0 && $a['solde_deb_previous']==0) continue; - $array[$i]=$a; - $tot_cred+= $a['sum_cred']; - $tot_deb+= $a['sum_deb']; - $tot_deb_saldo+= $a['solde_deb']; - $tot_cred_saldo+= $a['solde_cred']; - - - }//for i - // Add the saldo - $i+=1; - $a['poste']=""; - $a['label']="Totaux "; - $a['sum_deb']=$tot_deb; - $a['sum_cred']=$tot_cred; - $a['solde_deb']=$tot_deb_saldo; - $a['solde_cred']=$tot_cred_saldo; - if ($p_previous_exc==1) { - $a['sum_deb_previous']=$tot_deb_previous; - $a['sum_cred_previous']=$tot_cred_previous; - $a['solde_deb_previous']=$tot_deb_saldo_previous; - $a['solde_cred_previous']=$tot_cred_saldo_previous; - } - $array[$i]=$a; - $this->row=$array; - return $array; - - } - /** - * set the $this->jrn to the cat - * @todo Cette function semble ne pas fonctionner correctement - */ - function filter_cat($p_array) - { - if ( empty($p_array) ) - { - $this->jrn=null; - return; - } - /* get the list of jrn of the cat. */ - - $array=Acc_Ledger::array_cat(); - $jrn=array(); - for ($e=0;$edb->get_array('select jrn_def_id from jrn_def where jrn_def_type=$1',array($array[$e]['cat'])); - for ( $f=0;$f < count($t_a);$f++) $this->jrn[]=$t_a[$f]['jrn_def_id']; - } - } - - } - static function test_me () - { - require 'class_user.php'; - global $g_user; - $cn=new Database(dossier::id()); - $g_user=new User($cn); - $a=new Acc_Balance($cn); - $a->get_row(163, 175, 1); - var_dump($a); - } -} diff --git a/sources/include/class_acc_bilan.php b/sources/include/class_acc_bilan.php deleted file mode 100644 index 18bff4c..0000000 --- a/sources/include/class_acc_bilan.php +++ /dev/null @@ -1,729 +0,0 @@ -db=$p_cn; - } - /*! - * \brief return a string with the form for selecting the periode and - * the type of bilan - * \param $p_filter_year filter on a year - * - * \return a string - */ - function display_form($p_filter_year="") - { - $r=""; - $r.=dossier::hidden(); - $r.= ''; - - $r.=''; -// filter on the current year - $w=new ISelect(); - $w->table=1; - - $periode_start=$this->db->make_array("select p_id,to_char(p_start,'DD-MM-YYYY') from parm_periode $p_filter_year order by p_start,p_end"); - - $periode_end=$this->db->make_array("select p_id,to_char(p_end,'DD-MM-YYYY') from parm_periode $p_filter_year order by p_end,p_start"); - - $w->label=_("Depuis"); - $w->value=$this->from; - $w->selected=$this->from; - $r.= td($w->input('from_periode',$periode_start)); - $w->label=_(" jusque "); - $w->value=$this->to; - $w->selected=$this->to; - $r.= td($w->input('to_periode',$periode_end)); - $r.= ""; - $r.=""; - $mod=new ISelect(); - $mod->table=1; - $mod->value=$this->db->make_array("select b_id, b_name from bilan order by b_name"); - $mod->label=_("Choix du bilan"); - $r.=td($mod->input('b_id')); - $r.=""; - $r.= '
      '; - return $r; - } - /** - * @brief check and warn if an accound has the wrong saldo - * @param $p_message legend of the fieldset - * @param $p_type type of the Acccount ACT actif, ACTINV... - * @param $p_type the saldo must debit or credit - */ - private function warning($p_message,$p_type,$p_deb) - { - $sql="select pcm_val,pcm_lib from tmp_pcmn where pcm_type='$p_type'"; - $res=$this->db->exec_sql($sql); - if ( Database::num_row($res) ==0 ) - return; - $count=0; - $nRow=Database::num_row($res); - - $ret=""; - $obj=new Acc_Account_Ledger($this->db,0); - for ($i=0;$i<$nRow;$i++) - { - - $line=Database::fetch_array($res,$i); - /* set the periode filter */ - $sql=sql_filter_per($this->db,$this->from,$this->to,'p_id','j_tech_per'); - $obj->id=$line['pcm_val']; - - $solde=$obj->get_solde_detail($sql); - $solde_signed=bcsub($solde['debit'],$solde['credit']); - - if ( - ($solde_signed < 0 && $p_deb == 'D' ) || - ($solde_signed > 0 && $p_deb == 'C' ) - ) - { - $ret.= '
    25. '.HtmlInput::history_account($line['pcm_val'],'Anomalie pour le compte '.$line['pcm_val'].' '.h($line['pcm_lib']). - " D: ".$solde['debit']. - " C: ".$solde['credit']." diff ".$solde['solde']); - $count++; - } - - } - - echo '
      '; - echo ''.$p_message.''; - if ( $count <> 0 ) - { - echo '
        '.$ret.'
      '; - echo ''._("Nbres anomalies").' : '.$count.''; - } - else - echo _("Pas d'anomalie détectée"); - echo '
      '; - - - } - /*!\brief verify that the saldo is good for the type of account */ - function verify() - { - bcscale(2); - echo '

      '._("Comptes normaux").'

      '; - $this->warning(_('Actif avec un solde crediteur'),'ACT','D'); - $this->warning(_('Passif avec un solde debiteur'),'PAS','C'); - $this->warning(_('Compte de resultat : Charge avec un solde crediteur'),'CHA','D'); - $this->warning(_('Compte de resultat : produit avec un solde debiteur'),'PRO','C'); - echo '
      '; - echo '

      '._("Comptes inverses").'

      '; - $this->warning(_('Compte inverse : actif avec un solde debiteur'),'ACTINV','C'); - $this->warning(_('Compte inverse : passif avec un solde crediteur'),'PASINV','D'); - $this->warning(_('Compte inverse : Charge avec un solde debiteur'),'CHAINV','C'); - $this->warning(_('Compte inverse : produit avec un solde crediteur'),'PROINV','D'); - echo ''; - /* set the periode filter */ - $sql_periode=sql_filter_per($this->db,$this->from,$this->to,'p_id','j_tech_per'); - /* debit Actif */ - $sql="select sum(j_montant) from jrnx join tmp_pcmn on (j_poste=pcm_val)". - " where j_debit='t' and (pcm_type='ACT' or pcm_type='ACTINV')"; - $sql.="and $sql_periode"; - $debit_actif=$this->db->get_value($sql); - - /* Credit Actif */ - $sql="select sum(j_montant) from jrnx join tmp_pcmn on (j_poste=pcm_val)". - " where j_debit='f' and (pcm_type='ACT' or pcm_type='ACTINV')"; - - $sql.="and $sql_periode"; - - $credit_actif=$this->db->get_value($sql); - $total_actif=abs(bcsub($debit_actif,$credit_actif)); - echo ''; - echo tr(td(_('Total actif')).td($total_actif,'style="text-align:right"')); - - /* debit passif */ - $sql="select sum(j_montant) from jrnx join tmp_pcmn on (j_poste=pcm_val)". - " where j_debit='t' and (pcm_type='PAS' or pcm_type='PASINV') "; - $sql.="and $sql_periode"; - - $debit_passif=$this->db->get_value($sql); - - /* Credit Actif */ - $sql="select sum(j_montant) from jrnx join tmp_pcmn on (j_poste=pcm_val)". - " where j_debit='f' and (pcm_type='PAS' or pcm_type='PASINV') "; - $sql.="and $sql_periode"; - $credit_passif=$this->db->get_value($sql); - $total_passif=abs(bcsub($debit_passif,$credit_passif)); - - /* diff actif / passif */ - echo tr(td(_('Total passif')).td($total_passif,'style="text-align:right"')); - if ( $total_actif != $total_passif ) - { - $diff=bcsub($total_actif,$total_passif); - echo tr(td(' Difference Actif - Passif ').td($diff,'style="text-align:right"'),'style="font-weight:bolder"'); - } - - /* debit charge */ - $sql="select sum(j_montant) from jrnx join tmp_pcmn on (j_poste=pcm_val)". - " where j_debit='t' and (pcm_type='CHA' or pcm_type='CHAINV')"; - $sql.="and $sql_periode"; - $debit_charge=$this->db->get_value($sql); - - /* Credit charge */ - $sql="select sum(j_montant) from jrnx join tmp_pcmn on (j_poste=pcm_val)". - " where j_debit='f' and (pcm_type='CHA' or pcm_type='CHAINV')"; - $sql.="and $sql_periode"; - $credit_charge=$this->db->get_value($sql); - $total_charge=abs(bcsub($debit_charge,$credit_charge)); - echo tr(td(_('Total charge ')).td($total_charge,'style="text-align:right"')); - - - /* debit prod */ - $sql="select sum(j_montant) from jrnx join tmp_pcmn on (j_poste=pcm_val)". - " where j_debit='t' and (pcm_type='PRO' or pcm_type='PROINV')"; - $sql.="and $sql_periode"; - $debit_pro=$this->db->get_value($sql); - - /* Credit prod */ - $sql="select sum(j_montant) from jrnx join tmp_pcmn on (j_poste=pcm_val)". - " where j_debit='f' and (pcm_type='PRO' or pcm_type='PROINV')"; - $sql.="and $sql_periode"; - $credit_pro=$this->db->get_value($sql); - $total_pro=abs(bcsub($debit_pro,$credit_pro)); - echo tr(td(_('Total produit')).td($total_pro,'style="text-align:right"')); - - $diff=bcsub($total_pro,$total_charge); - - echo tr( td(_("Difference Produit - Charge"),'style="padding-right:20px"').td($diff,'style="text-align:right"'),'style="font-weight:bolder"'); - echo '
      '; - } - /*! - * \brief get data from the $_GET - * - */ - function get_request_get() - { - $this->b_id=(isset($_GET['b_id']))?$_GET['b_id']:""; - $this->from=( isset ($_GET['from_periode']))?$_GET['from_periode']:-1; - $this->to=( isset ($_GET['to_periode']))?$_GET['to_periode']:-1; - } - /*!\brief load from the database the document data */ - function load() - { - try - { - if ( $this->b_id=="") - throw new Exception(_("le formulaire id n'est pas donnee")); - - $sql="select b_name,b_file_template,b_file_form,lower(b_type) as b_type from bilan where". - " b_id = ".$this->b_id; - $res=$this->db->exec_sql($sql); - - if ( Database::num_row($res)==0) - throw new Exception (_('Aucun enregistrement trouve')); - $array=Database::fetch_array($res,0); - foreach ($array as $name=>$value) - $this->$name=$value; - - } - catch(Exception $Ex) - { - echo $Ex->getMessage(); - throw $Ex; - } - } - /*!\brief open the file of the form */ - /*\return an handle to this file */ - function file_open_form() - { - $form=fopen($this->b_file_form,'r'); - if ( $form == false) - { - echo 'Cannot Open'; - throw new Exception(_('Echec ouverture fichier '.$this->b_file_form)); - } - return $form; - } - /*!\brief open the file with the template */ - /*\return an handle to this file */ - function file_open_template() - { - $templ=fopen($this->b_file_template,'r'); - if ( $templ == false) - { - echo 'Cannot Open'; - throw new Exception(_('Echec ouverture fichier '.$this->b_file_template)); - } - return $templ; - - } - /*! - * \brief Compute all the formula - * \param $p_handle the handle to the file - * \param - * \param - * - * - * \return - */ - function compute_formula($p_handle) - { - while (! feof ($p_handle)) - { - $buffer=trim(fgets($p_handle)); - // $a=(Impress::check_formula($buffer) == true)?"$buffer ok
      ":''.'Pas ok '.$buffer."
      "; - // echo $a; - // blank line are skipped - if (strlen(trim($buffer))==0) - continue; - // skip comment - if ( strpos($buffer,'#') === true ) - continue; - // buffer contains a formula A$=.... - // We need to eval it - $a=Impress::parse_formula($this->db,"$buffer",$buffer,$this->from,$this->to,false); - $b=str_replace("$","\$this->",$a); - if ( eval("$b;") === false ) - echo_debug(__FILE__,__LINE__,"Code failed with $b"); - - - }// end read form line per line - } - /*!\brief generate the ods document - * \param the handle to the template file - * \return the xml - *@note - * Sur une seule ligne il y a plusieurs données, donc il y a plusieurs boucles, pour les autres documents - * cela devrait être fait aussi, actuellement ces documents, n'acceptent qu'une formule par ligne. - *@note - * Pas de header dans les entêtes car n'est pas compris dans le document qu'on utilise - */ - function generate_odt() - { - // create a temp directory in /tmp to unpack file and to parse it - $dirname=tempnam($_ENV['TMP'],'bilan_'); - - - unlink($dirname); - mkdir ($dirname); - chdir($dirname); - - $file_base=dirname($_SERVER['SCRIPT_FILENAME']).DIRECTORY_SEPARATOR.$this->b_file_template; - $work_file=basename($file_base); - if ( copy ($file_base,$work_file) == false ) - { - echo _("erreur Ouverture fichier"); - throw new Exception(_('Echec ouverture fichier '.$file_base)); - } - ob_start(); - /* unzip the document */ - $zip = new Zip_Extended; - if ($zip->open($work_file) === TRUE) - { - $zip->extractTo($dirname.DIRECTORY_SEPARATOR); - $zip->close(); - } else - { - echo __FILE__.":".__LINE__."cannot unzip model ".$filename; - } - - ob_end_clean(); - unlink($work_file); - // remove the zip file - $p_file=fopen('content.xml','r'); - - if ( $p_file == false) - { - throw new Exception(_('Echec ouverture fichier '.$p_file)); - } - - $r=""; - $regex="/<<\\$[A-Z]*[0-9]*>>/"; - $lt="<"; - $gt=">"; - $header_txt=header_txt($this->db); - - while ( !feof($p_file) ) - { - $line_rtf=fgets($p_file); - - /* - * replace the header tag, doesn't work if inside header - */ - $line_rtf=preg_replace('/<<header>>/',$header_txt,$line_rtf); - - - // the line contains the magic << - $tmp=""; - - - while (preg_match_all($regex,$line_rtf,$f2) > 0 ) - { - // the f2 array contains all the magic << in the line - foreach ($f2 as $f2_array) - { - foreach ($f2_array as $f2_str) - { - $to_remove=$f2_str; - $f2_value=str_replace("<","",$f2_str); - $f2_value=str_replace(">","",$f2_value); - $f2_value=str_replace("$","",$f2_value); - - - - // check for missing variables and labels (N vars) - if( ! isset($this->$f2_value)) - { - - $a = "!!".$f2_value."!!"; - if( substr($f2_value, 0, 1) == "N" ) - { - $ret = $this->db->get_array("SELECT pcm_lib AS acct_name FROM tmp_pcmn WHERE pcm_val::text LIKE ". - " substr($1, 2)||'%' ORDER BY pcm_val ASC LIMIT 1",array($f2_value)); - if($ret[0]['acct_name']) - { - $a = $ret[0]['acct_name']; - $a=str_replace('<','<',$a); - $a=str_replace('>','>',$a); - } - } - } - else - { - $a=$this->$f2_value; - } - if ( $a=='-0' ) $a=0; - - /* allow numeric cel in ODT for the formatting and formula */ - if ( is_numeric($a) ) - { - $searched='office:value-type="string">'.$f2_str; - $replaced='office:value-type="float" office:value="'.$a.'">'.$f2_str; - $line_rtf=str_replace($searched, $replaced, $line_rtf); - } - - - $line_rtf=str_replace($f2_str,$a,$line_rtf); - - }// foreach end - } // foreach - } // preg_match_all - $r.=$line_rtf; - - }// odt file is read - - return $r; - - } - - /*! - * \brief generate the plain file (rtf,txt, or html) - * \param the handle to the template file - */ - function generate_plain($p_file) - { - $r=""; - if ( $this->b_type=='html') - { - $lt='<'; - $gt='>'; - $pattern='/<<header>>/'; - } - else - { - $lt='<'; - $gt='>'; - $pattern='/<
      >/'; - } - - $header_txt=header_txt($this->db); - - while ( !feof($p_file) ) - { - $line_rtf=fgets($p_file); - - $line_rtf=preg_replace($pattern,$header_txt,$line_rtf); - - - // the line contains the magic << - if (preg_match_all("/".$lt.$lt."\\$[a-zA-Z]*[0-9]*".$gt.$gt."/",$line_rtf,$f2) > 0) - { - // DEBUG - // echo $r.'
      '; - // the f2 array contains all the magic << in the line - foreach ($f2 as $f2_str) - { - // DEBUG - // echo "single_f2 = $f2_str
      "; - // replace single_f2 by its value - $f2_value=str_replace($lt,"",$f2_str); - $f2_value=str_replace($gt,"",$f2_value); - $f2_value=str_replace("$","",$f2_value); - $f2_value=$f2_value[0]; - - // check for missing variables and labels (N vars) - if( ! isset($this->$f2_value)) - { - $a = "!!".$f2_value."!!"; - if( substr($f2_value, 0, 1) == "N" ) - { - $ret = $this->db->get_array("SELECT pcm_lib AS acct_name FROM tmp_pcmn WHERE ". - " pcm_val::text LIKE substr($1, 2)||'%' ORDER BY pcm_val ASC LIMIT 1", - array($f2_value)); - if($ret[0]['acct_name']) - { - /* for rtf we have the string to put it in latin1 */ - $a = utf8_decode($ret[0]['acct_name']); - } - } - } - else - { - // DEBUG - //echo "f2_value=$f2_value"; - // $a=${"$f2_value"}; - $a=$this->$f2_value; - } - // DEBUG echo " a = $a"; - if ( $a=='-0' ) $a=0; - $line_rtf=str_replace($f2_str,$a,$line_rtf); - - }// foreach end - } - $r.=$line_rtf; - - }// rtf file is read - // DEBUG - // fwrite($out,$r); - - return $r; - - - - - } - /*!\brief generate the document and send it to the browser - */ - function generate() - { - // Load the data - $this->load(); - // Open the files - $form=$this->file_open_form(); - - // Compute all the formula and add the value to this - $this->compute_formula($form); - fclose($form); - // open the form - $templ=$this->file_open_template(); - switch ($this->b_type) - { - case 'rtf': - $result=$this->generate_plain($templ); - $this->send($result); - break; - case 'txt': - $result=$this->generate_plain($templ); - $this->send($result); - case 'html': - $result=$this->generate_plain($templ); - $this->send($result); - - break; - case 'odt': - case 'ods': - $result=$this->generate_odt($templ); - $this->send($result); - break; - - } - fclose($templ); - } - /*!\brief send the result of generate plain to the browser - * \param $p_result is the string returned by generate_... - */ - function send($p_result) - { - switch ($this->b_type) - { - case 'rtf': - // A rtf file is generated - header('Content-type: application/rtf'); - header('Content-Disposition: attachment; filename="'.$this->b_name.'.rtf"'); - echo $p_result; - break; - - case 'txt': - // A txt file is generated - header('Content-type: application/txt'); - header('Content-Disposition: attachment; filename="'.$this->b_name.'.txt"'); - - echo $p_result; - break; - case 'html': - // A txt file is generated - header('Content-type: application/html'); - header('Content-Disposition: attachment; filename="'.$this->b_name.'.html"'); - - echo $p_result; - break; - case 'odt': - case 'ods': - header("Pragma: public"); - header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); - header("Cache-Control: must-revalidate"); - if ( $this->b_type == 'odt' ) - { - header('Content-type: application/vnd.oasis.opendocument.text'); - header('Content-Disposition: attachment;filename="'.$this->b_name.'.odt"',FALSE); - } - if ( $this->b_type == 'ods' ) - { - header('Content-type: application/vnd.oasis.opendocument.spreadsheet'); - header('Content-Disposition: attachment;filename="'.$this->b_name.'.ods"',FALSE); - } - - header("Accept-Ranges: bytes"); - ob_start(); - // save the file in a temp folder - // create a temp directory in /tmp to unpack file and to parse it - $dirname=tempnam($_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.'tmp','bilan_'); - - - unlink($dirname); - mkdir ($dirname); - chdir($dirname); - // create a temp directory in /tmp to unpack file and to parse it - $file_base=dirname($_SERVER['SCRIPT_FILENAME']).DIRECTORY_SEPARATOR.$this->b_file_template; - $work_file=basename($file_base); - if ( copy ($file_base,$work_file) == false ) - { - throw new Exception ( _("Ouverture fichier impossible")); - } - /* - * unzip the document - */ - ob_start(); - $zip = new Zip_Extended; - if ($zip->open($work_file) === TRUE) - { - $zip->extractTo($dirname.DIRECTORY_SEPARATOR); - $zip->close(); - } - else - { - echo __FILE__.":".__LINE__."cannot unzip model ".$filename; - } - - // Remove the file we do not need anymore - unlink ($work_file); - - - // replace the file - $p_file=fopen($dirname.DIRECTORY_SEPARATOR.'content.xml','wb'); - if ( $p_file == false ) - { - throw new Exception ( _("erreur Ouverture fichier").' content.xml'); - - } - $a=fwrite($p_file,$p_result); - if ( $a==false) - { - throw new Exception ( _("erreur écriture fichier").' content.xml'); - } - // repack - $zip = new Zip_Extended; - $res = $zip->open($this->b_name.".".$this->b_type, ZipArchive::CREATE); - if($res !== TRUE) - { - throw new Exception (__FILE__.":".__LINE__."cannot recreate zip"); - } - $zip->add_recurse_folder($dirname.DIRECTORY_SEPARATOR); - $zip->close(); - - ob_end_clean(); - fclose($p_file); - $fdoc=fopen($dirname.DIRECTORY_SEPARATOR.$this->b_name.'.'.$this->b_type,'r'); - if ( $fdoc == false ) - { - throw new Exception (_("erreur Ouverture fichier")); - } - $buffer=fread ($fdoc,filesize($dirname.DIRECTORY_SEPARATOR.$this->b_name.'.'.$this->b_type)); - echo $buffer; - - break; - // and send - } - - } - static function test_me() - { - - if ( isset($_GET['result'])) - { - ob_start(); - $cn=new Database(dossier::id()); - $a=new Acc_Bilan($cn); - $a->get_request_get(); - - $a->load(); - $form=$a->file_open_form(); - $a->compute_formula($form); - fclose($form); - // open the form - $templ=$a->file_open_template(); - $r=$a->generate_odt($templ); - fclose($templ); - ob_end_clean(); - - $a->send($r); - } - else - { - $cn=new Database(dossier::id()); - $a=new Acc_Bilan($cn); - $a->get_request_get(); - - echo '
      '; - echo $a->display_form(); - echo HtmlInput::hidden('test_select',$_GET['test_select']).dossier::hidden(); - echo HtmlInput::submit('result','Sauve'); - echo '
      '; - } - } -} - diff --git a/sources/include/class_acc_compute.php b/sources/include/class_acc_compute.php deleted file mode 100644 index a2282a2..0000000 --- a/sources/include/class_acc_compute.php +++ /dev/null @@ -1,350 +0,0 @@ -'amount', - 'amount_vat'=>'amount_vat', - 'amount_vat_rate'=>'amount_vat_rate', - 'nd_vat'=>'nd_vat', - 'nd_vat_rate'=>'nd_vat_rate', - 'nd_ded_vat'=>'nd_ded_vat', - 'nd_ded_vat_rate'=>'nd_ded_vat_rate', - 'amount_nd'=>'amount_nd', - 'amount_nd_rate'=>'amount_nd_rate', - 'nd_vat_rate'=>'nd_vat_rate', - 'amount_perso'=>'amount_perso', - 'amount_perso_rate'=>'amount_perso_rate' ); - - */ - - -class Acc_Compute -{ - private static $variable=array( 'amount'=>'amount', - 'amount_vat'=>'amount_vat', - 'amount_vat_rate'=>'amount_vat_rate', - 'nd_vat'=>'nd_vat', - 'nd_vat_rate'=>'nd_vat_rate', - 'nd_ded_vat'=>'nd_ded_vat', - 'nd_ded_vat_rate'=>'nd_ded_vat_rate', - 'amount_nd'=>'amount_nd', - 'amount_nd_rate'=>'amount_nd_rate', - 'nd_vat_rate'=>'nd_vat_rate', - 'amount_perso'=>'amount_perso', - 'amount_perso_rate'=>'amount_perso_rate' - ); - - private $order; // check that the compute - // function are called in the - // good order - - var $check; // activate the check of the - // order, valid value are - // false or true - function __construct () - { - bcscale(4); - foreach (self::$variable as $key=>$value) $this->$key=0; - $this->order=0; - $this->check=true; - } - - public function get_parameter($p_string) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - return $this->$idx; - } - else - throw new Exception (__FILE__.":".__LINE__._('Erreur attribut inexistant')); - } - public function set_parameter($p_string,$p_value) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - $this->$idx=$p_value; - } - else - throw new Exception (__FILE__.":".__LINE__._('Erreur attribut inexistant')); - - - } - public function get_info() - { - return var_export(self::$variable,true); - } - - function compute_vat() - { - if ( $this->check && $this->order != 0 ) throw new Exception ('ORDER NOT RESPECTED'); - $this->amount_vat=bcmul($this->amount,$this->amount_vat_rate); - $this->amount_vat=round($this->amount_vat,2); - $this->order=1; - } - /*!\brief Compute the no deductible part of the amount, it reduce - *also the vat - */ - function compute_nd() - { - if ( $this->check && $this->order > 2 ) throw new Exception ('ORDER NOT RESPECTED'); - - $this->amount_nd=bcmul($this->amount,$this->amount_nd_rate); - $this->amount_nd=bcdiv($this->amount_nd,100); - $this->amount_nd=round($this->amount_nd,2); - // the nd part for the vat - $nd_vat=bcmul($this->amount_vat,$this->amount_nd_rate); - $nd_vat=bcdiv($nd_vat,100); - $nd_vat=round($nd_vat,2); - - } - function compute_nd_vat() - { - if ( $this->check && $this->order > 3 ) throw new Exception ('ORDER NOT RESPECTED'); - $this->order=4; - - if ($this->amount_vat == 0 ) $this->compute_vat(); - $this->nd_vat=bcmul($this->amount_vat,$this->nd_vat_rate); - $this->nd_vat=bcdiv($this->nd_vat,100); - $this->nd_vat=round($this->nd_vat,2); - } - - function compute_ndded_vat() - { - if ( $this->check && $this->order > 4 ) throw new Exception ('ORDER NOT RESPECTED'); - $this->order=5; - - if ($this->amount_vat == 0 ) $this->compute_vat(); - $this->nd_ded_vat=bcmul($this->amount_vat,$this->nd_ded_vat_rate); - $this->nd_ded_vat=bcdiv($this->nd_ded_vat,100); - $this->nd_ded_vat=round($this->nd_ded_vat,2); - } - - function compute_perso() - { - if ( $this->check && $this->order != 1 ) throw new Exception ('ORDER NOT RESPECTED'); - $this->order=2; - if ( $this->amount == 0 ) return; - $this->amount_perso=bcmul($this->amount,$this->amount_perso_rate); - $this->amount_perso=bcdiv($this->amount_perso,100); - $this->amount_perso=round($this->amount_perso,2); - - - - } - function correct() - { - $this->amount=bcsub($this->amount,$this->amount_perso); - // correct the others amount - $this->amount=bcsub($this->amount,$this->amount_nd); - $this->amount_vat=bcsub($this->amount_vat,$this->nd_ded_vat); - $this->amount_vat=round($this->amount_vat,2); - $this->amount_vat=bcsub($this->amount_vat,$this->nd_vat); - $this->amount_vat=round($this->amount_vat,2); - - } - - /**! - * \brief verify that all the amount are positive or null - * otherwise throw a exception and the sum of amount + vat must - * equal to the sum of all the amount of the current object - * so you have to copy the object before computing anything and pass - * it as parameter - * \param compare with a object copied before computing, if null - * there is no comparison - */ - function verify($p_obj=null) - { - foreach (self::$variable as $key=>$value) - if ( $this->$value < 0 ) - throw new Exception (_("Montant invalide")); - - if ( $p_obj != null ) - { - $sum=0; - foreach ( array( 'amount','amount_vat','amount_nd','nd_vat','amount_perso','nd_ded_vat') as $value) - $sum=bcadd($sum,$this->$value); - if ( $p_obj->amount_vat == 0 ) $p_obj->compute_vat(); - $cmp=bcadd($p_obj->amount,$p_obj->amount_vat); - $diff=bcsub($sum,$cmp); - if ( $diff != 0.0 ) - throw new Exception (_("ECHEC VERIFICATION : valeur totale = $sum valeur attendue = $cmp diff = $diff")); - } - } - function display() - { - foreach (self::$variable as $key=>$value) - { - echo 'key '.$key.' Description '.$value.' value is '.$this->$key.'
      '; - } - } - public static function test_me () - { - $a=new Acc_Compute(); - echo $a->get_info(); - echo '
      '; - - // Compute some operation to see if the computed amount are - // correct - - //Test VAT - $a->set_parameter('amount',1.23); - $a->set_parameter('amount_vat_rate',0.21); - - echo '

      Test VAT

      '; - echo '

      Data

      '; - $a->display(); - - echo '

      Result

      '; - $a->compute_vat(); - $a->display(); - $a->verify(); - // Test VAT + perso - $a=new Acc_Compute(); - $a->set_parameter('amount',1.23); - $a->set_parameter('amount_vat_rate',0.21); - $a->set_parameter('amount_perso_rate',0.5); - echo '

      Test VAT + Perso

      '; - echo '

      Data

      '; - $a->display(); - $b=clone $a; - $a->compute_vat(); - $a->compute_perso(); - $a->correct(); - echo '

      Result

      '; - $a->display(); - $a->verify($b); - // TEST VAT + ND - // Test VAT + perso - $a=new Acc_Compute(); - $a->set_parameter('amount',1.23); - $a->set_parameter('amount_vat_rate',0.21); - $a->set_parameter('nd_vat_rate',0.5); - $b=clone $a; - echo '

      Test VAT + ND VAT

      '; - echo '

      Data

      '; - $a->display(); - $a->compute_vat(); - $a->compute_nd_vat(); - $a->correct(); - echo '

      Result

      '; - $a->display(); - $a->verify($b); - // TEST VAT + ND - // Test VAT + perso - $a=new Acc_Compute(); - $a->set_parameter('amount',1.23); - $a->set_parameter('amount_vat_rate',0.21); - $a->set_parameter('nd_vat_rate',0.5); - $a->set_parameter('amount_perso_rate',0.5); - - $b=clone $a; - echo '

      Test VAT + ND VAT + perso

      '; - echo '

      Data

      '; - $a->display(); - $a->compute_vat(); - $a->compute_perso(); - $a->compute_nd_vat(); - $a->correct(); - echo '

      Result

      '; - $a->display(); - $a->verify($b); - // TEST VAT + ND - $a=new Acc_Compute(); - $a->set_parameter('amount',1.23); - $a->set_parameter('amount_vat_rate',0.21); - $a->set_parameter('amount_nd_rate',0.5); - - $b=clone $a; - echo '

      Test VAT + ND

      '; - echo '

      Data

      '; - $a->display(); - $a->compute_vat(); - $a->compute_nd(); - - $a->compute_perso(); - $a->compute_nd_vat(); - $a->correct(); - echo '

      Result

      '; - $a->display(); - $a->verify($b); - // TEST VAT + ND - // + Perso - $a=new Acc_Compute(); - $a->set_parameter('amount',1.23); - $a->set_parameter('amount_vat_rate',0.21); - $a->set_parameter('amount_nd_rate',0.5); - $a->set_parameter('amount_perso_rate',0.2857); - $b=clone $a; - echo '

      Test VAT + ND + Perso

      '; - echo '

      Data

      '; - $a->display(); - $a->compute_vat(); - $a->compute_nd(); - - $a->compute_perso(); - $a->compute_nd_vat(); - $a->correct(); - echo '

      Result

      '; - $a->display(); - $a->verify($b); -// TEST VAT + ND - // + Perso - $a=new Acc_Compute(); - $a->set_parameter('amount',1.23); - $a->set_parameter('amount_vat_rate',0.21); - $a->set_parameter('nd_ded_vat_rate',0.5); - - $b=clone $a; - echo '

      Test VAT + TVA ND DED

      '; - echo '

      Data

      '; - $a->display(); - $a->compute_vat(); - $a->compute_nd(); - - $a->compute_perso(); - $a->compute_nd_vat(); - $a->compute_ndded_vat(); - $a->correct(); - echo '

      Result

      '; - $a->display(); - $a->verify($b); - - - } -} diff --git a/sources/include/class_acc_ledger.php b/sources/include/class_acc_ledger.php deleted file mode 100644 index 5326cf7..0000000 --- a/sources/include/class_acc_ledger.php +++ /dev/null @@ -1,3958 +0,0 @@ -id = $p_id; - $this->name = &$this->jrn_def_name; - $this->jrn_def_id = &$this->id; - $this->db = $p_cn; - $this->row = null; - $this->nb = MAX_ARTICLE; - } - - function get_last_pj() - { - if ($this->db->exist_sequence("s_jrn_pj" . $this->id)) - { - $ret = $this->db->get_array("select last_value,is_called from s_jrn_pj" . $this->id); - $last = $ret[0]['last_value']; - /** - * \note With PSQL sequence , the last_value column is 1 when before AND after the first call, to make the difference between them - * I have to check whether the sequence has been already called or not */ - if ($ret[0]['is_called'] == 'f') - $last--; - return $last; - } - else - $this->db->create_sequence("s_jrn_pj" . $this->id); - return 0; - } - - /** - * @brief Return the type of a ledger (ACH,VEN,ODS or FIN) or GL - * - */ - - function get_type() - { - if ($this->id == 0) - { - $this->name = _(" Tous les journaux"); - $this->type = "GL"; - return "GL"; - } - - $Res = $this->db->exec_sql("select jrn_def_type from " . - " jrn_def where jrn_def_id=" . - $this->id); - $Max = Database::num_row($Res); - if ($Max == 0) - return null; - $ret = Database::fetch_array($Res, 0); - $this->type = $ret['jrn_def_type']; - return $ret['jrn_def_type']; - } - - /** - * let you delete a operation - * @note by cascade it will delete also in - * - jrnx - * - stock - * - quant_purchase - * - quant_fin - * - quant_sold - * - operation_analytique - * - letter - * - reconciliation - * @bug the attached document is not deleted - * @bug Normally it should be named delete_operation, cause the id is the ledger_id - * (jrn_def_id) and not the operation id - */ - function delete() - { - if ($this->id == 0) - return; - $grpt_id = $this->db->get_value('select jr_grpt_id from jrn where jr_id=$1', array($this->jr_id)); - if ($this->db->count() == 0) - return; - $this->db->exec_sql('delete from jrnx where j_grpt=$1', array($grpt_id)); - $this->db->exec_sql('delete from jrn where jr_id=$1', array($this->jr_id)); - } - - /** - * Display warning contained in an array - * @return string with error message - */ - function display_warning($pa_msg, $p_warning) - { - $str = '

      ' . $p_warning; - $str.="

        "; - for ($i = 0; $i < count($pa_msg); $i++) - { - $str.="
      1. " . $pa_msg[$i] . "
      2. "; - } - $str.='
      '; - $str.='

      '; - return $str; - } - - /** - * reverse the operation by creating the opposite one, - * the result is to avoid it - * it must be done in - * - jrn - * - jrnx - * - quant_fin - * - quant_sold - * - quant_purchase - * - stock - * - ANC - * @param $p_date is the date of the reversed op - * @exception if date is invalid or other prob - * @note automatically create a reconciliation between operation - * You must set the ledger_id $this->jrn_def_id - * This function should be in operation or call an acc_operation object - * - */ - function reverse($p_date) - { - global $g_user; - try - { - $this->db->start(); - if (!isset($this->jr_id) || $this->jr_id == '') - throw new Exception(_("this->jr_id is not set ou opération inconnue")); - - /* check if the date is valid */ - if (isDate($p_date) == null) - throw new Exception(_('Date invalide') . $p_date); - - // if the operation is in a closed or centralized period - // the operation is voided thanks the opposite operation - $grp_new = $this->db->get_next_seq('s_grpt'); - $seq = $this->db->get_next_seq("s_jrn"); - $p_internal = $this->compute_internal_code($seq); - $this->jr_grpt_id = $this->db->get_value('select jr_grpt_id from jrn where jr_id=$1', array($this->jr_id)); - if ($this->db->count() == 0) - throw new Exception(_("Cette opération n'existe pas")); - $this->jr_internal = $this->db->get_value('select jr_internal from jrn where jr_id=$1', array($this->jr_id)); - if ($this->db->count() == 0 || trim($this->jr_internal) == '') - throw new Exception(_("Cette opération n'existe pas")); - - /* find the periode thanks the date */ - $per = new Periode($this->db); - $per->jrn_def_id = $this->id; - $per->find_periode($p_date); - - if ($per->is_open() == 0) - throw new Exception(_('PERIODE FERMEE')); - - - - - - // Mark the operation invalid into the ledger - // to avoid to nullify twice the same op. - $sql = "update jrn set jr_comment='extourne : '||jr_comment where jr_id=$1"; - $Res = $this->db->exec_sql($sql, array($this->jr_id)); - - // Check return code - if ($Res == false) - throw new Exception(__FILE__ . __LINE__ . "sql a echoue [ $sql ]"); - - ////////////////////////////////////////////////// - // Reverse in jrnx* tables - ////////////////////////////////////////////////// - $a_jid = $this->db->get_array("select j_id,j_debit from jrnx where j_grpt=$1", array($this->jr_grpt_id)); - for ($l = 0; $l < count($a_jid); $l++) - { - $row = $a_jid[$l]['j_id']; - // Make also the change into jrnx - $sql = "insert into jrnx ( - j_date,j_montant,j_poste,j_grpt, - j_jrn_def,j_debit,j_text,j_internal,j_tech_user,j_tech_per,j_qcode - ) select to_date($1,'DD.MM.YYYY'),j_montant,j_poste,$2, - j_jrn_def,not (j_debit),j_text,$3,$4,$5, - j_qcode - from - jrnx - where j_id=$6 returning j_id"; - $Res = $this->db->exec_sql($sql, array($p_date, $grp_new, $p_internal, $g_user->id, $per->p_id, $row)); - // Check return code - if ($Res == false) - throw (new Exception(__FILE__ . __LINE__ . "SQL ERROR [ $sql ]")); - $aj_id = $this->db->fetch(0); - $j_id = $aj_id['j_id']; - - /* automatic lettering */ - $let = new Lettering($this->db); - $let->insert_couple($j_id, $row); - - // reverse in QUANT_SOLD - $Res = $this->db->exec_sql("INSERT INTO quant_sold( - qs_internal, qs_fiche, qs_quantite, qs_price, qs_vat, - qs_vat_code, qs_client, qs_valid, j_id) - SELECT $1, qs_fiche, qs_quantite*(-1), qs_price*(-1), qs_vat*(-1), - qs_vat_code, qs_client, qs_valid, $2 - FROM quant_sold where j_id=$3", array($p_internal, $j_id, $row)); - - if ($Res == false) - throw new Exception(__FILE__ . __LINE__ . "sql a echoue [ $sql ]"); - $Res = $this->db->exec_sql("INSERT INTO quant_purchase( - qp_internal, j_id, qp_fiche, qp_quantite, qp_price, qp_vat, - qp_vat_code, qp_nd_amount, qp_nd_tva, qp_nd_tva_recup, qp_supplier, - qp_valid, qp_dep_priv) - SELECT $1, $2, qp_fiche, qp_quantite*(-1), qp_price*(-1), qp_vat*(-1), - qp_vat_code, qp_nd_amount*(-1), qp_nd_tva*(-1), qp_nd_tva_recup*(-1), qp_supplier, - qp_valid, qp_dep_priv*(-1) - FROM quant_purchase where j_id=$3", array($p_internal, $j_id, $row)); - - if ($Res == false) - throw new Exception(__FILE__ . __LINE__ . "SQL ERROR [ $sql ]"); - } - $sql = "insert into jrn ( - jr_id, - jr_def_id, - jr_montant, - jr_comment, - jr_date, - jr_grpt_id, - jr_internal - ,jr_tech_per, jr_valid - ) - select $1,jr_def_id,jr_montant,jr_comment, - to_date($2,'DD.MM.YYYY'),$3,$4, - $5, true - from - jrn - where jr_id=$6"; - $Res = $this->db->exec_sql($sql, array($seq, $p_date, $grp_new, $p_internal, $per->p_id, $this->jr_id)); - // Check return code - if ($Res == false) - throw (new Exception(__FILE__ . __LINE__ . "SQL ERROR [ $sql ]")); - // reverse in QUANT_FIN table - $Res = $this->db->exec_sql(" INSERT INTO quant_fin( - qf_bank, qf_other, qf_amount,jr_id) - SELECT qf_bank, qf_other, qf_amount*(-1),$1 - FROM quant_fin where jr_id=$2", array($seq, $this->jr_id)); - if ($Res == false) - throw (new Exception(__FILE__ . __LINE__ . "SQL ERROR[ $sql ]")); - - // Add a "concerned operation to bound these op.together - // - $rec = new Acc_Reconciliation($this->db); - $rec->set_jr_id($seq); - $rec->insert($this->jr_id); - - // Check return code - if ($Res == false) - { - throw (new Exception(__FILE__ . __LINE__ . "SQL ERROR [ $sql ]")); - } - - - - // the table stock must updated - // also in the stock table - $sql = "delete from stock_goods where sg_id = any ( select sg_id - from stock_goods natural join jrnx where j_grpt=" . $this->jr_grpt_id . ")"; - $Res = $this->db->exec_sql($sql); - if ($Res == false) - throw (new Exception(__FILE__ . __LINE__ . "SQL ERROR [ $sql ]")); - $this->db->commit(); - } - catch (Exception $e) - { - $this->db->rollback(); - throw $e; - } - } - - /** - * @brief Return the name of a ledger - * - */ - - function get_name() - { - if ($this->id == 0) - { - $this->name = _("Grand Livre"); - return $this->name; - } - - $Res = $this->db->exec_sql("select jrn_def_name from " . - " jrn_def where jrn_def_id=$1", array($this->id)); - $Max = Database::num_row($Res); - if ($Max == 0) - return null; - $ret = Database::fetch_array($Res, 0); - $this->name = $ret['jrn_def_name']; - return $ret['jrn_def_name']; - } - - /** \function get_row - * @brief Get The data - * - * - * @paramp_from from periode - * @paramp_to to periode - * @paramp_limit starting line - * @paramp_offset number of lines - * \return Array with the asked data - * - */ - - function get_row($p_from, $p_to, $p_limit = -1, $p_offset = -1) - { - global $g_user; - $periode = sql_filter_per($this->db, $p_from, $p_to, 'p_id', 'jr_tech_per'); - - $cond_limite = ($p_limit != -1) ? " limit " . $p_limit . " offset " . $p_offset : ""; - // retrieve the type - $this->get_type(); - // Grand livre == 0 - if ($this->id != 0) - { - $Res = $this->db->exec_sql("select jr_id,j_id,j_id as int_j_id,to_char(j_date,'DD.MM.YYYY') as j_date, - jr_internal, - case j_debit when 't' then j_montant::text else ' ' end as deb_montant, - case j_debit when 'f' then j_montant::text else ' ' end as cred_montant, - j_debit as debit,j_poste as poste,jr_montant , " . - "case when j_text='' or j_text is null then pcm_lib else j_text end as description,j_grpt as grp, - jr_comment||' ('||jr_internal||')' as jr_comment, - jr_pj_number, - j_qcode, - jr_rapt as oc, j_tech_per as periode - from jrnx left join jrn on " . - "jr_grpt_id=j_grpt " . - " left join tmp_pcmn on pcm_val=j_poste " . - " where j_jrn_def=" . $this->id . - " and " . $periode . " order by j_date::date asc,substring(jr_pj_number,'[0-9]+$')::numeric asc,j_grpt,j_debit desc " . - $cond_limite); - } - else - { - $Res = $this->db->exec_sql("select jr_id,j_id,j_id as int_j_id,to_char(j_date,'DD.MM.YYYY') as j_date, - jr_internal, - case j_debit when 't' then j_montant::text else ' ' end as deb_montant, - case j_debit when 'f' then j_montant::text else ' ' end as cred_montant, - j_debit as debit,j_poste as poste," . - "case when j_text='' or j_text is null then pcm_lib else j_text end as description,j_grpt as grp, - jr_comment||' ('||jr_internal||')' as jr_comment, - jr_pj_number, - jr_montant, - j_qcode, - jr_rapt as oc, j_tech_per as periode from jrnx left join jrn on " . - "jr_grpt_id=j_grpt left join tmp_pcmn on pcm_val=j_poste - join jrn_def on (jr_def_id=jrn_def_id) - where " . - $g_user->get_ledger_sql() . " and " . - " " . $periode . " order by j_date::date,substring(jr_pj_number,'[0-9]+$') asc,j_grpt,j_debit desc " . - $cond_limite); - } - - - $array = array(); - $Max = Database::num_row($Res); - if ($Max == 0) - return null; - $case = ""; - $tot_deb = 0; - $tot_cred = 0; - $row = Database::fetch_all($Res); - for ($i = 0; $i < $Max; $i++) - { - $fiche = new Fiche($this->db); - $line = $row[$i]; - $mont_deb = ($line['deb_montant'] != 0) ? sprintf("% 8.2f", $line['deb_montant']) : ""; - $mont_cred = ($line['cred_montant'] != 0) ? sprintf("% 8.2f", $line['cred_montant']) : ""; - $jr_montant = ($line['jr_montant'] != 0) ? sprintf("% 8.2f", $line['jr_montant']) : ""; - $tot_deb+=$line['deb_montant']; - $tot_cred+=$line['cred_montant']; - $tot_op = $line['jr_montant']; - - /* Check first if there is a quickcode */ - if (strlen(trim($line['description'])) == 0 && strlen(trim($line['j_qcode'])) != 0) - { - if ($fiche->get_by_qcode($line['j_qcode'], false) == 0) - { - $line['description'] = $fiche->strAttribut(ATTR_DEF_NAME); - } - } - if ($case != $line['grp']) - { - $case = $line['grp']; - // for financial, we show if the amount is or not in negative - if ($this->type == 'FIN') - { - $amount = $this->db->get_value('select qf_amount from quant_fin where jr_id=$1', array($line['jr_id'])); - /* if nothing is found */ - if ($this->db->count() == 0) - $tot_op = $jr_montant; - else if ($amount < 0) - { - $tot_op = $amount; - } - } - $array[] = array( - 'jr_id' => $line['jr_id'], - 'int_j_id' => $line['int_j_id'], - 'j_id' => $line['j_id'], - 'j_date' => $line['j_date'], - 'internal' => $line['jr_internal'], - 'deb_montant' => '', - 'cred_montant' => ' ', - 'description' => '' . h($line['jr_comment']) . ' [' . $tot_op . '] ', - 'poste' => $line['oc'], - 'qcode' => $line['j_qcode'], - 'periode' => $line['periode'], - 'jr_pj_number' => $line ['jr_pj_number']); - - $array[] = array( - 'jr_id' => '', - 'int_j_id' => $line['int_j_id'], - 'j_id' => '', - 'j_date' => '', - 'internal' => '', - 'deb_montant' => $mont_deb, - 'cred_montant' => $mont_cred, - 'description' => $line['description'], - 'poste' => $line['poste'], - 'qcode' => $line['j_qcode'], - 'periode' => $line['periode'], - 'jr_pj_number' => '' - ); - } - else - { - $array[] = array( - 'jr_id' => $line['jr_id'], - 'int_j_id' => $line['int_j_id'], - 'j_id' => '', - 'j_date' => '', - 'internal' => '', - 'deb_montant' => $mont_deb, - 'cred_montant' => $mont_cred, - 'description' => $line['description'], - 'poste' => $line['poste'], - 'qcode' => $line['j_qcode'], - 'periode' => $line['periode'], - 'jr_pj_number' => ''); - } - } - $this->row = $array; - $a = array($array, $tot_deb, $tot_cred); - return $a; - } - - /** @brief Get simplified row from ledger - * - * @param p_from periode - * @param p_to periode - * @param p_limit starting line - * @param p_offset number of lines - * @param trunc if data must be truncated (pdf export) - * - * \return an Array with the asked data - */ - - function get_rowSimple($p_from, $p_to, $trunc = 0, $p_limit = -1, $p_offset = -1) - { - global $g_user; - // Grand-livre : id= 0 - //--- - $jrn = ($this->id == 0 ) ? "and " . $g_user->get_ledger_sql() : "and jrn_def_id = " . $this->id; - - $periode = sql_filter_per($this->db, $p_from, $p_to, 'p_id', 'jr_tech_per'); - - $cond_limite = ($p_limit != -1) ? " limit " . $p_limit . " offset " . $p_offset : ""; - //--- - $sql = " - SELECT jrn.jr_id as jr_id , - jrn.jr_id as num , - jrn.jr_def_id as jr_def_id, - jrn.jr_montant as montant, - substr(jrn.jr_comment,1,35) as comment, - to_char(jrn.jr_date,'DD-MM-YYYY') as date, - to_char(jrn.jr_date_paid,'DD-MM-YYYY') as date_paid, - jr_pj_number, - jr_internal, - jrn.jr_grpt_id as grpt_id, - jrn.jr_pj_name as pj, - jrn_def_type, - jrn.jr_tech_per - FROM jrn join jrn_def on (jrn_def_id=jr_def_id) - WHERE $periode $jrn order by jr_date,substring(jrn.jr_pj_number,'[0-9]+$')::numeric asc $cond_limite"; - - $Res = $this->db->exec_sql($sql); - $Max = Database::num_row($Res); - if ($Max == 0) - { - return null; - } - $type = $this->get_type(); - // for type ACH and Ven we take more info - if ($type == 'ACH' || $type == 'VEN') - { - $a_ParmCode = $this->db->get_array('select p_code,p_value from parm_code'); - $a_TVA = $this->db->get_array('select tva_id,tva_label,tva_poste - from tva_rate where tva_rate != 0 order by tva_rate,tva_label,tva_id '); - for ($i = 0; $i < $Max; $i++) - { - $array[$i] = Database::fetch_array($Res, $i); - $p = $this->get_detail($array[$i], $type, $trunc, $a_TVA, $a_ParmCode); - if ($array[$i]['dep_priv'] != 0.0) - { - $array[$i]['comment'].="(priv. " . $array[$i]['dep_priv'] . ")"; - } - } - } - else - { - $array = Database::fetch_all($Res); - } - - return $array; - } - -// end function get_rowSimple - - /** - * @brief guess what the next pj should be - */ - - function guess_pj() - { - $prop = $this->get_propertie(); - $pj_pref = $prop["jrn_def_pj_pref"]; - $pj_seq = $this->get_last_pj() + 1; - return $pj_pref . $pj_seq; - } - - /** - * @brief Show all the operation - * @param$sql is the sql stmt, normally created by build_search_sql - * @param$offset the offset - * @param$p_paid if we want to see info about payment - @code - // Example - // Build the sql - list($sql,$where)=$Ledger->build_search_sql($_GET); - // Count nb of line - $max_line=$this->db->count_sql($sql); - - $step=$_SESSION['g_pagesize']; - $page=(isset($_GET['offset']))?$_GET['page']:1; - $offset=(isset($_GET['offset']))?$_GET['offset']:0; - // create the nav. bar - $bar=navigation_bar($offset,$max_line,$step,$page); - // show a part - list($count,$html)= $Ledger->list_operation($sql,$offset,0); - echo $html; - // show nav bar - echo $bar; - - @endcode - * @see build_search_sql - * @see display_search_form - * @see search_form - - * @return HTML string - */ - - public function list_operation_to_reconcile($sql,$p_target) - { - global $g_parameter, $g_user; - $gDossier = dossier::id(); - $limit = " LIMIT ".MAX_RECONCILE; - // Sort - // Count - $count = $this->db->count_sql($sql); - // Add the limit - $sql.=" order by jr_date asc " . $limit; - - // Execute SQL stmt - $Res = $this->db->exec_sql($sql); - - //starting from here we can refactor, so that instead of returning the generated HTML, - //this function returns a tree structure. - - $r = ""; - - - $Max = Database::num_row($Res); - - if ($Max == 0) - return array(0, _("Aucun enregistrement trouvé")); - $r.=HtmlInput::hidden("target", $p_target); - $r.=''; - - - $r.=""; - $r.=""; - $r.=""; - - if ($this->type == 'ALL') - { - $r.=th(_('Journal')); - } - - $r.=''; - $r.=''; - $r.=th(_('Notes'), ' '); - $r.=''; - $r.=""; - $r.=""; - // Total Amount - $tot = 0.0; - $gDossier = dossier::id(); - $str_dossier = Dossier::id(); - for ($i = 0; $i < $Max; $i++) - { - - - $row = Database::fetch_array($Res, $i); - - if ($i % 2 == 0) - $tr = ''; - else - $tr = ''; - $r.=$tr; - // Radiobox - // - - $r.=''; - //internal code - // button modify - $r.=""; - if ($this->type == 'ALL') - $r.=td($row['jrn_def_name']); - // date - $r.=""; - - // pj - $r.=""; - - // Tiers - $other = ($row['quick_code'] != '') ? '[' . $row['quick_code'] . '] ' . $row['name'] . ' ' . $row['first_name'] : ''; - $r.=td($other); - // comment - $r.=""; - $r.=td(h($row['n_text']), ' style="font-size:0.87em"'); - // Amount - // If the ledger is financial : - // the credit must be negative and written in red - $positive = 0; - - // Check ledger type : - if ($row['jrn_def_type'] == 'FIN') - { - $positive = $this->db->get_value("select qf_amount from quant_fin where jr_id=$1", array($row['jr_id'])); - if ($this->db->count() != 0) - $positive = ($positive < 0) ? 1 : 0; - } - $r.=""; - - - - // Rapprochement - $rec = new Acc_Reconciliation($this->db); - $rec->set_jr_id($row['jr_id']); - $a = $rec->get(); - $r.=""; - - if ($row['jr_valid'] == 'f') - { - $r.=""; - } - // end row - $r.=""; - } - $r.='
      "._("Selection").""._("Internal")."'._("Date").''._("Pièce").''; - $r.=th(_('tiers')); - $r.=''._("Description").''._("Montant").'" . _('Concerne') . "
      "; - // If url contains - // - - $href = basename($_SERVER['PHP_SELF']); - - - $r.=sprintf('%s ', $row['jr_id'], $gDossier, $row['jr_internal']); - $r.=""; - $r.=$row['str_jr_date']; - $r.=""; - $r.=$row['jr_pj_number']; - $r.=""; - $tmp_jr_comment = h($row['jr_comment']); - $r.=$tmp_jr_comment; - $r.=""; - - $r.=( $positive != 0 ) ? " - " . nbm($row['jr_montant']) . "" : nbm($row['jr_montant']); - $r.=""; - if ($a != null) - { - - foreach ($a as $key => $element) - { - $operation = new Acc_Operation($this->db); - $operation->jr_id = $element; - $l_amount = $this->db->get_value("select jr_montant from jrn " . - " where jr_id=$element"); - $r.= " " . $operation->get_internal() . "[" . nbm($l_amount) . "]"; - }//for - }// if ( $a != null ) { - $r.=""._("Opération annulée")."
      '; - return array($count, $r); - } - - /** - * @brief Show all the operation - * @param$sql is the sql stmt, normally created by build_search_sql - * @param$offset the offset - * @param$p_paid if we want to see info about payment - \code - // Example - // Build the sql - list($sql,$where)=$Ledger->build_search_sql($_GET); - // Count nb of line - $max_line=$cn->count_sql($sql); - - $step=$_SESSION['g_pagesize']; - $page=(isset($_GET['offset']))?$_GET['page']:1; - $offset=(isset($_GET['offset']))?$_GET['offset']:0; - // create the nav. bar - $bar=navigation_bar($offset,$max_line,$step,$page); - // show a part - list($count,$html)= $Ledger->list_operation($sql,$offset,0); - echo $html; - // show nav bar - echo $bar; - - \endcode - * \see build_search_sql - * \see display_search_form - * \see search_form - - * \return HTML string - */ - - public function list_operation($sql, $offset, $p_paid = 0) - { - global $g_parameter, $g_user; - bcscale(2); - $table = new Sort_Table(); - $gDossier = dossier::id(); - $amount_paid = 0.0; - $amount_unpaid = 0.0; - $limit = ($_SESSION['g_pagesize'] != -1) ? " LIMIT " . $_SESSION['g_pagesize'] : ""; - $offset = ($_SESSION['g_pagesize'] != -1) ? " OFFSET " . Database::escape_string($offset) : ""; - $order = " order by jr_date_order asc,jr_internal asc"; - // Sort - $url = "?" . CleanUrl(); - $str_dossier = dossier::get(); - $table->add(_("Date"), $url, 'order by jr_date asc,substring(jr_pj_number,\'[0-9]+$\')::numeric asc', 'order by jr_date desc,substring(jr_pj_number,\'[0-9]+$\')::numeric desc', "da", "dd"); - $table->add(_('Echeance'), $url, " order by jr_ech asc", " order by jr_ech desc", 'ea', 'ed'); - $table->add(_('Paiement'), $url, " order by jr_date_paid asc", " order by jr_date_paid desc", 'eap', 'edp'); - $table->add(_('Pièce'), $url, ' order by substring(jr_pj_number,\'[0-9]+$\')::numeric asc ', ' order by substring(jr_pj_number,\'[0-9]+$\')::numeric desc ', "pja", "pjd"); - $table->add(_('Tiers'), $url, " order by name asc", " order by name desc", 'na', 'nd'); - $table->add(_('Montant'), $url, " order by jr_montant asc", " order by jr_montant desc", "ma", "md"); - $table->add(_("Description"), $url, "order by jr_comment asc", "order by jr_comment desc", "ca", "cd"); - - $ord = (!isset($_GET['ord'])) ? 'da' : $_GET['ord']; - $order = $table->get_sql_order($ord); - - // Count - $count = $this->db->count_sql($sql); - // Add the limit - $sql.=$order . $limit . $offset; - // Execute SQL stmt - $Res = $this->db->exec_sql($sql); - - //starting from here we can refactor, so that instead of returning the generated HTML, - //this function returns a tree structure. - - $r = ""; - - - $Max = Database::num_row($Res); - - if ($Max == 0) - return array(0, _("Aucun enregistrement trouvé")); - - $r.=''; - - - $r.=""; - $r.=""; - if ($this->type == 'ALL') - { - $r.=th('Journal'); - } - $r.=''; - if ($p_paid != 0 ) $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=th('Notes', ' style="width:15%"'); - $r.=''; - // if $p_paid is not equal to 0 then we have a paid column - if ($p_paid != 0) - { - $r.=""; - } - $r.=""; - $r.=""; - $r.=""; - // Total Amount - $tot = 0.0; - $gDossier = dossier::id(); - for ($i = 0; $i < $Max; $i++) - { - - - $row = Database::fetch_array($Res, $i); - - if ($i % 2 == 0) - $tr = ''; - else - $tr = ''; - $r.=$tr; - //internal code - // button modify - $r.=""; - if ($this->type == 'ALL') - $r.=td($row['jrn_def_name']); - // date - $r.=""; - // echeance - if ($p_paid != 0 ) - { - $r.=""; - $r.=""; - } - - // pj - $r.=""; - - // Tiers - $other = ($row['quick_code'] != '') ? '[' . $row['quick_code'] . '] ' . $row['name'] . ' ' . $row['first_name'] : ''; - $r.=td($other); - // comment - $r.=""; - $r.=td(h($row['n_text']), ' style="font-size:0.87em%"'); - // Amount - // If the ledger is financial : - // the credit must be negative and written in red - $positive = 0; - - // Check ledger type : - if ($row['jrn_def_type'] == 'FIN') - { - $positive = $this->db->get_value("select qf_amount from quant_fin where jr_id=$1", array($row['jr_id'])); - if ($this->db->count() != 0) - $positive = ($positive < 0) ? 1 : 0; - } - $r.=""; - - - // Show the paid column if p_paid is not null - if ($p_paid != 0) - { - $w = new ICheckBox(); - $w->name = "rd_paid" . $row['jr_id']; - $w->selected = ($row['jr_rapt'] == 'paid') ? true : false; - // if p_paid == 2 then readonly - $w->readonly = ( $p_paid == 2) ? true : false; - $h = new IHidden(); - $h->name = "set_jr_id" . $row['jr_id']; - $r.=''; - if ($row['jr_rapt'] == 'paid') - $amount_paid=bcadd($amount_paid,$t_amount); - else - $amount_unpaid=bcadd($amount_unpaid,$t_amount); - } - - // Rapprochement - $rec = new Acc_Reconciliation($this->db); - $rec->set_jr_id($row['jr_id']); - $a = $rec->get(); - $r.=""; - - if ($row['jr_valid'] == 'f') - { - $r.=""; - } - else - { - - } // else - //document - if ($row['jr_pj_name'] != "") - { - $r.=''; - } - else - $r.=""; - - // end row - $r.=""; - } - $amount_paid = round($amount_paid, 4); - $amount_unpaid = round($amount_unpaid, 4); - $tot = round($tot, 4); - $r.=""; - $r.=''; - $r.='"; - $r.=""; - if ($p_paid != 0) - { - $r.=""; - $r.=''; - $r.='"; - $r.=""; - $r.=""; - $r.=''; - $r.='"; - $r.=""; - } - $r.="
      "._("n° interne")."' . $table->get_header(0) . '' . $table->get_header(1) . ''; - if ($p_paid != 0 ) $r.='' . $table->get_header(2) . '' . $table->get_header(3) . '' . $table->get_header(4) . '' . $table->get_header(6) . '' . $table->get_header(5) . ' " . _('Payé') . "" . _('Concerne') . "" . _('Document') . "
      "; - // If url contains - // - - $href = basename($_SERVER['PHP_SELF']); - - - $r.=sprintf('%s ', $row['jr_id'], $gDossier, $row['jr_internal']); - $r.=""; - $r.=$row['str_jr_date']; - $r.=""; - $r.=$row['str_jr_ech']; - $r.=""; - $r.=$row['str_jr_date_paid']; - $r.=""; - $r.=$row['jr_pj_number']; - $r.=""; - $tmp_jr_comment = h($row['jr_comment']); - $r.=$tmp_jr_comment; - $r.=""; - $t_amount=$row['jr_montant']; - if ($row['total_invoice'] != null && $row['total_invoice'] != $row['jr_montant']) - $t_amount=$row['total_invoice']; - $tot = ($positive != 0) ? bcsub($tot , $t_amount ): bcadd($tot , $t_amount); - //STAN $positive always == 0 - if ($row [ 'jrn_def_type']=='FIN') - { - $r.=( $positive != 0 ) ? " - " . nbm($t_amount) . "" : nbm($t_amount); - } - else - { - $r.=( $t_amount < 0 ) ? " " . nbm($t_amount) . "" : nbm($t_amount); - } - $r.="' . $w->input() . $h->input() . '"; - if ($a != null) - { - - foreach ($a as $key => $element) - { - $operation = new Acc_Operation($this->db); - $operation->jr_id = $element; - $l_amount = $this->db->get_value("select jr_montant from jrn " . - " where jr_id=$element"); - $r.= " " . $operation->get_internal() . "[" . nbm($l_amount) . "]"; - }//for - }// if ( $a != null ) { - $r.=""._("Opération annulée")."'.HtmlInput::show_receipt_document($row['jr_id']).'
      Total' . nbm($tot) . "
      '._("Payé").'' . nbm($amount_paid) . "
      '._("Non payé").'' . nbm($amount_unpaid) . "
      "; - - return array($count, $r); - } - - /** - * @brief get_detail gives the detail of row - * this array must contains at least the field - *
        - *
      • montant
      • - *
      • grpt_id - *
      - * the following field will be added - *
        - *
      • HTVA - *
      • TVAC - *
      • TVA array with - *
          - *
        • field 0 idx - *
        • array containing tva_id,tva_label and tva_amount - *
        - *
      - * - * @paramp_array the structure is set in get_rowSimple, this array is - * modified, - * @param $trunc if the data must be truncated, usefull for pdf export - * @paramp_jrn_type is the type of the ledger (ACH or VEN) - * @param $a_TVA TVA Array (default null) - * @param $a_ParmCode Array (default null) - * \return p_array - */ - - function get_detail(&$p_array, $p_jrn_type, $trunc = 0, $a_TVA = null, $a_ParmCode = null) - { - bcscale(2); - - if ($a_TVA == null) - { - //Load TVA array - $a_TVA = $this->db->get_array('select tva_id,tva_label,tva_poste - from tva_rate where tva_rate != 0 order by tva_rate,tva_label,tva_id'); - } - if ($a_ParmCode == null) - { - //Load Parm_code - $a_ParmCode = $this->db->get_array('select p_code,p_value from parm_code'); - } - // init - $p_array['client'] = ""; - $p_array['TVAC'] = 0; - $p_array['TVA'] = array(); - $p_array['AMOUNT_TVA'] = 0.0; - $p_array['dep_priv'] = 0; - $p_array['dna'] = 0; - $p_array['tva_dna'] = 0; - $p_array['tva_np'] = 0; - $dep_priv = 0.0; - - // - // Retrieve data from jrnx - $sql = "select j_id,j_poste,j_montant, j_debit,j_qcode from jrnx where " . - " j_grpt=" . $p_array['grpt_id']; - $Res2 = $this->db->exec_sql($sql); - $data_jrnx = Database::fetch_all($Res2); - $c = 0; - - // Parse data from jrnx and fill diff. field - foreach ($data_jrnx as $code) - { - $idx_tva = 0; - $poste = new Acc_Account_Ledger($this->db, $code['j_poste']); - - // if card retrieve name if the account is not a VAT account - if (strlen(trim($code['j_qcode'])) != 0 && $poste->isTva() == 0) - { - $fiche = new Fiche($this->db); - $fiche->get_by_qcode(trim($code['j_qcode']), false); - $fiche_def_id = $fiche->get_fiche_def_ref_id(); - // Customer or supplier - if ($fiche_def_id == FICHE_TYPE_CLIENT || - $fiche_def_id == FICHE_TYPE_FOURNISSEUR - ||$fiche_def_id == FICHE_TYPE_ADM_TAX) - { - $p_array['TVAC'] = $code['j_montant']; - - $p_array['client'] = ($trunc == 0) ? $fiche->getName() : mb_substr($fiche->getName(), 0, 20); - $p_array['reversed'] = false; - if ($fiche_def_id == FICHE_TYPE_CLIENT && $code['j_debit'] == 'f') - { - $p_array['reversed'] = true; - $p_array['TVAC']*=-1; - } - if ($fiche_def_id == FICHE_TYPE_ADM_TAX && $code['j_debit'] == 'f') - { - $p_array['reversed'] = true; - $p_array['TVAC']*=-1; - } - if ($fiche_def_id == FICHE_TYPE_FOURNISSEUR && $code['j_debit'] == 't') - { - $p_array['reversed'] = true; - $p_array['TVAC']*=-1; - } - } - else - { - // if we use the ledger ven / ach for others card than supplier and customer - if ($fiche_def_id != FICHE_TYPE_VENTE && - $fiche_def_id != FICHE_TYPE_ACH_MAR && - $fiche_def_id != FICHE_TYPE_ACH_SER && - $fiche_def_id != FICHE_TYPE_ACH_MAT - ) - { - $p_array['TVAC'] = $code['j_montant']; - - $p_array['client'] = ($trunc == 0) ? $fiche->getName() : mb_substr($fiche->getName(), 0, 20); - $p_array['reversed'] = false; - if ($p_jrn_type == 'ACH' && $code['j_debit'] == 't') - { - $p_array['reversed'] = true; - $p_array['TVAC']*=-1; - } - if ($p_jrn_type == 'VEN' && $code['j_debit'] == 'f') - { - $p_array['reversed'] = true; - $p_array['TVAC']*=-1; - } - } - } - } - // if TVA, load amount, tva id and rate in array - foreach ($a_TVA as $line_tva) - { - list($tva_deb, $tva_cred) = explode(',', $line_tva['tva_poste']); - if ($code['j_poste'] == $tva_deb || - $code['j_poste'] == $tva_cred) - { - - // For the reversed operation - if ($p_jrn_type == 'ACH' && $code['j_debit'] == 'f') - { - $code['j_montant'] = -1 * $code['j_montant']; - } - if ($p_jrn_type == 'VEN' && $code['j_debit'] == 't') - { - $code['j_montant'] = -1 * $code['j_montant']; - } - - $p_array['AMOUNT_TVA']+=$code['j_montant']; - - $p_array['TVA'][$c] = array($idx_tva, array($line_tva['tva_id'], $line_tva['tva_label'], $code['j_montant'])); - $c++; - - $idx_tva++; - } - } - - // isDNA - // If operation is reversed then amount are negatif - /* if ND */ - if ($p_array['jrn_def_type'] == 'ACH') - { - $purchase = new Gestion_Purchase($this->db); - $purchase->search_by_jid($code['j_id']); - $purchase->load(); - $dep_priv+=$purchase->qp_dep_priv; - $p_array['dep_priv'] = $dep_priv; - $p_array['dna']=bcadd($p_array['dna'],$purchase->qp_nd_amount); - $p_array['tva_dna']=bcadd($p_array['tva_dna'],bcadd($purchase->qp_nd_tva,$purchase->qp_nd_tva_recup)); - $p_array['tva_np']=bcadd($purchase->qp_vat_sided,$p_array['tva_np']); - } - if ($p_array['jrn_def_type'] == 'VEN') { - $sold=new gestion_sold($this->db); - $sold->search_by_jid($code['j_id']); - $sold->load(); - $p_array['tva_np']=bcadd($sold->qs_vat_sided,$p_array['tva_np']); - } - - - } - $p_array['TVAC'] = sprintf('% 10.2f', $p_array['TVAC'] ); - $p_array['HTVA'] = sprintf('% 10.2f', $p_array['TVAC'] - $p_array['AMOUNT_TVA']-$p_array['tva_dna']); - $r = ""; - $a_tva_amount = array(); - // inline TVA (used for the PDF) - foreach ($p_array['TVA'] as $linetva) - { - foreach ($a_TVA as $tva) - { - if ($tva['tva_id'] == $linetva[1][0]) - { - $a = $tva['tva_id']; - $a_tva_amount[$a] = $linetva[1][2]; - } - } - } - foreach ($a_TVA as $line_tva) - { - $a = $line_tva['tva_id']; - if (isset($a_tva_amount[$a])) - { - $tmp = sprintf("% 10.2f", $a_tva_amount[$a]); - $r.="$tmp"; - } - else - $r.=sprintf("% 10.2f", 0); - } - $p_array['TVA_INLINE'] = $r; - - return $p_array; - } - -// retrieve data from jrnx - /** - * @brief Get the properties of a journal - * - * \return an array containing properties - * - */ - - function get_propertie() - { - if ($this->id == 0) - return; - - $Res = $this->db->exec_sql("select jrn_Def_id,jrn_def_name,jrn_def_class_deb,jrn_def_class_cred,jrn_def_type, - jrn_deb_max_line,jrn_cred_max_line,jrn_def_ech,jrn_def_ech_lib,jrn_def_code, - jrn_def_fiche_deb,jrn_def_fiche_cred,jrn_def_pj_pref - from jrn_Def - where jrn_def_id=$1", array($this->id)); - $Count = Database::num_row($Res); - if ($Count == 0) - { - echo '

      ' . _('Parametres journaux non trouves') . '

    26. '; - return null; - } - return Database::fetch_array($Res, 0); - } - - /** \function GetDefLine - * @brief Get the number of lines of a journal - * @param$p_cred deb or cred - * - * \return an integer - */ - - function GetDefLine() - { - $sql_cred = 'jrn_deb_max_line'; - $sql = "select jrn_deb_max_line as value from jrn_def where jrn_def_id=$1"; - $r = $this->db->exec_sql($sql, array($this->id)); - $Res = Database::fetch_all($r); - if (sizeof($Res) == 0) - return 1; - return $Res[0]['value']; - } - - /** - * @brief get the saldo of a ledger for a specific period - * @param$p_from start period - * @param$p_to end period - */ - - function get_solde($p_from, $p_to) - { - $ledger = ""; - if ($this->id != 0) - { - $ledger = " and j_jrn_def = " . $this->id; - } - - $periode = sql_filter_per($this->db, $p_from, $p_to, 'p_id', 'j_tech_per'); - $sql = 'select j_montant as montant,j_debit as deb from jrnx where ' - . $periode . $ledger; - - $ret = $this->db->exec_sql($sql); - $array = Database::fetch_all($ret); - $deb = 0.0; - $cred = 0.0; - foreach ($array as $line) - { - - if ($line['deb'] == 't') - $deb+=$line['montant']; - else - $cred+=$line['montant']; - } - $response = array($deb, $cred); - return $response; - } - - /** - * @brief Show a select list of the ledgers you can access in - * writing, reading or simply accessing. - * @param$p_type = ALL or the type of the ledger (ACH,VEN,FIN,ODS) - * @param$p_access =3 for READ and WRITE, 2 for write and 1 for readonly - * \return object HtmlInput select - */ - - function select_ledger($p_type = "ALL", $p_access = 3) - { - global $g_user; - $array = $g_user->get_ledger($p_type, $p_access); - - if ($array == null) - return null; - $idx = 0; - $ret = array(); - - foreach ($array as $value) - { - $ret[$idx]['value'] = $value['jrn_def_id']; - $ret[$idx]['label'] = h($value['jrn_def_name']); - $idx++; - } - - $select = new ISelect(); - $select->name = 'p_jrn'; - $select->value = $ret; - $select->selected = $this->id; - return $select; - } - - /** - * @brief retrieve the jrn_def_fiche and return them into a array - * index deb, cred - * \param - * \param - * \param - * - * - * \return return an array ('deb'=> ,'cred'=>) - */ - - function get_fiche_def() - { - $sql = "select jrn_def_fiche_deb as deb,jrn_def_fiche_cred as cred " . - " from jrn_def where " . - " jrn_def_id = $1 "; - - $r = $this->db->exec_sql($sql, array($this->id)); - - $res = Database::fetch_all($r); - if (empty($res)) - return null; - - return $res[0]; - } - - /** - * @brief retrieve the jrn_def_class_deb and return it - * - * - * \return return an string - */ - - function get_class_def() - { - $sql = "select jrn_def_class_deb " . - " from jrn_def where " . - " jrn_def_id = $1"; - - $r = $this->db->exec_sql($sql, array($this->id)); - - $res = Database::fetch_all($r); - - if (empty($res)) - return null; - - return $res[0]; - } - - /** - * @brief show the result of the array to confirm - * before inserting - * @param$p_array array from the form - * \return string - */ - - function confirm($p_array, $p_readonly = false) - { - global $g_parameter; - $msg = array(); - if (!$p_readonly) - $msg = $this->verify($p_array); - $this->id = $p_array['p_jrn']; - if (empty($p_array)) - return 'Aucun résultat'; - $anc = null; - extract($p_array); - $lPeriode = new Periode($this->db); - if ($this->check_periode() == true) - { - $lPeriode->p_id = $period; - } - else - { - $lPeriode->find_periode($e_date); - } - $total_deb = 0; - $total_cred = 0; - bcscale(2); - - $ret = ""; - if (!empty($msg)) - { - $ret.=$this->display_warning($msg, _("Attention : il vaut mieux utiliser les fiches que les postes comptables")); - } - $ret.=""; - $ret.=""; - /* display periode */ - $date_limit = $lPeriode->get_date_limit(); - $ret.=' ' . td(_('Période Comptable')) . td($date_limit['p_start'] . '-' . $date_limit['p_end']) . ''; - $ret.=""; - $ret.=""; - $ret.='
      " . _('Date') . " : $e_date
      " . _('Libellé') . " " . h($desc) . "
      " . _('PJ Num') . " " . h($e_pj) . "
      '; - $ret.=""; - $ret.=""; - $ret.=""; - $ret.=""; - $ret.=""; - $ret.=""; - /* if we use the AC */ - if ($g_parameter->MY_ANALYTIC != 'nu') - { - $anc = new Anc_Plan($this->db); - $a_anc = $anc->get_list(); - $x = count($a_anc); - /* set the width of the col */ - $ret.=''; - - /* add hidden variables pa[] to hold the value of pa_id */ - $ret.=Anc_Plan::hidden($a_anc); - } - $ret.=""; - - $ret.=HtmlInput::hidden('e_date', $e_date); - $ret.=HtmlInput::hidden('desc', $desc); - $ret.=HtmlInput::hidden('period', $lPeriode->p_id); - $ret.=HtmlInput::hidden('e_pj', $e_pj); - $ret.=HtmlInput::hidden('e_pj_suggest', $e_pj_suggest); - $mt = microtime(true); - $ret.=HtmlInput::hidden('mt', $mt); - // For predefined operation - $ret.=HtmlInput::hidden('e_comm', $desc); - $ret.=HtmlInput::hidden('jrn_type', $this->get_type()); - $ret.=HtmlInput::hidden('p_jrn', $this->id); - $ret.=HtmlInput::hidden('nb_item', $nb_item); - if ($this->with_concerned == true) - { - $ret.=HtmlInput::hidden('jrn_concerned', $jrn_concerned); - } - $ret.=dossier::hidden(); - $count = 0; - for ($i = 0; $i < $nb_item; $i++) - { - if ($p_readonly == true) - { - if (!isset(${'qc_' . $i})) - ${'qc_' . $i} = ''; - if (!isset(${'poste' . $i})) - ${'poste' . $i} = ''; - if (!isset(${'amount' . $i})) - ${'amount' . $i} = ''; - } - $class=($i%2==0)?' class="even" ':' class="odd" '; - $ret.=" "; - if (trim(${'qc_' . $i}) != "") - { - $oqc = new Fiche($this->db); - $oqc->get_by_qcode(${'qc_' . $i}, false); - $strPoste = $oqc->strAttribut(ATTR_DEF_ACCOUNT); - $ret.="'; - } - - if (trim(${'qc_' . $i}) == "" && trim(${'poste' . $i}) != "") - { - $oposte = new Acc_Account_Ledger($this->db, ${'poste' . $i}); - $strPoste = $oposte->id; - $ret.="'; - } - - if (trim(${'qc_' . $i}) == "" && trim(${'poste' . $i}) == "") - continue; - $ret.=""; - if (isset(${"ck$i"})) - { - $ret.="" . td(""); - $total_deb = bcadd($total_deb, ${'amount' . $i}); - } - else - { - $ret.=td("") . ""; - $total_cred = bcadd($total_cred, ${"amount" . $i}); - } - /*$ret.="";*/ - // CA - - if ($g_parameter->MY_ANALYTIC != 'nu') // use of AA - { - if (preg_match("/^[6,7]+/", $strPoste) == 1) - { - // show form - $op = new Anc_Operation($this->db); - $null = ($g_parameter->MY_ANALYTIC == 'op') ? 1 : 0; - $p_array['pa_id'] = $a_anc; - /* op is the operation it contains either a sequence or a jrnx.j_id */ - $ret.=HtmlInput::hidden('op[]=', $i); - - $ret.=''; - $count++; - } - } - - - - $ret.=""; - } - $ret.=tr(td('') . td(_('Totaux')) . td($total_deb, 'class="num"') . td($total_cred, 'class="num"'), 'class="highlight"'); - $ret.="
      " . _('Quick Code ou '); - $ret.=_("Poste") . " " . _("Libellé") . " " . _("Débit") . "" . _("Crédit") . "' . _('Compt. Analytique') . '
      " . - ${'qc_' . $i} . ' - ' . - $oqc->strAttribut(ATTR_DEF_NAME) . HtmlInput::hidden('qc_' . $i, ${'qc_' . $i}) . - '" . h(${"poste" . $i} . " - " . - $oposte->get_name()) . HtmlInput::hidden('poste' . $i, ${'poste' . $i}) . - '" . h(${"ld" . $i}) . HtmlInput::hidden('ld' . $i, ${'ld' . $i}) ; - $ret .=(isset(${"ck$i"})) ? HtmlInput::hidden('ck' . $i, ${'ck' . $i}) : ""; - $ret .= "" . nbm(${"amount" . $i}) . HtmlInput::hidden('amount' . $i, ${'amount' . $i}) . "" . nbm(${"amount" . $i}) . HtmlInput::hidden('amount' . $i, ${'amount' . $i}) . ""; - $ret.=(isset(${"ck$i"})) ? HtmlInput::hidden('ck' . $i, ${'ck' . $i}) : ""; - $ret.="'; - $read = ($p_readonly == true) ? 0 : 1; - $ret.=$op->display_form_plan($p_array, $null, $read, $count, round(${'amount' . $i}, 2)); - $ret.='
      "; - if ($g_parameter->MY_ANALYTIC != 'nu' && $p_readonly == false) - $ret.=''; - return $ret; - } - function get_min_row() - { - $row=$this->db->get_value("select jrn_deb_max_line from jrn_def where jrn_def_id=$1",array($this->id)); - return $row; - } - /** - * @brief Show the form to encode your operation - * @param$p_array if you correct or use a predef operation (default = null) - * @param$p_readonly 1 for readonly 0 for writable (default 0) - *@exception if ledger not found - * \return a string containing the form - */ - - function input($p_array = null, $p_readonly = 0) - { - global $g_parameter, $g_user; - $this->nb=$this->get_min_row(); - if ($p_readonly == 1) - return $this->confirm($p_array); - - if ($p_array != null) - extract($p_array); - $add_js = ""; - if ($g_parameter->MY_PJ_SUGGEST == 'Y') - { - $add_js = "update_pj();"; - } - if ($g_parameter->MY_DATE_SUGGEST=='Y') - { - $add_js.='get_last_date();'; - } - $add_js.='update_row("quick_item");'; - $ret = ""; - if ($g_user->check_action(FICADD) == 1) - { - /* Add button */ - $f_add_button = new IButton('add_card'); - $f_add_button->label = _('Créer une nouvelle fiche'); - $f_add_button->set_attribute('ipopup', 'ipop_newcard'); - $f_add_button->set_attribute('jrn', $this->id); - $f_add_button->javascript = " this.jrn=\$('p_jrn').value;select_card_type(this);"; - $f_add_button->input(); - } - $wLedger = $this->select_ledger('ODS', 2); - if ($wLedger == null) - throw new Exception(_('Pas de journal disponible')); - $wLedger->javascript = "onChange='update_name();update_predef(\"ods\",\"t\",\"".$_REQUEST['ac']."\");$add_js'"; - $label = " Journal " . HtmlInput::infobulle(2); - - $ret.=$label . $wLedger->input(); - - - // Load the javascript - // - $ret.=""; - $ret.= ''; - /* insert periode if needed */ - // Periode - //-- - if ($this->check_periode() == true) - { - $l_user_per = $g_user->get_periode(); - $def = (isset($periode)) ? $periode : $l_user_per; - - $period = new IPeriod("period"); - $period->user = $g_user; - $period->cn = $this->db; - $period->value = $def; - $period->type = OPEN; - try - { - $l_form_per = $period->input(); - } - catch (Exception $e) - { - if ($e->getCode() == 1) - { - echo _("Aucune période ouverte"); - exit(); - } - } - $label = HtmlInput::infobulle(3); - $f_periode = _("Période comptable") . " $label " . $l_form_per; - $ret.=td($f_periode); - } - $wPJ = new IText('e_pj'); - $wPJ->readonly = false; - $wPJ->size = 10; - - /* suggest PJ ? */ - $default_pj = ''; - if ($g_parameter->MY_PJ_SUGGEST == 'Y') - { - $default_pj = $this->guess_pj(); - } - $wPJ->value = (isset($e_pj)) ? $e_pj : $default_pj; - $ret.= ''; - $ret.=''; - $ret.=''; - $ret.= ''; - - $ret.= ''; - $ret.=''; - $ret.=''; - - $ret.= '
      '; - $wDate = new IDate('e_date'); - $wDate->readonly = $p_readonly; - $e_date = (isset($e_date) && trim($e_date) != '') ? $e_date : ''; - $wDate->value = $e_date; - - $ret.=_("Date") . ' : ' . $wDate->input(); - $ret.= '
      ' . _('Pièce') . ' : ' . $wPJ->input(); - $ret.=HtmlInput::hidden('e_pj_suggest', $default_pj); - $ret.= '
      '; - $ret.=_('Libellé'); - $wDescription = new IText('desc'); - $wDescription->readonly = $p_readonly; - $wDescription->size = "50"; - $wDescription->value = (isset($desc)) ? $desc : ''; - - $ret.=$wDescription->input(); - $ret.= '
      '; - $nb_row = (isset($nb_item) ) ? $nb_item : $this->nb; - - $ret.=HtmlInput::hidden('nb_item', $nb_row); - $ret.=dossier::hidden(); - - $ret.=dossier::hidden(); - - $ret.=HtmlInput::hidden('jrn_type', $this->get_type()); - $info = HtmlInput::infobulle(0); - $info_poste = HtmlInput::infobulle(9); - if ($g_user->check_action(FICADD) == 1) - $ret.=$f_add_button->input(); - $ret.=''; - $ret.='' . - '' . - '' . - '' . - '' . - '' . - ''; - - - for ($i = 0; $i < $nb_row; $i++) - { - // Quick Code - $quick_code = new ICard('qc_' . $i); - $quick_code->set_dblclick("fill_ipopcard(this);"); - $quick_code->set_attribute('ipopup', 'ipopcard'); - - // name of the field to update with the name of the card - $quick_code->set_attribute('label', "ld" . $i); - - // name of the field to update with the name of the card - $quick_code->set_attribute('typecard', 'filter'); - - // Add the callback function to filter the card on the jrn - $quick_code->set_callback('filter_card'); - $quick_code->set_function('fill_data'); - $quick_code->javascript = sprintf(' onchange="fill_data_onchange(\'%s\');" ', $quick_code->name); - - $quick_code->value = (isset(${'qc_' . $i})) ? ${'qc_' . $i} : ""; - $quick_code->readonly = $p_readonly; - - $label = ''; - if ($quick_code->value != '') - { - $Fiche = new Fiche($this->db); - $Fiche->get_by_qcode($quick_code->value); - $label = $Fiche->strAttribut(ATTR_DEF_NAME); - } - - - // Account - $poste = new IPoste(); - $poste->name = 'poste' . $i; - $poste->set_attribute('jrn', $this->id); - $poste->set_attribute('ipopup', 'ipop_account'); - $poste->set_attribute('label', 'ld' . $i); - $poste->set_attribute('account', 'poste' . $i); - $poste->set_attribute('dossier', Dossier::id()); - - $poste->value = (isset(${'poste' . $i})) ? ${"poste" . $i} : '' - ; - $poste->dbl_click_history(); - - $poste->readonly = $p_readonly; - - if ($poste->value != '') - { - $Poste = new Acc_Account($this->db); - $Poste->set_parameter('value', $poste->value); - $label = $Poste->get_lib(); - } - - // Description of the line - $line_desc = new IText(); - $line_desc->name = 'ld' . $i; - $line_desc->size = 30; - $line_desc->value = (isset(${"ld" . $i})) ? ${"ld" . $i} : - $label; - - // Amount - $amount = new INum(); - $amount->size = 10; - $amount->name = 'amount' . $i; - $amount->value = (isset(${'amount' . $i})) ? ${"amount" . $i} : '' - ; - $amount->readonly = $p_readonly; - $amount->javascript = ' onChange="format_number(this);checkTotalDirect()"'; - // D/C - $deb = new ICheckBox(); - $deb->name = 'ck' . $i; - $deb->selected = (isset(${'ck' . $i})) ? true : false; - $deb->readonly = $p_readonly; - $deb->javascript = ' onChange="checkTotalDirect()"'; - - $ret.=''; - $ret.=''; - $ret.=''; - $ret.=''; - $ret.=''; - $ret.=''; - $ret.=''; - // If readonly == 1 then show CA - } - $ret.='
      Quickcode' . $info . '' . _('Poste') . $info_poste . '' . _('Libellé') . '' . _('Montant') . '' . _('Débit') . '
      ' . $quick_code->input() . $quick_code->search() . '' . $poste->input() . - '' . - '' . $line_desc->input() . '' . $amount->input() . '' . $deb->input() . '
      '; - if (isset($this->with_concerned) && $this->with_concerned == true) - { - $oRapt = new Acc_Reconciliation($this->db); - $w = $oRapt->widget(); - $w->name = 'jrn_concerned'; - $w->value = (isset($jrn_concerned)) ? $jrn_concerned : ""; - $ret.="Réconciliation/rapprochements : " . $w->input(); - } - $ret.= create_script("$('".$wDate->id."').focus()"); - return $ret; - } - - /** - * @brief - * check if the current ledger is closed - * \return 1 for yes, otherwise 0 - * \see Periode::is_closed - */ - - function is_closed($p_periode) - { - $per = new Periode($this->db); - $per->set_jrn($this->id); - $per->set_periode($p_periode); - $ret = $per->is_closed(); - return $ret; - } - - /** - * @brief verify that the operation can be saved - * @param$p_array array of data same layout that the $_POST from show_form - * - * - * \throw the getcode value is 1 incorrect balance, 2 date - * invalid, 3 invalid amount, 4 the card is not in the range of - * permitted card, 5 not in the user's period, 6 closed period - * - */ - - function verify($p_array) - { - if (is_array($p_array ) == false || empty($p_array)) - throw new Exception ("Array empty"); - /* - * Check needed value - */ - check_parameter($p_array,'p_jrn,e_date'); - - extract($p_array); - global $g_user; - $tot_cred = 0; - $tot_deb = 0; - $msg = array(); - - /* check if we can write into this ledger */ - if ($g_user->check_jrn($p_jrn) != 'W') - throw new Exception(_('Accès interdit'), 20); - - /* check for a double reload */ - if (isset($mt) && $this->db->count_sql('select jr_mt from jrn where jr_mt=$1', array($mt)) != 0) - throw new Exception('Double Encodage', 5); - - // Check the periode and the date - if (isDate($e_date) == null) - { - throw new Exception('Date invalide', 2); - } - $periode = new Periode($this->db); - /* find the periode if we have enabled the check_periode */ - if ($this->check_periode() == false) - { - $periode->find_periode($e_date); - } - else - { - $periode->p_id = $period; - list ($min, $max) = $periode->get_date_limit(); - if (cmpDate($e_date, $min) < 0 || - cmpDate($e_date, $max) > 0) - throw new Exception(_('Date et periode ne correspondent pas'), 6); - } - - - - // Periode ferme - if ($this->is_closed($periode->p_id) == 1) - { - throw new Exception('Periode fermee', 6); - } - /* check if we are using the strict mode */ - if ($this->check_strict() == true) - { - /* if we use the strict mode, we get the date of the last - operation */ - $last_date = $this->get_last_date(); - if ($last_date != null && cmpDate($e_date, $last_date) < 0) - throw new Exception(_('Vous utilisez le mode strict la dernière operation est la date du ') - . $last_date . ' ' . _('vous ne pouvez pas encoder à une date antérieure'), 15); - } - - for ($i = 0; $i < $nb_item; $i++) - { - $err = 0; - - // Check the balance - if (!isset(${'amount' . $i})) - continue; - - $amount = round(${'amount' . $i}, 2); - $tot_deb+=(isset(${'ck' . $i})) ? $amount : 0; - $tot_cred+=(!isset(${'ck' . $i})) ? $amount : 0; - - // Check if the card is permitted - if (isset(${'qc_' . $i}) && trim(${'qc_' . $i}) != "") - { - $f = new Fiche($this->db); - $f->quick_code = ${'qc_' . $i}; - if ($f->belong_ledger($p_jrn) < 0) - throw new Exception("La fiche quick_code = " . - $f->quick_code . " n'est pas dans ce journal", 4); - if (strlen(trim(${'qc_' . $i})) != 0 && isNumber(${'amount' . $i}) == 0) - throw new Exception('Montant invalide', 3); - - $strPoste = $f->strAttribut(ATTR_DEF_ACCOUNT); - if ($strPoste == '') - throw new Exception(sprintf(_("La fiche %s n'a pas de poste comptable"), ${"qc_" . $i})); - - $p = new Acc_Account_Ledger($this->db, $strPoste); - if ($p->do_exist() == 0) - throw new Exception(_('Poste Inexistant pour la fiche [' . ${'qc_' . $i} . ']'), 4); - } - - // Check if the account is permitted - if (isset(${'poste' . $i}) && strlen(trim(${'poste' . $i})) != 0) - { - $p = new Acc_Account_Ledger($this->db, ${'poste' . $i}); - if ($p->belong_ledger($p_jrn) < 0) - throw new Exception(_("Le poste") . " " . $p->id . " " . _("n'est pas dans ce journal"), 5); - if (strlen(trim(${'poste' . $i})) != 0 && isNumber(${'amount' . $i}) == 0) - throw new Exception(_('Poste invalide [' . ${'poste' . $i} . ']'), 3); - if ($p->do_exist() == 0) - throw new Exception(_('Poste Inexistant [' . ${'poste' . $i} . ']'), 4); - $card_id = $p->find_card(); - if (!empty($card_id)) - { - $str_msg = " Le poste " . $p->id . " appartient à " . count($card_id) . " fiche(s) dont :"; - $max = (count($card_id) > MAX_COMPTE_CARD) ? MAX_COMPTE_CARD : count($card_id); - for ($x = 0; $x < $max; $x++) - { - $card = new Fiche($this->db, $card_id[$x]['f_id']); - $str_msg.=HtmlInput::card_detail($card->strAttribut(ATTR_DEF_QUICKCODE), $card->strAttribut(ATTR_DEF_NAME), 'style="color:red;display:inline;text-decoration:underline"'); - $str_msg.=" "; - } - $msg[] = $str_msg; - } - } - } - $tot_deb = round($tot_deb, 4); - $tot_cred = round($tot_cred, 4); - if ($tot_deb != $tot_cred) - { - throw new Exception(_("Balance incorrecte ") . " debit = $tot_deb credit=$tot_cred ", 1); - } - - return $msg; - } - - /** - * @brief compute the internal code of the saved operation and set the $this->jr_internal to - * the computed value - * - * @param$p_grpt id in jr_grpt_ - * - * \return string internal_code - * - - * - */ - - function compute_internal_code($p_grpt) - { - if ($this->id == 0) - return; - $num = $this->db->get_next_seq('s_internal'); - $atype = $this->get_propertie(); - $type = substr($atype['jrn_def_code'], 0, 1); - $internal_code = sprintf("%s%06X", $type, $num); - $this->jr_internal = $internal_code; - return $internal_code; - } - - /** - * @brief save the operation into the jrnx,jrn, , - * CA and pre_def - * @param$p_array - * - * \return array with [0] = false if failed otherwise true, [1] error - * code - */ - - function save($p_array = null) - { - if ($p_array == null) - throw new Exception('save cannot use a empty array'); - global $g_parameter; - extract($p_array); - try - { - $msg = $this->verify($p_array); - if (!empty($msg)) - { - echo $this->display_warning($msg, _("Attention : il vaut mieux utiliser les fiches que les postes comptables ")); - } - $this->db->start(); - - $seq = $this->db->get_next_seq('s_grpt'); - $internal = $this->compute_internal_code($seq); - - $group = $this->db->get_next_seq("s_oa_group"); - $tot_amount = 0; - $tot_deb = 0; - $tot_cred = 0; - $oPeriode = new Periode($this->db); - $check_periode = $this->check_periode(); - if ($check_periode == false) - { - $oPeriode->find_periode($e_date); - } - else - { - $oPeriode->id = $period; - } - - $count = 0; - for ($i = 0; $i < $nb_item; $i++) - { - if (!isset(${'qc_' . $i}) && !isset(${'poste' . $i})) - continue; - $acc_op = new Acc_Operation($this->db); - $quick_code = ""; - // First we save the jrnx - if (isset(${'qc_' . $i})) - { - $qc = new Fiche($this->db); - $qc->get_by_qcode(${'qc_' . $i}, false); - $sposte = $qc->strAttribut(ATTR_DEF_ACCOUNT); - /* if there are 2 accounts take following the deb or cred */ - if (strpos($sposte, ',') != 0) - { - $array = explode(",", $sposte); - $poste = (isset(${'ck' . $i})) ? $array[0] : $array[1]; - } - else - { - $poste = $sposte; - if ($poste == '') - throw new Exception(sprintf(_("La fiche %s n'a pas de poste comptable"), ${"qc_" . $i})); - } - $quick_code = ${'qc_' . $i}; - } - else - { - $poste = ${'poste' . $i}; - } - - $acc_op->date = $e_date; - // compute the periode is do not check it - if ($check_periode == false) - $acc_op->periode = $oPeriode->p_id; - $acc_op->desc = null; - if (strlen(trim(${'ld' . $i})) != 0) - $acc_op->desc = ${'ld' . $i}; - $acc_op->amount = round(${'amount' . $i}, 2); - $acc_op->grpt = $seq; - $acc_op->poste = $poste; - $acc_op->jrn = $this->id; - $acc_op->type = (isset(${'ck' . $i})) ? 'd' : 'c'; - $acc_op->qcode = $quick_code; - $j_id = $acc_op->insert_jrnx(); - $tot_amount+=round($acc_op->amount, 2); - $tot_deb+=($acc_op->type == 'd') ? $acc_op->amount : 0; - $tot_cred+=($acc_op->type == 'c') ? $acc_op->amount : 0; - if ($g_parameter->MY_ANALYTIC != "nu") - { - if (preg_match("/^[6,7]+/", $poste) == 1) - { - - // for each item, insert into operation_analytique */ - $op = new Anc_Operation($this->db); - $op->oa_group = $group; - $op->j_id = $j_id; - $op->oa_date = $e_date; - $op->oa_debit = ($acc_op->type == 'd' ) ? 't' : 'f'; - $op->oa_description = $desc; - $op->save_form_plan($p_array, $count, $j_id); - $count++; - } - } - }// loop for each item - $acc_end = new Acc_Operation($this->db); - $acc_end->amount = $tot_deb; - if ($check_periode == false) - $acc_end->periode = $oPeriode->p_id; - $acc_end->date = $e_date; - $acc_end->desc = $desc; - $acc_end->grpt = $seq; - $acc_end->jrn = $this->id; - $acc_end->mt = $mt; - $jr_id = $acc_end->insert_jrn(); - $this->jr_id = $jr_id; - if ($jr_id == false) - throw new Exception(_('Balance incorrecte')); - $acc_end->pj = $e_pj; - - /* if e_suggest != e_pj then do not increment sequence */ - if (strcmp($e_pj, $e_pj_suggest) == 0 && strlen(trim($e_pj)) != 0) - { - $this->inc_seq_pj(); - } - - $this->pj = $acc_end->set_pj(); - - $this->db->exec_sql("update jrn set jr_internal='" . $internal . "' where " . - " jr_grpt_id = " . $seq); - $this->internal = $internal; - // Save now the predef op - //------------------------ - if (isset ($opd_name) && trim($opd_name) != "" ){ - $opd = new Pre_Op_Advanced($this->db); - $opd->get_post(); - $opd->save(); - } - - if (isset($this->with_concerned) && $this->with_concerned == true) - { - $orap = new acc_reconciliation($this->db); - $orap->jr_id = $jr_id; - - $orap->insert($jrn_concerned); - } - /** - * Save the file is any - */ - if (isset($_FILES["pj"])) - { - $this->db->save_upload_document($seq); - } - - } - catch (Exception $a) - { - throw $a; - } - catch (Exception $e) - { - $this->db->rollback(); - echo _('OPERATION ANNULEE '); - echo '
      '; - echo __FILE__ . __LINE__ . $e->getMessage(); - exit(); - } - $this->db->commit(); - return true; - } - - /** - * @brief get all the data from request and build the object - */ - - function get_request() - { - $this->id = $_REQUEST['p_jrn']; - } - - /** - * @brief retrieve the next number for this type of ledger - * @paramp_cn connx - * @paramp_type ledger type - * - * \return the number - * - * - */ - - static function next_number($p_cn, $p_type) - { - - $Ret = $p_cn->count_sql("select * from jrn_def where jrn_def_type='" . $p_type . "'"); - return $Ret + 1; - } - - /** - * @brief get the first ledger - * @paramthe type - * \return the j_id - */ - - public function get_first($p_type, $p_access = 3) - { - global $g_user; - $all = $g_user->get_ledger($p_type, $p_access); - return $all[0]; - } - - /** - * @brief Update the paiment in the list of operation - * @param$p_array is normally $_GET - */ - - function update_paid($p_array) - { - // reset all the paid flag because the checkbox is post only - // when checked - foreach ($p_array as $name => $paid) - { - list($ad) = sscanf($name, "set_jr_id%d"); - if ($ad == null) - continue; - $sql = "update jrn set jr_rapt='' where jr_id=$ad"; - $Res = $this->db->exec_sql($sql); - } - // set a paid flag for the checked box - foreach ($p_array as $name => $paid) - { - list ($id) = sscanf($name, "rd_paid%d"); - if ($id == null) - continue; - - $sql = "update jrn set jr_rapt='paid' where jr_id=$id"; - $Res = $this->db->exec_sql($sql); - } - } - - function update_internal_code($p_internal) - { - if (!isset($this->grpt_id)) - throw new Exception(('ERREUR ' . __FILE__ . ":" . __LINE__)); - $Res = $this->db->exec_sql("update jrn set jr_internal='" . $p_internal . "' where " . - " jr_grpt_id = " . $this->grpt_id); - } - /** - * Return an array of default card for the ledger type given - * - * @param $p_ledger_type VEN ACH ODS or FIN - * @param $p_side D for Debit or C for credit or NA No Applicable - */ - function get_default_card($p_ledger_type,$p_side) - { - $array=array(); - $fiche_def_ref=new Fiche_Def_Ref($this->db); - // ----- for FINANCIAL ---- - if ($p_ledger_type =='FIN') - { - $array=$fiche_def_ref->get_by_modele(FICHE_TYPE_CLIENT); - $array=array_merge ( $array , $fiche_def_ref->get_by_modele(FICHE_TYPE_FOURNISSEUR)); - $array=array_merge ( $array , $fiche_def_ref->get_by_modele(FICHE_TYPE_FIN)); - $array=array_merge ( $array , $fiche_def_ref->get_by_modele(FICHE_TYPE_ADM_TAX)); - $array=array_merge ( $array , $fiche_def_ref->get_by_modele(FICHE_TYPE_EMPL)); - - } - // --- for miscellaneous ---- - if ($p_ledger_type == 'ODS') - { - $result=$this->db->get_array('select fd_id from fiche_def'); - for ($i = 0;$iget_by_modele(FICHE_TYPE_CLIENT); - break; - case 'ACH': - $array=$fiche_def_ref->get_by_modele(FICHE_TYPE_ACH_SER); - $array=array_merge ($array, $fiche_def_ref->get_by_modele(FICHE_TYPE_ACH_MAR)); - $array=array_merge ($array,$fiche_def_ref->get_by_modele(FICHE_TYPE_ACH_MAT)); - break; - default : - throw new Exception(_('get_default_card p_ledger_side is invalide ['.$p_ledger_type.']')); - - } - } elseif ($p_side == 'C') - { - switch($p_ledger_type) - { - case 'VEN': - $array=$fiche_def_ref->get_by_modele(FICHE_TYPE_VENTE); - break; - case 'ACH': - $array= array_merge($array, $fiche_def_ref->get_by_modele(FICHE_TYPE_ADM_TAX)); - $array= array_merge($array, $fiche_def_ref->get_by_modele(FICHE_TYPE_FOURNISSEUR)); - break; - default : - throw new Exception(_('get_default_card p_ledger_side is invalide ['.$p_ledger_type.']')); - - } - } - return $array; - /* - $return=array(); - $return = array_values($array); - for ($i = 0;$idb->exec_sql($sql, array($this->id)); - - $res = Database::fetch_all($r); - if (empty($res)) - return null; - $card = ""; - $comma = ''; - foreach ($res as $item) - { - if (strlen(trim($item['deb'])) != 0) - { - $card.=$comma . $item['deb']; - $comma = ','; - } - if (strlen(trim($item['cred'])) != '') - { - $card.=$comma . $item['cred']; - $comma = ','; - } - } - - return $card; - } - - /** - * @brief get the saldo of an exercice, used for the opening of a folder - * @param$p_exercice is the exercice we want - * \return an array - * index = - * - solde (debit > 0 ; credit < 0) - * - j_poste - * - j_qcode - */ - - function get_saldo_exercice($p_exercice) - { - $sql = "select sum(a.montant) as solde, j_poste, j_qcode - from - (select j_id, case when j_debit='t' then j_montant - else j_montant * (-1) end as montant - from jrnx) as a - join jrnx using (j_id) - join parm_periode on (j_tech_per = p_id ) - where - p_exercice=$1 - and j_poste::text not like '7%' - and j_poste::text not like '6%' - group by j_poste,j_qcode - having (sum(a.montant) != 0 )"; - $res = $this->db->get_array($sql, array($p_exercice)); - return $res; - } - - /** - * @brief Check if a Dossier is using the strict mode or not - * \return true if we are using the strict_mode - */ - - function check_strict() - { - global $g_parameter; - if ($g_parameter->MY_STRICT == 'Y') - return true; - if ($g_parameter->MY_STRICT == 'N') - return false; - throw new Exception("Valeur invalid " . __FILE__ . ':' . __LINE__); - } - - /** - * @brief Check if a Dossier is using the check on the periode, if true than the user has to enter the date - * and the periode, it is a security check - * \return true if we are using the double encoding (date+periode) - */ - - function check_periode() - { - global $g_parameter; - if ($g_parameter->MY_CHECK_PERIODE == 'Y') - return true; - if ($g_parameter->MY_CHECK_PERIODE == 'N') - return false; - throw new Exception("Valeur invalid " . __FILE__ . ':' . __LINE__); - } - - /** - * @brief get the date of the last operation - */ - - function get_last_date() - { - if ($this->id == 0) - throw new Exception(__FILE__ . ":" . __LINE__ . "Journal incorrect "); - $sql = "select to_char(max(jr_date),'DD.MM.YYYY') from jrn where jr_def_id=$1"; - $date = $this->db->get_value($sql, array($this->id)); - return $date; - } - - /** - * @brief retrieve the jr_id thanks the internal code, do not change - * anything to the current object - * @paramthe internal code - * \return the jr_id or 0 if not found - */ - - function get_id($p_internal) - { - $sql = 'select jr_id from jrn where jr_internal=$1'; - $value = $this->db->get_value($sql, array($p_internal)); - if ($value == '') - $value = 0; - return $value; - } - - /** - * @brief create the invoice and saved it as attachment to the - * operation, - * @param$internal is the internal code - * @param$p_array is normally the $_POST - * \return a string - */ - - function create_document($internal, $p_array) - { - extract($p_array); - $doc = new Document($this->db); - $doc->f_id = $e_client; - $doc->md_id = $gen_doc; - $doc->ag_id = 0; - $p_array['e_pj']=$this->pj; - $filename=""; - $doc->Generate($p_array,$p_array['e_pj']); - // Move the document to the jrn - $doc->MoveDocumentPj($internal); - // Update the comment with invoice number, if the comment is empty - if (!isset($e_comm) || strlen(trim($e_comm)) == 0) - { - $sql = "update jrn set jr_comment=' document " . $doc->d_number . "' where jr_internal='$internal'"; - $this->db->exec_sql($sql); - } - return h($doc->d_name . ' (' . $doc->d_filename . ')'); - } - - /** - * @brief check if the payment method is valid - * @param$e_mp is the value and $e_mp_qcode is the quickcode - * \return nothing throw an Exception - */ - - public function check_payment($e_mp, $e_mp_qcode) - { - /* Check if the "paid by" is empty, */ - if ($e_mp != 0) - { - /* the paid by is not empty then check if valid */ - $empl = new Fiche($this->db); - $empl->get_by_qcode($e_mp_qcode); - if ($empl->empty_attribute(ATTR_DEF_ACCOUNT) == true) - { - throw new Exception(_("Celui qui paie n' a pas de poste comptable"), 20); - } - /* get the account and explode if necessary */ - $sposte = $empl->strAttribut(ATTR_DEF_ACCOUNT); - // if 2 accounts, take only the debit one for customer - if (strpos($sposte, ',') != 0) - { - $array = explode(',', $sposte); - $poste_val = $array[0]; - } - else - { - $poste_val = $sposte; - } - $poste = new Acc_Account_Ledger($this->db, $poste_val); - if ($poste->load() == false) - { - throw new Exception(sprintf(_("Pour la fiche %s le poste comptable [%s] n'existe pas"),$empl->quick_code,$poste->id ), 9); - } - } - } - - /** - * @brief increment the sequence for the pj */ - - function inc_seq_pj() - { - $sql = "select nextval('s_jrn_pj" . $this->id . "')"; - $this->db->exec_sql($sql); - } - - /** - * @brief return a HTML string with the form for the search - * @param $p_type if the type of ledger possible values=ALL,VEN,ACH,ODS,FIN - * @param $all_type_ledger - * values : - * - 1 means all the ledger of this type - * - 0 No have the "Tous les journaux" availables - * @param $div is the div (for reconciliation) - * @return a HTML String without the tag FORM or DIV - * - * @see build_search_sql - * @see display_search_form - * @see list_operation - */ - - function search_form($p_type, $all_type_ledger = 1, $div = "") - { - global $g_user; - $r=""; - $bledger_param= json_encode(array( - 'dossier'=>$_REQUEST['gDossier'], - 'type'=>$p_type, - 'all_type'=>$all_type_ledger, - 'div'=>$div - )); - - $bledger_param= str_replace('"', "'", $bledger_param); - $bledger=new ISmallButton('l'); - $bledger->label=_("choix des journaux"); - $bledger->javascript=" show_ledger_choice($bledger_param)"; - $f_ledger=$bledger->input(); - $hid_jrn=""; - if ( isset ($_REQUEST[$div.'nb_jrn']) ){ - for ($i=0;$i < $_REQUEST[$div.'nb_jrn'];$i++) { - if ( isset ($_REQUEST[$div."r_jrn"][$i])) - $hid_jrn.=HtmlInput::hidden($div.'r_jrn['.$i.']',$_REQUEST[$div."r_jrn"][$i]); - } - $hid_jrn.=HtmlInput::hidden($div.'nb_jrn',$_REQUEST[$div.'nb_jrn']); - } else { - $hid_jrn=HtmlInput::hidden($div.'nb_jrn',0); - } - /* Compute date for exercice */ - $period = $g_user->get_periode(); - $per = new Periode($this->db, $period); - $exercice = $per->get_exercice(); - list($per_start, $per_end) = $per->get_limit($exercice); - $date_end = $per_end->last_day(); - $date_start=$per_start->first_day(); - - /* widget for date_start */ - $f_date_start = new IDate('date_start'); - /* all periode or only the selected one */ - if (isset($_REQUEST['date_start'])) - { - $f_date_start->value = $_REQUEST['date_start']; - } - else - { - $f_date_start->value=$date_start; - } - - /* widget for date_end */ - $f_date_end = new IDate('date_end'); - /* all date or only the selected one */ - if (isset($_REQUEST['date_end'])) - { - $f_date_end->value = $_REQUEST['date_end']; - } - else - { - $f_date_end->value = $date_end; - } - /* widget for date term */ - $f_date_paid_start=new IDate('date_paid_start'); - $f_date_paid_end=new IDate('date_paid_end'); - - $f_date_paid_start->value=(isset($_REQUEST['date_paid_start']))?$_REQUEST['date_paid_start']:''; - $f_date_paid_end->value=(isset($_REQUEST['date_paid_end']))?$_REQUEST['date_paid_end']:''; - - /* widget for desc */ - $f_descript = new IText('desc'); - $f_descript->size = 40; - if (isset($_REQUEST['desc'])) - { - $f_descript->value = $_REQUEST['desc']; - } - - /* widget for amount */ - $f_amount_min = new INum('amount_min'); - $f_amount_min->value = (isset($_REQUEST['amount_min'])) ? abs($_REQUEST['amount_min']) : 0; - $f_amount_max = new INum('amount_max'); - $f_amount_max->value = (isset($_REQUEST['amount_max'])) ? abs($_REQUEST['amount_max']) : 0; - - /* input quick code */ - $f_qcode = new ICard('qcode' . $div); - - $f_qcode->set_attribute('typecard', 'all'); - /* $f_qcode->set_attribute('p_jrn','0'); - - $f_qcode->set_callback('filter_card'); - */ - $f_qcode->set_dblclick("fill_ipopcard(this);"); - // Add the callback function to filter the card on the jrn - //$f_qcode->set_callback('filter_card'); - $f_qcode->set_function('fill_data'); - $f_qcode->javascript = sprintf(' onchange="fill_data_onchange(%s);" ', $f_qcode->name); - $f_qcode->value = (isset($_REQUEST['qcode' . $div])) ? $_REQUEST['qcode' . $div] : ''; - - /* $f_txt_qcode=new IText('qcode'); - $f_txt_qcode->value=(isset($_REQUEST['qcode']))?$_REQUEST['qcode']:''; - */ - - /* input poste comptable */ - $f_accounting = new IPoste('accounting'); - $f_accounting->value = (isset($_REQUEST['accounting'])) ? $_REQUEST['accounting'] : ''; - if ($this->id == -1) - $jrn = 0; - else - $jrn = $this->id; - $f_accounting->set_attribute('jrn', $jrn); - $f_accounting->set_attribute('ipopup', 'ipop_account'); - $f_accounting->set_attribute('label', 'ld'); - $f_accounting->set_attribute('account', 'accounting'); - $info = HtmlInput::infobulle(13); - - $f_paid = new ICheckbox('unpaid'); - $f_paid->selected = (isset($_REQUEST['unpaid'])) ? true : false; - - $r.=dossier::hidden(); - $r.=HtmlInput::hidden('ledger_type', $this->type); - $r.=HtmlInput::hidden('ac', $_REQUEST['ac']); - ob_start(); - require_once NOALYSS_INCLUDE.'/template/ledger_search.php'; - $r.=ob_get_contents(); - ob_end_clean(); - return $r; - } - - /** - * @brief this function will create a sql stmt to use to create the list for - * the ledger, - * @param$p_array is usually the $_GET, - * @param$p_order the order of the row - * @param$p_where is the sql condition if not null then the $p_array will not be used - * \note the p_action will be used to filter the ledger but gl means ALL - * struct array $p_array - \verbatim - ( - [gDossier] => 13 - [p_jrn] => -1 - [date_start] => - [date_end] => - [amount_min] => 0 - [amount_max] => 0 - [desc] => - [search] => Rechercher - [p_action] => ven - [sa] => l - ) - \endverbatim - * \return an array with a valid sql statement, an the where clause => array[sql] array[where] - * \see list_operation - * \see display_search_form - * \see search_form - */ - - public function build_search_sql($p_array, $p_order = "", $p_where = "") - { - $sql = "select jr_id , - jr_montant, - substr(jr_comment,1,60) as jr_comment, - to_char(jr_ech,'DD.MM.YY') as str_jr_ech, - to_char(jr_date,'DD.MM.YY') as str_jr_date, - jr_date as jr_date_order, - jr_grpt_id, - jr_rapt, - jr_internal, - jrn_def_id, - jrn_def_name, - jrn_def_ech, - jrn_def_type, - jr_valid, - jr_tech_per, - jr_pj_name, - p_closed, - jr_pj_number, - n_text, - case - when jrn_def_type='VEN' then - (select ad_value from fiche_detail where ad_id=1 - and f_id=(select max(qs_client) from quant_sold join jrnx using (j_id) join jrn as e on (e.jr_grpt_id=j_grpt) where e.jr_id=x.jr_id)) - when jrn_def_type = 'ACH' then - (select ad_value from fiche_detail where ad_id=1 - and f_id=(select max(qp_supplier) from quant_purchase join jrnx using (j_id) join jrn as e on (e.jr_grpt_id=j_grpt) where e.jr_id=x.jr_id)) - when jrn_def_type = 'FIN' then - (select ad_value from fiche_detail where ad_id=1 - and f_id=(select qf_other from quant_fin where quant_fin.jr_id=x.jr_id)) - end as name, - case - when jrn_def_type='VEN' then (select ad_value from fiche_detail where ad_id=32 and f_id=(select max(qs_client) from quant_sold join jrnx using (j_id) join jrn as e on (e.jr_grpt_id=j_grpt) where e.jr_id=x.jr_id)) - when jrn_def_type = 'ACH' then (select ad_value from fiche_detail where ad_id=32 and f_id=(select max(qp_supplier) from quant_purchase join jrnx using (j_id) join jrn as e on (e.jr_grpt_id=j_grpt) where e.jr_id=x.jr_id)) - when jrn_def_type = 'FIN' then (select ad_value from fiche_detail where ad_id=32 and f_id=(select qf_other from quant_fin where quant_fin.jr_id=x.jr_id)) - end as first_name, - case - when jrn_def_type='VEN' then (select ad_value from fiche_detail where ad_id=23 and f_id=(select max(qs_client) from quant_sold join jrnx using (j_id) join jrn as e on (e.jr_grpt_id=j_grpt) where e.jr_id=x.jr_id)) - when jrn_def_type = 'ACH' then (select ad_value from fiche_detail where ad_id=23 and f_id=(select max(qp_supplier) from quant_purchase join jrnx using (j_id) join jrn as e on (e.jr_grpt_id=j_grpt) where e.jr_id=x.jr_id)) - when jrn_def_type = 'FIN' then (select ad_value from fiche_detail where ad_id=23 and f_id=(select qf_other from quant_fin where quant_fin.jr_id=x.jr_id)) - end as quick_code, - case - when jrn_def_type='VEN' then - (select sum(qs_price)+sum(vat) from - (select qs_internal,qs_price,case when qs_vat_sided<>0 then 0 else qs_vat end as vat from quant_sold where qs_internal=X.jr_internal) as ven_invoice - ) - when jrn_def_type = 'ACH' then - ( - select sum(qp_price)+sum(vat)+sum(qp_nd_tva)+sum(qp_nd_tva_recup) - from - (select qp_internal,qp_price,qp_nd_tva,qp_nd_tva_recup,qp_vat-qp_vat_sided as vat from quant_purchase where qp_internal=X.jr_internal) as invoice_purchase - ) - else null - end as total_invoice, - jr_date_paid, - to_char(jr_date_paid,'DD.MM.YY') as str_jr_date_paid - from - jrn as X left join jrn_note using(jr_id) - join jrn_def on jrn_def_id=jr_def_id - join parm_periode on p_id=jr_tech_per"; - - if (!empty($p_array)) - extract($p_array); - - if (isset($op) ) - $r_jrn = (isset(${$op."r_jrn"})) ? ${$op."r_jrn"} : -1; - else - { - $r_jrn = (isset($r_jrn)) ? $r_jrn : -1; - - } - - /* if no variable are set then give them a default - * value */ - if ($p_array == null || empty($p_array) || !isset($amount_min)) - { - $amount_min = 0; - $amount_max = 0; - - $desc = ''; - $qcode = (isset($qcode)) ? $qcode : ""; - if (isset($qcodesearch_op)) - $qcode = $qcodesearch_op; - $accounting = (isset($accounting)) ? $accounting : ""; - $periode = new Periode($this->db); - $g_user = new User($this->db); - $p_id = $g_user->get_periode(); - if ($p_id != null) - { - list($date_start, $date_end) = $periode->get_date_limit($p_id); - } - } - - /* if p_jrn : 0 if means all ledgers, if -1 means all ledger of this - * type otherwise only one ledger */ - $fil_ledger = ''; - $fil_amount = ''; - $fil_date = ''; - $fil_desc = ''; - $fil_sec = ''; - $fil_qcode = ''; - $fil_account = ''; - $fil_paid = ''; - $fil_date_paid=''; - - $and = ''; - $g_user = new User($this->db); - $p_action = $ledger_type; - if ($p_action == '') - $p_action = 'ALL'; - if ($r_jrn == -1) - { - - /* from compta.php the p_action is quick_writing instead of ODS */ - if ($p_action == 'quick_writing') - $p_action = 'ODS'; - - - $fil_ledger = $g_user->get_ledger_sql($p_action, 3); - $and = ' and '; - } - else - { - - if ($p_action == 'quick_writing') - $p_action = 'ODS'; - - $aLedger = $g_user->get_ledger($p_action, 3); - $fil_ledger = ''; - $sp = ''; - for ($i = 0; $i < count($r_jrn); $i++) - { - if (isset($r_jrn[$i]) ) - { - $a=$r_jrn[$i]; - $fil_ledger.=$sp . $a; - $sp = ','; - } - } - $fil_ledger = ' jrn_def_id in (' . $fil_ledger . ')'; - $and = ' and '; - - /* no ledger selected */ - if ($sp == '') - { - $fil_ledger = ''; - $and = ''; - } - } - - /* format the number */ - $amount_min = abs(toNumber($amount_min)); - $amount_max = abs(toNumber($amount_max)); - if ($amount_min > 0 && isNumber($amount_min)) - { - $fil_amount = $and . ' jr_montant >=' . $amount_min; - $and = ' and '; - } - if ($amount_max > 0 && isNumber($amount_max)) - { - $fil_amount.=$and . ' jr_montant <=' . $amount_max; - $and = ' and '; - } - /* -------------------------------------------------------------------------- * - * if both amount are the same then we need to search into the detail - * and we reset the fil_amount - * -------------------------------------------------------------------------- */ - if (isNumber($amount_min) && - isNumber($amount_max) && - $amount_min > 0 && - bccomp($amount_min, $amount_max, 2) == 0) - { - $fil_amount = $and . ' ( '; - - // Look in detail - $fil_amount .= 'jr_grpt_id in ( select distinct j_grpt from jrnx where j_montant = ' . $amount_min . ') '; - - //and the total operation - $fil_amount .= ' or '; - $fil_amount .= ' jr_montant = '.$amount_min; - - $fil_amount .= ')'; - $and = " and "; - } - // date - if (isset($date_start) && isDate($date_start) != null) - { - $fil_date = $and . " jr_date >= to_date('" . $date_start . "','DD.MM.YYYY')"; - $and = " and "; - } - if (isset($date_end) && isDate($date_end) != null) - { - $fil_date.=$and . " jr_date <= to_date('" . $date_end . "','DD.MM.YYYY')"; - $and = " and "; - } - // date paiement - if (isset($date_paid_start) && isDate($date_paid_start) != null) - { - $fil_date_paid = $and . " jr_date_paid >= to_date('" . $date_paid_start . "','DD.MM.YYYY')"; - $and = " and "; - } - if (isset($date_paid_end) && isDate($date_paid_end) != null) - { - $fil_date_paid.=$and . " jr_date_paid <= to_date('" . $date_paid_end . "','DD.MM.YYYY')"; - $and = " and "; - } - // comment - if (isset($desc) && $desc != null) - { - $desc = sql_string($desc); - $fil_desc = $and . " ( upper(jr_comment) like upper('%" . $desc . "%') or upper(jr_pj_number) like upper('%" . $desc . "%') " . - " or upper(jr_internal) like upper('%" . $desc . "%') - or jr_grpt_id in (select j_grpt from jrnx where j_text ~* '" . $desc . "') - or jr_id in (select jr_id from jrn_info where ji_value is not null and ji_value ~* '$desc') - )"; - $and = " and "; - } - // Poste - if (isset($accounting) && $accounting != null) - { - $fil_account = $and . " jr_grpt_id in (select j_grpt - from jrnx where j_poste::text like '" . sql_string($accounting) . "%' ) "; - $and = " and "; - } - // Quick Code - if (isset($qcodesearch_op)) - $qcode = $qcodesearch_op; - if (isset($qcode) && $qcode != null) - { - $fil_qcode = $and . " jr_grpt_id in ( select j_grpt from - jrnx where trim(j_qcode) = upper(trim('" . sql_string($qcode) . "')))"; - $and = " and "; - } - - // Only the unpaid - if (isset($unpaid)) - { - $fil_paid = $and . SQL_LIST_UNPAID_INVOICE; - $and = " and "; - } - - $g_user = new User(new Database()); - $g_user->Check(); - $g_user->check_dossier(dossier::id()); - - if ($g_user->admin == 0 && $g_user->is_local_admin() == 0) - { - $fil_sec = $and . " jr_def_id in ( select uj_jrn_id " . - " from user_sec_jrn where " . - " uj_login='" . $_SESSION['g_user'] . "'" . - " and uj_priv in ('R','W'))"; - } - $where = $fil_ledger . $fil_amount . $fil_date . $fil_desc . $fil_sec . $fil_amount . $fil_qcode . $fil_paid . $fil_account.$fil_date_paid; - $sql.=" where " . $where; - return array($sql, $where); - } - - /** - * @brief return a html string with the search_form - * \return a HTML string with the FORM - * \see build_search_sql - * \see search_form - * \see list_operation - */ - - function display_search_form() - { - $r = ''; - $type = $this->type; - - if ($type == "") - $type = 'ALL'; - $r.=''; - $button = new IButton('tfs'); - $button->label = _("Filtrer"); - $button->javascript = "toggleHideShow('search_form','tfs');"; - - $r.=$button->input(); - return $r; - } - - /** - * @brief return the last p_limit operation into an array - * @param$p_limit is the max of operation to return - * \return $p_array of Follow_Up object - */ - - function get_last($p_limit) - { - global $g_user; - $filter_ledger = $g_user->get_ledger_sql('ALL', 3); - $filter_ledger = str_replace('jrn_def_id', 'jr_def_id', $filter_ledger); - $sql = " - select jr_id,jr_pj_number,jr_date,to_char(jr_date,'DD.MM.YYYY') as jr_date_fmt,jr_montant, jr_comment,jr_internal,jrn_def_code - from jrn - join jrn_def on (jrn_def_id=jr_def_id) - where $filter_ledger - order by jr_date desc , substring(jr_pj_number,'[0-9]+$')::numeric desc limit $p_limit"; - $array = $this->db->get_array($sql); - return $array; - } - - /** - * @brief retreive the jr_grpt_id from a ledger - * @param $p_what the column to seek - * possible values are - * - internal - * @param $p_value the value of the col. - */ - function search_group($p_what, $p_value) - { - switch ($p_what) - { - case 'internal': - return $this->db->get_value('select jr_grpt_id from jrn where jr_internal=$1', array($p_value)); - } - } - - /** - * @brief retrieve operation from jrn - * @param $p_from periode (id) - * @param $p_to periode (id) - * @return an array - */ - function get_operation($p_from, $p_to) - { - global $g_user; - $jrn = ($this->id == 0) ? 'and ' . $g_user->get_ledger_sql() : ' and jr_def_id = ' . $this->id; - $sql = "select jr_id as id ,jr_internal as internal, " . - "jr_pj_number as pj,jr_grpt_id," . - " to_char(jr_date,'DDMMYY') as date_fmt, " . - " jr_comment as comment, jr_montant as montant ," . - " jr_grpt_id,jr_def_id" . - " from jrn join jrn_def on (jr_def_id=jrn_def_id) where " . - " jr_date >= (select p_start from parm_periode where p_id = $1) - and jr_date <= (select p_end from parm_periode where p_id = $2)" . - ' ' . $jrn . ' order by jr_date,substring(jr_pj_number,\'[0-9]+$\')::numeric asc'; - $ret = $this->db->get_array($sql, array($p_from, $p_to)); - return $ret; - } - - /** - * @brief return the used VAT code with a rate > 0 - * @return an array of tva_id,tva_label,tva_poste - */ - public function existing_vat() - { - if ($this->type == 'ACH') - { - $array = $this->db->get_array("select tva_id,tva_label,tva_poste from tva_rate where tva_rate != 0.0000 " . - " and exists (select qp_vat_code from quant_purchase - where qp_vat_code=tva_id and exists (select j_id from jrnx where j_jrn_def = $1)) order by tva_id", array($this->id)); - } - if ($this->type == 'VEN') - { - $array = $this->db->get_array("select tva_id,tva_label,tva_poste from tva_rate where tva_rate != 0.0000 " . - " and exists (select qs_vat_code from quant_sold - where qs_vat_code=tva_id and exists (select j_id from jrnx where j_jrn_def = $1)) order by tva_id", array($this->id)); - } - return $array; - } - - /** - * @brief get the amount of vat for a given jr_grpt_id from the table - * quant_purchase - * @param the jr_grpt_id - * @return array price=htva, [1] = vat, - * @note - * @see - @code - array - 'price' => string '91.3500' (length=7) - 'vat' => string '0.0000' (length=6) - 'priv' => string '0.0000' (length=6) - 'tva_nd_recup' => string '0.0000' (length=6) - - @endcode - */ - function get_other_amount($p_jr_id) - { - if ($this->type == 'ACH') - { - $array = $this->db->get_array('select sum(qp_price) as price,sum(qp_vat) as vat ' . - ',sum(coalesce(qp_nd_amount,0)+coalesce(qp_dep_priv,0)) as priv' . - ',sum(coalesce(qp_nd_tva_recup,0)+coalesce(qp_nd_tva,0)) as tva_nd' . - ',sum(qp_vat_sided) as tva_np' . - ' from quant_purchase join jrnx using(j_id) - where j_grpt=$1 ', array($p_jr_id)); - $ret = $array[0]; - } - if ($this->type == 'VEN') - { - $array = $this->db->get_array('select sum(qs_price) as price,sum(qs_vat) as vat ' . - ',0 as priv' . - ',0 as tva_nd' . - ',sum(qs_vat_sided) as tva_np' . - ' from quant_sold join jrnx using(j_id) - where j_grpt=$1 ', array($p_jr_id)); - $ret = $array[0]; - } - return $ret; - } - - /** - * @brief get the amount of vat for a given jr_grpt_id from the table - * quant_purchase - * @param the jr_grpt_id - * @return array of sum_vat, tva_label - * @note - * @see - @code - - @endcode - */ - function vat_operation($p_jr_id) - { - if ($this->type == 'ACH') - { - $array = $this->db->get_array('select coalesce(sum(qp_vat),0) as sum_vat,tva_id - from quant_purchase as p right join tva_rate on (qp_vat_code=tva_id) join jrnx using(j_id) - where tva_rate !=0.0 and j_grpt=$1 group by tva_id', array($p_jr_id)); - } - if ($this->type == 'VEN') - { - $array = $this->db->get_array('select coalesce(sum(qs_vat),0) as sum_vat,tva_id - from quant_sold as p right join tva_rate on (qs_vat_code=tva_id) join jrnx using(j_id) - where tva_rate !=0.0 and j_grpt=$1 group by tva_id', array($p_jr_id)); - } - return $array; - } - - /** - * @brief retrieve amount of previous periode - * @param $p_to frmo the start of the exercise until $p_to - * @return $array with vat, price,other_amount - * @note - * @see - @code - array - 'price' => string '446.1900' (length=8) - 'vat' => string '21.7600' (length=7) - 'priv' => string '0.0000' (length=6) - 'tva_nd_recup' => string '0.0000' (length=6) - 'tva' => - array - 0 => - array - 'sum_vat' => string '13.7200' (length=7) - 'tva_id' => string '1' (length=1) - 1 => - array - 'sum_vat' => string '8.0400' (length=6) - 'tva_id' => string '3' (length=1) - 2 => - array - 'sum_vat' => string '0.0000' (length=6) - 'tva_id' => string '4' (length=1) - - @endcode - */ - function previous_amount($p_to) - { - /* get the first periode of exercise */ - $periode = new Periode($this->db, $p_to); - $exercise = $periode->get_exercice(); - list ($min, $max) = $periode->get_limit($exercise); - // transform min into date - $min_date=$min->first_day(); - // transform $p_to into date - $periode_max=new Periode($this->db,$p_to); - $max_date=$periode_max->first_day(); - bcscale(2); - // min periode - if ($this->type == 'ACH') - { - /* get all amount exclude vat */ - $sql = "select coalesce(sum(qp_price),0) as price" . - " ,coalesce(sum(qp_vat),0) as vat " . - ',coalesce(sum(qp_dep_priv),0) as priv' . - ',coalesce(sum(qp_vat_sided),0) as reversed' . - ',coalesce(sum(qp_nd_tva_recup),0)+coalesce(sum(qp_nd_tva),0) as tva_nd' . - ',coalesce(sum(qp_vat_sided),0) as tva_np' . - ' from quant_purchase join jrnx using(j_id) ' . - " where j_date >= to_date($1,'DD.MM.YYYY') and j_date < to_date($2,'DD.MM.YYYY') ". - ' and j_jrn_def = $3'; - $array = $this->db->get_array($sql, array($min_date, $max_date,$this->id)); - - $ret = $array[0]; - /* retrieve all vat code */ - $array = $this->db->get_array("select coalesce(sum(qp_vat),0) as sum_vat,tva_id - from quant_purchase as p right join tva_rate on (qp_vat_code=tva_id) join jrnx using(j_id) - where tva_rate !=0 and j_date >= to_date($1,'DD.MM.YYYY') and j_date < to_date($2,'DD.MM.YYYY') - and j_jrn_def = $3 - group by tva_id", - array($min_date, $max_date,$this->id)); - $ret['tva'] = $array; - } - if ($this->type == 'VEN') - { - /* get all amount exclude vat */ - $sql = "select coalesce(sum(qs_price),0) as price" . - " ,coalesce(sum(qs_vat),0) as vat " . - ',0 as priv' . - ',0 as tva_nd' . - ',coalesce(sum(qs_vat_sided),0) as tva_np' . - ' from quant_sold join jrnx using(j_id) ' . - " where j_date >= to_date($1,'DD.MM.YYYY') and j_date < to_date($2,'DD.MM.YYYY') ". - ' and j_jrn_def = $3'; - $array = $this->db->get_array($sql, array($min_date, $max_date,$this->id)); - $ret = $array[0]; - /* retrieve all vat code */ - $array = $this->db->get_array("select coalesce(sum(qs_vat),0) as sum_vat,tva_id - from quant_sold as p right join tva_rate on (qs_vat_code=tva_id) join jrnx using(j_id) - where tva_rate !=0 and - j_date >= to_date($1,'DD.MM.YYYY') and j_date < to_date($2,'DD.MM.YYYY') - and j_jrn_def = $3 - group by tva_id", array($min_date, $max_date,$this->id)); - $ret['tva'] = $array; - } - if ($this->type=="FIN") - { - - /* find the quick code of this ledger */ - $ledger=new Acc_Ledger_Fin($this->db,$this->id); - $qcode=$ledger->get_bank(); - $bank_card=new Fiche($this->db,$qcode); - - /*add the amount from Opening Writing */ - $cond=sprintf(" j_jrn_def <> %d and j_date >= to_date('%s','DD.MM.YYYY') and j_date < to_date('%s','DD.MM.YYYY') ",$this->id,$min_date,$max_date); - $saldo = $bank_card->get_bk_balance ($cond); - $ret['amount']=bcsub($saldo['debit'],$saldo['credit']); - } - return $ret; - } - - //////////////////////////////////////////////////////////////////////////////// - // TEST MODULE - //////////////////////////////////////////////////////////////////////////////// - /** - * @brief this function is intended to test this class - */ - static function test_me($pCase = '') - { - if ($pCase == '') - { - echo Acc_Reconciliation::$javascript; - html_page_start(); - $cn = new Database(dossier::id()); - $_SESSION['g_user'] = 'phpcompta'; - $_SESSION['g_pass'] = 'phpcompta'; - - $id = (isset($_REQUEST['p_jrn'])) ? $_REQUEST['p_jrn'] : -1; - $a = new Acc_Ledger($cn, $id); - $a->with_concerned = true; - // Vide - echo '
      '; - echo $a->select_ledger()->input(); - echo HtmlInput::submit('go', 'Test it'); - echo '
      '; - if (isset($_POST['go'])) - { - echo "Ok "; - echo '
      '; - echo $a->show_form(); - echo HtmlInput::submit('post_id', 'Try me'); - echo '
      '; - // Show the predef operation - // Don't forget the p_jrn - echo '
      '; - echo dossier::hidden(); - echo ''; - $op = new Pre_operation($cn); - $op->p_jrn = $id; - $op->od_direct = 't'; - if ($op->count() != 0) - { - echo HtmlInput::submit('use_opd', 'Utilisez une opération prédéfinie',"","smallbutton"); - echo $op->show_button(); - } - echo '
      '; - exit('test_me'); - } - - if (isset($_POST['post_id'])) - { - - echo '
      '; - echo $a->show_form($_POST, 1); - echo HtmlInput::button('add', 'Ajout d\'une ligne', 'onClick="quick_writing_add_row()"'); - echo HtmlInput::submit('save_it', _("Sauver")); - echo '
      '; - exit('test_me'); - } - if (isset($_POST['save_it'])) - { - print 'saving'; - $array = $_POST; - $array['save_opd'] = 1; - try - { - $a->save($array); - } - catch (Exception $e) - { - alert($e->getMessage()); - echo '
      '; - - echo $a->show_form($_POST); - echo HtmlInput::submit('post_id', 'Try me'); - echo '
      '; - } - return; - } - // The GET at the end because automatically repost when you don't - // specify the url in the METHOD field - if (isset($_GET['use_opd'])) - { - $op = new Pre_op_advanced($cn); - $op->set_od_id($_REQUEST['pre_def']); - //$op->p_jrn=$id; - - $p_post = $op->compute_array(); - - echo '
      '; - - echo $a->show_form($p_post); - echo HtmlInput::submit('post_id', 'Use predefined operation'); - echo '
      '; - return; - } - }// if case = '' - /////////////////////////////////////////////////////////////////////////// - // search - if ($pCase == 'search') - { - html_page_start(); - $cn = new Database(dossier::id()); - $ledger = new Acc_Ledger($cn, 0); - $_SESSION['g_user'] = 'phpcompta'; - $_SESSION['g_pass'] = 'phpcompta'; - echo $ledger->search_form('ALL'); - } - /////////////////////////////////////////////////////////////////////////// - // reverse - // Give yourself the var and check in your tables - /////////////////////////////////////////////////////////////////////////// - if ($pCase == 'reverse') - { - $cn = new Database(dossier::id()); - $jr_internal = 'OD-01-272'; - try - { - $cn->start(); - $jrn_def_id = $cn->get_value('select jr_def_id from jrn where jr_internal=$1', array($jr_internal)); - $ledger = new Acc_Ledger($cn, $jrn_def_id); - $ledger->jr_id = $cn->get_value('select jr_id from jrn where jr_internal=$1', array($jr_internal)); - - echo "Ouvrez le fichier " . __FILE__ . " à la ligne " . __LINE__ . " pour changer jr_internal et vérifier le résultat de l'extourne"; - - $ledger->reverse('01.07.2010'); - } - catch (Exception $e) - { - $cn->rollback(); - var_dump($e); - } - $cn->commit(); - } - } - - /** - * create an array of the existing cat, to be used in a checkbox form - * - */ - static function array_cat() - { - $r = array( - array('cat' => 'VEN', 'name' => _("Journaux de vente")), - array('cat' => 'ACH', 'name' => _("Journaux d'achat")), - array('cat' => 'FIN', 'name' => _("Journaux Financier")), - array('cat' => 'ODS', 'name' => _("Journaux d'Opérations diverses")) - ); - return $r; - } - - /** - * Retrieve the third : supplier for purchase, customer for sale, bank for fin, - * @param $p_jrn_type type of the ledger FIN, VEN ACH or ODS - */ - function get_tiers($p_jrn_type, $jr_id) - { - if ($p_jrn_type == 'ODS') - return ' '; - $tiers = ''; - switch ($p_jrn_type) - { - case 'VEN': - $tiers = $this->db->get_value('select max(qs_client) from quant_sold join jrnx using (j_id) join jrn on (jr_grpt_id=j_grpt) where jrn.jr_id=$1', array($jr_id)); - break; - case 'ACH': - $tiers = $this->db->get_value('select max(qp_supplier) from quant_purchase join jrnx using (j_id) join jrn on (jr_grpt_id=j_grpt) where jrn.jr_id=$1', array($jr_id)); - - break; - case 'FIN': - $tiers = $this->db->get_value('select qf_other from quant_fin where jr_id=$1', array($jr_id)); - break; - } - if ($this->db->count() == 0) - return ''; - $name = $this->db->get_value('select ad_value from fiche_detail where ad_id=1 and f_id=$1', array($tiers)); - $first_name = $this->db->get_value('select ad_value from fiche_detail where ad_id=32 and f_id=$1', array($tiers)); - return $name . ' ' . $first_name; - } - - /** - * @brief listing of all ledgers - * @return HTML string - */ - function listing() - { - $str_dossier = dossier::get(); - $base_url = "?" . dossier::get() . "&ac=" . $_REQUEST['ac']; - - $r = ""; - $r.=_('Filtre')." ".HtmlInput::filter_table("cfgledger_table_id", "0", "1"); - $r.=''; - $r.=''; - $ret = $this->db->exec_sql("select distinct jrn_def_id,jrn_def_name, - jrn_def_class_deb,jrn_def_class_cred,jrn_def_type - from jrn_def order by jrn_def_name"); - $Max = Database::num_row($ret); - - - for ($i = 0; $i < $Max; $i++) - { - $l_line = Database::fetch_array($ret, $i); - $url = $base_url . "&sa=detail&p_jrn=" . $l_line['jrn_def_id']; - $r.=sprintf('', $url, h($l_line['jrn_def_name']).' ('.$l_line['jrn_def_type'].')'); - } - $r.= "
      ' . _('Ajout journal') . '
      %s
      "; - return $r; - } - - /** - * display detail of a ledger - * - */ - function display_ledger() - { - if ($this->load() == -1) - { - throw new Exception(_("Journal n'existe pas"), -1); - } - $type = $this->jrn_def_type; - $name = $this->jrn_def_name; - $code = $this->jrn_def_code; - $str_add_button=""; - /* widget for searching an account */ - $wSearch = new IPoste(); - $wSearch->set_attribute('ipopup', 'ipop_account'); - $wSearch->set_attribute('account', 'p_jrn_class_deb'); - $wSearch->set_attribute('no_overwrite', '1'); - $wSearch->set_attribute('noquery', '1'); - $wSearch->table = 3; - $wSearch->name = "p_jrn_class_deb"; - $wSearch->size = 20; - $wSearch->value = $this->jrn_def_class_deb; - $search = $wSearch->input(); - - $wPjPref = new IText(); - $wPjPref->name = 'jrn_def_pj_pref'; - $wPjPref->value = $this->jrn_def_pj_pref; - $pj_pref = $wPjPref->input(); - - $wPjSeq = new INum(); - $wPjSeq->value = 0; - $wPjSeq->name = 'jrn_def_pj_seq'; - $pj_seq = $wPjSeq->input(); - $last_seq = $this->get_last_pj(); - $name = $this->jrn_def_name; - - $hidden = HtmlInput::hidden('p_jrn', $this->id); - $hidden.= HtmlInput::hidden('sa', 'detail'); - $hidden.= dossier::hidden(); - $hidden.=HtmlInput::hidden('p_jrn_deb_max_line', 10); - $hidden.=HtmlInput::hidden('p_ech_lib', 'echeance'); - $hidden.=HtmlInput::hidden('p_jrn_type', $type); - - $min_row = new INum("min_row",$this->jrn_deb_max_line); - $min_row->prec=0; - - $description=new ITextarea('p_description'); - $description->style='class="itextarea" style="margin:0px;"'; - $description->value=$this->jrn_def_description; - $str_description=$description->input(); - - /* Load the card */ - $card = $this->get_fiche_def(); - $rdeb = explode(',', $card['deb']); - $rcred = explode(',', $card['cred']); - /* Numbering (only FIN) */ - $num_op = new ICheckBox('numb_operation'); - if ($this->jrn_def_num_op == 1) - $num_op->selected = true; - /* bank card */ - $qcode_bank = ''; - if ($type == 'FIN') - { - $f_id = $this->jrn_def_bank; - if (isNumber($f_id) == 1) - { - $fBank = new Fiche($this->db, $f_id); - $qcode_bank = $fBank->get_quick_code(); - } - } - $new = 0; - $cn = $this->db; - echo $hidden; - require_once NOALYSS_INCLUDE.'/template/param_jrn.php'; - } - - /** - * Verify before update - * - * @param type $array - * 'p_jrn' => string '3' (length=1) - 'sa' => string 'detail' (length=6) - 'gDossier' => string '82' (length=2) - 'p_jrn_deb_max_line' => string '10' (length=2) - 'p_ech_lib' => string 'echeance' (length=8) - 'p_jrn_type' => string 'ACH' (length=3) - 'p_jrn_name' => string 'Achat' (length=5) - 'jrn_def_pj_pref' => string 'ACH' (length=3) - 'jrn_def_pj_seq' => string '0' (length=1) - 'FICHECRED' => - array - 0 => string '4' (length=1) - 'FICHEDEB' => - array - 0 => string '7' (length=1) - 1 => string '5' (length=1) - 2 => string '13' (length=2) - 'update' => string 'Sauve' (length=5 - * @exception is throw is test are not valid - */ - function verify_ledger($array) - { - extract($array); - try - { - if (isNumber($p_jrn) == 0) - throw new Exception("Id invalide"); - if (isNumber($p_jrn_deb_max_line) == 0) - throw new Exception(_("Nombre de ligne incorrect")); - if (trim($p_jrn_name) == "") - throw new Exception("Nom de journal invalide"); - if ($this->db->get_value("select count(*) from jrn_def where jrn_def_name=$1 and jrn_Def_id<>$2", array($p_jrn_name, $p_jrn)) > 0) - throw new Exception(_("Un journal avec ce nom existe déjà")); - if ($p_jrn_type == 'FIN') - { - $a = new Fiche($this->db); - $result = $a->get_by_qcode(trim(strtoupper($_POST['bank'])), false); - if ($result == 1) - throw new Exception(_("Aucun compte en banque n'est donné")); - } - if ($p_jrn_type == "-1") { - throw new Exception(_('Choix du type de journal est obligatoire')); - } - } - catch (Exception $e) - { - throw $e; - } - } - - /** - * update a ledger - * @param type $array normally post - * @see verify_ledger - */ - function update($array = '') - { - if ($array == null) - throw new Exception('save cannot use a empty array'); - - extract($array); - $this->jrn_def_id = $p_jrn; - $this->jrn_def_name = $p_jrn_name; - $this->jrn_def_ech_lib = $p_ech_lib; - $this->jrn_def_max_line_deb = ($p_jrn_deb_max_line<1)?1:$p_jrn_deb_max_line; - $this->jrn_def_type = $p_jrn_type; - $this->jrn_def_pj_pref = $jrn_def_pj_pref; - $this->jrn_def_fiche_deb = (isset($FICHEDEB)) ? join($FICHEDEB, ',') : ""; - $this->jrn_deb_max_line=($min_row<1)?1:$min_row; - $this->jrn_def_description=$p_description; - switch ($this->jrn_def_type) - { - case 'ACH': - case 'VEN': - $this->jrn_def_fiche_cred = (isset($FICHECRED)) ? join($FICHECRED, ',') : ''; - break; - case 'ODS': - $this->jrn_def_class_deb = $p_jrn_class_deb; - $this->jrn_def_fiche_cred=null; - break; - case 'FIN': - $a = new Fiche($this->db); - $result = $a->get_by_qcode(trim(strtoupper($_POST['bank'])), false); - $bank = $a->id; - $this->jrn_def_bank = $bank; - if ($result == -1) - throw new Exception(_("Aucun compte en banque n'est donné")); - $this->jrn_def_num_op = (isset($numb_operation)) ? 1 : 0; - break; - } - - parent::update(); - //Reset sequence if needed - if ($jrn_def_pj_seq != 0) - { - $Res = $this->db->alter_seq("s_jrn_pj" . $p_jrn, $jrn_def_pj_seq); - } - } - - function input_paid() - { - $r = ''; - $r.='
      '; - $r.='

      ' . _('Payé par') . '

      '; - $mp = new Acc_Payment($this->db); - $mp->set_parameter('ledger_source', $this->id); - $r.=$mp->select(); - $r.='
      '; - return $r; - } - - /** - * display screen to enter a new ledger - */ - function input_new() - { - $retry=HtmlInput::default_value_post("sa", ""); -// if ( $retry == "add") { - $default_type=HtmlInput::default_value_post("p_jrn_type", -1); - $previous_jrn_def_pj_pref=HtmlInput::default_value_post("jrn_def_pj_pref",""); - $previous_p_description=HtmlInput::default_value_post("p_description",""); - $previous_p_jrn_name=HtmlInput::default_value_post('p_jrn_name',''); - $previous_p_jrn_type = HtmlInput::default_value_post("p_jrn_type",""); -// } - global $g_user; - $f_add_button=new ISmallButton('add_card'); - $f_add_button->label=_('Créer une nouvelle fiche'); - $f_add_button->tabindex=-1; - $f_add_button->set_attribute('jrn',-1); - $f_add_button->javascript=" this.jrn=-1;select_card_type({type_cat:4});"; - - $str_add_button=""; - if ($g_user->check_action(FICADD)==1) - { - $str_add_button=$f_add_button->input(); - } - $wSearch = new IPoste(); - $wSearch->table = 3; - $wSearch->set_attribute('ipopup', 'ipop_account'); - $wSearch->set_attribute('account', 'p_jrn_class_deb'); - $wSearch->set_attribute('no_overwrite', '1'); - $wSearch->set_attribute('noquery', '1'); - - $wSearch->name = "p_jrn_class_deb"; - $wSearch->size = 20; - - $search = $wSearch->input(); - // default for ACH - $default_deb_purchase = $this->get_default_card('ACH', 'D'); - $default_cred_purchase = $this->get_default_card('ACH', 'C'); - - // default for VEN - $default_deb_sale = $this->get_default_card('VEN', 'D'); - $default_cred_sale = $this->get_default_card('VEN', 'C'); - - // default for FIN - $default_fin = $this->get_default_card("FIN", ""); - - //default ods - $default_ods = $this->get_default_card("ODS", ""); - - /* construct all the hidden */ - $hidden = HtmlInput::hidden('p_jrn', -1); - $hidden.= HtmlInput::hidden('p_action', 'jrn'); - $hidden.= HtmlInput::hidden('sa', 'add'); - $hidden.= dossier::hidden(); - $hidden.=HtmlInput::hidden('p_jrn_deb_max_line', 10); - $hidden.=HtmlInput::hidden('p_ech_lib', 'echeance'); - - /* properties of the ledger */ - $name = $previous_p_jrn_name; - $code = ""; - $wType = new ISelect(); - $a_jrn= $this->db->make_array("select '-1',' -- "._("choix du type de journal")." -- ' union select jrn_type_id,jrn_desc from jrn_type"); - $wType->selected='-1'; - $wType->value =$a_jrn; - $wType->name = "p_jrn_type"; - $wType->id= "p_jrn_type_select_id"; - $wType->javascript=' onchange="show_ledger_div()"'; - $wType->selected=$default_type; - $type = $wType->input(); - $rcred = $rdeb = array(); - $wPjPref = new IText(); - $wPjPref->name = 'jrn_def_pj_pref'; - $wPjPref->value=$previous_jrn_def_pj_pref; - $pj_pref = $wPjPref->input(); - $pj_seq = ''; - $last_seq = 0; - $new = 1; - $description=new ITextarea('p_description'); - $description->style='class="itextarea" style="margin:0px;"'; - $description->value=$previous_p_description; - $str_description=$description->input(); - /* bank card */ - $qcode_bank = ''; - /* Numbering (only FIN) */ - $num_op = new ICheckBox('numb_operation'); - echo dossier::hidden(); - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - echo $hidden; - - $cn = $this->db; - $min_row = new INum("min_row",MAX_ARTICLE); - $min_row->prec=0; - require_once NOALYSS_INCLUDE.'/template/param_jrn.php'; - } - - /** - * Insert a new ledger - * @param type $array normally $_POST - * @see verify_ledger - */ - function save_new($array) - { - $this->load(); - extract($array); - $this->jrn_def_id = -1; - $this->jrn_def_name = $p_jrn_name; - $this->jrn_def_ech_lib = $p_ech_lib; - $this->jrn_def_max_line_deb = $p_jrn_deb_max_line; - $this->jrn_def_type = $p_jrn_type; - $this->jrn_def_pj_pref = $jrn_def_pj_pref; - $this->jrn_def_fiche_deb = (isset($FICHEDEB)) ? join($FICHEDEB, ',') : ""; - $this->jrn_deb_max_line=$min_row; - $this->jrn_def_code = sprintf("%s%02d", trim(substr($this->jrn_def_type, 0, 1)), Acc_Ledger::next_number($this->db, $this->jrn_def_type)); - $this->jrn_def_description=$p_description; - switch ($this->jrn_def_type) - { - case 'ACH': - case 'VEN': - $this->jrn_def_fiche_cred = (isset($FICHECRED)) ? join($FICHECRED, ',') : ''; - - break; - case 'ODS': - $this->jrn_def_class_deb = $p_jrn_class_deb; - $this->jrn_def_fiche_cred = null; - break; - case 'FIN': - $a = new Fiche($this->db); - $result = $a->get_by_qcode(trim(strtoupper($_POST['bank'])), false); - $bank = $a->id; - $this->jrn_def_bank = $bank; - if ($result == -1) - throw new Exception(_("Aucun compte en banque n'est donné")); - $this->jrn_def_num_op = (isset($numb_operation)) ? 1 : 0; - break; - } - - parent::insert(); - } - - /** - * delete a ledger IF is not already used - * @exeption : cannot delete - */ - function delete_ledger() - { - try - { - if ($this->db->get_value("select count(jr_id) from jrn where jr_def_id=$1", array($this->jrn_def_id)) > 0) - throw new Exception(_("Impossible d'effacer un journal qui contient des opérations")); - parent::delete(); - } - catch (Exception $e) - { - throw $e; - } - } - /** - * Get operation from the ledger type before, after or with the - * given date . The array is filtered by the ledgers granted to the - * user - * @global type $g_user - * @param $p_date Date (d.m.Y) - * @param $p_ledger_type VEN ACH - * @param type $sql_op < > or = - * @return array from jrn (jr_id, jr_internal, jr_date, jr_comment,jr_pj_number,jr_montant) - * @throws Exception - */ - function get_operation_date($p_date,$p_ledger_type,$sql_op) - { - global $g_user; - switch ($p_ledger_type) - { - case 'ACH': - $filter=$g_user->get_ledger_sql('ACH',3); - break; - case 'VEN': - $filter=$g_user->get_ledger_sql('VEN',3); - break; - default: - throw new Exception ('Ledger_type invalid : '.$p_ledger_type); - } - - - $sql = "select jr_id, jr_internal, jr_date, jr_comment,jr_pj_number,jr_montant - from jrn - join jrn_def on (jrn_def_id=jr_def_id) - where - jr_ech is not null - and jr_ech $sql_op to_date($1,'DD.MM.YYYY') - and coalesce (jr_rapt,'xx') <> 'paid' - and $filter - "; - $array=$this->db->get_array($sql,array($p_date)); - return $array; - } - /** - * @brief get info from supplier to pay today - */ - function get_supplier_now() - { - $array=$this->get_operation_date(Date('d.m.Y'), 'ACH', '='); - return $array; - } - /** - * @brief get info from supplier not yet paid - */ - function get_supplier_late() - { - $array=$this->get_operation_date(Date('d.m.Y'), 'ACH', '<'); - return $array; - } - /** - * @brief get info from customer to pay today - */ - function get_customer_now() - { - $array=$this->get_operation_date(Date('d.m.Y'), 'VEN', '='); - return $array; - } - /** - * @brief get info from customer not yet paid - */ - function get_customer_late() - { - $array=$this->get_operation_date(Date('d.m.Y'), 'VEN', '<'); - return $array; - } - function convert_from_follow($p_ag_id) - { - global $g_user; - if (isNumber($p_ag_id)==0) return null; - if (! $g_user->can_read_action($p_ag_id)) die (_('Action non accessible')); - $array=array(); - - // retrieve info from action_gestion - $tiers_id=$this->db->get_value('select f_id_dest from action_gestion where ag_id=$1',array($p_ag_id)); - if ( $this->db->size() !=0 ) - $qcode=$this->db->get_value('select j_qcode from vw_poste_qcode where f_id=$1',array($tiers_id)); - else - $qcode=""; - - $comment=$this->db->get_value('select ag_title from action_gestion where ag_id=$1',array($p_ag_id)); - $array['e_client']=$qcode; - $array['e_comm']=$comment; - - // retrieve info from action_detail - $a_item=$this->db->get_array('select f_id,ad_text,ad_pu,ad_quant,ad_tva_id,ad_tva_amount,j_qcode - from - action_detail - left join vw_poste_qcode using(f_id) - where - ag_id=$1',array($p_ag_id)); - - $array['nb_item']=($this->nb > count($a_item))?$this->nb:count($a_item); - for ($i=0;$idb->get_value('select pcm_lib from tmp_pcmn where pcm_val=$1',array($p_value)); - return $lib; - } - /** - * Let you select the repository before confirming a sale or a purchase. - * Returns an empty string if the company doesn't use stock - * @brief Let you select the repository before confirming a sale or a purchase. - * @global type $g_parameter check if company is using stock - * @param type $p_readonly - * @param type $p_repo - * @return string - */ - public function select_depot($p_readonly, $p_repo) - { - global $g_parameter; - $r=($p_readonly==false)?'
      ':'
      '; - // Show the available repository - if ($g_parameter->MY_STOCK=='Y') - { - $sel=HtmlInput::select_stock($this->db, 'repo', 'W'); - $sel->readOnly=$p_readonly; - if ($p_readonly==true) - $sel->selected=$p_repo; - $r.="

      "._('Dans le dépôt')." : "; - $r.=$sel->input(); - $r.='

      '; - } else - { - $r.=''.'Stock non utilisé'.''; - } - $r.='
      '; - return $r; - - } - /** - * Create a button to encode a new operation into the same ledger - * @return string - */ - function button_new_operation() - { - $url=http_build_query(array('ac'=>$_REQUEST['ac'],'gDossier'=>$_REQUEST['gDossier'],'p_jrn'=>$_REQUEST['p_jrn'])); - $button = HtmlInput::button_anchor(_("Nouvelle opération"), 'do.php?'.$url); - return '

      '.$button.'

      '; - } - -} -?> \ No newline at end of file diff --git a/sources/include/class_acc_ledger_fin.php b/sources/include/class_acc_ledger_fin.php deleted file mode 100644 index 61e40c5..0000000 --- a/sources/include/class_acc_ledger_fin.php +++ /dev/null @@ -1,1143 +0,0 @@ -type = 'FIN'; - } - - /** - * Verify that the data are correct before inserting or confirming - * @brief verify the data - * @param an array (usually $_POST) - * @return String - * @throw Exception on error occurs - */ - - public function verify($p_array) - { - global $g_user; - if (is_array($p_array ) == false || empty($p_array)) - throw new Exception ("Array empty"); - /* - * Check needed value - */ - check_parameter($p_array,'p_jrn'); - - - extract($p_array); - /* check for a double reload */ - if (isset($mt) && $this->db->count_sql('select jr_mt from jrn where jr_mt=$1', array($mt)) != 0) - throw new Exception(_('Double Encodage'), 5); - - /* check if we can write into this ledger */ - if ($g_user->check_jrn($p_jrn) != 'W') - throw new Exception(_('Accès interdit'), 20); - - /* check if there is a bank account linked to the ledger */ - $bank_id = $this->get_bank(); - - if ($this->db->count() == 0) - throw new Exception("Ce journal n'a pas de compte en banque, allez dans paramètre->journal pour régler cela"); - /* check if the accounting of the bank is correct */ - $fBank = new Fiche($this->db, $bank_id); - $bank_accounting = $fBank->strAttribut(ATTR_DEF_ACCOUNT); - if (trim($bank_accounting) == '') - throw new Exception('Le poste comptable du compte en banque de ce journal est invalide'); - - /* check if the account exists */ - $poste = new Acc_Account_Ledger($this->db, $bank_accounting); - if ($poste->load() == false) - throw new Exception('Le poste comptable du compte en banque de ce journal est invalide'); - if ($chdate != 1 && $chdate != 2) throw new Exception ('Le choix de date est invalide'); - if ( $chdate == 1 ) - { - /* check if the date is valid */ - if (isDate($e_date) == null) - { - throw new Exception('Date invalide', 2); - } - $oPeriode = new Periode($this->db); - if ($this->check_periode() == false) - { - $periode = $oPeriode->find_periode($e_date); - } - else - { - $oPeriode->p_id = $periode; - list ($min, $max) = $oPeriode->get_date_limit(); - if (cmpDate($e_date, $min) < 0 || - cmpDate($e_date, $max) > 0) - throw new Exception(_('Date et periode ne correspondent pas'), 6); - } - - /* check if the periode is closed */ - if ($this->is_closed($periode) == 1) - { - throw new Exception(_('Periode fermee'), 6); - } - - /* check if we are using the strict mode */ - if ($this->check_strict() == true) - { - /* if we use the strict mode, we get the date of the last - operation */ - $last_date = $this->get_last_date(); - if ($last_date != null && cmpDate($e_date, $last_date) < 0) - throw new Exception(_('Vous utilisez le mode strict la dernière operation est à la date du ') - . $last_date . _(' vous ne pouvez pas encoder à une date antérieure'), 15); - } - } - - $acc_pay = new Acc_Operation($this->db); - - $nb = 0; - $tot_amount = 0; - //---------------------------------------- - // foreach item - //---------------------------------------- - for ($i = 0; $i < $nb_item; $i++) - { - if (strlen(trim(${'e_other' . $i})) == 0) - continue; - /* check if amount are numeric and */ - if (isNumber(${'e_other' . $i . '_amount'}) == 0) - throw new Exception('La fiche ' . ${'e_other' . $i} . 'a un montant invalide [' . ${'e_other' . $i . '_amount'} . ']', 6); - - /* compute the total */ - $tot_amount+=round(${'e_other' . $i . '_amount'}, 2); - /* check if all card has a ATTR_DEF_ACCOUNT */ - $fiche = new Fiche($this->db); - $fiche->get_by_qcode(${'e_other' . $i}); - if ($fiche->empty_attribute(ATTR_DEF_ACCOUNT) == true) - throw new Exception('La fiche ' . ${'e_other' . $i} . 'n\'a pas de poste comptable', 8); - - $sposte = $fiche->strAttribut(ATTR_DEF_ACCOUNT); - // if 2 accounts, take only the debit one for customer - if (strpos($sposte, ',') != 0) - { - $array = explode(',', $sposte); - $poste_val = $array[1]; - } - else - { - $poste_val = $sposte; - } - /* The account exists */ - $poste = new Acc_Account_Ledger($this->db, $poste_val); - if ($poste->load() == false) - { - throw new Exception('Pour la fiche ' . ${'e_other' . $i} . ' le poste comptable [' . $poste->id . 'n\'existe pas', 9); - } - /* Check if the card belong to the ledger */ - $fiche = new Fiche($this->db); - $fiche->get_by_qcode(${'e_other' . $i}); - if ($fiche->belong_ledger($p_jrn, 'deb') != 1) - throw new Exception('La fiche ' . ${'e_other' . $i} . 'n\'est pas accessible à ce journal', 10); - if ($chdate == 2) - { - {/* check if the date is valid */ - if (isDate(${'dateop' . $i}) == null) - { - throw new Exception('Date invalide', 2); - } - $oPeriode = new Periode($this->db); - if ($this->check_periode() == false) - { - $periode = $oPeriode->find_periode(${'dateop' . $i}); - } - else - { - $oPeriode->p_id = $periode; - list ($min, $max) = $oPeriode->get_date_limit(); - if (cmpDate(${'dateop' . $i}, $min) < 0 || - cmpDate(${'dateop' . $i}, $max) > 0) - throw new Exception(_('Date et periode ne correspondent pas'), 6); - } - - /* check if the periode is closed */ - if ($this->is_closed($periode) == 1) - { - throw new Exception(_('Periode fermee'), 6); - } - - /* check if we are using the strict mode */ - if ($this->check_strict() == true) - { - /* if we use the strict mode, we get the date of the last - operation */ - $last_date = $this->get_last_date(); - if ($last_date != null && cmpDate(${'dateop' . $i}, $last_date) < 0) - throw new Exception(_('Vous utilisez le mode strict la dernière operation est à la date du ') - . $last_date . _(' vous ne pouvez pas encoder à une date antérieure'), 15); - } - } - } - $nb++; - } - if ($nb == 0) - throw new Exception('Il n\'y a aucune opération', 12); - - /* Check if the last_saldo and first_saldo are correct */ - if (strlen(trim($last_sold)) != 0 && isNumber($last_sold) && - strlen(trim($first_sold)) != 0 && isNumber($first_sold)) - { - $diff = $last_sold - $first_sold; - $diff = round($diff, 2) - round($tot_amount, 2); - if ($first_sold != 0 && $last_sold != 0) - { - if ($diff != 0) - throw new Exception('Le montant de l\'extrait est incorrect' . - $tot_amount . ' extrait ' . $diff, 13); - } - } - } - - /**\brief - * \param $p_array contains the value usually it is $_POST - * \return string with html code - * \note the form tag are not set here - */ - - function input($p_array = null, $notused = 0) - { - global $g_parameter, $g_user; - if ($p_array != null) - extract($p_array); - - $pview_only = false; - - $min_article=$this->get_min_row(); - - $f_add_button = new IButton('add_card'); - $f_add_button->label = _('Créer une nouvelle fiche'); - $f_add_button->set_attribute('ipopup', 'ipop_newcard'); - $f_add_button->set_attribute('jrn', $this->id); - $f_add_button->javascript = " this.jrn=\$('p_jrn').value;select_card_type(this);"; - $str_add_button = ($g_user->check_action(FICADD) == 1) ? $f_add_button->input() : ""; - - // The first day of the periode - $pPeriode = new Periode($this->db); - list ($l_date_start, $l_date_end) = $pPeriode->get_date_limit($g_user->get_periode()); - if ($g_parameter->MY_DATE_SUGGEST == 'Y') - $op_date = (!isset($e_date) ) ? $l_date_start : $e_date; - else - $op_date = (!isset($e_date) ) ? '' : $e_date; - - $r = ""; - - $r.=dossier::hidden(); - $f_legend = 'Banque, caisse'; - // Date - //-- - $Date = new IDate("e_date", $op_date); - $Date->setReadOnly($pview_only); - $f_date = $Date->input(); - $f_period = ''; - if ($this->check_periode() == true) - { - // Periode - //-- - $l_user_per = (isset($periode)) ? $periode : $g_user->get_periode(); - $period = new IPeriod(); - $period->cn = $this->db; - $period->type = OPEN; - $period->value = $l_user_per; - $period->user = $g_user; - $period->name = 'periode'; - try - { - $l_form_per = $period->input(); - } - catch (Exception $e) - { - if ($e->getCode() == 1) - { - throw new Exception(_("Aucune période ouverte")); - - } - } - $label = HtmlInput::infobulle(3); - $f_period = "Période comptable $label" . $l_form_per; - } - - // Ledger (p_jrn) - //-- - $onchange="update_bank();ajax_saldo('first_sold');update_name();update_row('fin_item');"; - - if ($g_parameter->MY_DATE_SUGGEST == 'Y') - $onchange .= 'get_last_date();'; - if ($g_parameter->MY_PJ_SUGGEST=='Y') - $onchange .= 'update_pj();'; - - $add_js = 'onchange="'.$onchange.'"'; - $wLedger = $this->select_ledger('FIN', 2); - if ($wLedger == null) - throw new Exception(_('Pas de journal disponible')); - - $wLedger->javascript = $add_js; - - $label = " Journal " . HtmlInput::infobulle(2); - $f_jrn = $label . $wLedger->input(); - - - // retrieve bank name, code and account from the jrn_def.jrn_def_bank - - $f_bank = '' . $this->get_bank_name() . ''; - if ($this->bank_id == "") - { - echo h2("Journal de banque non configuré " . $this->get_name(), ' class="error"'); - echo ' vous devez donner à ce journal un compte en banque (fiche), modifiez dans CFGLED'; - alert("Journal de banque non configuré " . $this->get_name()); - } - - $f_legend_detail = 'Opérations financières'; - //-------------------------------------------------- - // Saldo begin end - //------------------------------------------------- - // Extrait - $default_pj = ''; - if ($g_parameter->MY_PJ_SUGGEST == 'Y') - { - $default_pj = $this->guess_pj(); - } - $wPJ = new IText('e_pj'); - $wPJ->readonly = false; - $wPJ->size = 10; - $wPJ->value = (isset($e_pj)) ? $e_pj : $default_pj; - - $f_extrait = $wPJ->input() . HtmlInput::hidden('e_pj_suggest', $default_pj); - $label = HtmlInput::infobulle(7); - - $first_sold = (isset($first_sold)) ? $first_sold : ""; - $wFirst = new INum('first_sold', $first_sold); - - $last_sold = isset($last_sold) ? $last_sold : ""; - $wLast = new INum('last_sold', $last_sold); - - - $max = (isset($nb_item)) ? $nb_item : $min_article; - - $r.= HtmlInput::hidden('nb_item', $max); - //-------------------------------------------------- - // financial operation - //------------------------------------------------- - - $array = array(); - // Parse each " tiers" - for ($i = 0; $i < $max; $i++) - { - $tiers = (isset(${"e_other" . $i})) ? ${"e_other" . $i} : ""; - - $tiers_amount = (isset(${"e_other$i" . "_amount"})) ? round(${"e_other$i" . "_amount"}, 2) : 0; - - $tiers_comment = (isset(${"e_other$i" . "_comment"})) ? ${"e_other$i" . "_comment"} : ""; - - $operation_date=new IDate("dateop".$i); - $operation_date->value=(isset(${'dateop'.$i}))?${'dateop'.$i}:""; - $array[$i]['dateop']=$operation_date->input(); - ${"e_other$i" . "_amount"} = (isset(${"e_other$i" . "_amount"})) ? ${"e_other$i" . "_amount"} : 0; - - $W1 = new ICard(); - $W1->label = ""; - $W1->name = "e_other" . $i; - $W1->id = "e_other" . $i; - $W1->value = $tiers; - $W1->extra = 'deb'; // credits - $W1->typecard = 'deb'; - $W1->style=' style = "vertical-align:65%"'; - $W1->set_dblclick("fill_ipopcard(this);"); - $W1->set_attribute('ipopup', 'ipopcard'); - - // name of the field to update with the name of the card - $W1->set_attribute('label', 'e_other_name' . $i); - // name of the field to update with the name of the card - $W1->set_attribute('typecard', 'filter'); - // Add the callback function to filter the card on the jrn - $W1->set_callback('filter_card'); - $W1->set_function('fill_data'); - $W1->javascript = sprintf(' onchange="fill_data_onchange(\'%s\');" ', $W1->name); - $W1->readonly = $pview_only; - $array[$i]['qcode'] = $W1->input(); - $array[$i]['search'] = $W1->search(); - - // Card name - // - $card_name = ""; - if ($tiers != "") - { - $fiche = new Fiche($this->db); - $fiche->get_by_qcode($tiers); - $card_name = $this->db->get_value("Select ad_value from fiche_detail where ad_id=$1 and f_id=$2", array(ATTR_DEF_NAME, $fiche->id)); - } - - $wcard_name = new IText("e_other_name" . $i, $card_name); - $wcard_name->id=$wcard_name->name; - $wcard_name->readOnly = true; - $array[$i]['cname'] = $wcard_name->input(); - - // Comment - $wComment = new IText("e_other$i" . "_comment", $tiers_comment); - - $wComment->size = 35; - $wComment->setReadOnly($pview_only); - $array[$i]['comment'] = $wComment->input(); - // amount - $wAmount = new INum("e_other$i" . "_amount", $tiers_amount); - - $wAmount->size = 7; - $wAmount->setReadOnly($pview_only); - $array[$i]['amount'] = $wAmount->input(); - // concerned - ${"e_concerned" . $i} = (isset(${"e_concerned" . $i})) ? ${"e_concerned" . $i} : "" - ; - $wConcerned = new IConcerned("e_concerned" . $i, ${"e_concerned" . $i}); - $wConcerned->tiers="e_other" . $i; - $wConcerned->setReadOnly($pview_only); - $wConcerned->amount_id = "e_other" . $i . "_amount"; - - $wConcerned->paid = 'paid'; - $array[$i]['concerned'] = $wConcerned->input(); - } - - ob_start(); - require_once NOALYSS_INCLUDE.'/template/form_ledger_fin.php'; - $r.=ob_get_contents(); - ob_end_clean(); - $r.= create_script("$('".$Date->id."').focus()"); - - return $r; - } - - /**\brief show the summary before inserting into the database, it - * calls the function for adding a attachment. The function verify - * should be called before - * \param $p_array an array usually is $_POST - * \return string with code html - */ - - public function confirm($p_array, $p_nothing = 0) - { - global $g_parameter,$g_user; - $r = ""; - bcscale(2); - extract($p_array); - $pPeriode = new Periode($this->db); - if ($this->check_periode() == true) - { - $pPeriode->p_id = $periode; - } - else - { - if (isDate($e_date) != null) { - $pPeriode->find_periode($e_date); - } else { - $pPeriode->p_id=$g_user->get_periode(); - } - } - - list ($l_date_start, $l_date_end) = $pPeriode->get_date_limit(); - $exercice = $pPeriode->get_exercice(); - $r.=''; - $r.='
      Banque, caisse '; - $r.= '
      '; - $r.='

      ' . $this->get_name() . '

      '; - $r.= '
      '; - $r.=''; - // Date - //-- - $r.=""; - if ( $chdate == 1 ) $r.='"; - $r.=""; - // Ledger (p_jrn) - //-- - $r.=''; - $r.=''; - $this->id = $p_jrn; - $r.=''; - $r.=''; - - //retrieve bank name - $bk_id = $this->get_bank(); - - $fBank = new Fiche($this->db, $bk_id); - $e_bank_account_label = $this->get_bank_name(); - - $filter_year = " j_tech_per in (select p_id from parm_periode where p_exercice='" . $exercice . "')"; - - $acc_account = new Acc_Account_Ledger($this->db, $fBank->strAttribut(ATTR_DEF_ACCOUNT)); - $asolde= $acc_account->get_solde_detail($filter_year); - $deb=$asolde['debit']; - $cred=$asolde['credit']; - $solde= bcsub($deb, $cred); - $new_solde=$solde; - - $r.="
      Date : ' . $e_date; - // Periode - //-- - $r.=""; - $r.="Période comptable "; - $r.=$l_date_start . ' - ' . $l_date_end; - $r.="
      Journal '; - $r.=h($this->get_name()); - $r.='
      Banque "; - $r.=$e_bank_account_label; - - $r.="
      "; - - $r.='
      '; - - $r.='

      Extrait de compte

      '; - //-------------------------------------------------- - // Saldo begin end - //------------------------------------------------- - $r.=''; - $r.=''; - // Extrait - //-- - $r.=tr('' . td(h($e_pj))); - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.='
      Numéro d\'extrait
      Solde début extrait ' . nbm($first_sold) . '
      Solde fin extrait ' . nbm($last_sold) . '
      '; - - $r.='

      Opérations financières

      '; - //-------------------------------------------------- - // financial operation - //------------------------------------------------- - $r.=''; - $r.=""; - if ($chdate==2) $r.=''; - $r.=""; - $r.=""; - $r.=""; - $r.=''; - - /* if we use the AC */ - if ($g_parameter->MY_ANALYTIC != 'nu') - { - $anc = new Anc_Plan($this->db); - $a_anc = $anc->get_list(); - $x = count($a_anc); - /* set the width of the col */ - $r.=''; - - /* add hidden variables pa[] to hold the value of pa_id */ - $r.=Anc_Plan::hidden($a_anc); - } - $r.=""; - // Parse each " tiers" - $tot_amount = 0; - //-------------------------------------------------- - // For each items - //-------------------------------------------------- - for ($i = 0; $i < $nb_item; $i++) - { - - $tiers = (isset(${"e_other" . $i})) ? ${"e_other" . $i} : "" - ; - - if (strlen(trim($tiers)) == 0) - continue; - $tiers_label = ""; - $tiers_amount = round(${"e_other$i" . "_amount"}, 2); - $tot_amount = bcadd($tot_amount, $tiers_amount); - $tiers_comment = h(${"e_other$i" . "_comment"}); - // If $tiers has a value - $fTiers = new Fiche($this->db); - $fTiers->get_by_qcode($tiers); - - $tiers_label = $fTiers->strAttribut(ATTR_DEF_NAME); - - $r.=""; - if ($chdate==2) $r.=td(${"dateop".$i}); - $r.=""; - // label - $r.=''; - // Comment - $r.=''; - // amount - $r.=''; - // concerned - $r.=''; - // encode the pa - if ($g_parameter->MY_ANALYTIC != 'nu' && preg_match("/^[6,7]/", $fTiers->strAttribut(ATTR_DEF_ACCOUNT)) == 1) // use of AA - { - // show form - $anc_op = new Anc_Operation($this->db); - $null = ($g_parameter->MY_ANALYTIC == 'op') ? 1 : 0; - $r.=''; - } - - $r.=''; - } - $r.="
      DateNomCommentaireMontant Op. Concernée(s)' . _('Compt. Analytique') . '
      " . ${'e_other' . $i} . "'; - $r.=$fTiers->strAttribut(ATTR_DEF_NAME); - $r.='' . $tiers_comment . '' . nbm($tiers_amount) . ''; - if (${"e_concerned" . $i} != '') - { - $jr_internal = $this->db->get_array("select jr_internal from jrn where jr_id in (" . ${"e_concerned" . $i} . ")"); - $comma=""; - for ($x = 0; $x < count($jr_internal); $x++) - { - $r.=$comma.HtmlInput::detail_op(${"e_concerned" . $i}, $jr_internal[$x]['jr_internal']); - $comma=" , "; - } - } - $r.=''; - $p_mode = 1; - $p_array['pa_id'] = $a_anc; - /* op is the operation it contains either a sequence or a jrnx.j_id */ - $r.=HtmlInput::hidden('op[]=', $i); - $r.=$anc_op->display_form_plan($p_array, $null, $p_mode, $i, $tiers_amount); - $r.='
      "; - - // saldo - $r.='
      Ancien solde = ' . $solde; - $new_solde+=$tot_amount; - $r.='
      Nouveau solde = ' . $new_solde; - $r.='
      Difference =' . $tot_amount; - // check for upload piece - $file = new IFile(); - - $r.="
      Ajoutez une pièce justificative "; - $r.=$file->input("pj", ""); - - $r.='
      '; - //-------------------------------------------------- - // Hidden variables - //-------------------------------------------------- - $r.=dossier::hidden(); - $r.=HtmlInput::hidden('p_jrn', $this->id); - $r.=HtmlInput::hidden('nb_item', $nb_item); - $r.=HtmlInput::hidden('last_sold', $last_sold); - $r.=HtmlInput::hidden('first_sold', $first_sold); - $r.=HtmlInput::hidden('e_pj', $e_pj); - $r.=HtmlInput::hidden('e_pj_suggest', $e_pj_suggest); - $r.=HtmlInput::hidden('e_date', $e_date); - $mt = microtime(true); - $r.=HtmlInput::hidden('mt', $mt); - - if (isset($periode)) - $r.=HtmlInput::hidden('periode', $periode); - $r.=dossier::hidden(); - $r.=HtmlInput::hidden('sa', 'n','chdate'); - for ($i = 0; $i < $nb_item; $i++) - { - $tiers = (isset(${"e_other" . $i})) ? ${"e_other" . $i} : "" ; - $r.=HtmlInput::hidden('e_other' . $i, $tiers); - $r.=HtmlInput::hidden('e_other' . $i, $tiers); - $r.=HtmlInput::hidden('e_other' . $i . '_comment', ${'e_other' . $i . '_comment'}); - $r.=HtmlInput::hidden('e_other' . $i . '_amount', ${'e_other' . $i . '_amount'}); - $r.=HtmlInput::hidden('e_concerned' . $i, ${'e_concerned' . $i}); - $r.=HtmlInput::hidden('dateop' . $i, ${'dateop' . $i}); - $r.=HtmlInput::hidden('chdate' , $chdate); - } - - return $r; - } - - /**\brief save the data into the database, included the attachment, - * and the reconciliations - * \param $p_array usually $_POST - * \return string with HTML code - */ - - public function insert($p_array = null) - { - global $g_parameter; - bcscale(2); - $internal_code = ""; - $oid = 0; - extract($p_array); - $ret = ''; - // Debit = banque - $bank_id = $this->get_bank(); - $fBank = new Fiche($this->db, $bank_id); - $e_bank_account = $fBank->strAttribut(ATTR_DEF_QUICKCODE); - // Get the saldo - $pPeriode = new Periode($this->db); - $sposte = $fBank->strAttribut(ATTR_DEF_ACCOUNT); - // if 2 accounts, take only the debit one for customer - if (strpos($sposte, ',') != 0) - { - $array = explode(',', $sposte); - $poste_val = $array[0]; - } - else - { - $poste_val = $sposte; - } - - $acc_account = new Acc_Account_Ledger($this->db, $poste_val); - - // If date = deposit date - if ($chdate == 1 ) - { - if ($this->check_periode() == true) - { - $pPeriode->p_id = $periode; - } - else - { - $pPeriode->find_periode($e_date); - } - $exercice = $pPeriode->get_exercice(); - $filter_year = " j_tech_per in (select p_id from parm_periode where p_exercice='" . $exercice . "')"; - $asolde= $acc_account->get_solde_detail($filter_year); - $deb=$asolde['debit']; - $cred=$asolde['credit']; - $solde= bcsub($deb, $cred); - $new_solde=$solde; - } - - - - - - try - { - $this->db->start(); - $amount = 0.0; - $idx_operation = 0; - $ret = ''; - $ret.=tr(th('Date').th('n° interne') . th('Quick Code') . th('Nom') . th('Libellé') . th('Montant', ' style="text-align:right"')); - // Credit = goods - $get_solde=true; - for ($i = 0; $i < $nb_item; $i++) - { - // insert it into the database - // and quit the loop ? - if (strlen(trim(${"e_other$i"})) == 0) - continue; - - if ( $chdate == 2 ) $e_date=${'dateop'.$i}; - // if date is date of operation - if ($chdate == 2 && $get_solde ) - { - $get_solde=false; - if ($this->check_periode() == true) - { - $pPeriode->p_id = $periode; - } - else - { - $pPeriode->find_periode($e_date); - } - $exercice = $pPeriode->get_exercice(); - $filter_year = " j_tech_per in (select p_id from parm_periode where p_exercice='" . $exercice . "')"; - $solde = $acc_account->get_solde($filter_year); - $new_solde = $solde; - } - $fPoste = new Fiche($this->db); - $fPoste->get_by_qcode(${"e_other$i"}); - - // round it - ${"e_other$i" . "_amount"} = round(${"e_other$i" . "_amount"}, 2); - - - - $amount+=${"e_other$i" . "_amount"}; - // Record a line for the bank - // Compute the j_grpt - $seq = $this->db->get_next_seq('s_grpt'); - - $acc_operation = new Acc_Operation($this->db); - $acc_operation->date = $e_date; - $sposte = $fPoste->strAttribut(ATTR_DEF_ACCOUNT); - // if 2 accounts - if (strpos($sposte, ',') != 0) - { - $array = explode(',', $sposte); - if (${"e_other$i" . "_amount"} < 0) - $poste_val = $array[1]; - else - $poste_val = $array[0]; - } - else - { - $poste_val = $sposte; - } - - - $acc_operation->poste = $poste_val; - $acc_operation->amount = ${"e_other$i" . "_amount"} * (-1); - $acc_operation->grpt = $seq; - $acc_operation->jrn = $p_jrn; - $acc_operation->type = 'd'; - - if (isset($periode)) - $tperiode = $periode; - else - { - $per = new Periode($this->db); - $tperiode = $per->find_periode($e_date); - } - $acc_operation->periode = $tperiode; - $acc_operation->qcode = ${"e_other" . $i}; - $j_id = $acc_operation->insert_jrnx(); - - $acc_operation = new Acc_Operation($this->db); - $acc_operation->date = $e_date; - $sposte = $fBank->strAttribut(ATTR_DEF_ACCOUNT); - - // if 2 accounts - if (strpos($sposte, ',') != 0) - { - $array = explode(',', $sposte); - if (${"e_other$i" . "_amount"} < 0) - $poste_val = $array[1]; - else - $poste_val = $array[0]; - } - else - { - $poste_val = $sposte; - } - - $acc_operation->poste = $poste_val; - $acc_operation->amount = ${"e_other$i" . "_amount"}; - $acc_operation->grpt = $seq; - $acc_operation->jrn = $p_jrn; - $acc_operation->type = 'd'; - $acc_operation->periode = $tperiode; - $acc_operation->qcode = $e_bank_account; - $acc_operation->insert_jrnx(); - - - if (sql_string(${"e_other$i" . "_comment"}) == null) - { - // if comment is blank set a default one - $comment = " compte : " . $fBank->strAttribut(ATTR_DEF_NAME) . ' a ' . - $fPoste->strAttribut(ATTR_DEF_NAME); - } - else - { - $comment = ${'e_other' . $i . '_comment'}; - } - - - $acc_operation = new Acc_Operation($this->db); - $acc_operation->jrn = $p_jrn; - $acc_operation->amount = abs(${"e_other$i" . "_amount"}); - $acc_operation->date = $e_date; - $acc_operation->desc = $comment; - $acc_operation->grpt = $seq; - $acc_operation->periode = $tperiode; - $acc_operation->mt = $mt; - $idx_operation++; - $acc_operation->pj = ''; - - if (trim($e_pj) != '' && $this->numb_operation() == true) - $acc_operation->pj = $e_pj . str_pad($idx_operation, 3, 0, STR_PAD_LEFT); - - if (trim($e_pj) != '' && $this->numb_operation() == false) - $acc_operation->pj = $e_pj; - - $jr_id = $acc_operation->insert_jrn(); - // $acc_operation->set_pj(); - $this->db->exec_sql('update jrn set jr_pj_number=$1 where jr_id=$2', array($acc_operation->pj, $jr_id)); - $internal = $this->compute_internal_code($seq); - - - if (trim(${"e_concerned" . $i}) != "") - { - if (strpos(${"e_concerned" . $i}, ',') != 0) - { - $aRapt = explode(',', ${"e_concerned" . $i}); - foreach ($aRapt as $rRapt) - { - // Add a "concerned operation to bound these op.together - // - $rec = new Acc_Reconciliation($this->db); - $rec->set_jr_id($jr_id); - - if (isNumber($rRapt) == 1) - { - $rec->insert($rRapt); - } - } - } - else - if (isNumber(${"e_concerned" . $i}) == 1) - { - $rec = new Acc_Reconciliation($this->db); - $rec->set_jr_id($jr_id); - $rec->insert(${"e_concerned$i"}); - } - } - - // Set Internal code - $this->grpt_id = $seq; - /** - * save also into quant_fin - */ - $this->insert_quant_fin($fBank->id, $jr_id, $fPoste->id, ${"e_other$i" . "_amount"}); - - if ($g_parameter->MY_ANALYTIC != "nu") - { - // for each item, insert into operation_analytique */ - $op = new Anc_Operation($this->db); - $op->oa_group = $this->db->get_next_seq("s_oa_group"); /* for analytic */ - $op->j_id = $j_id; - $op->oa_date = $e_date; - $op->oa_debit = 'f'; - $op->oa_description = sql_string($comment); - $op->save_form_plan($_POST, $i, $j_id); - } - - - $this->update_internal_code($internal); - - $js_detail = HtmlInput::detail_op($jr_id, $internal); - // Compute display - $row = td($e_date).td($js_detail) . td(${"e_other$i"}) . td($fPoste->strAttribut(ATTR_DEF_NAME)) . td(${"e_other" . $i . "_comment"}) . td(nbm(${"e_other$i" . "_amount"}), 'class="num"'); - $class=($i%2==0)?' class="even" ':' class="odd" '; - $ret.=tr($row,$class); - - - if ($i == 0) - { - // first record we upload the files and - // keep variable to update other row of jrn - if (isset($_FILES)) - $oid = $this->db->save_upload_document($seq); - } - else - { - if ($oid != 0) - { - $this->db->exec_sql("update jrn set jr_pj=$1 , jr_pj_name=$2, - jr_pj_type=$3 where jr_grpt_id=$4", - array($oid,$_FILES['pj']['name'] ,$_FILES['pj']['type'],$seq)); - } - } - } // for nbitem - // increment pj - if (strlen(trim($e_pj)) != 0) - { - $this->inc_seq_pj(); - } - $ret.='
      '; - } - catch (Exception $e) - { - $r = '' . - 'Erreur dans l\'enregistrement ' . - __FILE__ . ':' . __LINE__ . ' ' . - $e->getMessage(); - $this->db->rollback(); - throw new Exception($r); - } - $this->db->commit(); - $r = ""; - $r.="
      Ancien solde " . nbm($solde); - $new_solde = bcadd($new_solde, $amount); - $r.="
      Nouveau solde " . nbm($new_solde); - $ret.=$r; - return $ret; - } - - /**\brief display operation of a FIN ledger - * \return html code into a string - */ - - function show_ledger() - { - global $g_user; - echo dossier::hidden(); - $hid = new IHidden(); - - $hid->name = "p_action"; - $hid->value = "bank"; - echo $hid->input(); - - - $hid->name = "sa"; - $hid->value = "l"; - echo $hid->input(); - - - $w = new ISelect(); - // filter on the current year - $filter_year = " where p_exercice='" . $g_user->get_exercice() . "'"; - - $periode_start = $this->db->make_array("select p_id,to_char(p_start,'DD-MM-YYYY') from parm_periode $filter_year order by p_start,p_end", 1); - // User is already set User=new User($this->db); - $current = (isset($_GET['p_periode'])) ? $_GET['p_periode'] : -1; - $w->selected = $current; - - echo '
      '; - echo 'Période ' . $w->input("p_periode", $periode_start); - $wLedger = $this->select_ledger('fin', 3); - - if ($wLedger == null) - throw new Exception(_('Pas de journal disponible')); - - if (count($wLedger->value) > 1) - { - $aValue = $wLedger->value; - $wLedger->value[0] = array('value' => -1, 'label' => _('Tous les journaux financiers')); - $idx = 1; - foreach ($aValue as $a) - { - $wLedger->value[$idx] = $a; - $idx++; - } - } - - - - echo 'Journal ' . $wLedger->input(); - $w = new ICard(); - $w->noadd = 'no'; - $w->jrn = $this->id; - $qcode = (isset($_GET['qcode'])) ? $_GET['qcode'] : ""; - echo dossier::hidden(); - echo HtmlInput::hidden('p_action', 'bank'); - echo HtmlInput::hidden('sa', 'l'); - $w->name = 'qcode'; - $w->value = $qcode; - $w->label = ''; - $this->type = 'FIN'; - $all = $this->get_all_fiche_def(); - $w->extra = $all; - $w->extra2 = 'QuickCode'; - $sp = new ISpan(); - echo $sp->input("qcode_label", "", $qcode); - echo $w->input(); - - echo HtmlInput::submit('gl_submit', _('Rechercher')); - echo '
      '; - - // Show list of sell - // Date - date of payment - Customer - amount - if ($current != -1) - { - $filter_per = " and jr_tech_per=" . $current; - } - else - { - $filter_per = " and jr_tech_per in (select p_id from parm_periode where p_exercice::integer=" . - $g_user->get_exercice() . ")"; - } - /* security */ - if ($this->id != -1) - $available_ledger = " and jr_def_id= " . $this->id . " and " . $g_user->get_ledger_sql(); - else - $available_ledger = " and " . $g_user->get_ledger_sql(); - // Show list of sell - // Date - date of payment - Customer - amount - $sql = SQL_LIST_ALL_INVOICE . $filter_per . " and jr_def_type='FIN'" . - " $available_ledger"; - $step = $_SESSION['g_pagesize']; - $page = (isset($_GET['offset'])) ? $_GET['page'] : 1; - $offset = (isset($_GET['offset'])) ? $_GET['offset'] : 0; - - $l = ""; - - // check if qcode contains something - if ($qcode != "") - { - // add a condition to filter on the quick code - $l = " and jr_grpt_id in (select j_grpt from jrnx where j_qcode=upper('$qcode')) "; - } - - list($max_line, $list) = ListJrn($this->db, "where jrn_def_type='FIN' $filter_per $l $available_ledger " - , null, $offset, 0); - $bar = navigation_bar($offset, $max_line, $step, $page); - - echo "
      $bar"; - echo $list; - echo "$bar
      "; - } - - /** - * return a string with the bank account, name and quick_code - */ - function get_bank_name() - { - $this->bank_id = $this->db->get_value('select jrn_def_bank from jrn_def where jrn_def_id=$1', array($this->id)); - $fBank = new Fiche($this->db, $this->bank_id); - $e_bank_account = " : " . $fBank->strAttribut(ATTR_DEF_BQ_NO); - $e_bank_name = " : " . $fBank->strAttribut(ATTR_DEF_NAME); - $e_bank_qcode = ": " . $fBank->strAttribut(ATTR_DEF_QUICKCODE); - return $e_bank_qcode . $e_bank_name . $e_bank_account; - } - - /** - * return the fiche_id of the bank - */ - function get_bank() - { - $bank_id = $this->db->get_value('select jrn_def_bank from jrn_def where jrn_def_id=$1', array($this->id)); - return $bank_id; - } - - /** - * return true is we numbere each operation - */ - function numb_operation() - { - $a = $this->db->get_value('select jrn_def_num_op from jrn_def where jrn_def_id=$1', array($this->id)); - if ($a == 1) - return true; - return false; - } - - /** - * insert into the quant_fin table - * @param $bank_id is the f_id of the bank - * @param $jr_id is the jrn.jr_id of the operation - * @param $other is the f_id of the benefit - * @param $amount is the amount - */ - function insert_quant_fin($p_bankid, $p_jrid, $p_otherid, $p_amount) - { - $sql = "INSERT INTO quant_fin(qf_bank, jr_id, qf_other, qf_amount) - VALUES ($1, $2, $3, $4);"; - - $this->db->exec_sql($sql, array($p_bankid, $p_jrid, $p_otherid, round($p_amount, 2))); - } - -} diff --git a/sources/include/class_acc_ledger_info.php b/sources/include/class_acc_ledger_info.php deleted file mode 100644 index 398ff94..0000000 --- a/sources/include/class_acc_ledger_info.php +++ /dev/null @@ -1,216 +0,0 @@ -cn=$p_cn; - $this->ji_id=$p_ji_id; - } - function insert() - { - if ( ! isset ($this->jr_id) || - ! isset ($this->ji_value) || - ! isset ($this->id_type ) ) - { - echo 'Appel incorrecte '.__FILE__.__LINE__; - var_dump($this); - throw new Exception(_('appel incorrect')); - } - try - { - $sql=$this->cn->exec_sql('insert into jrn_info(jr_id,id_type,ji_value) values ($1,$2,$3)'. - ' returning ji_id ', - array ($this->jr_id,$this->id_type,$this->ji_value) - ); - $this->ji_id=Database::fetch_result($sql,0,0); - } - catch (Exception $e) - { - echo "Echec sauvegarde info additionnelles"; - throw $e; - } - } - function update() - { - if ( ! isset ($this->jr_id) || - ! isset ($this->ji_value) || - ! isset ($this->jr_id ) ) - { - echo 'Appel incorrecte '.__FILE__.__LINE__; - var_dump($this); - throw new Exception('appel incorrect'); - } - try - { - $sql=$this->exec_sql('update jrn_info set jr_id=$1 ,id_type=$2,ji_value=$3 where ji_id=$4)'. - array ($this->jr_id,$this->id_type,$this->ji_value,$this->ji_id) - ); - } - catch (Exception $e) - { - $this->cn->rollback(); - echo "Echec sauvegarde info additionnelles"; - throw $e; - } - } - function load() - { - $sql="select jr_id,id_type,ji_value from jrn_info where ji_id=".$this->ji_id; - $r=$this->cn->exec_sql($sql); - if (Database::num_row ($r) > 0 ) - { - $this->from_array(Database::fetch_array($r,0)); - return 0; - } - else - { - return 1; - } - - } - function from_array($p_array) - { - foreach ($p_array as $col=>$value) - { - $this->$col=$value; - } - } - function set_id($p_ji_id) - { - $this->$ji_id=$p_ji_id; - } - function set_jrn_id($p_id) - { - $this->jr_id=$p_id; - } - function set_type($p_id) - { - $this->id_type=$p_id; - } - function set_value($p_id) - { - $this->ji_value=$p_id; - } - /*!\brief load all the jrn_info thanks the jr_id - * \return an array of object - */ - function load_all() - { - if ( ! isset ($this->jr_id) ) - { - echo "jr_id is not set ".__FILE__.__LINE__; - throw new Exception('Error : jr_id not set'); - } - - $sql="select ji_id from jrn_info where jr_id=".$this->jr_id; - $r=$this->cn->exec_sql($sql); - if (Database::num_row($r) == 0 ) - return array(); - $array=Database::fetch_all($r); - $ret=array(); - foreach ($array as $row) - { - $o=new Acc_Ledger_Info($this->cn,$row['ji_id']); - $o->load(); - $ret[]=clone $o; - } - return $ret; - - } - function count() - { - $sql="select ji_id from jrn_info where jr_id=".$this->jr_id; - return $this->cn->count_sql($sql); - } - function search_id_internal($p_internal) - { - $sql="select jr_id from jrn where jr_internal='$p_internal'"; - $r=$this->cn->exec_sql($sql); - if (Database::num_row($r) > 0 ) - { - $this->jr_id=Database::fetch_result($r,0,0); - return $this->jr_id; - } - else - { - $this->jr_id=-1; - return $this->jr_id; - } - } - /** - *@brief save all extra information in once, called by compta_ven and compta_ach - *@param $p_jr_id is the jrn.jr_id concerned, - *@param $p_array is the array with the data usually it is $_POST - *@note will change this->jr_id - *@see compta_ven.inc.php compta_ach.inc.php - */ - function save_extra($p_jr_id,$p_array) - { - $this->jr_id=$p_jr_id; - if (strlen(trim($p_array['bon_comm'] )) != 0 ) - { - $this->set_type('BON_COMMANDE'); - $this->set_value($p_array['bon_comm']); - $this->insert(); - } - if (strlen(trim($p_array['other_info'] )) != 0 ) - { - $this->set_type('OTHER'); - $this->set_value($p_array['other_info']); - $this->insert(); - } - } - static function test_me() - { - echo "Dossier = ".Dossier::id(); - $cn=new Database(Dossier::id()); - $a=new Acc_Ledger_Info($cn); - $a->jr_id=3; - $a->id_type='BON_COMMANDE'; - $a->ji_value='BON'; - var_dump($a); - $a->insert(); - - $a->set_jrn_id(7); - $a->set_type('OTHER'); - $a->set_value('Autre test'); - $a->insert(); - } -} diff --git a/sources/include/class_acc_ledger_purchase.php b/sources/include/class_acc_ledger_purchase.php deleted file mode 100644 index 2036366..0000000 --- a/sources/include/class_acc_ledger_purchase.php +++ /dev/null @@ -1,1790 +0,0 @@ -type='ACH'; - parent::__construct($p_cn,$p_init); - } - /*!\brief verify that the data are correct before inserting or confirming - *\param an array (usually $_POST) - *\return String - *\throw Exception if an error occurs - */ - public function verify($p_array) - { - global $g_parameter,$g_user; - - if (is_array($p_array ) == false || empty($p_array)) - throw new Exception ("Array empty"); - /* - * Check needed value - */ - check_parameter($p_array,'p_jrn,e_date,e_client'); - - extract ($p_array); - /* check if we can write into this ledger */ - if ( $g_user->check_jrn($p_jrn) != 'W' ) - throw new Exception (_('Accès interdit'),20); - - - /* check for a double reload */ - if ( isset($mt) && $this->db->count_sql('select jr_mt from jrn where jr_mt=$1',array($mt)) != 0 ) - throw new Exception (_('Double Encodage'),5); - - /* check if there is a customer */ - if ( strlen(trim($e_client)) == 0 ) - throw new Exception(_('Vous n\'avez pas donné de fournisseur'),11); - - /* check if the date is valid */ - if ( isDate($e_date) == null ) - { - throw new Exception(_('Date invalide'), 2); - } - $oPeriode=new Periode($this->db); - if ( $this->check_periode() == false) - { - $tperiode=$oPeriode->find_periode($e_date); - } - else - { - $tperiode=$period; - $oPeriode->p_id=$tperiode; - /* check that the datum is in the choosen periode */ - list ($min,$max)=$oPeriode->get_date_limit($tperiode); - if ( cmpDate($e_date,$min) < 0 || - cmpDate($e_date,$max) > 0) - throw new Exception(_('Date et periode ne correspondent pas'),6); - } - /* check if the periode is closed */ - if ( $this->is_closed($tperiode)==1 ) - { - throw new Exception(_('Periode fermee'),6); - } - - /* check if we are using the strict mode */ - if( $this->check_strict() == true) - { - /* if we use the strict mode, we get the date of the last - operation */ - $last_date=$this->get_last_date(); - if ( $last_date != null && cmpDate($e_date,$last_date) < 0 ) - throw new Exception(_('Vous utilisez le mode strict la dernière operation est à la date du ') - .$last_date._(' vous ne pouvez pas encoder à une '. - ' date antérieure dans ce journal'),13); - - } - - /* check the account */ - $fiche=new Fiche($this->db); - $fiche->get_by_qcode($e_client); - - if ( $fiche->empty_attribute(ATTR_DEF_ACCOUNT) == true) - throw new Exception(_('La fiche ').$e_client._('n\'a pas de poste comptable'),8); - - /* get the account and explode if necessary */ - $sposte=$fiche->strAttribut(ATTR_DEF_ACCOUNT); - // if 2 accounts, take only the credit one for supplier - if ( strpos($sposte,',') != 0 ) - { - $array=explode(',',$sposte); - $poste_val=$array[1]; - } - else - { - $poste_val=$sposte; - } - - /* The account exists */ - $poste=new Acc_Account_Ledger($this->db,$poste_val); - if ( $poste->load() == false ) - { - throw new Exception(_('Pour la fiche ').$e_client._(' le poste comptable [').$poste->id.'] '._('n\'existe pas'),9); - } - /* Check if the card belong to the ledger */ - $fiche=new Fiche ($this->db); - $fiche->get_by_qcode($e_client,'cred'); - if ( $fiche->belong_ledger($p_jrn) !=1 ) - throw new Exception(_('La fiche ').$e_client._('n\'est pas accessible à ce journal'),10); - - $nb=0; - //------------------------------------------------------ - // The "Paid By" check - //------------------------------------------------------ - if ($e_mp != 0 ) $this->check_payment($e_mp,${"e_mp_qcode_".$e_mp}); - - - //---------------------------------------- - // foreach item - //---------------------------------------- - for ($i=0;$i< $nb_item;$i++) - { - if ( strlen(trim(${'e_march'.$i}))== 0) continue; - /* check if amount are numeric and */ - if ( isNumber(${'e_march'.$i.'_price'}) == 0 ) - throw new Exception(_('La fiche ').${'e_march'.$i}._('a un montant invalide').' ['.${'e_march'.$i}.']',6); - if ( isNumber(${'e_quant'.$i}) == 0 ) - throw new Exception(_('La fiche ').${'e_march'.$i}._('a une quantité invalide').' ['.${'e_quant'.$i}.']',7); - - // Check if the given tva id is valid - if ( $g_parameter->MY_TVA_USE=='Y') - { - if (${'e_march'.$i.'_tva_id'} == 0 ) - throw new Exception(_('La fiche ').${'e_march'.$i}._('a un code tva invalide').' ['.${'e_march'.$i.'_tva_id'}.']',13); - $tva_rate=new Acc_Tva($this->db); - $tva_rate->set_parameter('id',${'e_march'.$i.'_tva_id'}); - - if ( $tva_rate->load() != 0 ) - throw new Exception(_('La fiche ').${'e_march'.$i}._('a un code tva invalide').' ['.${'e_march'.$i.'_tva_id'}.']',13); - /* - * check if the accounting for VAT are valid - */ - $a_poste=explode(',',$tva_rate->tva_poste); - - if ( - $this->db->get_value('select count(*) from tmp_pcmn where pcm_val=$1',array($a_poste[0])) == 0 || - $this->db->get_value('select count(*) from tmp_pcmn where pcm_val=$1',array($a_poste[1])) == 0 ) - throw new Exception(_(" La TVA ".$tva_rate->tva_label." utilise des postes comptables inexistants")); - - } - /* check if all card has a ATTR_DEF_ACCOUNT*/ - $fiche=new Fiche($this->db); - $fiche->get_by_qcode(${'e_march'.$i}); - if ( $fiche->empty_attribute(ATTR_DEF_ACCOUNT) == true) - throw new Exception(_('La fiche ').${'e_march'.$i}._('n\'a pas de poste comptable'),8); - - /* get the account and explode if necessary */ - $sposte=$fiche->strAttribut(ATTR_DEF_ACCOUNT); - // if 2 accounts, take only the debit - if ( strpos($sposte,',') != 0 ) - { - $array=explode(',',$sposte); - $poste_val=$array[0]; - } - else - { - $poste_val=$sposte; - } - - /* The account exists */ - $poste=new Acc_Account_Ledger($this->db,$poste_val); - if ( $poste->load() == false ) - { - throw new Exception(_('Pour la fiche ').${'e_march'.$i}._(' le poste comptable').' ['.$poste->id._('n\'existe pas'),9); - } - /* Check if the card belong to the ledger */ - $fiche=new Fiche ($this->db); - $fiche->get_by_qcode(${'e_march'.$i}); - if ( $fiche->belong_ledger($p_jrn,'deb') !=1 ) - throw new Exception(_('La fiche ').${'e_march'.$i}._('n\'est pas accessible à ce journal'),10); - /** - * we have to check also if the different accountings exist - "ATTR_DEF_DEP_PRIV" - "ATTR_DEF_DEPENSE_NON_DEDUCTIBLE" - "ATTR_DEF_TVA_NON_DEDUCTIBLE" - "ATTR_DEF_TVA_NON_DEDUCTIBLE_RECUP" - */ - foreach (array( - array(ATTR_DEF_DEPENSE_NON_DEDUCTIBLE,'DNA',ATTR_DEF_ACCOUNT_ND), - array(ATTR_DEF_DEP_PRIV,'DEP_PRIV',ATTR_DEF_ACCOUNT_ND_PERSO), - array(ATTR_DEF_TVA_NON_DEDUCTIBLE_RECUP,'TVA_DED_IMPOT',ATTR_DEF_ACCOUNT_ND_TVA), - array(ATTR_DEF_TVA_NON_DEDUCTIBLE,'TVA_DNA',ATTR_DEF_ACCOUNT_ND_TVA_ND)) as $key) - { - if ( ! $fiche->empty_attribute($key[0]) && $fiche->empty_attribute($key[2])) - { - $a=new Acc_Parm_Code($this->db,$key[1]); - if ( $this->db->count_sql('select pcm_val from tmp_pcmn where pcm_val=$1',array($a->p_value))==0) - throw new Exception ($key[1]._("ce code n'a pas de poste comptable, créez ce poste : [".$a->p_value."]")); - } - if ( ! $fiche->empty_attribute($key[0]) && ! $fiche->empty_attribute($key[2])) - { - $nd_str=$fiche->strAttribut($key[2]); - if ( $nd_str != '') - { - $poste_nd=new Acc_Account_Ledger($this->db,$nd_str); - if ( $poste_nd->load() == false) - { - $nd_msg=sprintf(_("Pour la fiche %s, le compte contrepartie %s n'existe pas"), - $fiche->getName(),$poste_nd->id); - $nd_msg=h($nd_msg); - throw new Exception ($nd_msg); - } - } - } - } - $nb++; - } - - if ( $nb == 0 ) - throw new Exception(_('Il n\'y a aucune marchandise'),12); - - } - /** - * Compute the ND amount thanks the attribute of the concerned card. The object - * $p_nd_amount will changed - * - * @param Acc_Compute $p_nd_amount object with ND amount - * @param Fiche $p_fiche Concerned Card (purchase items) - * @param type $p_tva_bot 0 TVA on one side, 1 TVA on both side - */ - private function compute_no_deductible(Acc_Compute $p_nd_amount, Fiche $p_fiche) - { - if (!$p_fiche->empty_attribute(ATTR_DEF_DEPENSE_NON_DEDUCTIBLE)) - { - $p_nd_amount->amount_nd_rate = $p_fiche->strAttribut(ATTR_DEF_DEPENSE_NON_DEDUCTIBLE); - $p_nd_amount->compute_nd(); - } - if (!$p_fiche->empty_attribute(ATTR_DEF_TVA_NON_DEDUCTIBLE) ) - { - $p_nd_amount->nd_vat_rate = $p_fiche->strAttribut(ATTR_DEF_TVA_NON_DEDUCTIBLE); - $p_nd_amount->compute_nd_vat(); - } - if (!$p_fiche->empty_attribute(ATTR_DEF_TVA_NON_DEDUCTIBLE_RECUP) ) - { - $p_nd_amount->nd_ded_vat_rate = $p_fiche->strAttribut(ATTR_DEF_TVA_NON_DEDUCTIBLE_RECUP); - $p_nd_amount->compute_ndded_vat(); - } - - if (!$p_fiche->empty_attribute(ATTR_DEF_DEP_PRIV)) - { - $p_nd_amount->amount_perso_rate = $p_fiche->strAttribut(ATTR_DEF_DEP_PRIV); - $p_nd_amount->compute_perso(); - } - - } - - /** - * Insert into JRNX the No Deductible amount and into Analytic Accountancy for the ND VAT - * @param Acc_Compute $p_nd_amount content ND amount - * @param Fiche $p_fiche Card of the Service - * @param type $p_tva_both 0 if TVA is normal or 1 if on both side - * @param type $p_tot_debit total debit - * @param $p_acc_operation Acc_Operation for inserting into jrnx - * @param $p_group group for AC - * @param $idx row number - * - * @see Acc_Ledger_Purchase::insert - */ - private function insert_no_deductible(Acc_Compute $p_nd_amount, Fiche $p_fiche, $p_tva_both,&$p_tot_debit,Acc_Operation $p_acc_operation,$p_group,$idx) - { - global $g_parameter; - if ($p_acc_operation->jrnx_id == 0) { - throw new Exception(__FILE__.__LINE__.'invalid acc_operation.j_id'); - } - $source_j_id=$p_acc_operation->jrnx_id ; - /* - * Save all the no deductible - * ATTR_DEF_ACCOUNT_ND_TVA,ATTR_DEF_ACCOUNT_ND_TVA_ND,ATTR_DEF_ACCOUNT_ND_PERSO,ATTR_DEF_ACCOUNT_ND - */ - if ($p_nd_amount->amount_nd_rate != 0) - { - $dna_default = new Acc_Parm_Code($this->db, 'DNA'); - - /* save op. */ - if (!$p_fiche->empty_attribute(ATTR_DEF_ACCOUNT_ND)) - { - $dna = $p_fiche->strAttribut(ATTR_DEF_ACCOUNT_ND); - } else - { - $dna = $dna_default->p_value; - } - $dna = ($dna == '') ? $dna_default->p_value : $dna; - - $p_acc_operation->type = 'd'; - $p_acc_operation->amount = $p_nd_amount->amount_nd; - $p_acc_operation->poste = $dna; - $p_acc_operation->qcode = ''; - $p_acc_operation->desc=$this->find_label($dna)." ND ".$p_fiche->strAttribut(ATTR_DEF_QUICKCODE); - if ($p_nd_amount->amount_nd > 0) - $p_tot_debit = bcadd($p_tot_debit, $p_nd_amount->amount_nd ); - $j_id = $p_acc_operation->insert_jrnx(); - } - /* - * ATTR_DEF_ACCOUNT_ND_PERSO - */ - if ($p_nd_amount->amount_perso != 0) - { - $dna_default = new Acc_Parm_Code($this->db, 'DEP_PRIV'); - - /* save op. */ - $p_acc_operation->type = 'd'; - if (!$p_fiche->empty_attribute(ATTR_DEF_ACCOUNT_ND_PERSO)) - { - $dna = $p_fiche->strAttribut(ATTR_DEF_ACCOUNT_ND_PERSO); - } else - { - $dna = $dna_default->p_value; - } - $dna = ($dna == '') ? $dna_default->p_value : $dna; - - $p_acc_operation->amount = $p_nd_amount->amount_perso ; - $p_acc_operation->poste = $dna; - $p_acc_operation->qcode = ''; - $p_acc_operation->desc=$this->find_label($dna)." ND_PRIV ".$p_fiche->strAttribut(ATTR_DEF_QUICKCODE); - if ($p_nd_amount->amount_perso> 0) - $p_tot_debit = bcadd($p_tot_debit, $p_nd_amount->amount_perso); - $j_id = $p_acc_operation->insert_jrnx(); - } - if ($p_nd_amount->nd_vat != 0) - { - $dna_default = new Acc_Parm_Code($this->db, 'TVA_DNA'); - - /* save op. */ - $p_acc_operation->type = 'd'; - $p_acc_operation->qcode = ''; - if (!$p_fiche->empty_attribute(ATTR_DEF_ACCOUNT_ND_TVA_ND) ) - { - $dna = $p_fiche->strAttribut(ATTR_DEF_ACCOUNT_ND_TVA_ND); - } else - { - $dna = $dna_default->p_value; - } - $dna = ($dna == '') ? $dna_default->p_value : $dna; - - $p_acc_operation->amount = $p_nd_amount->nd_vat; - $p_acc_operation->poste = $dna; - $p_acc_operation->desc=$this->find_label($dna)." ND_TVA ".$p_fiche->strAttribut(ATTR_DEF_QUICKCODE); - $j_id = $p_acc_operation->insert_jrnx(); - if ( $g_parameter->MY_ANALYTIC != "nu" ) - { - $op=new Anc_Operation($this->db); - $op->oa_group=$p_group; - $op->j_id=$j_id; - $op->oa_date=$p_acc_operation->date; - - $op->oa_debit='t'; - $op->oa_description=sql_string('ND_TVA'); - $op->oa_jrnx_id_source=$source_j_id; - $op->save_form_plan_vat_nd($_POST,$idx,$j_id,$p_nd_amount->nd_vat,$p_acc_operation->jrnx_id); - } - if ($p_nd_amount->nd_vat> 0) - $p_tot_debit = bcadd($p_tot_debit, $p_nd_amount->nd_vat); - - } - if ($p_nd_amount->nd_ded_vat != 0) - { - $dna_default = new Acc_Parm_Code($this->db, 'TVA_DED_IMPOT'); - /* save op. */ - if (!$p_fiche->empty_attribute(ATTR_DEF_ACCOUNT_ND_TVA) ) - { - $dna = $p_fiche->strAttribut(ATTR_DEF_ACCOUNT_ND_TVA); - } else - { - $dna = $dna_default->p_value; - } - $dna = ($dna == '') ? $dna_default->value : $dna; - - - - $p_acc_operation->type = 'd'; - $p_acc_operation->qcode = ''; - $p_acc_operation->amount = $p_nd_amount->nd_ded_vat; - $p_acc_operation->poste = $dna; - $p_acc_operation->desc=$this->find_label($dna)." DED_TVA ".$p_fiche->strAttribut(ATTR_DEF_QUICKCODE); - if ($p_nd_amount->nd_ded_vat > 0) - $p_tot_debit = bcadd($p_tot_debit, $p_nd_amount->nd_ded_vat); - $j_id = $p_acc_operation->insert_jrnx(); - if ( $g_parameter->MY_ANALYTIC != "nu" ) - { - $op=new Anc_Operation($this->db); - $op->oa_group=$p_group; - $op->j_id=$j_id; - $op->oa_date=$p_acc_operation->date; - - $op->oa_debit='t'; - $op->oa_description=sql_string('DED_TVA '); - $op->oa_jrnx_id_source=$source_j_id; - $op->save_form_plan_vat_nd($_POST,$idx,$j_id,$p_nd_amount->nd_ded_vat); - } - } - } - - /*!\brief insert into the database, it calls first the verify function - * change the value of this->jr_id and this->jr_internal. - * It generates the document and save the middle of payment, if 'gen_invoice is set - * and e_mp - *\param $p_array is usually $_POST or a predefined operation - \code - Array - ( - - [e_client] =>BELGACOM - [nb_item] =>9 - [p_jrn] =>3 - [period] =>117 - [e_comm] =>Frais de téléphone - [e_date] =>01.09.2009 - [e_ech] => - [jrn_type] =>ACH - [e_pj] =>ACH53 - [e_pj_suggest] =>ACH53 - [mt] =>1265318941.39 - [e_mp] =>0 - [e_march0] =>TEL - [e_march0_price] =>63.6700 - [e_march0_tva_id] =>1 - [e_march0_tva_amount] =>13.3700 - [e_quant0] =>1.000 - ... - [bon_comm] => - [other_info] => - [record] =>Enregistrement - ) - \endcode - *\return string - *\note throw an Exception - */ - public function insert($p_array=null) - { - global $g_parameter; - extract ($p_array); - $this->verify($p_array) ; - - $group=$this->db->get_next_seq("s_oa_group"); /* for analytic */ - $seq=$this->db->get_next_seq('s_grpt'); - $this->id=$p_jrn; - - $internal=$this->compute_internal_code($seq); - $this->internal=$internal; - - $cust=new Fiche($this->db); - $cust->get_by_qcode($e_client); - $sposte=$cust->strAttribut(ATTR_DEF_ACCOUNT); - // if 2 accounts, take only the credit Supplier - if ( strpos($sposte,',') != 0 ) - { - $array=explode(',',$sposte); - $poste=$array[1]; - } - else - { - $poste=$sposte; - } - - $oPeriode=new Periode($this->db); - $check_periode=$this->check_periode(); - - if ( $check_periode == true ) - $tperiode=$period; - else - $tperiode=$oPeriode->find_periode($e_date); - - bcscale(4); - try - { - $tot_amount=0; - $tot_tva=0; - $tot_debit=0; - $this->db->start(); - $tot_nd=0; - $tot_perso=0; - $tot_tva_nd=0; - $tot_tva_ndded=0; - $tot_tva_reversed=0; - $tva=array(); - /* Save all the items without vat and no deductible vat and expense*/ - for ($i=0;$i< $nb_item;$i++) - { - $n_both=0; - if ( strlen(trim(${'e_march'.$i})) == 0 ) continue; - - /* First we save all the items without vat */ - $fiche=new Fiche($this->db); - $fiche->get_by_qcode(${"e_march".$i}); - $tva_both=0; - /* tva */ - if ($g_parameter->MY_TVA_USE=='Y') - { - $idx_tva=${'e_march'.$i.'_tva_id'}; - $oTva=new Acc_Tva($this->db); - $oTva->set_parameter('id',$idx_tva); - $oTva->load(); - $tva_both=$oTva->get_parameter("both_side"); - } - /* -- Create acc_operation -- */ - $acc_operation=new Acc_Operation($this->db); - $acc_operation->date=$e_date; - $acc_operation->grpt=$seq; - $acc_operation->jrn=$p_jrn; - $acc_operation->type='d'; - $acc_operation->periode=$tperiode; - $acc_operation->qcode=""; - - - /* We have to compute all the amount thanks Acc_Compute */ - $amount=round(bcmul(${'e_march'.$i.'_price'},${'e_quant'.$i}),2); - - $acc_amount=new Acc_Compute(); - $acc_amount->check=false; - $acc_amount->set_parameter('amount',$amount); - - // Compute VAT or take the given one - if ( $g_parameter->MY_TVA_USE=='Y') - { - $acc_amount->set_parameter('amount_vat_rate',$oTva->get_parameter('rate')); - if ( strlen(trim(${'e_march'.$i.'_tva_amount'})) ==0 || ${'e_march'.$i.'_tva_amount'} == 0) - { - $acc_amount->compute_vat(); - - } - else - { - $acc_amount->amount_vat= ${'e_march'.$i.'_tva_amount'}; - - } - $tot_tva=bcadd($tot_tva,$acc_amount->amount_vat); - } - - - /* compute ND */ - $save_amount_vat=$acc_amount->amount_vat; - $this->compute_no_deductible($acc_amount, $fiche); - $acc_amount->correct(); - // TVA which avoid - $acc_amount->amount_unpaid=($tva_both == 1 ) ? $save_amount_vat :0 ; - $tot_tva_reversed=bcadd($tot_tva_reversed,$acc_amount->amount_unpaid); - - - - $tot_amount=round(bcadd($tot_amount,$amount),2); - - /* get the account and explode if necessary */ - $sposte=$fiche->strAttribut(ATTR_DEF_ACCOUNT); - // if 2 accounts, take only the debit one for customer - if ( strpos($sposte,',') != 0 ) - { - $array=explode(',',$sposte); - $poste_val=$array[0]; - } - else - { - $poste_val=$sposte; - } - if ( $g_parameter->MY_UPDLAB=='Y') - $acc_operation->desc=strip_tags(${"e_march".$i."_label"}); - else - $acc_operation->desc=null; - $acc_operation->poste=$poste_val; - $acc_operation->amount=$acc_amount->amount; - $acc_operation->qcode=${"e_march".$i}; - if( $acc_amount->amount > 0 ) $tot_debit=bcadd($tot_debit,$acc_amount->amount); - $j_id=$acc_operation->insert_jrnx(); - - /* insert ND */ - $this->insert_no_deductible($acc_amount, $fiche, $tva_both, $tot_debit,$acc_operation,$group,$i); - - - /* Compute sum vat */ - if ( $g_parameter->MY_TVA_USE=='Y') - { - $tva_item=$acc_amount->amount_vat; - - if (isset($tva[$idx_tva] ) ) - $tva[$idx_tva]=bcadd($tva[$idx_tva],$tva_item); - else - $tva[$idx_tva]=$tva_item; - - } - /* Save the stock */ - /* if the quantity is < 0 then the stock increase (return of - * material) - */ - $nNeg=(${"e_quant" . $i}< 0) ? -1 : 1; - - // always save quantity but in withStock we can find - // what card need a stock management - if ( $g_parameter->MY_STOCK='Y'&& isset ($repo)) - { - $dir=(${'e_quant'.$i} < 0 ) ? 'c':'d'; - Stock_Goods::insert_goods($this->db,array('j_id'=>$j_id,'goods'=>${'e_march'.$i},'quant'=>$nNeg*${'e_quant'.$i},'dir'=>$dir,'repo'=>$repo)) ; - } - - if ( $g_parameter->MY_ANALYTIC != "nu" ) - { - // for each item, insert into operation_analytique */ - $op=new Anc_Operation($this->db); - $op->oa_group=$group; - $op->j_id=$j_id; - $op->oa_date=$e_date; - $op->oa_debit='t'; - $op->oa_description=sql_string($e_comm); - $op->save_form_plan($_POST,$i,$j_id); - } - // insert into quant_purchase - //----- - if ( $g_parameter->MY_TVA_USE=='Y') - { - - $r=$this->db->exec_sql("select insert_quant_purchase ". - "(null". - ",".$j_id. /* 2 */ - ",'".${"e_march".$i}."'". /* 3 */ - ",".${"e_quant".$i}.",". /* 4 */ - round($amount,2). /* 5 */ - ",".$acc_amount->amount_vat. /* 6 */ - ",".$oTva->get_parameter('id'). /* 7 */ - ",".$acc_amount->amount_nd. /* 8 */ - ",".$acc_amount->nd_vat. /* 9 */ - ",".$acc_amount->nd_ded_vat. /* 10 */ - ",".$acc_amount->amount_perso. /* 11 */ - ",'".$e_client."',". $acc_amount->amount_unpaid.")"); /* 12 */ - - } - else - { - $r=$this->db->exec_sql("select insert_quant_purchase ". - "(null". - ",".$j_id. - ",'".${"e_march".$i}."'". - ",".${"e_quant".$i}.",". - round($amount,2). - ",0". - ",null". - ",".$acc_amount->amount_nd. - ",0". - ",".$acc_amount->nd_ded_vat. - ",".$acc_amount->amount_perso. - ",'".$e_client."',".$acc_amount->amount_unpaid.")"); - - - } - - } // end loop : save all items - /* save total customer */ - $cust_amount=round(bcadd($tot_amount,$tot_tva),2); - $acc_operation=new Acc_Operation($this->db); - $acc_operation->date=$e_date; - $acc_operation->poste=$poste; - $acc_operation->amount=$cust_amount-$tot_tva_reversed; - $acc_operation->grpt=$seq; - $acc_operation->jrn=$p_jrn; - $acc_operation->type='c'; - $acc_operation->periode=$tperiode; - $acc_operation->qcode=${"e_client"}; - if ( $cust_amount < 0 ) - $tot_debit=bcadd($tot_debit,abs($cust_amount)); - $let_client=$acc_operation->insert_jrnx(); - - - if ( $g_parameter->MY_TVA_USE=='Y') - { - /* save all vat - * $i contains the tva_id and value contains the vat amount - */ - foreach ($tva as $i => $value) - { - $oTva=new Acc_Tva($this->db); - $oTva->set_parameter('id',$i); - $oTva->load(); - - $poste_vat=$oTva->get_side('d'); - - $cust_amount=bcadd($tot_amount,$tot_tva); - $acc_operation=new Acc_Operation($this->db); - $acc_operation->date=$e_date; - $acc_operation->poste=$poste_vat; - $acc_operation->amount=$value; - $acc_operation->grpt=$seq; - $acc_operation->jrn=$p_jrn; - $acc_operation->type='d'; - $acc_operation->periode=$tperiode; - if ( $value > 0 ) $tot_debit=bcadd($tot_debit,abs($value)); - $acc_operation->insert_jrnx(); - // if TVA is on both side, we deduce it immediately - if ( $oTva->get_parameter("both_side")==1) - { - $poste_vat=$oTva->get_side('c'); - $cust_amount=bcadd($tot_amount,$tot_tva); - $cust_amount=bcsub($tot_amount,$tot_tva_reversed); - $acc_operation=new Acc_Operation($this->db); - $acc_operation->date=$e_date; - $acc_operation->poste=$poste_vat; - $acc_operation->amount=$tot_tva_reversed; - $acc_operation->grpt=$seq; - $acc_operation->jrn=$p_jrn; - $acc_operation->type='c'; - $acc_operation->periode=$tperiode; - $acc_operation->insert_jrnx(); - if ( $value < 0 ) $tot_debit=bcadd($tot_debit,abs($value)); - } - - } - } - /* insert into jrn */ - $acc_operation=new Acc_Operation($this->db); - $acc_operation->date=$e_date; - $acc_operation->echeance=$e_ech; - $acc_operation->amount=abs(round($tot_debit,2)); - $acc_operation->desc=$e_comm; - $acc_operation->grpt=$seq; - $acc_operation->jrn=$p_jrn; - $acc_operation->periode=$tperiode; - $acc_operation->pj=$e_pj; - $acc_operation->mt=$mt; - $this->jr_id=$acc_operation->insert_jrn(); - $this->pj=$acc_operation->set_pj(); - - // Set Internal code - $this->grpt_id=$seq; - $this->update_internal_code($internal); - /* update quant_purchase */ - $this->db->exec_sql('update quant_purchase set qp_internal = $1 where j_id in (select j_id from jrnx where j_grpt=$2)', - array($internal,$seq)); - - /**= e_pj then do not increment sequence */ - if ( strcmp($e_pj,$e_pj_suggest) == 0 && strlen(trim($e_pj)) != 0 ) - { - $this->inc_seq_pj(); - } - - /* Save the attachment */ - if ( isset ($_FILES)) - { - if ( sizeof($_FILES) != 0 ) - $this->db->save_upload_document($seq); - } - $str_file=""; - /* Generate an document and save it into the database (Note de frais only) - */ - if ( isset($_POST['gen_invoice']) ) - { - $ref_doc= $this->create_document($internal,$p_array); - $this->doc=''.$ref_doc.''; - } - - //---------------------------------------- - // Save the payer - //---------------------------------------- - if ( $e_mp != 0 ) - { - /* mp */ - $mp=new Acc_Payment($this->db,$e_mp); - $mp->load(); - - /* fiche */ - if ($mp->get_parameter('qcode') == '') - $fqcode=${'e_mp_qcode_'.$e_mp}; - else - $fqcode=$mp->get_parameter('qcode'); - - $acfiche = new Fiche($this->db); - $acfiche->get_by_qcode($fqcode); - - /* jrnx */ - $acseq=$this->db->get_next_seq('s_grpt'); - $acjrn=new Acc_Ledger($this->db,$mp->get_parameter('ledger_target')); - $acinternal=$acjrn->compute_internal_code($acseq); - - /* Insert paid by */ - $acc_pay=new Acc_Operation($this->db); - $acc_pay->date=$e_date; - - /* get the account and explode if necessary */ - $sposte=$acfiche->strAttribut(ATTR_DEF_ACCOUNT); - // if 2 accounts, take only the debit one for customer - if ( strpos($sposte,',') != 0 ) - { - $array=explode(',',$sposte); - $poste_val=$array[1]; - } - else - { - $poste_val=$sposte; - } - - $famount=bcsub($cust_amount,$acompte); - $acc_pay->poste=$poste_val; - $acc_pay->qcode=$fqcode; - $acc_pay->amount=abs(round($famount,2)); - $acc_pay->desc=''; - $acc_pay->grpt=$acseq; - $acc_pay->jrn=$mp->get_parameter('ledger_target'); - $acc_pay->periode=$tperiode; - $acc_pay->type=($famount>=0)?'c':'d'; - $acc_pay->insert_jrnx(); - - /* Insert supplier */ - $acc_pay=new Acc_Operation($this->db); - $acc_pay->date=$e_date; - $acc_pay->poste=$poste; - $acc_pay->qcode=$e_client; - $acc_pay->amount=abs(round($famount,2)); - $acc_pay->desc=''; - $acc_pay->grpt=$acseq; - $acc_pay->jrn=$mp->get_parameter('ledger_target'); - $acc_pay->periode=$tperiode; - $acc_pay->type=($famount>=0)?'d':'c'; - $let_other=$acc_pay->insert_jrnx(); - - /* insert into jrn */ - $acc_pay->mt=$mt; - $acc_pay->desc=(!isset($e_comm_paiement) || strlen(trim($e_comm_paiement)) == 0) ?$e_comm:$e_comm_paiement; - $mp_jr_id=$acc_pay->insert_jrn(); - $acjrn->grpt_id=$acseq; - $acjrn->update_internal_code($acinternal); - - $r1=$this->get_id($internal); - $r2=$this->get_id($acinternal); - - /* - * add lettering - */ - $oletter=new Lettering($this->db); - $oletter->insert_couple($let_client,$let_other); - - /* set the flag paid */ - $Res=$this->db->exec_sql("update jrn set jr_rapt='paid' where jr_id=$1",array($r1)); - - /* Reconcialiation */ - $rec=new Acc_Reconciliation($this->db); - $rec->set_jr_id($r1); - $rec->insert($r2); - /* - * save also into quant_fin - */ - - /* get ledger property */ - $ledger=new Acc_Ledger_Fin($this->db,$acc_pay->jrn); - $prop=$ledger->get_propertie(); - - /* if ledger is FIN then insert into quant_fin */ - if ( $prop['jrn_def_type'] == 'FIN' ) - { - $ledger->insert_quant_fin($acfiche->id,$mp_jr_id,$cust->id,bcmul($famount,-1)); - } - - - } - }//end try - catch (Exception $e) - { - echo ''. - 'Erreur dans l\'enregistrement '. - __FILE__.':'.__LINE__.' '. - $e->getMessage().$e->getTraceAsString(); - - $this->db->rollback(); - throw new Exception($e); - } - $this->db->commit(); - return $internal; - } - - /*!\brief display the form for entering data for invoice - *\param $p_array is null or you can put the predef operation or the $_POST - \code - array - 'sa' => string 'n' (length=1) - 'p_action' => string 'ach' (length=3) - 'gDossier' => string '28' (length=2) - 'e_client' => string 'ASEKURA' (length=7) - 'nb_item' => string '9' (length=1) - 'p_jrn' => string '3' (length=1) - 'period' => string '126' (length=3) - 'e_comm' => string 'descriptio' (length=10) - 'e_date' => string '01.05.2010' (length=10) - 'e_ech' => string '' (length=0) - 'jrn_type' => string 'ACH' (length=3) - 'e_pj' => string 'ACH37' (length=5) - 'e_pj_suggest' => string 'ACH37' (length=5) - 'mt' => string '1273759434.5701' (length=15) - 'e_mp' => string '0' (length=1) - 'e_march0' => string 'DOC' (length=3) - 'e_march0_price' => string '2000' (length=4) - 'e_march0_tva_id' => string '3' (length=1) - 'e_march0_tva_amount' => string '120' (length=3) - 'e_quant0' => string '1' (length=1) - 'gen_invoice' => string 'on' (length=2) - 'gen_doc' => string '7' (length=1) - 'bon_comm' => string '' (length=0) - 'other_info' => string '' (length=0) - 'correct' => string 'Corriger' (length=8) - \endcode - *\return HTML string - */ - public function input($p_array=null,$p_readonly=0) - { - global $g_parameter,$g_user; - if ( $p_array != null ) extract($p_array); - - $flag_tva=$g_parameter->MY_TVA_USE; - /* Add button */ - $f_add_button=new IButton('add_card'); - $f_add_button->label=_('Créer une nouvelle fiche'); - $f_add_button->tabindex=-1; - $f_add_button->set_attribute('jrn',$this->id); - $f_add_button->javascript=" this.jrn=\$('p_jrn').value;select_card_type(this);"; - - $str_add_button=""; - if ($g_user->check_action(FICADD)==1) - { - $str_add_button=$f_add_button->input(); - } - // The first day of the periode - $oPeriode=new Periode($this->db); - list ($l_date_start,$l_date_end)=$oPeriode->get_date_limit($g_user->get_periode()); - if ( $g_parameter->MY_DATE_SUGGEST=='Y' ) - $op_date=( ! isset($e_date) ) ?$l_date_start:$e_date; - else - $op_date=( ! isset($e_date) ) ?'':$e_date; - - $e_ech=(isset($e_ech))?$e_ech:""; - $e_comm=(isset($e_comm))?$e_comm:""; - - $r=""; - $r.=dossier::hidden(); - $f_legend_detail=_("Détail articles achetés"); - - // Date - //-- - $Date=new IDate(); - $Date->setReadOnly(false); - $Date->table=1; - $Date->tabindex=1; - $f_date=$Date->input("e_date",$op_date); - // Payment limit - //-- - $Echeance=new IDate(); - $Echeance->setReadOnly(false); - $Echeance->tabindex=2; - $label=HtmlInput::infobulle(4); - $f_echeance=$Echeance->input('e_ech',$e_ech,'Echéance'.$label); - $f_periode=""; - if ($this->check_periode() == true) - { - // Periode - //-- - $l_user_per=$g_user->get_periode(); - $def=(isset($periode))?$periode:$l_user_per; - - $period=new IPeriod("period"); - $period->user=$g_user; - $period->cn=$this->db; - $period->value=$def; - $period->type=OPEN; - try - { - $l_form_per=$period->input(); - } - catch (Exception $e) - { - if ($e->getCode() == 1 ) - { - throw new Exception( _("Aucune période ouverte")); - } - } - - $r.=""; - $label=HtmlInput::infobulle(3); - $f_periode=_("Période comptable")." $label ".$l_form_per; - } - // Ledger (p_jrn) - //-- - /* if we suggest the next pj, then we need a javascript */ - $add_js=""; - if ( $g_parameter->MY_PJ_SUGGEST=='Y') - { - $add_js="update_pj();"; - } - if ($g_parameter->MY_DATE_SUGGEST == 'Y') - { - $add_js.='get_last_date();'; - } - $add_js.='update_name();'; - $add_js.='update_pay_method();'; - $add_js.='update_row("sold_item");'; - - $wLedger=$this->select_ledger('ACH',2); - if ($wLedger == null) throw new Exception(_('Pas de journal disponible')); - $wLedger->javascript="onChange='update_predef(\"ach\",\"f\",\"".$_REQUEST['ac']."\");$add_js'"; - $wLedger->table=1; - $f_jrn=$wLedger->input(); - - // Comment - //-- - $Commentaire=new IText(); - $Commentaire->table=0; - $Commentaire->setReadOnly(false); - $Commentaire->size=60; - $Commentaire->tabindex=3; - $label=HtmlInput::infobulle(1) ; - $f_desc=$Commentaire->input("e_comm",h($e_comm)); - - // PJ - //-- - /* suggest PJ ? */ - $default_pj=''; - if ( $g_parameter->MY_PJ_SUGGEST=='Y') - { - $default_pj=$this->guess_pj(); - } - - $pj=new IText(); - $pj->value=(isset($e_pj))?$e_pj:$default_pj; - - - $pj->table=0; - $pj->name="e_pj"; - $pj->size=10; - $pj->readonly=false; - - $f_pj=$pj->input().HtmlInput::hidden('e_pj_suggest',$default_pj); - - // Display the customer - //-- - $fiche='cred'; - - // Save old value and set a new one - //-- - $e_client=( isset ($e_client) )?$e_client:""; - $e_client_label=" ";//str_pad("",100,"."); - - - // retrieve e_client_label - //-- - - if ( strlen(trim($e_client)) != 0) - { - $fClient=new Fiche($this->db); - $fClient->get_by_qcode($e_client); - $e_client_label=$fClient->strAttribut(ATTR_DEF_NAME).' '. - ' Adresse : '.$fClient->strAttribut(ATTR_DEF_ADRESS).' '. - $fClient->strAttribut(ATTR_DEF_CP).' '. - $fClient->strAttribut(ATTR_DEF_CITY).' '; - - - } - - $W1=new ICard(); - $W1->label=_("Fournisseur ").HtmlInput::infobulle(0) ; - $W1->name="e_client"; - $W1->tabindex=3; - $W1->value=$e_client; - $W1->table=0; - $W1->set_dblclick("fill_ipopcard(this);"); - $W1->set_attribute('ipopup','ipopcard'); - - // name of the field to update with the name of the card - $W1->set_attribute('label','e_client_label'); - // name of the field to update with the name of the card - $W1->set_attribute('typecard','cred'); - - // Add the callback function to filter the card on the jrn - $W1->set_callback('filter_card'); - $W1->set_function('fill_data'); - $W1->javascript=sprintf(' onchange="fill_data_onchange(\'%s\');" ', - $W1->name); - $f_client_qcode=$W1->input(); - $client_label=new ISpan(); - $client_label->table=0; - $f_client=$client_label->input("e_client_label",$e_client_label); - $f_client_bt=$W1->search(); - - - // Record the current number of article - - $e_comment=(isset($e_comment))?$e_comment:""; - $p_article= ( isset ($nb_item))?$nb_item:$this->get_min_row(); - $max=($p_article < $this->get_min_row())?$this->get_min_row():$p_article; - - $Hid=new IHidden(); - $r.=$Hid->input("nb_item",$p_article); - - // For each article - //-- - for ($i=0;$i< $max ;$i++) - { - // Code id, price & vat code - //-- - $march=(isset(${"e_march$i"}))?${"e_march$i"}:"" ; - $march_price=(isset(${"e_march".$i."_price"}))?${"e_march".$i."_price"}:"" - ; - /* use vat */ - if ( $g_parameter->MY_TVA_USE=='Y') - { - $march_tva_id=(isset(${"e_march$i"."_tva_id"}))?${"e_march$i"."_tva_id"}:""; - $march_tva_amount=(isset(${"e_march$i"."_tva_amount"}))?${"e_march$i"."_tva_amount"}:""; - } - - - - $march_label=(isset(${"e_march".$i."_label"}))?${"e_march".$i."_label"}:""; - // retrieve the tva label and name - //-- - if ( strlen(trim($march))!=0 && strlen(trim($march_label))==0 ) - { - $fMarch=new Fiche($this->db); - $fMarch->get_by_qcode($march); - $march_label=$fMarch->strAttribut(ATTR_DEF_NAME); - /* vat use */ - if ( ! isset($march_tva_id) && $g_parameter->MY_TVA_USE=='Y' ) - $march_tva_id=$fMarch->strAttribut(ATTR_DEF_TVA); - } - // Show input - //-- - $W1=new ICard(); - $W1->label=""; - $W1->name="e_march".$i; - $W1->value=$march; - $W1->table=1; - $W1->set_dblclick("fill_ipopcard(this);"); - $W1->set_attribute('ipopup','ipopcard'); - - $W1->set_attribute('typecard','deb'); - - // name of the field to update with the name of the card - $W1->set_attribute('label','e_march'.$i.'_label'); - // name of the field with the price - $W1->set_attribute('purchase','e_march'.$i.'_price'); /* autocomplete */ - $W1->set_attribute('price','e_march'.$i.'_price'); /* via search */ - - // name of the field with the TVA_ID - $W1->set_attribute('tvaid','e_march'.$i.'_tva_id'); - // Add the callback function to filter the card on the jrn - $W1->set_callback('filter_card'); - $W1->set_function('fill_data'); - $W1->javascript=sprintf(' onchange="fill_data_onchange(\'%s\');" ', - $W1->name); - $W1->readonly=false; - $array[$i]['quick_code']=$W1->input(); - $array[$i]['bt']=$W1->search(); - - $array[$i]['hidden']=''; - // For computing we need some hidden field for holding the value - if ( $g_parameter->MY_TVA_USE=='Y') - { - $array[$i]['hidden'].=HtmlInput::hidden('tva_march'.$i,0); - } - - if ( $g_parameter->MY_TVA_USE=='Y') - $tvac=new INum('tvac_march'.$i); - else - $tvac=new IHidden('tvac_march'.$i); - - $tvac->readOnly=1; - $tvac->value=0; - $array[$i]['tvac']=$tvac->input(); - - $htva=new INum('htva_march'.$i); - $htva->readOnly=1; - - $htva->value=0; - $array[$i]['htva']=$htva->input(); - - if ( $g_parameter->MY_UPDLAB == 'Y') - { - $Span=new IText("e_march".$i."_label"); - $Span->css_size="100%"; - } else - { - $Span=new ISpan("e_march".$i."_label"); - } - $Span->value=$march_label; - $Span->setReadOnly(false); - // card's name, price - //-- - $array[$i]['denom']=$Span->input("e_march".$i."_label",$march_label); - // price - $Price=new INum(); - $Price->setReadOnly(false); - $Price->size=9; - $Price->javascript="onBlur='format_number(this);clean_tva($i);compute_ledger($i)'"; - $array[$i]['pu']=$Price->input("e_march".$i."_price",$march_price); - if ( $g_parameter->MY_TVA_USE=='Y') - { - - // vat label - //-- - $Tva=new ITva_Popup($this->db); - $Tva->js="onblur=\"format_number(this);onChange=clean_tva($i);compute_ledger($i)\""; - $Tva->in_table=true; - $Tva->set_attribute('compute',$i); - $Tva->value=$march_tva_id; - $array[$i]['tva']=$Tva->input("e_march$i"."_tva_id"); - - // Tva_amount - - // price - $Tva_amount=new INum(); - $Tva_amount->setReadOnly(false); - $Tva_amount->size=9; - $Tva_amount->javascript="onBlur='format_number(this);compute_ledger($i)'"; - $array[$i]['amount_tva']=$Tva_amount->input("e_march".$i."_tva_amount",$march_tva_amount); - } - // quantity - //-- - $quant=(isset(${"e_quant$i"}))?${"e_quant$i"}:"1" - ; - $Quantity=new INum(); - $Quantity->setReadOnly(false); - $Quantity->size=9; - $Quantity->javascript="onChange=format_number(this);clean_tva($i);compute_ledger($i)"; - $array[$i]['quantity']=$Quantity->input("e_quant".$i,$quant); - - } - $f_type=_('Fournisseur'); - - ob_start(); - require_once NOALYSS_INCLUDE.'/template/form_ledger_detail.php'; - $r.=ob_get_contents(); - ob_end_clean(); - - // Set correctly the REQUEST param for jrn_type - $r.= HtmlInput::hidden('jrn_type','ACH'); - $r.= HtmlInput::button('add_item',_('Ajout article'), ' onClick="ledger_add_row()"'); - - - - /* if we suggest the pj n# the run the script */ - if ( $g_parameter->MY_PJ_SUGGEST=='Y') - { - $r.=''; - } - // set focus on date - $r.= create_script("$('".$Date->id."').focus()"); - return $r; - } - - /*!@brief show the summary of the operation and propose to save it - *@param array contains normally $_POST. It proposes also to save - * the Analytic accountancy - * @param $p_summary true to confirm false, show only the result in RO - *@return string - */ - function confirm($p_array,$p_summary=false) - { - global $g_parameter; - extract ($p_array); - - // we don't need to verify if we need only a feedback - if ( ! $p_summary ) - $this->verify($p_array) ; - - $anc=null; - // to show a select list for the analytic - // if analytic is op (optionnel) there is a blank line - - bcscale(4); - $client=new Fiche($this->db); - $client->get_by_qcode($e_client,true); - - $client_name=h($client->getName(). - ' '.$client->strAttribut(ATTR_DEF_ADRESS).' '. - $client->strAttribut(ATTR_DEF_CP).' '. - $client->strAttribut(ATTR_DEF_CITY)); - $lPeriode=new Periode($this->db); - if ($this->check_periode() == true) - { - $lPeriode->p_id=$period; - } - else - { - $lPeriode->find_periode($e_date); - } - $date_limit=$lPeriode->get_date_limit(); - $r=""; - $r.=''; - if ( $p_summary ) { - $jr_id=$this->db->get_value('select jr_id from jrn where jr_internal=$1',array($this->internal)); - $r.=""; - $r.=''; - $r.=''; - $r.=""; - } - $r.=''; - if ( ! $p_summary) { - $r.=''; - } else { - - if ( strcmp($this->pj,$e_pj) != 0 ) - { - $r.=''; - } else { - $r.=''; - } - } - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - - - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - - $r.=''; - $r.=''; - $r.=''; - $r.='
      '; - $r.=_('Détail opération '); - $r.=''; - $r.=sprintf ('%s', - $jr_id,dossier::id(),$this->internal); - $r.='
      ' . _('Numéro Pièce') .''. hb($e_pj) . '' . _('Numéro Pièce') .''. hb($this->pj) . - ' '._('Attention numéro pièce existante, elle a du être adaptée').'' . _('Numéro Pièce') .''. hb($this->pj) . '
      ' . _('Date') . ' ' . hb($e_date) . '
      ' . _('Echeance') . ' ' . hb($e_ech) . '
      ' . _('Période Comptable') . ' ' .hb( $date_limit['p_start'] . '-' . $date_limit['p_end']) . '
      ' . _('Journal') . ' ' . hb($this->get_name()) . '
      ' . _('Libellé') . ' ' . hb($e_comm) . '
      ' . _('Fournisseur') . ' ' . hb($e_client . ':' . $client_name) . '
      '; - $r.='

      ' . _('Détail articles achetés') . '

      '; - $r.='

      '; - $r.=''; - $r.=''; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - - - if ($g_parameter->MY_TVA_USE == 'Y') { - $r.=""; - $r.=''; - $r.=''; - $r.=''; - } else { - $r.=''; - } - - /* if we use the AC */ - if ($g_parameter->MY_ANALYTIC!='nu') - { - $anc=new Anc_Plan($this->db); - $a_anc=$anc->get_list(); - $x=count($a_anc); - /* set the width of the col */ - $r.=''; - - /* add hidden variables pa[] to hold the value of pa_id */ - $r.=Anc_Plan::hidden($a_anc); - } - - $r.=''; - $tot_amount=0.0; - $tot_tva=0.0; - //-- - // For each item - //-- - for ($i = 0; $i < $nb_item;$i++) - { - $tot_row=0; - if ( strlen(trim(${"e_march".$i})) == 0 ) continue; - - /* retrieve information for card */ - $fiche=new Fiche($this->db); - $fiche->get_by_qcode(${"e_march".$i}); - if ( $g_parameter->MY_UPDLAB=='Y') - $fiche_name=h(${"e_march".$i."_label"}); - else - $fiche_name=$fiche->strAttribut (ATTR_DEF_NAME); - $amount=bcmul(${"e_march".$i."_price"},${'e_quant'.$i}); - if ( $g_parameter->MY_TVA_USE=='Y') - { - $idx_tva=${"e_march".$i."_tva_id"}; - $oTva=new Acc_Tva($this->db); - $oTva->set_parameter('id',$idx_tva); - $oTva->load(); - $op=new Acc_Compute(); - - $op->set_parameter("amount",$amount); - $op->set_parameter('amount_vat_rate',$oTva->get_parameter('rate')); - $op->compute_vat(); - $tva_computed=$op->get_parameter('amount_vat'); - //----- if tva_amount is not given we compute the vat ---- - if ( strlen (trim (${'e_march'.$i.'_tva_amount'})) == 0) - { - $tva_item=$op->get_parameter('amount_vat'); - } - else - $tva_item=round(${'e_march'.$i.'_tva_amount'},2); - - if (isset($tva[$idx_tva] ) ) - $tva[$idx_tva]=bcadd($tva_item,$tva[$idx_tva]); - else - $tva[$idx_tva]=$tva_item; - - - - } - $tot_amount=round(bcadd($tot_amount,$amount),2); - $tot_row=round(bcadd($tot_row,$amount),2); - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $both_side=0; - if ($g_parameter->MY_TVA_USE == 'Y') - { - $r.=''; - /* warning if tva_computed and given are not the - same */ - $css_void_tva=($both_side == 1)?'style="text-decoration:line-through"':''; - if ( bcsub($tva_item,$tva_computed) != 0 && ! ($tva_item == 0 && $both_side == 1)) - { - - $r.=''; - $r.=''; - } - $r.=''; - // encode the pa - if ( $g_parameter->MY_ANALYTIC!='nu') // use of AA - { - // show form - $anc_op=new Anc_Operation($this->db); - $null=($g_parameter->MY_ANALYTIC=='op')?1:0; - $r.=''; - } - - - $r.=''; - - } - // Add the sum - $decalage=($g_parameter->MY_TVA_USE == 'Y')?'':''; - $tot = round(bcadd($tot_amount, $tot_tva), 2); - $tot_tva=nbm($tot_tva); - $tot=nbm($tot); - $str_tot=_('Totaux'); - $tot_amount=nbm($tot_amount); - $r.=<< - {$decalage} - - - - -EOF; - - $r.='
      " . _('Code') . "" . _('Dénomination') . "" . _('prix') . "" . _('quantité') . "" . _('tva') . " ' . _('Montant TVA') . '' . _('Montant HTVA') . '' . _('Montant TVAC') . '' . _('Montant') . ''._('Compt. Analytique').'
      '; - $r.=${"e_march".$i}; - $r.=''; - $r.=$fiche_name; - $r.=''; - $r.=nbm(${"e_march".$i."_price"}); - $r.=''; - $r.=nbm(${"e_quant".$i}); - $r.=''; - $r.=$oTva->get_parameter('label'); - $both_side=$oTva->get_parameter("both_side"); - if ( $both_side == 0) { - $tot_row=bcadd($tot_row,$tva_item); - $tot_tva=round(bcadd($tva_item,$tot_tva),2); - } - $r.=''; - $r.=HtmlInput::infobulle(28); - $r.='' - .nbm($tva_item).''; - } - else{ - $r.=''; - $r.=nbm($tva_item); - } - $r.=' '; - $r.=nbm(round($amount,2)); - $r.=''; - $r.=nbm(round($tot_row,2)); - $r.=''; - $p_mode=($p_summary==false)?1:0; - $p_array['pa_id']=$a_anc; - /* op is the operation it contains either a sequence or a jrnx.j_id */ - $r.=HtmlInput::hidden('op[]=',$i); - $r.=$anc_op->display_form_plan($p_array,$null,$p_mode,$i,$amount); - $r.='
      - {$str_tot} - - {$tot_tva} - - {$tot_amount} - - {$tot} -
      '; - $r.='

      '; - if ( $g_parameter->MY_ANALYTIC!='nu' && !$p_summary) // use of AA - $r.=''; - - $r.=(! $p_summary )?'
      ':'
      '; - $r.='

      Totaux

      '; - /* use VAT */ - if ($g_parameter->MY_TVA_USE == 'Y') { - $r.=''; - $r.=''; - $r.=td(hb($tot_amount ),'class="num"'); - foreach ($tva as $i => $value) { - $oTva->set_parameter('id', $i); - $oTva->load(); - - $r.=''; - $r.=td(hb(nbm($tva[$i])),'class="num"'); - } - $r.=''.td(_('Total TVA')).td(hb($tot_tva),'class="num"'); - $r.=''.td(_('Total TVAC')).td(hb($tot),'class="num"'); - $r.='
      Total HTVA
      TVA ' . $oTva->get_parameter('label').'
      '; - } else { - $r.='
      Total '.hb($tot); - } - $r.='
      '; - /* Add hidden */ - $r.=HtmlInput::hidden('e_client',$e_client); - $r.=HtmlInput::hidden('nb_item',$nb_item); - $r.=HtmlInput::hidden('p_jrn',$p_jrn); - if ( isset($period)) - $r.=HtmlInput::hidden('period',$period); - $r.=HtmlInput::hidden('e_comm',$e_comm); - $r.=HtmlInput::hidden('e_date',$e_date); - $r.=HtmlInput::hidden('e_ech',$e_ech); - $r.=HtmlInput::hidden('jrn_type',$jrn_type); - $r.=HtmlInput::hidden('e_pj',$e_pj); - $r.=HtmlInput::hidden('e_pj_suggest',$e_pj_suggest); - $mt=microtime(true); - $r.=HtmlInput::hidden('mt',$mt); - - $e_mp=(isset($e_mp))?$e_mp:0; - $r.=HtmlInput::hidden('e_mp',$e_mp); - /* Paid by */ - /* if the paymethod is not 0 and if a quick code is given */ - - - for ($i=0;$i < $nb_item;$i++) - { - $r.=HtmlInput::hidden("e_march".$i,${"e_march".$i}); - if (isset (${"e_march".$i."_label"})) $r.=HtmlInput::hidden("e_march".$i."_label",${"e_march".$i."_label"}); - $r.=HtmlInput::hidden("e_march".$i."_price",${"e_march".$i."_price"}); - if ( $g_parameter->MY_TVA_USE=='Y' ) - { - $r.=HtmlInput::hidden("e_march".$i."_tva_id",${"e_march".$i."_tva_id"}); - $r.=HtmlInput::hidden('e_march'.$i.'_tva_amount', ${'e_march'.$i.'_tva_amount'}); - } - $r.=HtmlInput::hidden("e_quant".$i,${"e_quant".$i}); - - } - - /** - * - */ - if ( $e_mp!=0 && strlen (trim (${'e_mp_qcode_'.$e_mp})) != 0 ) - { - $r.=HtmlInput::hidden('e_mp_qcode_'.$e_mp,${'e_mp_qcode_'.$e_mp}); - $r.=HtmlInput::hidden('acompte',$acompte); - $r.=HtmlInput::hidden('e_comm_paiement',$e_comm_paiement); - /* needed for generating a invoice */ - $r.=HtmlInput::hidden('qcode_benef', ${'e_mp_qcode_' . $e_mp}); - $fname = new Fiche($this->db); - $fname->get_by_qcode(${'e_mp_qcode_' . $e_mp}); - $r.='

      ' . _("Payé par")." " . ${'e_mp_qcode_' . $e_mp} . - " " . $fname->getName() . '

      ' . '

      ' . _('Déduction acompte ') . h($acompte) . '

      ' . - _('Libellé :') . h($e_comm_paiement) ; - $r.='
      '; - $r.='
      '; - } - // check for upload piece - - return $r; - } - - /*!\brief the function extra info allows to - * - add a attachment - * - generate an invoice - * - insert extra info - *\return html string - */ - public function extra_info() - { - $r=""; - $r = '
      '; - $r.='

      '; - // check for upload piece - $file=new IFile(); - $file->table=0; - $r.=_("Ajoutez une pièce justificative "); - $r.=$file->input("pj",""); - - if ( $this->db->count_sql("select md_id,md_name from document_modele where md_affect='ACH'") > 0 ) - { - - $r.=_('ou générer un document').' '; - // We propose to generate the fee note - $doc_gen=new ISelect(); - $doc_gen->name="gen_doc"; - $doc_gen->value=$this->db->make_array( - "select md_id,md_name ". - " from document_modele where md_affect='ACH'"); - $r.=$doc_gen->input().'
      '; - } - $r.='
      '; - $obj=new IText(); - $r.=_('Numero de bon de commande : ').$obj->input('bon_comm').'
      '; - $r.=_('Autre information : ').$obj->input('other_info').'
      '; - $r.='

      '; - $r.='
      '; - return $r; - } - - - /** - * @brief update the payment - * @todo to remove, obsolete - * @deprecated - */ - function show_unpaid_deprecated() - { - // Show list of unpaid sell - // Date - date of payment - Customer - amount - // Nav. bar - $step=$_SESSION['g_pagesize']; - $page=(isset($_GET['offset']))?$_GET['page']:1; - $offset=(isset($_GET['offset']))?$_GET['offset']:0; - - - $sql=SQL_LIST_UNPAID_INVOICE_DATE_LIMIT." and jr_def_id=".$this->id ; - list($max_line,$list)=$this->list_operation($sql,null,$offset,1); - $sql=SQL_LIST_UNPAID_INVOICE." and jr_def_id=".$this->id ; - list($max_line2,$list2)=$this->list_operation($sql,null,$offset,1); - - // Get the max line - $m=($max_line2>$max_line)?$max_line2:$max_line; - $bar2=navigation_bar($offset,$m,$step,$page); - - echo $bar2; - echo '

      '._('Echeance dépassée').'

      '; - echo $list; - echo '

      '._('Non Payée').'

      '; - echo $list2; - echo $bar2; - // Add hidden parameter - $hid=new IHidden(); - - echo '
      '; - - if ( $m != 0 ) - echo HtmlInput::submit('paid',_('Mise à jour paiement')); - - - } - /** - * Retrieve data from the view v_detail_purchase - * @global $g_user connected user - * @param $p_from jrn.jr_tech_per from - * @param type $p_end jrn.jr_tech_per to - * @return type - */ - function get_detail_purchase($p_from,$p_end) - { - global $g_user; - // Journal valide - if ( $this->id == 0 ) die (__FILE__.":".__LINE__." Journal invalide"); - - // Securite - if ( $g_user->get_ledger_access($this->id) == 'X' ) return null; - - // get the data from the view - $sql = "select * - from v_detail_purchase - where - jr_def_id = $1 - and jr_date >= (select p_start from parm_periode where p_id = $2) - and jr_date <= (select p_end from parm_periode where p_id = $3) " - .' order by jr_date,substring(jr_pj_number,\'[0-9]+$\')::numeric asc '; - $ret = $this->db->exec_sql($sql, array($this->id,$p_from, $p_end)); - return $ret; - } - /** - * @brief compute an array with the heading cells for the - * details, used for the export in CSV - * @return array - */ - static function heading_detail_purchase() - { - $array['jr_id'] = _('Numéro opération'); - $array['jr_date'] = _('Date'); - $array['jr_date_paid'] = _('Date paiement'); - $array['jr_ech'] = _('Date échéance'); - $array['jr_tech_per'] = _('Période'); - $array['jr_comment'] = _('Libellé'); - $array['jr_pj_number'] = _('Pièce'); - $array['jr_internal'] = _('Interne'); - $array['jr_def_id'] = _('Code journal'); - $array['j_poste'] = _('Poste'); - $array['j_text'] = _('Commentaire'); - $array['j_qcode'] = _('Code Item'); - $array['item_card'] = _('N° fiche'); - $array['item_name'] = _('Nom fiche'); - $array['qp_supplier'] = _('N° fiche fournisseur'); - $array['tiers_name'] = _('Nom fournisseur'); - $array['quick_code'] = _('Code fournisseur'); - $array['tva_label'] = _('Nom TVA'); - $array['tva_comment'] = _('Commentaire TVA'); - $array['tva_both_side'] = _('TVA annulée'); - $array['vat_sided'] = _('TVA Non Payé'); - $array['vat_code'] = _('Code TVA'); - $array['vat'] = _('Montant TVA'); - $array['price'] = _('Total HTVA'); - $array['quantity'] = _('quantité'); - $array['price_per_unit'] = _('PU'); - $array['non_ded_amount'] = _('Montant ND'); - $array['non_ded_tva'] = _('Montant TVA ND'); - $array['non_ded_tva_recup'] = _('TVA récup.'); - $array['htva'] = _('HTVA Opération'); - $array['tot_vat'] = _('TVA Opération'); - $array['tot_tva_np'] = _('TVA NP opération'); - return $array; - } - -} - - - - - diff --git a/sources/include/class_acc_ledger_sold.php b/sources/include/class_acc_ledger_sold.php deleted file mode 100644 index 0e8d45e..0000000 --- a/sources/include/class_acc_ledger_sold.php +++ /dev/null @@ -1,1374 +0,0 @@ -type = 'VEN'; - } - - /* !\brief verify that the data are correct before inserting or confirming - * \param an array (usually $_POST) - * \return String - * \throw Exception if an error occurs - */ - - public function verify($p_array) { - global $g_parameter, $g_user; - - if (is_array($p_array ) == false || empty($p_array)) - throw new Exception ("Array empty"); - - extract($p_array); - - /* - * Check needed value - */ - check_parameter($p_array,'p_jrn,e_date,e_client'); - - /* check for a double reload */ - if (isset($mt) && $this->db->count_sql('select jr_mt from jrn where jr_mt=$1', array($mt)) != 0) - throw new Exception(_('Double Encodage'), 5); - - /* check if we can write into this ledger */ - if ($g_user->check_jrn($p_jrn) != 'W') - throw new Exception(_('Accès interdit'), 20); - - /* check if there is a customer */ - if (strlen(trim($e_client)) == 0) - throw new Exception(_('Vous n\'avez pas donné de client'), 11); - - /* check if the date is valid */ - if (isDate($e_date) == null) { - throw new Exception(_('Date invalide'), 2); - } - - $oPeriode = new Periode($this->db); - if ($this->check_periode() == true) { - $tperiode = $period; - /* check that the datum is in the choosen periode */ - $oPeriode->p_id = $period; - list ($min, $max) = $oPeriode->get_date_limit(); - - if (cmpDate($e_date, $min) < 0 || - cmpDate($e_date, $max) > 0) - throw new Exception(_('Date et periode ne correspondent pas'), 6); - } - else { - $per = new Periode($this->db); - $tperiode = $per->find_periode($e_date); - } - - /* check if the periode is closed */ - if ($this->is_closed($tperiode) == 1) { - throw new Exception(_('Periode fermee'), 6); - } - /* check if we are using the strict mode */ - if ($this->check_strict() == true) { - /* if we use the strict mode, we get the date of the last - operation */ - $last_date = $this->get_last_date(); - if ($last_date != null && cmpDate($e_date, $last_date) < 0) - throw new Exception(_('Vous utilisez le mode strict la dernière operation est date du ') - . $last_date . _(' vous ne pouvez pas encoder à une date antérieure'), 13); - } - - - $fiche = new Fiche($this->db); - $fiche->get_by_qcode($e_client); - if ($fiche->empty_attribute(ATTR_DEF_ACCOUNT) == true) - throw new Exception(_('La fiche ') . $e_client . _('n\'a pas de poste comptable'), 8); - - /* get the account and explode if necessary */ - $sposte = $fiche->strAttribut(ATTR_DEF_ACCOUNT); - // if 2 accounts, take only the debit one for customer - if (strpos($sposte, ',') != 0) { - $array = explode(',', $sposte); - $poste_val = $array[0]; - } else { - $poste_val = $sposte; - } - /* The account exists */ - - $poste = new Acc_Account_Ledger($this->db, $poste_val); - - if ($poste->load() == false) { - throw new Exception(_('Pour la fiche ') . $e_client . _(' le poste comptable [') . $poste->id . _('] n\'existe pas'), 9); - } - - /* Check if the card belong to the ledger */ - $fiche = new Fiche($this->db); - $fiche->get_by_qcode($e_client, 'deb'); - if ($fiche->belong_ledger($p_jrn) != 1) - throw new Exception(_('La fiche ') . $e_client . _('n\'est pas accessible à ce journal'), 10); - - $nb = 0; - - //---------------------------------------- - // foreach item - //---------------------------------------- - for ($i = 0; $i < $nb_item; $i++) { - if (strlen(trim(${'e_march' . $i})) == 0) - continue; - /* check if amount are numeric and */ - if (isNumber(${'e_march' . $i . '_price'}) == 0) - throw new Exception(_('La fiche ') . ${'e_march' . $i} . _('a un montant invalide [') . ${'e_march' . $i} . ']', 6); - if (isNumber(${'e_quant' . $i}) == 0) - throw new Exception(_('La fiche ') . ${'e_march' . $i} . _('a une quantité invalide [') . ${'e_quant' . $i} . ']', 7); - /* check if all card has a ATTR_DEF_ACCOUNT */ - $fiche = new Fiche($this->db); - $fiche->get_by_qcode(${'e_march' . $i}); - if ($fiche->empty_attribute(ATTR_DEF_ACCOUNT) == true) - throw new Exception(_('La fiche ') . ${'e_march' . $i} . _('n\'a pas de poste comptable'), 8); - - // Check if the given tva id is valid - if ($g_parameter->MY_TVA_USE == 'Y') { - if (isNumber(${'e_march' . $i . '_tva_id'}) == 0) - throw new Exception(_('La fiche ') . ${'e_march' . $i} . _('a un code tva invalide') . ' [' . ${'e_march' . $i . '_tva_id'} . ']', 13); - $tva_rate = new Acc_Tva($this->db); - $tva_rate->set_parameter('id', ${'e_march' . $i . '_tva_id'}); - if ($tva_rate->load() != 0) - throw new Exception(_('La fiche ') . ${'e_march' . $i} . _('a un code tva invalide') . ' [' . ${'e_march' . $i . '_tva_id'} . ']', 13); - - /* - * check if the accounting for VAT are valid - */ - $a_poste = explode(',', $tva_rate->tva_poste); - - if ( - $this->db->get_value('select count(*) from tmp_pcmn where pcm_val=$1', array($a_poste[0])) == 0 || - $this->db->get_value('select count(*) from tmp_pcmn where pcm_val=$1', array($a_poste[1])) == 0) - throw new Exception(_(" La TVA " . $tva_rate->tva_label . " utilise des postes comptables inexistants")); - } - // if 2 accounts, take only the credit one - /* The account exists */ - $sposte = $fiche->strAttribut(ATTR_DEF_ACCOUNT); - - if (strpos($sposte, ',') != 0) { - $array = explode(',', $sposte); - $poste_val = $array[1]; - } else { - $poste_val = $sposte; - } - $poste = new Acc_Account_Ledger($this->db, $poste_val); - if ($poste->load() == false) { - throw new Exception(_('Pour la fiche ') . ${'e_march' . $i} . _(' le poste comptable [') . $poste->id . _('n\'existe pas'), 9); - } - /* Check if the card belong to the ledger */ - $fiche = new Fiche($this->db); - $fiche->get_by_qcode(${'e_march' . $i}); - if ($fiche->belong_ledger($p_jrn, 'cred') != 1) - throw new Exception(_('La fiche ') . ${'e_march' . $i} . _('n\'est pas accessible à ce journal'), 10); - $nb++; - } - if ($nb == 0) - throw new Exception(_('Il n\'y a aucune marchandise'), 12); - //------------------------------------------------------ - // The "Paid By" check - //------------------------------------------------------ - - if ($e_mp != 0) { - $this->check_payment($e_mp, ${"e_mp_qcode_" . $e_mp}); - } - } - - /* !\brief insert into the database, it calls first the verify function, - * change the value of this->jr_id and this->jr_internal - * * It generates the document if gen_invoice is set and save the middle of payment if any ($e_mp) - * - * \param $p_array is usually $_POST or a predefined operation - * \return string - * \note throw an Exception - */ - - public function insert($p_array = null) { - global $g_parameter; - extract($p_array); - $this->verify($p_array); - - $group = $this->db->get_next_seq("s_oa_group"); /* for analytic */ - $seq = $this->db->get_next_seq('s_grpt'); - $this->id = $p_jrn; - $internal = $this->compute_internal_code($seq); - $this->internal = $internal; - - $oPeriode = new Periode($this->db); - $check_periode = $this->check_periode(); - - if ($check_periode == true) - $tperiode = $period; - else - $tperiode = $oPeriode->find_periode($e_date); - - $cust = new Fiche($this->db); - $cust->get_by_qcode($e_client); - $sposte = $cust->strAttribut(ATTR_DEF_ACCOUNT); - - // if 2 accounts, take only the debit one for the customer - // - if (strpos($sposte, ',') != 0) { - $array = explode(',', $sposte); - $poste = $array[0]; - } else { - $poste = $sposte; - } - - bcscale(4); - try { - $tot_amount = 0; - $tot_tva = 0; - $tot_debit = 0; - $this->db->start(); - $tva = array(); - /* Save all the items without vat */ - for ($i = 0; $i < $nb_item; $i++) { - $n_both = 0; - if (strlen(trim(${'e_march' . $i})) == 0) - continue; - - /* First we save all the items without vat */ - $fiche = new Fiche($this->db); - $fiche->get_by_qcode(${"e_march" . $i}); - $amount = bcmul(${'e_march' . $i . '_price'}, ${'e_quant' . $i}); - $tot_amount = round(bcadd($tot_amount, $amount),2); - $acc_operation = new Acc_Operation($this->db); - $acc_operation->date = $e_date; - $sposte = $fiche->strAttribut(ATTR_DEF_ACCOUNT); - - // if 2 accounts, take only the credit one - if (strpos($sposte, ',') != 0) { - $array = explode(',', $sposte); - $poste_val = $array[1]; - } else { - $poste_val = $sposte; - } - - $acc_operation->poste = $poste_val; - $acc_operation->amount = $amount; - $acc_operation->grpt = $seq; - $acc_operation->jrn = $p_jrn; - $acc_operation->type = 'c'; - $acc_operation->periode = $tperiode; - if ($g_parameter->MY_UPDLAB == 'Y') - $acc_operation->desc = strip_tags(${"e_march" . $i . "_label"}); - else - $acc_operation->desc = null; - - $acc_operation->qcode = ${"e_march" . $i}; - if ($amount < 0) - $tot_debit = bcadd($tot_debit, abs($amount)); - - $j_id = $acc_operation->insert_jrnx(); - - if ($g_parameter->MY_TVA_USE == 'Y') { - /* Compute sum vat */ - $oTva = new Acc_Tva($this->db); - $idx_tva = ${'e_march' . $i . '_tva_id'}; - $tva_item = ${'e_march' . $i . '_tva_amount'}; - $oTva->set_parameter("id", $idx_tva); - $oTva->load(); - /* if empty then we need to compute it */ - if (trim($tva_item) == '' || ${'e_march'.$i.'_tva_amount'} == 0) { - /* retrieve tva */ - $l = new Acc_Tva($this->db, $idx_tva); - $l->load(); - $tva_item = bcmul($amount, $l->get_parameter('rate')); - } - if (isset($tva[$idx_tva])) - $tva[$idx_tva]+=$tva_item; - else - $tva[$idx_tva] = $tva_item; - if ($oTva->get_parameter("both_side") == 0) { - $tot_tva = round(bcadd($tva_item, $tot_tva), 2); - } else { - $n_both = $tva_item; - if ($n_both < 0) - $tot_debit = bcadd($tot_debit, abs($n_both)); - } - } - - /* Save the stock */ - /* if the quantity is < 0 then the stock increase (return of - * material) - */ - $nNeg = (${"e_quant" . $i} < 0) ? -1 : 1; - - // always save quantity but in withStock we can find - // what card need a stock management - if ($g_parameter->MY_STOCK = 'Y' && isset($repo)) - { - $dir=(${'e_quant'.$i} < 0 ) ? 'd':'c'; - Stock_Goods::insert_goods($this->db, array('j_id' => $j_id, 'goods' => ${'e_march' . $i}, 'quant' => $nNeg * ${'e_quant' . $i}, 'dir' => $dir, 'repo' => $repo)); - } - - - if ($g_parameter->MY_ANALYTIC != "nu") { - // for each item, insert into operation_analytique */ - $op = new Anc_Operation($this->db); - $op->oa_group = $group; - $op->j_id = $j_id; - $op->oa_date = $e_date; - $op->oa_debit = 'f'; - $op->oa_description = sql_string($e_comm); - $op->save_form_plan($_POST, $i, $j_id); - } - if ($g_parameter->MY_TVA_USE == 'Y') { - /* save into quant_sold */ - $r = $this->db->exec_sql("select insert_quant_sold ($1,$2,$3,$4,$5,$6,$7,$8,$9)", array(null, /* 1 */ - $j_id, /* 2 */ - ${'e_march' . $i}, /* 3 */ - ${'e_quant' . $i}, /* 4 */ - round($amount, 2), /* 5 */ - $tva_item, /* 6 */ - $idx_tva, /* 7 */ - $e_client, /* 8 */ - $n_both)); - } else { - $r = $this->db->exec_sql("select insert_quant_sold ($1,$2,$3,$4,$5,$6,$7,$8,$9) ", array(null, /* 1 */ - $j_id, /* 2 */ - ${'e_march' . $i}, /* 3 */ - ${'e_quant' . $i}, /* 4 */ - $amount, // 5 - 0, - null, - $e_client, - 0)); - } // if ( $g_parameter->MY_TVA_USE=='Y') { - }// end loop : save all items - - /* save total customer */ - $cust_amount = bcadd($tot_amount, $tot_tva); - $acc_operation = new Acc_Operation($this->db); - $acc_operation->date = $e_date; - $acc_operation->poste = $poste; - $acc_operation->amount = $cust_amount; - $acc_operation->grpt = $seq; - $acc_operation->jrn = $p_jrn; - $acc_operation->type = 'd'; - $acc_operation->periode = $tperiode; - $acc_operation->qcode = ${"e_client"}; - if ($cust_amount > 0) - $tot_debit = bcadd($tot_debit, $cust_amount); - $let_tiers = $acc_operation->insert_jrnx(); - - - /** save all vat - * $i contains the tva_id and value contains the vat amount - * if if ($g_parameter->MY_TVA_USE == 'Y' ) - */ - if ($g_parameter->MY_TVA_USE == 'Y') { - foreach ($tva as $i => $value) { - $oTva = new Acc_Tva($this->db); - $oTva->set_parameter('id', $i); - $oTva->load(); - - $poste_vat = $oTva->get_side('c'); - - $cust_amount = bcadd($tot_amount, $tot_tva); - $acc_operation = new Acc_Operation($this->db); - $acc_operation->date = $e_date; - $acc_operation->poste = $poste_vat; - $acc_operation->amount = $value; - $acc_operation->grpt = $seq; - $acc_operation->jrn = $p_jrn; - $acc_operation->type = 'c'; - $acc_operation->periode = $tperiode; - if ($value < 0) - $tot_debit = bcadd($tot_debit, abs($value)); - $acc_operation->insert_jrnx(); - - // if TVA is on both side, we deduce it immediately - if ($oTva->get_parameter("both_side") == 1) { - $poste_vat = $oTva->get_side('d'); - $cust_amount = bcadd($tot_amount, $tot_tva); - $acc_operation = new Acc_Operation($this->db); - $acc_operation->date = $e_date; - $acc_operation->poste = $poste_vat; - $acc_operation->amount = $value; - $acc_operation->grpt = $seq; - $acc_operation->jrn = $p_jrn; - $acc_operation->type = 'd'; - $acc_operation->periode = $tperiode; - $acc_operation->insert_jrnx(); - $tot_debit = bcadd($tot_debit, $value); - $n_both = $value; - } - } - } // if ($g_parameter->MY_TVA_USE=='Y') - /* insert into jrn */ - $acc_operation = new Acc_Operation($this->db); - $acc_operation->date = $e_date; - $acc_operation->echeance = $e_ech; - $acc_operation->amount = abs(round($tot_debit, 2)); - $acc_operation->desc = $e_comm; - $acc_operation->grpt = $seq; - $acc_operation->jrn = $p_jrn; - $acc_operation->periode = $tperiode; - $acc_operation->pj = $e_pj; - $acc_operation->mt = $mt; - - $this->jr_id = $acc_operation->insert_jrn(); - - $this->pj = $acc_operation->set_pj(); - - /* * = e_pj then do not increment sequence */ - /* and e_pj is not null */ - if (strcmp($e_pj, $e_pj_suggest) == 0 && strlen(trim($e_pj)) != 0) { - $this->inc_seq_pj(); - } - - $this->db->exec_sql("update jrn set jr_internal='" . $internal . "' where " . - " jr_grpt_id = " . $seq); - - /* update quant_sold */ - $this->db->exec_sql('update quant_sold set qs_internal = $1 where j_id in (select j_id from jrnx where j_grpt=$2)', array($internal, $seq)); - - /* Save the attachment or generate doc */ - if (isset($_FILES['pj'])) { - if (strlen(trim($_FILES['pj']['name'])) != 0) - $this->db->save_upload_document($seq); - else - /* Generate an invoice and save it into the database */ - if (isset($_POST['gen_invoice'])) { - $file = $this->create_document($internal, $p_array); - $this->doc='' . $file . ''; - } - } - //---------------------------------------- - // Save the payer - //---------------------------------------- - if ($e_mp != 0) { - /* mp */ - $mp = new Acc_Payment($this->db, $e_mp); - $mp->load(); - - /* fiche */ - $fqcode = ${'e_mp_qcode_' . $e_mp}; - $acfiche = new Fiche($this->db); - $acfiche->get_by_qcode($fqcode); - - /* jrnx */ - $acseq = $this->db->get_next_seq('s_grpt'); - $acjrn = new Acc_Ledger($this->db, $mp->get_parameter('ledger_target')); - $acinternal = $acjrn->compute_internal_code($acseq); - - /* Insert paid by */ - $acc_pay = new Acc_Operation($this->db); - $acc_pay->date = $e_date; - /* get the account and explode if necessary */ - $sposte = $acfiche->strAttribut(ATTR_DEF_ACCOUNT); - // if 2 accounts, take only the debit one for customer - if (strpos($sposte, ',') != 0) { - $array = explode(',', $sposte); - $poste_val = $array[0]; - } else { - $poste_val = $sposte; - } - $famount = bcsub($cust_amount, $acompte); - $acc_pay->poste = $poste_val; - $acc_pay->qcode = $fqcode; - $acc_pay->amount = abs(round($famount, 2)); - $acc_pay->desc = null; - - $acc_pay->grpt = $acseq; - $acc_pay->jrn = $mp->get_parameter('ledger_target'); - $acc_pay->periode = $tperiode; - $acc_pay->type = ($famount >= 0) ? 'd' : 'c'; - $acc_pay->insert_jrnx(); - - /* Insert supplier */ - $acc_pay = new Acc_Operation($this->db); - $acc_pay->date = $e_date; - $acc_pay->poste = $poste; - $acc_pay->qcode = $e_client; - $acc_pay->amount = abs(round($famount, 2)); - $acc_pay->desc = null; - $acc_pay->grpt = $acseq; - $acc_pay->jrn = $mp->get_parameter('ledger_target'); - $acc_pay->periode = $tperiode; - $acc_pay->type = ($famount >= 0) ? 'c' : 'd'; - $let_other = $acc_pay->insert_jrnx(); - - /* insert into jrn */ - $acc_pay->mt = $mt; - $acjrn->grpt_id = $acseq; - $acc_pay->desc = (!isset($e_comm_paiement) || strlen(trim($e_comm_paiement)) == 0) ? $e_comm : $e_comm_paiement; - $mp_jr_id = $acc_pay->insert_jrn(); - $acjrn->update_internal_code($acinternal); - - $r1 = $this->get_id($internal); - $r2 = $this->get_id($acinternal); - - /* - * add lettering - */ - $oletter = new Lettering($this->db); - $oletter->insert_couple($let_tiers, $let_other); - - - /* set the flag paid */ - $Res = $this->db->exec_sql("update jrn set jr_rapt='paid' where jr_id=$1", array($r1)); - - /* Reconcialiation */ - $rec = new Acc_Reconciliation($this->db); - $rec->set_jr_id($r1); - $rec->insert($r2); - - - /* - * save also into quant_fin - */ - - /* get ledger property */ - $ledger = new Acc_Ledger_Fin($this->db, $acc_pay->jrn); - $prop = $ledger->get_propertie(); - - /* if ledger is FIN then insert into quant_fin */ - if ($prop['jrn_def_type'] == 'FIN') { - $ledger->insert_quant_fin($acfiche->id, $mp_jr_id, $cust->id, bcmul($famount, 1)); - } - } - } catch (Exception $e) { - echo '' . - 'Erreur dans l\'enregistrement ' . - __FILE__ . ':' . __LINE__ . ' ' . - $e->getMessage(); - echo $e->getTrace(); - - $this->db->rollback(); - throw new Exception ($e); - } - $this->db->commit(); - - return $internal; - } - - /* ! - * @brief show the summary of the operation and propose to save it - * @param array contains normally $_POST. It proposes also to save - * the Analytic accountancy - * @param $p_summary false for the feedback, true to show the summary - * @return string - * - */ - - function confirm($p_array, $p_summary = false) { - global $g_parameter; - extract($p_array); - - // don't need to verify for a summary - if (!$p_summary) - $this->verify($p_array); - $anc = null; - // to show a select list for the analytic & VAT USE - // if analytic is op (optionnel) there is a blank line - - bcscale(4); - $client = new Fiche($this->db); - $client->get_by_qcode($e_client, true); - - $client_name = $client->getName() . - ' ' . $client->strAttribut(ATTR_DEF_ADRESS) . ' ' . - $client->strAttribut(ATTR_DEF_CP) . ' ' . - $client->strAttribut(ATTR_DEF_CITY); - $lPeriode = new Periode($this->db); - if ($this->check_periode() == true) { - $lPeriode->p_id = $period; - } else { - $lPeriode->find_periode($e_date); - } - $date_limit = $lPeriode->get_date_limit(); - $r = ""; - - $r.=''; - if ( $p_summary ) { - $jr_id=$this->db->get_value('select jr_id from jrn where jr_internal=$1',array($this->internal)); - $r.=""; - $r.=''; - $r.=''; - $r.=""; - } - $r.=''; - if ( ! $p_summary) { - $r.=''; - } else { - - if ( strcmp($this->pj,$e_pj) != 0 ) - { - $r.=''; - } else { - $r.=''; - } - } - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - - $r.=''; - $r.=''; - $r.=''; - $r.='
      '; - $r.=_('Détail opération '); - $r.=''; - $r.=sprintf ('%s', - $jr_id,dossier::id(),$this->internal); - $r.='
      ' . _('Numéro Pièce') .''. hb($e_pj) . '' . _('Numéro Pièce') .''. hb($this->pj) . - ' '._('Attention numéro pièce existante, elle a du être adaptée').'' . _('Numéro Pièce') .''. hb($this->pj) . '
      ' . _('Date') . ' ' . hb($e_date) . '
      ' . _('Echeance') . ' ' . hb($e_ech) . '
      ' . _('Période Comptable') . ' ' .hb( $date_limit['p_start'] . '-' . $date_limit['p_end']) . '
      ' . _('Journal') . ' ' . hb($this->get_name()) . '
      ' . _('Libellé') . ' ' . hb($e_comm) . '
      ' . _('Client') . ' ' . hb($e_client . ':' . $client_name) . '
      '; - $r.='

      ' . _('Détail articles vendus') . '

      '; - $r.='

      '; - $r.=''; - $r.=''; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - - - if ($g_parameter->MY_TVA_USE == 'Y') { - $r.=""; - $r.=''; - $r.=''; - $r.=''; - } else { - $r.=''; - } - /* if we use the AC */ - if ($g_parameter->MY_ANALYTIC != 'nu') { - $anc = new Anc_Plan($this->db); - $a_anc = $anc->get_list(); - $x = count($a_anc); - /* set the width of the col */ - $r.=''; - - /* add hidden variables pa[] to hold the value of pa_id */ - $r.=Anc_Plan::hidden($a_anc); - } - $r.=''; - $tot_amount = 0.0; - $tot_tva = 0.0; - for ($i = 0; $i < $nb_item; $i++) { - if (strlen(trim(${"e_march" . $i})) == 0) - continue; - - /* retrieve information for card */ - $fiche = new Fiche($this->db); - $fiche->get_by_qcode(${"e_march" . $i}); - if ($g_parameter->MY_UPDLAB == 'Y') - $fiche_name = h(${"e_march" . $i . "_label"}); - else - $fiche_name = $fiche->strAttribut(ATTR_DEF_NAME); - if ($g_parameter->MY_TVA_USE == 'Y') { - $oTva = new Acc_Tva($this->db); - $idx_tva = ${"e_march" . $i . "_tva_id"}; - - $oTva->set_parameter('id', $idx_tva); - $oTva->load(); - } - $op = new Acc_Compute(); - $amount = bcmul(${"e_march" . $i . "_price"}, ${'e_quant' . $i}); - $op->set_parameter("amount", $amount); - if ($g_parameter->MY_TVA_USE == 'Y') { - $op->set_parameter('amount_vat_rate', $oTva->get_parameter('rate')); - $op->compute_vat(); - $tva_computed = $op->get_parameter('amount_vat'); - $tva_item = ${"e_march" . $i . "_tva_amount"}; - if (isset($tva[$idx_tva])) - $tva[$idx_tva]+=$tva_item; - else - $tva[$idx_tva] = $tva_item; - $tot_tva = round(bcadd($tva_item, $tot_tva), 2); - } - $tot_amount = round(bcadd($tot_amount, $amount), 2); - - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $both_side=0; - if ($g_parameter->MY_TVA_USE == 'Y') { - $r.=''; - $both_side=$oTva->get_parameter("both_side"); - /* warning if tva_computed and given are not the - same */ - if (bcsub($tva_item, $tva_computed) != 0 && ! ($tva_item == 0 && $both_side == 1)) { - $r.=''; - $r.=''; - $tot_row = bcadd($tva_item, $amount); - $r.=td(nbm($tot_row), 'class="num"'); - } else { - $r.=''; - } - // encode the pa - if ($g_parameter->MY_ANALYTIC != 'nu') { // use of AA - // show form - $anc_op = new Anc_Operation($this->db); - $null = ($g_parameter->MY_ANALYTIC == 'op') ? 1 : 0; - $r.=''; - } - - - $r.=''; - } // end loop item - // - // Add the sum - $decalage=($g_parameter->MY_TVA_USE == 'Y')?'':''; - $tot = round(bcadd($tot_amount, $tot_tva), 2); - $tot_tva=nbm($tot_tva); - $tot=nbm($tot); - $str_tot=_('Totaux'); - $tot_amount=nbm($tot_amount); - $r.=<< - {$decalage} - - - - -EOF; - - $r.='
      " . _('Code') . "" . _('Dénomination') . "" . _('prix') . "" . _('quantité') . "" . _('tva') . " ' . _('Montant TVA') . '' . _('Montant HTVA') . '' . _('Montant TVAC') . '' . _('Montant') . '' . _('Compt. Analytique') . '
      '; - $r.=${"e_march" . $i}; - $r.=''; - $r.=$fiche_name; - $r.=''; - $r.=nbm(${"e_march" . $i . "_price"}); - $r.=''; - $r.=nbm(${"e_quant" . $i}); - $r.=''; - $r.=$oTva->get_parameter('label'); - $r.=''; - $r.=HtmlInput::infobulle(28); - $r.='' - . nbm($tva_item) . ''; - } else { - $r.=''; - $r.=nbm($tva_item); - } - $r.=''; - $r.=nbm($amount); - $r.=''; - $r.=nbm($amount); - $r.=''; - $p_mode = ($p_summary == false) ? 1 : 0; - $p_array['pa_id'] = $a_anc; - /* op is the operation it contains either a sequence or a jrnx.j_id */ - $r.=HtmlInput::hidden('op[]=', $i); - $r.=$anc_op->display_form_plan($p_array, $null, $p_mode, $i, $amount); - $r.='
      - {$str_tot} - - {$tot_tva} - - {$tot_amount} - - {$tot} -
      '; - $r.='

      '; - if ($g_parameter->MY_ANALYTIC != 'nu' && ! $p_summary) // use of AA - $r.=''; - $r.=(! $p_summary )?'
      ':'
      '; - $r.='

      Totaux

      '; - - /* use VAT */ - if ($g_parameter->MY_TVA_USE == 'Y') { - $r.=''; - $r.=''; - $r.=td(hb($tot_amount ),'class="num"'); - foreach ($tva as $i => $value) { - $oTva->set_parameter('id', $i); - $oTva->load(); - - $r.=''; - $r.=td(hb(nbm($tva[$i])),'class="num"'); - } - $r.=''.td(_('Total TVA')).td(hb($tot_tva),'class="num"'); - $r.=''.td(_('Total TVAC')).td(hb($tot),'class="num"'); - $r.='
      Total HTVA
      TVA ' . $oTva->get_parameter('label').'
      '; - } else { - $r.='
      Total '.hb($tot); - } - $r.='
      '; - /* Add hidden */ - $r.=HtmlInput::hidden('e_client', $e_client); - $r.=HtmlInput::hidden('nb_item', $nb_item); - $r.=HtmlInput::hidden('p_jrn', $p_jrn); - $mt = microtime(true); - $r.=HtmlInput::hidden('mt', $mt); - - if (isset($period)) - $r.=HtmlInput::hidden('period', $period); - /* \todo comment les types hidden gérent ils des contenus avec des quotes, double quote ou < > ??? */ - $r.=HtmlInput::hidden('e_comm', $e_comm); - $r.=HtmlInput::hidden('e_date', $e_date); - $r.=HtmlInput::hidden('e_ech', $e_ech); - $r.=HtmlInput::hidden('e_pj', $e_pj); - $r.=HtmlInput::hidden('e_pj_suggest', $e_pj_suggest); - - $e_mp = (isset($e_mp)) ? $e_mp : 0; - $r.=HtmlInput::hidden('e_mp', $e_mp); - - if ( isset($repo) ) { - // Show the available repository - $r.= $this->select_depot($p_summary,$repo); - } - - /* if the paymethod is not 0 and if a quick code is given */ - if ($e_mp != 0 && strlen(trim(${'e_mp_qcode_' . $e_mp})) != 0) { - $r.=HtmlInput::hidden('e_mp_qcode_' . $e_mp, ${'e_mp_qcode_' . $e_mp}); - $r.=HtmlInput::hidden('acompte', $acompte); - $r.=HtmlInput::hidden('e_comm_paiement', $e_comm_paiement); - /* needed for generating a invoice */ - $r.=HtmlInput::hidden('qcode_benef', ${'e_mp_qcode_' . $e_mp}); - - $fname = new Fiche($this->db); - $fname->get_by_qcode(${'e_mp_qcode_' . $e_mp}); - $r.='

      ' . "Payé par " . ${'e_mp_qcode_' . $e_mp} . - " " . $fname->getName() . '

      ' . '

      ' . _('Déduction acompte ') . h($acompte) . '

      ' . - _('Libellé :') . h($e_comm_paiement) ; - $r.='
      '; - } - - $r.=HtmlInput::hidden('jrn_type', $jrn_type); - for ($i = 0; $i < $nb_item; $i++) { - $r.=HtmlInput::hidden("e_march" . $i, ${"e_march" . $i}); - if (isset(${"e_march" . $i . "_label"})) - $r.=HtmlInput::hidden("e_march" . $i . "_label", ${"e_march" . $i . "_label"}); - $r.=HtmlInput::hidden("e_march" . $i . "_price", ${"e_march" . $i . "_price"}); - if ($g_parameter->MY_TVA_USE == 'Y') { - $r.=HtmlInput::hidden("e_march" . $i . "_tva_id", ${"e_march" . $i . "_tva_id"}); - $r.=HtmlInput::hidden("e_march" . $i . "_tva_amount", ${"e_march" . $i . "_tva_amount"}); - } - $r.=HtmlInput::hidden("e_quant" . $i, ${"e_quant" . $i}); - } - return $r; - } - - /* !\brief the function extra info allows to - * - add a attachment - * - generate an invoice - * - insert extra info - * \return string - */ - - public function extra_info() { - $r = '
      '; - // check for upload piece - $file = new IFile(); - $file->table = 0; - $r.='

      '; - $r.=_("Ajoutez une pièce justificative "); - $r.=$file->input("pj", ""); - - if ($this->db->count_sql("select md_id,md_name from document_modele where md_affect='VEN'") > 0) { - - - $r.=_('ou générer une facture') . ' '; - // We propose to generate the invoice and some template - $doc_gen = new ISelect(); - $doc_gen->name = "gen_doc"; - $doc_gen->value = $this->db->make_array( - "select md_id,md_name " . - " from document_modele where md_affect='VEN'"); - $r.=$doc_gen->input() . '
      '; - } - $r.='
      '; - $obj = new IText(); - $r.=_('Numero de bon de commande : ') . $obj->input('bon_comm') . '
      '; - $r.=_('Autre information : ') . $obj->input('other_info') . '
      '; - $r.='

      '; - $r.='
      '; - return $r; - } - - /** - * @brief update the payment - * @deprecated - * - */ - - function show_unpaid() { - // Show list of unpaid sell - // Date - date of payment - Customer - amount - // Nav. bar - $step = $_SESSION['g_pagesize']; - $page = (isset($_GET['offset'])) ? $_GET['page'] : 1; - $offset = (isset($_GET['offset'])) ? $_GET['offset'] : 0; - - - $sql = SQL_LIST_UNPAID_INVOICE_DATE_LIMIT . " and jr_def_id=" . $this->id; - list($max_line, $list) = ListJrn($this->db, $sql, null, $offset, 1); - $sql = SQL_LIST_UNPAID_INVOICE . " and jr_def_id=" . $this->id; - list($max_line2, $list2) = ListJrn($this->db, $sql, null, $offset, 1); - - // Get the max line - $m = ($max_line2 > $max_line) ? $max_line2 : $max_line; - $bar2 = navigation_bar($offset, $m, $step, $page); - - echo $bar2; - echo '

      ' . _('Echeance dépassée') . '

      '; - echo $list; - echo '

      ' . _('Non Payée') . '

      '; - echo $list2; - echo $bar2; - // Add hidden parameter - $hid = new IHidden(); - - echo '
      '; - - if ($m != 0) - echo HtmlInput::submit('paid', _('Mise à jour paiement')); - } - - /* !\brief display the form for entering data for invoice, - * \param $p_array is null or you can put the predef operation or the $_POST - * - * \return HTML string - */ - - function input($p_array = null, $p_readonly = 0) { - global $g_parameter, $g_user; - if ($p_array != null) - extract($p_array); - - $flag_tva = $g_parameter->MY_TVA_USE; - /* Add button */ - $f_add_button = new IButton('add_card'); - $f_add_button->tabindex = -1; - $f_add_button->label = _('Créer une nouvelle fiche'); - $f_add_button->set_attribute('ipopup', 'ipop_newcard'); - $f_add_button->set_attribute('jrn', $this->id); - $f_add_button->javascript = "this.jrn=\$('p_jrn').value; select_card_type(this);"; - - $f_add_button2 = new IButton('add_card2'); - $f_add_button2->tabindex = -1; - $f_add_button2->label = _('Créer une nouvelle fiche'); - $f_add_button2->set_attribute('ipopup', 'ipop_newcard'); - $f_add_button2->set_attribute('filter', $this->get_all_fiche_def()); - // $f_add_button2->set_attribute('jrn',$this->id); - $f_add_button2->javascript = " this.jrn=\$('p_jrn').value;select_card_type(this);"; - - $str_add_button = ""; - $str_add_button2 = ""; - if ($g_user->check_action(FICADD) == 1) { - $str_add_button = $f_add_button->input(); - $str_add_button2 = $f_add_button2->input(); - } - // The first day of the periode - $oPeriode = new Periode($this->db); - list ($l_date_start, $l_date_end) = $oPeriode->get_date_limit($g_user->get_periode()); - if ($g_parameter->MY_DATE_SUGGEST == 'Y') - $op_date = (!isset($e_date) ) ? $l_date_start : $e_date; - else - $op_date = (!isset($e_date) ) ? '' : $e_date; - - - $e_ech = (isset($e_ech)) ? $e_ech : ""; - $e_comm = (isset($e_comm)) ? $e_comm : ""; - - $r = ''; - $r.=dossier::hidden(); - $f_legend = _('Client'); - - $Echeance = new IDate(); - $Echeance->setReadOnly(false); - - $Echeance->tabindex = 2; - $label = HtmlInput::infobulle(4); - $f_echeance = $Echeance->input('e_ech', $e_ech, _('Echéance') . $label); - $Date = new IDate(); - $Date->setReadOnly(false); - - $f_date = $Date->input("e_date", $op_date); - - $f_periode = ''; - // Periode - //-- - if ($this->check_periode() == true) { - $l_user_per = $g_user->get_periode(); - $def = (isset($periode)) ? $periode : $l_user_per; - - $period = new IPeriod("period"); - $period->user = $g_user; - $period->cn = $this->db; - $period->value = $def; - $period->type = OPEN; - try { - $l_form_per = $period->input(); - } catch (Exception $e) { - if ($e->getCode() == 1) { - throw new Exception( _("Aucune période ouverte") ); - } - } - $label = HtmlInput::infobulle(3); - $f_periode = '' . _("Période comptable") . " $label " . $l_form_per . ''; - } - /* if we suggest the next pj, then we need a javascript */ - $add_js = ""; - if ($g_parameter->MY_PJ_SUGGEST == 'Y') { - $add_js = "update_pj();"; - } - if ($g_parameter->MY_DATE_SUGGEST == 'Y') { - $add_js.='get_last_date();'; - } - $add_js.='update_name();'; - $add_js.='update_pay_method();'; - $add_js.='update_row("sold_item");'; - - $wLedger = $this->select_ledger('VEN', 2); - if ($wLedger == null) - throw new Exception(_('Pas de journal disponible')); - $wLedger->table = 1; - $wLedger->javascript = "onChange='update_predef(\"ven\",\"f\",\"".$_REQUEST['ac']."\");$add_js'"; - $wLedger->label = " Journal " . HtmlInput::infobulle(2); - - $f_jrn = $wLedger->input(); - - $Commentaire = new IText(); - $Commentaire->table = 0; - $Commentaire->setReadOnly(false); - $Commentaire->size = 60; - $Commentaire->tabindex = 3; - - $label = HtmlInput::infobulle(1); - - $f_desc = $Commentaire->input("e_comm", h($e_comm)) ; - // PJ - //-- - /* suggest PJ ? */ - $default_pj = ''; - if ($g_parameter->MY_PJ_SUGGEST == 'Y') { - $default_pj = $this->guess_pj(); - } - - $pj = new IText(); - - $pj->table = 0; - $pj->name = "e_pj"; - $pj->size = 10; - $pj->value = (isset($e_pj)) ? $e_pj : $default_pj; - $f_pj = $pj->input() . HtmlInput::hidden('e_pj_suggest', $default_pj); - // Display the customer - //-- - $fiche = 'deb'; - - // Save old value and set a new one - //-- - $e_client = ( isset($e_client) ) ? $e_client : ""; - $e_client_label = " "; //str_pad("",100,"."); - // retrieve e_client_label - //-- - - if (strlen(trim($e_client)) != 0) { - $fClient = new Fiche($this->db); - $fClient->get_by_qcode($e_client); - $e_client_label = $fClient->strAttribut(ATTR_DEF_NAME) . ' ' . - ' Adresse : ' . $fClient->strAttribut(ATTR_DEF_ADRESS) . ' ' . - $fClient->strAttribut(ATTR_DEF_CP) . ' ' . - $fClient->strAttribut(ATTR_DEF_CITY) . ' '; - } - - $W1 = new ICard(); - $W1->label = "Client " . HtmlInput::infobulle(0); - $W1->name = "e_client"; - $W1->tabindex = 3; - $W1->value = $e_client; - $W1->table = 0; - $W1->set_dblclick("fill_ipopcard(this);"); - $W1->set_attribute('ipopup', 'ipopcard'); - - // name of the field to update with the name of the card - $W1->set_attribute('label', 'e_client_label'); - // name of the field to update with the name of the card - $W1->set_attribute('typecard', 'deb'); - - // Add the callback function to filter the card on the jrn - $W1->set_callback('filter_card'); - $W1->set_function('fill_data'); - $W1->javascript = sprintf(' onchange="fill_data_onchange(\'%s\');" ', $W1->name); - $f_client_qcode = $W1->input(); - $client_label = new ISpan(); - $client_label->table = 0; - $f_client = $client_label->input("e_client_label", $e_client_label); - $f_client_bt = $W1->search(); - - - // Record the current number of article - $Hid = new IHidden(); - $p_article = ( isset($nb_item)) ? $nb_item : $this->get_min_row(); - $r.=$Hid->input("nb_item", $p_article); - $max = ($p_article < $this->get_min_row()) ? $this->get_min_row() : $p_article; - - - $f_legend_detail = _("Détail articles vendus"); - - // For each article - //-- - for ($i = 0; $i < $max; $i++) { - // Code id, price & vat code - //-- - $march = (isset(${"e_march$i"})) ? ${"e_march$i"} : ""; - $march_price = (isset(${"e_march" . $i . "_price"})) ? ${"e_march" . $i . "_price"} : "" ; - if ($flag_tva == 'Y') { - $march_tva_id = (isset(${"e_march$i" . "_tva_id"})) ? ${"e_march$i" . "_tva_id"} : ""; - $march_tva_amount = (isset(${"e_march$i" . "_tva_amount"})) ? ${"e_march$i" . "_tva_amount"} : ""; - } - $march_label = (isset(${"e_march" . $i . "_label"})) ? ${"e_march" . $i . "_label"} : ""; - - // retrieve the tva label and name - //-- - if (strlen(trim($march)) != 0 && strlen(trim($march_label)) == 0) { - $fMarch = new Fiche($this->db); - $fMarch->get_by_qcode($march); - $march_label = $fMarch->strAttribut(ATTR_DEF_NAME); - if ($flag_tva == 'Y') { - if (!(isset(${"e_march$i" . "_tva_id"}))) - $march_tva_id = $fMarch->strAttribut(ATTR_DEF_TVA); - } - } - // Show input - //-- - $W1 = new ICard(); - $W1->label = ""; - $W1->name = "e_march" . $i; - $W1->value = $march; - $W1->table = 1; - $W1->set_attribute('typecard', 'cred'); - $W1->set_dblclick("fill_ipopcard(this);"); - $W1->set_attribute('ipopup', 'ipopcard'); - - // name of the field to update with the name of the card - $W1->set_attribute('label', 'e_march' . $i . '_label'); - // name of the field with the price - $W1->set_attribute('price', 'e_march' . $i . '_price'); - // name of the field with the TVA_ID - $W1->set_attribute('tvaid', 'e_march' . $i . '_tva_id'); - // Add the callback function to filter the card on the jrn - $W1->set_callback('filter_card'); - $W1->set_function('fill_data'); - $W1->javascript = sprintf(' onchange="fill_data_onchange(\'%s\');" ', $W1->name); - - $W1->readonly = false; - - $array[$i]['quick_code'] = $W1->input(); - $array[$i]['bt'] = $W1->search(); - // For computing we need some hidden field for holding the value - $array[$i]['hidden'] = ''; - if ($flag_tva == 'Y') - $array[$i]['hidden'].=HtmlInput::hidden('tva_march' . $i, 0); - - $htva = new INum('htva_march' . $i); - $htva->readOnly = 1; - $htva->value = 0; - $array[$i]['htva'] = $htva->input(); - - if ($g_parameter->MY_TVA_USE == 'Y') - $tvac = new INum('tvac_march' . $i); - else - $tvac = new IHidden('tvac_march' . $i); - - $tvac->readOnly = 1; - $tvac->value = 0; - $array[$i]['tvac'] = $tvac->input(); - - if ($g_parameter->MY_UPDLAB == 'Y') { - $Span = new IText("e_march" . $i . "_label"); - - $Span->css_size = "100%"; - } else { - $Span = new ISpan("e_march" . $i . "_label"); - } - $Span->value = $march_label; - $Span->setReadOnly(false); - // card's name, price - //-- - $array[$i]['denom'] = $Span->input("e_march" . $i . "_label", $march_label); - // price - $Price = new INum(); - $Price->setReadOnly(false); - $Price->size = 9; - $Price->javascript = "onBlur='format_number(this);clean_tva($i);compute_ledger($i)'"; - $array[$i]['pu'] = $Price->input("e_march" . $i . "_price", $march_price); - $array[$i]['tva'] = ''; - $array[$i]['amount_tva'] = ''; - // if tva is not needed then no tva field - if ($flag_tva == 'Y') { - // vat label - //-- - $Tva = new ITva_Popup($this->db); - $Tva->in_table = true; - $Tva->set_attribute('compute', $i); - - $Tva->js = 'onblur="format_number(this);clean_tva(' . $i . ');compute_ledger(' . $i . ')"'; - $Tva->value = $march_tva_id; - $array[$i]['tva'] = $Tva->input("e_march$i" . "_tva_id"); - // vat amount - //-- - $wTva_amount = new INum(); - $wTva_amount->readOnly = false; - $wTva_amount->size = 6; - $wTva_amount->javascript = "onBlur='format_number(this);compute_ledger($i)'"; - $array[$i]['amount_tva'] = $wTva_amount->input("e_march" . $i . "_tva_amount", $march_tva_amount); - } - // quantity - //-- - $quant = (isset(${"e_quant$i"})) ? ${"e_quant$i"} : "1" - ; - $Quantity = new INum(); - $Quantity->setReadOnly(false); - $Quantity->size = 8; - $Quantity->javascript = "onChange='format_number(this);clean_tva($i);compute_ledger($i)'"; - $array[$i]['quantity'] = $Quantity->input("e_quant" . $i, $quant); - }// foreach article - $f_type = _('Client'); - - - ob_start(); - require_once NOALYSS_INCLUDE.'/template/form_ledger_detail.php'; - $r.=ob_get_contents(); - ob_end_clean(); - - - - // Set correctly the REQUEST param for jrn_type - $r.=HtmlInput::hidden('jrn_type', 'VEN'); - - $r.=HtmlInput::button('add_item', _('Ajout article'), ' onClick="ledger_add_row()"'); - $r.= create_script("$('" . $Date->id . "').focus()"); - return $r; - } - /** - * Retrieve data from the view v_detail_sale - * @global $g_user connected user - * @param $p_from jrn.jr_tech_per from - * @param type $p_end jrn.jr_tech_per to - * @return type - */ - function get_detail_sale($p_from,$p_end) - { - global $g_user; - // Journal valide - if ( $this->id == 0 ) die (__FILE__.":".__LINE__." Journal invalide"); - - // Securite - if ( $g_user->get_ledger_access($this->id) == 'X' ) return null; - - // get the data from the view - $sql = "select * - from v_detail_sale - where - jr_def_id = $1 - and jr_date >= (select p_start from parm_periode where p_id = $2) - and jr_date <= (select p_end from parm_periode where p_id = $3) " - .' order by jr_date,substring(jr_pj_number,\'[0-9]+$\')::numeric asc '; - $ret = $this->db->exec_sql($sql, array($this->id,$p_from, $p_end)); - return $ret; - } - /** - * @brief compute an array with the heading cells for the - * details, used for the export in CSV - * @return array - */ - static function heading_detail_sale() - { - $array['jr_id'] = _('Numéro opération'); - $array['jr_date'] = _('Date'); - $array['jr_date_paid'] = _('Date paiement'); - $array['jr_ech'] = _('Date échéance'); - $array['jr_tech_per'] = _('Période'); - $array['jr_comment'] = _('Libellé'); - $array['jr_pj_number'] = _('Pièce'); - $array['jr_internal'] = _('Interne'); - $array['jr_def_id'] = _('Code journal'); - $array['j_poste'] = _('Poste'); - $array['j_text'] = _('Commentaire'); - $array['j_qcode'] = _('Code Item'); - $array['item_card'] = _('N° fiche'); - $array['item_name'] = _('Nom fiche'); - $array['qs_client'] = _('N° fiche fournisseur'); - $array['tiers_name'] = _('Nom fournisseur'); - $array['quick_code'] = _('Code fournisseur'); - $array['tva_label'] = _('Nom TVA'); - $array['tva_comment'] = _('Commentaire TVA'); - $array['tva_both_side'] = _('TVA annulée'); - $array['vat_sided'] = _('TVA Non Payé'); - $array['vat_code'] = _('Code TVA'); - $array['vat'] = _('Montant TVA'); - $array['price'] = _('Total HTVA'); - $array['quantity'] = _('quantité'); - $array['price_per_unit'] = _('PU'); - $array['htva'] = _('HTVA Opération'); - $array['tot_vat'] = _('TVA Opération'); - return $array; - } - /* !\brief test function - */ - - static function test_me($p_string = '') { - $cn = new Database(dossier::id()); - $a = new Acc_Ledger_Sold($cn, 2); - echo $a->input(); - } - - } - diff --git a/sources/include/class_acc_operation.php b/sources/include/class_acc_operation.php deleted file mode 100644 index 1de6fc4..0000000 --- a/sources/include/class_acc_operation.php +++ /dev/null @@ -1,716 +0,0 @@ -db=$p_cn; - $this->qcode=""; - $this->user=$_SESSION['g_user']; - $this->periode=$g_user->get_periode(); - $this->jr_id=0; - } - /** - *@brief retrieve the grpt_id from jrn for a jr_id - *@return jrn.jr_grpt_id or an empty string if not found - */ - function seek_group() - { - $ret=$this->db->get_value('select jr_grpt_id from jrn where jr_id=$1', - array($this->jr_id)); - return $ret; - } - /** - *@brief Insert into the table Jrn - *The needed data are : - * - this->date - * - this->amount - * - this->poste - * - this->grpt - * - this->jrn - * - this->type ( debit or credit) - * - this->user - * - this->periode - * - this->qcode - * - this->desc optional - *@note if the amount is less than 0 then side changes, for example debit becomes - *a credit and vice versa - *@return jrnx.j_id - */ - - function insert_jrnx() - { - if ( $this->poste == "") { return false; throw new Exception (__FILE__.':'.__LINE__.' Poste comptable vide');} - /* for negative amount the operation is reversed */ - if ( $this->amount < 0 ) - { - $this->type=($this->type=='d')?'c':'d'; - } - $this->amount=abs($this->amount); - $debit=($this->type=='c')?'false':'true'; - $this->desc=(isset($this->desc))?$this->desc:''; - $Res=$this->db->exec_sql("select insert_jrnx - ($1::text,abs($2)::numeric,$3::account_type,$4::integer,$5::integer,$6::bool,$7::text,$8::integer,upper($9),$10::text)", - array( - $this->date, //$1 - round($this->amount,2), //$2 - $this->poste, //$3 - $this->grpt, //$4 - $this->jrn, //$5 - $debit, //$6 - $this->user, //$7 - $this->periode, //$8 - $this->qcode, // $9 - $this->desc)); //$10 - if ( $Res===false) return $Res; - $this->jrnx_id=$this->db->get_current_seq('s_jrn_op'); - return $this->jrnx_id; - - } - /*!\brief set the pj of a operation in jrn. the jr_id must be set - *\note if the jr_id it fails - */ - function set_pj() - { - if ( strlen(trim($this->pj)) == 0 ) - { - $sql="update jrn set jr_pj_number=$1 where jr_id=$2"; - $this->db->exec_sql($sql,array(null,$this->jr_id)); - return ''; - } - /* is pj uniq ? */ - if ( $this->db->count_sql("select jr_id from jrn where jr_pj_number=$1 and jr_def_id=$2", - array($this->pj,$this->jrn) - ) == 0 ) - { - $sql="update jrn set jr_pj_number=$1 where jr_id=$2"; - $this->db->exec_sql($sql,array($this->pj,$this->jr_id)); - } - else - { - /* get pref */ - $pref=$this->db->get_value("select jrn_def_pj_pref from jrn_def where jrn_def_id=$1", - array($this->jrn)); - /* try another seq */ - $flag=0; - $limit=100; - while ( $flag == 0 ) - { - /* limit the search to $limit */ - if ( $limit < 1 ) - { - $this->pj=''; - $flag=2; - break; - } - - $seq=$this->db->get_next_seq('s_jrn_pj'.$this->jrn); - $this->pj=$pref.$seq; - - /* check if the new pj numb exist */ - $c=$this->db->count_sql("select jr_id from jrn where jr_pj_number=$1 and jr_def_id=$2", - array($this->pj,$this->jrn) - ); - if ( $c == 0 ) - { - $flag=1; - break; - } - $limit--; - } - /* a pj numb is found */ - if ( $flag == 1 ) - { - $sql="update jrn set jr_pj_number=$1 where jr_id=$2"; - $this->db->exec_sql($sql,array($this->pj,$this->jr_id)); - } - } - return $this->pj; - } - - /*! - *\brief Insert into the table Jrn, the amount is computed from jrnx thanks the - * group id ($p_grpt) - * - * \return sequence of jr_id - * - */ - - function insert_jrn() - { - $p_comment=$this->desc; - - $diff=$this->db->get_value("select check_balance ($1)",array($this->grpt)); - if ( $diff != 0 ) - { - - echo "Erreur : balance incorrecte :diff = $diff"; - return false; - } - - $echeance=( isset( $this->echeance) && strlen(trim($this->echeance)) != 0)?$this->echeance:null; - if ( ! isset($this->mt) ) - { - $this->mt=microtime(true); - } - // if amount == -1then the triggers will throw an error - // - $Res=$this->db->exec_sql("insert into jrn (jr_def_id,jr_montant,jr_comment,". - "jr_date,jr_ech,jr_grpt_id,jr_tech_per,jr_mt) values (". - "$1,$2,$3,". - "to_date($4,'DD.MM.YYYY'),to_date($5,'DD.MM.YYYY'),$6,$7,$8)", - array ($this->jrn, $this->amount,$p_comment, - $this->date,$echeance,$this->grpt,$this->periode,$this->mt) - ); - if ( $Res == false) return false; - $this->jr_id=$this->db->get_current_seq('s_jrn'); - return $this->jr_id; - } - /*! - * \brief Return the internal value, the property jr_id must be set before - * - * \return null si aucune valeur de trouv - * - */ - function get_internal() - { - if ( ! isset($this->jr_id) ) - throw new Exception('jr_id is not set',1); - $Res=$this->db->exec_sql("select jr_internal from jrn where jr_id=".$this->jr_id); - if ( Database::num_row($Res) == 0 ) return null; - $l_line=Database::fetch_array($Res); - $this->jr_internal= $l_line['jr_internal']; - return $this->jr_internal; - } - /*!\brief search an operation thankx it internal code - * \param internal code - * \return 0 ok -1 nok - */ - function seek_internal($p_internal) - { - $res=$this->db->exec_sql('select jr_id from jrn where jr_internal=$1', - array($p_internal)); - if ( Database::num_row($Res) == 0 ) return -1; - $this->jr_id=Database::fetch_result($Res,0,0); - return 0; - } - /*!\brief retrieve data from jrnx - *\note the data are filtered by the access of the current user - * \return an array - */ - function get_jrnx_detail() - { - global $g_user; - $filter_sql=$g_user->get_ledger_sql('ALL',3); - $filter_sql=str_replace('jrn_def_id','jr_def_id',$filter_sql); - if ( $this->jr_id==0 ) return; - $sql=" select jr_date,j_qcode,j_poste,j_montant,jr_internal,case when j_debit = 'f' then 'C' else 'D' end as debit,jr_comment as description, - vw_name,pcm_lib,j_debit,coalesce(comptaproc.get_letter_jnt(j_id),-1) as letter,jr_def_id ". - " from jrnx join jrn on (jr_grpt_id=j_grpt) - join tmp_pcmn on (j_poste=pcm_val) - left join vw_fiche_attr on (j_qcode=quick_code) - where - jr_id=$1 and $filter_sql order by j_debit desc"; - $res=$this->db->exec_sql($sql,array($this->jr_id)); - if ( Database::num_row ($res) == 0 ) return array(); - $all=Database::fetch_all($res); - return $all; - } - /*!\brief add a comment to the line (jrnx.j_text) */ - function update_comment($p_text) - { - $sql="update jrnx set j_text=$1 where j_id=$2"; - $this->db->exec_sql($sql,array($p_text,$this->jrnx_id)); - } - /*!\brief add a comment to the operation (jrn.jr_text) */ - function operation_update_comment($p_text) - { - $sql="update jrn set jr_comment=$1 where jr_id=$2"; - $this->db->exec_sql($sql,array($p_text,$this->jr_id)); - } - /*!\brief add a limit of payment to the operation (jrn.jr_ech) */ - function operation_update_date_limit($p_text) - { - if ( isDate($p_text) == null ) - { - $p_text=null; - } - $sql="update jrn set jr_ech=to_date($1,'DD.MM.YYYY') where jr_id=$2"; - $this->db->exec_sql($sql,array($p_text,$this->jr_id)); - } - /*!\brief return the jrn_def_id from jrn */ - function get_ledger() - { - $sql="select jr_def_id from jrn where jr_id=$1"; - $row=$this->db->get_value($sql,array($this->jr_id)); - return $row; - } - /*!\brief display_jrnx_detail : get the data from get_jrnx_data and - return a string with HTML code - * \param table(=0 no code for table,1 code for table,2 code for CSV) - - */ - function display_jrnx_detail($p_table) - { - $show=$this->get_jrnx_detail(); - - $r=''; - $r_notable=''; - $csv=""; - foreach ($show as $l) - { - $border=""; - if ( $l['j_poste'] == $this->poste || ($l['j_qcode']==$this->qcode && trim($this->qcode) != '')) - $border=' class="highlight"'; - $r.=''; - $r.=''; - $a=$l['j_qcode']; - - $r_notable.=$a; - $r.=$a; - $csv.='"'.$a.'";'; - $r.=''; - - $r.=''; - $a=$l['j_poste']; - $r_notable.=$a; - $r.=$a; - $csv.='"'.$a.'";'; - $r.=''; - - $r.=''; - // $a=($l['vw_name']=="")?$l['j_qcode']:$l['pcm_lib']; - $a=(strlen(trim($l['j_qcode']))==0)?$l['pcm_lib']:$l['vw_name']; - $r_notable.=$a; - $r.=h($a); - $csv.='"'.$a.'";'; - $r.=''; - - $r.=''; - $a=$l['j_montant']; - $r_notable.=$a; - $r.=$a; - $csv.=$a.';'; - $r.=''; - - $r.=''; - $a=$l['debit']; - $r_notable.=$a; - $r.=$a; - $csv.='"'.$a.'"'; - - $csv.="\r\n"; - $r.=''; - $r.=''; - $a=($l['letter']!=-1)?$l['letter']:''; - $r_notable.=$a; - $r.=$a; - $csv.='"'.$a.'"'; - - $csv.="\r\n"; - $r.=''; - - - $r.=''; - } - switch ($p_table) - { - case 1: - return $r; - break; - case 0: - return $r_notable; - break; - case 2: - return $csv; - } - return "ERROR PARAMETRE"; - } - /*! - * @brief Get data from jrnx where p_grpt=jrnx(j_grpt) - * - * @param connection - * @return array of 3 elements - * - First Element is an array - @verbatim - Array - ( - [op_date] => 01.12.2009 - [class_cred0] => 7000008 - [mont_cred0] => 8880.0000 - [op_cred0] => 754 - [text_cred0] => - [jr_internal] => 23VEN-01-302 - [comment] => - [ech] => - [jr_id] => 302 - [jr_def_id] => 2 - [class_deb0] => 4000005 - [mont_deb0] => 10744.8000 - [text_deb0] => - [op_deb0] => 755 - [class_cred1] => 4511 - [mont_cred1] => 1864.8000 - [op_cred1] => 756 - [text_cred1] => - ) - @endverbatim - * - Second : number of line with debit - * - Third : number of line with credit - */ - function get_data ($p_grpt) - { - $Res=$this->db->exec_sql("select - to_char(j_date,'DD.MM.YYYY') as j_date, - j_text, - j_debit, - j_poste, - coalesce(j_qcode,'-') as qcode, - j_montant, - j_id, - jr_comment, - to_char(jr_ech,'DD.MM.YYYY') as jr_ech, - to_char(jr_date,'DD.MM.YYYY') as jr_date, - jr_id,jr_internal,jr_def_id,jr_pj - from jrnx inner join jrn on j_grpt=jr_grpt_id where j_grpt=$1",array($p_grpt)); - $MaxLine=Database::num_row($Res); - if ( $MaxLine == 0 ) return null; - $deb=0; - $cred=0; - for ( $i=0; $i < $MaxLine; $i++) - { - - $l_line=Database::fetch_array($Res,$i); - $l_array['op_date']=$l_line['j_date']; - if ( $l_line['j_debit'] == 't' ) - { - $l_class=sprintf("class_deb%d",$deb); - $l_montant=sprintf("mont_deb%d",$deb); - $l_text=sprintf("text_deb%d",$deb); - $l_qcode=sprintf("qcode_deb%d",$deb); - $l_array[$l_class]=$l_line['j_poste']; - $l_array[$l_montant]=$l_line['j_montant']; - $l_array[$l_text]=$l_line['j_text']; - $l_array[$l_qcode]=$l_line['qcode']; - $l_id=sprintf("op_deb%d",$deb); - $l_array[$l_id]=$l_line['j_id']; - $deb++; - } - if ( $l_line['j_debit'] == 'f' ) - { - $l_class=sprintf("class_cred%d",$cred); - $l_montant=sprintf("mont_cred%d",$cred); - $l_array[$l_class]=$l_line['j_poste']; - $l_array[$l_montant]=$l_line['j_montant']; - $l_id=sprintf("op_cred%d",$cred); - $l_array[$l_id]=$l_line['j_id']; - $l_text=sprintf("text_cred%d",$cred); - $l_array[$l_text]=$l_line['j_text']; - $l_qcode=sprintf("qcode_cred%d",$cred); - $l_array[$l_qcode]=$l_line['qcode']; - $cred++; - } - $l_array['jr_internal']=$l_line['jr_internal']; - $l_array['comment']=$l_line['jr_comment']; - $l_array['ech']=$l_line['jr_ech']; - $l_array['jr_id']=$l_line['jr_id']; - $l_array['jr_def_id']=$l_line['jr_def_id']; - } - return array($l_array,$deb,$cred); - } - /** - *@brief retrieve data from jrnx and jrn - *@return return an object - *@note - *@see - @code - - @endcode - */ - function get() - { - $ret=new Acc_Misc($this->db,$this->jr_id); - $ret->get(); - return $ret; - } - /** - *@brief retrieve data from the table QUANT_* - *@return return an object or null if there is no - * data from the QUANT table - *@see Acc_Sold Acc_Purchase Acc_Fin Acc_Detail Acc_Misc - */ - function get_quant() - { - $ledger_id=$this->get_ledger(); - if ( $ledger_id=='') throw new Exception(_('Journal non trouvé')); - $oledger=new Acc_Ledger($this->db,$ledger_id); - - // retrieve info from jrn_info - - - switch($oledger->get_type()) - { - case 'VEN': - $ret=new Acc_Sold($this->db,$this->jr_id); - break; - case 'ACH': - $ret=new Acc_Purchase($this->db,$this->jr_id); - break; - case 'FIN': - $ret=new Acc_Fin($this->db,$this->jr_id); - break; - default: - $ret=new Acc_Misc($this->db,$this->jr_id); - break; - } - $ret->get(); - if ( empty($ret->det->array)) - { - $ret=new Acc_Misc($this->db,$this->jr_id); - $ret->get(); - } - $ret->get_info(); - return $ret; - } - /** - * @brief retrieve info from the jrn_info, create 2 new arrays - * obj->info->command and obj->info->other - * the columns are the idx - */ - function get_info() - { - $this->info=new stdClass(); - // other info - $array=$this->db->get_value("select ji_value from jrn_info where - jr_id=$1 and id_type=$2",array($this->jr_id,'OTHER')); - $this->info->other= $array; - - // Bon de commande - $array=$this->db->get_value("select ji_value from jrn_info where - jr_id=$1 and id_type=$2",array($this->jr_id,'BON_COMMANDE')); - $this->info->command= $array; - - } - /** - * Save into jrn_info - * @param $p_info msg to save - * @param $p_type is OTHER or BON_COMMAND - */ - function save_info($p_info,$p_type) - { - if ( ! in_array($p_type,array('OTHER','BON_COMMANDE'))) return; - if (trim($p_info)=="") { - $this->db->exec_sql('delete from jrn_info where jr_id=$1 and id_type=$2',array($this->jr_id,$p_type)); - return; - } - $exist=$this->db->get_value('select count(ji_id) from jrn_info where jr_id=$1 and id_type=$2',array($this->jr_id,$p_type)); - if ( $exist == "0" ) { - //insert into jrn_info - $this->db->exec_sql('insert into jrn_info(jr_id,id_type,ji_value) values ($1,$2,$3)', - array($this->jr_id,$p_type,$p_info)); - } elseif ( $exist == 1) { - //update - $this->db->exec_sql('update jrn_info set ji_value=$3 where jr_id=$1 and id_type=$2', - array($this->jr_id,$p_type,$p_info)); - } - } - - function insert_related_action($p_string) - { - if ($p_string == "") return; - $a_action=explode(',',$p_string); - for ($i=0;$idb,$a_action[$i]); - $action->operation=$this->jr_id; - $action->insert_operation(); - } - } - static function test_me() - { - $_SESSION['g_user']='phpcompta'; - $_SESSION['g_pass']='dany'; - global $g_user; - $cn=new Database(dossier::id()); - $g_user=new User($cn); - $a=new Acc_Operation($cn); - $a->jr_id=1444; - $b=$a->get_quant(); - var_dump($b); - } -} -///////////////////////////////////////////////////////////////////////////// -class Acc_Detail extends Acc_Operation -{ - function __construct($p_cn,$p_jrid=0) - { - parent::__construct($p_cn); - $this->jr_id=$p_jrid; - $this->det=new stdClass(); - } - /** - *@brief retrieve some common data from jrn as - * the datum, the comment,payment limit... - */ - function get() - { - $sql="SELECT jr_id, jr_def_id, jr_montant, jr_comment, jr_date, jr_grpt_id, - jr_internal, jr_tech_date, jr_tech_per, jrn_ech, jr_ech, jr_rapt,jr_ech, - jr_valid, jr_opid, jr_c_opid, jr_pj, jr_pj_name, jr_pj_type, - jr_pj_number, jr_mt,jr_rapt,jr_date_paid - FROM jrn where jr_id=$1"; - $array=$this->db->get_array($sql,array($this->jr_id)); - if ( count($array) == 0 ) throw new Exception('Aucune ligne trouvée'); - foreach ($array[0] as $key=>$val) - { - $this->det->$key=$val; - } - $sql="select n_text from jrn_note where jr_id=$1"; - $this->det->note=$this->db->get_value($sql,array($this->jr_id)); - $this->det->note=strip_tags($this->det->note); - } -} -///////////////////////////////////////////////////////////////////////////// -/** - *@brief this class manage data from the JRNX and JRN - * table - *@note Data member are the column of the table - */ -class Acc_Misc extends Acc_Detail -{ - var $signature; /*!< signature of the obj ODS */ - var $array; /*!< an array containing the data from JRNX */ - function __construct($p_cn,$p_jrid=0) - { - parent::__construct($p_cn,$p_jrid); - $this->signature='ODS'; - $this->det=new stdClass(); - } - function get() - { - parent::get(); - $sql="SELECT j_id, j_date, j_montant, j_poste, j_grpt, j_rapt, j_jrn_def, - j_debit, j_text, j_centralized, j_internal, j_tech_user, j_tech_date, - j_tech_per, j_qcode - FROM jrnx where j_grpt = $1 order by j_debit desc,j_poste"; - $this->det->array=$this->db->get_array($sql,array($this->det->jr_grpt_id)); - } -} -///////////////////////////////////////////////////////////////////////////// -/** - *@brief this class manage data from the QUANT_SOLD - * table - *@note Data member are the column of the table - */ -class Acc_Sold extends Acc_Detail -{ - function __construct($p_cn,$p_jrid=0) - { - parent::__construct($p_cn,$p_jrid); - $this->signature='VEN'; - $this->det=new stdClass(); - } - function get() - { - parent::get(); - $sql="SELECT qs_id, qs_internal, qs_fiche, qs_quantite, qs_price, qs_vat, - qs_vat_code, qs_client, qs_valid, j_id,j_text,qs_vat_sided - FROM quant_sold join jrnx using(j_id) where j_grpt=$1"; - $this->det->array=$this->db->get_array($sql,array($this->det->jr_grpt_id)); - } - -} -///////////////////////////////////////////////////////////////////////////// -/** - *@brief this class manage data from the QUANT_PURCHASE - * table - *@note Data member are the column of the table - - */ -class Acc_Purchase extends Acc_Detail -{ - function __construct($p_cn,$p_jrid=0) - { - parent::__construct($p_cn,$p_jrid); - $this->signature='ACH'; - } - - function get() - { - parent::get(); - $sql="SELECT qp_id, qp_internal, j_id, qp_fiche, qp_quantite, qp_price, qp_vat, - qp_vat_code, qp_nd_amount, qp_nd_tva, qp_nd_tva_recup, qp_supplier, - qp_valid, qp_dep_priv,j_text,qp_vat_sided - FROM quant_purchase join jrnx using(j_id) where j_grpt=$1"; - $this->det->array=$this->db->get_array($sql,array($this->det->jr_grpt_id)); - } -} -///////////////////////////////////////////////////////////////////////////// -/** - *@brief this class manage data from the QUANT_FIN - * table - *@note Data member are the column of the table - */ -class Acc_Fin extends Acc_Detail -{ - function __construct($p_cn,$p_jrid=0) - { - parent::__construct($p_cn,$p_jrid); - $this->signature='FIN'; - } - - function get() - { - parent::get(); - $sql="SELECT qf_id, qf_bank, jr_id, qf_other, qf_amount - FROM quant_fin where jr_id = $1"; - $this->det->array=$this->db->get_array($sql,array($this->jr_id)); - } -} diff --git a/sources/include/class_acc_parm_code.php b/sources/include/class_acc_parm_code.php deleted file mode 100644 index 21a4459..0000000 --- a/sources/include/class_acc_parm_code.php +++ /dev/null @@ -1,182 +0,0 @@ -db=$p_cn; - $this->p_code=$p_id; - if ( $p_id != -1 ) - $this->load(); - } - /*! - ************************************************** - * \brief - * Load all parmCode - * return an array of Acc_Parm_Code object - * - * \return array - */ - - function load_all() - { - $sql="select * from parm_code order by p_code"; - $Res=$this->db->exec_sql($sql); - $r= Database::fetch_all($Res); - $idx=0; - $array=array(); - - if ( $r === false ) return null; - foreach ($r as $row ) - { - $o=new Acc_Parm_Code($this->db,$row['p_code']); - $array[$idx]=$o; - $idx++; - } - - return $array; - } - /*! - ************************************************** - * \brief update a parm_object into the database - * p_code is _not_ updatable - * \return - * nothing - */ - function save() - { - // if p_code=="" nothing to save - if ( $this->p_code== -1) return; - // check if the account exists - $acc=new Acc_Account_Ledger($this->db,$this->p_value); - if ( $acc->load() == false ) - { - alert(_("Ce compte n'existe pas")); - } - else - { - $this->p_comment=sql_string($this->p_comment); - $this->p_value=sql_string($this->p_value); - $this->p_code=sql_string($this->p_code); - $sql="update parm_code set ". - "p_comment='".$this->p_comment."' ". - ",p_value='".$this->p_value."' ". - "where p_code='".$this->p_code."'"; - $Res=$this->db->exec_sql($sql); - } - } - /*! - ************************************************** - * \brief Display an object, with the tag - * - * \return - * string - */ - function display() - { - $r=""; - $r.= ''.$this->p_code.''; - $r.= ''.h($this->p_comment).''; - $r.= ''.$this->p_value.''; - - return $r; - } - /*! - ************************************************** - * \brief Display a form to enter info about - * a parm_code object with the tag - * - * \return string - */ - function form() - { - $comment=new IText(); - $comment->name='p_comment'; - $comment->value=$this->p_comment; - $comment->size=45; - $value=new IPoste(); - $value->name='p_value'; - $value->value=$this->p_value; - $value->size=7; - $value->set_attribute('ipopup','ipop_account'); - $value->set_attribute('account','p_value'); - $poste=new IText(); - $poste->setReadOnly(true); - $poste->size=strlen($this->p_code)+1; - $poste->name='p_code'; - $poste->value=$this->p_code; - $r=""; - $r.=''; - $r.=' Code '; - $r.= ''.$poste->input().''; - $r.=''; - $r.=''; - $r.=' Commentaire '; - $r.= ''.$comment->input().''; - $r.=''; - $r.=''; - $r.=' Poste comptable '; - $r.= ''.$value->input(); - $r.=''; - $r.=''; - $r.=Dossier::hidden(); - return $r; - - } - - /*! - ************************************************** - * \brief - * Complete a parm_code object thanks the p_code - * - * \return array - */ - - function load() - { - if ( $this->p_code == -1 ) return "p_code non initialisé"; - $sql='select * from parm_code where p_code=$1 '; - - $Res=$this->db->exec_sql($sql,array($this->p_code)); - - if ( Database::num_row($Res) == 0 ) return 'INCONNU'; - $row= Database::fetch_array($Res,0); - $this->p_value=$row['p_value']; - $this->p_comment=$row['p_comment']; - - } - -} diff --git a/sources/include/class_acc_payment.php b/sources/include/class_acc_payment.php deleted file mode 100644 index 1cb9b60..0000000 --- a/sources/include/class_acc_payment.php +++ /dev/null @@ -1,406 +0,0 @@ - id ( Primary key ) - - mp_lib ==> lib (label) - - mp_jrn_def_id ==> ledger (Number of the ledger where to save) - - mp_fd_id ==> fiche_def (fiche class to use) - - mp_qcode ==> qcode (quick_code of the card) - * - */ -class Acc_Payment -{ - - private static $variable=array("id"=>"mp_id", - "lib"=>"mp_lib", - "qcode"=>"mp_qcode", - "ledger_target"=>"mp_jrn_def_id", - "ledger_source"=>"jrn_def_id", - "fiche_def"=>"mp_fd_id"); - - - private $mp_lib; - private $mp_qcode; - private $mp_jrn_def_if; - private $jrn_def_id; - private $mp_fd_id; - - function __construct ($p_cn,$p_init=0) - { - $this->cn=$p_cn; - $this->mp_id=$p_init; - } - public function get_parameter($p_string) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - return $this->$idx; - } - else - { - throw new Exception("Attribut inexistant $p_string"); - } - } - public function set_parameter($p_string,$p_value) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - $this->$idx=$p_value; - } - else - throw new Exception("Attribut inexistant $p_string"); - - - } - public function get_info() - { - return var_export(self::$variable,true); - } - public function verify() - { - // Verify that the elt we want to add is correct - } - public function save() - { - /* please adapt */ - if ( $this->get_parameter("id") == 0 ) - $this->insert(); - else - $this->update(); - } - - public function insert() - { - if ( $this->verify() != 0 ) return; - $sql='INSERT INTO mod_payment( - mp_lib, mp_jrn_def_id, mp_fd_id, mp_qcode,jrn_def_id) - VALUES ($1, $2, $3, upper($4),$5) returning mp_id'; - $this->mp_id=$this->cn->exec_sql($sql,array( - $this->mp_lib, - $this->mp_jrn_def_id, - $this->mp_fd_id, - $this->mp_qcode, - $this->jrn_def_id)); - } - - public function update() - { - if ( $this->verify() != 0 ) return; - - $sql="update mod_payment set mp_lib=$1,mp_qcode=$2,mp_jrn_def_id=$3,mp_fd_id=$4,jrn_def_id=$5 ". - " where mp_id = $6"; - $res=$this->cn->exec_sql( - $sql, - array($this->mp_lib, - $this->mp_qcode, - $this->mp_jrn_def_id, - $this->mp_fd_id, - $this->jrn_def_id, - $this->mp_id) - ); - if ( strlen (trim($this->mp_jrn_def_id))==0) - $this->cn->exec_sql( - 'update mod_payment '. - 'set mp_jrn_def_id = null where mp_id=$1', - array($this->mp_id)); - if ( strlen (trim($this->jrn_def_id))==0) - $this->cn->exec_sql( - 'update mod_payment '. - 'set mp_jrn_def_id = null where mp_id=$1', - array($this->mp_id)); - if ( strlen (trim($this->mp_qcode))==0) - $this->cn->exec_sql( - 'update mod_payment '. - 'set mp_qcode = null where mp_id=$1', - array($this->mp_id)); - if ( strlen (trim($this->mp_fd_id))==0) - $this->cn->exec_sql( - 'update mod_payment '. - 'set mp_fd_id = null where mp_id=$1', - array($this->mp_id)); - - } - - public function load() - { - $sql='select mp_id,mp_lib,mp_fd_id,mp_jrn_def_id,mp_qcode,jrn_def_id from mod_payment '. - ' where mp_id = $1'; - $res=$this->cn->exec_sql( - $sql, - array($this->mp_id) - ); - - if ( Database::num_row($res) == 0 ) return; - $row=Database::fetch_array($res,0); - foreach ($row as $idx=>$value) - { - $this->$idx=$value; - } - - } - /** - *@brief remove a middle of payment - */ - public function delete() - { - $sql="delete from mod_payment where mp_id=$1"; - $this->cn->exec_sql($sql,array($this->mp_id)); - } - /*!\brief retrieve all the data for all ledgers - *\param non - *\return an array of row - */ - public function get_all() - { - $sql='select mp_id,mp_lib '. - ' from mod_payment order by mp_lib'; - $array=$this->cn->get_array($sql); - $ret=array(); - if ( !empty($array) ) - { - foreach ($array as $row) - { - $t=new Acc_Payment($this->cn,$row['mp_id']); - $t->load(); - $ret[]=$t; - } - } - return $ret; - } - /*!\brief retrieve all the data for a ledger but filter on the - *valid record (jrn and fd not null - *\param non - *\return an array of row - */ - public function get_valide() - { - $sql='select mp_id '. - ' from mod_payment '. - ' where jrn_def_id=$1 and mp_jrn_def_id is not null and '. - ' (mp_fd_id is not null or mp_qcode is not null)'; - $array=$this->cn->get_array($sql,array($this->jrn_def_id)); - $ret=array(); - if ( !empty($array) ) - { - foreach ($array as $row) - { - $t=new Acc_Payment($this->cn,$row['mp_id']); - $t->load(); - $ret[]=$t; - } - } - return $ret; - } - /*!\brief return a string with a form (into a table) - *\param none - *\return a html string - */ - public function form() - { - //label - $lib=new IText('mp_lib'); - $lib->value=$this->mp_lib; - $f_lib=$lib->input(); - - - $ledger_source=new ISelect('jrn_def_id'); - $ledger_source->value=$this->cn->make_array("select jrn_def_id,jrn_Def_name from - jrn_def where jrn_def_type in ('ACH','VEN') order by jrn_def_name"); - $ledger_source->selected=$this->jrn_def_id; - $f_source=$ledger_source->input(); - - // type of card - $tcard=new ISelect('mp_fd_id'); - $tcard->value=$this->cn->make_array('select fd_id,fd_label from fiche_def join fiche_def_ref '. - ' using (frd_id) where frd_id in (25,4) order by fd_label'); - $tcard->selected=$this->mp_fd_id; - - $f_type_fiche=$tcard->input(); - $ledger_record=new ISelect('mp_jrn_def_id'); - $ledger_record->value=$this->cn->make_array("select jrn_def_id,jrn_Def_name from - jrn_def where jrn_def_type in ('ODS','FIN')"); - $ledger_record->selected=$this->mp_jrn_def_id; - $f_ledger_record=$ledger_record->input(); - - // the card - $qcode=new ICard(); - $qcode->noadd=true; - $qcode->name='mp_qcode'; - $list=$this->cn->make_list('select fd_id from fiche_def where frd_id in (25,4)'); - $qcode->typecard=$list; - $qcode->dblclick='fill_ipopcard(this);'; - $qcode->value=$this->mp_qcode; - - $f_qcode=$qcode->input(); - - $msg="Modification de ".$this->mp_lib; - ob_start(); - require_once NOALYSS_INCLUDE.'/template/new_mod_payment.php'; - $r=ob_get_contents(); - ob_end_clean(); - return $r; - - } - /*!\brief show several lines with radio button to select the payment - *method we want to use, the $_POST['e_mp'] will be set - *\param none - *\return html string - */ - public function select() - { - $r=''; - $array=$this->get_valide(); - $r.=HtmlInput::hidden('gDossier',dossier::id()); - - if ( empty($array)==false ) { - $acompte=new INum('acompte'); - $acompte->value=0; - $r.=_(" Acompte à déduire"); - $r.=$acompte->input(); - $r.='

      '; - $e_comm_paiement=new IText('e_comm_paiement'); - $e_comm_paiement->table = 0; - $e_comm_paiement->setReadOnly(false); - $e_comm_paiement->size = 60; - $e_comm_paiement->tabindex = 3; - $r.=_(" Libellé du paiement"); - $r.=$e_comm_paiement->input(); - $r.='

      '; - } - - $r.='
        '; - $r.='
      1. '._('Paiement encodé plus tard'); - if ( empty($array ) == false ) - { - foreach ($array as $row) - { - $f=''; - /* if the qcode is null the propose a search button to select - the card */ - if ( $row->mp_qcode==NULL) - { - $a=new ICard(); - $a->jrn=$row->mp_jrn_def_id; - $a->set_attribute('typecard',$row->mp_fd_id); - $a->name='e_mp_qcode_'.$row->mp_id; - $a->set_dblclick("fill_ipopcard(this);"); - $a->set_callback('filter_card'); - $a->set_function('fill_data'); - $a->set_attribute('ipopup','ipopcard'); - $a->set_attribute('label',$a->name.'_label'); - - $s=new ISpan(); - $s->name=$a->name.'_label'; - $f=_(" paiement par ").$a->input().$s->input(); - } - else - { - /* if the qcode is not null then add a hidden variable with - the qcode */ - - $fiche=new Fiche($this->cn); - $fiche->get_by_qcode($row->mp_qcode); - $f=HtmlInput::hidden('e_mp_qcode_'.$row->mp_id,$row->mp_qcode); - - // $f.=$fiche->strAttribut(ATTR_DEF_NAME); - } - $r.='
      2. '; - $r.=$row->mp_lib.' '.$f; - - } - } - $r.='
      '; - return $r; - } - - /*!\brief convert an array into an Acc_Payment object - *\param array to convert - */ - public function from_array($p_array) - { - $idx=array('mp_id','mp_lib','mp_fd_id','mp_jrn_def_id','mp_qcode','jrn_def_id'); - foreach ($idx as $l) - if (isset($p_array[$l])) $this->$l=$p_array[$l]; - } - /** - *@brief return an html with a form to add a new middle of payment - */ - public function blank() - { - //label - $lib=new IText('mp_lib'); - $f_lib=$lib->input(); - - $ledger_source=new ISelect('jrn_def_id'); - $ledger_source->value=$this->cn->make_array("select jrn_def_id,jrn_Def_name from - jrn_def where jrn_def_type in ('ACH','VEN') order by jrn_def_name"); - $f_source=$ledger_source->input(); - - // type of card - $tcard=new ISelect('mp_fd_id'); - $tcard->value=$this->cn->make_array('select fd_id,fd_label from fiche_def join fiche_def_ref '. - ' using (frd_id) where frd_id in (25,4) order by fd_label'); - $f_type_fiche=$tcard->input(); - $ledger_record=new ISelect('mp_jrn_def_id'); - $ledger_record->value=$this->cn->make_array("select jrn_def_id,jrn_Def_name from - jrn_def where jrn_def_type in ('ODS','FIN')"); - $f_ledger_record=$ledger_record->input(); - - // the card - $qcode=new ICard(); - $qcode->noadd=true; - $qcode->name='mp_qcode'; - $list=$this->cn->make_list('select fd_id from fiche_def where frd_id in (25,4)'); - $qcode->typecard=$list; - $qcode->dblclick='fill_ipopcard(this);'; - - $f_qcode=$qcode->input(); - $msg="Ajout d'un nouveau moyen de paiement"; - ob_start(); - require_once NOALYSS_INCLUDE.'/template/new_mod_payment.php'; - $r=ob_get_contents(); - ob_end_clean(); - return $r; - } - /*!\brief test function - */ - static function test_me() - { - - } - -} - - diff --git a/sources/include/class_acc_reconciliation.php b/sources/include/class_acc_reconciliation.php deleted file mode 100644 index 5127181..0000000 --- a/sources/include/class_acc_reconciliation.php +++ /dev/null @@ -1,532 +0,0 @@ -db=$cn; - $this->jr_id=0; - } - - function set_jr_id($jr_id) - { - $this->jr_id=$jr_id; - } - /*! \brief return a widget of type js_concerned - */ - function widget() - { - $wConcerned=new IConcerned(); - $wConcerned->extra=0; // with 0 javascript search from e_amount... field (see javascript) - - return $wConcerned; - - } - /*! - *\brief Insert into jrn_rapt the concerned operations - * - * \param $jr_id2 (jrn.jr_id) => jrn_rapt.jra_concerned or a string - * like "jr_id2,jr_id3,jr_id4..." - * - * \return none - * - */ - function insert($jr_id2) - { - if ( trim($jr_id2) == "" ) - return; - if ( strpos($jr_id2,',') !== 0 ) - { - $aRapt=explode(',',$jr_id2); - foreach ($aRapt as $rRapt) - { - if ( isNumber($rRapt) == 1 ) - { - $this->insert_rapt($rRapt); - } - } - } - else - if ( isNumber($jr_id2) == 1 ) - { - $this->insert_rapt($jr_id2); - } - } - - /*! - *\brief Insert into jrn_rapt the concerned operations - * should not be called directly, use insert instead - * - * \param $jr_id2 (jrn.jr_id) => jrn_rapt.jra_concerned - * - * \return none - * - */ - function insert_rapt($jr_id2) - { - if ( isNumber($this->jr_id) == 0 || isNumber($jr_id2) == 0 ) - { - return false; - } - if ( $this->jr_id==$jr_id2) - return true; - - if ( $this->db->count_sql("select jr_id from jrn where jr_id=".$this->jr_id)==0 ) - return false; - if ( $this->db->count_sql("select jr_id from jrn where jr_id=".$jr_id2)==0 ) - return false; - - // verify if exists - if ( $this->db->count_sql( - "select jra_id from jrn_rapt where jra_concerned=".$this->jr_id. - " and jr_id=$jr_id2 - union - select jra_id from jrn_rapt where jr_id=".$this->jr_id. - " and jra_concerned=$jr_id2 ") - ==0) - { - // Ok we can insert - $Res=$this->db->exec_sql("insert into jrn_rapt(jr_id,jra_concerned) values ". - "(".$this->jr_id.",$jr_id2)"); - // try to letter automatically same account from both operation - $this->auto_letter($jr_id2); - - // update date of paiement ----------------------------------------------------------------------- - $source_type=$this->db->get_value("select substr(jr_internal,1,1) from jrn where jr_id=$1",array($this->jr_id)); - $dest_type=$this->db->get_value("select substr(jr_internal,1,1) from jrn where jr_id=$1",array($jr_id2)); - if (($source_type =='A' || $source_type=='V') && ($dest_type != 'A' && $dest_type != 'V')) - { - // set the date on source - $date=$this->db->get_value('select jr_date from jrn where jr_id=$1',array($jr_id2)); - if ( trim ($date) == '') $date=null; - $this->db->exec_sql('update jrn set jr_date_paid=$1 where jr_id=$2 and jr_date_paid is null ',array($date,$this->jr_id)); - } - if (($source_type !='A' && $source_type !='V') && ($dest_type == 'A' || $dest_type == 'V')) - { - // set the date on dest - $date=$this->db->get_value('select jr_date from jrn where jr_id=$1',array($this->jr_id)); - if (trim($date) == '') $date=null; - $this->db->exec_sql('update jrn set jr_date_paid=$1 where jr_id=$2 and jr_date_paid is null ',array($date,$jr_id2)); - } - } - return true; - } - /** - * @brief try to letter same card between $p_jrid and $this->jr_id - * @param jrn.jr_id $p_jrid the operation to reconcile - */ - function auto_letter($p_jrid) - { - // Try to find same card from both operation - $sql="select j1.f_id as fiche ,coalesce(j1.j_id,-1) as jrnx_id1,coalesce(j2.j_id,-1) as jrnx_id2, -j1.j_poste as poste - from jrnx as j1 - join jrn as jr1 on (j1.j_grpt=jr1.jr_grpt_id) - join jrnx as j2 on (coalesce(j1.f_id,-1)=coalesce(j2.f_id,-1) and j1.j_poste=j2.j_poste) - join jrn as jr2 on (j2.j_grpt=jr2.jr_grpt_id) - where - jr1.jr_id=$1 - and - jr2.jr_id= $2"; - $result=$this->db->get_array($sql,array($this->jr_id,$p_jrid)); - if ( count($result) == 0) - { - return; - } - for ($i=0;$idb); - $letter->insert_couple($result[$i]['jrnx_id1'],$result[$i]['jrnx_id2']); - } - else - { - $letter = new Lettering_Account($this->db); - $letter->insert_couple($result[$i]['jrnx_id1'],$result[$i]['jrnx_id2']); - } - } - - } - - /*! - *\brief Insert into jrn_rapt the concerned operations - * - * \param $this->jr_id (jrn.jr_id) => jrn_rapt.jr_id - * \param $jr_id2 (jrn.jr_id) => jrn_rapt.jra_concerned - * - * \return none - */ - function remove($jr_id2) - { - if ( isNumber($this->jr_id) == 0 or - isNumber($jr_id2) == 0 ) - { - return; - } - // verify if exists - if ( $this->db->count_sql("select jra_id from jrn_rapt where ". - " jra_concerned=".$this->jr_id." and jr_id=$jr_id2 - union - select jra_id from jrn_rapt where jra_concerned=$jr_id2 ". - " and jr_id=".$this->jr_id) !=0) - { - /** - * remove also lettering between both operation - */ - $sql = " delete from - jnt_letter - where jl_id in ( select jl_id from jnt_letter - join letter_cred as lc using(jl_id) - join letter_deb as ld using (jl_id) - where - lc.j_id in (select j_id - from jrnx join jrn on (j_grpt=jr_grpt_id) - where jr_id in ($1,$2)) - or - ld.j_id in (select j_id - from jrnx join jrn on (j_grpt=jr_grpt_id) - where jr_id in ($1,$2)) - - - - )"; - $this->db->exec_sql($sql, array($jr_id2, $this->jr_id)); - // Ok we can delete - $Res=$this->db->exec_sql("delete from jrn_rapt where ". - "(jra_concerned=$jr_id2 and jr_id=".$this->jr_id.") or - (jra_concerned=".$this->jr_id." and jr_id=$jr_id2) "); - } - } - - /*! - *\brief Return an array of the concerned operation - * - * - *\param database connection - * \return array if something is found or null - */ - function get ( ) - { - $sql=" select jr_id as cn from jrn_rapt where jra_concerned=".$this->jr_id. - " union ". - " select jra_concerned as cn from jrn_rapt where jr_id=".$this->jr_id; - $Res=$this->db->exec_sql($sql); - - // If nothing is found return null - $n=Database::num_row($Res); - - if ($n ==0 ) return null; - - // put everything in an array - for ($i=0;$i<$n;$i++) - { - $l=Database::fetch_array($Res,$i); - $r[$i]=$l['cn']; - } - return $r; - } - function fill_info() - { - $sql="select jr_id,jr_date,jr_comment,jr_internal,jr_montant,jr_pj_number,jr_def_id,jrn_def_name,jrn_def_type - from jrn join jrn_def on (jrn_def_id=jr_def_id) - where jr_id=$1"; - $a=$this->db->get_array($sql,array($this->jr_id)); - return $a[0]; - } - /** - *@brief return array of not-reconciled operation - * Prepare and put in memory the SQL detail_quant - */ - function get_not_reconciled() - { - $filter_date=$this->filter_date(); - /* create ledger filter */ - $sql_jrn=$this->ledger_filter(); - - $array=$this->db->get_array("select distinct jr_id,jr_date from jrn where $filter_date and $sql_jrn and jr_id not in (select jr_id from jrn_rapt union select jra_concerned from jrn_rapt) order by jr_date"); - $ret=array(); - for ($i=0;$ijr_id=$array[$i]['jr_id']; - $ret[$i]['first']=$this->fill_info(); - } - $this->db->prepare('detail_quant','select * from v_quant_detail where jr_id=$1'); - return $ret; - } - /** - *Create a sql condition to filter by security and by asked ledger - * based on $this->a_jrn - *@return a valid sql stmt to include - *@see get_not_reconciled get_reconciled - */ - function ledger_filter () - { - global $g_user; - /* get the available ledgers for current user */ - $sql=$g_user->get_ledger_sql('ALL',3); - $sql=str_replace('jrn_def_id','jr_def_id',$sql); - $r=''; - /* filter by this->r_jrn */ - if ($this->a_jrn != null ) - { - $sep=''; - $r='and jr_def_id in ('; - foreach( $this->a_jrn as $key=>$value) - { - $r.=$sep.$value; - $sep=','; - } - $r.=')'; - } - return $sql.' '.$r; - } - /** - *@brief return array of reconciled operation - * Prepare and put in memory the SQL detail_quant - *@return - *@note - *@see - @code - - @endcode - */ - function get_reconciled() - { - $filter_date=$this->filter_date(); - - - /* create ledger filter */ - $sql_jrn=$this->ledger_filter(); - - $array=$this->db->get_array("select distinct jr_id,jr_date from jrn where $filter_date and $sql_jrn and jr_id in (select jr_id from jrn_rapt union select jra_concerned from jrn_rapt) order by jr_date"); - $ret=array(); - for ($i=0;$ijr_id=$array[$i]['jr_id']; - $ret[$i]['first']=$this->fill_info(); - $atmp=$this->get(); - for ( $e=0;$ejr_id=$atmp[$e]; - $ret[$i]['depend'][$e]=$this->fill_info(); - } - } - $this->db->prepare('detail_quant','select * from v_quant_detail where jr_id=$1'); - return $ret; - } - /** - *@brief - * Prepare and put in memory the SQL detail_quant - *@param - *@return - *@note - *@see - @code - - @endcode - */ - function get_reconciled_amount($p_equal=false) - { - $array=$this->get_reconciled(); - $ret=array(); - bcscale(2); - for ($i=0;$i ... and jr_date < .... - *@note use the data member start_day and end_day - *@see get_reconciled get_not_reconciled - */ - function filter_date() - { - global $g_user; - list($start,$end)=$g_user->get_limit_current_exercice(); - - if (isDate($this->start_day) ==null) - { - $this->start_day=$start; - } - if ( isDate($this->end_day) == null) - { - $this->end_day=$end; - } - $sql=" (jr_date >= to_date('".$this->start_day."','DD.MM.YYYY') - and jr_date <= to_date('".$this->end_day."','DD.MM.YYYY'))"; - return $sql; - - } - function show_detail($p_ret) - { - if (Database::num_row($p_ret)> 0) - { - echo ''; - echo ''; - echo ''; - include 'template/impress_reconciliation_detail.php'; - echo ''; - echo ''; - } - } - /** - * Export to CSV - * @param type $p_choice - * - * @note must be set before calling - * - $this->a_jrn array of ledger - * - $this->start_day start date - * - $this->end_day end date - * @see Acc_Reconciliation::get_data - */ - function export_csv($p_choice) - { - $array = $this->get_data($p_choice); - for ($i = 0; $i < count($array); $i++) - { - // --------------------------------------- - // first index has 2 arrays : first & depend[] - // --------------------------------------- - - $first = $array[$i]['first']; - $a_depend = array(); - if (isset($array[$i]['depend'])) - { - $a_depend = $array[$i]['depend']; - //----- HEADER ---- - if ($i == 0) - { - printf('"n°";"Date";"internal";"libellé";"n° pièce";"nom journal";"type journal";"montant"'); - printf(';"<->";"Date";"internal";"libellé";"n° pièce";"nom journal";"type journal";"montant"' . "\n\r"); - } - } - else - { - //----- HEADER ---- - if ($i == 0) - { - printf('"n°";"Date";"internal";"libellé";"n° pièce";"nom journal";"type journal";"montant"' . "\n\r"); - } - } - // -------------------------- - // Print First - // -------------------------- - printf('%d;"%s";"%s";"%s";"%s";"%s";"%s";%f',$i, $first['jr_date'], $first['jr_internal'], $first['jr_comment'], $first['jr_pj_number'], $first['jrn_def_name'], $first['jrn_def_type'], $first['jr_montant']); - if (count($a_depend) > 0) - { - // -------------------------------------- - // Print first depending operation - // -------------------------------------- - $depend = $a_depend[0]; - printf(';"<->";"%s";"%s";"%s";"%s";"%s";"%s";%f' . "\n\r", $depend['jr_date'], $depend['jr_internal'], $depend['jr_comment'], $depend['jr_pj_number'], $depend['jrn_def_name'], $depend['jrn_def_type'], $depend['jr_montant']); - - // -------------------------------------- - // print other depending operation if any - // -------------------------------------- - for ($e = 1; $e < count($a_depend); $e++) - { - $depend = $a_depend[$e]; - printf(';;;;;;;"<->";'); - printf('"%s";"%s";"%s";"%s";"%s";"%s";%f' . "\n\r", $depend['jr_date'], $depend['jr_internal'], $depend['jr_comment'], $depend['jr_pj_number'], $depend['jrn_def_name'], $depend['jrn_def_type'], $depend['jr_montant']); - } - } - else - { - printf("\n\r"); - } - } - } - - /** - * - * @param type $p_choice - * - 0 : operation reconcilied - * - 1 : reconcilied with different amount - * - 2 : reconcilied with same amount - * - 3 : not reconcilied - * @return $array - */ - function get_data($p_choice) - { - switch ($p_choice) - { - case 0: - $array = $this->get_reconciled(); - break; - case 1: - $array = $this->get_reconciled_amount(false); - break; - case 2: - $array = $this->get_reconciled_amount(true); - break; - case 3: - $array = $this->get_not_reconciled(); - break; - default: - echo "Choix invalid"; - throw new Exception("invalide"); - } - return $array; - } - - static function test_me() - { - $cn=new Database(dossier::id()); - $rap=new Acc_Reconciliation($cn); - var_dump($rap->get_reconciled_amount('',false)); - } - -} diff --git a/sources/include/class_acc_report.php b/sources/include/class_acc_report.php deleted file mode 100644 index b992d01..0000000 --- a/sources/include/class_acc_report.php +++ /dev/null @@ -1,456 +0,0 @@ -db=$p_cn; - $this->id=$p_id; - $this->name='Nouveau'; - $this->aAcc_Report_row=null; - } - /*!\brief Return the report's name - */ - function get_name() - { - $ret=$this->db->exec_sql("select fr_label from formdef where fr_id=".$this->id); - if (Database::num_row($ret) == 0) return $this->name; - $a=Database::fetch_array($ret,0); - $this->name=$a['fr_label']; - return $this->name; - } - /*!\brief return all the row and parse formula - * from a report - * \param $p_start start periode - * \param $p_end end periode - * \param $p_type_date type of the date : periode or calendar - */ - function get_row($p_start,$p_end,$p_type_date) - { - - $Res=$this->db->exec_sql("select fo_id , - fo_fr_id, - fo_pos, - fo_label, - fo_formula, - fr_label from form - inner join formdef on fr_id=fo_fr_id - where fr_id =".$this->id. - "order by fo_pos"); - $Max=Database::num_row($Res); - if ($Max==0) - { - $this->row=0; - return null; - } - $col=array(); - for ($i=0;$i<$Max;$i++) - { - $l_line=Database::fetch_array($Res,$i); - $col[]=Impress::parse_formula($this->db, - $l_line['fo_label'], - $l_line['fo_formula'], - $p_start, - $p_end, - true, - $p_type_date - ); - - } //for ($i - $this->row=$col; - return $col; - } - /*! - * \brief Display a form for encoding a new report or update one - * - * \param $p_line number of line - * - */ - function form($p_line=0) - { - - $r=""; - if ($p_line == 0 ) $p_line=count($this->aAcc_Report_row); - $r.= dossier::hidden(); - $r.= HtmlInput::hidden('line',$p_line); - $r.= HtmlInput::hidden('fr_id',$this->id); - $wForm=new IText(); - $r.="Nom du rapport : "; - $r.=$wForm->input('form_nom',$this->name); - - $r.= ''; - $r.= ""; - $r.= ""; - $r.= ""; - $r.= ""; - - $r.= ''; - $wName=new IText(); - $wName->size=40; - $wPos=new IText(); - $wPos->size=3; - $wForm=new IText(); - $wForm->size=35; - for ( $i =0 ; $i < $p_line;$i++) - { - - $r.= ""; - - $r.= "'; - - - $r.= "'; - - $r.=''; - - - $r.= ""; - } - - $r.= "
      Position Texte Formule
      "; - $wPos->value=( isset($this->aAcc_Report_row[$i]->fo_pos))?$this->aAcc_Report_row[$i]->fo_pos:$i+1; - $r.=$wPos->input("pos".$i); - $r.= '"; - $wName->value=( isset($this->aAcc_Report_row[$i]->fo_label))?$this->aAcc_Report_row[$i]->fo_label:""; - $r.=$wName->input("text".$i); - $r.= ''; - $search=new IPoste("form".$i); - $search->size=50; - $search->value=( isset($this->aAcc_Report_row[$i]->fo_formula))?$this->aAcc_Report_row[$i]->fo_formula:""; - $search->label=_("Recherche poste"); - $search->set_attribute('gDossier',dossier::id()); - $search->set_attribute('bracket',1); - $search->set_attribute('no_overwrite',1); - $search->set_attribute('noquery',1); - $search->set_attribute('account',$search->name); - $search->set_attribute('ipopup','ipop_card'); - - $r.=$search->input(); - $r.='
      "; - $wButton=new IButton(); - $wButton->javascript=" rapport_add_row('".dossier::id()."')"; - $wButton->label="Ajout d'une ligne"; - $r.=$wButton->input(); - return $r; - - } - /*!\brief save into form and form_def - */ - function save() - { - - if ( strlen(trim($this->name)) == 0 ) - return; - if ( $this->id == 0 ) - $this->insert(); - else - $this->update(); - - } - function insert() - { - try - { - $this->db->start(); - $ret_sql=$this->db->exec_sql( - "insert into formdef (fr_label) values($1) returning fr_id", - array($this->name) - ); - $this->id=Database::fetch_result($ret_sql,0,0); - $ix=1; - foreach ( $this->aAcc_Report_row as $row) - { - if ( strlen(trim($row->get_parameter("name"))) != 0 && - strlen(trim($row->get_parameter("formula"))) != 0 ) - { - $ix=($row->get_parameter("position")!="")?$row->get_parameter("position"):$ix; - $row->set_parameter("position",$ix); - $ret_sql=$this->db->exec_sql( - "insert into form (fo_fr_id,fo_pos,fo_label,fo_formula)". - " values($1,$2,$3,$4)", - array($this->id, - $row->fo_pos, - $row->fo_label, - $row->fo_formula) - ); - } - } - - } - catch (Exception $e) - { - $this->db->rollback(); - echo $e->getMessage(); - } - $this->db->commit(); - - } - function update() - { - try - { - $this->db->start(); - $ret_sql=$this->db->exec_sql( - "update formdef set fr_label=$1 where fr_id=$2", - array($this->name,$this->id)); - $ret_sql=$this->db->exec_sql( - "delete from form where fo_fr_id=$1", - array($this->id)); - $ix=0; - - foreach ( $this->aAcc_Report_row as $row) - { - if ( strlen(trim($row->get_parameter("name"))) != 0 && - strlen(trim($row->get_parameter("formula"))) != 0 ) - { - $ix=($row->get_parameter("position")!="")?$row->get_parameter("position"):$ix; - $row->set_parameter("position",$ix); - $ret_sql=$this->db->exec_sql( - "insert into form (fo_fr_id,fo_pos,fo_label,fo_formula)". - " values($1,$2,$3,$4)", - array($this->id, - $row->fo_pos, - $row->fo_label, - $row->fo_formula) - ); - } - } - - - } - catch (Exception $e) - { - $this->db->rollback(); - echo $e->getMessage(); - } - $this->db->commit(); - } - /*!\brief fill a form thanks an array, usually it is $_POST - *\param $p_array keys = fr_id, form_nom,textXX, formXX, posXX where - XX is an number - */ - function from_array($p_array) - { - $this->id=(isset($p_array['fr_id']))?$p_array['fr_id']:0; - $this->name=(isset($p_array['form_nom']))?$p_array['form_nom']:""; - $ix=0; - - $rr=new Acc_Report_Row(); - $rr->set_parameter("form_id",$this->id); - $rr->set_parameter('database',$this->db); - - $this->aAcc_Report_row=$rr->from_array($p_array); - - - } - /*!\brief the fr_id MUST be set before calling - */ - - - function load() - { - $sql=$this->db->exec_sql( - "select fr_label from formdef where fr_id=$1", - array($this->id)); - if ( Database::num_row($sql) == 0 ) return; - $this->name=Database::fetch_result($sql,0,0); - $sql=$this->db->exec_sql( - "select fo_id,fo_pos,fo_label,fo_formula ". - " from form ". - " where fo_fr_id=$1 order by fo_pos", - array($this->id)); - $f=Database::fetch_all($sql); - $array=array(); - if ( ! empty($f) ) - { - foreach ($f as $r) - { - $obj=new Acc_Report_Row(); - $obj->set_parameter("name",$r['fo_label']); - $obj->set_parameter("id",$r['fo_id']); - $obj->set_parameter("position",$r['fo_pos']); - $obj->set_parameter("formula",$r['fo_formula']); - $obj->set_parameter('database',$this->db); - $obj->set_parameter('form_id',$this->id); - $array[]=clone $obj; - } - } - $this->aAcc_Report_row=$array; - - } - function delete() - { - $ret=$this->db->exec_sql( - "delete from formdef where fr_id=$1", - array($this->id) - ); - } - /*!\brief get a list from formdef of all defined form - * - *\return array of object rapport - * - */ - function get_list() - { - $sql="select fr_id,fr_label from formdef order by fr_label"; - $ret=$this->db->exec_sql($sql); - if ( Database::num_row($ret) == 0 ) return array(); - $array=Database::fetch_all($ret); - $obj=array(); - foreach ($array as $row) - { - $tmp=new Acc_Report($this->db); - $tmp->id=$row['fr_id']; - $tmp->name=$row['fr_label']; - $obj[]=clone $tmp; - } - return $obj; - } - /*!\brief To make a SELECT button with the needed value, it is used - *by the SELECT widget - *\return string with html code - */ - function make_array() - { - $sql=$this->db->make_array("select fr_id,fr_label from formdef order by fr_label"); - return $sql; - } - - - /*!\brief write to a file the definition of a report - * \param p_file is the file name (default php://output) - */ - function export_csv($p_file) - { - $this->load(); - - fputcsv($p_file,array($this->name)); - - foreach ($this->aAcc_Report_row as $row) - { - fputcsv($p_file,array($row->get_parameter("name"), - $row->get_parameter('position'), - $row->get_parameter('formula')) - ); - } - - } - /*!\brief upload a definition of a report and insert it into the - * database - */ - function upload() - { - if ( empty ($_FILES) ) return; - if ( strlen(trim($_FILES['report']['tmp_name'])) == 0 ) - { - alert("Nom de fichier est vide"); - return; - } - $file_report=tempnam('tmp','file_report'); - if ( move_uploaded_file($_FILES['report']['tmp_name'],$file_report)) - { - // File is uploaded now we can try to parse it - $file=fopen($file_report,'r'); - $data=fgetcsv($file); - if ( empty($data) ) return; - $this->name=$data[0]; - $array=array(); - while($data=fgetcsv($file)) - { - $obj=new Acc_Report_Row(); - $obj->set_parameter("name",$data[0]); - $obj->set_parameter("id",0); - $obj->set_parameter("position",$data[1]); - $obj->set_parameter("formula",$data[2]); - $obj->set_parameter('database',$this->db); - $obj->set_parameter('form_id',0); - $array[]=clone $obj; - } - $this->aAcc_Report_row=$array; - $this->insert(); - } - } - /** - *@brief check if a report exist - *@param $p_id, optional, if given check the report with this fr_id - *@return return true if the report exist otherwise false - */ - function exist($p_id=0) - { - $c=$this->id; - if ( $p_id != 0 ) $c=$p_id; - $ret=$this->db->exec_sql("select fr_label from formdef where fr_id=$1",array($c)); - if (Database::num_row($ret) == 0) return false; - return true; - } - static function test_me() - { - $cn=new Database(dossier::id()); - $a=new Acc_Report($cn); - print_r($a->get_list()); - $array=array("text0"=>"test1", - "form0"=>"7%", - "text1"=>"test2", - "form1"=>"6%", - "fr_id"=>110, - "form_nom"=>"Tableau" - ); - $a->from_array($array); - print_r($a); - echo '
      '; - echo $a->form(10); - - echo HtmlInput::submit('update','Enregistre'); - /* Add a line should be a javascript see comptanalytic */ - // $r.= ''; - echo HtmlInput::submit('del_form','Efface ce rapport'); - echo HtmlInput::hidden('test_select',$_REQUEST['test_select']); - echo "
      "; - if ( isset ($_POST['update'])) - { - $b=new Acc_Report($cn); - $b->from_array($_POST); - echo '
      '; - print_r($b); - } - } -} - -?> diff --git a/sources/include/class_acc_report_row.php b/sources/include/class_acc_report_row.php deleted file mode 100644 index 1f4a377..0000000 --- a/sources/include/class_acc_report_row.php +++ /dev/null @@ -1,122 +0,0 @@ -"fo_label", - "formula"=>"fo_formula", - "id"=>"fo_id", - "position"=>"fo_pos", - "form_id"=>"fo_fr_id", - "database"=>"db" - ); - function __construct ($p_name=null,$p_formula=null) - { - $this->set_parameter("id",0); - - $this->set_parameter("name",$p_name); - $this->set_parameter("formula",$p_formula); - } - public function get_parameter($p_string) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - return $this->$idx; - } - else - throw new Exception("Attribut inexistant $p_string"); - } - public function set_parameter($p_string,$p_value) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - $this->$idx=$p_value; - } - else - throw new Exception("Attribut inexistant $p_string"); - - - } - public function get_info() - { - return var_export(self::$variable,true); - } - /*!\brief Convert an array into an array of row_rapport object - * the fo_id is 0, position = 0, the fo_frd_id (form_id) is - * the one of the current object, the db is also the current one - *\param $p_array contains the value - *\return an array of Acc_Report_Row object - */ - public function from_array($p_array) - { - extract ($p_array); - $ret=array(); - $ix=0; - $found=0; - foreach ( $p_array as $r) - { - - if ( isset(${'form'.$ix}) && isset ( ${'text'.$ix} )) - { - $obj=new Acc_Report_Row( ${'text'.$ix},${'form'.$ix}); - - if ( isset(${'pos'.$ix}) && isNumber(${'pos'.$ix})==1 ) - $obj->set_parameter("position",${'pos'.$ix}); - else - { - $obj->set_parameter("position",$found); - $found++; - } - - $obj->fo_id=0; - $obj->fo_fr_id=$this->fo_fr_id; - $obj->db=$this->db; - - $ret[]=clone $obj; - } - $ix++; - - } - return $ret; - } - static function test_me() - { - $cn=new Database(dossier::id()); - $a=new Acc_Report_Row(); - $array=array("text0"=>"test1", - "form0"=>"7%", - "text1"=>"test2", - "form1"=>"6%" - ); - $a->db=$cn; - $b=$a->from_array($array); - print_r($b); - echo $a->get_info(); - } -} diff --git a/sources/include/class_acc_tva.php b/sources/include/class_acc_tva.php deleted file mode 100644 index 7ce28ea..0000000 --- a/sources/include/class_acc_tva.php +++ /dev/null @@ -1,202 +0,0 @@ -"tva_id", - "label"=>"tva_label", - "rate"=>"tva_rate", - "comment"=>"tva_comment", - "account"=>"tva_poste"); - -*/ -class Acc_Tva -{ - private $cn; /*!< $cn database connection */ - private static $variable=array("id"=>"tva_id", - "label"=>"tva_label", - "rate"=>"tva_rate", - "comment"=>"tva_comment", - "account"=>"tva_poste", - "both_side"=>'tva_both_side'); - - function __construct ($p_init,$p_tva_id=0) - { - $this->cn=$p_init; - $this->tva_id=$p_tva_id; - $this->poste=""; - } - public function get_parameter($p_string) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - return $this->$idx; - } - - echo (__FILE__.":".__LINE__.'Erreur attribut inexistant'); - } - public function set_parameter($p_string,$p_value) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - $this->$idx=$p_value; - } - else - throw new Exception("Attribut inexistant $p_string"); - - - } - public function get_info() - { - return var_export(self::$variable,true); - } - - public function verify() - { - // Verify that the elt we want to add is correct - } - public function save() - { - - if ( $this->tva_id == 0 ) - $this->insert(); - else - $this->update(); - } - - public function insert() - { - if ( $this->verify() != 0 ) return; - $sql="select tva_insert($1,$2,$3,$4,$5)"; - - $res=$this->cn->exec_sql( - $sql, - array($this->tva_label, - $this->tva_rate, - $this->tva_comment, - $this->tva_poste, - $this->tva_both_side) - ); - $this->tva_id=$this->cn->get_current_seq('s_tva'); - $err=Database::fetch_result($res); - } - - public function update() - { - if ( $this->verify() != 0 ) return; - $sql="update tva_rate set tva_label=$1,tva_rate=$2,tva_comment=$3,tva_poste=$4,tva_both_side=$5 ". - " where tva_id = $6"; - $res=$this->cn->exec_sql( - $sql, - array($this->tva_label, - $this->tva_rate, - $this->tva_comment, - $this->tva_poste, - $this->tva_both_side, - $this->tva_id) - ); - - } - /** - *Load the VAT, - *@note if the label is not found then we get an message error, so the best is probably - *to initialize the VAT object with default value - */ - public function load() - { - $sql="select tva_id,tva_label,tva_rate, tva_comment,tva_poste,tva_both_side from tva_rate where tva_id=$1"; - $res=$this->cn->exec_sql( - $sql, - array($this->tva_id) - ); - - if ( $this->cn->size() == 0 ) return -1; - - $row=Database::fetch_array($res,0); - foreach ($row as $idx=>$value) - { - $this->$idx=$value; - } - return 0; - } - /*!\brief get the account of the side (debit or credit) - *\param $p_side is d or C - *\return the account to use - *\note call first load if tva_poste is empty - */ - public function get_side($p_side) - { - if ( strlen($this->tva_poste) == 0 ) $this->load(); - list($deb,$cred)=explode(",",$this->tva_poste); - switch ($p_side) - { - case 'd': - return $deb; - break; - case 'c': - return $cred; - break; - default: - throw (new Exception (__FILE__.':'.__LINE__." param est d ou c, on a recu [ $p_side ]")); - } - } - public function delete() - { - $sql="delete from tva_rate where tva_id=$1"; - $res=$this->cn->exec_sql($sql,array($this->tva_id)); - } - /*!\brief - * Test function - */ - static function test_me() - { - $cn=new Database(dossier::id()); - $a=new Acc_Tva($cn); - echo $a->get_info(); - $a->set_parameter("id",1); - $a->load(); - $a->set_parameter("id",0); - $a->set_parameter("rate","0.2222"); - $a->set_parameter("label","test"); - $a->save(); - $a->load(); - print_r($a); - - $a->set_parameter("comment","un cht'it test"); - $a->save(); - $a->load(); - print_r($a); - - $a->delete(); - } - -} - -/* test::test_me(); */ diff --git a/sources/include/class_admin.php b/sources/include/class_admin.php deleted file mode 100644 index 0b0835f..0000000 --- a/sources/include/class_admin.php +++ /dev/null @@ -1,58 +0,0 @@ -fiche_def_ref=FICHE_TYPE_ADM_TAX; - parent::__construct($p_cn,$p_id) ; - } - - - -} - -?> diff --git a/sources/include/class_anc_acc_link.php b/sources/include/class_anc_acc_link.php deleted file mode 100644 index fa802ff..0000000 --- a/sources/include/class_anc_acc_link.php +++ /dev/null @@ -1,61 +0,0 @@ -cn=$p_cn; - } - - /** - *@brief get the parameters - */ - function get_request() - { - parent::get_request(); - $this->card_poste=HtmlInput::default_value('card_poste',1,$_GET); - } - function set_sql_filter() - { - $sql=""; - $and=" and "; - if ( $this->from != "" ) - { - $sql.="$and oa_date >= to_date('".$this->from."','DD.MM.YYYY')"; - } - if ( $this->to != "" ) - { - $sql.=" $and oa_date <= to_date('".$this->to."','DD.MM.YYYY')"; - } - - return $sql; - - } - - -} - diff --git a/sources/include/class_anc_acc_list.php b/sources/include/class_anc_acc_list.php deleted file mode 100644 index 3b7c6a0..0000000 --- a/sources/include/class_anc_acc_list.php +++ /dev/null @@ -1,545 +0,0 @@ -value=array( - array('value'=>1,'label'=>'Par fiche /Activité'), - array('value'=>2,'label'=>'Par poste comptable/Activité'), - array('value'=>3,'label'=>'Par activité/Fiche'), - array('value'=>4,'label'=>'Par activité/Poste Comptable') - - ); - - $icard->selected=$this->card_poste; - $r.=$icard->input(); - $r.=HtmlInput::request_to_hidden(array('ac')); - return $r; - } - /** - * load the data - * does not return anything but give a value to this->aheader and this->arow - */ - function load_anc_account() - { - $date=$this->set_sql_filter(); - $date=($date != '')?" $date":''; - $sql_from_poste=($this->from_poste!='')?" and po.po_name >= upper('".Database::escape_string($this->from_poste)."')":''; - $sql_to_poste=($this->to_poste!='')?" and po.po_name <= upper('".Database::escape_string($this->to_poste)."')":''; - $this->arow=$this->db->get_array(" - SELECT po.po_id, po.pa_id, po.po_name, po.po_description, sum( - CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount - END) AS sum_amount, jrnx.j_poste, tmp_pcmn.pcm_lib AS name - FROM operation_analytique - JOIN poste_analytique po USING (po_id) - JOIN jrnx USING (j_id) - JOIN tmp_pcmn ON jrnx.j_poste::text = tmp_pcmn.pcm_val::text ". -" where - pa_id=$1 ".$date.$sql_from_poste.$sql_to_poste." - - GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.j_poste, tmp_pcmn.pcm_lib, po.po_description - HAVING sum( -CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount -END) <> 0::numeric order by po_id,j_poste",array($this->pa_id)); - - } - /** - * load the data - * does not return anything but give a value to this->aheader and this->arow - */ - function load_anc_card() - { - $date=$this->set_sql_filter(); - $date=($date != '')?" $date":''; - $sql_from_poste=($this->from_poste!='')?" and po.po_name >= upper('".Database::escape_string($this->from_poste)."')":''; - $sql_to_poste=($this->to_poste!='')?" and po.po_name <= upper('".Database::escape_string($this->to_poste)."')":''; - $this->arow=$this->db->get_array(" SELECT po.po_id, po.pa_id, po.po_name, po.po_description, sum( - CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount - END) AS sum_amount, jrnx.f_id, jrnx.j_qcode, ( SELECT fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id) AS name - FROM operation_analytique - JOIN poste_analytique po USING (po_id) - JOIN jrnx USING (j_id) ". - " where pa_id=$1 ".$date.$sql_from_poste.$sql_to_poste - ." - GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.f_id, jrnx.j_qcode, ( SELECT fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id), po.po_description - HAVING sum( -CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount -END) <> 0::numeric order by po_name,name",array($this->pa_id)); - - } - - /** - * load the data - * does not return anything but give a value to this->aheader and this->arow - */ - function load_poste() - { - $date=$this->set_sql_filter(); - $date=($date != '')?" $date":''; - $sql_from_poste=($this->from_poste!='')?" and po.po_name >= upper('".Database::escape_string($this->from_poste)."')":''; - $sql_to_poste=($this->to_poste!='')?" and po.po_name <= upper('".Database::escape_string($this->to_poste)."')":''; - $this->arow=$this->db->get_array("SELECT po.po_id, po.pa_id, po.po_name, po.po_description, sum( - CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount - END) AS sum_amount, jrnx.j_poste, tmp_pcmn.pcm_lib AS name - FROM operation_analytique - JOIN poste_analytique po USING (po_id) - JOIN jrnx USING (j_id) - JOIN tmp_pcmn ON jrnx.j_poste::text = tmp_pcmn.pcm_val::text ". -" where - pa_id=$1 ".$date.$sql_from_poste.$sql_to_poste." - - GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.j_poste, tmp_pcmn.pcm_lib, po.po_description - HAVING sum( -CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount -END) <> 0::numeric order by j_poste,po_name",array($this->pa_id)); - - } - - /** - * load the data - * does not return anything but give a value to this->aheader and this->arow - */ - function load_card() - { - $date=$this->set_sql_filter(); - $date=($date != '')?" $date":''; - $sql_from_poste=($this->from_poste!='')?" and po.po_name >= upper('".Database::escape_string($this->from_poste)."')":''; - $sql_to_poste=($this->to_poste!='')?" and po.po_name <= upper('".Database::escape_string($this->to_poste)."')":''; - - $this->arow=$this->db->get_array(" SELECT po.po_id, po.pa_id, po.po_name, po.po_description, sum( - CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount - END) AS sum_amount, jrnx.f_id, jrnx.j_qcode, ( SELECT fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id) AS name - FROM operation_analytique - JOIN poste_analytique po USING (po_id) - JOIN jrnx USING (j_id) ". - " where pa_id=$1 ".$date.$sql_from_poste.$sql_to_poste - ." - GROUP BY po.po_id, po.po_name, po.pa_id, jrnx.f_id, jrnx.j_qcode, ( SELECT fiche_detail.ad_value - FROM fiche_detail - WHERE fiche_detail.ad_id = 1 AND fiche_detail.f_id = jrnx.f_id), po.po_description - HAVING sum( -CASE - WHEN operation_analytique.oa_debit = true THEN operation_analytique.oa_amount * (-1)::numeric - ELSE operation_analytique.oa_amount -END) <> 0::numeric order by name,po_name",array($this->pa_id)); - } - /** - *@brief display the button export CSV - *@param $p_hidden is a string containing hidden items - *@return html string - */ - function show_button($p_hidden="") - { - $r=""; - $r.= '
      '; - $r.= HtmlInput::hidden("act","CSV:AncAccList"); - $r.= HtmlInput::hidden("to",$this->to); - $r.= HtmlInput::hidden("from",$this->from); - $r.= HtmlInput::hidden("pa_id",$this->pa_id); - $r.= HtmlInput::hidden("from_poste",$this->from_poste); - $r.= HtmlInput::hidden("to_poste",$this->to_poste); - $r.= HtmlInput::hidden("card_poste",$this->card_poste); - - $r.= $p_hidden; - $r.= dossier::hidden(); - $r.=HtmlInput::submit('bt_csv',"Export en CSV"); - $r.= '
      '; - return $r; - } - function display_html() - { - bcscale(2); - if ( $this->check() != 0) - { - alert('Désolé mais une des dates données n\'est pas valide'); - return; - } - //--------------------------------------------------------------------------- - // Card - Acc - //--------------------------------------------------------------------------- - - if ( $this->card_poste=='1') - { - $this->load_card(); - - /* - * Show all the result - */ - $tot_card=0;$prev=''; - echo ''; - $tot_glob=0; - for ($i=0;$iarow);$i++) - { - if ( $i == 0 ) - { - $prev=$this->arow[$i]['f_id']; - echo ''; - } - $style= ( $i % 2 == 0)?' class="odd" ':' class="even" '; - if ( $i != 0 && $prev != $this->arow[$i]['f_id']) - { - echo td('Total'); - echo td(nbm($tot_card),' class="num"'); - echo ''; - echo ''; - $tot_card=0; - $prev = $this->arow[$i]['f_id']; - } - - echo ''; - $amount=$this->arow[$i]['sum_amount']; - if ($amount==null)$amount=0; - - $tot_card=bcadd($tot_card,$amount); - $tot_glob=bcadd($tot_glob,$amount); - echo td($this->arow[$i]['po_name']." ". - $this->arow[$i]['po_description'],'style="padding-left:10"'); - echo td(nbm($amount),' class="num" '); - echo ''; - - } - echo ''; - echo td('Total'); - echo td(nbm($tot_card),' class="num"'); - echo ''; - - echo '
      '.HtmlInput::history_card ($this->arow[$i]['f_id'],$this->arow[$i]['j_qcode'].' '.$this->arow[$i]['name'],' display:inline').'
      '.HtmlInput::history_card($this->arow[$i]['f_id'],$this->arow[$i]['j_qcode'].' '.$this->arow[$i]['name'],' display:inline ').'
      '; - echo '

      Résultat global '.nbm($tot_glob).'

      '; - } - //--------------------------------------------------------------------------- - // Accountancy - Analytic - //--------------------------------------------------------------------------- - - if ( $this->card_poste=='2') - { - $this->load_poste(); - /* - * Show all the result - */ - $tot_card=0;$prev=''; - echo ''; - $tot_glob=0; - for ($i=0;$iarow);$i++) - { - if ( $i == 0 ) - { - $prev=$this->arow[$i]['j_poste']; - echo ''; - } - $style= ( $i % 2 == 0)?' class="odd" ':' class="even" '; - if ( $i != 0 && $prev != $this->arow[$i]['j_poste']) - { - echo td('Total'); - echo td(nbm($tot_card),' class="num"'); - echo ''; - echo ''; - $tot_card=0; - $prev = $this->arow[$i]['j_poste']; - } - - echo ''; - $amount=$this->arow[$i]['sum_amount']; - if ($amount==null)$amount=0; - - $tot_card=bcadd($tot_card,$amount); - $tot_glob=bcadd($tot_glob,$amount); - - - echo td($this->arow[$i]['po_name']." ". - $this->arow[$i]['po_description'],'style="padding-left:10"'); - echo td(nbm($amount),' class="num" '); - echo ''; - - } - echo ''; - echo td('Total'); - echo td(nbm($tot_card),' class="num"'); - echo ''; - - echo '
      '.HtmlInput::history_account ($this->arow[$i]['j_poste'],$this->arow[$i]['j_poste'].' '.$this->arow[$i]['name'],' display:inline').'
      '.HtmlInput::history_account($this->arow[$i]['j_poste'],$this->arow[$i]['j_poste'].' '.$this->arow[$i]['name'],' display:inline ').'
      '; - echo td(nbm($tot_card),' class="num"'); - } - //--------------------------------------------------------------------------- - // Acc after card - //--------------------------------------------------------------------------- - if ( $this->card_poste=='3') - { - $this->load_anc_card(); - /* - * Show all the result - */ - $tot_card=0;$prev=''; - echo ''; - $tot_glob=0; - for ($i=0;$iarow);$i++) - { - if ( $i == 0 ) - { - $prev=$this->arow[$i]['po_id']; - echo ''; - - } - $style= ( $i % 2 == 0)?' class="odd" ':' class="even" '; - if ( $i != 0 && $prev != $this->arow[$i]['po_id']) - { - echo td('Total'); - echo td(nbm($tot_card),' class="num"'); - echo ''; - echo ''; - - $tot_card=0; - $prev = $this->arow[$i]['po_id']; - } - - echo ''; - $amount=$this->arow[$i]['sum_amount']; - if ($amount==null)$amount=0; - - $tot_card=bcadd($tot_card,$amount); - $tot_glob=bcadd($tot_glob,$amount); - echo ''; - - echo td(nbm($amount),' class="num" '); - echo ''; - - } - echo ''; - echo td('Total'); - echo td(nbm($tot_card),' class="num"'); - echo ''; - - echo '
      '.$this->arow[$i]['po_name']." ".$this->arow[$i]['po_description'].'
      '.$this->arow[$i]['po_name']." ".$this->arow[$i]['po_description'].'
      '.HtmlInput::history_card ($this->arow[$i]['f_id'],$this->arow[$i]['j_qcode'].' '.$this->arow[$i]['name'],' display:inline').'
      '; - echo td(nbm($tot_card),' class="num"'); - } - //--------------------------------------------------------------------------- - // Analytic - Accountancy - //--------------------------------------------------------------------------- - - - if ( $this->card_poste=='4') - { - $this->load_anc_account(); - - /* - * Show all the result - */ - $tot_card=0;$prev=''; - echo ''; - $tot_glob=0; - for ($i=0;$iarow);$i++) - { - if ( $i == 0 ) - { - $prev=$this->arow[$i]['po_id']; - echo ''; - } - $style= ( $i % 2 == 0)?' class="odd" ':' class="even" '; - if ( $i != 0 && $prev != $this->arow[$i]['po_id']) - { - echo td('Total'); - echo td(nbm($tot_card),' class="num"'); - echo ''; - - $tot_card=0; - $prev = $this->arow[$i]['po_id']; - echo ''; - - } - - echo ''; - $amount=$this->arow[$i]['sum_amount']; - if ($amount==null)$amount=0; - - $tot_card=bcadd($tot_card,$amount); - $tot_glob=bcadd($tot_glob,$amount); - echo ''; - echo td(nbm($amount),' class="num" '); - echo ''; - - } - echo ''; - echo td('Total'); - echo td(nbm($tot_card),' class="num"'); - echo ''; - - echo '
      '.$this->arow[$i]['po_name']." ".$this->arow[$i]['po_description'].'
      '.$this->arow[$i]['po_name']." ".$this->arow[$i]['po_description'].'
      '.HtmlInput::history_account ($this->arow[$i]['j_poste'],$this->arow[$i]['j_poste'].' '.$this->arow[$i]['name'],' display:inline').'
      '; - echo '

      Résultat global '.nbm($tot_glob).'

      '; - } - - } - function export_csv() - { - bcscale(2); - if ( $this->check () != 0 ) {throw new Exception (_("date invalide"));} - //--------------------------------------------------------------------------- - // Card - Acc - //--------------------------------------------------------------------------- - - if ( $this->card_poste=='1') - { - $this->load_card(); - - /* - * Show all the result - */ - $prev=''; - - - for ($i=0;$iarow);$i++) - { - printf('"%s";" %s"', $this->arow[$i]['j_qcode'],$this->arow[$i]['name']); - - $amount=$this->arow[$i]['sum_amount']; - if ($amount==null)$amount=0; - - printf(';"%s";" %s";', - $this->arow[$i]['po_name'], - $this->arow[$i]['po_description']); - printf("%s",nb($amount)); - printf("\r\n"); - } - } - //--------------------------------------------------------------------------- - // Accountancy - Analytic - //--------------------------------------------------------------------------- - - if ( $this->card_poste=='2') - { - $this->load_poste(); - /* - * Show all the result - */ - for ($i=0;$iarow);$i++) - { - printf('"%s";" %s"', $this->arow[$i]['j_poste'],$this->arow[$i]['name']); - - $amount=$this->arow[$i]['sum_amount']; - if ($amount==null)$amount=0; - - printf(';"%s";" %s";', - $this->arow[$i]['po_name'], - $this->arow[$i]['po_description']); - printf("%s",nb($amount)); - printf("\r\n"); - - - } - - } - //--------------------------------------------------------------------------- - // Acc after card - //--------------------------------------------------------------------------- - if ( $this->card_poste=='3') - { - $this->load_anc_card(); - /* - * Show all the result - */ - for ($i=0;$iarow);$i++) - { - printf('"%s";" %s";', $this->arow[$i]['po_name'],$this->arow[$i]['po_description']); - - $amount=$this->arow[$i]['sum_amount']; - if ($amount==null)$amount=0; - - printf('"%s";"%s";', - $this->arow[$i]['j_qcode'], - $this->arow[$i]['name']); - printf("%s",nb($amount)); - printf("\r\n"); - - - } - } - //--------------------------------------------------------------------------- - // Analytic - Accountancy - //--------------------------------------------------------------------------- - - - if ( $this->card_poste=='4') - { - $this->load_anc_account(); - - /* - * Show all the result - */ - for ($i=0;$iarow);$i++) - { - printf('"%s";"%s";', $this->arow[$i]['po_name'],$this->arow[$i]['po_description']); - - $amount=$this->arow[$i]['sum_amount']; - if ($amount==null)$amount=0; - - printf('"%s";"%s";', - $this->arow[$i]['j_poste'], - $this->arow[$i]['name']); - printf("%s",nb($amount)); - printf("\r\n"); - - - } - } - - - - - } - -} \ No newline at end of file diff --git a/sources/include/class_anc_account.php b/sources/include/class_anc_account.php deleted file mode 100644 index 1d9da5f..0000000 --- a/sources/include/class_anc_account.php +++ /dev/null @@ -1,349 +0,0 @@ -db=$p_db; - $this->id=$p_id; - $this->ga_id=null; - } - /*! \brief retrieve data from the database and - * fill the object - * \param $p_where the where clause - */ - private function fetch_from_db($p_where) - { - $sql="select po_id, - po_name , - pa_id, - po_amount, - po_description, - ga_id - from poste_analytique - where ". - $p_where; - - $ret=$this->db->exec_sql($sql); - if ( Database::num_row($ret) == 0 )return null; - $line=Database::fetch_array($ret); - - $this->id=$line['po_id']; - $this->name=$line['po_name']; - $this->pa_id=$line['pa_id']; - $this->amount=$line['po_amount']; - $this->description=$line['po_description']; - $this->ga_id=$line['ga_id']; - - - } - function get_by_id() - { - $this->fetch_from_db("po_id=".$this->id); - } - /*! - * \brief retrieve data thanks the name - * \param $p_name name of the analytic account - * - */ - function get_by_name($p_name) - { - $p_name=sql_string($p_name); - if ( $p_name == null ) - $p_name=$this->name; - - $this->fetch_from_db("po_name='".$p_name."'"); - echo "id = ".$this->id; - } - function add() - { - $this->format_data(); - if ( strlen($this->name) == 0) - return; - if ( $this->ga_id == null || strlen(trim($this->ga_id)) == 0 ) - $ga_id=NULL; - else - $ga_id=$this->ga_id; - $sql="insert into poste_analytique ( - po_name , - pa_id, - po_amount, - po_description, - ga_id - ) values ($1,$2,$3,$4,$5)"; - - try - { - $this->db->exec_sql($sql,array($this->name,$this->pa_id,$this->amount,$this->description,$ga_id)); - - } - catch (Exception $e) - { - if ( DEBUG ) print_r($e); - echo "

      Doublon : l'enregistrement n'est pas sauve

      "; - } - - } - static function make_array_name($cn,$pa_id) - { - $a=$cn->make_array("select po_name,po_name from poste_analytique ". - " where ". - " pa_id = $1 order by po_name ",0,array($pa_id)); - return $a; - } - function update() - { - $this->format_data(); - if ( strlen($this->name) == 0) - return; - $sql="update poste_analytique ". - " set po_name=$1". - " ,pa_id=$2". - " ,po_amount=$3". - " ,po_description=$4". - " ,ga_id=$5". - " where po_id=$6"; - try - { - $this->db->exec_sql($sql,array($this->name,$this->pa_id,$this->amount, - $this->description,$this->ga_id,$this->id)); - } - catch (Exception $e) - { - echo "

      Doublon : l'enregistrement n'est pas sauve

      "; - } - - } - private function format_data() - { - - $this->name=$this->name; - $this->pa_id=$this->pa_id; - $this->amount=$this->amount; - if (strlen($this->amount) == 0 ) - $this->amount=0.0; - if ( isNumber($this->amount) ==0 ) - $this->amount=0; - - $this->description=$this->description; - } - function delete() - { - $sql="delete from poste_analytique where po_id=".$this->id; - $this->db->exec_sql($sql); - } - /*! - * \brief return an array of object Poste_Analytique - * - */ - function get_list() - { - $sql="select po_id, - po_name , - pa_id, - po_amount, - po_description, - ga_id - from poste_analytique ". - " order by po_name"; - - $ex=$this->db->exec_sql($sql); - $ret=Database::fetch_all($ex); - if ( $ret == null ) - return null; - - $array=array(); - foreach ($ret as $line) - { - $object=new Anc_Account($this->db); - - $object->id=$line['po_id']; - $object->name=$line['po_name']; - $object->pa_id=$line['pa_id']; - $object->amount=$line['po_amount']; - $object->description=$line['po_description']; - $object->ga_id=$line['ga_id']; - $array[]=clone $object; - } - - return $array; - } - function display_list() - { - $array=$this->get_list(); - if ( empty($array) ) - { - echo "Vide"; - return; - } - foreach ($array as $line) - { - echo $line->id." / ".$line->name." / ".$line->description."/". - $line->amount." / ".$line->pa_id."/".$line->ga_id."
      "; - } - } - function debug() - { - echo "id ".$this->id."
      "; - echo "name ".$this->name."
      "; - echo "pa_id ".$this->pa_id."
      "; - echo "amount ".$this->amount."
      "; - echo "description ".$this->description."
      "; - echo "ga_id ".$this->ga_id."
      "; - } - function form() - { - $r=''; - $wName=new IText("po_name",$this->name); - $wAmount=new INum("po_amount",$this->amount); - $wDescription=new IText("po_description",$this->description); - $aGroup_analytic=$this->db->make_array("select ga_id,ga_id from groupe_analytique where pa_id=".$this->pa_id,1); - if ( count($aGroup_analytic) > 1 ) - { - $wGa_id=new ISelect("ga_id"); - $wGa_id->value=$aGroup_analytic; - $wGa_id->selected=$this->ga_id; - $wGa_id->table=1; - } - else - { - $wGa_id=new ISpan(); - } - $pa=new Anc_Plan($this->db,$this->pa_id); - $pa->get(); - $wPaName=new IText("",$pa->name); - $wPaName->table=1; - $wPaName->readOnly=true; - - $wName->table=1; - $wAmount->table=1; - $wDescription->table=1; - $r.=HtmlInput::hidden("pa_id",$this->pa_id); - $r.=HtmlInput::hidden("po_id",$this->id); - - $r.=""; - - $r.=""; - $r.=td(_('Nom')); - $r.=$wName->input(); - $r.=""; - - $r.=""; - $r.=td(_('Montant')); - $r.=$wAmount->input(); - $r.=""; - - - $r.=""; - $r.=td(_('Description')); - $r.=$wDescription->input(); - $r.=""; - - $r.=""; - $r.=td(_('Plan Analytique')); - $r.=$wPaName->input(); - $r.=""; - - $r.=""; - $r.=td(_('Groupe')); - $r.=$wGa_id->input(); - $r.=""; - - $r.="
      "; - return $r; - - } - function get_from_array($p_array) - { - $this->name=(isset ($p_array['po_name']))?$p_array['po_name']:""; - $this->description=(isset ($p_array['po_description']))?$p_array['po_description']:""; - $this->pa_id=(isset ($p_array['pa_id']))?$p_array['pa_id']:""; - $this->amount=(isset ($p_array['po_amount']))?$p_array['po_amount']:0; - $this->id=(isset ($p_array['po_id']))?$p_array['po_id']:-1; - // $this->ga_id=(isset($p_array['ga_id']) && $p_array['ga_id'] == "-1" )?null:2; - $this->ga_id=(isset($p_array['ga_id']) && $p_array['ga_id'] != "-1" )?$p_array['ga_id']:null; - } - static function test_me() - { - $cn=new Database(dossier::id()); - $pa_id=$cn->get_value("select max(pa_id) from plan_analytique"); - $o=new Anc_Account($cn); - echo "

      Poste_Analytique

      "; - echo "

      get_list

      "; - $ee=$o->get_list(); - print_r($ee); - //var_dump($ee); - - echo "

      Add some

      "; - $o->pa_id=$pa_id; - $o->name="test1"; - $o->add(); - - - $o->name="test2"; - $o->add(); - - $o->name="test3"; - $o->add(); - - $o->name="test4"; - $o->add(); - - $o->name="test5"; - $o->add(); - - echo "

      remove test1

      "; - $o->get_by_name("test1"); - $o->delete(); - $o->display_list(); - - $o->get_by_name("test4"); - echo "
      ".$o->id."
      "; - $o->name="Test Four"; - $o->update(); - $o->display_list(); - $o->delete(); - $o->display_list(); - } -} -?> diff --git a/sources/include/class_anc_balance_double.php b/sources/include/class_anc_balance_double.php deleted file mode 100644 index 5574903..0000000 --- a/sources/include/class_anc_balance_double.php +++ /dev/null @@ -1,579 +0,0 @@ -load(); - $odd=0; - if ( is_array($array) == false ) - { - return $array; - - } - $old=""; - $tot_deb=0; - $tot_cred=0; - - foreach ( $array as $row) - { - $odd++; - - $r.=($odd%2==0)?'':''; - - if ( $old == $row['a_po_name'] ) - { - $r.=''; - } - else - { - - if ( $tot_deb != 0 || $tot_cred !=0 ) - { - $r.="".td(''); - $r.="Total ".td(nbm($tot_deb),' class="num"').td(nbm($tot_cred),' class="num"'); - $s=abs($tot_deb-$tot_cred); - $d=($tot_deb>$tot_cred)?'debit':'credit'; - $r.="".nbm($s)."$d"; - $r.=""; - } - $tot_deb=0; - $tot_cred=0; - - // new - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.=''; - $r.=td($row['a_po_name'].' '.$row['a_po_description']); - $old=$row['a_po_name']; - $r.= ''; - $r.= ''; - $r.=td(''); - } - $tot_deb+=$row['a_d']; - $tot_cred+=$row['a_c']; - - $r.=td($row['b_po_name']." ".$row['b_po_description']); - - $r.=td(nbm($row['a_d']),' class="num"'); - $r.=td(nbm($row['a_c']),' class="num"'); - $r.=td(nbm($row['a_solde']),' class="num"'); - $r.=sprintf("",$row['a_debit']); - $r.=""; - } /* end loop */ - - if ( $tot_deb != 0 || $tot_cred !=0 ) - { - $r.="".td(''); - $r.=""; - $s=abs($tot_deb-$tot_cred); - $d=($tot_deb>$tot_cred)?'debit':'credit'; - $r.=td(nbm($s),' class="num"').""; - $r.=""; - } - - $r.="
      Poste comptable AnalytiquePoste comptable AnalytiqueDébitCréditSoldeD/C
      %s
      Total ".nbm($tot_deb)." ".nbm($tot_cred)."$d
      "; - $r.=h2info('Résumé'); - $r.=''; - $r.=''; - $r.=th('Po'). - th('Nom'). - th('Débit',' style="text-align:right"'). - th('Crédit','style="text-align:right" '). - th('Solde',' style="text-align:right"'); - - $sum=$this->show_sum($array); - $tot_cred=0;$tot_deb=0; - foreach ($sum as $row) - { - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $diff=bcsub($row['debit'],$row['credit']); - $tot_cred=bcadd($tot_cred,$row['credit']); - $tot_deb=bcadd($tot_deb,$row['debit']); - - $r.=td(nbm($diff),' class="num" '); - - $r.=''; - $r.=''; - } - $r.=td(''); - $r.=td('total'); - $r.=td(nbm($tot_deb),'class="num"'); - $r.=td(nbm($tot_cred),'class="num"'); - $solde=bcsub($tot_deb,$tot_cred); - $sign=($tot_cred<$tot_deb)?" - ":" + "; - $r.=td($sign.nbm($solde),'class="num" style="border:solid 1px blue;font-weight:bold"'); - $r.=''; - $r.='
      '.$row['poste'].''.$row['desc'].''.nbm($row['debit']).''.nbm($row['credit']).''.$row['dc'].'
      '; - - return $r; - } - /*! - * \brief Display the result in pdf - * - * \return none - */ - function display_pdf() - { - $array=$this->load(); - if (empty($array))return; - $pdf=new PDF($this->db); - $pdf->Setdossierinfo(dossier::name()); - $pdf->setTitle("Balance analytique",true); - $pdf->SetAuthor('NOALYSS'); - $pdf->AliasNbPages(); - $pdf->AddPage(); - - $pa=new Anc_Plan($this->db,$this->pa_id); - $pa->get(); - $pb=new Anc_Plan($this->db,$this->pa_id2); - $pb->get(); - $pdf->SetFont('DejaVu','B',9); - $pdf->Cell(0,7,sprintf("Balance croise plan %s %s ", - $pa->name, - $pb->name),1,0,'C'); - $filtre_date=""; - $filtre_pa=""; - $filtre_pb=""; - - if ( $this->from !="" ||$this->to !="") - $filtre_date=sprintf("Filtre date %s %s", - $this->from, - $this->to); - if ( $this->from_poste !="" ||$this->to_poste !="") - $filtre_pa=sprintf("Filtre poste plan1 %s %s", - ($this->from_poste!="")?"de ".$this->from_poste:" ", - ($this->to_poste!="")?"jusque ".$this->to_poste:""); - - if ( $this->from_poste2 !="" ||$this->to_poste2 !="") - $filtre_pb=sprintf("Filtre poste plan2 %s %s", - ($this->from_poste2!="")?"de ".$this->from_poste2:" ", - ($this->to_poste2!="")?"jusque ".$this->to_poste2:""); - - $pdf->SetFont('DejaVu','',8); - $pdf->Cell(50,7,$filtre_date); - $pdf->Cell(50,7,$filtre_pa); - $pdf->Cell(50,7,$filtre_pb); - $pdf->Ln(); - - $pdf->SetFont('DejaVu','',6); - $pdf->Cell(20,7,'id','B'); - $pdf->Cell(100,7,'Poste Comptable','B'); - $pdf->Cell(20,7,'Débit','B',0,'L'); - $pdf->Cell(20,7,'Crédit','B',0,'L'); - $pdf->Cell(20,7,'Solde','B',0,'L'); - $pdf->Cell(20,7,'D/C','B',0,'L'); - $pdf->Ln(); - - for ($i=0;$iCell(20,6,$row['a_po_name'],0,0,'L'); - $pdf->Cell(40,6,mb_substr($row['a_po_description'],0,31),0,0,'L'); - $pdf->Cell(20,6,$row['b_po_name'],0,0,'L'); - $pdf->Cell(40,6,mb_substr($row['b_po_description'],0,31),0,0,'L'); - $pdf->Cell(20,6,$row['a_d'],0,0,'R'); - $pdf->Cell(20,6,$row['a_c'],0,0,'R'); - $pdf->Cell(20,6,$row['a_solde'],0,0,'R'); - $pdf->Cell(20,6,$row['a_debit'],0,0,'C'); - $pdf->Ln(); - } - - $sum=$this->show_sum($array); - $pdf->SetFont('DejaVu','B',8); - $pdf->Cell(70,6,'Somme',1,0,'C'); - $pdf->Ln(5); - $pdf->SetFont('DejaVu','',6); - - $pdf->Cell(20,7,'Poste'); - $pdf->Cell(60,7,'Description','B'); - $pdf->Cell(20,7,'Débit','B',0,'L'); - $pdf->Cell(20,7,'Crédit','B',0,'L'); - $pdf->Cell(20,7,'Solde','B',0,'L'); - $pdf->Cell(20,7,'D/C','B',0,'L'); - $pdf->Ln(); - - for ($i=0;$iCell(20,6,$row['poste'],0,0,'L'); - $pdf->Cell(60,6,$row['desc'],0,0,'L'); - $pdf->Cell(20,6,sprintf('%.2f',$row['debit']),0,0,'R'); - $pdf->Cell(20,6,sprintf('%.2f',$row['credit']),0,0,'R'); - $pdf->Cell(20,6,sprintf('%.2f',$row['solde']),0,0,'R'); - $pdf->Cell(20,6,$row['dc'],0,0,'R'); - $pdf->Ln(); - } - $fDate=date('dmy-Hi'); - $pdf->output('crossbalance-'.$fDate.'.pdf','D'); - } - - - /*! - * \brief Compute the csv export - * \return string with the csv - */ - function display_csv() - { - $r=""; - - $r.='"Poste comptable Analytique";'; - $r.='"Poste comptable Analytique";'; - $r.='"Debit";'; - $r.='"Credit";'; - $r.='"Solde";'; - $r.='"D/C"'; - - $r.="\r\n"; - - $array=$this->load(); - if ( is_array($array) == false ) - { - return $array; - - } - foreach ( $array as $row) - { - - $r.=sprintf('"%s";',$row['a_po_name']); - $r.=sprintf('"%s";',$row['b_po_name']); - $r.=sprintf("%s;",nb($row['a_d'])); - $r.=sprintf("%s;",nb($row['a_c'])); - $r.=sprintf("%s;",nb($row['a_solde'])); - $r.=sprintf('"%s"',$row['a_debit']); - $r.="\r\n"; - } - - return $r; - - } - /*! - * \brief Compute the form to display - * \param $p_hidden hidden tag to be included (gDossier,...) - * - * - * \return string containing the data - */ - function display_form($p_string='') - { - $r=parent::display_form($p_string); - // show the second plan - $r.=''; - $plan=new Anc_Plan($this->db); - $plan_id=new ISelect("pa_id2"); - $plan_id->value=$this->db->make_array("select pa_id, pa_name from plan_analytique order by pa_name"); - $plan_id->selected=$this->pa_id2; - $r.= "Plan Analytique :".$plan_id->input(); - $r.=HtmlInput::request_to_hidden(array('ac')); - $poste=new IText(); - $poste->size=10; - $r.="Entre le poste ".$poste->input("from_poste2",$this->from_poste2); - $choose=new IButton(); - $choose->name="Choix Poste"; - $choose->label=_("Recherche"); - $choose->javascript="onClick=search_ca(".dossier::id().",'from_poste2','pa_id2')"; - $r.=$choose->input(); - - $r.=" et le poste ".$poste->input("to_poste2",$this->to_poste2); - $choose->javascript="onClick=search_ca(".dossier::id().",'to_poste2','pa_id2')"; - $r.=$choose->input(); - $r.=''. - _('Selectionnez le plan qui vous intéresse avant de cliquer sur Recherche'). - ''; - - $r.=''; - $r.=HtmlInput::submit('Affiche', _('Rechercher')); - return $r; - } - /*! - * \brief Show the button to export in PDF or CSV - * \param $p_string hidden data to include in the form - * - * - * \return string with the button - */ - function show_button($p_string="") - { - $r=""; - $r.= '
      '; - $r.= $p_string; - $r.= HtmlInput::hidden("to",$this->to); - $r.= HtmlInput::hidden("act","PDF:AncBalDouble"); - $r.= HtmlInput::hidden("from",$this->from); - $r.= HtmlInput::hidden("pa_id",$this->pa_id); - $r.= HtmlInput::hidden("from_poste",$this->from_poste); - $r.= HtmlInput::hidden("to_poste",$this->to_poste); - $r.= HtmlInput::hidden("pa_id2",$this->pa_id2); - $r.= HtmlInput::hidden("from_poste2",$this->from_poste2); - $r.= HtmlInput::hidden("to_poste2",$this->to_poste2); - $r.=dossier::hidden(); - $r.=HtmlInput::submit('bt_pdf',"Export en PDF"); - $r.= '
      '; - - $r.= '
      '; - $r.= HtmlInput::hidden("to",$this->to); - $r.= HtmlInput::hidden("act","CSV:AncBalDouble"); - $r.= HtmlInput::hidden("from",$this->from); - $r.= HtmlInput::hidden("pa_id",$this->pa_id); - $r.= HtmlInput::hidden("from_poste",$this->from_poste); - $r.= HtmlInput::hidden("to_poste",$this->to_poste); - $r.= HtmlInput::hidden("pa_id2",$this->pa_id2); - $r.= HtmlInput::hidden("from_poste2",$this->from_poste2); - $r.= HtmlInput::hidden("to_poste2",$this->to_poste2); - $r.= $p_string; - $r.= dossier::hidden(); - $r.=HtmlInput::submit('bt_csv',"Export en CSV"); - $r.= '
      '; - return $r; - - } - /*! - * \brief complete the object with the data in $_REQUEST - */ - function get_request() - { - parent::get_request(); - $this->from_poste2=(isset($_REQUEST['from_poste2']))?$_REQUEST['from_poste2']:""; - $this->to_poste2=(isset($_REQUEST['to_poste2']))?$_REQUEST['to_poste2']:""; - $this->pa_id2=(isset($_REQUEST['pa_id2']))?$_REQUEST['pa_id2']:""; - - } - /*! - * \brief load the data from the database - * - * \return array - */ - function load() - { - $filter_poste=""; - $and=""; - if ( $this->from_poste != "" ) - { - $filter_poste.=" $and upper(pa.po_name)>= upper('".Database::escape_string($this->from_poste)."')"; - $and=" and "; - - } - if ( $this->to_poste != "" ) - { - $filter_poste.=" $and upper(pa.po_name)<= upper('".Database::escape_string($this->to_poste)."')"; - $and=" and "; - } - - if ( $this->from_poste2 != "" ) - { - $filter_poste.=" $and upper(pb.po_name)>= upper('".Database::escape_string($this->from_poste2)."')"; - $and=" and "; - } - if ( $this->to_poste2 != "" ) - { - $filter_poste.=" $and upper(pb.po_name)<= upper('".Database::escape_string($this->to_poste2)."')"; - $and=" and "; - } - if ( $filter_poste != "") - $filter_poste=" where ".$filter_poste; - - $sql=" - select a_po_id , - pa.po_name as a_po_name, - pa.po_description as a_po_description, - pb.po_description as b_po_description, - - b_po_id, - pb.po_name as b_po_name, - sum(a_oa_amount_c) as a_c, - sum(a_oa_amount_d) as a_d - from (select - a.j_id, - a.po_id as a_po_id, - b.po_id as b_po_id, - case when a.oa_debit='t' then a.oa_amount else 0 end as a_oa_amount_d, - case when a.oa_debit='f' then a.oa_amount else 0 end as a_oa_amount_c - from - operation_analytique as a join operation_analytique as b on (a.j_id=b.j_id and a.oa_row=b.oa_row) - join poste_analytique as poa on (a.po_id=poa.po_id) - join poste_analytique as pob on (b.po_id=pob.po_id) - where poa.pa_id=". - $this->pa_id." - and pob.pa_id=".$this->pa_id2." ".$this->set_sql_filter()." - ) as m join poste_analytique as pa on ( a_po_id=pa.po_id) - join poste_analytique as pb on (b_po_id=pb.po_id) - - $filter_poste - - group by a_po_id,b_po_id,pa.po_name,pa.po_description,pb.po_name,pb.po_description - order by 2; - "; - - - $res=$this->db->exec_sql($sql); - $this->has_data=Database::num_row($res); - if ( Database::num_row($res) == 0 ) - return null; - $a=array(); - $count=0; - $array=Database::fetch_all($res); - foreach ($array as $row) - { - $a[$count]['a_po_id']=$row['a_po_id']; - $a[$count]['a_d']=$row['a_d']; - $a[$count]['a_c']=$row['a_c']; - $a[$count]['b_po_id']=$row['b_po_id']; - - $a[$count]['a_po_name']=$row['a_po_name']; - $a[$count]['a_po_description']=$row['a_po_description']; - $a[$count]['b_po_name']=$row['b_po_name']; - $a[$count]['b_po_description']=$row['b_po_description']; - $a[$count]['a_solde']=abs($row['a_d']-$row['a_c']); - $a[$count]['a_debit']=($row['a_d']>$row['a_c'])?"debit":"credit"; - - $count++; - } - return $a; - - - } - - - /*! - * \brief add extra lines with sum of each account - * \param $p_array array returned by load() - */ - function show_sum ($p_array) - { - $tot_deb=0; - $tot_cred=0; - $old=""; - $first=true; - $array=array(); - foreach ( $p_array as $row) - { - - if ( $old != $row['a_po_name'] && $first==false ) - - { - $s=abs($tot_deb-$tot_cred); - $d=($tot_deb>$tot_cred)?'debit':'credit'; - $array[]=array('poste'=>$old,'desc'=>$old_desc - ,'debit'=>$tot_deb,'credit'=>$tot_cred, - 'solde'=>$s,'dc'=>$d); - - $tot_deb=0; - $tot_cred=0; - - $old=$row['a_po_name']; - $old_desc=$row['a_po_description']; - } - - if ( $first ) - { - $first=false; - $old=$row['a_po_name']; - $old_desc=$row['a_po_description']; - } - - $tot_deb+=$row['a_d']; - $tot_cred+=$row['a_c']; - - - } - $s=abs($tot_deb-$tot_cred); - $d=($tot_deb>$tot_cred)?'debit':'credit'; - $array[]=array('poste'=>$old,'desc'=>$old_desc - ,'debit'=>$tot_deb,'credit'=>$tot_cred, - - 'solde'=>$s,'dc'=>$d); - - - return $array; - - } - /*! - * \brief for testing and debuggind the class - * it must never be called from production system, it is - * intended only for developpers - * \param - * \param - * \param - * - * - * \return none - */ - static function test_me() - { - $a=new Database(dossier::id()); - - $bal=new Anc_Balance_Double($a); - $bal->get_request(); - - echo '
      '; - - echo $bal->display_form(); - echo '
      '; - if ( isset($_GET['result'])) - { - echo $bal->show_button("",""); - echo "

      HTML

      "; - echo $bal->display_html(); - echo "

      CSV

      "; - echo $bal->display_csv(); - - } - } -} diff --git a/sources/include/class_anc_balance_simple.php b/sources/include/class_anc_balance_simple.php deleted file mode 100644 index 9dd563d..0000000 --- a/sources/include/class_anc_balance_simple.php +++ /dev/null @@ -1,311 +0,0 @@ -set_sql_filter(); - // sum debit - - $sql="select m.po_id,sum(deb) as sum_deb,sum(cred) as sum_cred,"; - $sql.=" po_name||' '||coalesce(po_description,'') as po_name"; - $sql.=" from "; - $sql.=" (select po_id,case when oa_debit='t' then oa_amount else 0 end as deb,"; - $sql.="case when oa_debit='f' then oa_amount else 0 end as cred "; - $sql.=" from operation_analytique join poste_analytique using(po_id)"; - $sql.=(empty($filter) == false)?" where ".$filter:""; - $sql.=" ) as m join poste_analytique using (po_id)"; - $sql.=" where pa_id=".$this->pa_id; - $sql.=" group by po_id,po_name,po_description"; - $sql.=" order by po_id"; - $res=$this->db->exec_sql($sql); - - if ( Database::num_row($res) == 0 ) { - $this->has_data=0; - return null; - } - $a=array(); - $count=0; - $array=Database::fetch_all($res); - foreach ($array as $row) - { - $a[$count]['po_id']=$row['po_id']; - $a[$count]['sum_deb']=$row['sum_deb']; - $a[$count]['sum_cred']=$row['sum_cred']; - $a[$count]['po_name']=$row['po_name']; - $a[$count]['solde']=abs($row['sum_deb']-$row['sum_cred']); - $a[$count]['debit']=($row['sum_deb']>$row['sum_cred'])?"debit":"credit"; - $count++; - } - $this->has_data=$count; - return $a; - - - } - /*! - * \brief Set the filter (account_date) - * - * \return return the string to add to load - */ - - - function set_sql_filter() - { - $sql=""; - $and=""; - if ( $this->from != "" ) - { - $sql.=" oa_date >= to_date('".$this->from."','DD.MM.YYYY')"; - $and=" and "; - } - if ( $this->to != "" ) - { - $sql.=" $and oa_date <= to_date('".$this->to."','DD.MM.YYYY')"; - $and=" and "; - } - if ( $this->from_poste != "" ) - { - $sql.=" $and upper(po_name)>= upper('".$this->from_poste."')"; - $and=" and "; - } - if ( $this->to_poste != "" ) - { - $sql.=" $and upper(po_name)<= upper('".$this->to_poste."')"; - $and=" and "; - } - return $sql; - - } - /*! - * \brief compute the html display - * - * - * \return string - */ - function display_html() - { - $r=""; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - - $array=$this->load(); - $odd=0; - if ( is_array($array) == false ) - { - return $array; - - } - foreach ( $array as $row) - { - $odd++; - - $r.=($odd%2==0)?'':''; - // the name and po_id - // $r.=sprintf("",$row['po_id']); - $r.=sprintf("",h($row['po_name'])); - $r.=td(nbm($row['sum_deb']),' class="num"'); - $r.=td(nbm($row['sum_cred']),' class="num"'); - $r.=td(nbm($row['solde']),' class="num"'); - $deb=($row['sum_deb'] > $row['sum_cred'])?"D":"C"; - $deb=($row['solde'] == 0 )?'':$deb; - $r.=sprintf("",$deb); - $r.=""; - } - $r.="
      Poste comptable AnalytiqueDébitCréditSoldeD/C
      %s%s%s
      "; - return $r; - } - /*! - * \brief Compute the form to display - * \param $p_hidden hidden tag to be included (gDossier,...) - * - * - * \return string containing the data - */ - function display_form($p_string="") - { - $r=parent::display_form($p_string); - - $r.= HtmlInput::submit('Affiche', _('Rechercher')); - - return $r; - } - - /*! - * \brief Display the result in pdf - * - * \return none - */ - function display_pdf() - { - $array=$this->load(); - $pdf=new PDFBalance_Simple($this->db); - $pdf->set_info($this->from_poste,$this->to_poste,$this->from,$this->to); - $pdf->AliasNbPages(); - $pdf->AddPage(); - $pdf->setTitle("Balance analytique",true); - - $pdf->SetFont('DejaVu','',6); - for ($i=0;$iCell(20,6,$row['po_id'],0,0,'L'); - $pdf->Cell(90,6,$row['po_name'],0,0,'L'); - $pdf->Cell(20,6,sprintf('%s',nbm($row['sum_deb'])),0,0,'R'); - $pdf->Cell(20,6,sprintf('%s',nbm($row['sum_cred'])),0,0,'R'); - $pdf->Cell(20,6,sprintf('%s',nbm($row['solde'])),0,0,'R'); - $pdf->Cell(20,6,$row['debit'],0,0,'R'); - $pdf->Ln(); - } - $fDate=date('dmy-Hi'); - $pdf->output('simple-balance-'.$fDate.'.pdf','D'); - - } - /*! - * \brief Compute the csv export - * \return string with the csv - */ - function display_csv() - { - $array=$this->load(); - if ( is_array($array) == false ) - { - return $array; - - } - $r=""; - foreach ( $array as $row) - { - // the name and po_id - $solde=($row['sum_cred']>$row['sum_deb'])?'C':'D'; - $solde=($row['sum_cred']==$row['sum_deb'])?'':$solde; - $r.=sprintf("'%s';",$row['po_id']); - $r.=sprintf("'%s';",$row['po_name']); - $r.=sprintf("%s;",nb($row['sum_deb'])); - $r.=sprintf("%s;",nb($row['sum_cred'])); - $r.=sprintf("%s;",nb($row['solde'])); - $r.=sprintf("'%s'",$row['debit']); - $r.="\r\n"; - } - return $r; - - } - /*! - * \brief Show the button to export in PDF or CSV - * \param $url_csv url of the csv - * \param $url_pdf url of the pdf - * \param $p_string hidden data to include in the form - * - * - * \return string with the button - */ - function show_button($p_string="") - { - $r=""; - $r.= '
      '; - $r.= $p_string; - $r.= dossier::hidden(); - $r.= HtmlInput::hidden("to",$this->to); - $r.= HtmlInput::hidden("act","PDF:AncBalSimple"); - - $r.= HtmlInput::hidden("from",$this->from); - $r.= HtmlInput::hidden("pa_id",$this->pa_id); - $r.= HtmlInput::hidden("from_poste",$this->from_poste); - $r.= HtmlInput::hidden("to_poste",$this->to_poste); - $r.=HtmlInput::submit('bt_pdf',"Export en PDF"); - $r.= '
      '; - - $r.= '
      '; - $r.= HtmlInput::hidden("act","CSV:AncBalSimple"); - $r.= HtmlInput::hidden("to",$this->to); - $r.= HtmlInput::hidden("from",$this->from); - $r.= HtmlInput::hidden("pa_id",$this->pa_id); - $r.= HtmlInput::hidden("from_poste",$this->from_poste); - $r.= HtmlInput::hidden("to_poste",$this->to_poste); - $r.= $p_string; - $r.= dossier::hidden(); - $r.=HtmlInput::submit('bt_csv',"Export en CSV"); - $r.= '
      '; - return $r; - } - - /*! - * \brief for testing and debuggind the class - * it must never be called from production system, it is - * intended only for developpers - * \param - * \param - * \param - * - * - * \return none - */ - static function test_me () - { - // call the page with ?gDossier=14 - $a=new Database(dossier::id()); - - $bal=new Anc_Balance_Simple($a); - $bal->get_request(); - - echo '
      '; - - echo $bal->display_form(); - echo '
      '; - if ( isset($_GET['result'])) - { - echo $bal->show_button("",""); - echo "

      HTML

      "; - echo $bal->display_html(); - echo "

      CSV

      "; - echo $bal->display_csv(); - /* echo "

      pdf

      "; */ - /* echo $bal->display_pdf(); */ - - } - - } -} diff --git a/sources/include/class_anc_grandlivre.php b/sources/include/class_anc_grandlivre.php deleted file mode 100644 index 452da71..0000000 --- a/sources/include/class_anc_grandlivre.php +++ /dev/null @@ -1,309 +0,0 @@ -from != "" ) - { - $sql.="$and oa_date >= to_date('".$this->from."','DD.MM.YYYY')"; - } - if ( $this->to != "" ) - { - $sql.=" $and oa_date <= to_date('".$this->to."','DD.MM.YYYY')"; - } - - return $sql; - - } - /*! - * \brief load the data from the database - * - * \return array - */ - function load() - { - $filter_date=$this->set_sql_filter(); - $cond_poste=''; - if ($this->from_poste != "" ) - $cond_poste=" and upper(po_name) >= upper('".$this->from_poste."')"; - if ($this->to_poste != "" ) - $cond_poste.=" and upper(po_name) <= upper('".$this->to_poste."')"; - $pa_id_cond=""; - if ( isset ( $this->pa_id) && $this->pa_id !='') - $pa_id_cond= "pa_id=".$this->pa_id." and"; - $array=$this->db->get_array(" select oa_id, - po_name, - oa_description, - po_description, - oa_debit, - to_char(oa_date,'DD.MM.YYYY') as oa_date, - oa_amount, - oa_group, - j_id , - jr_internal, - jr_id, - jr_comment, - j_poste, - jrnx.f_id, - ( select ad_value from fiche_Detail where f_id=jrnx.f_id and ad_id=23) as qcode, - jr_pj_number - from operation_analytique as B join poste_analytique using(po_id) - left join jrnx using (j_id) - left join jrn on (j_grpt=jr_grpt_id) - where $pa_id_cond oa_amount <> 0.0 $cond_poste $filter_date - order by po_name,oa_date::date,qcode,j_poste"); - $this->has_data=count($array); - return $array; - } - - function load_csv() - { - $filter_date=$this->set_sql_filter(); - $cond_poste=''; - if ($this->from_poste != "" ) - $cond_poste=" and upper(po_name) >= upper('".$this->from_poste."')"; - if ($this->to_poste != "" ) - $cond_poste.=" and upper(po_name) <= upper('".$this->to_poste."')"; - $pa_id_cond=""; - if ( isset ( $this->pa_id) && $this->pa_id !='') - $pa_id_cond= "pa_id=".$this->pa_id." and"; - $array=$this->db->get_array(" select - po_name, - to_char(oa_date,'DD.MM.YYYY') as oa_date, - j_poste, - ( select ad_value from fiche_Detail where f_id=jrnx.f_id and ad_id=23) as qcode, - jr_comment, - jr_pj_number, - jr_internal, - oa_row, - case when oa_debit='t' then 'D' else 'C' end, - oa_amount - from operation_analytique as B join poste_analytique using(po_id) - left join jrnx using (j_id) - left join jrn on (j_grpt=jr_grpt_id) - where $pa_id_cond oa_amount <> 0.0 $cond_poste $filter_date - order by po_name,oa_date::date,qcode,j_poste"); - - - return $array; - } - /* ! - * \brief Show the button to export in PDF all the receipt - * - * \param $p_string extra hidden value - * \return string with the button - */ - - function button_export_pdf($p_string = "") - { - if (CONVERT_GIF_PDF <> 'NOT' && PDFTK <> 'NOT') - { - $r = ""; - $r.= HtmlInput::hidden("to", $this->to); - $r.= HtmlInput::hidden("from", $this->from); - $r.= HtmlInput::hidden("pa_id", $this->pa_id); - $r.= HtmlInput::hidden("from_poste", $this->from_poste); - $r.= HtmlInput::hidden("to_poste", $this->to_poste); - $r.= HtmlInput::hidden("act","PDF:AncReceipt"); - - $r.= $p_string; - $r.= dossier::hidden(); - $r.=HtmlInput::submit('bt_receipt_anal_pdf', _("Export des pièces en PDF")); - } - else - { - - $r = ""; - $msg = _("Les extensions pour convertir en pdf ne sont pas installées"); - $r = HtmlInput::button("bt_receipt_anal", _('Export des pièces en PDF'), sprintf('onclick="alert(\'%s\')"',$msg)); - } - return $r; - } - /*! - * \brief compute the html display - * - * - * \return string - */ - - function display_html() - { - $r = ""; - //---Html - $array = $this->load(); - if (is_array($array) == false || empty($array)) - { - return 0; - } - $r.= ''; - $ix = 0; - $prev = 'xx'; - $idx = 0; - $tot_deb = $tot_cred = 0; - - bcscale(2); - foreach ($array as $row) - { - if ($prev != $row['po_name']) - { - if ($ix > 0) - { - $r.=''; - $tot_solde = bcsub($tot_cred, $tot_deb); - $sign = " ".($tot_solde > 0) ? 'C' : 'D'; - $r.=td('') . td('') . td(''); - $r.=td('') . td('') . td('') . td('') . td('') . td(nbm($tot_deb), ' class="num"') . td(nbm($tot_cred), ' class="num"') . td(nbm($tot_solde) . $sign, ' class="num notice"'); - } - $r.='' . ''; - $r.= '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - ''; - - $tot_deb = $tot_cred = 0; - $prev = $row['po_name']; - $ix++; - } - $class = ($idx % 2 == 0) ? 'even' : 'odd'; - $idx++; - $r.=''; - $detail = ($row['jr_id'] != null) ? HtmlInput::detail_op($row['jr_id'], $row['jr_internal']) : ''; - $post_detail = ($row['j_poste'] != null) ? HtmlInput::history_account($row['j_poste'], $row['j_poste']) : ''; - $card_detail = ($row['f_id'] != null) ? HtmlInput::history_card($row['f_id'], $row['qcode']) : ''; - $amount_deb = ($row['oa_debit'] == 't') ? $row['oa_amount'] : 0; - $amount_cred = ($row['oa_debit'] == 'f') ? $row['oa_amount'] : 0; - $tot_deb = bcadd($tot_deb, $amount_deb); - $tot_cred = bcadd($tot_cred, $amount_cred); - $tot_solde=bcsub($tot_cred,$tot_deb); - - /* - * Checked button - */ - $str_ck = ""; - $str_document = ""; - if ($row['jr_id'] != null) - { - /* - * Get receipt info - */ - $str_document = HtmlInput::show_receipt_document($row['jr_id']); - if ($str_document != "") - { - $ck = new ICheckBox('ck[]', $row['jr_id']); - $str_ck = $ck->input(); - } - } - - $r.= - '' . - '' . - td($post_detail) . - td($card_detail) . - td($row['jr_comment']) . - '' . - td($row['jr_pj_number']) . - '' . - '' . - ''. - ''; - $r.= ''; - } - $r.=''; - $tot_solde = bcsub($tot_cred, $tot_deb); - $sign = ($tot_solde > 0) ? 'C' : 'D'; - $r.=td('') . td('') . td(''); - $r.=td('') . td('') . td('') . td('') . td('') . td(nbm($tot_deb), ' class="num"') . td(nbm($tot_cred), ' class="num"') . td(nbm($tot_solde) . $sign, ' class="num notice"'); - - $r.= '
      ' . '

      ' . h($row['po_name'] . ' ' . $row['po_description']) . '

      ' . '' . _('Date') . '' . _('Poste') . '' . _('Quick_code') . '' . _('Libellé') . '' . '' . _('Pièce') . '' . _('Interne') . '' . _('Débit') . '' . _('Crédit') . '' . _('Prog.') . '
      ' . $str_ck . '' . $row['oa_date'] . '' . $str_document . '' . $detail . '' . nbm($amount_deb) . '' . nbm($amount_cred). '' . nbm($tot_solde). '
      '; - return $r; - } - /*! - * \brief Show the button to export in PDF or CSV - * \param $url_csv url of the csv - * \param $url_pdf url of the pdf - * \param $p_string hidden data to include in the form - * - * - * \return string with the button - */ - function show_button($p_string="") - { - $r=""; - $r.= '
      '; - $r.= HtmlInput::hidden("act","CSV:AncGrandLivre"); - $r.= HtmlInput::hidden("to",$this->to); - $r.= HtmlInput::hidden("from",$this->from); - $r.= HtmlInput::hidden("pa_id",$this->pa_id); - $r.= HtmlInput::hidden("from_poste",$this->from_poste); - $r.= HtmlInput::hidden("to_poste",$this->to_poste); - $r.= $p_string; - $r.= dossier::hidden(); - $r.=HtmlInput::submit('bt_csv',"Export en CSV"); - $r.= '
      '; - return $r; - } - function display_csv() - { - $r=""; - //---Html - $array=$this->load_csv(); - if ( is_array($array) == false ) - { - return $array; - - } - - $ix=0;$prev='xx'; - $tot_deb=$tot_cred=0; - $aheader=array(); - $aheader[]=array("title"=>'Imp. Analytique','type'=>'string'); - $aheader[]=array("title"=>'Date','type'=>'string'); - $aheader[]=array("title"=>'Poste','type'=>'string'); - $aheader[]=array("title"=>'Quick_Code','type'=>'string'); - $aheader[]=array("title"=>'libelle','type'=>'string'); - $aheader[]=array("title"=>'Pièce','type'=>'string'); - $aheader[]=array("title"=>'Num.interne','type'=>'string'); - $aheader[]=array("title"=>'row','type'=>'num'); - $aheader[]=array("title"=>'Debit','type'=>'string'); - $aheader[]=array("title"=>'Credit','type'=>'num'); - Impress::array_to_csv($array, $aheader); - } -} diff --git a/sources/include/class_anc_group.php b/sources/include/class_anc_group.php deleted file mode 100644 index daff410..0000000 --- a/sources/include/class_anc_group.php +++ /dev/null @@ -1,260 +0,0 @@ -db=$p_cn; - $this->ga_id=null; - $this->ga_description=null; - $this->pa_id=null; - } - /*! - * \brief insert into the database an object - * \return message with error otherwise an empty string - */ - - function insert() - { - if (strlen ($this->ga_id) > 10 ) return ''. - _('Taille de la code trop long maximum 10 caractères').''; - $sql=" insert into groupe_analytique (ga_id,ga_description,pa_id) values ('%s','%s',%d)"; - $sql=sprintf($sql,Database::escape_string($this->ga_id), - Database::escape_string($this->ga_description), - $this->pa_id); - try - { - $this->db->exec_sql($sql); - } - catch (Exception $a) - { - return 'Doublon !!'; - } - return ""; - } - /*! - * \brief remove from the database - */ - - function remove() - { - $this->ga_id=str_replace(' ','',$this->ga_id); - $this->ga_id=strtoupper($this->ga_id); - $sql=" delete from groupe_analytique where ga_id='".Database::escape_string($this->ga_id)."'"; - - $this->db->exec_sql($sql); - } - - /*! - * \brief load from the database and make an object - */ - function load() - { - $sql="select ga_id, ga_description,pa_id from groupe_analytique where". - " ga_id = ".$this->ga_id; - $res=$this->db->exec_sql($sql); - $array=Database::fetch_all($res); - if ( ! empty($array) ) - { - $this->ga_id=$array['ga_id']; - $this->ga_description=$array['ga_description']; - $this->pa_id=$array['pa_id']; - } - } - - /*! - * \brief fill the object thanks an array - * \param array - */ - function get_from_array($p_array) - { - $this->ga_id=$p_array['ga_id']; - $this->pa_id=$p_array['pa_id']; - $this->ga_description=$p_array['ga_description']; - } - function myList() - { - $sql=" select ga_id,groupe_analytique.pa_id,pa_name,ga_description ". - " from groupe_analytique ". - " join plan_analytique using (pa_id)"; - $r=$this->db->exec_sql($sql); - $array=Database::fetch_all($r); - $res=array(); - if ( ! empty($array)) - { - foreach ($array as $m ) - { - $obj= new Anc_Group($this->db); - $obj->get_from_array($m); - $obj->pa_name=$m['pa_name']; - $res[]=clone $obj; - } - } - return $res; - } - - function set_sql_filter() - { - $sql=""; - $and="and "; - if ( $this->from != "" ) - { - $sql.=" $and oa_date >= to_date('".$this->from."','DD.MM.YYYY')"; - $and=" and "; - } - if ( $this->to != "" ) - { - $sql.=" $and oa_date <= to_date('".$this->to."','DD.MM.YYYY')"; - $and=" and "; - } - if ( $this->from_poste != "" ) - { - $sql.=" $and upper(po_name)>= upper('".$this->from_poste."')"; - $and=" and "; - } - if ( $this->to_poste != "" ) - { - $sql.=" $and upper(po_name)<= upper('".$this->to_poste."')"; - $and=" and "; - } - return $sql; - - } - - function get_result() - { - $filter_date=$this->set_sql_filter(); - - $sql="with m as (select po_id, - po_name, - ga_id, - case when oa_debit = 't' then oa_amount - else 0 - end as amount_deb, - case when oa_debit = 'f' then oa_amount - else 0 - end as amount_cred, - oa_date - from operation_analytique -join poste_analytique using (po_id) -where pa_id=$1 $filter_date ) -select sum(amount_cred) as sum_cred, sum(amount_deb)as sum_deb,po_name,ga_id,ga_description -from m left join groupe_analytique using (ga_id) -group by ga_id,po_name,ga_description -order by ga_description,po_name"; - $ret=$this->db->get_array($sql,array($this->pa_id)); - - return $ret; - } - - function display_html() - { - if ( $this->check() != 0) - { - alert('Désolé mais une des dates données n\'est pas valide'); - return; - } - - $array=$this->get_result(); - if ( empty ($array) ) return ""; - require_once NOALYSS_INCLUDE.'/template/anc_balance_group.php'; - - - } - /** - *@brief display the button export CSV - *@param $p_hidden is a string containing hidden items - *@return html string - */ - function show_button($p_hidden="") - { - $r=""; - $r.= '
      '; - $r.= HtmlInput::hidden("act","CSV:AncBalGroup"); - $r.= HtmlInput::hidden("to",$this->to); - $r.= HtmlInput::hidden("from",$this->from); - $r.= HtmlInput::hidden("pa_id",$this->pa_id); - $r.= HtmlInput::hidden("from_poste",$this->from_poste); - $r.= HtmlInput::hidden("to_poste",$this->to_poste); - $r.= $p_hidden; - $r.= dossier::hidden(); - $r.=HtmlInput::submit('bt_csv',"Export en CSV"); - $r.= '
      '; - return $r; - } - function export_csv() - { - $array=$this->get_result(); - printf('"groupe";"activité";"débit";"credit";"solde"'); - printf("\r\n"); - bcscale(2); - for ($i=0;$imyList(); - print_r($r); - echo '
      '; - print_r($o); - $o->ga_id="DD' dd dDD"; - $o->ga_description="Test 1"; - $o->remove(); - // $o->insert(); - $o->ga_id="DD"; - $o->ga_description="Test 1"; - $o->remove(); - - $r=$o->myList(); - print_r($r); - } -} diff --git a/sources/include/class_anc_group_operation.php b/sources/include/class_anc_group_operation.php deleted file mode 100644 index 502a9cc..0000000 --- a/sources/include/class_anc_group_operation.php +++ /dev/null @@ -1,278 +0,0 @@ -db=$p_cn; - $this->id=$p_id; - $this->date=date("d.m.Y"); - $this->nMaxRow=10; - } - /*!\brief add several rows */ - function add() - { - - $amount=0; - try - { - $this->db->start(); - foreach ($this->a_operation as $row) - { - $add=round($row->oa_amount,2); - $add=($row->oa_debit=='t')?$add:$add*(-1); - $amount+=round($add,2); - $row->add(); - } - if ( $amount != 0 ) throw new Exception (_('Operation non equilibrée')); - } - catch (Exception $e) - { - echo $e->getTrace(); - $this->db->rollback(); - throw new Exception($e); - } - $this->db->commit(); - } - /*!\brief show a form for the operation (several rows) - * \return the string containing the form but without the form tag - * - */ - function form($p_readonly=0) - { - $wDate=new IDate("pdate",$this->date); - $wDate->table=1; - $wDate->size=10; - $wDate->readonly=$p_readonly; - - $wDescription=new IText("pdesc"); - $wDescription->table=0; - $wDescription->size=80; - $wDescription->readonly=$p_readonly; - // Show an existing operation - // - if ( isset ($this->a_operation[0])) - { - $wDate->value=$this->a_operation[0]->oa_date; - $wDescription->value=$this->a_operation[0]->oa_description; - } - - $ret=""; - - $ret.=''; - - $ret.="".$wDate->input().""; - $ret.=''. - '"; - $Plan=new Anc_Plan($this->db); - $aPlan=$Plan->get_list(); - $max=(count($this->a_operation)<$this->nMaxRow)?$this->nMaxRow:count($this->a_operation); - $ret.='
      Description'. - $wDescription->input()."
      '; - /* show 10 rows */ - $ret.=""; - foreach ($aPlan as $d) - { - $idx=$d['id']; - /* array of possible value for the select */ - $aPoste[$idx]=$this->db->make_array("select po_id as value,". - " po_name||':'||coalesce(po_description,'-') as label ". - " from poste_analytique ". - " where pa_id = ".$idx. - " order by po_name "); - - $ret.=""; - } - $ret.="". - "". - "". - ""; - - for ($i = 0;$i < $max;$i++) - { - $ret.=""; - - foreach ($aPlan as $d) - { - $idx=$d['id']; - // init variable - $wSelect=new ISelect("pop".$i."plan".$idx); - $wSelect->value=$aPoste[$idx]; - $wSelect->size=12; - - $wSelect->readOnly=$p_readonly; - if ( isset($this->a_operation[$i])) - { - $wSelect->selected=$this->a_operation[$i]->po_id; - } - $ret.=td($wSelect->input()); - } - $wAmount=new INum("pamount$i",0.0); - $wAmount->size=12; - $wAmount->table=1; - $wAmount->javascript=" onChange=format_number(this);caod_checkTotal()"; - $wAmount->readOnly=$p_readonly; - - $wDebit=new ICheckBox("pdeb$i"); - $wDebit->readOnly=$p_readonly; - $wDebit->javascript=" onChange=caod_checkTotal()"; - if ( isset ($this->a_operation[$i])) - { - $wSelect->selected=$this->a_operation[$i]->po_id; - $wAmount->value=$this->a_operation[$i]->oa_amount; - $wDebit->value=$this->a_operation[$i]->oa_debit; - if ( $wDebit->value=='t') - { - $wDebit->selected=true; - } - - } - - // build the table - - $ret.=""; - $ret.=$wAmount->input(); - $ret.=td($wDebit->input()); - - $ret.=""; - } - $ret.="
      Poste MontantDébit
      "; - if ( $p_readonly==false) - { - $add_row=new IButton('Ajouter'); - $add_row->label=_('Ajouter une ligne'); - $add_row->javascript='anc_add_row(\'ago\');'; - $ret.=HtmlInput::hidden('nbrow',$max); - - $ret.=$add_row->input(); - } - return $ret; - } - /*!\brief fill row from $_POST data - * - */ - function get_from_array($p_array) - { - $Plan=new Anc_Plan($this->db); - $aPlan=$Plan->get_list(); - - - for ( $i = 0;$i <$p_array['nbrow'];$i++) - { - foreach ($aPlan as $d) - { - $idx=$d['id']; - $p=new Anc_Operation($this->db); - $p->oa_amount=$p_array["pamount$i"]; - - $p->oa_description=$p_array["pdesc"]; - $p->oa_date=$p_array['pdate']; - $p->j_id=0; - $p->oa_debit=(isset ($p_array["pdeb$i"]))?'t':'f'; - $p->oa_group=0; - - $p->po_id=$p_array["pop$i"."plan".$idx]; - $p->pa_id=$idx; - $this->a_operation[]=clone $p; - } - } - } - /*!\brief save the group of operation but only if the amount is - balanced */ - function save() - { - $this->db->start(); - try - { - $oa_group=$this->db->get_next_seq('s_oa_group'); - for ($i=0;$ia_operation);$i++) - { - $this->a_operation[$i]->oa_group=$oa_group; - $this->a_operation[$i]->add(); - } - } - catch (Exception $ex) - { - echo ''. - 'Erreur dans l\'enregistrement '. - __FILE__.':'.__LINE__.' '. - $ex->getMessage(); - $p_cn->rollback(); - throw new Exception("Erreur ".$ex->getMessage()); - - } - $this->db->commit(); - } - /*!\brief show the form */ - function show() - { - return $this->form(1); - } - static function test_me() - { - $dossier=dossier::id(); - $cn=new Database($dossier); - - if ( isset($_POST['go'])) - { - $b=new Anc_Group_Operation($cn); - $b->get_from_array($_POST); - return; - } - - $a=new Anc_Group_Operation($cn); - echo '
      '; - echo $a->form(); - echo dossier::hidden(); - echo ''; - echo '
      '; - - } - -} diff --git a/sources/include/class_anc_key.php b/sources/include/class_anc_key.php deleted file mode 100644 index 587178a..0000000 --- a/sources/include/class_anc_key.php +++ /dev/null @@ -1,354 +0,0 @@ -get_value (' select count(*) - from key_distribution_ledger - join key_distribution using (kd_id) - where - jrn_def_id=$1', array($p_jrn)); - return $count; - } - function __construct($p_id=-1) - { - global $cn; - $this->key=new Anc_Key_SQL($cn, $p_id); - $this->a_ledger=null; - $this->a_activity=null; - $this->a_row=null; - } - - /** - * @brief display list of available keys - * @param $p_amount amount to distribute - * @param $p_target target to update - * @param $p_ledger is the jrn_def_id - */ - static function display_choice($p_amount, $p_target,$p_ledger) - { - global $cn; - $a_key=$cn->get_array(' select kd_id, - kd_name, - kd_description - from - key_distribution - join key_distribution_ledger using (kd_id) - where - jrn_def_id=$1', - array( - $p_ledger - )); - if (empty($a_key)) - { - echo _('Aucune clef disponible'); - echo _('Allez dans ANCKEY pour en ajouter pour ce journal'); - } - include 'template/anc_key_display_choice.php'; - } - - /** - * @brief display a list of keys, choose one to modify it - * - */ - static function display_list() - { - global $cn; - $a_key=$cn->get_array('select b.kd_id,b.kd_name,b.kd_description, - (select sum(ke_percent) from key_distribution_detail as a where a.kd_id=b.kd_id) as distrib - from key_distribution as b order by b.kd_name'); - if (empty($a_key)) - { - echo _('Aucune clef disponible'); - } - include 'template/anc_key_display_list.php'; - } - - /** - * @brief Show the detail for a key distribution and let you change it - * for adding or update - */ - function input() - { - global $cn; - - $plan=$cn->get_array(' - select - pa_id, - pa_name , - pa_description - from - plan_analytique - order by pa_name'); - $count_max=count($plan); - - $a_row=$cn->get_array('select ke_id,ke_row,ke_percent from key_distribution_detail - where - kd_id=$1 order by ke_row', array($this->key->getp('id'))); - - require_once NOALYSS_INCLUDE.'/template/anc_key_input.php'; - } - - /** - * @brief verify that data are ok - * @param type $p_array - */ - function verify($p_array) - { - $a_percent=$p_array['percent']; - if (count($a_percent)==0) - { - throw new Exception(_('Aucune répartition')); - } - $tot_percent=0; - bcscale(4); - for ($i=0; $i100) - { - throw new Exception(_('Le total ne vaut pas 100, total calculé = ').$tot_percent); - } - if ($p_array['name_key']=='') { - throw new Exception (_('Le nom ne peut être vide')); - } - } - - /** - * @brief save the data of a repartition key. - * @param received an array - * index : - * - key_id : key_distribution.kd_id - * - row : array of key_distribution.ke_id (row - * - pa : array of plan_analytic.pa_id (column) - * - po_id : double array, - * first index is the row - * second index is the first plan, the second the second plan...(column) - * - percent array, one per row - * - jrn : array of available ledgers - * @note if po_id == -1 then it is replaced by null, this why the pa_id is needed : to identify - * the column - * @verbatim - - 'key_id' => string '1' (length=1) - 'row' => - array - 0 => string '1' (length=1) - 1 => string '2' (length=1) - 2 => string '3' (length=1) - 'pa' => - array - 0 => string '1' (length=1) - 1 => string '2' (length=1) - 'po_id' => - array - 0 => - array - 0 => string '1' (length=1) - 1 => string '8' (length=1) - 1 => - array - 0 => string '2' (length=1) - 1 => string '-1' (length=2) - 2 => - array - 0 => string '3' (length=1) - 1 => string '8' (length=1) - 'percent' => - array - 0 => string '50.0000' (length=7) - 1 => string '20.0000' (length=7) - 2 => string '30.0000' (length=7) - 'jrn' => - array - 0 => string '3' (length=1) - 1 => string '2' (length=1) - @endverbatim - * - */ - function save($p_array) - { - global $cn; - $this->verify($p_array); - $cn->start(); - // for each row - $a_row=$p_array['row']; - $a_ledger=HtmlInput::default_value("jrn",array(),$p_array); - $a_percent=$p_array['percent']; - $a_po_id=$p_array['po_id']; - $a_plan=$p_array['pa']; - try - { - $this->key->setp('name',$p_array['name_key']); - $this->key->setp('description',$p_array['description_key']); - $this->key->save(); - for ($i=0; $isetp('id', $a_row[$i]); - $key_row->setp('key', $this->key->getp('id')); - $key_row->setp('row', $i+1); - $key_row->setp('percent', $a_percent[$i]); - $key_row->save(); - // - // Save each activity + percent - $cn->exec_sql('delete from key_distribution_activity where ke_id=$1', array($key_row->getp('id'))); - - // Don't save row with 0 % - if ($a_percent[$i]==0) - { - $key_row->delete(); - continue; - } - for ($j=0; $jsetp('detail', $key_row->ke_id); - $value=($a_po_id[$i][$j]==-1)?null:$a_po_id[$i][$j]; - $activity->setp('activity', $value); - $activity->setp('plan',$a_plan[$j]); - $activity->save(); - } - } - // delete all from key_distribution_ledger - $cn->exec_sql('delete from key_distribution_ledger where kd_id=$1', array($this->key->getp('id'))); - for ($k=0; $kkd_id=$this->key->getp('id'); - $ledger->jrn_def_id=$a_ledger[$k]; - $ledger->save(); - } - - $cn->commit(); - } - catch (Exception $e) - { - if ( DEBUG ) { echo $e->getTraceAsString(); var_dump($_POST);} else { echo _('erreur');} - $cn->rollback(); - } - } - /** - * @brief Call the Anc_Operation::display_form_plan with the right amounts. - * This function compute the array and amount to pass to the Anc_Operation::display_form_plan - * and replace the current table of activity with the value computed from the key. - * - * @global $cn database connection - * @param $p_target Table to be replaced - * @param $p_amount amount to distribute among activities - */ - function fill_table($p_target,$p_amount) - { - global $cn; - /* number is the index of the plan, he's computed from p_target */ - $number=preg_replace('/det[0-9]/', '', $p_target); - $number=str_replace('t', '', $number); - $number=str_replace('popup', '', $number); - - $op[$number]=$p_amount; - $array['op']=$op; - $a_plan=$cn->get_array('select pa_id from plan_analytique order by pa_id'); - for ($i=0;$i < count($a_plan);$i++) - { - $array['pa_id'][$i]=$a_plan[$i]['pa_id']; - } - - $a_poste=$cn->get_array('select po_id,ke_percent,pa_id,ke_row - from key_distribution_activity - join key_distribution_detail using (ke_id) - where - kd_id=$1 - order by ke_row,pa_id', - array($this->key->getp('id'))); - - for ($i=0;$i< count($a_poste);$i++) - { - $hplan[$number][$i]=($a_poste[$i]['po_id']==null)?-1:$a_poste[$i]['po_id']; - } - $array['hplan']=$hplan; - - $a_amount=$cn->get_array("select distinct ke_row,ke_percent - from key_distribution_activity - join key_distribution_detail using (ke_id) - where - kd_id=$1 - and pa_id=$2 - order by ke_row", - array($this->key->getp('id'),$a_plan[0]['pa_id'])); - bcscale(2); - for ($i=0;$i< count($a_amount);$i++) - { - $val[$number][$i]=bcmul($p_amount,$a_amount[$i]['ke_percent'])/100; - } - $array['val']=$val; - - $anc_operation=new Anc_Operation($cn); - echo $anc_operation->display_form_plan($array, 1, 1, $number, $p_amount,'',false); - - } - /** - *@brief show a form for adding a key + button to display it - * - */ - static function key_add() - { - $key=new Anc_Key(); - $key->key->setp('name',_('Nouvelle clef')); - $key->key->setp('description',_('Description de la nouvelle clef')); - ?> - -'; - - } - /** - *@brief delete the distribution key - */ - function delete () - { - $this->key->delete(); - } -} diff --git a/sources/include/class_anc_key_sql.php b/sources/include/class_anc_key_sql.php deleted file mode 100644 index 07be1ed..0000000 --- a/sources/include/class_anc_key_sql.php +++ /dev/null @@ -1,159 +0,0 @@ - - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -/** - * @file - * @brief Class to manage distribution keys for SQL. - * - */ -require_once NOALYSS_INCLUDE.'/class_noalyss_sql.php'; - - -/** - * @brief Manage the table key_distribution. - */ -class Anc_Key_SQL extends Noalyss_SQL -{ - - function __construct($p_cn, $p_id = -1) - { - $this->table = "public.key_distribution"; - $this->primary_key = "kd_id"; - - $this->name = array( - "id" => "kd_id", - "name"=>"kd_name", - "description"=>"kd_description" - ); - - $this->type = array( - "kd_id" => "numeric", - "kd_name" => "text", - "kd_description" => "text" - ); - - $this->default = array( - "kd_id" => "auto" - ); - // PHPUNIT seems to have a problem with this line - //global $cn; - - parent::__construct($p_cn, $p_id); - } - -} -/** - * @brief manage table key_distribution_ledger - */ -class Anc_Key_Ledger_SQL extends Noalyss_SQL -{ - function __construct(&$p_cn, $p_id = -1) - { - $this->table = "public.key_distribution_ledger"; - $this->primary_key = "kl_id"; - - $this->name = array( - "id" => "kl_id", - "key"=>"kd_id", - "ledger"=>"jrn_def_id" - ); - - $this->type = array( - "kl_id" => "numeric", - "kd_id" => "numeric", - "jrn_def_id" => "numeric" - ); - - $this->default = array( - "kl_id" => "auto" - ); - // PHPUNIT seems to have a problem with this line - //global $cn; - - parent::__construct($p_cn, $p_id); - } -} -/** - * @brief manage table key_distribution_detail - */ -class Anc_Key_Detail_SQL extends Noalyss_SQL -{ - function __construct(&$p_cn, $p_id = -1) - { - - $this->table = "public.key_distribution_detail"; - $this->primary_key = "ke_id"; - - $this->name = array( - "id" => "ke_id", - "key"=>"kd_id", - "row"=>"ke_row", - "percent"=>"ke_percent" - ); - - $this->type = array( - "ke_id" => "numeric", - "kd_id" => "numeric", - "ke_row" => "numeric", - "ke_percent" => "numeric" - ); - - $this->default = array( - "ke_id" => "auto" - ); - // PHPUNIT seems to have a problem with this line - //global $cn; - - - parent::__construct($p_cn, $p_id); - } -} -/** - * @brief manage table key_distribution_activity - */ -class Anc_Key_Activity_SQL extends Noalyss_SQL -{ - function __construct($p_cn, $p_id = -1) - { - $this->table = "public.key_distribution_activity"; - $this->primary_key = "ka_id"; - - $this->name = array( - "id" => "ka_id", - "detail"=>"ke_id", - "activity"=>"po_id", - "plan"=>"pa_id" - ); - - $this->type = array( - "ka_id" => "numeric", - "ke_id" => "numeric", - "po_id" => "numeric", - "pa_id" => "numeric" - - ); - - $this->default = array( - "ka_id" => "auto" - ); - - parent::__construct($p_cn, $p_id); - } -} \ No newline at end of file diff --git a/sources/include/class_anc_listing.php b/sources/include/class_anc_listing.php deleted file mode 100644 index 93c1a3f..0000000 --- a/sources/include/class_anc_listing.php +++ /dev/null @@ -1,216 +0,0 @@ -'; - $r=parent::display_form($p_string); - $r.=HtmlInput::submit('result', _('Rechercher')); - $r.= ''; - return $r; - - } - /*! - * \brief complete the object with the data in $_REQUEST - */ - - function get_request() - { - parent::get_request(); - $this->pa_id=(isset($_REQUEST['pa_id']))?$_REQUEST['pa_id']:""; - } - /*! - * \brief compute the html display - * - * - * \return string - */ - - function display_html() - { - $idx=0; - $r=""; - //---Html - $array=$this->load(); - if ( is_array($array) == false || empty($array) ) - { - return 0; - } - $r.= ''; - $r.= ''. - ''. - ''. - ''. - ''. - th(_('Description')). - ''. - ''. - ''. - ''. - ''; - foreach ( $array as $row ) - { - $class=($idx%2==0)?'even':'odd'; - $idx++; - $r.= ''; - $detail=($row['jr_id'] != null)?HtmlInput::detail_op($row['jr_id'],$row['jr_internal']):''; - $post_detail=($row['j_poste'] != null)?HtmlInput::history_account($row['j_poste'],$row['j_poste']):''; - $card_detail=($row['f_id'] != null)?HtmlInput::history_card($row['f_id'],$row['qcode']):''; - - $r.= - ''. - td($post_detail). - td($card_detail). - ''. - ''. - td($row['jr_comment']). - ''. - ''. - ''; - $r.= ''; - } - $r.= '
      '._('Date').''._('Poste').''._('Quick_code').''._('Analytique').''._('libelle').''._('Num.interne').''._('Montant').''._('D/C').'
      '.$row['oa_date'].''.h($row['po_name']).''.h($row['oa_description']).''.$detail.''.nbm($row['oa_amount']).''.(($row['oa_debit']=='f')?'CREDIT':'DEBIT').'
      '; - return $r; - } - /*! - * \brief load the data from the database - * - * \return array - */ - function load() - { - $op=new Anc_Operation ($this->db); - $op->pa_id=$this->pa_id; - $array=$op->get_list($this->from,$this->to,$this->from_poste,$this->to_poste); - if (! $array ) - { - $this->has_data=0; - } - else - { - $this->has_data=count($array); - } - return $array; - } - /*! - * \brief Compute the csv export - * \return string with the csv - */ - - function display_csv() - { - $array=$this->load($this->from,$this->to,$this->from_poste,$this->to_poste); - if ( empty($array) == true ) - { - return $array; - - } - $r=""; - foreach ( $array as $row) - { - // the name and po_id - $r.=sprintf('"%s";',$row['oa_date']); - $r.=sprintf('"%s";',$row['j_poste']); - $r.=sprintf('"%s";',$row['qcode']); - $r.=sprintf('"%s";',$row['po_name']); - $r.=sprintf('"%s";',$row['oa_description']); - $r.=sprintf('"%s";',$row['oa_description']); - - $r.=sprintf("%12.2f;",$row['oa_amount']); - $r.=sprintf("'%s'",(($row['oa_debit']=='f')?'CREDIT':'DEBIT')); - $r.="\r\n"; - } - return $r; - - } - - /*! - * \brief show the export button to pdf and CSV - * \param $p_string string containing some HTML tag as hidden field - * \param - * \param - * - * - * \return string containing the html code - */ - function show_button($p_string='') - { - $r=""; - $submit=HtmlInput::submit('',''); - $hidden=new IHidden(); - /* for the export in PDF - * Not yet needed, the html print should be enough - $r.= '
      '; - $r.= $p_string; - $r.= dossier::hidden(); - $r.= $hidden->input("to",$this->to); - $r.= $hidden->input("from",$this->from); - $r.= $hidden->input("pa_id",$this->pa_id); - $r.= $hidden->input("from_poste",$this->from_poste); - $r.= $hidden->input("to_poste",$this->to_poste); - $r.=HtmlInput::submit('bt_pdf',"Export en PDF"); - $r.= '
      '; - */ - - $r.= '
      '; - $r.= HtmlInput::hidden("to",$this->to); - $r.= HtmlInput::hidden("from",$this->from); - $r.= HtmlInput::hidden("pa_id",$this->pa_id); - $r.= HtmlInput::hidden("from_poste",$this->from_poste); - $r.= HtmlInput::hidden("to_poste",$this->to_poste); - $r.=HtmlInput::hidden('act','CSV:AncList'); - $r.=HtmlInput::hidden('ac',$_REQUEST['ac']); - $r.= $p_string; - $r.= dossier::hidden(); - $r.=HtmlInput::submit('bt_csv',"Export en CSV"); - $r.= '
      '; - return $r; - - } - /*! - * \brief debugging and test function for dev. only - * \param - * \param - * \param - * - * - * \return - */ - static function test_me() - { - } -} diff --git a/sources/include/class_anc_operation.php b/sources/include/class_anc_operation.php deleted file mode 100644 index 20c90cc..0000000 --- a/sources/include/class_anc_operation.php +++ /dev/null @@ -1,964 +0,0 @@ -db=$p_cn; - $this->id=$p_id; - $this->oa_jrnx_id_source=null; - $this->oa_positive='Y'; - $this->has_data=0; - $this->in_div=""; - } - /*!\brief add a row to the table operation_analytique - * \note if $this->oa_group if 0 then a sequence id will be computed for - * the oa_group, if $this->j_id=0 then it will be null - * - */ - function add($p_seq=0) - { - - if ( $this->oa_group == 0) - { - $this->oa_group=$this->db->get_next_seq('s_oa_group'); - } - - if ( $this->j_id == 0 ) - { - $this->j_id=null; - } else { - // must be the same side than the operation - if ( $this->oa_jrnx_id_source == null) - { - $side=$this->db->get_value('select j_debit from jrnx where j_id=$1', - array($this->j_id)); - } else - { - $side=$this->db->get_value('select j_debit from jrnx where j_id=$1', - array($this->oa_jrnx_id_source)); - } - $this->oa_debit=$side; - } - - - // we don't save null operations - if ( $this->oa_amount == 0 || $this->po_id==-1) - return; - - if ( $this->oa_amount< 0) - { - // if negatif must be oa_positive='N' - $this->oa_positive='N'; - $this->oa_debit=($this->oa_debit=='t')?'f':'t'; - } - - $oa_row=(isset($this->oa_row))?$this->oa_row:null; - $sql="insert into operation_analytique ( - po_id, - oa_amount, - oa_description, - oa_debit, - oa_group, - j_id, - oa_date, - oa_row, - oa_jrnx_id_source, - oa_positive - ) values ($1,$2,$3,$4,$5,$6,to_date($7,'DD.MM.YYYY'),$8,$9,$10)"; - - $this->db->exec_sql($sql,array( - $this->po_id, // 1 - abs($this->oa_amount), //2 - $this->oa_description, //3 - $this->oa_debit, //4 - $this->oa_group, //5 - $this->j_id, //6 - $this->oa_date, //7 - $oa_row, //8 - $this->oa_jrnx_id_source, //8 - $this->oa_positive - )); - - } - /*!\brief delete a row from the table operation_analytique - * \note be carefull : do not delete a row when we have a group - */ - function delete() - { - $sql="delete from operation_analytique where oa_id=$1"; - - $this->db->exec_sql($sql,array($this->oa_id)); - } - - /*!\brief get a list of row from a certain periode - */ - function get_list($p_from,$p_to,$p_from_poste="",$p_to_poste="") - { - $cond=""; - $cond_poste=""; - - if ($p_from!="") - $cond="and (jr_date >= to_date('$p_from','DD.MM.YYYY') or oa_date >= to_date('$p_from','DD.MM.YYYY') )"; - if ( $p_to!="" ) - $cond.="and (jr_date <=to_date('$p_to','DD.MM.YYYY') or oa_date <=to_date('$p_to','DD.MM.YYYY')) "; - - if ($p_from_poste != "" ) - $cond_poste=" and upper(po_name) >= upper('".$p_from_poste."')"; - if ($p_to_poste != "" ) - $cond_poste.=" and upper(po_name) <= upper('".$p_to_poste."')"; - $pa_id_cond=""; - if ( isset ( $this->pa_id) && $this->pa_id !='') - $pa_id_cond= "pa_id=".$this->pa_id." and"; - $sql=" - - select oa_id, - po_name, - oa_description, - po_description, - oa_debit, - (case when jr_date is not null then to_char(jr_date,'DD.MM.YYYY') else to_char(oa_date,'DD.MM.YYYY') end ) as oa_date, - oa_amount, - oa_group, - j_id , - jr_internal, - jr_id, - jr_comment, - j_poste, - jrnx.f_id, - ( select ad_value from fiche_Detail where f_id=jrnx.f_id and ad_id=23) as qcode, - jr_pj_number - from operation_analytique as B join poste_analytique using(po_id) - left join jrnx using (j_id) - left join jrn on (j_grpt=jr_grpt_id) - where $pa_id_cond oa_amount <> 0.0 $cond $cond_poste - order by jr_date,oa_group,oa_debit desc,oa_id"; - - $RetSql=$this->db->exec_sql($sql); - $array=Database::fetch_all($RetSql); - return $array; - } - - /*\brief show the HTML table for the operation - */ - function html_table($p_from) - { - if ($p_from=="") - { - $from=""; - $to=""; - } - else - { - $p=new Periode($this->db); - list($from,$to)=$p->get_date_limit($p_from); - } - - $array=$this->get_list($from,$to); - if ( empty($array) ) - return "Pas d'enregistrement trouvé"; - - // navigation_bar - $step=$_SESSION['g_pagesize']; - $page=(isset($_GET['offset']))?$_GET['page']:1; - $offset=(isset($_GET['offset']))?$_GET['offset']:0; - $bar=navigation_bar($offset+1,count($array),$step,$page); - - if ( $step !=-1) - $view=array_splice($array,$offset,$step); - else - $view=$array; - - $gDossier=dossier::id(); - $ret=""; - $ret.=$bar; - - $count=0; - $group=0; - $oldgroup=0; - $oldjrid=0; - - foreach ($view as $row) - { - $group=$row['oa_group']; - if ( $group !=$oldgroup ) - { - if ( $oldgroup!=0 ) - { - - $efface=new IButton(); - $efface->javascript="anc_remove_operation(".$gDossier.",".$oldgroup.")"; - $efface->name="Efface"; - $efface->label="Efface"; - $ret.="".$efface->input().""; - - $this->oa_group=$oldgroup; - $jr_id=$this->get_jrid(); - - if ( $jr_id != 0) - { - // get the old jr_id - $detail=new IButton(); - $detail->javascript="viewOperation($jr_id,$gDossier)"; - $detail->name="Detail"; - $detail->label="Detail"; - $ret.="".$detail->input().""; - } - $ret.=''; - - } - $ret.=''; - - $ret.="". - td($row['oa_date']). - "". - td(); - - $ret.="". - - $oldgroup=$group; - - } - - $class=($count%2==0)?"odd":"even"; - $count++; - $cred= ( $row['oa_debit'] == 'f')?"CREDIT":"DEBIT"; - $ret.=""; - $ret.= ""; - - $ret.=td(h($row['po_description'])); - - $ret.='". - "". - - ""; - } - - - $efface=new IButton(); - $efface->javascript="anc_remove_operation("."$gDossier,".$oldgroup.")"; - $efface->name="Efface"; - $efface->label="Efface"; - $ret.=""; - // get the old jr_id - $this->oa_group=$oldgroup; - $jr_id=$this->get_jrid(); - if ( $jr_id != 0 ) - { - $detail=new IButton(); - $detail->javascript="modifyOperation($jr_id,'".$gDossier."')"; - $detail->name="Detail"; - $detail->label="Detail"; - $ret.=""; - } - $ret.='
      ". - HtmlInput::detail_op($row['jr_id'], h($row['oa_description']." ".$row['jr_pj_number'])). - "". - "Groupe id : ".$row['oa_group']. - "
      ". - h($row['po_name']). - "'. nbm($row['oa_amount']). - "". - $cred. - "
      ".$efface->input()."".$detail->input()."
      '; - $ret.=$bar; - return $ret; - } - /*!\brief retrieve an operation thanks a jrnx.j_id - * \param the jrnx.j_id - * \return null if nothing is found other an array - */ - function get_by_jid($p_jid) - { - $array=array(); - $a_plan=$this->db->get_array('select pa_id from plan_analytique order by pa_id'); - $res=array(); - /* - * For one oa_row - */ - $a_rowcount=$this->db->get_array("select distinct oa_row " - ." from operation_analytique where j_id=$1 order by oa_row", array($p_jid)); - - for ($i=0; $idb->get_array(' - select distinct oa_id, - po_id, - oa_amount, - oa_description, - oa_debit, - j_id, - oa_group, - oa_date, - pa_id, - oa_row, - oa_positive - from operation_analytique join poste_analytique using (po_id) - where - j_id=$1 and oa_row = $2 - order by j_id,oa_row', - array($p_jid, $a_rowcount[$i]['oa_row'])); - - // the first row we found will be the template - $template=$a_existing[0]; - /* - * For each plan - */ - for ($j=0; $jdb->get_array(' - select distinct oa_id, - po_id, - oa_amount, - oa_description, - oa_debit, - j_id, - oa_group, - oa_date, - pa_id, - oa_row, - oa_positive - from operation_analytique join poste_analytique using (po_id) - where - j_id=$1 and oa_row = $2 and pa_id=$3', array($p_jid, - $a_rowcount[$i]['oa_row'], - $a_plan[$j]['pa_id'] - ) - ); - if (count($a_fetch)==0) - { - $a_fetch=$template; - $a_fetch['pa_id']=$a_plan[$j]['pa_id']; - $a_fetch['po_id']=-1; - $a_fetch['oa_id']=''; - $res[]=$a_fetch; - } - else - if (count($a_fetch)==1) - { - $res[]=$a_fetch[0]; - } - } - } - - foreach ($res as $row) - { - $a=new Anc_Operation($this->db); - foreach ($row as $attr=> $value) - { - $a->$attr=$row[$attr]; - } - $array[]=clone $a; - } - - - return $array; - } - - /*!\brief modify an op from modify_op.php - * - */ - function update_from_jrnx($p_po_id) - { - $a=$this->get_by_jid($this->j_id); - if ( $a == null ) - { - // retrieve data from jrnx - $sql="select jr_date,j_montant,j_debit from jrnx ". - " join jrn on (jr_grpt_id = j_grpt) ". - "where j_id=".$this->j_id; - $res=$this->db->exec_sql($sql); - if (Database::num_row($res) == 0 ) return; - $row=Database::fetch_array($res,0); - $this->oa_amount=$row['j_amount']; - $this->oa_date=$row['jr_date']; - $this->oa_debit=$row['j_debit']; - $this->oa_description=$row['jr_comment']; - $this->add(); - } - else - { - foreach ($a as $row ) - { - if ( $row->pa_id == $this->pa_id ) - { - $row->po_id=$p_po_id; - $row->update(); - } - } - } - } - /*!\brief retrieve the jr_id thanks the oa_group */ - function get_jrid() - { - $sql="select distinct jr_id from jrn join jrnx on (j_grpt=jr_grpt_id) join operation_analytique using (j_id) where j_id is not null and oa_group=".$this->oa_group; - $res=$this->db->exec_sql($sql); - if ( Database::num_row($res) == 0 ) return 0; - $ret=Database::fetch_all($res); - return $ret[0]['jr_id']; - } - /*\brief this function get the balance for a certain period - *\param $p_from from date (accountancy period) - *\param $p_to to dat (accountancy period) - *\param $p_plan_id the plan id - */ - function get_balance($p_from,$p_to,$p_plan_id) - { - // for the operation connected to jrnx - $cond=sql_filter_per($this->db,$p_from,$p_to,'p_id','j_date'); - $sql="select oa_id, po_id, oa_amount, oa_debit, j_date from jrnx join operation_analytique using (j_id) - join poste_analytique using (po_id) - where - $cond and j_id is not null and pa_id=$p_plan_id"; - - // OD - $cond=sql_filter_per($this->db,$p_from,$p_to,'p_id','oa_date'); - $sql="union select oa_id, po_id, oa_amount, oa_debit,oa_date from - operation_analytique - join poste_analytique using (po_id) - where j_id is null and - $cond and pa_id=$p_plan_id "; - try - { - $res=$this->db->exec_sql($sql); - $array=Database::fetch_all($res); - } - catch (Exception $e) - { - var_dump($e); - } - } - /*!\brief display the form for PA - *\param $p_array contains POST (or GET) data (val[] hplan[][] op[]) - * \param $p_null = 1 if PA optional otherwise 0 mandatory - * \param $p_mode == form 1 ==> read/write otherwise 0==>readonly - * \param $p_seq number of the row - * \param $p_amount amount - * \param $p_id operation is detailled in a HTML popup, if several - * are opened, the tableid MUST be different. So we need to use a new parameter - * \param $p_add_button true, show the button, false don't display them - * \see save_form_plan - @note - - op is an array containing the line number - - pa_id is an array of the existing array - - hplan is an array of the POSTE ANALYTIQUE id used, the size of hplan from 0 to x, - x can be bigger than the number of plan id - - val contains the amount by row inside the table. One operation (j_id) you can have several rows - @code - 0 => - array - 'op' => int 200 - 'pa_id' => - array - 0 => string '14' (length=2) - 1 => string '15' (length=2) - 'hplan' => - array - 1 => - array - 0 => string '25' (length=2) - 1 => string '26' (length=2) - 'val' => - array - 1 => - array - 0 => string '100.0000' (length=8) - - @endcode - */ - function display_form_plan($p_array,$p_null,$p_mode,$p_seq,$p_amount,$p_id='',$p_add_button=true) - { - if ( $p_array != null) - extract ($p_array); - $result=""; - $plan=new Anc_Plan($this->db); - $a_plan=$plan->get_list(" order by pa_id "); - if ( empty ($a_plan) ) return ""; - $table_id="t".$p_seq; - $hidden=new IHidden(); - - $readonly=($p_mode==1)?false:true; - - $result.=$hidden->input('amount_'.$table_id,$p_amount); - if ( $p_mode==1 ) - $result.=''; - else - $result.='
      '; - $result.="".$plan->header().""; - - /* compute the number of rows */ - $nb_row=(isset($val[$p_seq]))?count($val[$p_seq]):1; - $count=0; - - $remain=abs($p_amount); - $ctrl_remain="remain".$this->in_div.$table_id; - - for ( $i=0; $i < $nb_row;$i++) - { - $result.=''; - - foreach ($a_plan as $r_plan) - { - - $array=$this->db->make_array( - "select po_id as value,". - " html_quote(po_name) as label from poste_analytique ". - " where pa_id = ".$r_plan['id']. - " order by po_name",$p_null); - $select =new ISelect("hplan[".$p_seq."][]",$array); - $select->table=0; - // view only or editables - if ( $p_mode==1 ) - { - // editable - $select->readonly=false; - if ( isset($hplan) && isset($hplan[$p_seq][$count]) ){ - $select->selected=$hplan[$p_seq][$count]; - - } - } - else - { - if ( isset($hplan) && isset($hplan[$p_seq][$count]) ){ - $select->selected=$hplan[$p_seq][$count]; - } - // view only - $select->readOnly=true; - } - if ($p_mode==1) - $result.=''; - else - $result.=''; - $count++; - - - } - $value=new INum(); - $value->javascript='onchange="format_number(this);anc_refresh_remain(\''.$this->in_div.$table_id.'\',\''.$p_seq.'\')"'; - $value->name="val[".$p_seq."][]"; - $value->size=6; - $value->value=(isset($val[$p_seq][$i]))?$val[$p_seq][$i]:abs($p_amount); - $value->readOnly=($p_mode==1)?false:true; - $remain=bcsub($remain,$value->value); - $result.=''; - - $result.=""; - } - - $result.="
      montant
      '.$select->input().''.$select->display().''.$value->input().'
      "; - - if ($p_add_button && $p_mode == 1) - { - $style_remain=($remain==0)?'style="color:green"':' style="color:red"'; - $result.=" Reste à imputer = ". - ''. - $remain.''; - // add a button to add a row - $button=new IButton(); - $button->javascript="add_row('".$p_id."$table_id',$p_seq);"; - $button->name="js".$p_id.$p_seq; - $button->label=_("Nouvelle ligne"); - - $result.="
      ".$button->input(); - /** - * Add a button for distribution key - * - */ - $ledger=HtmlInput::default_value_post("p_jrn", 0); - if ($ledger==0) { - $ledger=$this->db->get_value('select j_jrn_def from jrnx where j_id=$1',array($this->j_id)); - } - $gDossier=Dossier::id(); - $button_key=new IButton(); - $button_key->javascript="anc_key_choice(".$gDossier.",'".$p_id."$table_id',$p_amount,'".$ledger."');"; - $button_key->name="js".$p_id.$p_seq; - $button_key->label=_("Clef"); - $result .= $button_key->input(); - - } - - return $result; - } - /** - * Save the ND VAT with prorata - * - * @param $p_array usually $_POST - * @param $p_item item of the form - * @param $p_j_id jrnx.j_id concerned writing - * @param $p_nd amount nd vat - * @see Anc_Operation::save_form_plan_vat_nd - * @return type - */ - function save_form_plan_vat_nd($p_array,$p_item,$p_j_id,$p_nd) - { - bcscale(4); - extract($p_array); - if (! isset ($hplan) ) return; - - if ( ! isset(${'amount_t'.$p_item}) ) - throw new Exception ('amount not set'); - - $tot=0; - /* variable for in array - pa_id array of existing pa_id - hplan double array with the pa_id (column) - val double array by row with amount - op contains sequence - p_item is used to identify what op is concerned - */ - /* echo "j_id = $j_id p_item = $p_item hplan=".var_export($hplan[$p_item],true)." val = ".var_export($val[$p_item],true).'
      '; */ - /* for each row */ - // for ($i=0;$idb); - $op->po_id=$hplan[$p_item][$e]; - $op->oa_group=$this->oa_group; - $op->j_id=$p_j_id; - $ratio=bcdiv($val[$p_item][$row],${"amount_t".$p_item}); - $amount= bcmul($p_nd, $ratio); - $op->oa_amount=round($amount,2); - $op->oa_debit=$this->oa_debit; - $op->oa_date=$this->oa_date; - - $op->oa_description=$this->oa_description; - $op->oa_row=$row; - $op->oa_jrnx_id_source=$this->oa_jrnx_id_source; - $a_Anc_Operation[]=clone $op; - } - $idx_pa_id++; - } - $nb_op=count($a_Anc_Operation); - bcscale(2); - for ($i=0;$i<$nb_op;$i++) - { - $tot=bcadd($tot,$a_Anc_Operation[$i]->oa_amount); - } - if ( $tot != $p_nd ) - { - $diff= bcsub($tot, $p_nd); - $a_Anc_Operation[0]->oa_amount=bcsub($a_Anc_Operation[0]->oa_amount,$diff); - } - for ($i=0;$i<$nb_op;$i++) - { - $a_Anc_Operation[$i]->add(); - } - } - /*!\brief it called for each item, the data are taken from $p_array - * data and set before in this. - * \param $p_item if the item nb for each item (purchase or selling - * merchandise) - * \param $p_array structure - * \verbatim - nb_tA A is the number of the item it contains the number of - rows of CA for this card - valAlR amount for the CA (item A row R) - ta_AoCrow_R contains the value of the pa_id and po_id for this - row with the form pa_id_po_id %d_%d - *\endverbatim - * \attention The idea is one j_id matches several oa_id, - * serveral data are set before the call : - * -j_id - * -oa_debit - * -oa_group - * -oa_date - * -oa_description - * - */ - function save_form_plan($p_array,$p_item,$p_j_id) - { - extract($p_array); - if (! isset ($hplan) ) return; - /* variable for in array - pa_id array of existing pa_id - hplan double array with the pa_id (column) - val double array by row with amount - op contains sequence - p_item is used to identify what op is concerned - */ - /* echo "j_id = $j_id p_item = $p_item hplan=".var_export($hplan[$p_item],true)." val = ".var_export($val[$p_item],true).'
      '; */ - /* for each row */ - // for ($i=0;$idb); - $op->po_id=$hplan[$p_item][$e]; - $op->oa_group=$this->oa_group; - $op->j_id=$p_j_id; - $op->oa_amount=$val[$p_item][$row]; - $op->oa_debit=$this->oa_debit; - $op->oa_date=$this->oa_date; - - $op->oa_description=$this->oa_description; - $op->oa_row=$row; - $op->add(); - } - $idx_pa_id++; - } - // } - } - - /** - *@brief save a whole form from a update box - *@param $p_array for ALL j_id - *@return - *@note - *@see save_form_plan to_request - @code - - @endcode - */ - function save_update_form($p_array) - { - extract($p_array); - for ($i = 0; $i < count($op); $i++) - { - /* clean operation_analytique */ - $this->db->exec_sql('delete from operation_analytique where j_id=$1', array($op[$i])); - - /* get missing data for adding */ - $a_missing = $this->db->get_array("select to_char(jr_date,'DD.MM.YYYY') - as mdate,j_montant,j_debit,jr_comment ,j_poste - from jrnx join jrn on (j_grpt=jr_grpt_id) where j_id=$1", array($op[$i])); - $missing = $a_missing[0]; - - $this->oa_description = $missing['jr_comment']; - $this->j_id = $op[$i]; - $group = $this->db->get_next_seq("s_oa_group"); /* for analytic */ - $this->oa_group = $group; - $this->oa_date = $missing['mdate']; - $this->save_form_plan($p_array, $i, $op[$i]); - - // There is ND VAT amount - $a_nd = $this->db->get_array('select j_id from operation_analytique - where oa_jrnx_id_source=$1', array($op[$i])); - if (count($a_nd) > 0) - { - // for each ND VAT amount - for ($e=0;$edb->exec_sql('delete from operation_analytique where j_id=$1', array($a_nd[$e]['j_id'])); - /* get missing data for adding */ - $a_missing_vat = $this->db->get_array("select to_char(jr_date,'DD.MM.YYYY') as mdate,j_montant,j_debit,jr_comment from jrnx join jrn on (j_grpt=jr_grpt_id) where j_id=$1", array($a_nd[$e]['j_id'])); - $missing_vat = $a_missing_vat[0]; - $this->oa_debit = 't'; - $this->oa_description = $missing_vat['jr_comment']; - $this->j_id = $op[$i]; - $group = $this->db->get_next_seq("s_oa_group"); /* for analytic */ - $this->oa_group = $group; - $this->oa_date = $missing_vat['mdate']; - $this->oa_jrnx_id_source=$op[$i]; - $p_array['amount_t'.$i]=$missing['j_montant']; - $this->save_form_plan_vat_nd($p_array, $i, $a_nd[$e]['j_id'],$missing_vat['j_montant']); - } - } - } - } - - /*\brief transform a array of operation into a array usage by - *display_form_plan & save_form_plan - *\param $p_array array of operation - *\param $p_line line - *\return an array complying with \see save_form_plan - */ - function to_request ($p_array,$p_line) - { - $result=array(); - $result[]=array('op'=>$this->j_id); - $pa_id=array(); - - /* First add the pa_id */ - for ($i=0;$i < count($p_array);$i++) - { - if ( in_array($p_array[$i]->pa_id,$pa_id)==false) - $pa_id[]=$p_array[$i]->pa_id; - } - $result['pa_id']=$pa_id; - - /* add the hplan */ - $seq=0; - for ($i=0;$i < count($p_array);$i++) - { - $hplan[$p_line][$i]=$p_array[$i]->po_id; - } - $result['hplan']=$hplan; - /* Add the amount */ - $idx_pa=0; - $jrn_def=$this->db->get_value('select jrn_def_type from jrnx join jrn_def on (j_jrn_def=jrn_def_id) where j_id=$1',array($this->j_id)); - for ($i=0;$i < count($p_array);$i++) - { - - /* - * For the bank, negatif are always on the debit and positif on the credit - */ - if ( $jrn_def != 'FIN') - { - $val[$p_line][$p_array[$i]->oa_row]=($p_array[$i]->oa_positive=='Y')?$p_array[$i]->oa_amount:($p_array[$i]->oa_amount*(-1)); - } - else - { - $val[$p_line][$p_array[$i]->oa_row]=$p_array[$i]->oa_amount; - } - } - $result['val']=$val; - return $result; - } - /*! - * \brief delete from operation_analytique - * \param $p_jid the operation_analytique.j_id field - * - * \return none - */ - function delete_by_jid($p_jid) - { - $sql="delete from operation_analytique where j_id=$p_jid"; - $this->db->exec_sql($sql); - } - /*\brief Display a table with analytic accounting in - * detail of operation - *@note $this->j_id must be set - *\param $p_mode 0 = readonly or 1=writable - *\param $p_amount amount - *\param $p_id unique id - *@see display_form_plan - *\return string to display - */ - function display_table($p_mode,$p_amount,$p_id) - { - static $seq=-1; /* first seq == 0 */ - $seq++; - - $array=$this->get_by_jid($this->j_id) ; - if ( $array != null ) - { - $request=$this->to_request($array,$seq); - return "".$this->display_form_plan($request,1,$p_mode,$seq,$p_amount,$p_id).""; - } - else - { - return ''.$this->display_form_plan(null,1,$p_mode,$seq,$p_amount,$p_id).""; - } - return ""; - - } -/////////////////////////////////////////////////////////////////////////// -// TEST -/////////////////////////////////////////////////////////////////////////// - /*\brief test the class - *\param - *\param - *\return - */ - function test_me() - { - $cn=new Database(dossier::id()); - $anco=new Anc_Operation($cn); - $j_id=200; - $anco->j_id=$j_id; - $array=$anco->get_by_jid($j_id); - $a=$anco->to_request($array,1); - echo '
      '; - echo dossier::hidden(); - echo HtmlInput::hidden('j_id',$j_id); - echo HtmlInput::hidden('test_select',$_REQUEST['test_select']); - echo $anco->display_table(1,15002,0); - echo ''; - echo '
      '; - if ( isset($_REQUEST['save'])) - { - echo "to_save"; - var_dump($_REQUEST); - } - var_dump($a); - - } - -} diff --git a/sources/include/class_anc_plan.php b/sources/include/class_anc_plan.php deleted file mode 100644 index ab6646b..0000000 --- a/sources/include/class_anc_plan.php +++ /dev/null @@ -1,248 +0,0 @@ -db=$p_cn; - $this->id=$p_id; - $this->name=""; - $this->description=""; - $this->get(); - } - /*!\brief get the list of all existing PA - * \return an array of PA (not object) - * - */ - function get_list($p_order=" order by pa_name") - { - $array=array(); - $sql="select pa_id as id,pa_name as name,". - "pa_description as description from plan_analytique $p_order"; - $ret=$this->db->exec_sql($sql); - $array=Database::fetch_all($ret); - return $array; - } - - function get() - { - if ( $this->id==0) return; - - $sql="select pa_name,pa_description from plan_analytique where pa_id=".$this->id; - $ret= $this->db->exec_sql($sql); - if ( Database::num_row($ret) == 0) - { - return; - } - $a= Database::fetch_array($ret,0); - $this->name=$a['pa_name']; - $this->description=$a['pa_description']; - - } - - function delete() - { - if ( $this->id == 0 ) return; - $this->db->exec_sql("delete from plan_analytique where pa_id=".$this->id); - } - - function update() - { - if ( $this->id==0) return; - $name=sql_string($this->name); - if ( strlen($name) == 0) - return; - - $description=sql_string($this->description); - $this->db->exec_sql("update plan_analytique set pa_name=$1, - pa_description=$2 where pa_id=$3",array($name,$description,$this->id)); - } - - function add() - { - $name=sql_string($this->name); - if ( strlen($name) == 0) - return; - if ( $this->isAppend() == false) return; - $description=sql_string($this->description); - $this->db->exec_sql("insert into plan_analytique(pa_name,pa_description)". - " values (". - "'".$name."',". - "'".$description."')"); - $this->id=$this->db->get_current_seq('plan_analytique_pa_id_seq'); - - } - function form() - { - - $wName=new IText('pa_name',$this->name); - - $wName->table=1; - $wDescription=new IText('pa_description',$this->description); - $wDescription->table=1; - $wId=new IHidden("pa_id",$this->id); - $ret=""; - $ret.=''.td(_('Nom')).$wName->input().''; - $ret.="".td(_('Description')).$wDescription->input().""; - $ret.="
      "; - $ret.=$wId->input(); - return $ret; - } - function isAppend() - { - $count=$this->db->get_value("select count(pa_id) from plan_analytique"); - - if ( $count > 10 ) - return false; - else - return true; - } - /*!\brief get all the poste related to the current - * Analytic plan - * \return an array of Poste_analytic object - */ - function get_poste_analytique($p_order="") - { - $sql="select po_id,po_name from poste_analytique where pa_id=".$this->id." $p_order"; - $r=$this->db->exec_sql($sql); - $ret=array(); - if ( Database::num_row($r) == 0 ) - return $ret; - - $all=Database::fetch_all($r); - foreach ($all as $line) - { - $obj=new Anc_Account($this->db,$line['po_id']); - $obj->get_by_id(); - $ret[]=clone $obj; - } - return $ret; - } - /*!\brief show the header for a table for PA - * \return string like name... - */ - function header() - { - $res=""; - $a_plan=$this->get_list(" order by pa_id"); - if ( empty($a_plan)) return ""; - foreach ($a_plan as $r_plan) - { - $res.="".h($r_plan['name']).""; - } - return $res; - } - function count() - { - $a=$this->db->count_sql("select pa_id from plan_analytique"); - return $a; - } - function exist() - { - $a=$this->db->count_sql("select pa_id from plan_analytique where pa_id=". - Database::escape_string($this->pa_id)); - - return ($a==0)?false:true; - - } - /** - *@brief return an HTML string containing hidden input type to - * hold the differant PA_ID - *@param $p_array contains a array, it is the result of the fct - * Anc_Plan::get_list - *@return html string - *@see Anc_Plan::get_list - */ - static function hidden($p_array) - { - $r=''; - for ($i_anc=0;$i_anc Plan analytique : test"; - echo "clean"; - $cn->exec_sql("delete from plan_analytique"); - - $p=new Anc_Plan($cn); - echo "

      Add

      "; - $p->name="Nouveau 1"; - $p->description="C'est un test"; - echo "Add
      "; - $p->add(); - $p->name="Nouveau 2"; - $p->add(); - $pa_id=$p->id; - echo $p->id."/"; - $p->name="Nouveau 3"; - $p->add(); - echo $p->id."/"; - - - $p->name="Nouveau 4"; - $p->add(); - echo $p->id; - - echo "

      get

      "; - $p->get(); - var_dump($p); - echo "

      Update

      "; - $p->name="Update "; - $p->description="c'est change"; - $p->update(); - $p->get(); - var_dump($p); - echo "

      get_list

      "; - $a=$p->get_list(); - var_dump($a); - echo "

      delete

      "; - $p->delete(); - - - } -} - -?> diff --git a/sources/include/class_anc_print.php b/sources/include/class_anc_print.php deleted file mode 100644 index f9fc3e5..0000000 --- a/sources/include/class_anc_print.php +++ /dev/null @@ -1,224 +0,0 @@ -db=$p_cn; - $this->from=""; - $this->to=""; - $this->from_poste=""; - $this->to_poste=""; - $this->has_data=0; - - } - /*! - * \brief complete the object with the data in $_REQUEST - */ - function get_request() - { - if ( isset($_REQUEST['from'])) - $this->from=$_REQUEST['from']; - - if ( isset($_REQUEST['to'])) - $this->to=$_REQUEST['to']; - - if ( isset($_REQUEST['from_poste'])) - $this->from_poste=$_REQUEST['from_poste']; - - if ( isset($_REQUEST['to_poste'])) - $this->to_poste=$_REQUEST['to_poste']; - if ( isset($_REQUEST['pa_id'])) - $this->pa_id=$_REQUEST['pa_id']; - else - $this->pa_id=""; - - } - /*! - * \brief Compute the form to display - * \param $p_hidden hidden tag to be included (gDossier,...) - * - * - * \return string containing the data - */ - function display_form($p_hidden="") - { - /* if there is no analytic plan return */ - $pa=new Anc_Plan($this->db); - if ( $pa->count() == 0 ) - { - echo '
      '; - echo '

      '._('Aucun plan défini').'

      '; - echo '
      '; - return; - } - - $from=new IDate('from','from'); - $from->size=10; - $from->value=$this->from; - - $to=new IDate('to','to'); - $to->value=$this->to; - $to->size=10; - - $from_poste=new IAncCard('from_poste','from_poste'); - $from_poste->size=10; - $from_poste->plan_ctl='pa_id'; - $from_poste->value=$this->from_poste; - - $to_poste=new IAncCard('to_poste','to_poste'); - $to_poste->value=$this->to_poste; - $to_poste->size=10; - - $hidden=new IHidden(); - $r=dossier::hidden(); - $r.=$hidden->input("result","1"); - - $r.=HtmlInput::request_to_hidden(array('ac')); - $r.=$p_hidden; - $plan=new Anc_Plan($this->db); - $plan_id=new ISelect("pa_id"); - $plan_id->value=$this->db->make_array("select pa_id, pa_name from plan_analytique order by pa_name"); - $plan_id->selected=$this->pa_id; - $choose_from=new IButton(); - $choose_from->name=_("Choix Poste"); - $choose_from->label=_("Recherche"); - $choose_from->javascript="onClick=search_ca(".dossier::id().",'from_poste','pa_id')"; - - - $choose_to=new IButton(); - $choose_to->name=_("Choix Poste"); - $choose_to->label=_("Recherche"); - - - $choose_to->javascript="onClick=search_ca(".dossier::id().",'to_poste','pa_id')"; - - $r.=HtmlInput::request_to_hidden(array('ac')); - ob_start(); - ?> - - - - - - - - - - -
      - - - input(); - ?> -
      - - - input(); - ?> -
      - - input(); - echo HtmlInput::infobulle(42); - ?> - - -input(); - $r.=$choose_from->input(); - $r.=_(" et l'activité ").$to_poste->input(); - $r.=$choose_to->input(); - - $r.='
      '; - return $r; - } - /*! - * \brief Set the filter (account_date) - * - * \return return the string to add to load - */ - - function set_sql_filter() - { - $sql=""; - $and=" and "; - if ( $this->from != "" ) - { - $sql.="$and a.oa_date >= to_date('".$this->from."','DD.MM.YYYY')"; - } - if ( $this->to != "" ) - { - $sql.=" $and a.oa_date <= to_date('".$this->to."','DD.MM.YYYY')"; - } - - return $sql; - - } - function check() - { - - /* - * check date - */ - if (($this->from != '' && isDate ($this->from) == 0) - || - ($this->to != '' && isDate ($this->to) == 0)) - return -1; - - return 0; - } - - -} diff --git a/sources/include/class_anc_table.php b/sources/include/class_anc_table.php deleted file mode 100644 index 877c836..0000000 --- a/sources/include/class_anc_table.php +++ /dev/null @@ -1,329 +0,0 @@ -value=array( - array('value'=>1,'label'=>'Par fiche'), - array('value'=>2,'label'=>'Par poste comptable') - ); - $icard->selected=$this->card_poste; - $r.=$icard->input(); - $r.=HtmlInput::request_to_hidden(array('ac')); - return $r; - } - - - /** - * load the data - * does not return anything but give a value to this->aheader and this->arow - */ - function load_poste() - { - $sql_from_poste=($this->from_poste!='')?" and po.po_name >= upper('".Database::escape_string($this->from_poste)."')":''; - $sql_to_poste=($this->to_poste!='')?" and po.po_name <= upper('".Database::escape_string($this->to_poste)."')":''; - $this->db->exec_sql('create temporary table table_analytic as select * from comptaproc.table_analytic_account(\''.$this->from.'\',\''.$this->to.'\')'); - - $header="select distinct po_id,po_name from table_analytic - where - pa_id=$1 ".$sql_from_poste.$sql_to_poste." order by po_name"; - $this->aheader=$this->db->get_array($header,array($this->pa_id)); - - $this->arow=$this->db->get_array("select distinct card_account,name - from table_analytic - where - pa_id=$1 ".$sql_from_poste.$sql_to_poste." order by card_account",array($this->pa_id)); - - $this->sql='select sum_amount from table_analytic where card_account=$1 and po_id=$2 and pa_id='.$this->pa_id.' '.$sql_from_poste.$sql_to_poste; - } - - /** - * load the data - * does not return anything but give a value to this->aheader and this->arow - */ - function load_card() - { - $sql_from_poste=($this->from_poste!='')?" and po.po_name >= upper('".Database::escape_string($this->from_poste)."')":''; - $sql_to_poste=($this->to_poste!='')?" and po.po_name <= upper('".Database::escape_string($this->to_poste)."')":''; - $this->db->exec_sql('create temporary table table_analytic as select * from comptaproc.table_analytic_card(\''.$this->from.'\',\''.$this->to.'\')'); - - $header="select distinct po_id,po_name from table_analytic - where - pa_id=$1 ".$sql_from_poste.$sql_to_poste." order by po_name"; - $this->aheader=$this->db->get_array($header,array($this->pa_id)); - - $this->arow=$this->db->get_array("select distinct f_id,card_account,name from table_analytic - where - pa_id=$1 ".$sql_from_poste.$sql_to_poste." order by name",array($this->pa_id)); - $this->sql='select sum_amount from table_analytic where f_id=$1 and po_id=$2 and pa_id='.$this->pa_id.' '.$sql_from_poste.$sql_to_poste; - } - /** - *@brief display the button export CSV - *@param $p_hidden is a string containing hidden items - *@return html string - */ - function show_button($p_hidden) - { - $r=""; - $r.= '
      '; - $r.= HtmlInput::hidden("act","CSV:AncTable"); - $r.= HtmlInput::hidden("to",$this->to); - $r.= HtmlInput::hidden("from",$this->from); - $r.= HtmlInput::hidden("pa_id",$this->pa_id); - $r.= HtmlInput::hidden("from_poste",$this->from_poste); - $r.= HtmlInput::hidden("to_poste",$this->to_poste); - $r.= HtmlInput::hidden("card_poste",$this->card_poste); - $r.= $p_hidden; - $r.= dossier::hidden(); - $r.=HtmlInput::submit('bt_csv',"Export en CSV"); - $r.= '
      '; - return $r; - } - function display_html() - { - bcscale(2); - if ( $this->check() != 0) - { - alert('Désolé mais une des dates données n\'est pas valide'); - return; - } - - if ( $this->card_poste=='1') - { - $this->load_card(); - - echo ''; - echo ''; - echo th('Fiche'); - foreach ($this->aheader as $h) - { - echo ''; - } - echo th('Total',' style="text-align:right"'); - echo ''; - /* - * Show all the result - */ - $tot_global=0; - for ($i=0;$iarow);$i++) - { - $tr=($i%2==0)?'':''; - echo $tr; - echo td(HtmlInput::history_card($this->arow[$i]['f_id'],$this->arow[$i]['card_account'].' '.$this->arow[$i]['name'])); - $tot_row=0; - for ($x=0;$xaheader);$x++) - { - $amount=$this->db->get_value($this->sql,array($this->arow[$i]['f_id'],$this->aheader[$x]['po_id'])); - if ($amount==null)$amount=0; - if ( isset($tot_col[$x])) - { - $tot_col[$x]=bcadd($tot_col[$x],$amount); - } - else - { - $tot_col[$x]=$amount; - } - echo td(nbm($amount),' class="num" '); - $tot_row=bcadd($tot_row,$amount); - } - echo td(nbm($tot_row),' class="num"'); - $tot_global=bcadd($tot_global,$tot_row); - echo ''; - - - } - echo ''; - echo td('Totaux'); - for ($i=0;$iaheader);$i++) - { - echo td(nbm($tot_col[$i]),' class="num"'); - } - echo td(nbm($tot_global),' class="num input_text notice" '); - echo ''; - echo '
      '.h($h['po_name']).'
      '; - } - if ( $this->card_poste=='2') - { - $this->load_poste(); - - echo ''; - echo ''; - echo th('poste comptable '); - foreach ($this->aheader as $h) - { - echo ''; - } - echo th('Total',' style="text-align:right"'); - echo ''; - /* - * Show all the result - */ - $tot_global=0; - for ($i=0;$iarow);$i++) - { - $tr=($i%2==0)?'':''; - echo $tr; - echo td(HtmlInput::history_account($this->arow[$i]['card_account'],$this->arow[$i]['card_account'].' '.$this->arow[$i]['name'])); - $tot_row=0; - for ($x=0;$xaheader);$x++) - { - $amount=$this->db->get_value($this->sql,array($this->arow[$i]['card_account'],$this->aheader[$x]['po_id'])); - if ($amount==null)$amount=0; - if ( isset($tot_col[$x])) - { - $tot_col[$x]=bcadd($tot_col[$x],$amount); - } - else - { - $tot_col[$x]=$amount; - } - echo td(nbm($amount),' class="num" '); - $tot_row=bcadd($tot_row,$amount); - } - echo td(nbm($tot_row),' class="num"'); - $tot_global=bcadd($tot_global,$tot_row); - echo ''; - - - } - echo ''; - - echo td('Totaux'); - for ($i=0;$iaheader);$i++) - { - echo td(nbm($tot_col[$i]),' class="num"'); - } - echo td(nbm($tot_global),' class="num input_text notice" '); - echo ''; - echo '
      '.h($h['po_name']).'
      '; - - } - - } - function export_csv() - { - bcscale(2); - if ( $this->check () != 0 ) {throw new Exception ( "DATE INVALIDE");} - - if ( $this->card_poste=='1') - { - $this->load_card(); - - echo '"Fiche"'; - foreach ($this->aheader as $h) - { - echo ';"'.$h['po_name'].'"'; - } - echo ';"Total"'; - printf("\r\n"); - /* - * Show all the result - */ - - for ($i=0;$iarow);$i++) - { - - printf('"%s"',$this->arow[$i]['card_account'].' '.$this->arow[$i]['name']); - $tot_row=0; - for ($x=0;$xaheader);$x++) - { - $amount=$this->db->get_value($this->sql,array($this->arow[$i]['f_id'],$this->aheader[$x]['po_id'])); - if ($amount==null)$amount=0; - if ( isset($tot_col[$x])) - { - $tot_col[$x]=bcadd($tot_col[$x],$amount); - } - else - { - $tot_col[$x]=$amount; - } - printf(";%s",nb($amount)); - $tot_row=bcadd($tot_row,$amount); - } - printf(";%s",nb($tot_row)); - printf("\r\n"); - - - } - } - if ( $this->card_poste=='2') - { - $this->load_poste(); - - echo '"Poste"'; - foreach ($this->aheader as $h) - { - echo ';"'.$h['po_name'].'"'; - } - echo ';"Total"'; - printf("\r\n"); - /* - * Show all the result - */ - - for ($i=0;$iarow);$i++) - { - - printf('"%s"',$this->arow[$i]['card_account'].' '.$this->arow[$i]['name']); - $tot_row=0; - for ($x=0;$xaheader);$x++) - { - $amount=$this->db->get_value($this->sql,array($this->arow[$i]['card_account'],$this->aheader[$x]['po_id'])); - if ($amount==null)$amount=0; - if ( isset($tot_col[$x])) - { - $tot_col[$x]=bcadd($tot_col[$x],$amount); - } - else - { - $tot_col[$x]=$amount; - } - printf(";%s",nb($amount)); - $tot_row=bcadd($tot_row,$amount); - } - printf(";%s",nb($tot_row)); - printf("\r\n"); - - - } - } - - } - -} \ No newline at end of file diff --git a/sources/include/class_anticipation.php b/sources/include/class_anticipation.php deleted file mode 100644 index e5ba8ce..0000000 --- a/sources/include/class_anticipation.php +++ /dev/null @@ -1,452 +0,0 @@ -1,"val2"=>"Seconde valeur","val3"=>0); */ - private static $variable=array ("id"=>"f_id","name"=>"f_name"); - private $cn; - var $cat; /*!< array of object categorie (forecast_cat)*/ - var $item; /*< array of object item (forecast_item) */ - /** - * @brief constructor - * @param $p_init Database object - */ - function __construct ($p_init,$p_id=0) - { - $this->cn=$p_init; - $this->f_id=$p_id; - } - public function get_parameter($p_string) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - return $this->$idx; - } - else - throw new Exception("Attribut inexistant $p_string"); - } - public function set_parameter($p_string,$p_value) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - $this->$idx=$p_value; - } - else - throw new Exception("Attribut inexistant $p_string"); - - - } - public function get_info() - { - return var_export(self::$variable,true); - } - public function verify() - { - // Verify that the elt we want to add is correct - // the f_name must be unique (case insensitive) - return 0; - } - public function save() - { - /* please adapt */ - if ( $this->get_parameter("id") == 0 ) - $this->insert(); - else - $this->update(); - } - - public function insert() - { - if ( $this->verify() != 0 ) return; - } - - public function update() -{} - - public function load() - {} - /** - *@brief Display the result of the forecast - *@param $p_periode - *@return HTML String with the code - */ - public function display() - { - bcscale(4); - $forecast=new Forecast($this->cn,$this->f_id); - $forecast->load(); - $str_name=h($forecast->get_parameter('name')); - - $start=$forecast->get_parameter('start_date'); - $end=$forecast->get_parameter('end_date'); - - if ( $start=='') throw new Exception (_('Période de début non valable')); - if ( $end=='') throw new Exception (_('Période de fin non valable')); - - $per=new Periode($this->cn,$start); - $str_start=format_date($per->first_day()); - - $per=new Periode($this->cn,$end); - $str_end=format_date($per->last_day()); - - - $r=""; - $aCat=$this->cn->get_array('select fc_id,fc_desc from forecast_cat where f_id=$1 order by fc_order',array($this->f_id)); - $aItem=array(); - $aReal=array(); - $poste=new Acc_Account_Ledger($this->cn,0); - $fiche=new Fiche($this->cn); - $aPeriode=$this->cn->get_array("select p_id,to_char(p_start,'MM.YYYY') as myear from parm_periode - where p_start >= (select p_start from parm_periode where p_id=$start) - and p_end <= (select p_end from parm_periode where p_id=$end) - order by p_start;"); - $error=array(); - for($j=0;$jcn->get_array('select fi_card,fi_account,fi_text,fi_amount,fi_debit from forecast_item where fc_id=$1 and fi_pid=0 order by fi_order ',array($aCat[$j]['fc_id'])); - $aPerMonth[$j]=$this->cn->get_array('select fi_pid,fi_card,fi_account,fi_text,fi_amount,fi_debit from forecast_item where fc_id=$1 and fi_pid !=0 order by fi_order ',array($aCat[$j]['fc_id'])); - - /* compute the real amount for periode */ - for($k=0;$kid=$aItem[$j][$k]['fi_card']; - $amount=$fiche->get_solde_detail("j_tech_per = ".$aPeriode[$l]['p_id']); - if ($aItem[$j][$k]['fi_debit']=='C' && $amount['debit']>$amount['credit']) $amount['solde']=$amount["solde"]*(-1); - if ($aItem[$j][$k]['fi_debit']=='D' && $amount['debit']<$amount['credit']) $amount['solde']=$amount["solde"]*(-1); - - } - else - { - $poste->id=$aItem[$j][$k]['fi_account']; - $aresult=Impress::parse_formula($this->cn,"OK",$poste->id,$aPeriode[$l]['p_id'],$aPeriode[$l]['p_id']); - $tmp_label=$aresult['desc']; - $amount['solde']=$aresult['montant']; - - if ( $tmp_label != 'OK') $error[]="
    27. ".$aItem[$j][$k]['fi_text'].$poste->id.'
    28. '; - } - $aReal[$j][$k][$l]=$amount['solde']; - } - } - - } - ob_start(); - require_once NOALYSS_INCLUDE.'/template/forecast_result.php'; - $r.=ob_get_contents(); - ob_end_clean(); - return $r; - } - public static function div() - { - $r=''; - return $r; - } - public function delete() - {} - /** - *@brief Display a form for modifying the name or/and the category of an existing - * anticipation - *@return html string with the form - */ - private function form_cat_mod() - { - global $g_user; - $a=new Forecast($this->cn,$this->f_id); - $a->load(); - $name=new IText('an_name'); - $name->value=$a->get_parameter("name"); - $str_name=$name->input(); - $str_action=_('Modification'); - - $start_date=new IPeriod('start_date'); - $start_date->type=ALL; - $start_date->cn=$this->cn; - $start_date->show_end_date=false; - $start_date->show_start_date=true; - $start_date->user=$g_user; - $start_date->filter_year=false; - - $end_date=new IPeriod('end_date'); - $end_date->type=ALL; - $end_date->cn=$this->cn; - $end_date->show_end_date=true; - $end_date->show_start_date=false; - $end_date->user=$g_user; - $end_date->filter_year=false; - - $start_date->value=$a->f_start_date; - $end_date->value=$a->f_end_date; - - $str_start_date=$start_date->input(); - $str_end_date=$end_date->input(); - - - $r=HtmlInput::hidden('f_id',$this->f_id); - $array=Forecast_Cat::load_all($this->cn,$this->f_id); - - for ($i=0;$ivalue=(isset ($array[$i]['fc_desc']))?$array[$i]['fc_desc']:''; - $aCat[$i]['name']=$name->input(); - - - /* category order */ - $order_name=(isset($array[$i]['fc_id']))?'fc_order'.$array[$i]['fc_id']:'fc_order_new'.$i; - $order=new IText($order_name); - $order->value=(isset($array[$i]['fc_order']))?$array[$i]['fc_order']:$i+1; - $aCat[$i]['order']=$order->input(); - } - - ob_start(); - require_once NOALYSS_INCLUDE.'/template/forecast_cat.php'; - $r.=ob_get_contents(); - ob_end_clean(); - return $r; - } - /** - *@brief Display a form for adding an new anticipation - *@return html string with the form - */ - private function form_cat_new() - { - global $g_user; - $r=""; - $str_action=_('Nouveau'); - - $name=new IText('an_name'); - $str_name=$name->input(); - - $start_date=new IPeriod('start_date'); - $start_date->type=ALL; - $start_date->cn=$this->cn; - $start_date->show_end_date=false; - $start_date->show_start_date=true; - $start_date->user=$g_user; - $start_date->filter_year=false; - - $end_date=new IPeriod('end_date'); - $end_date->type=ALL; - $end_date->cn=$this->cn; - $end_date->show_end_date=true; - $end_date->show_start_date=false; - $end_date->user=$g_user; - $end_date->filter_year=false; - - $period=$g_user->get_periode(); - $per=new Periode($this->cn,$period); - $year=$per->get_exercice(); - - list($per_start,$per_end)=$per->get_limit($year); - $start_date->value=$per_start->p_id; - $end_date->value=$per_end->p_id; - - $str_start_date=$start_date->input(); - $str_end_date=$end_date->input(); - - $aLabel=array(_('Ventes'),_('Dépense'),_('Banque')); - $aCat=array(); - - for ($i=0;$ivalue=(isset($aLabel[$i]))?$aLabel[$i]:''; - $aCat[$i]['name']=$name->input(); - - - /* category order */ - $order=new IText('fr_order'.$i); - $order->value=$i+1; - $aCat[$i]['order']=$order->input(); - } - - ob_start(); - require_once NOALYSS_INCLUDE.'/template/forecast_cat.php'; - $r.=ob_get_contents(); - ob_end_clean(); - return $r; - - } - /** - * @brief create an empty object anticipation - * @return html string with the form - */ - public function form_cat() - { - if ($this->f_id != 0) - return $this->form_cat_mod(); - else - return $this->form_cat_new(); - } - /** - *@brief display a form for modifying or add a forecast - *@return HTML code - */ - public function form_item() - { - $forecast=new Forecast($this->cn,$this->f_id); - $forecast->load(); - $str_name=$forecast->get_parameter('name'); - $str_start=$forecast->get_parameter('start_date'); - $str_end=$forecast->get_parameter('end_date'); - - - $r=""; - $str_action=_("Elements"); - $cat=new Forecast_Cat($this->cn); - $array=$cat->make_array($this->f_id); - $periode=new Periode($this->cn); - $aPeriode=$this->cn->make_array("select p_id,to_char(p_start,'MM.YYYY') as label from parm_periode - where p_start >= (select p_start from parm_periode where p_id=$str_start) - and p_end <= (select p_end from parm_periode where p_id=$str_end) - order by p_start"); - $aPeriode[]=array('value'=>0,'label'=>'Mensuel'); - $value=$this->cn->get_array("select fi_id,fi_text,fi_account,fi_card,fc_id,fi_amount,fi_debit,fi_pid ". - " from forecast_item ". - " where fc_id in (select fc_id from forecast_cat where f_id = $1)",array($this->f_id)); - $max=(count($value) < MAX_FORECAST_ITEM)?MAX_FORECAST_ITEM:count($value); - $r.=HtmlInput::hidden('nbrow',$max); - - for ($i=0;$i<$max;$i++) - { - if (isset($value[$i]['fi_id'])) - { - $r.=HtmlInput::hidden('fi_id'.$i,$value[$i]['fi_id']); - } - /* category*/ - $category=new ISelect(); - $category->name='an_cat'.$i; - $category->value=$array; - $category->selected=(isset($value[$i]["fc_id"]))?$value[$i]["fc_id"]:-1; - $aCat[$i]['cat']=$category->input(); - - /* amount */ - $amount=new INum('an_cat_amount'.$i); - $amount->value=(isset($value[$i]["fi_amount"]))?$value[$i]["fi_amount"]:0; - $aCat[$i]['amount']=$amount->input(); - - /* Accounting*/ - $account=new IPoste('an_cat_acc'.$i); - $account->set_attribute('ipopup','ipop_account'); - // $account->set_attribute('label','an_label'.$i); - $account->set_attribute('account','an_cat_acc'.$i); - $account->set_attribute('bracket',1); - $account->set_attribute('no_overwrite',1); - $account->set_attribute('noquery',1); - $account->css_size="85%"; - $account->value=(isset($value[$i]["fi_account"]))?$value[$i]["fi_account"]:""; - $aCat[$i]['account']=$account->input(); - /*Quick Code */ - $qc=new ICard('an_qc'.$i); - // If double click call the javascript fill_ipopcard - $qc->set_dblclick("fill_ipopcard(this);"); - - // This attribute is mandatory, it is the name of the IPopup - $qc->set_attribute('ipopup','ipopcard'); - - // name of the field to update with the name of the card - $qc->set_attribute('label','an_label'.$i); - - // Type of card : all - $qc->set_attribute('typecard','all'); - $qc->set_attribute('jrn',0); - $qc->extra='all'; - - // when value selected in the autcomplete - $qc->set_function('fill_data'); - if (isset($value[$i]["fi_card"])) - { - $f=new Fiche($this->cn,$value[$i]["fi_card"]); - $qc->value=$f->strAttribut(ATTR_DEF_QUICKCODE); - ; - } - - $aCat[$i]['qc']=$qc->search().$qc->input(); - /* Label */ - $label=new IText('an_label'.$i); - $label->value=(isset($value[$i]["fi_text"]))?$value[$i]["fi_text"]:""; - $aCat[$i]['name']=$label->input(); - - //Deb or Cred - $deb=new ISelect('an_deb'.$i); - $deb->selected=(isset($value[$i]["fi_debit"]))?$value[$i]["fi_debit"]:-1; - $deb->value=array(array('value'=>'D','label'=>_('Débit')), - array('value'=>'C','label'=>_('Crédit')) - ); - $aCat[$i]['deb']=$deb->input(); - //Periode - $isPeriode=new ISelect('month'.$i); - $isPeriode->value=$aPeriode; - $isPeriode->selected=(isset($value[$i]["fi_pid"]))?$value[$i]["fi_pid"]:0; - $aCat[$i]['per']=$isPeriode->input(); - } - $add_row=new IButton('add_row'); - $add_row->label=_('Ajouter une ligne'); - $add_row->javascript='for_add_row(\'fortable\')'; - $f_add_row=$add_row->input(); - ob_start(); - require_once NOALYSS_INCLUDE.'/template/forecast-detail.php'; - $r.=ob_get_contents(); - ob_end_clean(); - return $r; - } - /** - * @brief unit test - */ - static function test_me() - { - $cn=new Database(dossier::id()); - $test=new Anticipation($cn); - - } - -} - -?> diff --git a/sources/include/class_balance_age.php b/sources/include/class_balance_age.php deleted file mode 100644 index 364448b..0000000 --- a/sources/include/class_balance_age.php +++ /dev/null @@ -1,240 +0,0 @@ - - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ -require_once NOALYSS_INCLUDE.'/class_lettering.php'; - -/* * * - * @file - * @brief compute the ageing balance, currently this code is not used - * - */ - -class Balance_Age -{ - - private $cn; - - function __construct($p_cn) - { - $this->cn=$p_cn; - $this->afiche=null; - } - - function get_array_card($p_type, $p_extra="") - { - switch ($p_type) - { - case 'X': - $this->afiche=$this->cn->get_array(" - with m as (select distinct qp_supplier as f_id from quant_purchase union select qs_client from quant_sold) - select distinct fiche.f_id as f_id ,f1.ad_value as name, f3.ad_value as first_name,f2.ad_value as quick_code - from fiche - join m on (fiche.f_id=m.f_id) - join fiche_detail as f1 on (fiche.f_id=f1.f_id and f1.ad_id=1) - join fiche_detail as f2 on (fiche.f_id=f2.f_id and f2.ad_id=23) - left join fiche_detail as f3 on (fiche.f_id=f3.f_id and f3.ad_id=32) - where - fiche.fd_id=$1 - order by f1.ad_value - ", array($p_extra)); - break; - case 'U': - $fiche=new Fiche($this->cn, $p_extra); - $this->afiche[0]['f_id']=$fiche->id; - $this->afiche[0]['quick_code']=$fiche->get_quick_code(); - $this->afiche[0]['name']=$fiche->strAttribut(ATTR_DEF_NAME, 0); - $this->afiche[0]['first_name']=$fiche->strAttribut(ATTR_DEF_FIRST_NAME, 0); - break; - case 'F': - $this->afiche=$this->cn->get_array(" - select distinct qp_supplier as f_id ,f1.ad_value as name, f3.ad_value as first_name,f2.ad_value as quick_code - from quant_purchase join - fiche_detail as f1 on (qp_supplier=f1.f_id and f1.ad_id=1) - join fiche_detail as f2 on (qp_supplier=f2.f_id and f2.ad_id=23) - left join fiche_detail as f3 on (qp_supplier=f3.f_id and f3.ad_id=32) - order by f1.ad_value - "); - break; - case 'C': - $this->afiche=$this->cn->get_array(" - select distinct qs_client as f_id ,f1.ad_value as name, f3.ad_value as first_name,f2.ad_value as quick_code - from quant_sold join - fiche_detail as f1 on (qs_client=f1.f_id and f1.ad_id=1) - join fiche_detail as f2 on (qs_client=f2.f_id and f2.ad_id=23) - left join fiche_detail as f3 on (qs_client=f3.f_id and f3.ad_id=32) - order by f1.ad_value - "); - break; - default: - throw new Exception('Type invalide'); - } - } - - function display_card($p_date_start, $p_fiche, $p_let) - { - $this->get_array_card('U', $p_fiche); - $a_fiche=$this->afiche; - $nb_fiche=count($a_fiche); - require 'template/balance_aged_result.php'; - } - - function display_category($p_date_start, $p_cat, $p_let) - { - // Get all fiche from Purchase - - $this->get_array_card('X', $p_cat); - $a_fiche=$this->afiche; - $nb_fiche=count($a_fiche); - require 'template/balance_aged_result.php'; - } - - /** - * Display all the operation for the customer - * @param type $p_date_start min date of the operatin - * @param type $p_let 'unlet' only unlettered or 'let' for all - */ - function display_purchase($p_date_start, $p_let) - { - // Get all fiche from Purchase - $this->get_array_card('F'); - $a_fiche=$this->afiche; - $nb_fiche=count($a_fiche); - require 'template/balance_aged_result.php'; - } - - /** - * Display all the operation for the supplier - * @param type $p_date_start min date of the operatin - * @param type $p_let 'unlet' only unlettered or 'let' for all - */ - function display_sale($p_date_start, $p_let) - { - // Get all fiche from Purchase - $this->get_array_card('C'); - $a_fiche=$this->afiche; - $nb_fiche=count($a_fiche); - require 'template/balance_aged_result.php'; - } - - function export_csv($p_date_start, $p_let) - { - $nb_fiche=count($this->afiche); - $title=sprintf('"%s";', _('QuickCode')); - $title.=sprintf('"%s";', _('Nom')); - $title.=sprintf('"%s";', _('Prénom')); - $title.=sprintf('"%s";', _('Date')); - $title.=sprintf('"%s";', _('N° pièce')); - $title.=sprintf('"%s";', _('Interne')); - $title.=sprintf('"%s";', _('Fin')); - $title.=sprintf('"%s";', _('<30 jours')); - $title.=sprintf('"%s";', _('entre 30 et 60 jours')); - $title.=sprintf('"%s";', _('entre 60 et 90 jours')); - $title.=sprintf('"%s";', _('> 90 jours')); - $title.=sprintf("\n\r"); - $flag_title=false; - for ($i=0; $i<$nb_fiche; $i++) - { - $card=new Lettering_Card($this->cn, $this->afiche[$i]['quick_code']); - $card->set_parameter('start', $p_date_start); - $card->get_balance_ageing($p_let); - if (empty($card->content)) - continue; - if ( ! $flag_title ) { echo $title;$flag_title=true;} - $nb_row=count($card->content); - $sum_lt_30=0; - $sum_gt_30_lt_60=0; - $sum_gt_60_lt_90=0; - $sum_gt_90=0; - $sum_fin=0; - for ($j=0; $j<$nb_row; $j++) - { - $show=true; - printf('"%s";', str_replace('"', '', $this->afiche[$i]['quick_code'])); - printf('"%s";', str_replace('"', '', $this->afiche[$i]['name'])); - printf('"%s";', str_replace('"', '', $this->afiche[$i]['first_name'])); - printf('"%s";', $card->content[$j]['j_date_fmt']); - printf('"%s";', $card->content[$j]['jr_pj_number']); - printf('"%s";', $card->content[$j]['jr_internal']); - if ($card->content[$j]['jrn_def_type']=='FIN'||$card->content[$j]['jrn_def_type']=='ODS') - { - printf("%s;", nb($card->content[$j]['j_montant'])); - $sum_fin=bcadd($sum_fin, $card->content[$j]['j_montant']); - $show=false; - } - else - { - printf('0;'); - } - if ($show&&$card->content[$j]['day_paid']<=30) - { - printf("%s;", nb($card->content[$j]['j_montant'])); - $sum_lt_30=bcadd($sum_lt_30, $card->content[$j]['j_montant']); - $show=false; - } - else - { - printf('0;'); - } - - if ($show&&$card->content[$j]['day_paid']>30&&$card->content[$j]['day_paid']<=60) - { - printf("%s;", nb($card->content[$j]['j_montant'])); - $sum_gt_30_lt_60=bcadd($sum_gt_30_lt_60, $card->content[$j]['j_montant']); - } - else - { - printf('0;'); - } - - if ($show&&$card->content[$j]['day_paid']>60&&$card->content[$j]['day_paid']<=90) - { - printf("%s;", nb($card->content[$j]['j_montant'])); - $sum_gt_60_lt_90=bcadd($sum_gt_60_lt_90, $card->content[$j]['j_montant']); - } - else - { - printf('0;'); - } - if ($show&&$card->content[$j]['day_paid']>90) - { - printf("%s", nb($card->content[$j]['j_montant'])); - $sum_gt_90=bcadd($sum_gt_90, $card->content[$j]['j_montant']); - } - else - { - printf('0;'); - } - printf("\n\r"); - } - printf('"%s";', _('Totaux')); - printf('"";'); - printf('"";'); - printf('"";'); - printf('"";'); - printf('"";'); - printf('%s;', nb($sum_fin)); - printf('%s;', nb($sum_lt_30)); - printf('%s;', nb($sum_gt_30_lt_60)); - printf('%s;', nb($sum_gt_60_lt_90)); - printf('%s', nb($sum_gt_90)); - printf("\n\r"); - } - } - -} diff --git a/sources/include/class_bank.php b/sources/include/class_bank.php deleted file mode 100644 index 886c209..0000000 --- a/sources/include/class_bank.php +++ /dev/null @@ -1,58 +0,0 @@ -fiche_def_ref=FICHE_TYPE_FIN; - parent::__construct($p_cn,$p_id) ; - } - - - -} - -?> diff --git a/sources/include/class_calendar.php b/sources/include/class_calendar.php deleted file mode 100644 index 4959392..0000000 --- a/sources/include/class_calendar.php +++ /dev/null @@ -1,341 +0,0 @@ -current_date=getdate(); - $this->month=$this->current_date['mon']; - $this->day=self::$nb_day[$this->month-1]; - $this->year=$this->current_date['year']; - $this->action_div=array(); - $this->action=array(); - $this->title=array(); - - if ( $this->year % 4 == 0 && $this->month=2) - $this->day=29; - } - - /*!\brief fill the array given as parameter with the data from action_gestion - *\param $p_array array of the date of the month - * \param $p_style is either short or long, short: for a small title, long for a complete one - */ - function fill_from_action(&$p_array,$p_style) - { - global $g_user; - $profile=$g_user->get_profile(); - - $cn=new Database(dossier::id()); - $sql="select ag_id,to_char(ag_remind_date,'DD')::integer as ag_timestamp_day,ag_title,ag_hour, - coalesce(name,'interne') as str_name - ". - " from action_gestion ". - " left join vw_fiche_name on (f_id=f_id_dest) ". - " where ". - " to_char(ag_remind_date,'MM')::integer=$1 ". - " and to_char(ag_remind_date,'YYYY')::integer=$2 ". - " and ag_dest in (select p_granted from user_sec_action_profile where p_id =$3) - and ag_state IN (2, 3) - "; - - $array=$cn->get_array($sql,array($this->month,$this->year,$profile)); - for ($i=0;$iaction[$ind][]=$array[$i]['ag_id']; - $this->title[$ind][]=$array[$i]['ag_title']; - $this->hour[$ind][]=$array[$i]['ag_hour']; - $this->str_name[$ind][]=$array[$i]['str_name']; - - } - /* - * Fill foreach day - */ - if ( $p_style == "short") - { - foreach ($this->action as $day=>$aAction) - { - if ($p_array[$day]=="") { - $p_array[$day]=''." ".count($aAction)." "._("Tâches").''; - } - $this->action_div[$day]=''; - } - } - else if ( $p_style == "long") - { - foreach ($this->action as $day=>$aAction) - { - $p_array[$day].="
        "; - for ($i=0;$istr_name[$day][$i]).'→'.HtmlInput::detail_action($aAction[$i], $this->hour[$day][$i]." ".$this->title[$day][$i]).''; - } - $p_array[$day].='
      '; - } - } - } - /*!\brief fill the array given as parameter with the data from todo - *\param $p_array array of the date of the month - * \param $p_style is either short or long, short: for a small title, long for a complete one - */ - function fill_from_todo(&$p_array,$p_style) - { - $cn=new Database(dossier::id()); - if ($p_style=="short") - { - $sql="select count(*) as nb,to_char(tl_date,'DD')::integer as tl_date_day ". - " from todo_list ". - " where ". - " to_char(tl_date,'MM')::integer=$1 ". - " and to_char(tl_date,'YYYY')::integer=$2 ". - " and use_login=$3 group by to_char(tl_date,'DD')::integer "; - $array=$cn->get_array($sql,array($this->month,$this->year,$_SESSION['g_user'])); - for ($i=0;$i".h($array[$i]['nb'])." "._('Notes').''; - } - } else if ($p_style=="long") - { - $sql="select to_char(tl_date,'DD')::integer as tl_date_day,tl_title ". - " from todo_list ". - " where ". - " to_char(tl_date,'MM')::integer=$1 ". - " and to_char(tl_date,'YYYY')::integer=$2 ". - " and use_login=$3 "; - $array=$cn->get_array($sql,array($this->month,$this->year,$_SESSION['g_user'])); - for ($i=0;$i".h($array[$i]['tl_title']).''; - } - } - } - /*!\brief display a calendar after a call to Calendar::fill - *\param $p_type long or short - * - *\return HTML String - */ - function display($p_type,$p_notitle) - { - global $g_user; - if ($p_type != 'long' && $p_type != 'short') { - throw new Exception("Calendar::display, unknow type"); - } - $exercice_user=$g_user->get_exercice(); - /* day */ - $cell=array(); - for ($i=0;$i<42;$i++) - { - $cell[$i]=""; - } - $this->set_month_year(); - /* weekday */ - $week=array(_('Dimanche'),_('Lundi'),_('Mardi'),_('Mercredi'),_('Jeudi'),_('Vendredi'),_('Samedi')); - - $notitle=$p_notitle; - - $this->fill_from_action($cell,$p_type); - $this->fill_from_todo($cell,$p_type); - $wMonth=new ISelect('per'); - $cn=new Database(dossier::id()); - $wMonth->value=$cn->make_array("select p_id,to_char(p_start,'MM/YYYY') from parm_periode where p_exercice = '$exercice_user' order by p_start"); - $wMonth->selected=$this->default_periode; - $wMonth->javascript="onchange=change_month(this)"; - $wMonth->set_attribute('gDossier',dossier::id()); - $wMonth->set_attribute('type_display',$p_type); - $wMonth->set_attribute('notitle',$notitle); - $month_year=$wMonth->input().$wMonth->get_js_attr(); - ob_start(); - $zoom=($p_type=='short')?0:1; - - require_once NOALYSS_INCLUDE.'/template/calendar.php'; - - if (count($this->action_div) > 0) - { - foreach ($this->action_div as $day) - { - echo $day; - } - } - $ret=ob_get_contents(); - ob_end_clean(); - return $ret; - } - /** - *@brief set correctly the month and the year with the default_periode - */ - function set_month_year() - { - $cn=new Database(dossier::id()); - $array=$cn->get_array("select to_char(p_start,'MM') as month, to_char(p_start,'YYYY') as year ". - " from parm_periode where p_id=$1",array($this->default_periode)); - $this->month=(int)$array[0]['month']; - $this->year=(int)$array[0]['year']; - $this->day=self::$nb_day[$this->month-1]; - if ( $this->year % 4 == 0 && $this->month==2) - $this->day=29; - } - /** - *@brief get the periode from the preference of the current user - * change the value of default_periode to today - *@return $this->default_periode - */ - function get_preference() - { - global $g_user; - $cn=new Database(dossier::id()); - $today=date('d.m.Y'); - $p_id=$cn->get_value(" - select p_id from parm_periode - where - p_start <= to_date($1,'DD.MM.YYYY') - and - p_end >= to_date($1,'DD.MM.YYYY')", - array($today)); - if ( $p_id == '') - { - $p_id=$g_user->get_periode(); - } - $this->default_periode=$p_id; - return $p_id; - } - /** - *@brief set the periode to the parameter, change the value of $this->default_periode - * there is no check on the periode - */ - function set_periode($p_per) - { - $this->default_periode=$p_per; - } - /** - * @brief zoom the calendar - */ - function zoom_calendar($notitle) - { - global $g_user; - $exercice_user=$g_user->get_exercice(); - /* day */ - $cell=array(); - for ($i=0;$i<42;$i++) - { - $cell[$i]=""; - } - $this->set_month_year(); - /* weekday */ - $week=array(_('Dimanche'),_('Lundi'),_('Mardi'),_('Mercredi'),_('Jeudi'),_('Vendredi'),_('Samedi')); - - $this->fill_from_action($cell,"long"); - $this->fill_from_todo($cell,"long"); - $wMonth=new ISelect('per_div'); - $cn=new Database(dossier::id()); - $wMonth->value=$cn->make_array("select p_id,to_char(p_start,'MM/YYYY') from parm_periode where p_exercice = '$exercice_user' order by p_start"); - $wMonth->selected=$this->default_periode; - $wMonth->javascript=sprintf("onchange=calendar_zoom({gDossier:%d,invalue:'%s',outvalue:'%s',distype:'%s',notitle:%d})", - dossier::id(),'per_div','calendar_zoom_div','cal',$notitle); - $wMonth->set_attribute('gDossier',dossier::id()); - $month_year=$wMonth->input().$wMonth->get_js_attr(); - ob_start(); - $zoom=1; - $notitle=HtmlInput::default_value_get('notitle', 0); - require_once NOALYSS_INCLUDE.'/template/calendar.php'; - - if (count($this->action_div) > 0) - { - foreach ($this->action_div as $day) - { - echo $day; - } - } - $ret=ob_get_contents(); - ob_end_clean(); - return $ret; - } - /** - * Display the next events for 30 days - * todo list + action to remind - */ - function zoom_list($notitle) - { - global $g_user; - $cn=new Database(dossier::id()); - $profile=$g_user->get_profile(); - - // Get the event from now and before 30 before - // union the TODO list - $sql = " - select ag_id,ag_remind_date,to_char(ag_remind_date,'DD.MM.YY') as str_date,ag_title,ag_hour, - coalesce(name,'interne') as str_name, - case when ag_remind_date < now() then 'R' - when ag_remind_date = now() then 'N' - else 'F' - end as status, - coalesce (ag_remind_date::date,current_date) - current_date as delta_days - from action_gestion - left join vw_fiche_name on (f_id=f_id_dest) - where - ag_dest in (select p_granted from user_sec_action_profile where p_id =$1) - and ag_state IN (2, 3) - order by ag_remind_date,ag_hour - "; - $a_event=$cn->get_array($sql,array($profile)); - ob_start(); - require_once NOALYSS_INCLUDE.'/template/calendar-list.php'; - $ret=ob_get_clean(); - return $ret; - - - } - - function zoom($p_type,$p_notitle) - { - switch ($p_type) - { - case 'cal': - return $this->zoom_calendar($p_notitle); - break; - case 'list': - return $this->zoom_list($p_notitle); - break; - } - } - - static function test_me() { - - } - -} diff --git a/sources/include/class_contact.php b/sources/include/class_contact.php deleted file mode 100644 index 31bde74..0000000 --- a/sources/include/class_contact.php +++ /dev/null @@ -1,143 +0,0 @@ -fiche_def_ref=FICHE_TYPE_CONTACT; - parent::__construct($p_cn,$p_id) ; - $this->company=""; - } - /*! Summary - ************************************************** - * \brief show the default screen - * - * \param p_search (filter) - * - * \return string to display - */ - function Summary($p_search="",$p_action="",$p_sql="",$p_nothing=false) - { - $p_search=sql_string($p_search); - $extra_sql=""; - if ( $this->company != "") - { - $extra_sql="and f_id in (select f_id from fiche_detail - where ad_value=upper('".$this->company."') and ad_id=".ATTR_DEF_COMPANY.") "; - } - $url=urlencode($_SERVER['REQUEST_URI']); - $script=$_SERVER['PHP_SELF']; - // Creation of the nav bar - // Get the max numberRow - $all_contact=$this->count_by_modele($this->fiche_def_ref,$p_search,$extra_sql); - // Get offset and page variable - $offset=( isset ($_REQUEST['offset'] )) ?$_REQUEST['offset']:0; - $page=(isset($_REQUEST['page']))?$_REQUEST['page']:1; - $bar=navigation_bar($offset,$all_contact,$_SESSION['g_pagesize'],$page); - // set a filter ? - $search=""; - if ( trim($p_search) != "" ) - { - $search=" and f_id in - (select f_id from fiche_Detail - where - ad_id=1 and ad_value ~* '$p_search') "; - } - // Get The result Array - $step_contact=$this->get_by_category($offset,$search.$extra_sql.$p_sql); - - if ( $all_contact == 0 ) return ""; - $r=$bar; - $r.=' - - - - - - - - - '; - $base=$_SERVER['PHP_SELF']; - // Compute the url - $url=""; - $and="?"; - $get=$_GET; - if ( isset ($get) ) - { - foreach ($get as $name=>$value ) - { - // we clean the parameter offset, step, page and size - if ( ! in_array($name,array('f_id','detail'))) - { - $url.=$and.$name."=".$value; - $and="&"; - }// if - }//foreach - }// if - $back_url=urlencode($_SERVER['REQUEST_URI']); - if ( sizeof ($step_contact ) == 0 ) - return $r; - $idx=0; - foreach ($step_contact as $contact ) - { - $l_company=new Fiche($this->cn); - $l_company->get_by_qcode($contact->strAttribut(ATTR_DEF_COMPANY),false); - $l_company_name=$l_company->strAttribut(ATTR_DEF_NAME); - if ( $l_company_name == NOTFOUND ) $l_company_name=""; - // add popup for detail - if ( $l_company_name !="") - { - $l_company_name=HtmlInput::card_detail($contact->strAttribut(ATTR_DEF_COMPANY),$l_company_name,'style="text-decoration:underline;"'); - } - $tr=($idx%2==0)?' ':''; - $idx++; - $r.=$tr; - $qcode=$contact->strAttribut(ATTR_DEF_QUICKCODE); - $r.='"; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.="". - ""; - - $r.=""; - - } - $r.="
      Quick CodeNomPrénomSociétéTéléphoneemailFax
      '.HtmlInput::card_detail($qcode)."".$contact->strAttribut(ATTR_DEF_NAME)."".$contact->strAttribut(ATTR_DEF_FIRST_NAME)."".$l_company_name."".$contact->strAttribut(ATTR_DEF_TEL)."".$contact->strAttribut(ATTR_DEF_EMAIL)." ".$contact->strAttribut(ATTR_DEF_FAX)."
      "; - $r.=$bar; - return $r; - } - -} diff --git a/sources/include/class_customer.php b/sources/include/class_customer.php deleted file mode 100644 index 7545574..0000000 --- a/sources/include/class_customer.php +++ /dev/null @@ -1,187 +0,0 @@ -fiche_def_ref=FICHE_TYPE_CLIENT; - parent::__construct($p_cn,$p_id) ; - - } - /*! \brief Get all info contains in the view - * thanks to the poste elt (account) - */ - function get_by_account($p_poste=0) - { - $this->poste=($p_poste==0)?$this->poste:$p_poste; - $sql="select * from vw_client where poste_comptable=$1"; - $Res=$this->cn->exec_sql($sql,array($this->poste)); - if ( Database::num_row($Res) == 0) return null; - if ( Database::num_row($Res) > 1 ) throw new Exception ('Plusieurs fiches avec le même poste',1); - // There is only _one_ row by customer - $row=Database::fetch_array($Res,0); - $this->name=$row['name']; - $this->id=$row['f_id']; - $this->street=$row['rue']; - $this->cp=$row['code_postal']; - $this->country=$row['pays']; - $this->vat_number=$row['tva_num']; - - } - /*! - * \brief Get all the info for making a vat listing - * for the vat administration - * - * \param $p_year - * - * \return double array structure is - * ( j_poste,name,vat_number,amount,tva,customer(object) - * - */ - function VatListing($p_year) - { - $cond_sql=" and A.j_date = B.j_date and extract(year from A.j_date) ='$p_year'"; - /* List of customer */ - $aCustomer=$this->cn->get_array('select f_id,name,quick_code,tva_num,poste_comptable from vw_client '. - " where tva_num !='' "); - - /* Use the code */ - - // BASE ACCOUNT - // for belgium - $s=new Acc_Parm_Code($this->cn,'VENTE'); - $s->load(); - $SOLD=$s->p_value; - - $c=new Acc_Parm_Code($this->cn,'CUSTOMER'); - $c->load(); - $CUSTOMER=$c->p_value; - - $t=new Acc_Parm_Code($this->cn,'COMPTE_TVA'); - $t->load(); - $TVA=$t->p_value; - - $a_Res=array(); - /* for each customer compute VAT, Amount...*/ - foreach ($aCustomer as $l ) - { - // Seek the customer - //--- - $customer=$l['quick_code']; - $a_Res[$customer]['name']=$l['name']; - $a_Res[$customer]['vat_number']=$l['tva_num']; - $a_Res[$customer]['amount']=0; - $a_Res[$customer]['tva']=0; - $a_Res[$customer]['poste_comptable']=$l['poste_comptable']; - /* retrieve only operation of sold and vat */ - // Get all the sell operation - //---- - $sql="select distinct j_grpt - from - jrnx as A - join jrnx as B using (j_grpt) - where - A.j_qcode = '".$l['quick_code']."' and - B.j_poste::text like '".$SOLD."%' - $cond_sql - "; - - $Res=$this->cn->exec_sql($sql); - // Foreach operation - // where 7% or tva account are involved - // and store the result in an array (a_Res) - //--- - - for ($i=0; $i < Database::num_row($Res);$i++) - { - // Get each row - //--- - $row1=Database::fetch_array($Res,$i); - - - // select the operation - //---- - $Res2=$this->cn->exec_sql("select j_poste,j_montant,j_debit from jrnx where j_grpt=".$row1['j_grpt']); - $a_row=Database::fetch_all($Res2); - - // Store the amount in the array - //--- - foreach ($a_row as $e) - { - $amount=0; - $tva=0; - if ( substr($e['j_poste'],0, strlen($SOLD))===$SOLD) - { - $amount=($e['j_debit']=='f')?$e['j_montant']:$e['j_montant']*-1; - } - if ( substr($e['j_poste'],0, strlen($TVA))===$TVA) - { - $tva=($e['j_debit']=='f')?$e['j_montant']:$e['j_montant']*-1; - } - // store sold - //--- - $a_Res[$customer]['amount']=(isset($a_Res[$customer]['amount']))?$a_Res[$customer]['amount']:0; - $a_Res[$customer]['amount']+=$amount; - - // store vat - //--- - $a_Res[$customer]['tva']=(isset($a_Res[$customer]['tva']))?$a_Res[$customer]['tva']:0; - $a_Res[$customer]['tva']+=$tva; - - // store customef info - //--- - $a_Res[$customer]['customer']=$customer; - } - }// foreach $a - } // foreach ( customer) - - return $a_Res; - } - - -} - -?> diff --git a/sources/include/class_database.php b/sources/include/class_database.php deleted file mode 100644 index 9b87e70..0000000 --- a/sources/include/class_database.php +++ /dev/null @@ -1,1051 +0,0 @@ -5) - die("-->Dossier invalide [$p_database_id]"); - $noalyss_user=(defined("noalyss_user"))?noalyss_user:phpcompta_user; - $password=(defined("noalyss_password"))?noalyss_password:phpcompta_password; - $port=(defined("noalyss_psql_port"))?noalyss_psql_port:phpcompta_psql_port; - $host=(!defined("noalyss_psql_host") )?'127.0.0.1':noalyss_psql_host; - if (defined("MULTI")&&MULTI=="0") - { - $l_dossier=dbname; - } - else - { - - if ($p_database_id==0) - { /* connect to the repository */ - $l_dossier=sprintf("%saccount_repository", strtolower(domaine)); - } - else if ($p_type=='dos') - { /* connect to a folder (dossier) */ - $l_dossier=sprintf("%sdossier%d", strtolower(domaine), $p_database_id); - } - else if ($p_type=='mod') - { /* connect to a template (modele) */ - $l_dossier=sprintf("%smod%d", strtolower(domaine), $p_database_id); - } - else if ($p_type=='template') - { - $l_dossier='template1'; - } - else - { - throw new Exception('Connection invalide'); - } - } - - ob_start(); - $a=pg_connect("dbname=$l_dossier host='$host' user='$noalyss_user' - password='$password' port=$port"); - - if ($a==false) - { - if (DEBUG) - { - ob_end_clean(); - echo '

      Impossible de se connecter à postgreSql !

      '; - echo '

      '; - echo "Vos paramètres sont incorrectes :
      "; - echo "
      "; - echo "base de donnée : $l_dossier
      "; - echo "Domaine : ".domaine."
      "; - echo "Port $port
      "; - echo "Utilisateur : $noalyss_user
      "; - echo '

      '; - - die("Connection impossible : vérifiez vos paramètres de base - de données"); - } - else - { - echo '

      Erreur de connexion !

      '; - } - } - $this->db=$a; - $this->is_open=TRUE; - if ($this->exist_schema('comptaproc')) - pg_exec($this->db, 'set search_path to public,comptaproc;'); - pg_exec($this->db, 'set DateStyle to ISO, MDY;'); - ob_end_clean(); - } - - public function verify() - { - // Verify that the elt we want to add is correct - } - - function set_encoding($p_charset) - { - pg_set_client_encoding($this->db, $p_charset); - } - - /** - * \brief send a sql string to the database - * \param $p_string sql string - * \param $p_array array for the SQL string (see pg_query_params) - * \return the result of the query, a resource or false if an - * error occured - */ - - function exec_sql($p_string, $p_array=null) - { - try - { - if ( ! $this->is_open ) throw new Exception(' Database is closed'); - $this->sql=$p_string; - $this->array=$p_array; - - if ($p_array==null) - { - if (!DEBUG) - $this->ret=pg_query($this->db, $p_string); - else - $this->ret=@pg_query($this->db, $p_string); - } - else - { - $a=is_array($p_array); - if (!is_array($p_array)) - { - throw new Exception("Erreur : exec_sql attend un array"); - } - if (!DEBUG) - $this->ret=pg_query_params($this->db, $p_string, $p_array); - else - $this->ret=@pg_query_params($this->db, $p_string, $p_array); - } - if (!$this->ret) - { - $str_error=pg_last_error($this->db).pg_result_error($this->ret); - throw new Exception(" SQL ERROR $p_string ".$str_error, 1); - } - } - catch (Exception $a) - { - if (DEBUG) - { - print_r($p_string); - print_r($p_array); - echo $a->getMessage(); - echo $a->getTrace(); - echo $a->getTraceAsString(); - echo pg_last_error($this->db); - } - $this->rollback(); - - throw ($a); - } - - return $this->ret; - } - - /** \brief Count the number of row returned by a sql statement - * - * \param $p_sql sql string - * \param $p_array if not null we use the safer pg_query_params - */ - - function count_sql($p_sql, $p_array=null) - { - $r_sql=$this->exec_sql($p_sql, $p_array); - return pg_NumRows($r_sql); - } - - /**\brief get the current sequence value - */ - - function get_current_seq($p_seq) - { - $Res=$this->get_value("select currval('$p_seq') as seq"); - return $Res; - } - - /**\brief get the next sequence value - */ - - function get_next_seq($p_seq) - { - $Res=$this->exec_sql("select nextval('$p_seq') as seq"); - $seq=pg_fetch_array($Res, 0); - return $seq['seq']; - } - - /** - * @ brief : start a transaction - * - */ - function start() - { - $Res=$this->exec_sql("start transaction"); - } - - /** - * Commit the transaction - * - */ - function commit() - { - if ( ! $this->is_open) return; - $Res=$this->exec_sql("commit"); - } - - /** - * rollback the current transaction - */ - function rollback() - { - if ( ! $this->is_open) return; - $Res=$this->exec_sql("rollback"); - } - - /** - * @brief alter the sequence value - * @param $p_name name of the sequence - * @param $min the start value of the sequence - */ - function alter_seq($p_name, $min) - { - if ($min<1) - $min=1; - $Res=$this->exec_sql("alter sequence $p_name restart $min"); - } - - /** - * \brief Execute a sql script - * \param $script script name - */ - - function execute_script($script) - { - - if (!DEBUG) - ob_start(); - $hf=fopen($script, 'r'); - if ($hf==false) - { - throw new Exception ( 'Ne peut ouvrir '.$script); - } - $sql=""; - $flag_function=false; - while (!feof($hf)) - { - $buffer=fgets($hf); - $buffer=str_replace("$", "\$", $buffer); - print $buffer."
      "; - // comment are not execute - if (substr($buffer, 0, 2)=="--") - { - //echo "comment $buffer"; - continue; - } - // Blank Lines Are Skipped - If (Strlen($buffer)==0) - { - //echo "Blank $buffer"; - Continue; - } - if (strpos(strtolower($buffer), "create function")===0) - { - echo "found a function"; - $flag_function=true; - $sql=$buffer; - continue; - } - if (strpos(strtolower($buffer), "create or replace function")===0) - { - echo "found a function"; - $flag_function=true; - $sql=$buffer; - continue; - } - // No semi colon -> multiline command - if ($flag_function==false&&strpos($buffer, ';')==false) - { - $sql.=$buffer; - continue; - } - if ($flag_function) - { - if (strpos(strtolower($buffer), "language plpgsql")===false&& - strpos(strtolower($buffer), "language 'plpgsql'")===false) - { - $sql.=$buffer; - continue; - } - } - else - { - // cut the semi colon - $buffer=str_replace(';', '', $buffer); - } - $sql.=$buffer; - if ($this->exec_sql($sql)==false) - { - $this->rollback(); - if (!DEBUG) - ob_end_clean(); - print "ERROR : $sql"; - throw new Exception("ERROR : $sql"); - } - $sql=""; - $flag_function=false; - print "
      "; - } // while (feof) - fclose($hf); - if (!DEBUG) - ob_end_clean(); - } - - /** - * \brief Get version of a database, the content of the - * table version - * - * \return version number - * - */ - - function get_version() - { - $Res=$this->get_value("select val from version"); - return $Res; - } - - /** - * @brief fetch the $p_indice array from the last query - * @param $p_indice index - * - */ - function fetch($p_indice) - { - if ($this->ret==false) - throw new Exception('this->ret is empty'); - return pg_fetch_array($this->ret, $p_indice); - } - - /** - * - * @brief return the number of rows found by the last query, or the number - * of rows from $p_ret - * @param $p_ret is the result of a query, the default value is null, in that case - * it is related to the last query - * @note synomym for count() - */ - - function size($p_ret=null) - { - if ($p_ret==null) - return pg_NumRows($this->ret); - else - return pg_NumRows($p_ret); - } - - /** - * @brief synomym for size() - */ - - function count($p_ret=null) - { - return $this->size($p_ret); - } - - /** - * \brief loop to apply all the path to a folder or - * a template - * \param $p_name database name - * \param $from_setup == 1 if called from setup.php - * - */ - - function apply_patch($p_name, $from_setup=1) - { - if ( ! $this->exist_table('version')) { - echo _('Base de donnée vide'); - return; - } - $MaxVersion=DBVERSION-1; - $succeed=""; - echo '
        '; - $add=($from_setup==0)?'admin/':''; - for ($i=4; $i<=$MaxVersion; $i++) - { - $to=$i+1; - - if ($this->get_version()<=$i) - { - if ($this->get_version()==97) - { - if ($this->exist_schema("amortissement")) - { - $this->exec_sql('ALTER TABLE amortissement.amortissement_histo - ADD CONSTRAINT internal_fk FOREIGN KEY (jr_internal) REFERENCES jrn (jr_internal) - ON UPDATE CASCADE ON DELETE SET NULL'); - } - } - echo "
      • Patching ".$p_name. - " from the version ".$this->get_version()." to $to "; - - $this->execute_script($add.'sql/patch/upgrade'.$i.'.sql'); - echo $succeed; - - if (!DEBUG) - ob_start(); - // specific for version 4 - if ($i==4) - { - $sql="select jrn_def_id from jrn_def "; - $Res=$this->exec_sql($sql); - $Max=$this->size(); - for ($seq=0; $seq<$Max; $seq++) - { - $row=pg_fetch_array($Res, $seq); - $sql=sprintf("create sequence s_jrn_%d", $row['jrn_def_id']); - $this->exec_sql($sql); - } - } - // specific to version 7 - if ($i==7) - { - // now we use sequence instead of computing a max - // - $Res2=$this->exec_sql('select coalesce(max(jr_grpt_id),1) as l from jrn'); - $Max2=pg_NumRows($Res2); - if ($Max2==1) - { - $Row=pg_fetch_array($Res2, 0); - var_dump($Row); - $M=$Row['l']; - $this->exec_sql("select setval('s_grpt',$M,true)"); - } - } - // specific to version 17 - if ($i==17) - { - $this->execute_script($add.'sql/patch/upgrade17.sql'); - $max=$this->get_value('select last_value from s_jnt_fic_att_value'); - $this->alter_seq($p_cn, 's_jnt_fic_att_value', $max+1); - } // version - // reset sequence in the modele - //-- - if ($i==30&&$p_name=="mod") - { - $a_seq=array('s_jrn', 's_jrn_op', 's_centralized', - 's_stock_goods', 'c_order', 's_central'); - foreach ($a_seq as $seq) - { - $sql=sprintf("select setval('%s',1,false)", $seq); - $Res=$this->exec_sql($sql); - } - $sql="select jrn_def_id from jrn_def "; - $Res=$this->exec_sql($sql); - $Max=pg_NumRows($Res); - for ($seq=0; $seq<$Max; $seq++) - { - $row=pg_fetch_array($Res, $seq); - $sql=sprintf("select setval('s_jrn_%d',1,false)", $row['jrn_def_id']); - $this->exec_sql($sql); - } - } - if ($i==36) - { - /* check the country and apply the path */ - $res=$this->exec_sql("select pr_value from parameter where pr_id='MY_COUNTRY'"); - $country=pg_fetch_result($res, 0, 0); - $this->execute_script($add."sql/patch/upgrade36.".$country.".sql"); - $this->exec_sql('update tmp_pcmn set pcm_type=find_pcm_type(pcm_val)'); - } - if ($i==59) - { - $res=$this->exec_sql("select pr_value from parameter where pr_id='MY_COUNTRY'"); - $country=pg_fetch_result($res, 0, 0); - if ($country=='BE') - $this->exec_sql("insert into parm_code values ('SUPPLIER',440,'Poste par défaut pour les fournisseurs')"); - if ($country=='FR') - $this->exec_sql("insert into parm_code values ('SUPPLIER',400,'Poste par défaut pour les fournisseurs')"); - } - if ($i==61) - { - $country=$this->get_value("select pr_value from parameter where pr_id='MY_COUNTRY'"); - $this->execute_script($add."sql/patch/upgrade61.".$country.".sql"); - } - - if (!DEBUG) - ob_end_clean(); - } - } - echo '
      '; - } - - /** - * - * \brief return the value of the sql, the sql will return only one value - * with the value - * \param $p_sql the sql stmt example :select s_value from - document_state where s_id=2 - * \param $p_array if array is not null we use the ExecSqlParm (safer) - * \see exec_sql - * \note print a warning if several value are found, if only the first value is needed - * consider using a LIMIT clause - * \return only the first value or an empty string if nothing is found - */ - - function get_value($p_sql, $p_array=null) - { - $this->ret=$this->exec_sql($p_sql, $p_array); - $r=pg_NumRows($this->ret); - if ($r==0) - return ""; - if ($r>1) - { - $array=pg_fetch_all($this->ret); - throw new Exception("Attention $p_sql retourne ".pg_NumRows($this->ret)." valeurs ". - var_export($p_array, true)." values=".var_export($array, true)); - } - $r=pg_fetch_row($this->ret, 0); - return $r[0]; - } - /** - * @brief return the number of rows affected by the previous query - */ - function get_affected() - { - return Database::num_row($this->ret); - } - - /** - * \brief purpose return the result of a sql statment - * in a array - * \param $p_sql sql query - * \param $p_array if not null we use ExecSqlParam - * \return an empty array if nothing is found - */ - - function get_array($p_sql, $p_array=null) - { - $r=$this->exec_sql($p_sql, $p_array); - - if (($Max=pg_NumRows($r))==0) - return array(); - $array=pg_fetch_all($r); - return $array; - } - - function create_sequence($p_name, $min=1) - { - if ($min<1) - $min=1; - $sql="create sequence ".$p_name." minvalue $min"; - $this->exec_sql($sql); - } - - /** - * \brief test if a sequence exist */ - /* \return true if the seq. exist otherwise false - */ - - function exist_sequence($p_name) - { - $r=$this->count_sql("select relname from pg_class where relname=lower($1)", array($p_name)); - if ($r==0) - return false; - return true; - } - - /**\brief test if a table exist - * \param $p_name table name - * \param $schema name of the schema default public - * \return true if a table exist otherwise false - */ - - function exist_table($p_name, $p_schema='public') - { - $r=$this->count_sql("select table_name from information_schema.tables where table_schema=$1 and table_name=lower($2)", array($p_schema, $p_name)); - if ($r==0) - return false; - return true; - } - - /** - * Check if a column exists in a table - * @param $col : column name - * @param $table :table name - * @param $schema :schema name, default public - * @return true or false - */ - function exist_column($col, $table, $schema) - { - $r=$this->get_value('select count(*) from information_schema.columns where table_name=lower($1) and column_name=lower($2) and table_schema=lower($3)', array($col, $table, $schema)); - if ($r>0) - return true; - return false; - } - - /** - * return the name of the database with the domain name - * @param $p_id of the folder WITHOUT the domain name - * @param $p_type dos for folder mod for template - * @return formatted name - */ - function format_name($p_id, $p_type) - { - switch ($p_type) - { - case 'dos': - $sys_name=sprintf("%sdossier%d", strtolower(domaine), $p_id); - break; - case 'mod': - $sys_name=sprintf("%smod%d", strtolower(domaine), $p_id); - break; - default: - echo_error(__FILE__." format_name invalid type ".$p_type, __LINE__); - throw new Exception(__FILE__." format_name invalid type ".$p_type. __LINE__); - } - return $sys_name; - } - - /** - * Count the database name in a system view - * @param $p_name string database name - * @return number of database found (normally 0 or 1) - */ - function exist_database($p_name) - { - $database_exist=$this->get_value('select count(*) - from pg_catalog.pg_database where datname = lower($1)', array($p_name)); - return $database_exist; - } - - /** - * @brief check if the large object exists - * @param $p_oid of the large object - * @return return true if the large obj exist or false if not - */ - function exist_blob($p_oid) - { - $r=$this->get_value('select count(loid) from pg_largeobject where loid=$1' - , array($p_oid)); - if ($r>0) - return true; - else - return false; - } - - /* - * !\brief test if a view exist - * \return true if the view. exist otherwise false - */ - - function exist_view($p_name) - { - $r=$this->count_sql("select viewname from pg_views where viewname=lower($1)", array($p_name)); - if ($r==0) - return false; - return true; - } - - /* - * !\brief test if a schema exists - * \return true if the schemas exists otherwise false - */ - - function exist_schema($p_name) - { - $r=$this->count_sql("select nspname from pg_namespace where nspname=lower($1)", array($p_name)); - if ($r==0) - return false; - return true; - } - - /** - * \brief create a string containing the value separated by comma - * for use in a SQL in statement - * \return the string or empty if nothing is found - * \see fid_card.php - */ - - function make_list($sql, $p_array=null) - { - if ($p_array==null) - { - $aArray=$this->get_array($sql); - } - else - { - $aArray=$this->get_array($sql, $p_array); - } - if (empty($aArray)) - return ""; - $aIdx=array_keys($aArray[0]); - $idx=$aIdx[0]; - $ret=""; - $f=""; - for ($i=0; $i Array - ( - [value] => 1 - [label] => Marchandise A - ) - - [1] => Array - ( - [value] => 2 - [label] => Marchandise B - ) - - [2] => Array - ( - [value] => 3 - [label] => Marchandise C - ) - ) - \endverbatim - * \see ISelect - */ - - function make_array($p_sql, $p_null=0,$p_array=null) - { - $a=$this->exec_sql($p_sql,$p_array); - $max=pg_NumRows($a); - if ($max==0&&$p_null==0) - return null; - for ($i=0; $i<$max; $i++) - { - $row=pg_fetch_row($a); - $r[$i]['value']=$row[0]; - $r[$i]['label']=h($row[1]); - } - // add a blank item ? - if ($p_null==1) - { - for ($i=$max; $i!=0; $i--) - { - $r[$i]['value']=$r[$i-1]['value']; - $r[$i]['label']=h($r[$i-1]['label']); - } - $r[0]['value']=-1; - $r[0]['label']=" "; - } // if ( $p_null == 1 ) - - return $r; - } - - /** - * \brief Save a "piece justificative" - * - * \param $seq jr_grpt_id - * \return $oid of the lob file if success - * null if a error occurs - * - */ - - function save_upload_document($seq) - { - /* there is - no file to - upload */ - if ($_FILES["pj"]["error"]==UPLOAD_ERR_NO_FILE) - { - return; - } - - $new_name=tempnam($_ENV['TMP'], 'pj'); - if ($_FILES["pj"]["error"]>0) - { - print_r($_FILES); - echo_error(__FILE__.":".__LINE__."Error: ".$_FILES["pj"]["error"]); - } - if (strlen($_FILES['pj']['tmp_name'])!=0) - { - if (move_uploaded_file($_FILES['pj']['tmp_name'], $new_name)) - { - // echo "Image saved"; - $oid=pg_lo_import($this->db, $new_name); - if ($oid==false) - { - echo_error('postgres.php', __LINE__, "cannot upload document"); - $this->rollback(); - return; - } - // Remove old document - $ret=$this->exec_sql("select jr_pj from jrn where jr_grpt_id=$seq"); - if (pg_num_rows($ret)!=0) - { - $r=pg_fetch_array($ret, 0); - $old_oid=$r['jr_pj']; - if (strlen($old_oid)!=0) - pg_lo_unlink($cn, $old_oid); - } - // Load new document - $this->exec_sql("update jrn set jr_pj=$1 , jr_pj_name=$2, - jr_pj_type=$3 where jr_grpt_id=$4", - array($oid,$_FILES['pj']['name'] ,$_FILES['pj']['type'],$seq)); - return $oid; - } - else - { - echo "

      Error

      "; - $this->rollback(); - } - } - return 0; - } - - /**\brief wrapper for the function pg_NumRows - * \param $ret is the result of a exec_sql - * \return number of line affected - */ - - static function num_row($ret) - { - return pg_NumRows($ret); - } - - /**\brief wrapper for the function pg_fetch_array - * \param $ret is the result of a pg_exec - * \param $p_indice is the index - * \return $array of column - */ - - static function fetch_array($ret, $p_indice=0) - { - return pg_fetch_array($ret, $p_indice); - } - - /**\brief wrapper for the function pg_fetch_all - * \param $ret is the result of pg_exec (exec_sql) - * \return double array (row x col ) - */ - - static function fetch_all($ret) - { - return pg_fetch_all($ret); - } - - /**\brief wrapper for the function pg_fetch_all - * \param $ret is the result of pg_exec (exec_sql) - * \param $p_row is the indice of the row - * \param $p_col is the indice of the col - * \return a string or an integer - */ - - static function fetch_result($ret, $p_row=0, $p_col=0) - { - return pg_fetch_result($ret, $p_row, $p_col); - } - - /**\brief wrapper for the function pg_fetch_row - * \param $ret is the result of pg_exec (exec_sql) - * \param $p_row is the indice of the row - * \return an array indexed from 0 - */ - - static function fetch_row($ret, $p_row) - { - return pg_fetch_row($ret, $p_row); - } - - /**\brief wrapper for the function pg_lo_unlink - * \param $p_oid is the of oid - * \return return the result of the operation - */ - - function lo_unlink($p_oid) - { - return pg_lo_unlink($this->db, $p_oid); - } - - /**\brief wrapper for the function pg_prepare - * \param $p_string string name for pg_prepare function - * \param $p_sql is the sql to prepare - * \return return the result of the operation - */ - - function prepare($p_string, $p_sql) - { - return pg_prepare($this->db, $p_string, $p_sql); - } - - /**\brief wrapper for the function pg_execute - * \param $p_string string name of the stmt given in pg_prepare function - * \param $p_array contains the variables - * \note set this->ret to the return of pg_execute - * \return return the result of the operation, - */ - - function execute($p_string, $p_array) - { - $this->ret=pg_execute($this->db, $p_string, $p_array); - return $this->ret; - } - - /**\brief wrapper for the function pg_lo_export - * \param $p_oid is the oid of the log - * \param $tmp is the file - * \return result of the operation - */ - - function lo_export($p_oid, $tmp) - { - return pg_lo_export($this->db, $p_oid, $tmp); - } - - /**\brief wrapper for the function pg_lo_export - * \param $p_oid is the oid of the log - * \param $tmp is the file - * \return result of the operation - */ - - function lo_import($p_oid) - { - return pg_lo_import($this->db, $p_oid); - } - - /**\brief wrapper for the function pg_escape_string - * \param $p_string is the string to escape - * \return escaped string - */ - - static function escape_string($p_string) - { - return pg_escape_string($p_string); - } - - /**\brief wrapper for the function pg_close - */ - - function close() - { - if ( $this->is_open ) pg_close($this->db); - $this->is_open=FALSE; - } - - /**\brief - * \param - * \return - * \note - * \see - */ - - function __toString() - { - return "database "; - } - - static function test_me() - { - - } - - function status() - { - return pg_transaction_status($this->db); - } - - /** - * with the handle of a successull query, echo each row into CSV and - * send it directly - * @param type $ret handle to a query - * @param type $aheader double array, each item of the array contains - * a key type (num) and a key title - */ - function query_to_csv($ret, $aheader) - { - $seq=""; - for ($i=0; $iseek(); - for ($i = 0; $i < Database::num_row($ret); $i++) - { - $tmenu = $menu->next($ret, $i); - $idx = $tmenu->getp('md_code'); - $this->a_menu_def[$idx] = $tmenu->getp('me_code'); - } - $this->code = explode(',', 'code_follow,code_invoice'); - } - - function input_value() - { - $code_invoice = new IText('code_invoice', $this->a_menu_def['code_invoice']); - $code_follow = new IText('code_follow', $this->a_menu_def['code_follow']); - echo '

      ' . _('Code pour création facture depuis gestion') . $code_invoice->input() . '

      '; - echo '

      ' . _('Code pour appel gestion') . $code_follow->input() . '

      '; - } - - private function check_code($p_string) - { - global $cn; - $count = $cn->get_value('select count(*) from v_menu_description_favori where ' - . 'code = $1', array($p_string)); - if ($count == 0) - { - throw new Exception('code_inexistant'); - } - } - - function verify() - { - foreach ($this->code as $code) - { - $this->check_code($this->a_menu_def[$code]); - } - } - - function set($p_string, $p_value) - { - if (in_array($p_string, $this->code) == false) - { - throw new Exception("code_invalid"); - } - $this->a_menu_def[$p_string] = $p_value; - } - function get ($p_string) - { - return $this->a_menu_def[$p_string]; - } - - function save() - { - global $cn; - try - { - $this->verify(); - foreach ($this->code as $key => $value) - { - $cn->exec_sql('update menu_default set me_code=$1 where - md_code =$2', array($value,$this->a_menu_def[$value])); - } - } catch (Exception $e) - { - $e->getTraceAsString(); - throw $e; - } - } - - static function test_me() - { - global $cn, $g_user, $g_succeed, $g_failed; - - echo h2('Constructor', ''); - $a = new Default_Menu(); - echo $g_succeed . 'constructor'; - if (count($a->a_menu_def) != 2) - echo $g_failed; - else - echo $g_succeed; - echo h2("input_value", ""); - $a->input_value(); - echo h2('verify'); - $a->verify(); - try { - echo h2('Verify must failed'); - $a->set('code_follow', 'MEMNU/MEMEM/'); - $a->verify(); - } catch (Exception $e) { - echo $g_succeed. " OK "; - } - echo h2('Verify must succeed'); - try { - $a->set('code_follow', 'GESTION/FOLLOW'); - $a->verify(); - echo $g_succeed. " OK "; - } catch (Exception $e) - { - echo $g_failed."NOK"; - } - echo h2('Save'); - $a->save(); - echo h2('GET'); - echo ( assert($a->get('code_follow')=='GESTION/FOLLOW') )?$g_succeed.$a->get('code_follow'):$g_failed.$a->get('code_follow'); - echo ( assert($a->get('code_invoice')=='COMPTA/VENMENU/VEN') )?$g_succeed.$a->get('code_invoice'):$g_failed.$a->get('code_invoice'); - echo $a->get('code_invoice'); - } - -} diff --git a/sources/include/class_default_menu_sql.php b/sources/include/class_default_menu_sql.php deleted file mode 100644 index 38292e1..0000000 --- a/sources/include/class_default_menu_sql.php +++ /dev/null @@ -1,57 +0,0 @@ -table = "public.menu_default"; - $this->primary_key = "md_id"; - - $this->name = array( - "md_id"=>"md_id", - "md_code" => "md_code", - "me_code" => "me_code" - ); - $this->type = array( - "md_id"=>"md_id" - ,"md_code" => "text" - , "me_code" => "text" - ); - $this->default = array( - "md_id" - ); - global $cn; - - parent::__construct($cn, $p_id); - } - -} diff --git a/sources/include/class_document.php b/sources/include/class_document.php deleted file mode 100644 index 7acaf91..0000000 --- a/sources/include/class_document.php +++ /dev/null @@ -1,1285 +0,0 @@ -db=$p_cn; - $this->d_id=$p_d_id; - $this->counter=0; - } - /*!\brief insert a minimal document and set the d_id - */ - function blank() - { - $this->d_id=$this->db->get_next_seq("document_d_id_seq"); - // affect a number - $this->d_number=$this->db->get_next_seq("seq_doc_type_".$this->md_type); - $sql=sprintf('insert into document(d_id,ag_id,d_number) values(%d,%d,%d)', - $this->d_id, - $this->ag_id, - $this->d_number); - $this->db->exec_sql($sql); - - } - function compute_filename($pj,$filename) - { - foreach (array('/','*','<','>',';',',','\\','.',':') as $i) { - $pj= str_replace($i, "-",$pj); - } - // save the suffix - $pos_prefix=strrpos($filename,"."); - if ($pos_prefix == 0) $pos_prefix=strlen($filename); - $filename_no=substr($filename,0,$pos_prefix); - $filename_suff=substr($filename,$pos_prefix,strlen($filename)); - $new_filename= strtolower($filename_no."-".$pj.$filename_suff); - return $new_filename; - } - /*! - * \brief Generate the document, Call $this-\>Replace to replace - * tag by value - *@param p_array contains the data normally it is the $_POST - *@param contains the new filename - * \return an array : the url where the generated doc can be found, the name - * of the file and his mimetype - */ - function Generate($p_array,$p_filename="") - { - // create a temp directory in /tmp to unpack file and to parse it - $dirname=tempnam($_ENV['TMP'],'doc_'); - - - unlink($dirname); - mkdir ($dirname); - // Retrieve the lob and save it into $dirname - $this->db->start(); - $dm_info="select md_name,md_type,md_lob,md_filename,md_mimetype - from document_modele where md_id=".$this->md_id; - $Res=$this->db->exec_sql($dm_info); - - $row=Database::fetch_array($Res,0); - $this->d_lob=$row['md_lob']; - $this->d_filename=$row['md_filename']; - $this->d_mimetype=$row['md_mimetype']; - $this->d_name=$row['md_name']; - - - chdir($dirname); - $filename=$row['md_filename']; - $exp=$this->db->lo_export($row['md_lob'],$dirname.DIRECTORY_SEPARATOR.$filename); - if ( $exp === false ) echo_warning( __FILE__.":".__LINE__."Export NOK $filename"); - - $type="n"; - // if the doc is a OOo, we need to unzip it first - // and the name of the file to change is always content.xml - if ( strpos($row['md_mimetype'],'vnd.oasis') != 0 ) - { - ob_start(); - $zip = new Zip_Extended; - if ($zip->open($filename) === TRUE) { - $zip->extractTo($dirname.DIRECTORY_SEPARATOR); - $zip->close(); - } else { - echo __FILE__.":".__LINE__."cannot unzip model ".$filename; - } - - // Remove the file we do not need anymore - unlink($filename); - ob_end_clean(); - $file_to_parse="content.xml"; - $type="OOo"; - } - else - $file_to_parse=$filename; - // affect a number - $this->d_number=$this->db->get_next_seq("seq_doc_type_".$row['md_type']); - - // parse the document - return the doc number ? - $this->ParseDocument($dirname,$file_to_parse,$type,$p_array); - - $this->db->commit(); - // if the doc is a OOo, we need to re-zip it - if ( strpos($row['md_mimetype'],'vnd.oasis') != 0 ) - { - ob_start(); - $zip = new Zip_Extended; - $res = $zip->open($filename, ZipArchive::CREATE); - if($res !== TRUE) - { - throw new Exception ( __FILE__.":".__LINE__."cannot recreate zip"); - } - $zip->add_recurse_folder($dirname.DIRECTORY_SEPARATOR); - $zip->close(); - - ob_end_clean(); - - $file_to_parse=$filename; - } - if ( $p_filename !="") { - - $this->d_filename=$this->compute_filename($p_filename, $this->d_filename); - } - $this->SaveGenerated($dirname.DIRECTORY_SEPARATOR.$file_to_parse); - // Invoice - $ret='Document généré'; - @rmdir($dirname); - return $ret; - } - - /*! ParseDocument - * \brief This function parse a document and replace all - * the predefined tags by a value. This functions - * generate diffent documents (invoice, order, letter) - * with the info from the database - * - * \param $p_dir directory name - * \param $p_file filename - * \param $p_type For the OOo document the tag are < and > instead of < and > - * \param $p_array variable from $_POST - */ - function ParseDocument($p_dir,$p_file,$p_type,$p_array) - { - - /*!\note Replace in the doc the tags by their values. - * - MY_* table parameter - * - ART_VEN* table quant_sold for invoice - * - CUST_* table quant_sold and fiche for invoice - * - e_* for the invoice in the $_POST - */ - // open the document - $infile_name=$p_dir.DIRECTORY_SEPARATOR.$p_file; - $h=fopen($infile_name,"r"); - - // check if tmpdir exist otherwise create it - $temp_dir=$_SERVER["DOCUMENT_ROOT"].DIRECTORY_SEPARATOR.'tmp'; - if ( is_dir($temp_dir) == false ) - { - if ( mkdir($temp_dir) == false ) - { - $msg=_("Ne peut pas créer le répertoire ".$temp_dir); - throw new Exception($msg); - } - } - // Compute output_name - $output_name=tempnam($temp_dir,"gen_doc_"); - $output_file=fopen($output_name,"w+"); - // check if the opening is sucessfull - if ( $h === false ) - { - echo __FILE__.":".__LINE__."cannot open $p_dir $p_file "; - $msg=_("Ne peut pas ouvrir $p_dir $p_file"); - throw new Exception($msg); - } - if ( $output_file == false) - { - $msg=_("Ne peut pas ouvrir $p_dir $p_file"); - echo $msg; - throw new Exception($msg); - } - // compute the regex - if ( $p_type=='OOo') - { - $regex="/=*<<[A-Z]+_*[A-Z]*_*[A-Z]*_*[A-Z]*_*[0-9]*>>/i"; - $lt="<"; - $gt=">"; - } - else - { - $regex="/=*<<[A-Z]+_*[A-Z]*_*[A-Z]*_*[A-Z]*_*[0-9]*>>/i"; - $lt="<"; - $gt=">"; - } - - //read the file - while(! feof($h)) - { - // replace the tag - $buffer=fgets($h); - // search in the buffer the magic << and >> - // while preg_match_all finds something to replace - while ( preg_match_all ($regex,$buffer,$f) >0 ) - { - - - foreach ( $f as $apattern ) - { - - - foreach($apattern as $pattern) - { - - - $to_remove=$pattern; - // we remove the < and > from the pattern - $tag=str_replace($lt,'',$pattern); - $tag=str_replace($gt,'',$tag); - - - // if the pattern if found we replace it - $value=$this->Replace($tag,$p_array); - if ( strpos($value,'ERROR') != false ) $value=""; - /* - * Change type of cell to numeric - * allow numeric cel in ODT for the formatting and formula - */ - if ( is_numeric($value) && $p_type=='OOo') - { - $searched='/office:value-type="string">'.$pattern.'/'; - $replaced='office:value-type="float" office:value="'.$value.'">'.$pattern; - $buffer=preg_replace($searched, $replaced, $buffer,1); - } - // replace into the $buffer - // take the position in the buffer - $pos=strpos($buffer,$to_remove); - // get the length of the string to remove - $len=strlen($to_remove); - if ( $p_type=='OOo' ) - { - $value=str_replace('&','&',$value); - $value=str_replace('<','<',$value); - $value=str_replace('>','>',$value); - $value=str_replace('"','"',$value); - $value=str_replace("'",''',$value); - } - $buffer=substr_replace($buffer,$value,$pos,$len); - - // if the pattern if found we replace it - } - } - } - // write into the output_file - fwrite($output_file,$buffer); - - } - fclose($h); - fclose($output_file); - if ( ($ret=copy ($output_name,$infile_name)) == FALSE ) - { - echo _('Ne peut pas sauver '.$output_name.' vers '.$infile_name.' code d\'erreur ='.$ret); - } - - - } - /*! SaveGenerated - * \brief Save the generated Document - * \param $p_file is the generated file - * - * - * \return 0 if no error otherwise 1 - */ - function SaveGenerated($p_file) - { - // We save the generated file - $doc=new Document($this->db); - $this->db->start(); - $this->d_lob=$this->db->lo_import($p_file); - if ( $this->d_lob == false ) - { - echo "ne peut pas importer [$p_file]"; - return 1; - } - - $sql="insert into document(ag_id,d_lob,d_number,d_filename,d_mimetype) - values ($1,$2,$3,$4,$5)"; - - $this->db->exec_sql($sql, array($this->ag_id, - $this->d_lob, - $this->d_number, - $this->d_filename, - $this->d_mimetype)); - $this->d_id=$this->db->get_current_seq("document_d_id_seq"); - // Clean the file - unlink ($p_file); - $this->db->commit(); - return 0; - } - /*! Upload - * \brief Upload a file into document - * all the needed data are in $_FILES we don't increment the seq - * \param $p_file : array containing by default $_FILES - * - * \return - */ - function Upload($p_ag_id) - { - // nothing to save - if ( sizeof($_FILES) == 0 ) return; - - /* for several files */ - /* $_FILES is now an array */ - // Start Transaction - $this->db->start(); - $name=$_FILES['file_upload']['name']; - for ($i = 0; $i < sizeof($name);$i++) - { - $new_name=tempnam($_ENV['TMP'],'doc_'); - // check if a file is submitted - if ( strlen($_FILES['file_upload']['tmp_name'][$i]) != 0 ) - { - // upload the file and move it to temp directory - if ( move_uploaded_file($_FILES['file_upload']['tmp_name'][$i],$new_name)) - { - $oid=$this->db->lo_import($new_name); - // check if the lob is in the database - if ( $oid == false ) - { - $this->db->rollback(); - return 1; - } - } - // the upload in the database is successfull - $this->d_lob=$oid; - $this->d_filename=$_FILES['file_upload']['name'][$i]; - $this->d_mimetype=$_FILES['file_upload']['type'][$i]; - $this->d_description= strip_tags($_POST['input_desc'][$i]); - // insert into the table - $sql="insert into document (ag_id, d_lob,d_filename,d_mimetype,d_number,d_description) values ($1,$2,$3,$4,$5,$6)"; - $this->db->exec_sql($sql,array($p_ag_id,$this->d_lob,$this->d_filename,$this->d_mimetype,1,$this->d_description)); - } - } /* end for */ - $this->db->commit(); - - } - /** - * Copy a existing OID (LOB) into the table document - * @note use of global variable $cn which is the db connx to the current folder - * @param type $p_ag_id Follow_Up::ag_id - * @param type $p_lob oid of existing document - * @param type $p_filename filename of existing document - * @param type $p_mimetype mimetype of existing document - * @param type $p_description Description of existing document (default empty) - */ - static function insert_existing_document($p_ag_id, $p_lob, $p_filename, $p_mimetype, $p_description = "") - { - global $cn; - // insert into the table - $sql = "insert into document (ag_id, d_lob,d_filename,d_mimetype,d_number,d_description) values ($1,$2,$3,$4,$5,$6)"; - $cn->exec_sql($sql, array($p_ag_id, $p_lob, $p_filename, $p_mimetype, 1, $p_description)); - } - - /*! a_ref - * \brief create and compute a string for reference the doc - * - * \return a string - */ - function anchor() - { - if ( $this->d_id == 0 ) - return ''; - $image=''; - $r=""; - $r=''.$image.''; - return $r; - } - /** Get - * \brief Send the document - */ - function Send() - { - // retrieve the template and generate document - $this->db->start(); - $ret=$this->db->exec_sql( - "select d_id,d_lob,d_filename,d_mimetype from document where d_id=".$this->d_id ); - if ( Database::num_row ($ret) == 0 ) - return; - $row=Database::fetch_array($ret,0); - //the document is saved into file $tmp - $tmp=tempnam($_ENV['TMP'],'document_'); - $this->db->lo_export($row['d_lob'],$tmp); - $this->d_mimetype=$row['d_mimetype']; - $this->d_filename=$row['d_filename']; - - // send it to stdout - ini_set('zlib.output_compression','Off'); - header("Pragma: public"); - header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); - header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); - header("Cache-Control: must-revalidate"); - header('Content-type: '.$this->d_mimetype); - header('Content-Disposition: attachment;filename="'.$this->d_filename.'"',FALSE); - header("Accept-Ranges: bytes"); - $file=fopen($tmp,'r'); - while ( !feof ($file) ) - { - echo fread($file,8192); - } - fclose($file); - - unlink ($tmp); - - $this->db->commit(); - - } - /*!\brief get all the document of a given action - *\param $ag_id the ag_id from action::ag_id (primary key) - *\return an array of objects document or an empty array if nothing found - */ - function get_all($ag_id) - { - $res=$this->db->get_array('select d_id, ag_id, d_lob, d_number, d_filename,'. - ' d_mimetype,d_description from document where ag_id=$1',array($ag_id)); - $a=array(); - for ($i=0;$idb); - $doc->d_id=$res[$i]['d_id']; - $doc->ag_id=$res[$i]['ag_id']; - $doc->d_lob=$res[$i]['d_lob']; - $doc->d_number=$res[$i]['d_number']; - $doc->d_filename=$res[$i]['d_filename']; - $doc->d_mimetype=$res[$i]['d_mimetype']; - $doc->d_description=$row['d_description']; - $a[$i]=clone $doc; - } - return $a; - } - - /*!\brief Get complete all the data member thx info from the database - */ - function get() - { - $sql="select * from document where d_id=".$this->d_id; - $ret=$this->db->exec_sql($sql); - if ( Database::num_row($ret) == 0 ) - return; - $row=Database::fetch_array($ret,0); - $this->ag_id=$row['ag_id']; - $this->d_mimetype=$row['d_mimetype']; - $this->d_filename=$row['d_filename']; - $this->d_lob=$row['d_lob']; - $this->d_number=$row['d_number']; - $this->d_description=$row['d_description']; - - } - /*! - * \brief replace the TAG by the real value, this value can be into - * the database or in $_POST - * The possible tags are - * - [CUST_NAME] customer's name - * - [CUST_ADDR_1] customer's address line 1 - * - [CUST_CP] customer's ZIP code - * - [CUST_CO] customer's country - * - [CUST_CITY] customer's city - * - [CUST_VAT] customer's VAT - * - [MARCH_NEXT] end this item and increment the counter $i - * - [DATE_LIMIT] - * - [VEN_ART_NAME] - * - [VEN_ART_PRICE] - * - [VEN_ART_QUANT] - * - [VEN_ART_TVA_CODE] - * - [VEN_ART_STOCK_CODE] - * - [VEN_HTVA] - * - [VEN_TVAC] - * - [VEN_TVA] - * - [TOTAL_VEN_HTVA] - * - [DATE_CALC] - * - [DATE] - * - [DATE_LIMIT] - * - [DATE_LIMIT_CALC] - * - [NUMBER] - * - [MY_NAME] - * - [MY_CP] - * - [MY_COMMUNE] - * - [MY_TVA] - * - [MY_STREET] - * - [MY_NUMBER] - * - [TVA_CODE] - * - [TVA_RATE] - * - [BON_COMMANDE] - * - [OTHER_INFO] - * - [CUST_NUM] - * - [CUST_BANQUE_NAME] - * - [CUST_BANQUE_NO] - * - [USER] - * - [REFERENCE] - * - [BENEF_NAME] - * - [BENEF_BANQUE_NAME] - * - [BENEF_BANQUE_NO] - * - [BENEF_ADDR_1] - * - [BENEF_CP] - * - [BENEF_CO] - * - [BENEF_CITY] - * - [BENEF_VAT] - * - [ACOMPTE] - * - [TITLE] - * - [DESCRIPTION] - * - * \param $p_tag TAG - * \param $p_array data from $_POST - * \return String which must replace the tag - */ - function Replace($p_tag,$p_array) - { - global $g_parameter; - $p_tag=strtoupper($p_tag); - $p_tag=str_replace('=','',$p_tag); - $r="Tag inconnu"; - - switch ($p_tag) - { - case 'DATE': - $r=(isset ($p_array['ag_timestamp']))?$p_array['ag_timestamp']:$p_array['e_date']; - break; - case 'DATE_CALC': - $r=' Date inconnue '; - // Date are in $p_array['ag_date'] - // or $p_array['e_date'] - if ( isset ($p_array['ag_timestamp'])) { - $date=format_date($p_array['ag_timestamp'],'DD.MM.YYYY','YYYY-MM-DD'); - $r=$date; - } - if ( isset ($p_array['e_date'])) { - $date=format_date($p_array['e_date'],'DD.MM.YYYY','YYYY-MM-DD'); - $r=$date; - } - break; - // - // the company priv - - case 'MY_NAME': - $r=$g_parameter->MY_NAME; - break; - case 'MY_CP': - $r=$g_parameter->MY_CP; - break; - case 'MY_COMMUNE': - $r=$g_parameter->MY_COMMUNE; - break; - case 'MY_TVA': - $r=$g_parameter->MY_TVA; - break; - case 'MY_STREET': - $r=$g_parameter->MY_STREET; - break; - case 'MY_NUMBER': - $r=$g_parameter->MY_NUMBER; - break; - case 'MY_TEL': - $r=$g_parameter->MY_TEL; - break; - case 'MY_FAX': - $r=$g_parameter->MY_FAX; - break; - case 'MY_PAYS': - $r=$g_parameter->MY_PAYS; - break; - - // customer - /*\note The CUST_* are retrieved thx the $p_array['tiers'] - * which contains the quick_code - */ - case 'SOLDE': - $tiers=new Fiche($this->db); - $qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client']; - $tiers->get_by_qcode($qcode,false); - $p=$tiers->strAttribut(ATTR_DEF_ACCOUNT); - $poste=new Acc_Account_Ledger($this->db,$p); - $r=$poste->get_solde(' true' ); - break; - case 'CUST_NAME': - $tiers=new Fiche($this->db); - $qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client']; - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_NAME); - break; - case 'CUST_ADDR_1': - $tiers=new Fiche($this->db); - $qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client']; - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_ADRESS); - - break ; - case 'CUST_CP': - $tiers=new Fiche($this->db); - - $qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client']; - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_CP); - - break; - case 'CUST_CITY': - $tiers=new Fiche($this->db); - - $qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client']; - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_CITY); - - break; - - case 'CUST_CO': - $tiers=new Fiche($this->db); - - $qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client']; - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_PAYS); - - break; - // Marchandise in $p_array['e_march*'] - // \see user_form_achat.php or user_form_ven.php - case 'CUST_VAT': - $tiers=new Fiche($this->db); - - $qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client']; - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_NUMTVA); - break; - case 'CUST_NUM': - $tiers=new Fiche($this->db); - $qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client']; - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_NUMBER_CUSTOMER); - break; - case 'CUST_BANQUE_NO': - $tiers=new Fiche($this->db); - $qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client']; - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_BQ_NO); - break; - case 'CUST_BANQUE_NAME': - $tiers=new Fiche($this->db); - $qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client']; - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_BQ_NAME); - break; - /* -------------------------------------------------------------------------------- */ - /* BENEFIT (fee notes */ - case 'BENEF_NAME': - $tiers=new Fiche($this->db); - $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:''; - if ( $qcode=='') - { - $r=''; - break; - } - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_NAME); - break; - case 'BENEF_ADDR_1': - $tiers=new Fiche($this->db); - $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:''; - if ( $qcode=='') - { - $r=''; - break; - } - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_ADRESS); - - break ; - case 'BENEF_CP': - $tiers=new Fiche($this->db); - - $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:''; - if ( $qcode=='') - { - $r=''; - break; - } - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_CP); - - break; - case 'BENEF_CITY': - $tiers=new Fiche($this->db); - - $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:''; - if ( $qcode=='') - { - $r=''; - break; - } - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_CITY); - - break; - - case 'BENEF_CO': - $tiers=new Fiche($this->db); - - $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:''; - if ( $qcode=='') - { - $r=''; - break; - } - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_PAYS); - - break; - // Marchandise in $p_array['e_march*'] - // \see user_form_achat.php or user_form_ven.php - case 'BENEF_VAT': - $tiers=new Fiche($this->db); - - $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:''; - if ( $qcode=='') - { - $r=''; - break; - } - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_NUMTVA); - break; - case 'BENEF_NUM': - $tiers=new Fiche($this->db); - $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:''; - if ( $qcode=='') - { - $r=''; - break; - } - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_NUMBER_CUSTOMER); - break; - case 'BENEF_BANQUE_NO': - $tiers=new Fiche($this->db); - $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:''; - if ( $qcode=='') - { - $r=''; - break; - } - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_BQ_NO); - break; - case 'BENEF_BANQUE_NAME': - $tiers=new Fiche($this->db); - $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:''; - if ( $qcode=='') - { - $r=''; - break; - } - $tiers->get_by_qcode($qcode,false); - $r=$tiers->strAttribut(ATTR_DEF_BQ_NAME); - break; - - // Marchandise in $p_array['e_march*'] - // \see user_form_achat.php or user_form_ven.php - case 'NUMBER': - $r=$this->d_number; - break; - - case 'USER' : - return $_SESSION['use_name'].', '.$_SESSION['use_first_name']; - - break; - case 'REFERENCE': - $act=new Follow_Up($this->db); - $act->ag_id=$this->ag_id; - $act->get(); - $r=$act->ag_ref; - break; - - /* - * - [VEN_ART_NAME] - * - [VEN_ART_PRICE] - * - [VEN_ART_QUANT] - * - [VEN_ART_TVA_CODE] - * - [VEN_ART_STOCK_CODE] - * - [VEN_HTVA] - * - [VEN_TVAC] - * - [VEN_TVA] - * - [TOTAL_VEN_HTVA] - * - [DATE_LIMIT] - */ - case 'DATE_LIMIT_CALC': - extract ($p_array); - $id='e_ech' ; - if ( !isset (${$id}) ) return ""; - $r=format_date(${$id},'DD.MM.YYYY','YYYY-MM-DD'); - break; - case 'DATE_LIMIT': - extract ($p_array); - $id='e_ech' ; - if ( !isset (${$id}) ) return ""; - $r=${$id}; - break; - case 'MARCH_NEXT': - $this->counter++; - $r=''; - break; - - case 'VEN_ART_NAME': - extract ($p_array); - $id='e_march'.$this->counter; - // check if the march exists - if ( ! isset (${$id})) return ""; - // check that something is sold - if ( ${'e_march'.$this->counter.'_price'} != 0 && ${'e_quant'.$this->counter} != 0 ) - { - $f=new Fiche($this->db); - $f->get_by_qcode(${$id},false); - $r=$f->strAttribut(ATTR_DEF_NAME); - } - else $r = ""; - break; - case 'VEN_ART_LABEL': - extract ($p_array); - $id='e_march'.$this->counter."_label"; - // check if the march exists - - if (! isset (${$id}) || (isset (${$id}) && strlen(trim(${$id})) == 0)) - { - $id = 'e_march' . $this->counter; - // check if the march exists - if (!isset(${$id})) - $r= ""; - else - { - // check that something is sold - if (${'e_march' . $this->counter . '_price'} != 0 && ${'e_quant' . $this->counter} != 0) - { - $f = new Fiche($this->db); - $f->get_by_qcode(${$id}, false); - $r = $f->strAttribut(ATTR_DEF_NAME); - } else - $r = ""; - } - } - else - $r=${'e_march'.$this->counter.'_label'}; - break; - case 'VEN_ART_STOCK_CODE': - extract ($p_array); - $id = 'e_march' . $this->counter; - // check if the march exists - if (!isset(${$id})) - $r= ""; - else - { - // check that something is sold - if (${'e_march' . $this->counter . '_price'} != 0 && ${'e_quant' . $this->counter} != 0) - { - $f = new Fiche($this->db); - $f->get_by_qcode(${$id}, false); - $r = $f->strAttribut(ATTR_DEF_STOCK); - $r=($r == NOTFOUND)?'':$r; - } - } - break; - case 'VEN_ART_PRICE': - extract ($p_array); - $id='e_march'.$this->counter.'_price' ; - if ( !isset (${$id}) ) return ""; - if (${$id} == 0 ) return ""; - $r=${$id}; - break; - - case 'TVA_RATE': - case 'VEN_ART_TVA_RATE': - extract ($p_array); - $id='e_march'.$this->counter.'_tva_id'; - if ( !isset (${$id}) ) return ""; - if ( ${$id} == -1 || ${$id}=='' ) return ""; - $march_id='e_march'.$this->counter.'_price' ; - if ( ! isset (${$march_id})) return ''; - $tva=new Acc_Tva($this->db); - $tva->set_parameter("id",${$id}); - if ( $tva->load() == -1) return ''; - return $tva->get_parameter("rate"); - break; - - case 'TVA_CODE': - case 'VEN_ART_TVA_CODE': - extract ($p_array); - $id='e_march'.$this->counter.'_tva_id'; - if ( !isset (${$id}) ) return ""; - if ( ${$id} == -1 ) return ""; - $qt='e_quant'.$this->counter; - $price='e_march'.$this->counter.'_price' ; - if ( ${$price} == 0 || ${$qt} == 0 - || strlen(trim( $price )) ==0 - || strlen(trim($qt)) ==0) - return ""; - - $r=${$id}; - break; - - case 'TVA_LABEL': - extract ($p_array); - $id='e_march'.$this->counter.'_tva_id'; - if ( !isset (${$id}) ) return ""; - $march_id='e_march'.$this->counter.'_price' ; - if ( ! isset (${$march_id})) return ''; - if ( ${$march_id} == 0) return ''; - $tva=new Acc_Tva($this->db,${$id}); - if ($tva->load() == -1 ) return ""; - $r=$tva->get_parameter('label'); - - break; - - /* total VAT for one sold */ - case 'TVA_AMOUNT': - case 'VEN_TVA': - extract ($p_array); - $qt='e_quant'.$this->counter; - $price='e_march'.$this->counter.'_price' ; - $tva='e_march'.$this->counter.'_tva_id'; - /* if we do not use vat this var. is not set */ - if ( !isset(${$tva}) ) return ''; - if ( !isset (${'e_march'.$this->counter}) ) return ""; - // check that something is sold - if ( ${$price} == 0 || ${$qt} == 0 - || strlen(trim( $price )) ==0 - || strlen(trim($qt)) ==0) - return ""; - $r=${'e_march'.$this->counter.'_tva_amount'}; - break; - /* TVA automatically computed */ - case 'VEN_ART_TVA': - - extract ($p_array); - $qt='e_quant'.$this->counter; - $price='e_march'.$this->counter.'_price' ; - $tva='e_march'.$this->counter.'_tva_id'; - if ( !isset (${'e_march'.$this->counter}) ) return ""; - // check that something is sold - if ( ${$price} == 0 || ${$qt} == 0 - || strlen(trim( $price )) ==0 - || strlen(trim($qt)) ==0) - return ""; - $oTva=new Acc_Tva($this->db,${$tva}); - if ($oTva->load() == -1 ) return ""; - $r=round(${$price},2)*$oTva->get_parameter('rate'); - $r=round($r,2); - break; - - case 'VEN_ART_TVAC': - extract ($p_array); - $qt='e_quant'.$this->counter; - $price='e_march'.$this->counter.'_price' ; - $tva='e_march'.$this->counter.'_tva_id'; - if ( !isset (${'e_march'.$this->counter}) ) return ""; - // check that something is sold - if ( ${$price} == 0 || ${$qt} == 0 - || strlen(trim( $price )) ==0 - || strlen(trim($qt)) ==0) - return ""; - if ( ! isset (${$tva}) ) return ''; - $tva=new Acc_Tva($this->db,${$tva}); - if ($tva->load() == -1 ) - { - $r=round(${$price},2); - } - else - { - $r=round(${$price}*$tva->get_parameter('rate')+${$price},2); - } - - break; - - case 'VEN_ART_QUANT': - extract ($p_array); - $id='e_quant'.$this->counter; - if ( !isset (${$id}) ) return ""; - // check that something is sold - if ( ${'e_march'.$this->counter.'_price'} == 0 - || ${'e_quant'.$this->counter} == 0 - || strlen(trim( ${'e_march'.$this->counter.'_price'} )) ==0 - || strlen(trim(${'e_quant'.$this->counter})) ==0 ) - return ""; - $r=${$id}; - break; - - case 'VEN_HTVA': - extract ($p_array); - $id='e_march'.$this->counter.'_price' ; - $quant='e_quant'.$this->counter; - if ( !isset (${$id}) ) return ""; - - // check that something is sold - if ( ${'e_march'.$this->counter.'_price'} == 0 || ${'e_quant'.$this->counter} == 0 - || strlen(trim( ${'e_march'.$this->counter.'_price'} )) ==0 - || strlen(trim(${'e_quant'.$this->counter})) ==0) - return ""; - bcscale(4); - $r=bcmul(${$id},${$quant}); - $r=round($r,2); - break; - - case 'VEN_TVAC': - extract ($p_array); - $id='e_march'.$this->counter.'_tva_amount' ; - $price='e_march'.$this->counter.'_price' ; - $quant='e_quant'.$this->counter; - if ( ! isset(${'e_march'.$this->counter.'_price'})|| !isset(${'e_quant'.$this->counter})) return ""; - // check that something is sold - if ( ${'e_march'.$this->counter.'_price'} == 0 || ${'e_quant'.$this->counter} == 0 ) return ""; - bcscale(4); - // if TVA not exist - if ( ! isset(${$id})) - $r= bcmul(${$price},${$quant}); - else{ - $r= bcmul(${$price},${$quant}); - $r=bcadd($r,${$id}); - } - $r=round($r,2); - return $r; - break; - - case 'TOTAL_VEN_HTVA': - extract($p_array); - bcscale(4); - $sum=0.0; - for ($i=0;$i<$nb_item;$i++) - { - $sell='e_march'.$i.'_price'; - $qt='e_quant'.$i; - - if ( ! isset (${$sell}) ) break; - - if ( strlen(trim(${$sell})) == 0 || - strlen(trim(${$qt})) == 0 || - ${$qt}==0 || ${$sell}==0) - continue; - $tmp1=bcmul(${$sell},${$qt}); - $sum=bcadd($sum,$tmp1); - - - } - $r=round($sum,2); - break; - case 'TOTAL_VEN_TVAC': - extract($p_array); - $sum=0.0; - bcscale(4); - for ($i=0;$i<$nb_item;$i++) - { - $tva='e_march'.$i.'_tva_amount'; - $tva_amount=0; - /* if we do not use vat this var. is not set */ - if ( isset(${$tva}) ) - { - $tva_amount=${$tva}; - } - $sell=${'e_march'.$i.'_price'}; - $qt=${'e_quant'.$i}; - $tot=bcmul($sell,$qt); - $tot=bcadd($tot,$tva_amount); - $sum=bcadd($sum,$tot); - } - $r=round($sum,2); - - break; - case 'TOTAL_TVA': - extract($p_array); - $sum=0.0; - for ($i=0;$i<$nb_item;$i++) - { - $tva='e_march'.$i.'_tva_amount'; - if (! isset(${$tva})) $tva_amount=0.0; - else $tva_amount=$ - { - $tva - }; - $sum+=$tva_amount; - $sum=round($sum,2); - } - $r=$sum; - - break; - case 'BON_COMMANDE': - if ( isset($p_array['bon_comm'])) - return $p_array['bon_comm']; - else - return ""; - break; - case 'PJ': - if ( isset($p_array['e_pj'])) - return $p_array['e_pj']; - else - return ""; - - case 'OTHER_INFO': - if ( isset($p_array['other_info'])) - return $p_array['other_info']; - else - return ""; - break; - case 'COMMENT': - if ( isset($p_array['e_comm'])) - return $p_array['e_comm']; - break; - case 'ACOMPTE': - if ( isset($p_array['acompte'])) - return $p_array['acompte']; - return "0"; - break; - case 'STOCK_NAME': - if ( ! isset ($p_array['repo'])) return ""; - $ret=$this->db->get_value('select r_name from public.stock_repository where r_id=$1',array($p_array['repo'])); - return $ret; - case 'STOCK_ADRESS': - if ( ! isset ($p_array['repo'])) return ""; - $ret=$this->db->get_value('select r_adress from public.stock_repository where r_id=$1',array($p_array['repo'])); - return $ret; - case 'STOCK_COUNTRY': - if ( ! isset ($p_array['repo'])) return ""; - $ret=$this->db->get_value('select r_country from public.stock_repository where r_id=$1',array($p_array['repo'])); - return $ret; - case 'STOCK_CITY': - if ( ! isset ($p_array['repo'])) return ""; - $ret=$this->db->get_value('select r_city from public.stock_repository where r_id=$1',array($p_array['repo'])); - return $ret; - case 'STOCK_PHONE': - if ( ! isset ($p_array['repo'])) return ""; - $ret=$this->db->get_value('select r_phone from public.stock_repository where r_id=$1',array($p_array['repo'])); - return $ret; - case 'TITLE': - $title=HtmlInput::default_value_request("ag_title", ""); - return $title; - - } - /* - * retrieve the value of ATTR for e_march - */ - if (preg_match('/^ATTR/', $p_tag) == 1) - { - // Retrieve f_id - if ( isset ($p_array['e_march'.$this->counter])) - { - $id = $p_array['e_march' . $this->counter]; - $r=$this->replace_special_tag($id,$p_tag); - } - } - /* - * retrieve the value of ATTR for e_march - */ - if (preg_match('/^BENEFATTR/', $p_tag) == 1) - { - $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:''; - // Retrieve f_id - $r=$this->replace_special_tag($qcode,$p_tag); - } - if (preg_match('/^CUSTATTR/', $p_tag) == 1) - { - if ( isset($p_array['qcode_dest']) || isset($p_array['e_client']) ) - { - $qcode=(isset($p_array['qcode_dest']))?$p_array['qcode_dest']:$p_array['e_client']; - $r=$this->replace_special_tag($qcode,$p_tag); - } - } - return $r; - } - /*!\brief remove a row from the table document, the lob object is not deleted - * because can be linked elsewhere - */ - function remove() - { - $d_lob=$this->db->get_value('select d_lob from document where d_id=$1', - array($this->d_id)); - $sql='delete from document where d_id='.$this->d_id; - $this->db->exec_sql($sql); - if ( $d_lob != 0 ) - $this->db->lo_unlink($d_lob); - } - /*!\brief Move a document from the table document into the concerned row - * the document is not copied : it is only a link - * - * \param $p_internal internal code - * - */ - function MoveDocumentPj($p_internal) - { - $sql="update jrn set jr_pj=$1,jr_pj_name=$2,jr_pj_type=$3 where jr_internal=$4"; - - $this->db->exec_sql($sql,array($this->d_lob,$this->d_filename,$this->d_mimetype,$p_internal)); - // clean the table document - $sql='delete from document where d_id='.$this->d_id; - $this->db->exec_sql($sql); - - - } - /** - *Replace a special tag *TAGxxxx with the value from fiche_detail, the xxxx - * is the ad_value - * @param $p_qcode qcode of the card - * @param $p_tag tag to parse - * @return the ad_value contained in fiche_detail or for the type "select" the - * label - */ - function replace_special_tag($p_qcode, $p_tag) - { - // check if the march exists - if ($p_qcode == "") - return ""; - - $f = new Fiche($this->db); - $found = $f->get_by_qcode($p_qcode, false); - // if not found exit - if ($found == 1) - return ""; - - // get the ad_id - $attr=preg_replace("/^.*ATTR/","",$p_tag); - - if (isNumber($attr) == 0) return ""; - $ad_type=$this->db->get_value("select ad_type from attr_def where ad_id=$1",array($attr)); - - // get ad_value - $ad_value=$this->db->get_value("select ad_value from fiche_detail where f_id=$1 and ad_id=$2",array($f->id,$attr)); - - // if ad_id is type select execute select and get value - if ( $ad_type=="select") - { - $sql=$this->db->get_value("select ad_extra from attr_def where ad_id=$1",array($attr)); - $array= $this->db->make_array($sql); - for ($a=0;$adb->exec_sql('update document set d_description = $1 where d_id=$2', - array($p_desc,$this->d_id)); - } - -} diff --git a/sources/include/class_document_export.php b/sources/include/class_document_export.php deleted file mode 100644 index 8de4af2..0000000 --- a/sources/include/class_document_export.php +++ /dev/null @@ -1,215 +0,0 @@ -feedback = array(); - $this->store_convert = tempnam($_ENV['TMP'], 'convert_'); - $this->store_pdf = tempnam($_ENV['TMP'], 'pdf_'); - unlink($this->store_convert); - unlink($this->store_pdf); - umask(0); - mkdir($this->store_convert); - mkdir($this->store_pdf); - } - /** - * @brief concatenate all PDF into a single one and save it into the - * store_pdf folder. - * If an error occurs then it is added to feedback - */ - function concatenate_pdf() - { - try - { - $this->check_file(); - $stmt=PDFTK." ".$this->store_pdf.'/stamp_*pdf output '.$this->store_pdf.'/result.pdf'; - $status=0; - echo $stmt; - passthru($stmt, $status); - - if ($status<>0) - { - $cnt_feedback=count($this->feedback); - $this->feedback[$cnt_feedback]['file']='result.pdf'; - $this->feedback[$cnt_feedback]['message']=' cannot concatenate PDF'; - $this->feedback[$cnt_feedback]['error']=$status; - } - } - catch (Exception $exc) - { - $cnt_feedback=count($this->feedback); - $this->feedback[$cnt_feedback]['file']=' '; - $this->feedback[$cnt_feedback]['message']=$exc->getMessage(); - $this->feedback[$cnt_feedback]['error']=0; - } - } - - function move_file($p_source, $target) - { - $this->check_file(); - copy($p_source, $this->store_pdf . '/' . $target); - } - /** - * @brief send the resulting PDF to the browser - */ - function send_pdf() - { - header('Content-Type: application/x-download'); - header('Content-Disposition: attachment; filename="result.pdf"'); - header('Cache-Control: private, max-age=0, must-revalidate'); - header('Pragma: public'); - echo file_get_contents($this->store_pdf . '/result.pdf'); - } - - function clean_folder() - { - //unlink($this->store_convert . '/*.pdf'); - } - - /** - * @brief export all the pieces in PDF and transform them into a PDF with - * a stamp. If an error occurs then $this->feedback won't be empty - * @param $p_array contents all the jr_id - */ - function export_all($p_array) - { - $this->check_file(); - ob_start(); - var_dump($p_array); - $cnt_feedback=0; - global $cn; - - $cn->start(); - foreach ($p_array as $value) - { - // For each file save it into the temp folder, - $file = $cn->get_array('select jr_pj,jr_pj_name,jr_pj_number,jr_pj_type from jrn ' - . ' where jr_id=$1', array($value)); - if ($file[0]['jr_pj'] == '') - continue; - - $cn->lo_export($file[0]['jr_pj'], $this->store_convert . '/' . $file[0]['jr_pj_name']); - - // Convert this file into PDF - if ($file[0]['jr_pj_type'] != 'application/pdf') - { - $status = 0; - $arg=" ".escapeshellarg($this->store_convert.DIRECTORY_SEPARATOR.$file[0]['jr_pj_name']); - echo "arg = [".$arg."]"; - passthru(OFFICE . " " . $arg , $status); - if ($status <> 0) - { - $this->feedback[$cnt_feedback]['file'] = $file[0]['jr_pj_name']; - $this->feedback[$cnt_feedback]['message'] = ' cannot convert to PDF'; - $this->feedback[$cnt_feedback]['error'] = $status; - $cnt_feedback++; - continue; - } - } - - // Create a image with the stamp + formula - $img = imagecreatefromgif(__DIR__ . '/template/template.gif'); - $font = imagecolorallocatealpha($img, 100, 100, 100, 110); - imagettftext($img, 40, 25, 500, 1000, $font, __DIR__ . '/tfpdf/font/unifont/DejaVuSans.ttf', _("Copie certifiée conforme à l'original")); - imagettftext($img, 40, 25, 550, 1100, $font, __DIR__ . '/tfpdf/font/unifont/DejaVuSans.ttf', $file[0]['jr_pj_number']); - imagettftext($img, 40, 25, 600, 1200, $font, __DIR__ . '/tfpdf/font/unifont/DejaVuSans.ttf', $file[0]['jr_pj_name']); - imagegif($img, $this->store_convert . '/' . 'stamp.gif'); - - // transform gif file to pdf with convert tool - $stmt = CONVERT_GIF_PDF . " " . escapeshellarg($this->store_convert . '/' . 'stamp.gif') . " " . escapeshellarg($this->store_convert . '/stamp.pdf'); - passthru($stmt, $status); - - if ($status <> 0) - { - $this->feedback[$cnt_feedback]['file'] = 'stamp.pdf'; - $this->feedback[$cnt_feedback]['message'] = ' cannot convert to PDF'; - $this->feedback[$cnt_feedback]['error'] = $status; - $cnt_feedback++; - continue; - } - - // - // remove extension - $ext = strrpos($file[0]['jr_pj_name'], "."); - $file_pdf = substr($file[0]['jr_pj_name'], 0, $ext); - $file_pdf .=".pdf"; - - // output - $output = $this->store_convert . '/stamp_' . $file_pdf; - - // Concatenate stamp + file - $stmt = PDFTK . " " . escapeshellarg($this->store_convert . '/' . $file_pdf) . ' stamp ' . $this->store_convert . - '/stamp.pdf output ' . $output; - - passthru($stmt, $status); - echo $stmt; - if ($status <> 0) - { - - $this->feedback[$cnt_feedback]['file'] = $file_pdf; - $this->feedback[$cnt_feedback]['message'] = _(' ne peut pas convertir en PDF'); - $this->feedback[$cnt_feedback]['error'] = $status; - $cnt_feedback++; - continue; - } - // Move the PDF into another temp directory - $this->move_file($output, 'stamp_' . $file_pdf); - } - $this->concatenate_pdf(); - ob_clean(); - $this->send_pdf(); - - // remove files from "conversion folder" - $this->clean_folder(); - var_dump($this->feedback); - // concatenate all pdf into one - } - /** - * @brief check that the files are installed - * throw a exception if one is missing - */ - function check_file() - { - try - { - if (CONVERT_GIF_PDF == 'NO') throw new Exception(_("CONVERT_GIF_PDF n'est pas installé")); - if (PDFTK == 'NO') throw new Exception(_("TKPDF n'est pas installé")); - } catch (Exception $ex) - { - throw ($ex); - } - } -} diff --git a/sources/include/class_document_modele.php b/sources/include/class_document_modele.php deleted file mode 100644 index e993af3..0000000 --- a/sources/include/class_document_modele.php +++ /dev/null @@ -1,364 +0,0 @@ -cn=$p_cn; - $this->md_id=$p_id; - } - - /*! - ************************************************** - * \brief : show all the stored document_modele. - * return a string containing all the data - * separate by TD & TR tag - * \return table in HTML Code - */ - function myList() - { - $s=dossier::get(); - $sql="select md_id,md_name,md_affect,dt_value from document_modele join document_type on(dt_id=md_type) order by md_name"; - $Res=$this->cn->exec_sql($sql); - $all=Database::fetch_all($Res); - $r=''; - if ( Database::num_row($Res) != 0 ) { - - $r.='

      '; - $r.=dossier::hidden(); - $r.=""; - $r.=" "; - $r.=th(_('Nom')); - $r.=th(_('Catégorie')); - $r.=th(_('Affect.')); - $r.=th(_('Fichier')); - $r.=th(_('Effacer')); - $r.=""; - foreach ( $all as $row) - { - $r.=""; - $r.=""; - $r.=""; - $r.=td(h($row['md_affect'])); - $r.=""; - $r.=""; - $r.=td(HtmlInput::detail_modele_document($row['md_id'],'Modifier')); - - $r.=""; - } - $r.="
      "; - $r.=h($row['md_name']); - $r.=""; - $r.=$row['dt_value']; - $r.=""; - $r.='Document'; - $r.=""; - $c=new ICheckBox(); - $c->name="dm_remove_".$row['md_id']; - $r.=$c->input(); - $r.="
      "; - - // need hidden parameter for subaction - $a=new IHidden(); - $a->name="sa"; - $a->value="rm_template"; - $r.=$a->input(); - $r.=HtmlInput::submit("rm_template","Effacer la sélection"); - } - $b=new IButton('show'); - $b->label="Ajout d'un document"; - $b->javascript="$('add_modele').style.display='block';new Draggable('add_modele',{starteffect:function(){ - new Effect.Highlight(obj.id,{scroll:window,queue:'end'});}});"; - $r.=$b->input(); - $r.="

      "; - return $r; - } - /*! - * \brief : Save a document_modele in the database, - * if the document_modele doesn't exist yet it will be - * first created (-> insert into document_modele) - * in that case the name and the type must be set - * set before calling Save, the name will be modified - * with sql_string - * - */ - function Save() - { - // if name is empty return immediately - if ( trim(strlen($this->md_name))==0) - return; - try - { - // Start transaction - $this->cn->start(); - // Save data into the table document_modele - // if $this->md_id == -1 it means it is a new document model - // so first we have to insert it - // the name and the type must be set before calling save - if ( $this->md_id == -1) - { - - // insert into the table document_modele - $this->md_id=$this->cn->get_next_seq('document_modele_md_id_seq'); - $sql="insert into document_modele(md_id,md_name,md_type,md_affect) - values ($1,$2,$3,$4)"; - - $Ret=$this->cn->exec_sql($sql,array($this->md_id,$this->md_name,$this->md_type,$this->md_affect)); - // create the sequence for this modele of document - $this->md_sequence="document_".$this->cn->get_next_seq("document_seq"); - // if start is not equal to 0 and he's a number than the user - // request a number change - - if ( $this->start != 0 && isNumber($this->start) == 1 ) - { - $sql="alter sequence seq_doc_type_".$this->md_type." restart ".$this->start; - $this->cn->exec_sql($sql); - } - - } - // Save the file - $new_name=tempnam($_ENV['TMP'],'document_'); - if ( strlen ($_FILES['doc']['tmp_name']) != 0 ) - { - if (move_uploaded_file($_FILES['doc']['tmp_name'], - $new_name)) - { - // echo "Image saved"; - $oid= $this->cn->lo_import($new_name); - if ( $oid == false ) - { - echo_error('class_document_modele.php',__LINE__,"cannot upload document"); - $this->cn->rollback(); - return; - } - // Remove old document - $ret=$this->cn->exec_sql("select md_lob from document_modele where md_id=".$this->md_id); - if (Database::num_row($ret) != 0) - { - $r=Database::fetch_array($ret,0); - $old_oid=$r['md_lob']; - if (strlen($old_oid) != 0) - $this->cn->lo_unlink($old_oid); - } - // Load new document - $this->cn->exec_sql("update document_modele set md_lob=".$oid.", md_mimetype='".$_FILES['doc']['type']."' ,md_filename='".$_FILES['doc']['name']."' where md_id=".$this->md_id); - $this->cn->commit(); - } - else - { - echo "

      Error

      "; - $this->cn->rollback(); - throw new Exception("Erreur".__FILE__.__LINE__); - } - } - } - catch (Exception $e) - { - rollback($this->cn); - return ; - } - } - /*! - * \brief Remove a template - * \return nothing - */ - function Delete() - { - $this->cn->start(); - // first we unlink the document - $sql="select md_lob from document_modele where md_id=".$this->md_id; - $res=$this->cn->exec_sql($sql); - $r=Database::fetch_array($res,0); - // if a lob is found - if ( strlen ($r['md_lob']) && - $this->cn->exist_blob($r['md_lob']) ) - { - // we remove it first - $this->cn->lo_unlink($r['md_lob']); - } - // now we can delete the row - $sql="delete from document_modele where md_id =".$this->md_id; - $sql=$this->cn->exec_sql($sql); - $this->cn->commit(); - } - - /** - * @brief show the form for loading a template - * @param p_action for the field action = destination url - * - * - * @return string containing the forms - */ - function form() - { - $r='

      '; - $r.='Veuillez introduire les modèles servant à générer vos documents'; - $r.='

      '; - $r.='
      '; - $r.=dossier::hidden(); - // we need to add the sub action as hidden - $h=new IHidden(); - $h->name="sa"; - $h->value="add_document"; - - $r.=$h->input(); - - $r.=''; - $t=new IText(); - $t->name="md_name"; - $r.=""; - - $r.=""; - $r.=""; - $w=new ISelect(); - $w->name="md_type"; - - $w->value=$this->cn->make_array('select dt_id,dt_value from document_type order by dt_value'); - $r.=""; - - $r.=''; - $r.=td(_('Affectation')); - $waffect=new ISelect(); - $waffect->name='md_affect'; - $waffect->value=array( - array('value'=>'ACH','label'=>_('Uniquement journaux achat')), - array('value'=>'VEN','label'=>_('Uniquement journaux vente')), - array('value'=>'GES','label'=>_('Partie gestion')) - ); - - $r.=td($waffect->input()); - $r.=''; - - $f=new IFile(); - $f->name="doc"; - $r.=""; - - $start=new IText(); - $start->name="start_seq"; - $start->size=9; - $start->value="0"; - - $r.=""; - $r.=''; - $r.=""; - $r.='
      Nom ".$t->input()."
      Catégorie de document ".$w->input()."
      fichier ".$f->input()."
      Numerotation commence a ".$start->input()."Si vous laissez à 0, la numérotation ne changera pas, la prochaine facture sera n+1, n étant le n° que vous avez donné
      '; - $r.=HtmlInput::submit('add_document','Ajout'); - $r.="

      "; - return $r; - } - /*!\brief load the value of a document_modele,the ag_id variable must be set - */ - function load() - { - $array=$this->cn->get_array("SELECT md_id, md_name, md_lob, md_type, md_filename, md_mimetype,md_affect". - " FROM document_modele where md_id=$1",array($this->md_id)); - if ( count($array) == 0 ) return null; - foreach ( array('md_name', 'md_lob','md_type', 'md_filename', 'md_mimetype','md_affect') as $idx) - { - $this->$idx=$array[0][$idx]; - } - } - /*! - * \brief : update a document_modele in the database, - */ - function update($p_array) - { - $this->load(); - // if name is empty return immediately - if ( trim(strlen($p_array['md_name']))==0) - return; - try - { - // Start transaction - $this->cn->start(); - $sql="update document_modele set md_name=$1,md_type=$2,md_affect=$3 where md_id=$4"; - $this->cn->exec_sql($sql,array( - $p_array['md_name'], - $p_array['md_type'], - $p_array['md_affect'], - $this->md_id - )); - if ( $p_array['seq'] != 0 ) - $this->cn->alter_seq('seq_doc_type_'.$p_array['md_type'],$p_array['seq']); - - // Save the file - $new_name=tempnam($_ENV['TMP'],'document_'); - if ( strlen ($_FILES['doc']['tmp_name']) != 0 ) - { - if (move_uploaded_file($_FILES['doc']['tmp_name'], - $new_name)) - { - // echo "Image saved"; - $oid= $this->cn->lo_import($new_name); - if ( $oid == false ) - { - echo_error('class_document_modele.php',__LINE__,"cannot upload document"); - $this->cn->rollback(); - return; - } - // Remove old document - $ret=$this->cn->exec_sql("select md_lob from document_modele where md_id=".$this->md_id); - if (Database::num_row($ret) != 0) - { - $r=Database::fetch_array($ret,0); - $old_oid=$r['md_lob']; - if (strlen($old_oid) != 0) - $this->cn->lo_unlink($old_oid); - } - // Load new document - $this->cn->exec_sql("update document_modele set md_lob=".$oid.", md_mimetype='".$_FILES['doc']['type']."' ,md_filename='".$_FILES['doc']['name']."' where md_id=".$this->md_id); - $this->cn->commit(); - } - else - { - echo "

      Error

      "; - $this->cn->rollback(); - throw new Exception("Erreur".__FILE__.__LINE__); - } - } - } - catch (Exception $e) - { - rollback($this->cn); - return ; - } - $this->cn->commit(); - } - -} -?> diff --git a/sources/include/class_document_type.php b/sources/include/class_document_type.php deleted file mode 100644 index 2b4b8f0..0000000 --- a/sources/include/class_document_type.php +++ /dev/null @@ -1,137 +0,0 @@ -db = $p_cn; - $this->dt_id = $p_id; - } - - /** - * \brief Get all the data for this dt_id - */ - - function get() - { - $sql = "select * from document_type where dt_id=$1"; - $R = $this->db->exec_sql($sql, array($this->dt_id)); - if (count($R) == 0) return 1; - $r = Database::fetch_array($R, 0); - $this->dt_id = $r['dt_id']; - $this->dt_value = $r['dt_value']; - $this->dt_prefix = $r['dt_prefix']; - return 0; - } - - /** - * @brief get a list - * @parameter $p_cn database connection - * @return array of data from document_type - */ - static function get_list($p_cn) - { - $sql = "select * from document_type order by dt_value"; - $r = $p_cn->get_array($sql); - $array = array(); - for ($i = 0; $i < count($r); $i++) - { - $tmp['dt_value'] = $r[$i]['dt_value']; - $tmp['dt_prefix'] = $r[$i]['dt_prefix']; - - $bt = new IButton('M' . $r[$i]['dt_id']); - $bt->label = _('Modifier'); - $bt->javascript = "cat_doc_change('" . $r[$i]['dt_id'] . "','" . Dossier::id() . "');"; - - $tmp['js_mod'] = $bt->input(); - $tmp['dt_id'] = $r[$i]['dt_id']; - - $bt = new IButton('X' . $r[$i]['dt_id']); - $bt->label = _('Effacer'); - $bt->javascript = "confirm_box('X{$r[$i]['dt_id']}','" . _('Vous confirmez') . "',"; - $bt->javascript.="function () { cat_doc_remove('{$r[$i]['dt_id']}','" . Dossier::id() . "');})"; - - $tmp['js_remove'] = $bt->input(); - - - $array[$i] = $tmp; - } - return $array; - } - - function insert($p_value, $p_prefix) - { - $sql = "insert into document_type(dt_value,dt_prefix) values ($1,$2)"; - try - { - if ($this->db->count_sql('select * from document_type where upper(dt_value)=upper(trim($1))', array($p_value)) > 0) - throw new Exception('Nom en double'); - if (strlen(trim($p_value)) > 0) - $this->db->exec_sql($sql, array($p_value, $p_prefix)); - } - catch (Exception $e) - { - alert(j(_("Impossible d'ajouter [$p_value] ") . $e->getMessage())); - } - } - - /** - * Update - */ - function update() - { - try - { - $this->db->exec_sql("update document_type set dt_value=$1,dt_prefix=$2 where dt_id=$3", array($this->dt_value, - $this->dt_prefix, $this->dt_id)); - } - catch (Exception $e) - { - alert(" Erreur " . $e->getMessage()); - } - } - - function set_number($p_int) - { - try - { - $this->db->exec_sql("alter sequence seq_doc_type_" . $this->dt_id . " restart " . $p_int); - } - catch (Exception $e) - { - alert("Erreur " . $e->getMessage()); - } - } -} diff --git a/sources/include/class_dossier.php b/sources/include/class_dossier.php deleted file mode 100644 index 2925587..0000000 --- a/sources/include/class_dossier.php +++ /dev/null @@ -1,314 +0,0 @@ -"dos_id", - "name"=>"dos_name", - "desc"=>"dos_description"); - * - */ -require_once NOALYSS_INCLUDE.'/class_database.php'; -require_once NOALYSS_INCLUDE.'/ac_common.php'; - -class Dossier -{ - private static $variable=array("id"=>"dos_id", - "name"=>"dos_name", - "desc"=>"dos_description"); - function __construct($p_id) - { - $this->cn=new Database(); // Connect to the repository - $this->dos_id=$p_id; - } - /*!\brief return the $_REQUEST['gDossier'] after a check */ - static function id() - { - self::check(); - return $_REQUEST['gDossier']; - } - - /** - * @brief Show the folder where user have access. - * @param p_type string - - A for all dossiers - - R for accessible folders - - X forbidden folders - * @param p_login is the user name - * @param p_text is a part of the name where are looking for - * @return nothing - * - */ - static function show_dossier($p_type,$p_login="",$p_text="",$limit=0) - { - $cn=new Database(); - $str_limit=($limit==0)?'':' limit '.$limit; - if ( $p_type == "A") - { - $l_sql="select *, 'W' as priv_priv from ac_dossier where dos_name ~* $2 or dos_description ~* $2 ORDER BY dos_name $str_limit "; - $a_row=$cn->get_array($l_sql,$p_text); - return $a_row; - } - else if ($p_type == "R") - { - $l_sql="select * from jnt_use_dos - natural join ac_dossier - natural join ac_users - where - use_login=$1 - and ( dos_name ~* $2 or dos_description ~* $2) - - order by dos_name - $str_limit - "; - - $a_row=$cn->get_array($l_sql,array($p_login,$p_text)); - return $a_row; - - } - else if ($p_type == 'X') - { - $l_sql=' select * from ac_dossier where dos_id not in - (select dos_id from jnt_use_dos where use_id=$1) - and ( dos_name ~* $2 or dos_description ~* $2) - order by dos_name '.$str_limit; - $a_row=$cn->get_array($l_sql,array($p_login,$p_text)); - return $a_row; - - } - else - { - throw new Exception (_("Erreur paramètre")); - } - - - } - /** - * Count the number of folder in the repository - * @return integer - */ - function count() - { - $nb_folder=$this->cn->get_value('select count(*) from ac_dossier'); - return $nb_folder; - } - /*! - * \brief Return all the users - * as an array - */ - function get_user_folder($sql="") - { - - $sql=" - select - use_id, - use_first_name, - use_name, - use_login, - use_active, - use_admin, - ag_dossier - from - ac_users as ac - left join (select array_to_string(array_agg(dos_name),',') as ag_dossier,jt.use_id as jt_use_id - from ac_dossier as ds - join jnt_use_dos as jt on (jt.dos_id=ds.dos_id) - group by jt.use_id) as dossier_name on (jt_use_id=ac.use_id) - where - use_login!='phpcompta' - $sql - "; - - $res=$this->cn->get_array($sql); - return $res; - } - - /*!\brief check if gDossier is set */ - static function check() - { - if ( ! isset ($_REQUEST['gDossier']) ) - { - echo_error ('Dossier inconnu '); - exit('Dossier invalide '); - } - $id=$_REQUEST['gDossier']; - if ( is_numeric ($id) == 0 || - strlen($id)> 6 || - $id > 999999) - exit('gDossier Invalide : '.$id); - - } - /*!\brief return a string to put to gDossier into a GET */ - static function get() - { - self::check(); - return "gDossier=".$_REQUEST['gDossier']; - - } - - /*!\brief return a string to set gDossier into a FORM */ - static function hidden() - { - self::check(); - return ''; - } - /*!\brief retrieve the name of the current dossier */ - static function name($id=0) - { - self::check(); - - $cn=new Database(); - $id=($id==0)?$_REQUEST['gDossier']:$id; - $name=$cn->get_value("select dos_name from ac_dossier where dos_id=$1",array($_REQUEST['gDossier'])); - return $name; - } - - public function get_parameter($p_string) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - return $this->$idx; - } - else - throw new Exception("Attribut inexistant $p_string"); - } - public function set_parameter($p_string,$p_value) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - $this->$idx=$p_value; - } - else - throw new Exception("Attribut inexistant $p_string"); - - - } - public function get_info() - { - return var_export(self::$variable,true); - } - - public function save() - { - $this->update(); - } - - public function update() - { - if ( strlen(trim($this->dos_name))== 0 ) return; - - if ( $this->cn->get_value("select count(*) from ac_dossier where dos_name=$1 and dos_id<>$2", - array($this->dos_name,$this->dos_id)) !=0 ) - return ; - - $sql="update ac_dossier set dos_name=$1,dos_description=$2 ". - " where dos_id = $3"; - $res=$this->cn->exec_sql( - $sql, - array(trim($this->dos_name), - trim($this->dos_description), - $this->dos_id) - ); - } - - public function load() - { - - $sql="select dos_name,dos_description from ac_dossier where dos_id=$1"; - - $res=$this->cn->exec_sql( - $sql, - array($this->dos_id) - ); - - if ( Database::num_row($res) == 0 ) return; - $row=Database::fetch_array($res,0); - foreach ($row as $idx=>$value) - { - $this->$idx=$value; - } - - } - - static function get_version($p_cn) - { - return $p_cn->get_value('select val from version'); - } - - static function connect() - { - $id = Dossier::id(); - $cn = new Database($id); - return $cn; - } - /** - *connect to folder and give to admin. the profile Admin(builtin) - * @param int $p_id dossier::id() - */ - static function synchro_admin($p_id) - { - // connect to target - $cn=new Database($p_id); - - if (! $cn->exist_table("profile_menu")) - { - echo_warning("Dossier invalide"); - return; - } - // connect to repo - $repo=new Database(); - - $a_admin=$repo->get_array("select use_login from ac_users where - use_admin=1 and use_active=1"); - try - { - /** - * synchro global - */ - $cn->start(); - for ($i=0;$iget_value("select p_id from profile_user - where user_name=$1",array($a_admin[$i]['use_login'])); - if ( $exist == "") - { - $cn->exec_sql("insert into profile_user(user_name,p_id) values($1,1)", - array($a_admin[$i]['use_login'])); - } - - } - $cn->commit(); - } catch(Exception $e) - { - echo_warning($e->getMessage()); - $cn->rollback(); - } - } -} diff --git a/sources/include/class_exercice.php b/sources/include/class_exercice.php deleted file mode 100644 index 490157b..0000000 --- a/sources/include/class_exercice.php +++ /dev/null @@ -1,77 +0,0 @@ -cn=$cn; - } - /** - *return the number of different exercices into a folder - *@param $cn is the database connexion object database - *@return the count of exercice - */ - function count() - { - $count=$this->cn->get_value('select count(distinct p_exercice) from parm_periode'); - return $count; - } - /** - *Show a ISelect with the different exercices - *@param $name of the iselect - *@param $selected the selected year (default = '') - *@param $js javascript (default = '') - *@return ISelect object - */ - function select($name,$selected='',$js='') - { - $iselect=new ISelect($name); - $iselect->value=$this->cn->make_array('select distinct p_exercice,p_exercice from parm_periode order by 1'); - $iselect->selected=$selected; - $iselect->javascript=$js; - return $iselect; - } - /** - *Show a ISelect with the different exercices, display start and end date - *@param $name of the iselect - *@param $selected the selected year (default = '') - *@param $js javascript (default = '') - *@return ISelect object - */ - function select_date($name,$selected='',$js='') - { - $iselect=new ISelect($name); - $iselect->value=$this->cn->make_array("select distinct p_exercice,to_char (min(p_start),'DD.MM.YY') - ||' - ' - ||to_char (max(p_end),'DD.MM.YY') - from parm_periode - group by p_exercice order by 1"); - $iselect->selected=$selected; - $iselect->javascript=$js; - return $iselect; - } -} diff --git a/sources/include/class_extension.php b/sources/include/class_extension.php deleted file mode 100644 index 7ca07c3..0000000 --- a/sources/include/class_extension.php +++ /dev/null @@ -1,309 +0,0 @@ -me_code)=="") throw new Exception('Le code ne peut pas être vide'); - if (trim($this->me_menu)=="") throw new Exception('Le nom ne peut pas être vide'); - if (trim($this->me_file)=="") throw new Exception('Chemin incorrect'); - if (file_exists('..'.DIRECTORY_SEPARATOR.'include'.DIRECTORY_SEPARATOR.'ext'.DIRECTORY_SEPARATOR.$this->me_file) == false) - throw new Exception ('Extension non trouvée, le chemin est-il correct?'); - } - /*!@brief search a extension, the what is the column (extends_code */ - function search($p_what) - { - $this->me_code=strtoupper($p_what); - if ( $this->load() == -1) return null; - return 1; - } - /*!\brief return 1 if the user given in parameter can access this extension - * otherwise returns 0 - *\param $p_login the user login - *\return 1 has access, 0 has no access - */ - function can_request($p_login) - { - $cnt=$this->cn->get_value("select count(*) from menu_ref - join profile_menu using (me_code) - join profile_user using (p_id) - where - me_code=$1 - and user_name=$2", - array($this->me_code,$p_login)); - if ( $cnt > 0) return 1; - return 0; - } - /*!@brief make an array of the available plugin for the current user - * @return an array - *@see ISelect - */ - static function make_array($cn) - { - $sql="select DISTINCT me_code as value, me_menu as label from ". - " menu_ref join profile_menu using (me_code) - join profile_user using (p_id) where ". - " user_name=$1 and me_type='PL' ORDER BY ME_MENU"; - $a=$cn->get_array($sql,array($_SESSION['g_user'])); - return $a; - } - static function check_version($i) - { - global $version_noalyss; - if ( ! isset ($version_noalyss) || $version_noalyss < $i ) - { - alert('Cette extension ne fonctionne pas sur cette version de NOALYSS'. - ' Veuillez mettre votre programme a jour. Version minimum '.$i); - return; - } - Extension::check_plugin_version(); - } - /** - * insert into the table profile_menu for the given profile id and depending - * of the module $p_module - * @global type $cn - * @param type $p_id profile.p_id - * @param type $p_module menu_ref.me_code - * @throws Exception 10 : profile absent , 20 module absent , 30 No parent menu - */ - function insert_profile_menu($p_id=1,$p_module='EXT') - { - global $cn; - //profile exists ? - $profile=new Profile_sql($cn,$p_id); - if ( $profile->p_id != $p_id) { - throw new Exception(_('Profil inexistant'),10); - } - // Menu exists - $module=new Menu_Ref($cn,$p_module); - if ($module->me_code==null) { - throw new Exception(_('Module inexistant'),20); - } - // Dependency - $dep_id=$cn->get_value('select pm_id from profile_menu - where - p_id=$1 - and me_code = $2 ',array($p_id,$p_module)); - // throw an exception if there is no dependency - if ($dep_id=="") { - throw new Exception(_('Pas de menu ').$p_module,30); - } - - $profil_menu=new Profile_Menu($cn); - $profil_menu->me_code=$this->me_code; - $profil_menu->me_code_dep=$p_module; - $profil_menu->p_type_display='S'; - $profil_menu->p_id=$p_id; - $profil_menu->pm_id_dep=$dep_id; - - $cnt=$profil_menu->count(' where p_id=$1 and me_code = $2',array($p_id,$this->me_code)); - if ( $cnt==0) { - $profil_menu->insert(); - } - - - } - function remove_from_profile_menu($p_id) - { - global $cn; - - $cn->exec_sql('delete from profile_menu where (me_code = $1 or me_code in (select me_code from menu_ref where me_file=$2)) and p_id=$3',array($this->me_code,$this->me_file,$p_id)); - - } - /** - * Insert a plugin into the given profile, by default always insert into EXT - * - * @param type $p_id profile.p_id - * @throws Exception if duplicate or error db - */ - function insert_plugin() - { - try - { - $this->cn->start(); - $this->verify(); - // check if duplicate - $this->me_code = strtoupper($this->me_code); - $count = $this->cn->get_value("select count(*) from menu_ref where me_code=$1", array($this->me_code)); - if ($count != 0) - throw new Exception("Doublon"); - $this->me_type = 'PL'; - $this->insert(); - $this->cn->commit(); - } - catch (Exception $exc) - { - echo alert($exc->getMessage()); - } - } - function update_plugin() - { - try - { - $this->cn->start(); - $this->verify(); - $this->me_type = 'PL'; - $this->update(); - $this->cn->commit(); - } - catch (Exception $exc) - { - echo alert($exc->getMessage()); - } - } - function remove_plugin() - { - try - { - $this->cn->start(); - $this->delete(); - $this->cn->commit(); - } - catch (Exception $exc) - { - echo alert($exc->getMessage()); - } - } - /** - *remove all the schema from the plugins - * @param Database $p_cn - */ - static function clean(Database $p_cn) - { - $a_ext=array("tva_belge","amortissement","impdol","coprop","importbank"); - for($i=0;$iexist_schema($a_ext[$i])) { - $p_cn->exec_sql("drop schema ".$a_ext[$i]." cascade"); - } - } - } - static function check_plugin_version() - { - global $g_user,$version_plugin; - if ($g_user->Admin() == 1) - { - if (SITE_UPDATE_PLUGIN != "") - { - $update = @file_get_contents(SITE_UPDATE_PLUGIN); - if ($update > $version_plugin) - { - echo '
      '; - echo '

      '; - echo "Mise à jour disponible des plugins pour NOALYSS, version actuelle : $update votre version $version_plugin"; - echo '

      '; - echo '

      '. - ''. - _('Fermer'). - "

      "; - echo '
      '; - } - } - } - } - /** - * Check that the xml contains all the needed information to change them into - * a extension, the exception code is 0 if the element is optional - * @brief Check XML. - * @param SimpleXMLElement $xml - * @throws Exception - */ - function check_xml(SimpleXMLElement $xml) - { - try { - if ( !isset ($xml->plugin)) throw new Exception(_('Manque plugin'),1); - $nb_plugin=count($xml->plugin); - - for ($i=0;$i<$nb_plugin;$i++) - { - if ( !isset ($xml->plugin[$i]->name)) throw new Exception(_('Manque nom'),1); - if ( !isset ($xml->plugin[$i]->description)) throw new Exception(_('Manque description'),0); - if ( !isset ($xml->plugin[$i]->code)) throw new Exception(_('Manque code'),1); - if ( !isset ($xml->plugin[$i]->author)) throw new Exception(_('Manque auteur'),0); - if ( !isset ($xml->plugin[$i]->root)) throw new Exception(_('Manque répertoire racine'),1); - if ( !isset ($xml->plugin[$i]->file)) throw new Exception(_('Manque fichier à inclure'),1); - } - } catch (Exception $ex) { - throw $ex; - } - } - /** - * Parse a XML file to complete an array of extension objects - * @brief Create extension from XML. - * @param type $p_file filename - * @return array of Extension - */ - static function read_definition($p_file) - { - global $cn; - $dom=new DomDocument('1.0'); - $dom->load($p_file); - $xml=simplexml_import_dom($dom); - $nb_plugin=count($xml->plugin); - $a_extension=array(); - for ($i=0;$i<$nb_plugin;$i++) - { - - $extension=new Extension($cn); - try { - $extension->check_xml($xml); - } catch (Exception $ex) { - echo_warning($e->getMessage()); - if ( $ex->getCode()==1) { - continue; - } - - } - $extension->me_file=trim($xml->plugin[$i]->root).'/'.trim($xml->plugin[$i]->file); - $extension->me_code=trim($xml->plugin[$i]->code); - $extension->me_description=(isset ($xml->plugin[$i]->description))?trim($xml->plugin[$i]->description):""; - $extension->me_description_etendue=(trim($xml->plugin[$i]->author))?trim($xml->plugin[$i]->author):""; - $extension->me_type='PL'; - $extension->me_menu=trim($xml->plugin[$i]->name); - $extension->me_parameter='plugin_code='.trim($xml->plugin[$i]->code); - $a_extension[]=clone $extension; - } - return $a_extension; - } -} - diff --git a/sources/include/class_fiche.php b/sources/include/class_fiche.php deleted file mode 100644 index 065c24a..0000000 --- a/sources/include/class_fiche.php +++ /dev/null @@ -1,1992 +0,0 @@ -cn=$p_cn; - $this->id=$p_id; - $this->quick_code=''; - } - /** - *@brief used with a usort function, to sort an array of Fiche on the name - */ - static function cmp_name(Fiche $o1,Fiche $o2) - { - return strcmp($o1->strAttribut(ATTR_DEF_NAME),$o2->strAttribut(ATTR_DEF_NAME)); - } - - /** - *@brief get the available bank_account filtered by the security - *@return array of card - */ - function get_bk_account() - { - global $g_user; - $sql_ledger=$g_user->get_ledger_sql('FIN',3); - $avail=$this->cn->get_array("select jrn_def_id,jrn_def_name," - . "jrn_def_bank,jrn_def_description from jrn_def where jrn_def_type='FIN' and $sql_ledger - order by jrn_def_name"); - - if ( count($avail) == 0 ) - return null; - - for ($i=0;$icn,$avail[$i]['jrn_def_bank']); - $t->ledger_name=$avail[$i]['jrn_def_name']; - $t->ledger_description=$avail[$i]['jrn_def_description']; - $t->getAttribut(); - $all[$i]=$t; - - } - return $all; - } - - - /*! get_by_qcode($p_qcode) - * \brief Retrieve a card thx his quick_code - * complete the object,, set the id member of the object or set it - * to 0 if no card is found - * \param $p_qcode quick_code (ad_id=23) - * \param $p_all retrieve all the attribut of the card, possible value - * are true or false. false retrieves only the f_id. By default true - * \return 0 success 1 error not found - */ - function get_by_qcode($p_qcode=null,$p_all=true) - { - if ( $p_qcode == null ) - $p_qcode=$this->quick_code; - $p_qcode=trim($p_qcode); - $sql="select f_id from fiche_detail - where ad_id=23 and ad_value=upper($1)"; - $this->id=$this->cn->get_value($sql,array($p_qcode)); - if ( $this->cn->count()==0) - { - $this->id=0; - return 1; - } - - - if ( $p_all ) - $this->getAttribut(); - return 0; - } - /** - *@brief set an attribute by a value, if the attribut array is empty - * a call to getAttribut is performed - *@param the AD_ID - *@param the value - *@see constant.php table: attr_def - */ - function setAttribut($p_ad_id,$p_value) - { - if ( sizeof($this->attribut)==0 ) $this->getAttribut(); - for ($e=0;$e attribut);$e++) - { - if ( $this->attribut[$e]->ad_id == $p_ad_id ) - { - $this->attribut[$e]->av_text=$p_value; - break; - } - } - } - /** - *\brief get all the attribute of a card, add missing ones - * and sort the array ($this-\>attribut) by ad_id - */ - function getAttribut() - { - if ( $this->id == 0) - { - return; - } - $sql="select * - from - fiche - natural join fiche_detail - join jnt_fic_attr on (jnt_fic_attr.fd_id=fiche.fd_id and fiche_detail.ad_id=jnt_fic_attr.ad_id) - join attr_def on (attr_def.ad_id=fiche_detail.ad_id) where f_id=".$this->id. - " order by jnt_order"; - - $Ret=$this->cn->exec_sql($sql); - if ( ($Max=Database::num_row($Ret)) == 0 ) - return ; - for ($i=0;$i<$Max;$i++) - { - $row=Database::fetch_array($Ret,$i); - $this->fiche_def=$row['fd_id']; - $t=new Fiche_Attr ($this->cn); - $t->ad_id=$row['ad_id']; - $t->ad_text=$row['ad_text']; - $t->av_text=$row['ad_value']; - $t->ad_type=$row['ad_type']; - $t->ad_size=$row['ad_size']; - $t->ad_extra=$row['ad_extra']; - $t->jnt_order=$row['jnt_order']; - $this->attribut[$i]=$t; - } - $e=new Fiche_Def($this->cn,$this->fiche_def); - $e->GetAttribut(); - - if ( sizeof($this->attribut) != sizeof($e->attribut ) ) - { - - /* - * !! Missing attribute - */ - foreach ($e->attribut as $f ) - { - $flag=0; - foreach ($this->attribut as $g ) - { - if ( $g->ad_id == $f->ad_id ) - $flag=1; - } - if ( $flag == 0 ) - { - // there's a missing one, we insert it - $t=new Fiche_Attr ($f->ad_id); - $t->av_text=""; - $t->ad_text=$f->ad_text; - $t->jnt_order=$f->jnt_order; - $t->ad_type=$f->ad_type; - $t->ad_size=$f->ad_size; - $t->ad_id=$f->ad_id; - $t->ad_extra=$f->ad_extra; - $this->attribut[$Max]=$t; - $Max++; - } // if flag == 0 - - }// foreach - - - }//missing attribut - } - /** - * @brief find the card with the p_attribut equal to p_value, it is not case sensitive - * @param $p_attribut attribute to find see table attr_def - * @param $p_value value in attr_value.av_text - * @return return ARRAY OF jft_id,f_id,fd_id,ad_id,av_text - */ - function seek($p_attribut,$p_value) - { - $sql="select jft_id,f_id,fd_id,ad_id,ad_value from fiche join fiche_detail using (f_id) - where ad_id=$1 and upper(ad_value)=upper($2)"; - $res=$this->cn->get_array($sql,array($p_attribut,$p_value)); - return $res; - } - - /*! - * \brief give the size of a card object - * - * \return size - */ - function size() - { - if ( isset ($this->ad_id)) - return sizeof($this->ad_id); - else - return 0; - } - - - /*! - ************************************************** - * \brief Return array of card from the frd family - * - * \param $p_frd_id the fiche_def_ref.frd_id - * \param $p_search p_search is a filter on the name - * \param $p_sql extra sql condition - * - * \return array of fiche object - */ - function count_by_modele($p_frd_id,$p_search="",$p_sql="") - { - $sql="select * - from - fiche join fiche_Def using (fd_id) - where frd_id=".$p_frd_id; - if ( $p_search != "" ) - { - $a=sql_string($p_search); - $sql="select * from vw_fiche_attr where frd_id=".$p_frd_id. - " and vw_name ~* '$p_search'"; - } - - $Ret=$this->cn->exec_sql($sql.$p_sql); - - return Database::num_row($Ret) ; - } - /*! - ************************************************** - * \brief Return array of card from the frd family - * - * - * \param $p_frd_id the fiche_def_ref.frd_id - * \param $p_offset - * \param $p_search is an optional filter - *\param $p_order : possible values are name, f_id - * \return array of fiche object - */ - function GetByDef($p_frd_id,$p_offset=-1,$p_search="",$p_order='') - { - switch($p_order) - { - case 'name' : - $order=' order by name'; - break; - case 'f_id': - $order='order by f_id'; - break; - default: - $order=''; - } - if ( $p_offset == -1 ) - { - $sql="select * - from - fiche join fiche_Def using (fd_id) join vw_fiche_name using(f_id) - where frd_id=".$p_frd_id." $p_search ".$order; - } - else - { - $limit=($_SESSION['g_pagesize']!=-1)?"limit ".$_SESSION['g_pagesize']:""; - $sql="select * - from - fiche join fiche_Def using (fd_id) join vw_fiche_name using(f_id) - where frd_id=".$p_frd_id." $p_search $order " - .$limit." offset ".$p_offset; - - } - - $Ret=$this->cn->exec_sql($sql); - if ( ($Max=Database::num_row($Ret)) == 0 ) - return ; - $all[0]=new Fiche($this->cn); - - for ($i=0;$i<$Max;$i++) - { - $row=Database::fetch_array($Ret,$i); - $t=new Fiche($this->cn,$row['f_id']); - $t->getAttribut(); - $all[$i]=clone $t; - - } - return $all; - } - function ShowTable() - { - echo " ". - $this->id."". - " ". - $this->attribut_value."". - " ". - $this->attribut_def.""; - } - /*** - * @brief return the string of the given attribute - * (attr_def.ad_id) - * @param $p_ad_id the AD_ID from attr_def.ad_id - * @param $p_return 1 return NOTFOUND otherwise an empty string - * @see constant.php - * @return string - */ - function strAttribut($p_ad_id,$p_return=1) - { - $return=($p_return==1)?NOTFOUND:""; - if ( sizeof ($this->attribut) == 0 ) - { - - if ($this->id==0) { - return $return; - } - // object is not in memory we need to look into the database - $sql="select ad_value from fiche_detail - where f_id= $1 and ad_id= $2 "; - $Res=$this->cn->exec_sql($sql,array($this->id,$p_ad_id)); - $row=Database::fetch_all($Res); - // if not found return error - if ( $row == false ) - return $return; - - return $row[0]['ad_value']; - } - - foreach ($this->attribut as $e) - { - if ( $e->ad_id == $p_ad_id ) - return $e->av_text; - } - return $return; - } - /** - * @brief make an array of attributes of the category of card (FICHE_DEF.FD_ID) - *The array can be used with the function insert, it will return a struct like this : - * in the first key (av_textX), X is the ATTR_DEF::AD_ID - \verbatim - Example - Array - ( - [av_text1] => Nom - [av_text12] => Personne de contact - [av_text5] => Poste Comptable - [av_text13] => numéro de tva - [av_text14] => Adresse - [av_text15] => code postal - [av_text24] => Ville - [av_text16] => pays - [av_text17] => téléphone - [av_text18] => email - [av_text23] => Quick Code - ) - - \endverbatim - *\param $pfd_id FICHE_DEF::FD_ID - *\return an array of attribute - *\exception Exception if the cat of card doesn't exist, Exception.getCode()=1 - *\see fiche::insert() - */ - function to_array($pfd_id) - { - $sql="select 'av_text'||to_char(ad_id,'9999') as key,". - " ad_text ". - " from fiche_def join jnt_fic_attr using (fd_id)". - " join attr_def using (ad_id) ". - " where fd_id=$1 order by jnt_order"; - $ret=$this->cn->get_array($sql,array($pfd_id)); - if ( empty($ret)) throw new Exception(_('Cette categorie de card n\'existe pas').' '.$pfd_id,1); - $array=array(); - foreach($ret as $idx=>$val) - { - $a=str_replace(' ','',$val['key']); - $array[$a]=$val['ad_text']; - } - return $array; - - } - /*! - * \brief insert a new record - * show a blank card to be filled - * - * \param $p_fiche_def is the fiche_def.fd_id - * - * \return HTML Code - */ - function blank($p_fiche_def) - { - // array = array of attribute object sorted on ad_id - $f=new Fiche_Def($this->cn,$p_fiche_def); - $f->get(); - $array=$f->getAttribut(); - $r=h2(_('Catégorie').' '.$f->label,""); - $r.=''; - foreach ($array as $attr) - { - $table=0; - $msg="";$bulle=''; - if ( $attr->ad_id == ATTR_DEF_ACCOUNT) - { - $w=new IPoste("av_text".$attr->ad_id); - $w->set_attribute('ipopup','ipop_account'); - $w->set_attribute('account',"av_text".$attr->ad_id); - $w->dbl_click_history(); - // account created automatically - $sql="select account_auto($p_fiche_def)"; - $ret_sql=$this->cn->exec_sql($sql); - $a=Database::fetch_array($ret_sql,0); - $label=new ISpan(); - $label->name="av_text".$attr->ad_id."_label"; - - if ( $a['account_auto'] == 't' ) - $msg.=$label->input()." ". - _("Rappel: Poste créé automatiquement à partir de ") - .$f->class_base." "; - else - { - // if there is a class base in fiche_def_ref, this account will be the - // the default one - if ( strlen(trim($f->class_base)) != 0 ) - { - $msg.="".td(_("Poste Comptable"),' class="input_text" ' ).td($w->input().$msg).""; - continue; - } - elseif ( $attr->ad_id == ATTR_DEF_TVA) - { - $w=new ITva_Popup('popup_tva'); - $w->table=1; - } - - else - { - switch ($attr->ad_type) - { - case 'text': - $w = new IText(); - $w->css_size = "100%"; - break; - case 'numeric': - $w = new INum(); - $w->prec=($attr->ad_extra=="")?2:$attr->ad_extra; - $w->size = $attr->ad_size; - break; - case 'date': - $w = new IDate(); - break; - case 'zone': - $w = new ITextArea(); - $w->style=' class="itextarea" style="margin:0px;width:100%"'; - break; - case 'poste': - $w = new IPoste("av_text" . $attr->ad_id); - $w->set_attribute('ipopup', 'ipop_account'); - $w->set_attribute('account', "av_text" . $attr->ad_id); - $w->table = 1; - $bulle = HtmlInput::infobulle(14); - break; - case 'select': - $w = new ISelect("av_text" . $attr->ad_id); - $w->value = $this->cn->make_array($attr->ad_extra); - $w->style= 'style="width:100%"'; - break; - case 'card': - $w = new ICard("av_text" . $attr->ad_id); - // filter on frd_id - $w->extra = $attr->ad_extra; - $w->extra2 = 0; - $label = new ISpan(); - $label->name = "av_text" . $attr->ad_id . "_label"; - $w->set_attribute('ipopup', 'ipopcard'); - $w->set_attribute('typecard', $attr->ad_extra); - $w->set_attribute('inp', "av_text" . $attr->ad_id); - $w->set_attribute('label', "av_text" . $attr->ad_id . "_label"); - $msg = $w->search(); - $msg.=$label->input(); - break; - } - $w->table = 0; - } - $w->table = $table; - $w->label = $attr->ad_text; - $w->name = "av_text" . $attr->ad_id; - if ($attr->ad_id == 21 || $attr->ad_id==22||$attr->ad_id==20||$attr->ad_id==31) - { - $bulle=HtmlInput::infobulle(21); - } - $r.="" . td(_($w->label)." $bulle", ' class="input_text" ') . td($w->input()." $msg")." "; - } - $r.= '
      ".$label->input()." "._("Rappel: Poste par défaut sera "). - $f->class_base. - " ! "; - $w->value=$f->class_base; - } - - } - $r.="
      '; - return $r; - } - - - /*! - * \brief Display object instance, getAttribute - * sort the attribute and add missing ones - * \param $p_readonly true= if can not modify, otherwise false - * - * - * \return string to display or FNT string for fiche non trouvé - */ - function Display($p_readonly) - { - $this->GetAttribut(); - $attr=$this->attribut; - /* show card type here */ - $type_card=$this->cn->get_value('select fd_label ' - . ' from fiche_def join fiche using (fd_id) where f_id=$1', - array($this->id)); - $ret=""; - $ret.=h2(_("Catégorie")." ".$type_card, 'style="display:inline"'); - $ret.=''. - _('id fiche').':'.$this->id.""; - $ret.=""; - if (empty($attr)) - { - return 'FNT'; - } - - /* for each attribute */ - foreach ($attr as $r) - { - $msg=""; - $bulle=""; - if ($p_readonly) - { - $w=new IText(); - $w->table=1; - $w->readOnly=true; - $w->css_size="100%"; - } - if ($p_readonly==false) - { - - if ($r->ad_id==ATTR_DEF_ACCOUNT) - { - $w=new IPoste("av_text".$r->ad_id); - $w->set_attribute('ipopup', 'ipop_account'); - $w->set_attribute('account', "av_text".$r->ad_id); - $w->dbl_click_history(); - // account created automatically - $w->table=0; - $w->value=$r->av_text; - // account created automatically - $sql="select account_auto($this->fiche_def)"; - $ret_sql=$this->cn->exec_sql($sql); - $a=Database::fetch_array($ret_sql, 0); - $bulle=HtmlInput::infobulle(10); - - if ($a['account_auto']=='t') - $bulle.=HtmlInput::warnbulle(11); - } - elseif ($r->ad_id==ATTR_DEF_TVA) - { - $w=new ITva_Popup('popup_tva'); - $w->table=1; - $w->value=$r->av_text; - } - else - { - switch ($r->ad_type) - { - case 'text': - $w=new IText('av_text'.$r->ad_id); - $w->css_size="100%"; - $w->value=$r->av_text; - break; - case 'numeric': - $w=new INum('av_text'.$r->ad_id); - $w->size=$r->ad_size; - $w->prec=($r->ad_extra=="")?2:$r->ad_extra; - $w->value=$r->av_text; - break; - case 'date': - $w=new IDate('av_text'.$r->ad_id); - $w->value=$r->av_text; - break; - case 'zone': - $w=new ITextArea('av_text'.$r->ad_id); - $w->style=' class="itextarea" style="margin:0px;width:100%"'; - $w->value=$r->av_text; - break; - case 'poste': - $w=new IPoste("av_text".$r->ad_id); - $w->set_attribute('ipopup', 'ipop_account'); - $w->set_attribute('account', "av_text".$r->ad_id); - $w->dbl_click_history(); - $w->width=$r->ad_size; - $w->table=0; - $bulle=HtmlInput::infobulle(14); - $w->value=$r->av_text; - break; - case 'card': - $uniq=rand(0, 1000); - $w=new ICard("av_text".$r->ad_id); - $w->id="card_".$this->id.$uniq; - // filter on ad_extra - - $filter=$r->ad_extra; - $w->width=$r->ad_size; - $w->extra=$filter; - $w->extra2=0; - $label=new ISpan(); - $label->name="av_text".$uniq.$r->ad_id."_label"; - $fiche=new Fiche($this->cn); - $fiche->get_by_qcode($r->av_text); - if ($fiche->id==0) - { - $label->value=(trim($r->av_text)=='')?"":" "._("Fiche non trouvée")." "; - $r->av_text=""; - } - else - { - $label->value=$fiche->strAttribut(ATTR_DEF_NAME). - " ". - $fiche->strAttribut(ATTR_DEF_FIRST_NAME,0); - } - $w->set_attribute('ipopup', 'ipopcard'); - $w->set_attribute('typecard', $filter); - $w->set_attribute('inp', "av_text".$r->ad_id); - $w->set_attribute('label', $label->name); - $w->autocomplete=0; - $w->dblclick="fill_ipopcard(this);"; - $msg=$w->search(); - $msg.=$label->input(); - $w->value=$r->av_text; - break; - case 'select': - $w=new ISelect(); - $w->value=$this->cn->make_array($r->ad_extra); - $w->selected=$r->av_text; - $w->style=' style="width:100%" '; - break; - default: - var_dump($r); - throw new Exception("Type invalide"); - } - $w->table=0; - } - } - else - { - switch ($r->ad_type) - { - case 'select': - $x=new ISelect(); - $x->value=$this->cn->make_array($r->ad_extra); - $x->selected=$r->av_text; - $value=$x->display(); - $w->value=$value; - break; - default: - $w->value=$r->av_text; - } - } - - $w->name="av_text".$r->ad_id; - $w->readOnly=$p_readonly; - - if ($r->ad_id==21||$r->ad_id==22||$r->ad_id==20||$r->ad_id==31) - { - $bulle=HtmlInput::infobulle(21); - } - $ret.="".td(_($r->ad_text).$bulle).td($w->input()." ".$msg)." "; - } - - $ret.="
      "; - - return $ret; - } - - /*! - * \brief Save a card, call insert or update - * - * \param p_fiche_def (default 0) - */ - function Save($p_fiche_def=0) - { - // new card or only a update ? - if ( $this->id == 0 ) - $this->insert($p_fiche_def); - else - $this->update(); - } - /*! - * \brief insert a new record - * - * \param $p_fiche_def fiche_def.fd_id - * \param $p_array is the array containing the data - *\param $transation if we want to manage the transaction in this function - * true for small insert and false for a larger loading, the BEGIN / COMMIT sql - * must be done into the caller - av_textX where X is the ad_id - *\verb - example - av_text1=>'name' - \endverb - */ - function insert($p_fiche_def,$p_array=null,$transaction=true) - { - if ($p_array==null) - $p_array=$_POST; - - $fiche_id=$this->cn->get_next_seq('s_fiche'); - $this->id=$fiche_id; - // first we create the card - if ($transaction) - $this->cn->start(); - /* - * Sort the array for having the name AFTER the quickcode and the - * Accounting - */ - ksort($p_array); - - try - { - $sql=sprintf("insert into fiche(f_id,fd_id)". - " values (%d,%d)", $fiche_id, $p_fiche_def); - $Ret=$this->cn->exec_sql($sql); - // parse the $p_array array - foreach ($p_array as $name=> $value) - { - /* avoid the button for searching an accounting item */ - if (preg_match('/^av_text[0-9]+$/', $name)==0) - continue; - - list ($id)=sscanf($name, "av_text%d"); - if ($id==null) - continue; - - // Special traitement - // quickcode - if ($id==ATTR_DEF_QUICKCODE) - { - $sql=sprintf("select insert_quick_code(%d,'%s')", $fiche_id, - sql_string($value)); - $this->cn->exec_sql($sql); - continue; - } - // name - if ($id==ATTR_DEF_NAME) - { - if (strlen(trim($value))==0) - $value="pas de nom"; - } - // account - if ($id==ATTR_DEF_ACCOUNT) - { - $v=mb_substr(sql_string($value), 0, 40); - try - { - - if (strlen(trim($v))!=0) - { - if (strpos($value, ',')==0) - { - $v=$this->cn->get_value("select format_account($1)", - array($value)); - } - else - { - $ac_array=explode(",", $value); - if (count($ac_array)<>2) - throw new Exception('Désolé, il y a trop de virgule dans le poste comptable '.h($value)); - $part1=$ac_array[0]; - $part2=$ac_array[1]; - $part1=$this->cn->get_value('select format_account($1)', - array($part1)); - $part2=$this->cn->get_value('select format_account($1)', - array($part2)); - $v=$part1.','.$part2; - } - $parameter=array($this->id, $v); - } - else - { - $parameter=array($this->id, null); - } - $v=$this->cn->get_value("select account_insert($1,$2)", - $parameter); - } - catch (Exception $e) - { - throw new Exception("Erreur : ce compte [$v] n'a pas de compte parent.". - "L'opération est annulée", 1); - } - continue; - } - // TVA - if ($id==ATTR_DEF_TVA) - { - // Verify if the rate exists, if not then do not update - if (strlen(trim($value))!=0) - { - if (isNumber($value)==0) - continue; - if ($this->cn->count_sql("select * from tva_rate where tva_id=".$value)==0) - { - continue; - } - } - } - // Normal traitement - $value2=sql_string($value); - - $sql=sprintf("select attribut_insert(%d,%d,'%s')", $fiche_id, - $id, strip_tags(trim($value2))); - $this->cn->exec_sql($sql); - } - } - catch (Exception $e) - { - $this->cn->rollback(); - throw ($e); - return; - } - if ($transaction) - $this->cn->commit(); - return; - } - - /*!\brief update a card - */ - function update($p_array=null) - { - global $g_user; - if ($p_array==null) - $p_array=$_POST; - - try - { - $this->cn->start(); - // parse the $p_array array - foreach ($p_array as $name=> $value) - { - if (preg_match('/^av_text[0-9]+$/', $name)==0) - continue; - - list ($id)=sscanf($name, "av_text%d"); - - if ($id==null) - continue; - - // retrieve jft_id to update table attr_value - $sql=" select jft_id from fiche_detail where ad_id=$id and f_id=$this->id"; - $Ret=$this->cn->exec_sql($sql); - if (Database::num_row($Ret)==0) - { - // we need to insert this new attribut - $jft_id=$this->cn->get_next_seq('s_jnt_fic_att_value'); - - $sql2="insert into fiche_detail(jft_id,ad_id,f_id,ad_value) values ($1,$2,$3,NULL)"; - - $ret2=$this->cn->exec_sql($sql2, - array($jft_id, $id, $this->id)); - } - else - { - $tmp=Database::fetch_array($Ret, 0); - $jft_id=$tmp['jft_id']; - } - // Special traitement - // quickcode - if ($id==ATTR_DEF_QUICKCODE) - { - $sql=sprintf("select update_quick_code(%d,'%s')", $jft_id, - sql_string($value)); - $this->cn->exec_sql($sql); - continue; - } - // name - if ($id==ATTR_DEF_NAME) - { - if (strlen(trim($value))==0) - continue; - } - // account - if ($id==ATTR_DEF_ACCOUNT) - { - $v=sql_string($value); - if (trim($v)!='') - { - if (strpos($v, ',')!=0) - { - $ac_array=explode(",", $v); - if (count($ac_array)<>2) - throw new Exception('Désolé, il y a trop de virgule dans le poste comptable '.h($v)); - $part1=$ac_array[0]; - $part2=$ac_array[1]; - $part1=$this->cn->get_value('select format_account($1)', - array($part1)); - $part2=$this->cn->get_value('select format_account($1)', - array($part2)); - $v=$part1.','.$part2; - } - else - { - $v=$this->cn->get_value('select format_account($1)', - array($value)); - } - $sql=sprintf("select account_update(%d,'%s')", - $this->id, $v); - try - { - $this->cn->exec_sql($sql); - } - catch (Exception $e) - { - throw new Exception(__LINE__."Erreur : ce compte [$v] n'a pas de compte parent.". - "L'opération est annulée"); - } - continue; - } - if (strlen(trim($v))==0) - { - - $sql=sprintf("select account_update(%d,null)", $this->id); - try - { - $Ret=$this->cn->exec_sql($sql); - } - catch (Exception $e) - { - throw new Exception(__LINE__."Erreur : ce compte [$v] n'a pas de compte parent.". - "L'opération est annulée"); - } - - continue; - } - } - // TVA - if ($id==ATTR_DEF_TVA) - { - // Verify if the rate exists, if not then do not update - if (strlen(trim($value))!=0) - { - if ($this->cn->count_sql("select * from tva_rate where tva_id=".$value)==0) - { - continue; - } - } - } - // Normal traitement - $sql="update fiche_detail set ad_value=$1 where jft_id=$2"; - $this->cn->exec_sql($sql, array(strip_tags($value), $jft_id)); - } - } - catch (Exception $e) - { - echo ''. - $e->getMessage(). - ''; - $this->cn->rollback(); - return; - } - $this->cn->commit(); - return; - } - - /*!\brief remove a card - */ - function remove($silent=false) - { - if ( $this->id==0 ) return; - // verify if that card has not been used is a ledger - // if the card has its own account in PCMN - // Get the fiche_def.fd_id from fiche.f_id - $this->Get(); - $fiche_def=new Fiche_Def($this->cn,$this->fiche_def); - $fiche_def->get(); - - // if the card is used do not removed it - $qcode=$this->strAttribut(ATTR_DEF_QUICKCODE); - - if ( $this->cn->count_sql("select * from jrnx where j_qcode='".Database::escape_string($qcode)."'") != 0) - { - if ( ! $silent ) { - alert(_('Impossible cette fiche est utilisée dans un journal')); - } - return 1; - } - - $this->delete(); - return 0; - } - - - /*!\brief return the name of a card - * - */ - function getName() - { - $sql="select ad_value from fiche_detail - where ad_id=1 and f_id=$1"; - $Res=$this->cn->exec_sql($sql,array($this->id)); - $r=Database::fetch_all($Res); - if ( sizeof($r) == 0 ) - return 1; - return $r[0]['ad_value']; - } - - /*!\brief return the quick_code of a card - * \return null if not quick_code is found - */ - function get_quick_code() - { - $sql="select ad_value from fiche_detail where ad_id=23 and f_id=$1"; - $Res=$this->cn->exec_sql($sql,array($this->id)); - $r=Database::fetch_all($Res); - if ( sizeof($r) == 0 ) - return null; - return $r[0]['ad_value']; - } - - /*!\brief Synonum of fiche::getAttribut - */ - function Get() - { - $this->getAttribut(); - } - /*!\brief Synonum of fiche::getAttribut - */ - function load() - { - $this->getAttribut(); - } - /*!\brief get all the card thanks the fiche_def_ref - * \param $p_offset (default =-1) - * \param $p_search sql condition - * \return array of fiche object - */ - function get_by_category($p_offset=-1,$p_search="",$p_order='') - { - return fiche::GetByDef($this->fiche_def_ref,$p_offset,$p_search,$p_order); - } - /*!\brief retrieve the frd_id of the fiche it is the type of the - * card (bank, purchase...) - * (fiche_def_ref primary key) - */ - function get_fiche_def_ref_id() - { - $result=$this->cn->get_array("select frd_id from fiche join fiche_Def using (fd_id) where f_id=".$this->id); - if ( $result == null ) - return null; - - return $result[0]['frd_id']; - } - /** - *@brief fetch and return and array - *@see get_row get_row_date - */ - private function get_row_result($res) - { - $array=array(); - $tot_cred=0.0; - $tot_deb=0.0; - $Max=Database::num_row($res); - if ( $Max == 0 ) return null; - for ($i=0;$i<$Max;$i++) - { - $array[]=Database::fetch_array($res,$i); - if ($array[$i]['j_debit']=='t') - { - $tot_deb+=$array[$i]['deb_montant'] ; - } - else - { - $tot_cred+=$array[$i]['cred_montant'] ; - } - } - $this->row=$array; - return array($array,$tot_deb,$tot_cred); - } - /*! - * \brief Get data for poste - * - * \param $p_from periode from - * \param $p_to end periode - *\param $op_let 0 all operation, 1 only lettered one, 2 only unlettered one - * \return double array (j_date,deb_montant,cred_montant,description,jrn_name,j_debit,jr_internal) - * (tot_deb,tot_credit - * - */ - function get_row_date($p_from,$p_to,$op_let=0) - { - global $g_user; - if ( $this->id == 0 ) - { - echo_error("class_fiche",__LINE__,"id is 0"); - return; - } - $filter_sql=$g_user->get_ledger_sql('ALL',3); - $sql_let=''; - switch ($op_let) - { - case 0: - break; - case 1: - $sql_let=' and j_id in (select j_id from letter_cred union select j_id from letter_deb)'; - break; - case '2': - $sql_let=' and j_id not in (select j_id from letter_cred union select j_id from letter_deb) '; - break; - } - - $qcode=$this->strAttribut(ATTR_DEF_QUICKCODE); - $Res=$this->cn->exec_sql("select distinct substring(jr_pj_number,'[0-9]+$'),j_id,j_date,to_char(j_date,'DD.MM.YYYY') as j_date_fmt,j_qcode,". - "case when j_debit='t' then j_montant else 0 end as deb_montant,". - "case when j_debit='f' then j_montant else 0 end as cred_montant,". - " jr_comment as description,jrn_def_name as jrn_name,". - " jr_pj_number,". - "j_debit, jr_internal,jr_id,coalesce(comptaproc.get_letter_jnt(j_id),-1) as letter, ". - " jr_tech_per,p_exercice,jrn_def_name, - jrn_def_code". - " from jrnx left join jrn_def on jrn_def_id=j_jrn_def ". - " left join jrn on jr_grpt_id=j_grpt". - " left join parm_periode on (p_id=jr_tech_per) ". - " where j_qcode=$1 and ". - " ( to_date($2,'DD.MM.YYYY') <= j_date and ". - " to_date($3,'DD.MM.YYYY') >= j_date )". - " and $filter_sql $sql_let ". - " order by j_date,substring(jr_pj_number,'[0-9]+$')",array($qcode,$p_from,$p_to)); - - return $this->get_row_result($Res); - } - - /*! - * \brief Get data for poste - * - * \param $p_from periode from - * \param $p_to end periode - * \return double array (j_date,deb_montant,cred_montant,description,jrn_name,j_debit,jr_internal) - * (tot_deb,tot_credit - * - */ - function get_row($p_from,$p_to) - { - if ( $this->id == 0 ) - { - echo_error("class_fiche",__LINE__,"id is 0"); - return; - } - $qcode=$this->strAttribut(ATTR_DEF_QUICKCODE); - $periode=sql_filter_per($this->cn,$p_from,$p_to,'p_id','jr_tech_per'); - - $Res=$this->cn->exec_sql("select j_date,to_char(j_date,'DD.MM.YYYY') as j_date_fmt,j_qcode,". - "case when j_debit='t' then j_montant else 0 end as deb_montant,". - "case when j_debit='f' then j_montant else 0 end as cred_montant,". - " jr_comment as description,jrn_def_name as jrn_name,". - "j_debit, jr_internal,jr_id ". - " from jrnx left join jrn_def on jrn_def_id=j_jrn_def ". - " left join jrn on jr_grpt_id=j_grpt". - " where j_qcode='".$qcode."' and ".$periode. - " order by j_date::date"); - return $this->get_row_result($Res); - - } - /*! - * \brief HtmlTable, display a HTML of a card for the asked period - *\param $op_let 0 all operation, 1 only lettered one, 2 only unlettered one - * \return none - */ - function HtmlTableDetail($p_array=null,$op_let=0) - { - if ( $p_array == null) - $p_array=$_REQUEST; - - $name=$this->getName(); - - list($array,$tot_deb,$tot_cred)=$this->get_row_date( $p_array['from_periode'], - $p_array['to_periode'], - $op_let - ); - - if ( count($this->row ) == 0 ) - return; - $qcode=$this->strAttribut(ATTR_DEF_QUICKCODE); - - $rep=""; - $already_seen=array(); - echo '

      '.$this->id." ".$name.'

      '; - echo ""; - echo "". - "". - "". - "". - "". - "". - ""; - - foreach ( $this->row as $op ) - { - if ( in_array($op['jr_internal'],$already_seen) ) - continue; - else - $already_seen[]=$op['jr_internal']; - echo "". - "". - "". - "". - "". - "". - ""; - $ac=new Acc_Operation($this->cn); - $ac->jr_id=$op['jr_id']; - $ac->qcode=$qcode; - echo $ac->display_jrnx_detail(1); - - } - $solde_type=($tot_deb>$tot_cred)?_("solde débiteur"):_("solde créditeur"); - $diff=round(abs($tot_deb-$tot_cred),2); - echo "". - "". - "". - "". - "". - ""; - - echo "
      "._("n° de pièce / Code interne")." "._("Date").""._("Description")." "._('Montant')." "._('Débit/Crédit')."
      ".$op['jr_pj_number']." / ".$op['jr_internal']."".$op['j_date']."".h($op['description'])."".""."
      $solde_type". - "$diff$tot_deb$tot_cred
      "; - - return; - } - /*! - * \brief HtmlTable, display a HTML of a card for the asked period - * \param $p_array default = null keys = from_periode, to_periode - *\param $op_let 0 all operation, 1 only lettered one, 2 only unlettered one - *\return -1 if nothing is found otherwise 0 - *\see get_row_date - */ - function HtmlTable($p_array=null,$op_let=0,$from_div=1) - { - if ( $p_array == null) - $p_array=$_REQUEST; - $progress=0; - // if from_periode is greater than to periode then swap the values - if (cmpDate($p_array['from_periode'],$p_array['to_periode']) > 0) - { - $tmp=$p_array['from_periode']; - $p_array['from_periode']=$p_array['to_periode']; - $p_array['to_periode']=$tmp; - - } - list($array, $tot_deb, $tot_cred) = $this->get_row_date($p_array['from_periode'], $p_array['to_periode'], $op_let); - - if ( count($this->row ) == 0 ) - return -1; - - $rep=""; - if ( $from_div==1) - { - echo ""; - } - else - { - echo "
      "; - } - echo ''; - echo "". - "". - "". - "". - "". - "". - "". - th('Prog.','style="text-align:right"'). - th('Let.','style="text-align:right"'); - "" - ; - $old_exercice="";$sum_deb=0;$sum_cred=0; - bcscale(2); - $idx=0; - foreach ( $this->row as $op ) - { - $vw_operation = sprintf('%s', $op['jr_id'], dossier::id(), $op['jr_internal']); - $let = ''; - $html_let = ""; - if ($op['letter'] != -1) - { - $let = strtoupper(base_convert($op['letter'], 10, 36)); - $html_let = HtmlInput::show_reconcile($from_div, $let); - } - $tmp_diff=bcsub($op['deb_montant'],$op['cred_montant']); - - /* - * reset prog. balance to zero if we change of exercice - */ - if ( $old_exercice != $op['p_exercice']) - { - if ($old_exercice != '' ) - { - $progress=bcsub($sum_deb,$sum_cred); - $side=" ".$this->get_amount_side($progress); - echo "". - "". - td(''). - "". - "". - "". - "". - td(nbm(abs($progress)).$side,'style="text-align:right"'). - td(''). - ""; - $sum_cred=0; - $sum_deb=0; - $progress=0; - } - } - $progress=bcadd($progress,$tmp_diff); - $side=" ".$this->get_amount_side($progress); - $sum_cred=bcadd($sum_cred,$op['cred_montant']); - $sum_deb=bcadd($sum_deb,$op['deb_montant']); - if ($idx%2 == 0) $class='class="odd"'; else $class=' class="even"'; - $idx++; - - echo "" . - "". - td(h($op['jr_pj_number'])). - "". - "". - "". - "". - td(nbm(abs($progress)).$side,'style="text-align:right"'). - td($html_let, ' style="text-align:right"') . - ""; - $old_exercice=$op['p_exercice']; - - } - $solde_type=($sum_deb>$sum_cred)?"solde débiteur":"solde créditeur"; - $diff=abs(bcsub($sum_deb,$sum_cred)); - echo ''; - echo "". - "". - "". - "". - "". - "". - "". - "". - - ""; - echo "". - "". - "". - "". - ""; - echo ''; - echo ''; - - echo "
      "._('Date').""._('n° pièce')." "._('Code interne')." "._('Description')." "._('Débit')." "._('Crédit')."
      $old_exerciceTotaux".nbm($sum_deb)."".nbm($sum_cred)."
      ".smaller_date(format_date($op['j_date_fmt']))."".$vw_operation."".h($op['description'])."".nbm($op['deb_montant'])."".nbm($op['cred_montant'])."
      Totaux".nbm($sum_deb)."".nbm($sum_cred)."".nbm($diff)."
      $solde_type".nbm($diff)."
      "; - - return 0; - } - /*! - * \brief Display HTML Table Header (button) - * - * \return none - */ - function HtmlTableHeader($p_array=null) - { - if ( $p_array == null) - $p_array=$_REQUEST; - - $hid=new IHidden(); - echo '
      '; - echo ""; - echo ''; - - echo '"; - $str_ople=(isset($_REQUEST['ople']))?HtmlInput::hidden('ople',$_REQUEST['ople']):''; - - echo '"; - - echo '"; - echo ""; - echo ''; - echo "
      '. - HtmlInput::submit('bt_other',"Autre poste"). - HtmlInput::array_to_hidden(array('gDossier','ac'), $_REQUEST). - dossier::hidden(). - $hid->input("type","poste").$hid->input('p_action','impress')."
      '. - HtmlInput::submit('bt_pdf',_("Export PDF")). - dossier::hidden().$str_ople. - HtmlInput::hidden('act','PDF:fichedetail'). - $hid->input("type","poste"). - $hid->input('p_action','impress'). - $hid->input("f_id",$this->id). - dossier::hidden(). - $hid->input("from_periode",$p_array['from_periode']). - $hid->input("to_periode",$p_array['to_periode']); - if (isset($p_array['oper_detail'])) - echo $hid->input('oper_detail','on'); - - echo "
      '. - HtmlInput::submit('bt_csv',_("Export CSV")). - HtmlInput::hidden('act','CSV:fichedetail'). - dossier::hidden().$str_ople. - $hid->input("type","poste"). - $hid->input('p_action','impress'). - $hid->input("f_id",$this->id). - $hid->input("from_periode",$p_array['from_periode']). - $hid->input("to_periode",$p_array['to_periode']); - if (isset($p_array['oper_detail'])) - echo $hid->input('oper_detail','on'); - - echo "
      '; - echo HtmlInput::print_window(); - echo '
      "; - echo '
      '; - - } - /*! - * \brief give the balance of an card - * \return - * balance of the card - * - */ - function get_solde_detail($p_cond="") - { - if ( $this->id == 0 ) return array('credit'=>0,'debit'=>0,'solde'=>0); - $qcode=$this->strAttribut(ATTR_DEF_QUICKCODE); - - if ( $p_cond != "") $p_cond=" and ".$p_cond; - $Res=$this->cn->exec_sql("select sum(deb) as sum_deb, sum(cred) as sum_cred from - ( select j_poste, - case when j_debit='t' then j_montant else 0 end as deb, - case when j_debit='f' then j_montant else 0 end as cred - from jrnx - where - j_qcode = ('$qcode'::text) - $p_cond - ) as m "); - $Max=Database::num_row($Res); - if ($Max==0) return 0; - $r=Database::fetch_array($Res,0); - - return array('debit'=>$r['sum_deb'], - 'credit'=>$r['sum_cred'], - 'solde'=>abs($r['sum_deb']-$r['sum_cred'])); - } - /** - *get the bank balance with receipt or not - * - */ - function get_bk_balance($p_cond="") - { - if ( $this->id == 0 ) throw new Exception('fiche->id est nul'); - $qcode=$this->strAttribut(ATTR_DEF_QUICKCODE); - - if ( $p_cond != "") $p_cond=" and ".$p_cond; - $sql="select sum(deb) as sum_deb, sum(cred) as sum_cred from - ( select j_poste, - case when j_debit='t' then j_montant else 0 end as deb, - case when j_debit='f' then j_montant else 0 end as cred - from jrnx - join jrn on (jr_grpt_id=j_grpt) - where - j_qcode = ('$qcode'::text) - $p_cond - ) as m "; - - $Res=$this->cn->exec_sql($sql); - $Max=Database::num_row($Res); - if ($Max==0) return 0; - $r=Database::fetch_array($Res,0); - - return array('debit'=>$r['sum_deb'], - 'credit'=>$r['sum_cred'], - 'solde'=>abs($r['sum_deb']-$r['sum_cred'])); - - } - /*!\brief check if an attribute is empty - *\param $p_attr the id of the attribut to check (ad_id) - *\return return true is the attribute is empty or missing - */ - function empty_attribute($p_attr) - { - $sql="select ad_value - from fiche_detail - natural join fiche - left join attr_def using (ad_id) where f_id=".$this->id. - " and ad_id = ".$p_attr. - " order by ad_id"; - $res=$this->cn->exec_sql($sql); - if ( Database::num_row($res) == 0 ) return true; - $text=Database::fetch_result($res,0,0); - return (strlen(trim($text)) > 0)?false:true; - - - } - /*! Summary - * \brief show the default screen - * - * \param $p_search (filter) - * \param $p_action used for specific action bank, red if credit < debit - * \param $p_sql SQL to filter the number of card must start with AND - * \param $p_amount true : only cards with at least one operation default : false - * \return: string to display - */ - function Summary($p_search="",$p_action="",$p_sql="",$p_amount=false) - { - global $g_user; - $bank=new Acc_Parm_Code($this->cn,'BANQUE'); - $cash=new Acc_Parm_Code($this->cn,'CAISSE'); - $cc=new Acc_Parm_Code($this->cn,'COMPTE_COURANT'); - - bcscale(4); - $gDossier=dossier::id(); - $p_search=sql_string($p_search); - $script=$_SERVER['PHP_SELF']; - // Creation of the nav bar - // Get the max numberRow - $filter_amount=''; - global $g_user; - - $filter_year=" j_tech_per in (select p_id from parm_periode ". - "where p_exercice='".$g_user->get_exercice()."')"; - - if ( $p_amount) $filter_amount=' and f_id in (select f_id from jrnx where '.$filter_year.')'; - - $all_tiers=$this->count_by_modele($this->fiche_def_ref,"",$p_sql.$filter_amount); - // Get offset and page variable - $offset=( isset ($_REQUEST['offset'] )) ?$_REQUEST['offset']:0; - $page=(isset($_REQUEST['page']))?$_REQUEST['page']:1; - $bar=navigation_bar($offset,$all_tiers,$_SESSION['g_pagesize'],$page); - - // set a filter ? - $search=$p_sql; - - $exercice=$g_user->get_exercice(); - $tPeriode=new Periode($this->cn); - list($max,$min)=$tPeriode->get_limit($exercice); - - - if ( trim($p_search) != "" ) - { - $search.=" and f_id in - (select distinct f_id from fiche_detail - where - ad_id in (1,32,30,23,18,13) and ad_value ~* '$p_search')"; - } - // Get The result Array - $step_tiers=$this->get_by_category($offset,$search.$filter_amount,'name'); - - if ( $all_tiers == 0 || count($step_tiers)==0 ) return ""; - $r=""; - $r.=_("Filtre rapide ").HtmlInput::filter_table("tiers_tb", '0,1,2', 1); - $r.=$bar; - - $r.=' - - '. - ''. - ' - - - - '; - $r.=''; - if ( sizeof ($step_tiers ) == 0 ) - return $r; - - $i=0; - $deb=0;$cred=0; - foreach ($step_tiers as $tiers ) - { - $i++; - - /* Filter on the default year */ - $amount=$tiers->get_solde_detail($filter_year); - - /* skip the tiers without operation */ - if ( $p_amount && $amount['debit']==0 && $amount['credit'] == 0 && $amount['solde'] == 0 ) continue; - - $odd=""; - $odd = ($i % 2 == 0 ) ? ' odd ': ' even '; - $accounting=$tiers->strAttribut(ATTR_DEF_ACCOUNT); - if ( $p_action == 'bank' && $amount['debit'] < $amount['credit'] ){ - if ( strpos($accounting,$bank->p_value)===0 || strpos($accounting,$cash->p_value)===0 || strpos($accounting,$cc->p_value)===0){ - //put in red if c>d - $odd.=" notice "; - } - } - - $odd=' class="'.$odd.'"'; - - $r.=""; - $url_detail=$script.'?'.http_build_query(array('sb'=>'detail','sc'=>'sv','ac'=>$_REQUEST['ac'],'f_id'=>$tiers->id,'gDossier'=>$gDossier)); - $e=sprintf(' ', - $url_detail); - - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $str_deb=(($amount['debit']==0)?0:nbm($amount['debit'])); - $str_cred=(($amount['credit']==0)?0:nbm($amount['credit'])); - $str_solde=nbm($amount['solde']); - $r.=''; - $r.=''; - $side=($amount['debit'] > $amount['credit'])?'D':'C'; - $side=($amount['debit'] == $amount['credit'])?'=':$side; - $red=""; - if ( $p_action == 'customer' && $amount['debit'] < $amount['credit'] ){ - //put in red if d>c - $red=" notice "; - } - if ( $p_action == 'supplier' && $amount['debit'] > $amount['credit'] ){ - //put in red if c>d - $red=" notice "; - } - $r.='"; - $deb=bcadd($deb,$amount['debit']); - $cred=bcadd($cred,$amount['credit']); - - $r.=""; - - } - $r.=""; - $solde=abs(bcsub($deb,$cred)); - $side=($deb > $cred)?'Débit':'Crédit'; - $r.=''; - $r.=td("").td("").td("").td("Totaux").td(nbm($deb),'class="num"').td(nbm($cred),'class="num"').td(" $side ".nbm($solde),'class="num"'); - $r.=''; - $r.=""; - $r.="
      '._('Quick Code').HtmlInput::infobulle(17).''._('Poste comptable').''._('Nom').' ▴'.''._('Adresse').''._('Total débit').''._('Total crédit').''._('Solde').'
      $e".$tiers->strAttribut(ATTR_DEF_QUICKCODE)." $e".$accounting."".h($tiers->strAttribut(ATTR_DEF_NAME))."".h($tiers->strAttribut(ATTR_DEF_ADRESS). - " ".$tiers->strAttribut(ATTR_DEF_CP). - " ".$tiers->strAttribut(ATTR_DEF_PAYS)). - " '.$str_deb.' '.$str_cred.' '.$str_solde."$side
      "; - $r.=$bar; - return $r; - } - /*! - * \brief get the fd_id of the card : fd_id, it set the attribute fd_id - */ - function get_categorie() - { - if ( $this->id == 0 ) throw new Exception('class_fiche : f_id = 0 '); - $sql='select fd_id from fiche where f_id='.$this->id; - $R=$this->cn->get_value($sql); - if ( $R == "" ) - $this->fd_id=0; - else - $this->fd_id=$R; - } - /*! - *************************************************** - * \brief Check if a fiche is used by a jrn - * return 1 if the fiche is in the range otherwise 0, the quick_code - * or the id must be set - * - * - * \param $p_jrn journal_id - * \param $p_type : deb or cred default empty - * - * \return 1 if the fiche is in the range otherwise < 1 - * -1 the card doesn't exist - * -2 the ledger has no card to check - * - */ - function belong_ledger($p_jrn,$p_type="") - { - // check if we have a quick_code or a f_id - if (($this->quick_code==null || $this->quick_code == "" ) - && $this->id == 0 ) - { - throw new Exception( 'erreur ni quick_code ni f_id ne sont donnes'); - } - - //retrieve the quick_code - if ( $this->quick_code=="") - $this->quick_code=$this->get_quick_code(); - - - if ( $this->quick_code==null) - return -1; - - if ( $this->id == 0 ) - if ( $this->get_by_qcode(null,false) == 1) - return -1; - - $get=""; - if ( $p_type == 'deb' ) - { - $get='jrn_def_fiche_deb'; - } - if ( $p_type == 'cred' ) - { - $get='jrn_def_fiche_cred'; - } - if ( $get != "" ) - { - $Res=$this->cn->exec_sql("select $get as fiche from jrn_def where jrn_def_id=$p_jrn"); - } - else - { - // Get all the fiche type (deb and cred) - $Res=$this->cn->exec_sql(" select jrn_def_fiche_cred as fiche - from jrn_def where jrn_def_id=$p_jrn - union - select jrn_def_fiche_deb - from jrn_def where jrn_def_id=$p_jrn" - ); - } - $Max=Database::num_row($Res); - if ( $Max==0) - { - return -2; - } - /* convert the array to a string */ - $list=Database::fetch_all($Res); - $str_list=""; - $comma=''; - foreach ($list as $row) - { - if ( $row['fiche'] != '' ) - { - $str_list.=$comma.$row['fiche']; - $comma=','; - } - } - // Normally Max must be == 1 - - if ( $str_list=="") - { - return -3; - } - - $sql="select * - from fiche - where - fd_id in (".$str_list.") and f_id= ".$this->id; - - $Res=$this->cn->exec_sql($sql); - $Max=Database::num_row($Res); - if ($Max==0 ) - return 0; - else - return 1; - } - /*!\brief get all the card from a categorie - *\param $p_cn database connx - *\param $pFd_id is the category id - *\param $p_order for the sort, possible values is name_asc,name_desc or nothing - *\return an array of card, but only the fiche->id is set - */ - static function get_fiche_def($p_cn,$pFd_id,$p_order='') - { - switch ($p_order) - { - case 'name_asc': - $sql='select f_id,ad_value from fiche join fiche_detail using (f_id) where ad_id=1 and fd_id=$1 order by 2 asc'; - break; - case 'name_desc': - $sql='select f_id,ad_value from fiche join fiche_detail using (f_id) where ad_id=1 and fd_id=$1 order by 2 desc'; - break; - default: - $sql='select f_id from fiche where fd_id=$1 '; - } - $array=$p_cn->get_array($sql,array($pFd_id)); - - return $array; - } - /*!\brief check if a card is used - *\return return true is a card is used otherwise false - */ - function is_used() - { - /* retrieve first the quickcode */ - $qcode=$this->strAttribut(ATTR_DEF_QUICKCODE); - $sql='select count(*) as c from jrnx where j_qcode=$1'; - $count=$this->cn->get_value($sql,array($qcode)); - if ( $count == 0 ) return false; - return true; - } - /*\brief remove a card without verification */ - function delete() - { - // Remove from attr_value - $Res=$this->cn->exec_sql("delete from fiche_detail - where - f_id=".$this->id); - - // Remove from fiche - $Res=$this->cn->exec_sql("delete from fiche where f_id=".$this->id); - - } - /*!\brief create the sql statement for retrieving all - * the card - *\return string with sql statement - *\param $array contains the condition - \verbatim - [jrn] => 2 - [typecard] => cred / deb / filter or list - [query] => string - \endverbatim - *\note the typecard cred, deb or filter must be used with jrn, the value of list means a list of fd_id - *\see ajax_card.php cards.js - */ - function build_sql($array) - { - if (!empty($array)) - extract($array); - $and=''; - $filter_fd_id='true'; - $filter_query=''; - if (isset($typecard)) - { - if (strpos($typecard, "sql")==false) - { - switch ($typecard) - { - case 'cred': - if (!isset($jrn)) - throw ('Erreur pas de valeur pour jrn'); - $filter_jrn=$this->cn->make_list("select jrn_def_fiche_cred from jrn_Def where jrn_def_id=$1", - array($jrn)); - $filter_fd_id=" fd_id in (".$filter_jrn.")"; - $and=" and "; - break; - case 'deb': - if (!isset($jrn)) - throw ('Erreur pas de valeur pour jrn'); - $filter_jrn=$this->cn->make_list("select jrn_def_fiche_deb from jrn_Def where jrn_def_id=$1", - array($jrn)); - $filter_fd_id=" fd_id in (".$filter_jrn.")"; - $and=" and "; - break; - case 'filter': - if (!isset($jrn)) - throw ('Erreur pas de valeur pour jrn'); - $filter_jrn=$this->cn->make_list("select jrn_def_fiche_deb from jrn_Def where jrn_def_id=$1", - array($jrn)); - - if (trim($filter_jrn)!='') - $fp1=" fd_id in (".$filter_jrn.")"; - else - $fp1="fd_id < 0"; - - $filter_jrn=$this->cn->make_list("select jrn_def_fiche_cred from jrn_Def where jrn_def_id=$1", - array($jrn)); - - if (trim($filter_jrn)!='') - $fp2=" fd_id in (".$filter_jrn.")"; - else - $fp2="fd_id < 0"; - - $filter_fd_id='('.$fp1.' or '.$fp2.')'; - - $and=" and "; - break; - case 'all': - $filter_fd_id=' true'; - break; - default: - if (trim($typecard)!='') - $filter_fd_id=' fd_id in ('.$typecard.')'; - else - $filter_fd_id=' fd_id < 0'; - } - } - else - { - $filter_fd_id=str_replace('[sql]', '', $typecard); - } - } - - $and=" and "; - if (isset($query)) - { - $query=sql_string($query); - - if (strlen(trim($query))>1) - { - $filter_query=$and."(vw_name ilike '%$query%' or quick_code ilike ('%$query%') " - ." or vw_description ilike '%$query%' or tva_num ilike '%$query%' or accounting like upper('$query%'))"; - } - else - { - $filter_query=''; - } - } - $sql="select * from vw_fiche_attr where ".$filter_fd_id.$filter_query; - return $sql; - } - - /** - *@brief move a card to another cat. The properties will changed - * and be removed - *@param $p_fdid the fd_id of destination - */ - function move_to($p_fdid) - { - $this->cn->start(); - $this->cn->exec_sql('update fiche set fd_id=$1 where f_id=$2',array($p_fdid,$this->id)); - // add missing - $this->cn->exec_sql('select fiche_attribut_synchro($1)',array($p_fdid)); - // add to the destination missing fields - $this->cn->exec_sql("insert into jnt_fic_attr (fd_id,ad_id,jnt_order) select $1,ad_id,100 from fiche_detail where f_id=$2 and ad_id not in (select ad_id from jnt_fic_attr where fd_id=$3)",array($p_fdid,$this->id,$p_fdid)); - $this->cn->commit(); - } - /** - * return the letter C if amount is > 0, D if < 0 or = - * @param type $p_amount - * @return string - */ - function get_amount_side($p_amount) - { - if ($p_amount == 0) - return "="; - if ($p_amount < 0) - return "C"; - if ($p_amount > 0) - return "D"; - } - static function test_me() - { - $cn=new Database(dossier::id()); - $a=new Fiche($cn); - $select_cat=new ISelect('fd_id'); - $select_cat->value=$cn->make_array('select fd_id,fd_label from fiche_def where frd_id='. - FICHE_TYPE_CLIENT); - echo '
      '; - echo dossier::hidden(); - echo HtmlInput::hidden('test_select',$_GET['test_select']); - echo 'Choix de la catégorie'; - echo $select_cat->input(); - echo HtmlInput::submit('go_card','Afficher'); - echo '
      '; - if ( isset ($_GET['go_card'])) - { - $empty=$a->to_array($_GET['fd_id']); - print_r($empty); - } - } - - function get_gestion_title() - { - $r = "

      " . h($this->getName()) . " " . h($this->getAttribut(ATTR_DEF_FIRST_NAME)) . '[' . $this->get_quick_code() . ']

      '; - return $r; - } - function get_all_account() - { - - } -} - -?> diff --git a/sources/include/class_fiche_attr.php b/sources/include/class_fiche_attr.php deleted file mode 100644 index ff7a4fb..0000000 --- a/sources/include/class_fiche_attr.php +++ /dev/null @@ -1,284 +0,0 @@ -column_name,"email"=>"column_name_email","val3"=>0); */ - - protected $variable=array("id"=>"ad_id","desc"=>"ad_text","type"=>"ad_type","size"=>"ad_size","extra"=>"ad_extra"); - function __construct ($p_cn,$p_id=0) - { - $this->cn=$p_cn; - if ( $p_id == 0 ) - { - /* Initialize an empty object */ - foreach ($this->variable as $key=>$value) $this->$value=''; - } - else - { - /* load it */ - $this->ad_id=$p_id; - $this->load(); - } - } - public function get_parameter($p_string) - { - if ( array_key_exists($p_string,$this->variable) ) - { - $idx=$this->variable[$p_string]; - return $this->$idx; - } - else - throw new Exception (__FILE__.":".__LINE__.$p_string.'Erreur attribut inexistant'); - } - public function set_parameter($p_string,$p_value) - { - if ( array_key_exists($p_string,$this->variable) ) - { - $idx=$this->variable[$p_string]; - $this->$idx=$p_value; - } - else - throw new Exception (__FILE__.":".__LINE__.$p_string.'Erreur attribut inexistant'); - } - public function get_info() - { - return var_export($this,true); - } - public function verify() - { - // Verify that the elt we want to add is correct - /* verify only the datatype */ - if ( strlen(trim($this->ad_text))==0) - throw new Exception('La description ne peut pas être vide',1); - if ( strlen(trim($this->ad_type))==0) - throw new Exception('Le type ne peut pas être vide',1); - $this->ad_type=strtolower($this->ad_type); - if ( in_array($this->ad_type,array('date','text','numeric','zone','poste','card','select'))==false) - throw new Exception('Le type doit être text, numeric,poste, card, select ou date',1); - if ( trim($this->ad_size)=='' || isNumber($this->ad_size)==0||$this->ad_size>22) - { - switch ($this->ad_type) - { - case 'text': - $this->ad_size=22; - break; - case 'numeric': - $this->ad_size=9; - break; - case 'date': - $this->ad_size=8; - break; - case 'zone': - $this->ad_size=22; - break; - - default: - $this->ad_size=22; - } - } - if ( $this->ad_type == 'numeric' ) { - $this->ad_extra=(trim($this->ad_extra)=='')?'2':$this->ad_extra; - if (isNumber($this->ad_extra) == 0) throw new Exception ("La précision doit être un chiffre"); - - } - if ( $this->ad_type == 'select') - { - if (trim($this->ad_extra)=="") throw new Exception ("La requête SQL est vide "); - if ( preg_match('/^\h*select/i',$this->ad_extra) == 0) throw new Exception ("La requête SQL doit commencer par SELECT "); - try{ - - $this->cn->exec_sql($this->ad_extra); - }catch (Exception $e) - { - throw new Exception ("La requête SQL ".h($this->ad_extra)." est invalide "); - } - } - } - public function save() - { - - /* please adapt */ - if ( $this->ad_id == 0 ) - $this->insert(); - else - $this->update(); - } - /** - *@brief retrieve array of object thanks a condition - *@param $cond condition (where clause) - *@param $p_array array for the SQL stmt - *@see Database::get_array - *@return an empty array if nothing is found - */ - public function seek($cond='',$p_array=null) - { - if ( $cond != '') - $sql="select * from attr_def where $cond order by ad_text"; - else - $sql="select * from attr_def order by ad_text"; - - $aobj=array(); - $array= $this->cn->get_array($sql,$p_array); - // map each row in a object - $size=$this->cn->count(); - if ( $size == 0 ) return $aobj; - for ($i=0;$i<$size;$i++) - { - $oobj=new Fiche_Attr ($this->cn); - foreach ($array[$i] as $idx=>$value) - { - $oobj->$idx=$value; - } - $aobj[]=clone $oobj; - } - return $aobj; - } - public function insert() - { - try{ - $this->verify(); - /* please adapt */ - $sql="insert into attr_def(ad_text - ,ad_type,ad_size,ad_extra - ) values ($1 - ,$2,$3,$4 - ) returning ad_id"; - - $this->ad_id=$this->cn->get_value( - $sql, - array( $this->ad_text,$this->ad_type,$this->ad_size,$this->ad_extra - ) - ); - } catch (Exception $e) - { - throw $e; - } - - } - - public function update() - { - try - { - $this->verify(); - if ( $this->ad_id < 9000) return; - /* please adapt */ - $sql=" update attr_def set ad_text = $1 - ,ad_type = $2,ad_size=$4,ad_extra=$5 - where ad_id= $3"; - $res=$this->cn->exec_sql( - $sql, - array($this->ad_text - ,$this->ad_type - ,$this->ad_id,$this->ad_size,$this->ad_extra) - ); - }catch (Exception $e) - { - throw $e; - } - - - } - /** - *@brief load a object - *@return 0 on success -1 the object is not found - */ - public function load() - { - - $sql="select ad_text - ,ad_type,ad_size,ad_extra - from attr_def where ad_id=$1"; - /* please adapt */ - $res=$this->cn->get_array( - $sql, - array($this->ad_id) - ); - - if ( count($res) == 0 ) - { - /* Initialize an empty object */ - foreach ($this->variable as $key=>$value) $this->$key=''; - - return -1; - } - foreach ($res[0] as $idx=>$value) - { - $this->$idx=$value; - } - return 0; - } - - public function delete() - { - if ($this->ad_id < 9000) return; - $sql=$this->cn->exec_sql("delete from fiche_detail where ad_id=$1 ", - array($this->ad_id)); - - $sql="delete from jnt_fic_attr where ad_id=$1"; - $res=$this->cn->exec_sql($sql,array($this->ad_id)); - - $sql="delete from attr_def where ad_id=$1"; - $res=$this->cn->exec_sql($sql,array($this->ad_id)); - - } - /** - * Unit test for the class - */ - static function test_me() - { - $cn=new Database(25); - $cn->start(); - echo h2info('Test object vide'); - $obj=new Fiche_Attr($cn); - var_dump($obj); - - echo h2info('Test object NON vide'); - $obj->set_parameter('j_id',3); - $obj->load(); - var_dump($obj); - - echo h2info('Update'); - $obj->set_parameter('j_qcode','NOUVEAU CODE'); - $obj->save(); - $obj->load(); - var_dump($obj); - - echo h2info('Insert'); - $obj->set_parameter('j_id',0); - $obj->save(); - $obj->load(); - var_dump($obj); - - echo h2info('Delete'); - $obj->delete(); - echo (($obj->load()==0)?'Trouve':'non trouve'); - var_dump($obj); - $cn->rollback(); - - } - /*! - *@brief used with a usort function, to sort an array of Attribut on the attribut_id (ad_id) - */ - static function sort_by_id($o1,$o2) - { - if ( $o1->ad_id > $o2->ad_id ) return 1; - if ( $o1->ad_id == $o2->ad_id ) return 0; - return -1; - } - - -} -//Fiche_Attr::test_me(); - - - diff --git a/sources/include/class_fiche_def.php b/sources/include/class_fiche_def.php deleted file mode 100644 index 9962fb7..0000000 --- a/sources/include/class_fiche_def.php +++ /dev/null @@ -1,816 +0,0 @@ -cn=$p_cn; - $this->id=$p_id; - } - /*!\brief show the content of the form to create a new Fiche_Def_Ref - */ - function input () - { - $ref=$this->cn->get_array("select * from fiche_def_ref order by frd_text"); - $iradio=new IRadio(); - /* the accounting item */ - $class_base=new IPoste('class_base'); - $class_base->set_attribute('ipopup','ipop_account'); - $class_base->set_attribute('account','class_base'); - $class_base->set_attribute('label','acc_label'); - $f_class_base=$class_base->input(); - $fd_description=new ITextarea('fd_description'); - $fd_description->width=80; - $fd_description->heigh=4; - $fd_description->style='class="itextarea" style="margin-left:0px;vertical-align:text-top"'; - require_once NOALYSS_INCLUDE.'/template/fiche_def_input.php'; - return; - } - - /*! - * \brief Get attribut of a fiche_def - * - * \return string value of the attribute - */ - function getAttribut() - { - $sql="select * from jnt_fic_attr ". - " natural join attr_def where fd_id=".$this->id. - " order by jnt_order"; - - $Ret=$this->cn->exec_sql($sql); - - if ( ($Max=Database::num_row($Ret)) == 0 ) - return ; - for ($i=0;$i < $Max;$i++) - { - $row=Database::fetch_array($Ret,$i); - $t = new Fiche_Attr($this->cn); - $t->ad_id=$row['ad_id']; - $t->ad_text=$row['ad_text']; - $t->jnt_order=$row['jnt_order']; - $t->ad_size=$row['ad_size']; - $t->ad_type=$row['ad_type']; - $t->ad_extra=$row['ad_extra']; - $this->attribut[$i]=clone $t; - } - return $this->attribut; - } - - /*! - * \brief Get attribut of the fiche_def - * - */ - function get() - { - if ( $this->id == 0 ) - return 0; - /* $this->cn->exec_sql('select fiche_attribut_synchro($1)', - array($this->id)); - */ - $sql="select * from fiche_def ". - " where fd_id=".$this->id; - $Ret=$this->cn->exec_sql($sql); - if ( ($Max=Database::num_row($Ret)) == 0 ) - return ; - $row=Database::fetch_array($Ret,0); - $this->label=$row['fd_label']; - $this->class_base=$row['fd_class_base']; - $this->fiche_def=$row['frd_id']; - $this->create_account=$row['fd_create_account']; - $this->fd_description=$row['fd_description']; - } - /*! - ************************************************** - * \brief Get all the fiche_def - * - * \return an array of fiche_def object - */ - function get_all() - { - $sql="select * from fiche_def "; - - $Ret=$this->cn->exec_sql($sql); - if ( ($Max=Database::num_row($Ret)) == 0 ) - return ; - - for ( $i = 0; $i < $Max;$i++) - { - $row=Database::fetch_array($Ret,$i); - $this->all[$i]=new Fiche_Def($this->cn,$row['fd_id']); - $this->all[$i]->label=$row['fd_label']; - $this->all[$i]->class_base=$row['fd_class_base']; - $this->all[$i]->fiche_def=$row['frd_id']; - $this->all[$i]->create_account=$row['fd_create_account']; - } - } - /*! - ************************************************** - * \brief Check in vw_fiche_def if a fiche has - * a attribut X - * - * - * \param $p_attr attribut to check - * \return true or false - */ - function HasAttribute($p_attr) - { - return ($this->cn->count_sql("select * from vw_fiche_def where ad_id=$p_attr and fd_id=".$this->id)>0)?true:false; - - } - /*! - ************************************************** - * \brief Display category into a table - * - * \return HTML row - */ - function Display() - { - $tab = new Sort_Table(); - - $url = HtmlInput::get_to_string(array('ac', 'gDossier')); - $tab->add(_("Nom de fiche"), $url, "order by fd_label asc", "order by fd_label desc", "na", "nd"); - $tab->add(_("Basé sur le poste comptable"), $url, "order by fd_class_base asc", "order by fd_class_base desc", "pa", "pd"); - $tab->add(_("Calcul automatique du poste comptable"), $url, "order by fd_create_account asc", "order by fd_create_account desc", "ca", "cd"); - $tab->add(_("Basé sur le modèle"), $url, "order by frd_text asc", "order by frd_text desc", "ma", "md"); - - $order = (isset($_GET['ord'])) ? $tab->get_sql_order($_GET["ord"]) : $tab->get_sql_order("na"); - - - $res = $this->cn->exec_sql("SELECT fd_id, fd_class_base, fd_label, fd_create_account, fiche_def_ref.frd_id, -frd_text , fd_description FROM fiche_def join fiche_def_ref on (fiche_def.frd_id=fiche_def_ref.frd_id) -$order -"); - - require_once NOALYSS_INCLUDE.'/template/fiche_def_list.php'; - } - /*!\brief Add a fiche category thanks the element from the array - * you cannot add twice the same cat. name - * table : insert into fiche_def - * insert into attr_def - * - * \param $array array - * index FICHE_REF - * nom_mod - * class_base - * fd_description - */ - function Add($array) - { - /** - * Check needed info - */ - $p_nom_mod = HtmlInput::default_value('nom_mod', "", $array); - $p_fd_description = HtmlInput::default_value('fd_description', "", $array); - $p_class_base= HtmlInput::default_value('class_base', "", $array); - $p_fiche_def= HtmlInput::default_value('FICHE_REF', "", $array); - $p_create= HtmlInput::default_value('create', "off", $array); - - // If there is no description then add a empty one - if ( ! isset ($p_fd_description)) { - $p_fd_description=""; - } - // Format correctly the name of the cat. of card - $p_nom_mod=sql_string($p_nom_mod); - - - // Name can't be empty - if ( strlen(trim($p_nom_mod)) == 0 ) - { - alert (_('Le nom de la catégorie ne peut pas être vide')); - return 1; - } - // $p_fiche_def can't be empty - if ( strlen(trim($p_fiche_def)) == 0 ) - { - alert (_('Un modéle de catégorie est obligatoire')); - return 1; - } - - /* check if the cat. name already exists */ - $sql="select count(*) from fiche_Def where upper(fd_label)=upper($1)"; - $count=$this->cn->get_value($sql,array(trim($p_nom_mod))); - - if ($count != 0 ) { - echo alert (_('Catégorie existante')); - return 1; - } - // Set the value of fiche_def.fd_create_account - // automatic creation for 'poste comptable' - if ( $p_create == "on" && strlen(trim($p_class_base)) != 0) - $p_create='true'; - else - $p_create='false'; - - // Class is valid ? - if ( sql_string($p_class_base) != null || ( $p_class_base !='' && strpos(',',$p_class_base) != 0 )) - { - // p_class is a valid number - $sql="insert into fiche_def(fd_label,fd_class_base,frd_id,fd_create_account,fd_description) - values ($1,$2,$3,$4,$5) returning fd_id"; - - $fd_id=$this->cn->get_value($sql,array($p_nom_mod,$p_class_base,$p_fiche_def,$p_create,$p_fd_description)); - - // p_class must be added to tmp_pcmn if it is a single accounting - if ( strpos(',',$p_class_base) ==0) - { - $sql="select account_add($1,$2)"; - $Res=$this->cn->exec_sql($sql,array($p_class_base,$p_nom_mod)); - } - // Get the fd_id - $fd_id=$this->cn->get_current_seq('s_fdef'); - - // update jnt_fic_attr - $sql=sprintf("insert into jnt_fic_attr(fd_id,ad_id,jnt_order) - values (%d,%d,10)",$fd_id,ATTR_DEF_ACCOUNT); - $Res=$this->cn->exec_sql($sql); - } - else - { - //There is no class base not even as default - $sql="insert into fiche_def(fd_label,frd_id,fd_create_account,fd_description) values ($1,$2,$3,$4) returning fd_id"; - - - $this->id=$this->cn->get_value($sql,array($p_nom_mod,$p_fiche_def,$p_create,$p_fd_description)); - - // Get the fd_id - $fd_id=$this->cn->get_current_seq('s_fdef'); - - } - - // Get the default attr_def from attr_min - $def_attr=$this->get_attr_min($p_fiche_def); - - //if defaut attr not null - // build the sql insert for the table attr_def - if (sizeof($def_attr) != 0 ) - { - // insert all the mandatory fields into jnt_fiche_attr - $jnt_order=10; - foreach ( $def_attr as $i=>$v) - { - $order=$jnt_order; - if ( $v['ad_id'] == ATTR_DEF_NAME ) - $order=0; - $count=$this->cn->get_value("select count(*) from jnt_fic_attr where fd_id=$1 and ad_id=$2",array($fd_id,$v['ad_id'])); - if ($count == 0) - { - $sql=sprintf("insert into jnt_fic_Attr(fd_id,ad_id,jnt_order) - values (%d,%s,%d)", - $fd_id,$v['ad_id'],$order); - $this->cn->exec_sql($sql); - $jnt_order+=10; - } - } - } - $this->id=$fd_id; - return 0; - - }//--------------end function Add ---------------------------- - /*! - * \brief Get all the card where the fiche_def.fd_id is given in parameter - * \param $step = 0 we don't use the offset, page_size,... - * $step = 1 we use the jnr_bar_nav - * - * \return array ('f_id'=>..,'ad_value'=>..) - *\see fiche - */ - function get_by_type($step=0) - { - $sql="select f_id,ad_value - from - fiche join fiche_detail using(f_id) - where ad_id=1 and fd_id=$1 order by 2"; - - // we use navigation_bar - if ($step == 1 && $_SESSION['g_pagesize'] != -1 ) - { - $offset=(isset($_GET['offset']))?$_GET['offset']:0; - $step=$_SESSION['g_pagesize']; - $sql.=" offset $offset limit $step"; - } - - $Ret=$this->cn->get_array($sql,array($this->id)); - - return $Ret; - } - /*! - * \brief Get all the card where the fiche_def.frd_id is given in parameter - * \return array of fiche or null is nothing is found - */ - function get_by_category($p_cat) - { - $sql="select f_id,ad_value - from - fiche join fiche_def using(fd_id) - join fiche_detail using(f_id) - where ad_id=1 and frd_id=$1 order by 2 "; - - $Ret=$this->cn->exec_sql($sql,array($p_cat)); - if ( ($Max=Database::num_row($Ret)) == 0 ) - return null; - $all[0]=new Fiche($this->cn); - - for ($i=0;$i<$Max;$i++) - { - $row=Database::fetch_array($Ret,$i); - $t=new Fiche($this->cn,$row['f_id']); - $t->getAttribut(); - $all[$i]=$t; - - } - return $all; - } - - /*!\brief list the card of a fd_id - */ - function myList() - { - $this->get(); - echo '

      '.$this->id." ".$this->label.'

      '; - - $step=$_SESSION['g_pagesize']; - $sql_limit=""; - $sql_offset=""; - $bar=""; - if ( $step != -1 ) - { - - $page=(isset($_GET['page']))?$_GET['page']:1; - $offset=(isset($_GET['offset']))?$_GET['offset']:0; - $max_line=$this->cn->count_sql("select f_id,ad_value from - fiche join fiche_detail using (f_id) - where fd_id='".$this->id."' and ad_id=".ATTR_DEF_NAME." order by f_id"); - $sql_limit=" limit ".$step; - $sql_offset=" offset ".$offset; - $bar=navigation_bar($offset,$max_line,$step,$page); - } - - // Get all name the cards of the select category - // 1 for attr_def.ad_id is always the name - $Res=$this->cn->exec_sql("select f_id,vw_name,quick_code from ". - " vw_fiche_attr ". - " where fd_id='".$this->id. - "' order by f_id $sql_offset $sql_limit "); - $Max=Database::num_row($Res); - echo $bar; - $str=""; - // save the url - // with offet &offset=15&step=15&page=2&size=15 - if ( $_SESSION['g_pagesize'] != -1) - { - $str=sprintf("&offset=%s&step=%s&page=%s&size=%s", - $offset, - $step, - $page, - $max_line); - } - - - echo '
      '; - echo HtmlInput::hidden('ac',$_REQUEST['ac']); - echo dossier::hidden(); - echo HtmlInput::hidden("fiche",$this->id); - echo HtmlInput::submit('add','Ajout fiche'); - echo '
      '; - $str_dossier=dossier::get(); - echo ''; - for ( $i = 0; $i < $Max; $i++) - { - $l_line=Database::fetch_array($Res,$i); - if ( $i%2 == 0) - echo ''; - else - echo ''; - - $span_mod=''; - - echo $span_mod.'"; - echo ''; - } - echo '
      '.$l_line['quick_code'] - .''.h($l_line['vw_name'])."
      '; - echo '
      '; - echo HtmlInput::hidden('ac',$_REQUEST['ac']); - echo dossier::hidden(); - echo HtmlInput::hidden("fiche",$this->id); - echo HtmlInput::submit('add','Ajout fiche'); - echo '
      '; - echo $bar; - - } - /*!\brief show input for the basic attribute : label, class_base, create_account - * use only when we want to update - * - *\return HTML string with the form - */ - function input_base() - { - $r=""; - $r.=_('Label'); - $label=new IText('label',$this->label); - $r.=$label->input(); - $r.='
      '; - /* the accounting item */ - $class_base=new IPoste('class_base',$this->class_base); - $class_base->set_attribute('ipopup','ipop_account'); - $class_base->set_attribute('account','class_base'); - $class_base->set_attribute('label','acc_label'); - $fd_description=new ITextarea('fd_description',$this->fd_description); - $fd_description->width=80; - $fd_description->heigh=4; - $fd_description->style='class="itextarea" style="margin-left:0px;vertical-align:text-top"'; - - $r.=_('Poste Comptable de base').' : '; - $r.=$class_base->input(); - $r.='
      '; - $r.='
      '; - $r.=" Description ".$fd_description->input(); - /* auto Create */ - $r.='
      '; - $ck=new ICheckBox('create'); - $ck->selected=($this->create_account=='f')?false:true; - $r.=_('Chaque fiche aura automatiquement son propre poste comptable : '); - $r.=$ck->input(); - return $r; - } - /*!\brief Display all the attribut of the fiche_def - *\param $str give the action possible values are remove, empty - */ - function DisplayAttribut($str="") - { - if ( $this->id == 0 ) - return ; - $this->cn->exec_sql('select fiche_attribut_synchro($1)',array($this->id)); - - $MaxLine=sizeof($this->attribut); - $r=""; - $r.="".th('Nom attribut').th('').th('Ordre','style="text-align:right"').''; - // Display each attribute - $add_action=""; - for ($i=0;$i<$MaxLine;$i++) - { - $class="even"; - if ( $i % 2 == 0 ) - $class="odd"; - - $r.=''; - } - - // Show the possible attribute which are not already attribute of the model - // of card - $Res=$this->cn->exec_sql("select ad_id,ad_text from attr_def - where - ad_id not in (select ad_id from fiche_def natural join jnt_fic_attr - where fd_id=$1) order by ad_text",array($this->id) ); - $M=Database::num_row($Res); - - // Show the unused attribute - $r.='
      '; - // Can change the name - if ( $this->attribut[$i]->ad_id == ATTR_DEF_NAME ) - { - continue; - } - else - { - if ( $str == "remove" ) - { - //Only for the not mandatory attribute (not defined in attr_min) - if ( $this->cn->count_sql("select * from attr_min where frd_id=". - $this->fiche_def." and ad_id = ".$this->attribut[$i]->ad_id) == 0 - && $this->attribut[$i]->ad_id != ATTR_DEF_QUICKCODE - && $this->attribut[$i]->ad_id != ATTR_DEF_ACCOUNT - ) - { - $add_action=sprintf( ' Supprimer ', - $this->attribut[$i]->ad_id); - } - else - $add_action=""; - } - // The attribut. - $a=sprintf('%s ', $this->attribut[$i]->ad_text); - $r.=$a.$add_action; - /*---------------------------------------- */ - /* ORDER OF THE CARD */ - /*---------------------------------------- */ - $order=new IText(); - $order->name='jnt_order'.$this->attribut[$i]->ad_id; - $order->size=3; - $order->value=$this->attribut[$i]->jnt_order; - $r.=' '.$order->input(); - } - $r.= '
      '; - $r.= ''; - - $r.="
      "; - return $r; - } - /*!\brief Save the label of the fiche_def - * \param $p_label label - */ - function SaveLabel($p_label) - { - if ( $this->id == 0 ) return; - $p_label=sql_string($p_label); - if (strlen(trim ($p_label)) == 0 ) - { - return; - } - $sql=sprintf("update fiche_def set fd_label='%s' ". - "where fd_id=%d", - $p_label,$this->id); - $Res=$this->cn->exec_sql($sql); - - } - /*!\brief set the auto create accounting item for each card and - * save it into the database - * \param $p_label true or false - */ - function set_autocreate($p_label) - { - if ( $this->id == 0 ) return; - if ($p_label==true) - $t='t'; - if ($p_label==false) - $t='f'; - - $sql="update fiche_def set fd_create_account=$1 ". - "where fd_id=$2"; - - $Res=$this->cn->exec_sql($sql,array($t,$this->id)); - - } - /*!\brief Save the class base - * \param $p_label label - */ - function save_class_base($p_label) - { - if ( $this->id == 0 ) return; - $p_label=sql_string($p_label); - - $sql="update fiche_def set fd_class_base=$1 ". - "where fd_id=$2"; - - $Res=$this->cn->exec_sql($sql,array($p_label,$this->id)); - } - function save_description($p_description) - { - if ( $this->id == 0) return; - $this->cn->exec_sql("update fiche_def set fd_description=$1 where fd_id=$2",array($p_description,$this->id)); - } - - - /*!\brief insert a new attribut for this fiche_def - * \param $p_ad_id id of the attribut - */ - function InsertAttribut($p_ad_id) - { - if ( $this->id == 0 ) return; - /* ORDER */ - $this->GetAttribut(); - $max=sizeof($this->attribut)*15; - // Insert a new attribute for the model - // it means insert a row in jnt_fic_attr - $sql=sprintf("insert into jnt_fic_attr (fd_id,ad_id,jnt_order) values (%d,%d,%d)", - $this->id,$p_ad_id,$max); - $Res=$this->cn->exec_sql($sql); - } - /*!\brief remove an attribut for this fiche_def - * \param array of ad_id to remove - * \remark you can't remove the attribut defined in attr_min - */ - function RemoveAttribut($array) - { - foreach ($array as $ch) - { - $this->cn->start(); - $sql="delete from jnt_fic_attr where fd_id=$1 ". - " and ad_id=$2"; - $this->cn->exec_sql($sql,array($this->id,$ch)); - - $sql="delete from fiche_detail where jft_id in ( select ". - " jft_id from fiche_Detail ". - " join fiche using(f_id) ". - " where ". - "fd_id = $1 and ". - "ad_id=$2)"; - $this->cn->exec_sql($sql,array($this->id,$ch)); - - $this->cn->commit(); - } - } - - /*!\brief save the order of a card, update the column jnt_fic_attr.jnt_order - *\param $p_array containing the order - */ - function save_order($p_array) - { - extract($p_array); - $this->GetAttribut(); - foreach ($this->attribut as $row) - { - if ( $row->ad_id == 1 ) continue; - if ( ${'jnt_order'.$row->ad_id} <= 0 ) continue; - $sql='update jnt_fic_attr set jnt_order=$1 where fd_id=$2 and ad_id=$3'; - $this->cn->exec_sql($sql,array(${'jnt_order'.$row->ad_id}, - $this->id, - $row->ad_id)); - - } - /* correct the order */ - $this->cn->exec_sql('select attribute_correct_order()'); - } - - - /*!\brief remove all the card from a categorie after having verify - *that the card is not used and then remove also the category - *\return the remains items, not equal to 0 if a card remains and - *then the category is not removed - */ - function remove() - { - if ( $this->id >= 500000 ) { - throw new Exception(_('Catégorie verrouillée ')); - } - $remain=0; - /* get all the card */ - $aFiche=fiche::get_fiche_def($this->cn,$this->id); - if ( $aFiche != null ) - { - /* check if the card is used */ - foreach ($aFiche as $dfiche) - { - $fiche=new Fiche($this->cn,$dfiche['f_id']); - - /* if the card is not used then remove it otherwise increment remains */ - if ( $fiche->is_used() == false ) - { - $fiche->delete(); - } - else - $remain++; - } - } - /* if remains == 0 then remove cat */ - if ( $remain == 0 ) - { - $sql='delete from jnt_fic_attr where fd_id=$1'; - $this->cn->exec_sql($sql,array($this->id)); - $sql='delete from fiche_def where fd_id=$1'; - $this->cn->exec_sql($sql,array($this->id)); - } - - return $remain; - - } - /*! - * \brief retrieve the mandatory field of the card model - * - * \param $p_fiche_def_ref - * \return array of ad_id (attr_min.ad_id) and labels (attr_def.ad_text) - */ - function get_attr_min($p_fiche_def_ref) - { - - // find the min attr for the fiche_def_ref - $Sql="select ad_id,ad_text from attr_min natural join attr_def - natural join fiche_def_ref - where - frd_id= $1"; - $Res=$this->cn->exec_sql($Sql,array($p_fiche_def_ref)); - $Num=Database::num_row($Res); - - // test the number of returned rows - if ($Num == 0 ) return null; - - // Get Results & Store them in a array - for ($i=0;$i<$Num;$i++) - { - $f=Database::fetch_array($Res,$i); - $array[$i]['ad_id']=$f['ad_id']; - $array[$i]['ad_text']=$f['ad_text']; - } - return $array; - } - /*!\brief count the number of fiche_def (category) which has the frd_id (type of category) - *\param $p_frd_id is the frd_id in constant.php the FICHE_TYPE_ - *\return the number of cat. of card of the given type - *\see constant.php - */ - function count_category($p_frd_id) - { - $ret=$this->cn->count_sql("select fd_id from fiche_def where frd_id=$1",array($p_frd_id)); - return $ret; - } - function input_detail() - { - $r = ""; - // Save the label - - $this->get(); - $this->GetAttribut(); - $r.= '

      ' . $this->id . " " . h($this->label) . '

      '; - $r.='
      '._('Données générales').''; - - /* show the values label class_base and create account */ - $r.='
      '; - $r.=dossier::hidden(); - $r.=HtmlInput::hidden("fd_id", $this->id); - $r.=HtmlInput::hidden("p_action", "fiche"); - $r.= $this->input_base(); - $r.='
      '; - $r.=HtmlInput::submit('change_name', _('Sauver')); - $r.='
      '; - $r.='
      '; - /* attributes */ - $r.='
      '._('Détails').''; - - $r.= '
      '; - $r.=dossier::hidden(); - $r.=HtmlInput::hidden("fd_id", $this->id); - $r.=HtmlInput::hidden("action", ""); - $r.= $this->DisplayAttribut("remove"); - $r.= HtmlInput::submit('add_line_bt', _('Ajoutez cet élément'), - 'onclick="$(\'action\').value=\'add_line\'"'); - $r.= HtmlInput::submit("save_line_bt", _("Sauvez"), - 'onclick="$(\'action\').value=\'save_line\'"'); - - $r.=HtmlInput::submit('remove_cat_bt', _('Effacer cette catégorie'), 'onclick="$(\'action\').value=\'remove_cat\';return confirm_box(\'input_detail_frm\',\'' . _('Vous confirmez ?') . '\')"'); - // if there is nothing to remove then hide the button - if (strpos($r, "chk_remove") != 0) - { - $r.=HtmlInput::submit('remove_line_bt', _("Enleve les éléments cochés"), - 'onclick="$(\'action\').value=\'remove_line\';return confirm_box(\'input_detail_frm\',\'' . _('Vous confirmez ?') . '\')"'); - } - $r.= "
      "; - $r.="

      " . _("Attention : il n'y aura pas de demande de confirmation pour enlever les - attributs sélectionnés. Il ne sera pas possible de revenir en arrière") . "

      "; - $r.='
      '; - return $r; - } - function input_new() - { - $single=new Tool_Uos("dup"); - echo '
      '; - echo $single->hidden(); - echo HtmlInput::hidden("p_action","fiche"); - echo dossier::hidden(); - echo $this->input(); // CreateCategory($cn,$search); - echo HtmlInput::submit("add_modele" ,_("Sauve")); - echo '
      '; - } - -} -?> diff --git a/sources/include/class_fiche_def_ref.php b/sources/include/class_fiche_def_ref.php deleted file mode 100644 index c8aa5c1..0000000 --- a/sources/include/class_fiche_def_ref.php +++ /dev/null @@ -1,153 +0,0 @@ -db=$p_cn; - $this->frd_id=$p_frd_id; - $this->attribut=array('frd_id','frd_text','frd_class_base'); - } - /*! - ************************************************** - * \brief Load all the fiche_def_ref data and - * return an array of fiche_def_ref objects - * - * \return array - */ - function LoadAll() - { - $sql="select * from fiche_def_ref order by frd_id"; - $Res=$this->db->exec_sql($sql); - $all=Database::fetch_all($Res); - if ( $Res == false ) return array(); - $idx=0; - $array=array(); - foreach ($all as $row) - { - $o=new Fiche_Def_Ref($this->db); - - foreach ( $this->attribut as $value) - { - $o->$value=$row[$value]; - } - $array[$idx]=$o; - $idx++; - } - return $array; - } - /*! - ************************************************** - * \brief Display data between tag - * - * \return string - */ - function Display() - { - $r=""; - foreach ( $this->attribut as $value) - { - $r.="".$this->$value.''; - } - return $r; - } - /*! - ************************************************** - * \brief Input Data between tag - * - * \return string - */ - function Input() - { - $r=""; - $h=new IHidden(); - $r.='
    29. Id :'.$h->input('frd_id',$this->frd_id).$this->frd_id."
    30. "; - $w=new IText(); - $r.='
    31. '._('Commentaire ').' :'.$w->input('frd_text',$this->frd_text)."
    32. "; - $t=new IText(); - $r.='
    33. '._('Poste de base').':'.$t->input('frd_class_base',$this->frd_class_base)."
    34. "; - - return $r; - } - /*! - ************************************************** - * \brief Store data into the database: update the - * record - * - * - - * \return none - */ - function Save() - { - $sql="update fiche_def_ref set frd_text=$1 ". - " , frd_class_base=$2 ". - " where frd_id= $3"; - $Res=$this->db->exec_sql($sql,array($this->frd_text,$this->frd_class_base,$this->frd_id)); - } - /*! - ************************************************** - * \brief Get the data with the p_code and complete - * the current object - * - * \return none - */ - function Get() - { - $sql="select * from fiche_def_ref ". - " where frd_id=".$this->frd_id; - $Res=$this->db->exec_sql($sql); - if ( Database::num_row($Res) == 0 ) return null; - $r=Database::fetch_array($Res,0); - $this->frd_text=$r['frd_text']; - $this->frd_class_base=$r['frd_class_base']; - } - /** - * get category of cards by model - * @param $p_modele if the FRD_ID - * @return array of category (fd_id) - */ - function get_by_modele($p_modele) - { - $array = array(); - $result = $this->db->get_array('select fd_id from fiche_def where frd_id=$1', array($p_modele)); - for ($i = 0; $i < count($result); $i++) - { - $array[$i] = $result[$i]['fd_id']; - } - return $array; - } - -} -?> diff --git a/sources/include/class_filetosend.php b/sources/include/class_filetosend.php deleted file mode 100644 index af9b4b3..0000000 --- a/sources/include/class_filetosend.php +++ /dev/null @@ -1,98 +0,0 @@ -full_name=$p_filename; - if (strpos($p_filename,'/') != false) - { - $this->path=dirname($p_filename); - } - $this->filename=basename ($p_filename); - if ( $p_type=="") - { - $this->guess_type(); - - } - } - /** - * set the $this->type to the mimetype, called from __construct - */ - private function guess_type() - { - $ext_pos= strrpos($this->filename,'.'); - if ( $ext_pos == false ) { - $this->type="application/octect"; - return; - } - $ext= substr($this->filename, $ext_pos+1, 3); - switch ($ext) - { - case 'odt': - $this->type='application/vnd.oasis.opendocument.text'; - break; - case 'ods': - $this->type='application/vnd.oasis.opendocument.spreadsheet'; - break; - case 'pdf': - $this->type="application/pdf"; - break; - case 'zip': - $this->type="application/zip"; - break; - default: - $this->type="application/octet"; - } - - } - /** - * Compute properly the filename - */ - function compute_name($p_filename) - { - /** - * @todo compute a filename - */ - } - -} diff --git a/sources/include/class_follow_up.php b/sources/include/class_follow_up.php deleted file mode 100644 index ed5c662..0000000 --- a/sources/include/class_follow_up.php +++ /dev/null @@ -1,1840 +0,0 @@ - - *
    35. an invoice - *
    36. a meeting - *
    37. an order - *
    38. a letter - * - * The table document_type are the possible actions - */ - -/** - * \brief class_action for manipulating actions - * action can be : - *
        - *
      • a meeting - *
      • an order - *
      • a letter - *
      - * The table document_type are the possible actions - */ -class Follow_Up -{ - - var $db; /* !< $db database connexion */ - var $ag_timestamp; /* !< $ag_timestamp document date (ag_gestion.ag_timestamp) */ - var $dt_id; /* !< $dt_id type of the document (document_type.dt_id) */ - var $ag_state; /* !< $ag_state stage of the document (printed, send to client...) */ - var $d_number; /* !< $d_number number of the document */ - var $d_filename; /* !< $d_filename filename's document */ - var $d_mimetype; /* !< $d_mimetype document's filename */ - var $ag_title; /* !< $ag_title title document */ - var $f_id; /* !< $f_id_dest fiche id (From field ) */ - var $ag_ref; /* !< $ag_ref is the ref */ - var $ag_hour; /* !< $ag_hour is the hour of the meeting, action */ - var $ag_priority; /* !< $ag_priority is the priority 1 High, 2 medium, 3 low */ - var $ag_dest; /* !< $ag_dest person who is in charged */ - var $ag_contact; /* !< $ag_contact contact */ - var $ag_remind_date; /* !< $ag_contact contact */ - - /** - * @brief $operation string related operation - */ - var $operation; - - /** - * @brief $action string related action - */ - var $action; - - /** - * @brief constructor - * \brief constructor - * \param p_cn database connection - */ - function __construct($p_cn, $p_id=0) - { - $this->db=$p_cn; - $this->ag_id=$p_id; - $this->f_id=0; - $this->aAction_detail=array(); - $this->operation=""; - $this->action=""; - } - /** - * Create a filter based on the current user, - * @global type $g_user Connected user - * @param type $cn Database connection - * @param type $p_mode Mode is R (for Read) or W (for write) - * @return string SQL where clause to include in the SQL - * example: (ag_dest in (select p_granted from user_sec_action_profile where p_id=x) - */ - static function sql_security_filter($cn, $p_mode) - { - global $g_user; - $profile=$cn->get_value("select p_id from profile_user where user_name=$1", array($g_user->login)); - if ($profile=='') - die("Security"); - if ($p_mode=='R') - { - $sql=" (ag_dest in (select p_granted from user_sec_action_profile where p_id=$profile ) ) "; - } else if ($p_mode=='W') - { - $sql=" ( ag_dest in (select p_granted from user_sec_action_profile where p_id=$profile and ua_right='W' ) )"; - } else { - error_log(_('Securité')); - throw new Exception(_('Securité')); - } - return $sql; - } - - //---------------------------------------------------------------------- - /** - * \brief Display the object, the tags for the FORM - * are in the caller. It will be used for adding and updating - * action - * \note If ag_id is not equal to zero then it is an update otherwise - * it is a new document - * - * \param $p_view form will be in readonly mode (value: READ, UPD or NEW ) - * \param $p_gen true we show the tag for generating a doc (value : true or false) and adding files - * \param $p_base is the ac parameter - * \param $retour is the html code for the return button - * \note update the reference number or the document type is not allowed - * - * - * \return string containing the html code - */ - function Display($p_view, $p_gen, $p_base, $retour="") - { - global $g_user; - if ($p_view=='UPD') - { - $upd=true; - $readonly=false; - } - elseif ($p_view=="NEW") - { - $upd=false; - $readonly=false; - $this->ag_ref=_("Nouveau"); - } - elseif ($p_view=='READ') - { - $upd=true; - $readonly=true; - } - else - { - throw new Exception('class_action'.__LINE__.'Follow_Up::Display error unknown parameter'.$p_view); - } - // Compute the widget - // Date - $date=new IDate(); - $date->readOnly=$readonly; - $date->name="ag_timestamp"; - $date->id="ag_timestamp"; - $date->value=$this->ag_timestamp; - - $remind_date=new IDate(); - $remind_date->readOnly=$readonly; - $remind_date->name="ag_remind_date"; - $remind_date->id="ag_remind_date"; - $remind_date->value=$this->ag_remind_date; - - - // Doc Type - $doc_type=new ISelect(); - $doc_type->name="dt_id"; - $doc_type->value=$this->db->make_array("select dt_id,dt_value from document_type order by dt_value", 1); - $doc_type->selected=$this->dt_id; - $doc_type->readOnly=$readonly; - $str_doc_type=$doc_type->input(); - - // Description - $desc=new ITextArea(); - $desc->style=' class="itextarea" style="width:80%;margin-left:0px"'; - $desc->name="ag_comment"; - $desc->readOnly=$readonly; - $acomment=$this->db->get_array("SELECT agc_id, ag_id, to_char(agc_date,'DD.MM.YYYY HH24:MI') as str_agc_date, agc_comment, tech_user - FROM action_gestion_comment where ag_id=$1 order by agc_id;", array($this->ag_id) - ); - - // List opération liées - $operation=$this->db->get_array("select ago_id,j.jr_id,j.jr_internal,j.jr_comment,to_char(j.jr_date,'DD.MM.YY') as str_date - from jrn as j join action_gestion_operation as ago on (j.jr_id=ago.jr_id) - where ag_id=$1 order by jr_date", array($this->ag_id)); - $iconcerned=new IConcerned('operation'); - - // List related action - $action=$this->db->get_array(" - select ag_id,ag_ref,substr(ag_title,1,40) as sub_title,to_char(ag_timestamp,'DD.MM.YY') as str_date , - ag_timestamp,dt_value - from action_gestion - join document_type on (ag_type=dt_id) - where - ag_id in (select aga_greatest from action_gestion_related where aga_least =$1) - or - ag_id in (select aga_least from action_gestion_related where aga_greatest =$1) - order by ag_timestamp", array($this->ag_id)); - $iaction=new IRelated_Action('action'); - $iaction->value=(isset($this->action))?$this->action:""; - - // state - // Retrieve the value - $a=$this->db->make_array("select s_id,s_value from document_state "); - $state=new ISelect(); - $state->readOnly=$readonly; - $state->name="ag_state"; - $state->value=$a; - $state->selected=$this->ag_state; - $str_state=$state->input(); - - // Retrieve the value if there is an attached doc - $doc_ref=""; - // Document id - - $h2=new IHidden(); - $h2->name="d_id"; - $h2->value=$this->d_id; - - if ($this->d_id!=0&&$this->d_id!="") - { - $h2->readonly=($p_view=='NEW')?false:true; - $doc=new Document($this->db, $this->d_id); - $doc->get(); - if (strlen(trim($doc->d_lob))!=0) - { - $d_id=new IHidden(); - $doc_ref="

      Document ".$doc->anchor().'

      '; - $doc_ref.=$h2->input().$d_id->input('d_id', $this->d_id); - } - } - - - // title - $title=new IText(); - $title->readOnly=$readonly; - $title->name="ag_title"; - $title->value=$this->ag_title; - $title->size=60; - - - // Priority of the ag_priority - $ag_priority=new ISelect(); - $ag_priority->readOnly=$readonly; - $ag_priority->name="ag_priority"; - $ag_priority->selected=$this->ag_priority; - $ag_priority->value=array(array('value'=>1, 'label'=>'Haute'), - array('value'=>2, 'label'=>'Moyenne'), - array('value'=>3, 'label'=>'Basse') - ); - $str_ag_priority=$ag_priority->input(); - - // hour of the action (meeting) ag_hour - $ag_hour=new IText(); - $ag_hour->readOnly=$readonly; - $ag_hour->name="ag_hour"; - $ag_hour->value=$this->ag_hour; - $ag_hour->size=6; - $ag_hour->javascript=" onblur=check_hour('ag_hour');"; - $str_ag_hour=$ag_hour->input(); - - // Profile in charged of the action - $ag_dest=new ISelect(); - $ag_dest->readOnly=$readonly; - $ag_dest->name="ag_dest"; - // select profile - $aAg_dest=$this->db->make_array("select p_id as value, ". - "p_name as label ". - " from profile where p_id in (select p_granted from user_sec_action_profile where ua_right='W' and p_id=".$g_user->get_profile().") order by 2"); - - $ag_dest->value=$aAg_dest; - $ag_dest->selected=$this->ag_dest; - $str_ag_dest=$ag_dest->input(); - - // ag_ref - // Always false for update - - $client_label=new ISpan(); - - /* Add button */ - $f_add_button=new IButton('add_card'); - $f_add_button->label=_('Créer une nouvelle fiche'); - $f_add_button->set_attribute('ipopup', 'ipop_newcard'); - $filter=$this->db->make_list('select fd_id from fiche_def '); - $f_add_button->set_attribute('filter', $filter); - - $f_add_button->javascript=" select_card_type(this);"; - $str_add_button=$f_add_button->input(); - - // f_id_dest sender - if ($this->qcode_dest!=NOTFOUND&&strlen(trim($this->qcode_dest))!=0) - { - $tiers=new Fiche($this->db); - $tiers->get_by_qcode($this->qcode_dest); - $qcode_dest_label=$tiers->strAttribut(1); - $this->f_id_dest=$tiers->id; - } - else - { - $qcode_dest_label=($this->f_id_dest==0||trim($this->qcode_dest)=="")?'Interne ':'Error'; - } - - $h_ag_id=new IHidden(); - // if concerns another action : show the link otherwise nothing - // - // sender - $w=new ICard(); - $w->readOnly=$readonly; - $w->jrn=0; - $w->name='qcode_dest'; - $w->value=($this->f_id_dest!=0)?$this->qcode_dest:""; - $w->label=""; - $list_recipient=$this->db->make_list('select fd_id from fiche_def where frd_id in (14,25,8,9,16)'); - $w->extra=$list_recipient; - $w->set_attribute('typecard', $list_recipient); - $w->set_dblclick("fill_ipopcard(this);"); - $w->set_attribute('ipopup', 'ipopcard'); - - // name of the field to update with the name of the card - $w->set_attribute('label', 'qcode_dest_label'); - // name of the field to update with the name of the card - $w->set_attribute('typecard', $w->extra); - $w->set_function('fill_data'); - $w->javascript=sprintf(' onchange="fill_data_onchange(\'%s\');" ', $w->name); - - $sp=new ISpan(); - $sp->name='qcode_dest_label'; - $sp->value=$qcode_dest_label; - - // autre - a refaire pour avoir plusieurs fiches - // Sur le modèle des tags - $ag_contact=new ICard(); - $ag_contact->readOnly=$readonly; - $ag_contact->jrn=0; - $ag_contact->name='ag_contact'; - $ag_contact->value=''; - $ag_contact->set_attribute('ipopup', 'ipopcard'); - - if ($this->ag_contact!=0) - { - $contact=new Fiche($this->db, $this->ag_contact); - $ag_contact->value=$contact->get_quick_code(); - } - - $ag_contact->label=""; - - $list_contact=$this->db->make_list('select fd_id from fiche_def where frd_id=16'); - $ag_contact->extra=$list_contact; - - $ag_contact->set_dblclick("fill_ipopcard(this);"); - // name of the field to update with the name of the card - $ag_contact->set_attribute('label', 'ag_contact_label'); - // name of the field to update with the name of the card - $ag_contact->set_attribute('typecard', $list_contact); - $ag_contact->set_function('fill_data'); - $ag_contact->javascript=sprintf(' onchange="fill_data_onchange(\'%s\');" ', $ag_contact->name); - - $spcontact=new ISpan(); - $spcontact->name='ag_contact_label'; - $spcontact->value=''; - $fiche_contact=new Fiche($this->db); - $fiche_contact->get_by_qcode($this->ag_contact); - if ($fiche_contact->id!=0) - { - $spcontact->value=$fiche_contact->strAttribut(ATTR_DEF_NAME); - } - - - $h_agrefid=new IHidden(); - $iag_ref=new IText("ag_ref"); - $iag_ref->value=$this->ag_ref; - $iag_ref->readOnly=($p_view=="NEW"||$p_view=='READ')?true:false; - $str_ag_ref=$iag_ref->input(); - // Preparing the return string - $r=""; - - /* for new files */ - $upload=new IFile(); - $upload->name="file_upload[]"; - $upload->readOnly=$readonly; - $upload->value=""; - $aAttachedFile=$this->db->get_array('select d_id,d_filename,d_description,d_mimetype,'. - '\'show_document.php?'. - Dossier::get().'&d_id=\'||d_id as link'. - ' from document where ag_id=$1', array($this->ag_id)); - /* create the select for document */ - $aDocMod=new ISelect(); - $aDocMod->name='doc_mod'; - $aDocMod->value=$this->db->make_array('select md_id,dt_value||\' : \'||md_name as md_name'. - ' from document_modele join document_type on (md_type=dt_id)'. - ' order by md_name'); - $str_select_doc=$aDocMod->input(); - /* if no document then do not show the generate button */ - if (empty($aDocMod->value)) - $str_submit_generate=""; - else - $str_submit_generate=HtmlInput::submit("generate", _("Génére le document")); - - $ag_id=$this->ag_id; - - /* fid = Icard */ - $icard=new ICard(); - $icard->jrn=0; - $icard->table=0; - $icard->extra2='QuickCode'; - $icard->noadd="no"; - $icard->extra='all'; - - /* Text desc */ - $text=new IText(); - $num=new INum(); - - /* TVA */ - $itva=new ITva_Popup($this->db); - $itva->in_table=true; - $aCard=array(); - /* create aArticle for the detail section */ - $article_count=(count($this->aAction_detail)==0)?MAX_ARTICLE:count($this->aAction_detail); - /* Compute total */ - $tot_item=0; - $tot_vat=0; - for ($i=0; $i<$article_count; $i++) - { - /* fid = Icard */ - $icard=new ICard(); - $icard->jrn=0; - $icard->table=0; - $icard->noadd="no"; - $icard->extra='all'; - $icard->name="e_march".$i; - $tmp_ad=(isset($this->aAction_detail[$i]))?$this->aAction_detail[$i]:false; - $icard->readOnly=$readonly; - $icard->value=''; - $aCard[$i]=0; - if ($tmp_ad) - { - $march=new Fiche($this->db); - $f=$tmp_ad->get_parameter('qcode'); - if ($f!=0) - { - $march->id=$f; - $icard->value=$march->get_quick_code(); - $aCard[$i]=$f; - } - } - $icard->set_dblclick("fill_ipopcard(this);"); - // name of the field to update with the name of the card - $icard->set_attribute('label', "e_march".$i."_label"); - // name of the field to update with the name of the card - $icard->set_attribute('typecard', $icard->extra); - $icard->set_attribute('ipopup', 'ipopcard'); - $icard->set_function('fill_data'); - $icard->javascript=sprintf(' onchange="fill_data_onchange(\'%s\');" ', $icard->name); - - $aArticle[$i]['fid']=$icard->search().$icard->input(); - - $text->javascript=' onchange="clean_tva('.$i.');compute_ledger('.$i.')"'; - $text->css_size="100%"; - $text->name="e_march".$i."_label"; - $text->id="e_march".$i."_label"; - $text->size=40; - $text->value=($tmp_ad)?$tmp_ad->get_parameter('text'):""; - $text->readOnly=$readonly; - $aArticle[$i]['desc']=$text->input(); - - $num->javascript=' onchange="format_number(this);clean_tva('.$i.');compute_ledger('.$i.')"'; - $num->name="e_march".$i."_price"; - $num->id="e_march".$i."_price"; - $num->size=8; - $num->readOnly=$readonly; - $num->value=($tmp_ad)?$tmp_ad->get_parameter('price_unit'):0; - $aArticle[$i]['pu']=$num->input(); - - $num->name="e_quant".$i; - $num->id="e_quant".$i; - $num->size=8; - $num->value=($tmp_ad)?$tmp_ad->get_parameter('quantity'):0; - $aArticle[$i]['quant']=$num->input(); - - $itva->name='e_march'.$i.'_tva_id'; - $itva->id='e_march'.$i.'_tva_id'; - $itva->value=($tmp_ad)?$tmp_ad->get_parameter('tva_id'):0; - $itva->readOnly=$readonly; - $itva->js=' onchange="format_number(this);clean_tva('.$i.');compute_ledger('.$i.')"'; - $itva->set_attribute('compute', $i); - - $aArticle[$i]['tvaid']=$itva->input(); - - $num->name="e_march".$i."_tva_amount"; - $num->id="e_march".$i."_tva_amount"; - $num->value=($tmp_ad)?$tmp_ad->get_parameter('tva_amount'):0; - $num->javascript=" onchange=\"compute_ledger('".$i." ')\""; - $num->size=8; - $aArticle[$i]['tva']=$num->input(); - $tot_vat=bcadd($tot_vat,$num->value); - - $num->name="tvac_march".$i; - $num->id="tvac_march".$i; - $num->value=($tmp_ad)?$tmp_ad->get_parameter('total'):0; - $num->size=8; - $aArticle[$i]['tvac']=$num->input(); - $tot_item=bcadd($tot_item,$num->value); - - $aArticle[$i]['hidden_htva']=HtmlInput::hidden('htva_march'.$i, 0); - $aArticle[$i]['hidden_tva']=HtmlInput::hidden('tva_march'.$i, 0); - $aArticle[$i]['ad_id']=($tmp_ad)?HtmlInput::hidden('ad_id'.$i, $tmp_ad->get_parameter('id')):HtmlInput::hidden('ad_id'.$i, 0); - } - - /* Add the needed hidden values */ - $r.=dossier::hidden(); - - /* add the number of item */ - $Hid=new IHidden(); - $r.=$Hid->input("nb_item", $article_count); - $r.=HtmlInput::request_to_hidden(array("closed_action", "remind_date_end", "remind_date", "sag_ref", "only_internal", "state", "qcode", "ag_dest_query", "action_query", "tdoc", "date_start", "date_end", "hsstate", "searchtag")); - $a_tag=$this->tag_get(); - $menu=new Default_Menu(); - /* get template */ - ob_start(); - require 'template/detail-action.php'; - $content=ob_get_contents(); - ob_end_clean(); - $r.=$content; - - //hidden - $r.="

      "; - $r.=$h2->input(); - $r.=$h_ag_id->input('ag_id', $this->ag_id); - $hidden2=new IHidden(); - $r.=$hidden2->input('f_id_dest', $this->f_id_dest); - $r.="

      "; - - return $r; - } - - //---------------------------------------------------------------------- - /* * \brief This function shows the detail of an action thanks the ag_id - */ - function get() - { - $sql="select ag_id,to_char (ag_timestamp,'DD.MM.YYYY') as ag_timestamp,". - " f_id_dest,ag_title,ag_ref,d_id,ag_type,ag_state, ag_owner, ". - " ag_dest, ag_hour, ag_priority, ag_contact,to_char (ag_remind_date,'DD.MM.YYYY') as ag_remind_date ". - " from action_gestion left join document using (ag_id) where ag_id=".$this->ag_id; - $r=$this->db->exec_sql($sql); - $row=Database::fetch_all($r); - if ($row==false) - { - $this->ag_id=0; - return; - } - $this->ag_timestamp=$row[0]['ag_timestamp']; - $this->ag_contact=$row[0]['ag_contact']; - $this->f_id_dest=$row[0]['f_id_dest']; - $this->ag_title=$row[0]['ag_title']; - $this->ag_type=$row[0]['ag_type']; - $this->ag_ref=$row[0]['ag_ref']; - $this->ag_state=$row[0]['ag_state']; - $this->d_id=$row[0]['d_id']; - $this->ag_dest=$row[0]['ag_dest']; - $this->ag_hour=$row[0]['ag_hour']; - $this->ag_priority=$row[0]['ag_priority']; - $this->ag_remind_date=$row[0]['ag_remind_date']; - $this->ag_owner=$row[0]['ag_owner']; - - $action_detail=new Follow_Up_Detail($this->db); - $action_detail->set_parameter('ag_id', $this->ag_id); - $this->aAction_detail=$action_detail->load_all(); - - - // if there is no document set 0 to d_id - if ($this->d_id=="") - $this->d_id=0; - // if there is a document fill the object - if ($this->d_id!=0) - { - $this->state=$row['0']['ag_state']; - $this->ag_state=$row[0]['ag_state']; - } - $this->dt_id=$this->ag_type; - $aexp=new Fiche($this->db, $this->f_id_dest); - $this->qcode_dest=$aexp->strAttribut(ATTR_DEF_QUICKCODE); - } - - /** - * \brief Save the document and propose to save the generated document or - * to upload one, the data are included except the file. Temporary the generated - * document is save. - * The files into $_FILES['file_upload'] will be saved - * @note the array $_POST['input_desc'] must be set, contains the description - * of the uploaded files - * - * \return - */ - function save() - { - - // Get The sequence id, - $seq_name="seq_doc_type_".$this->dt_id; - $str_file=""; - $add_file=''; - - // f_id exp - $exp=new Fiche($this->db); - $exp->get_by_qcode($this->qcode_dest); - $exp->id=($exp->id==0)?null:$exp->id; - - $contact=new Fiche($this->db); - $contact->get_by_qcode($this->ag_contact); - - if (trim($this->ag_title)=="") - { - $doc_mod=new document_type($this->db); - $doc_mod->dt_id=$this->dt_id; - $doc_mod->get(); - $this->ag_title=$doc_mod->dt_value; - } - $this->ag_id=$this->db->get_next_seq('action_gestion_ag_id_seq'); - - // Create the reference - $ag_ref=$this->db->get_value('select dt_prefix from document_type where dt_id=$1', array($this->dt_id)).'-'.$this->db->get_next_seq($seq_name); - $this->ag_ref=$ag_ref; - - // save into the database - if ($this->ag_remind_date!=null||$this->ag_remind_date!='') - { - $sql="insert into action_gestion". - "(ag_id,ag_timestamp,ag_type,ag_title,f_id_dest,ag_ref, ag_dest, ". - " ag_hour, ag_priority,ag_owner,ag_contact,ag_state,ag_remind_date) ". - " values ($1,to_date($2,'DD.MM.YYYY'),$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,to_date($13,'DD.MM.YYYY'))"; - } - else - { - $this->ag_remind_date=null; - $sql="insert into action_gestion". - "(ag_id,ag_timestamp,ag_type,ag_title,f_id_dest,ag_ref, ag_dest, ". - " ag_hour, ag_priority,ag_owner,ag_contact,ag_state,ag_remind_date) ". - " values ($1,to_date($2,'DD.MM.YYYY'),$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)"; - } - $this->db->exec_sql($sql, array($this->ag_id, /* 1 */ - $this->ag_timestamp, /* 2 */ - $this->dt_id, /* 3 */ - $this->ag_title, /* 4 */ - $exp->id, /* 5 */ - $ag_ref, /* 6 */ - $this->ag_dest, /* 7 */ - $this->ag_hour, /* 8 */ - $this->ag_priority, /* 9 */ - $_SESSION['g_user'], /* 10 */ - $contact->id, /* 11 */ - $this->ag_state, /* 12 */ - $this->ag_remind_date /* 13 */ - ) - ); - - /* insert also the details */ - for ($i=0; $i<$_POST['nb_item']; $i++) - { - $act=new Follow_Up_Detail($this->db); - $act->from_array($_POST, $i); - if ($act->f_id==0) - continue; - $act->ag_id=$this->ag_id; - $act->save(); - } - - /* Upload the documents */ - $doc=new Document($this->db); - $doc->Upload($this->ag_id); - if (trim($this->ag_comment)!='') - { - $this->db->exec_sql("insert into action_gestion_comment (ag_id,tech_user,agc_comment) values ($1,$2,$3)" - , array($this->ag_id, $_SESSION['g_user'], $this->ag_comment)); - } - $this->insert_operation(); - $this->insert_action(); - } - - /** - * myList($p_base, $p_filter = "", $p_search = "") - * Show list of action by default if sorted on date - * @param $p_base base url with ac... - * @param $p_filter filters on the document_type - * @param $p_search must a valid sql command ( ex 'and ag_title like upper('%hjkh%')) - * @return string containing html code - */ - function myList($p_base, $p_filter="", $p_search="") - { - // for the sort - $url=HtmlInput::get_to_string(array("closed_action", "remind_date_end", "remind_date", "sag_ref", "only_internal", "state", "qcode", "ag_dest_query", "action_query", "tdoc", "date_start", "date_end", "hsstate", "searchtag")).'&'.$p_base; - - $table=new Sort_Table(); - $table->add('Date Doc.', $url, 'order by ag_timestamp asc', 'order by ag_timestamp desc', 'da', 'dd'); - $table->add('Date Comm.', $url, 'order by last_comment', 'order by last_comment desc', 'dca', 'dcd'); - $table->add('Date Limite', $url, 'order by ag_remind_date asc', 'order by ag_remind_date desc', 'ra', 'rd'); - $table->add('Tag', $url, 'order by tags asc', 'order by tags desc', 'taa', 'tad'); - $table->add('Réf.', $url, 'order by ag_ref asc', 'order by ag_ref desc', 'ra', 'rd'); - $table->add('Groupe', $url, "order by coalesce((select p_name from profile where p_id=ag_dest),'Aucun groupe')", "order by coalesce((select p_name from profile where p_id=ag_dest),'Aucun groupe') desc", 'dea', 'ded'); - $table->add('Dest/Exp', $url, 'order by name asc', 'order by name desc', 'ea', 'ed'); - $table->add('Titre', $url, 'order by ag_title asc', 'order by ag_title desc', 'ta', 'td'); - - $ord=(!isset($_GET['ord']))?"dcd":$_GET['ord']; - $sort=$table->get_sql_order($ord); - - if (strlen(trim($p_filter))!=0) - $p_filter_doc=" dt_id in ( $p_filter )"; - else - $p_filter_doc=" 1=1 "; - - $sql=" - select ag_id,to_char(ag_timestamp,'DD.MM.YYYY') as my_date, - to_char(ag_remind_date,'DD.MM.YYYY') as my_remind, - to_char(coalesce((select max(agc_date) from action_gestion_comment as agc where agc.ag_id=ag.ag_id),ag_timestamp),'DD.MM.YY') as str_last_comment, - coalesce((select max(agc_date) from action_gestion_comment as agc where agc.ag_id=ag.ag_id),ag_timestamp) as last_comment, - f_id_dest, - s_value, - ag_title,dt_value,ag_ref, ag_priority,ag_state, - coalesce((select p_name from profile where p_id=ag_dest),'Aucun groupe') as dest, - (select ad_value from fiche_Detail where f_id=ag.f_id_dest and ad_id=1) as name, - array_to_string((select array_agg(t1.t_tag) from action_tags as a1 join tags as t1 on (a1.t_id=t1.t_id) where a1.ag_id=ag.ag_id ),',') as tags - from action_gestion as ag - join document_type on (ag_type=dt_id) - join document_state on (ag_state=s_id) - where $p_filter_doc $p_search $sort"; - $max_line=$this->db->count_sql($sql); - $step=$_SESSION['g_pagesize']; - $page=(isset($_GET['offset']))?$_GET['page']:1; - $offset=(isset($_GET['offset']))?Database::escape_string($_GET['offset']):0; - if ($step!=-1) - $limit=" LIMIT $step OFFSET $offset "; - else - $limit=''; - $bar=navigation_bar($offset, $max_line, $step, $page); - - $Res=$this->db->exec_sql($sql.$limit); - $a_row=Database::fetch_all($Res); - - $r=""; - $r.='

      '.$bar.'

      '; - $r.=''; - $r.=""; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=''; - $r.=th('Priorité'); - $r.=""; - - - // if there are no records return a message - if (sizeof($a_row)==0 or $a_row==false) - { - $r='
      '; - $r.='
      Aucun enregistrement trouvé'; - $r.="
      "; - return $r; - } - $today=date('d.m.Y'); - $i=0; - $checkbox=new ICheckBox("mag_id[]"); - //show the sub_action - foreach ($a_row as $row) - { - $href=''; - $i++; - $tr=($i%2==0)?'even':'odd'; - if ($row['ag_priority']<2) - $tr='priority1'; - $st=''; - if ($row['my_date']==$today) - $st=' style="font-weight:bold; border:2px solid orange;"'; - $date_remind=format_date($row['my_remind'], 'DD.MM.YYYY', 'YYYYMMDD'); - $date_today=date('Ymd'); - if ($date_remind!=""&&$date_remind==$date_today&&$row['ag_state']!=1&&$row['ag_state']!=3) - $st=' style="font-weight:bold;background:orange"'; - if ($date_remind!=""&&$date_remind<$date_today&&$row['ag_state']!=1&&$row['ag_state']!=3) - $st=' style="font-weight:bold;background:#FF0000;color:white;"'; - $r.=""; - $checkbox->value=$row['ag_id']; - $r.=''; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - $r.=""; - - // Expediteur - $fexp=new Fiche($this->db); - $fexp->id=$row['f_id_dest']; - $qcode_dest=$fexp->strAttribut(ATTR_DEF_QUICKCODE); - - $qexp=($qcode_dest==NOTFOUND)?"Interne":$qcode_dest; - $jsexp=sprintf("javascript:showfiche('%s')", $qexp); - if ($qexp!='Interne') - { - $r.="'; - } - else - $r.=""; - - $ref=""; - - - $r.='"; - - /* - * State - */ - switch ($row['ag_priority']) - { - case 1: - $priority='Haute'; - break; - case 2: - $priority="Moyenne"; - break; - case 3: - $priority="Important"; - break; - } - $r.=td($priority); - - $r.=""; - $r.=""; - } - - $r.="
      '.ICheckBox::toggle_checkbox('ag', 'list_ag_frm').''.$table->get_header(0).''.$table->get_header(1).''.$table->get_header(2).''.$table->get_header(3).''.$table->get_header(4).''.$table->get_header(5).''.$table->get_header(6).''.$table->get_header(7).'
      '.$checkbox->input().'".$href.smaller_date($row['my_date']).''."".$href.$row['str_last_comment'].''."".$href.smaller_date($row['my_remind']).''."".$href.h($row['tags']).''."".$href.$row['ag_ref'].''."".$href.h($row['dest']).''."$href".$qexp." : ".$fexp->getName().'$href Interne '.$href. - h($row['ag_title'])."".$ref."
      "; - - $r.='

      '.$bar.'

      '; - return $r; - } - - //---------------------------------------------------------------------- - /* * \brief Update the data into the database - * - * \return true on success otherwise false - */ - function Update() - { - - // if ag_id == 0 nothing to do - if ($this->ag_id==0) - return; - // retrieve customer - // f_id - - if (trim($this->qcode_dest)=="") - { - // internal document - $this->f_id_dest=null; // internal document - } - else - { - $tiers=new Fiche($this->db); - if ($tiers->get_by_qcode($this->qcode_dest)==-1) // Error we cannot retrieve this qcode - return false; - else - $this->f_id_dest=$tiers->id; - } - $contact=new Fiche($this->db); - if ($contact->get_by_qcode($this->ag_contact)==-1) - $contact->id=0; - - // reload the old one - $old=new Follow_Up($this->db); - $old->ag_id=$this->ag_id; - $old->get(); - - // If ag_ref changed then check if unique - if ($old->ag_ref!=$this->ag_ref) - { - $nAg_ref=$this->db->get_value("select count(*) from action_gestion where ag_ref=$1", array($this->ag_ref)); - if ($nAg_ref!=0) - { - echo h2("Référence en double, référence non sauvée", 'class="error"'); - $this->ag_ref=$old->ag_ref; - } - } - - - if ($this->ag_remind_date!=null) - { - $this->db->exec_sql("update action_gestion set ". - " ag_timestamp=to_date($1,'DD.MM.YYYY'),". - " ag_title=$2,". - " ag_type=$3, ". - " f_id_dest=$4, ". - "ag_state=$5,". - " ag_hour = $7 ,". - " ag_priority = $8 ,". - " ag_dest = $9 , ". - " ag_contact = $10, ". - " ag_ref = $11, ". - " ag_remind_date=to_date($12,'DD.MM.YYYY') ". - " where ag_id = $6", array( - $this->ag_timestamp, /* 1 */ - $this->ag_title, /* 2 */ - $this->dt_id, /* 3 */ - $this->f_id_dest, /* 4 */ - $this->ag_state, /* 5 */ - $this->ag_id, /* 6 */ - $this->ag_hour, /* 7 */ - $this->ag_priority, /* 8 */ - $this->ag_dest, /* 9 */ - $contact->id, /* 10 */ - $this->ag_ref, /* 11 */ - $this->ag_remind_date /* 12 */ - )); - } - else - { - $this->db->exec_sql("update action_gestion set ". - " ag_timestamp=to_date($1,'DD.MM.YYYY'),". - " ag_title=$2,". - " ag_type=$3, ". - " f_id_dest=$4, ". - "ag_state=$5,". - " ag_hour = $7 ,". - " ag_priority = $8 ,". - " ag_dest = $9 , ". - " ag_contact = $10, ". - " ag_ref = $11, ". - " ag_remind_date=null ". - " where ag_id = $6", array( - $this->ag_timestamp, /* 1 */ - $this->ag_title, /* 2 */ - $this->dt_id, /* 3 */ - $this->f_id_dest, /* 4 */ - $this->ag_state, /* 5 */ - $this->ag_id, /* 6 */ - $this->ag_hour, /* 7 */ - $this->ag_priority, /* 8 */ - $this->ag_dest, /* 9 */ - $contact->id, /* 10 */ - $this->ag_ref /* 11 */ - )); - } - // Upload documents - $doc=new Document($this->db); - $doc->Upload($this->ag_id); - - /* save action details */ - for ($i=0; $i<$_POST['nb_item']; $i++) - { - $act=new Follow_Up_Detail($this->db); - $act->from_array($_POST, $i); - if ($act->f_id==0&&$act->ad_id!=0) - $act->delete(); - if ($act->f_id==0) - continue; - $act->save(); - } - if (trim($this->ag_comment)!='') - { - $this->db->exec_sql("insert into action_gestion_comment (ag_id,tech_user,agc_comment) values ($1,$2,$3)" - , array($this->ag_id, $_SESSION['g_user'], $this->ag_comment)); - } - $this->insert_operation(); - $this->insert_action(); - return true; - } - - /** - * \brief generate the document and add it to the action - * \param md_id is the id of the document_modele - * \param $p_array contains normally the $_POST - */ - function generate_document($md_id, $p_array) - { - $doc=new Document($this->db); - $mod=new Document_Modele($this->db, $md_id); - $mod->load(); - $doc->f_id=$this->f_id_dest; - $doc->md_id=$md_id; - $doc->ag_id=$this->ag_id; - $doc->Generate($p_array); - } - - /** - * \brief put an array in the variable member, the indice - * is the member name - * \param $p_array to parse - * - ag_id id of the Follow_up - * - ag_ref reference of the action - * - qcode_dest quick_code of the card of dest - * - f_id_dest f_id of the card of dest - * - dt_id Document_Modele::dt_id - * - ag_state document_state::s_id (default:2) - * - ag_title title of the action - * - ag_hour - * - ag_dest Profile, profile of the user - * - ag_comment comment - * - ag_remind_date Remind Date - * - operation related operation - * - action related action - * - op deprecated - * \return nothing - */ - function fromArray($p_array) - { - global $g_user; - $this->ag_id=(isset($p_array['ag_id']))?$p_array['ag_id']:0; - $this->ag_ref=(isset($p_array['ag_ref']))?$p_array['ag_ref']:""; - $this->qcode_dest=(isset($p_array['qcode_dest']))?$p_array['qcode_dest']:""; - $this->f_id_dest=(isset($p_array['f_id_dest']))?$p_array['f_id_dest']:null; - $this->ag_timestamp=(isset($p_array['ag_timestamp']))?$p_array['ag_timestamp']:date('d.m.Y'); - $this->qcode_dest=(isset($p_array['qcode_dest']))?$p_array['qcode_dest']:""; - $this->dt_id=(isset($p_array['dt_id']))?$p_array['dt_id']:""; - $this->ag_state=(isset($p_array['ag_state']))?$p_array['ag_state']:2; - $this->ag_ref=(isset($p_array['ag_ref']))?$p_array['ag_ref']:""; - $this->ag_title=(isset($p_array['ag_title']))?$p_array['ag_title']:""; - $this->ag_hour=(isset($p_array['ag_hour']))?$p_array['ag_hour']:""; - $this->ag_dest=(isset($p_array['ag_dest']))?$p_array['ag_dest']:$g_user->get_profile(); - $this->ag_priority=(isset($p_array['ag_priority']))?$p_array['ag_priority']:2; - $this->ag_contact=(isset($p_array['ag_contact']))?$p_array['ag_contact']:""; - $this->ag_comment=(isset($p_array['ag_comment']))?$p_array['ag_comment']:""; - $this->ag_remind_date=(isset($p_array['ag_remind_date']))?$p_array['ag_remind_date']:null; - $this->operation=(isset($p_array['operation']))?$p_array['operation']:null; - /** - * @todo - * deprecated : to remove - $this->op = (isset($p_array['op'])) ? $p_array['op'] : null; - */ - $this->action=(isset($p_array['action']))?$p_array['action']:null; - } - - /** - * \brief remove the action - * - */ - function remove() - { - $this->get(); - // remove the key - $sql="delete from action_gestion where ag_id=$1"; - $this->db->exec_sql($sql, array($this->ag_id)); - - /* check the number of attached document */ - $doc=new Document($this->db); - $aDoc=$doc->get_all($this->ag_id); - if (!empty($aDoc)) - { - // if there are documents - for ($i=0; $iremove(); - } - } - } - - /** - * \brief return the last p_limit operation into an array, there is a security - * on user - * \param $p_limit is the max of operation to return - * \return $p_array of Follow_Up object - */ - function get_last($p_limit) - { - - $sql="select coalesce(vw_name,'Interne') as vw_name,quick_code,ag_id,ag_title,ag_ref, dt_value,to_char(ag_timestamp,'DD.MM.YYYY') as ag_timestamp_fmt,ag_timestamp ". - " from action_gestion join document_type ". - " on (ag_type=dt_id) " - . "left join vw_fiche_attr on (f_id=f_id_dest) " - . "where ag_state in (2,3) " - . "and ".self::sql_security_filter($this->db,'R'). - "order by ag_timestamp desc limit $p_limit"; - $array=$this->db->get_array($sql); - return $array; - } - - /** - * get the action where the remind day is today - * @return array - */ - function get_today() - { - $sql="select ag_ref,coalesce(vw_name,'Interne') as vw_name,ag_id,ag_title,ag_ref, dt_value,to_char(ag_remind_date,'DD.MM.YYYY') as ag_timestamp_fmt,ag_timestamp ". - " from action_gestion join document_type ". - " on (ag_type=dt_id) - left join vw_fiche_attr on (f_id=f_id_dest) - where - ag_state not in (1,4) - and to_char(ag_remind_date,'DDMMYYYY')=to_char(now(),'DDMMYYYY') - and ". self::sql_security_filter($this->db,'R'); - $array=$this->db->get_array($sql); - return $array; - } - - /** - * get the action where the remind day is today - * @return array - */ - function get_late() - { - $sql="select ag_ref,coalesce(vw_name,'Interne') as vw_name,ag_id,ag_title,ag_ref, dt_value,to_char(ag_remind_date,'DD.MM.YYYY') as ag_timestamp_fmt,ag_timestamp ". - " from action_gestion join document_type ". - " on (ag_type=dt_id) left join vw_fiche_attr on (f_id=f_id_dest) where ag_state not in (1,4) - and ag_remind_date < now() and ".self::sql_security_filter($this->db,'R'); - $array=$this->db->get_array($sql); - return $array; - } - - /** - * insert a related operation - */ - function insert_operation() - { - if (trim($this->operation)=='') - return; - $array=explode(",", $this->operation); - for ($i=0; $idb->get_value("select count(*) from action_gestion_operation - where ag_id=$1 and jr_id=$2", array($this->ag_id, $array[$i]))==0) - { - $this->db->exec_sql("insert into action_gestion_operation (ag_id,jr_id) values ($1,$2)", array($this->ag_id, $array[$i])); - } - } - } - - /** - * remove a related operation - * @deprecated not used : dead_code - * @todo to remove - */ - function remove_operation_deprecated() - { - if ($this->op==null) - return; - $op=$this->op; - for ($i=0; $idb->exec_sql("delete from action_gestion_operation where ago_id=$1", array($op[$i])); - } - } - - /** - * Display only a search box for searching an action - * @param $cn database connx - */ - static function display_search($cn, $inner=false) - { - $a=(isset($_GET['action_query']))?$_GET['action_query']:""; - $qcode=(isset($_GET['qcode']))?$_GET['qcode']:""; - - $supl_hidden=''; - if (isset($_REQUEST['sc'])) - $supl_hidden.=HtmlInput::hidden('sc', $_REQUEST['sc']); - if (isset($_REQUEST['f_id'])) - { - $supl_hidden.=HtmlInput::hidden('f_id', $_REQUEST['f_id']); - $f=new Fiche($cn, $_REQUEST['f_id']); - $supl_hidden.=HtmlInput::hidden('qcode_dest', $f->get_quick_code()); - } - if (isset($_REQUEST['sb'])) - $supl_hidden.=HtmlInput::hidden('sb', $_REQUEST['sb']); - $supl_hidden.=HtmlInput::hidden('ac', $_REQUEST['ac']); - - /** - * Show the default button (add action, show search...) - */ - if (!$inner) - require_once NOALYSS_INCLUDE.'/template/action_button.php'; - - $w=new ICard(); - $w->name='qcode'; - $w->id=$w->generate_id($w->name); - $w->value=$qcode; - $w->extra="all"; - $w->typecard='all'; - $w->jrn=0; - $w->table=0; - $list=$cn->make_list("select fd_id from fiche_def where frd_id in (4,8,9,14,15,16,25)"); - $w->extra=$list; - - - /* type of documents */ - $type_doc=new ISelect('tdoc'); - $aTDoc=$cn->make_array('select dt_id,dt_value from document_type order by dt_value'); - $aTDoc[]=array('value'=>'-1', 'label'=>_('Tous les types')); - $type_doc->value=$aTDoc; - $type_doc->selected=(isset($_GET['tdoc']))?$_GET['tdoc']:-1; - - /* State of documents */ - $type_state=new ISelect('state'); - $aState=$cn->make_array('select s_id,s_value from document_state order by s_value'); - $aState[]=array('value'=>'-1', 'label'=>_('Tous les Etats')); - $type_state->value=$aState; - $type_state->selected=(isset($_GET['state']))?$_GET['state']:-1; - - - - /* Except State of documents */ - $hsExcptype_state=new ISelect('hsstate'); - $aExcpState=$cn->make_array('select s_id,s_value from document_state order by s_value'); - $aExcpState[]=array('value'=>'-1', 'label'=>_('Aucun')); - $hsExcptype_state->value=$aExcpState; - $hsExcptype_state->selected=(isset($_GET['hsstate']))?$_GET['hsstate']:-1; - - - // date - $start=new IDate('date_start'); - $start->value=(isset($_GET['date_start']))?$_GET['date_start']:""; - $end=new IDate('date_end'); - $end->value=(isset($_GET['date_end']))?$_GET['date_end']:""; - - // Closed action - $closed_action=new ICheckBox('closed_action'); - $closed_action->selected=(isset($_GET['closed_action']))?true:false; - - // Internal - $only_internal=new ICheckBox('only_internal'); - $only_internal->selected=(isset($_GET['only_internal']))?true:false; - // select profile - $aAg_dest=$cn->make_array("select p_id as value, ". - "p_name as label ". - " from profile order by 2"); - $aAg_dest[]=array('value'=>'-2', 'label'=>_('Tous les profiles')); - $ag_dest=new ISelect(); - $ag_dest->name="ag_dest_query"; - $ag_dest->value=$aAg_dest; - $ag_dest->selected=(isset($_GET["ag_dest_query"]))?$_GET["ag_dest_query"]:-2; - $str_ag_dest=$ag_dest->input(); - $osag_ref=new IText("sag_ref"); - $osag_ref->value=(isset($_GET['sag_ref']))?$_GET['sag_ref']:""; - $remind_date=new IDate('remind_date'); - $remind_date->value=(isset($_GET['remind_date']))?$_GET['remind_date']:""; - $remind_date_end=new IDate('remind_date_end'); - $remind_date_end->value=(isset($_GET['remind_date_end']))?$_GET['remind_date_end']:""; - $otag=new Tag($cn); - - // show the action in - require_once NOALYSS_INCLUDE.'/template/action_search.php'; - } - - /** - * @brief show a list of documents - * @param $cn database connextion - * @param $p_base base URL - */ - static function show_action_list($cn, $p_base) - { - - Follow_Up::display_search($cn); - - $act=new Follow_Up($cn); - /** \brief - * \note The field 'recherche' is about a part of the title or a ref. number - */ - $query=Follow_Up::create_query($cn); - - echo '
      '; - echo HtmlInput::request_to_hidden(array("gDossier", "ac", "sb", "sc", "f_id")); - require_once NOALYSS_INCLUDE.'/template/action_other_action.php'; - echo $act->myList($p_base, "", $query); - echo '
      '; - } - - /** - * Create a subquery to filter thanks the selected tag - * @param $cn db connx - * @param $p_array - * @return SQL - */ - static function filter_by_tag($cn, $p_array=null) - { - if ($p_array==null) - $p_array=$_GET; - - extract($p_array); - $query=""; - if (count($searchtag)==0) - return ""; - for ($i=0; $iget_by_qcode($_REQUEST['qcode']); - // if quick code not found then nothing - if ($fiche->id==0) - $str=' and false '; - else - $str=" and (f_id_dest= ".$fiche->id." or ag_id in (select ag_id from action_person as ap where ap.f_id=".$fiche->id.") )"; - } - } - if (isset($tdoc)&&$tdoc!=-1) - { - $action_query .= ' and dt_id = '.sql_string($tdoc); - } - if (isset($state)&&$state!=-1) - { - $action_query .= ' and ag_state= '.sql_string($state); - } - if (isset($hsstate)&&$hsstate!=-1) - { - $action_query .= ' and ag_state <> '.sql_string($hsstate); - } - if (isset($sag_ref)&&trim($sag_ref)!="") - { - $query .= ' and ag_ref= \''.sql_string($sag_ref)."'"; - } - - if (isset($_GET['only_internal'])) - $action_query .= ' and f_id_dest=0 '; - - if (isset($date_start)&&isDate($date_start)!=null) - { - $action_query.=" and ag_timestamp >= to_date('$date_start','DD.MM.YYYY')"; - } - if (isset($date_end)&&isDate($date_end)!=null) - { - $action_query.=" and ag_timestamp <= to_date('$date_end','DD.MM.YYYY')"; - } - if (isset($ag_dest_query)&&$ag_dest_query!=-2) - { - $action_query.= " and ((ag_dest = ".sql_string($ag_dest_query)." and ".self::sql_security_filter($cn, "R").") or ". - "(ag_dest = ".sql_string($ag_dest_query)." and ".self::sql_security_filter($cn, "R")." and ". - " ag_owner='".$_SESSION['g_user']."'))"; - } - else - { - $action_query .=" and (ag_owner='".$_SESSION['g_user']."' or ".self::sql_security_filter($cn, "R")." or ag_dest=-1 )"; - } - - - if (isNumber($ag_id)==1&&$ag_id!=0) - { - $action_query=" and ag_id= ".sql_string($ag_id); - } - if (isset($remind_date)&&$remind_date!=""&&isDate($remind_date)==$remind_date) - { - $action_query .= " and to_date('".sql_string($remind_date)."','DD.MM.YYYY')<= ag_remind_date"; - } - if (isset($remind_date_end)&&$remind_date_end!=""&&isDate($remind_date_end)==$remind_date_end) - { - $action_query .= " and to_date('".sql_string($remind_date_end)."','DD.MM.YYYY')>= ag_remind_date"; - } - if (!isset($closed_action)) - { - $action_query.=" and s_status is null "; - } - if (isset($searchtag)) - { - $action_query .= Follow_Up::filter_by_tag($cn, $p_array); - } - return $action_query.$str; - } - - /** - * Show the result of a search in an inner windows, the result is limited to 25 - * @param type $cn database connx - * @param type $p_sql the query - */ - static function short_list($cn, $p_sql) - { - $sql=" - select ag_id,to_char(ag_timestamp,'DD.MM.YY') as my_date, - f_id_dest, - substr(ag_title,1,40) as sub_ag_title,dt_value,ag_ref, ag_priority,ag_state, - coalesce((select p_name from profile where p_id=ag_dest),'Aucun groupe') as dest, - (select ad_value from fiche_Detail where f_id=action_gestion.f_id_dest and ad_id=1) as name - from action_gestion - join document_type on (ag_type=dt_id) - join document_state on (s_id=ag_state) - where $p_sql"; - $max_line=$cn->count_sql($sql); - - $limit=($max_line>25)?25:$max_line; - $Res=$cn->exec_sql($sql."limit ".$limit); - $a_row=Database::fetch_all($Res); - require_once NOALYSS_INCLUDE.'/template/action_search_result.php'; - } - - /** - * Insert a related action into the table action_gestion_related - */ - function insert_action() - { - if (trim($this->action)=='') - return; - $array=explode(",", $this->action); - for ($i=0; $idb->get_value("select count(*) from action_gestion_related - where (aga_least=$1 and aga_greatest=$2) or (aga_greatest=$1 and aga_least=$2)", array($array[$i], $this->ag_id))==0&&$this->ag_id!=$array[$i]) - { - $this->db->exec_sql("insert into action_gestion_related(aga_least,aga_greatest) values ($1,$2)", array($this->ag_id, $array[$i])); - } - } - } - - /** - * export to CSV the query the p_array has - * @param array $p_array - */ - function export_csv($p_array) - { - extract($p_array); - - - $p_search=self::create_query($this->db, $p_array); - $sql=" - select ag_id, - to_char(ag_timestamp,'DD.MM.YYYY') as my_date, - to_char(ag_remind_date,'DD.MM.YYYY') as my_remind, - to_char(coalesce((select max(agc_date) from action_gestion_comment as agc where agc.ag_id=ag_id),ag_timestamp),'DD.MM.YY') as last_comment, - array_to_string((select array_agg(t1.t_tag) from action_tags as a1 join tags as t1 on (a1.t_id=t1.t_id) where a1.ag_id=ag.ag_id ),',') as tags, - (select ad_value from fiche_Detail where f_id=ag.f_id_dest and ad_id=1) as name, - ag_title, - dt_value, - ag_ref, - ag_priority, - ag_state, - - coalesce((select p_name from profile where p_id=ag_dest),'Aucun groupe') as dest - from action_gestion as ag - join document_type on (ag.ag_type=dt_id) - join document_state on(ag.ag_state=s_id) - where true $p_search order by ag.ag_timestamp,ag.ag_id"; - $ret=$this->db->exec_sql($sql); - - if (Database::num_row($ret)==0) - return; - $this->db->query_to_csv($ret, array( - array("title"=>"doc id", "type"=>"string"), - array("title"=>"date", "type"=>"date"), - array("title"=>"rappel", "type"=>"date"), - array("title"=>"date dernier commentaire", "type"=>"date"), - array("title"=>"tags", "type"=>"string"), - array("title"=>"nom", "type"=>"string"), - array("title"=>"titre", "type"=>"string"), - array("title"=>"type document", "type"=>"string"), - array("title"=>"ref", "type"=>"string"), - array("title"=>"priorite", "type"=>"string"), - array("title"=>"etat", "type"=>"string"), - array("title"=>"profil", "type"=>"string") - ) - ); - } - - static function get_all_operation($p_jr_id) - { - global $cn; - $array=$cn->get_array(" - select ag_id,ag_ref,ago_id, - ag_title - from action_gestion - join action_gestion_operation using(ag_id) - where - jr_id=$1", array($p_jr_id)); - return $array; - } - - /** - * @brief get the tags of the current objet - * @return an array idx [ag_id,t_id,at_id,t_tag] - */ - function tag_get() - { - if ($this->ag_id==0) - return; - $sql='select b.ag_id,b.t_id,b.at_id,a.t_tag' - .' from ' - .' tags as a join action_tags as b on (a.t_id=b.t_id)' - .' where ag_id=$1 ' - .' order by a.t_tag'; - $array=$this->db->get_array($sql, array($this->ag_id)); - return $array; - } - - /** - * @brief show the tags of the current objet - * normally used by ajax. The same tag cannot be added twice - * - */ - function tag_add($p_t_id) - { - if ($this->ag_id==0) - return; - $count=$this->db->get_value('select count(*) from action_tags'. - ' where ag_id=$1 and t_id=$2', array($this->ag_id, $p_t_id)); - if ($count>0) - return; - $sql=' insert into action_tags (ag_id,t_id) values ($1,$2)'; - $this->db->exec_sql($sql, array($this->ag_id, $p_t_id)); - } - - /** - * @brief remove the tags of the current objet - * normally used by ajax - */ - function tag_remove($p_t_id) - { - if ($this->ag_id==0) - return; - $sql=' delete from action_tags where ag_id=$1 and t_id=$2'; - $this->db->exec_sql($sql, array($this->ag_id, $p_t_id)); - } - - /** - * @brief show the cell content in Display for the tags - * called also by ajax - */ - function tag_cell() - { - global $g_user; - $a_tag=$this->tag_get(); - $c=count($a_tag); - for ($e=0; $e<$c; $e++) - { - echo ''; - echo $a_tag[$e]['t_tag']; - if ($g_user->can_write_action($this->ag_id)==true) - { - $js_remove=sprintf("onclick=\"action_tag_remove('%s','%s','%s')\"", dossier::id(), $this->ag_id, $a_tag[$e]['t_id']); - echo HtmlInput::anchor(SMALLX, "javascript:void(0)", $js_remove, ' class="smallbutton" style="padding:0px;display:inline" '); - } - echo ''; - echo ' '; - echo ' '; - } - $js=sprintf("onclick=\"action_tag_select('%s','%s')\"", dossier::id(), $this->ag_id); - if ($g_user->can_write_action($this->ag_id)==true) - { - echo HtmlInput::button('tag_bt', 'Ajout tag', $js, 'smallbutton'); - } - } - - static function action_tag_remove($cn, $p_array) - { - global $g_user; - $mag_id=$p_array['mag_id']; - $remtag=$p_array['remtag']; - for ($i=0; $ican_write_action($mag_id[$i])==false) - continue; - for ($e=0; $etag_remove($remtag[$e]); - } - } - } - - static function action_tag_add($cn, $p_array) - { - global $g_user; - $mag_id=$p_array['mag_id']; - $addtag=$p_array['addtag']; - for ($i=0; $ican_write_action($mag_id[$i])==false) - continue; - for ($e=0; $etag_add($addtag[$e]); - } - } - } - - static function action_tag_clear($cn, $p_array) - { - global $g_user; - $mag_id=$p_array['mag_id']; - for ($i=0; $ican_write_action($mag_id[$i])==false) - continue; - $a=new Follow_Up($cn, $mag_id[$i]); - $a->tag_clear(); - } - } - - static function action_print($cn, $p_array) - { - global $g_user; - $mag_id=$p_array['mag_id']; - for ($i=0; $ican_read_action($mag_id[$i])==false) - continue; - $a=new Follow_Up($cn, $mag_id[$i]); - $a->get(); - echo '
      '; - echo $a->Display("READ", false, ""); - echo '
      '; - echo '

      - -

      '; - } - } - - function tag_clear() - { - $this->db->exec_sql('delete from action_tags where ag_id=$1', array($this->ag_id)); - } - - static function action_set_state($cn, $p_array) - { - - global $g_user; - $mag_id=$p_array['mag_id']; - $state=$p_array['ag_state']; - for ($i=0; $ican_write_action($mag_id[$i])==false) - continue; - $cn->exec_sql('update action_gestion set ag_state=$1 where ag_id=$2', array($state, $mag_id[$i])); - } - } - - static function action_remove($cn, $p_array) - { - global $g_user; - - $mag_id=$p_array['mag_id']; - for ($i=0; $ican_write_action($mag_id[$i])==false) - continue; - $cn->exec_sql('delete from action_gestion where ag_id=$1', array($mag_id[$i])); - } - } - - /** - * Verify that data are correct - * @throws Exception - */ - function verify() - { - if ($this->dt_id==-1) - { - throw new Exception(_('Type action invalide'), 10); - } - if (isDate($this->ag_timestamp)!=$this->ag_timestamp) - throw new Exception(_('Date invalide'), 20); - if (isDate($this->ag_remind_date)!=$this->ag_remind_date) - throw new Exception(_('Date invalide'), 30); - if ($this->f_id_dest==0) - $this->f_id_dest=null; - } - - /** - * Add another concerned (tiers, supplier...) - * @global type $g_user - * @param type $p_fiche_id - */ - function insert_linked_card($p_fiche_id) - { - global $g_user; - if ($g_user->can_write_action($this->ag_id)) - { - /** - * insert into action_person - */ - $count=$this->db->get_value('select count(*) from action_person where f_id=$1 and ag_id=$2', array($p_fiche_id, $this->ag_id)); - if ($count==0) - { - $this->db->exec_sql('insert into action_person (ag_id,f_id) values ($1,$2)', array($this->ag_id, $p_fiche_id)); - } - } - } - - /** - * Remove another concerned (tiers, supplier...) - * @global type $g_user - * @param type $p_fiche_id - */ - function remove_linked_card($p_fiche_id) - { - global $g_user; - if ($g_user->can_write_action($this->ag_id)) - { - $this->db->exec_sql('delete from action_person where ag_id = $1 and f_id = $2', array($this->ag_id, $p_fiche_id)); - } - } - - /** - * Display the other concerned (tiers, supplier...) - * @return string - */ - function display_linked() - { - $a_linked=$this->db->get_array('select ap_id,f_id from action_person where ag_id=$1', array($this->ag_id)); - if (count($a_linked)==0) - return ""; - for ($i=0; $idb, $a_linked[$i]['f_id']); - $qc=$fiche->get_quick_code(); - $js_remove=sprintf("onclick=\"action_remove_concerned('%s','%s','%s')\"", dossier::id(), $a_linked[$i]['f_id'], $this->ag_id); - echo ''; - echo $qc; - echo HtmlInput::anchor(SMALLX, "javascript:void(0)", $js_remove, ' class="smallbutton" style="padding:0px;display:inline" '); - echo ''; - echo ' '; - echo ' '; - } - } - /** - * @brief display a small form to enter a new event - * - */ - function display_short() - { - $cn=$this->db; - include 'template/action_display_short.php'; - } - /** - * Add an event , with the minimum of informations, - * used in Dashboard and Scheduler - */ - function save_short() - { - global $g_user; - // check if we can add - if ($g_user->can_add_action($this->ag_dest) == FALSE ) - { - throw new Exception(_('SECURITE : Ajout impossible')); - } - - - - // Get The sequence id, - $seq_name="seq_doc_type_".$this->dt_id; - $str_file=""; - $add_file=''; - - - $this->ag_id=$this->db->get_next_seq('action_gestion_ag_id_seq'); - - // Create the reference - $ag_ref=$this->db->get_value('select dt_prefix from document_type ' - . 'where dt_id=$1', array($this->dt_id)) - .'-'.$this->db->get_next_seq($seq_name); - - $this->ag_ref=$ag_ref; - /** - * If ag_ref already exist then compute a new one - */ - - // save into the database - $sql="insert into action_gestion". - "(ag_id,ag_timestamp,ag_type,ag_title,f_id_dest,ag_ref, " - . "ag_dest, ". - " ag_priority,ag_owner,ag_state,ag_remind_date) ". - " values " - . "($1,to_date($2,'DD.MM.YYYY'),$3,$4,$5,$6," - . "$7," - . "$8,$9,$10,to_date($11,'DD.MM.YYYY'))"; - - $this->db->exec_sql($sql, array( - $this->ag_id, /* 1 */ - $this->ag_timestamp, /* 2 */ - $this->dt_id, /* 3 */ - $this->ag_title, /* 4 */ - $this->f_id_dest, /* 5 */ - $ag_ref, /* 6 */ - $this->ag_dest, /* 7 */ - $this->ag_priority, /* 8 */ - $_SESSION['g_user'], /* 9 */ - $this->ag_state, /* 10 */ - $this->ag_remind_date /* 11 */ - ) - ); - - if (trim($this->ag_comment)!='') - { - $this->db->exec_sql("insert into action_gestion_comment (ag_id,tech_user,agc_comment) values ($1,$2,$3)" - , array($this->ag_id, $_SESSION['g_user'], $this->ag_comment)); - } - } -} diff --git a/sources/include/class_follow_up_detail.php b/sources/include/class_follow_up_detail.php deleted file mode 100644 index 35365b9..0000000 --- a/sources/include/class_follow_up_detail.php +++ /dev/null @@ -1,248 +0,0 @@ -"ad_id", primary key - * - "qcode"=>"f_id", quick_code - * - "text"=>"ad_text", description lines - * - "price_unit"=>"ad_pu", price by unit - * - "quantity"=>"ad_quant", quantity - * - "tva_id"=>"ad_tva_id", tva_od - * - "tva_amount"=>"ad_tva_amount", vat amount - * - "total"=>"ad_total_amount", total amount including vat - * - "ag_id"=>"ag_id" => foreign key to action_gestion - * - db is the database connection - */ -class Follow_Up_Detail -{ - private static $variable=array( - "id"=>"ad_id", - "qcode"=>"f_id", - "text"=>"ad_text", - "price_unit"=>"ad_pu", - "quantity"=>"ad_quant", - "tva_id"=>"ad_tva_id", - "tva_amount"=>"ad_tva_amount", - "total"=>"ad_total_amount", - "ag_id"=>"ag_id" - ); - function __construct ($p_cn,$p_id=0) - { - $this->db=$p_cn; - $this->ad_id=$p_id; - } - public function get_parameter($p_string) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - return $this->$idx; - } - else - throw new Exception("Attribut inexistant $p_string"); - } - public function set_parameter($p_string,$p_value) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - $this->$idx=$p_value; - } - else - throw new Exception("Attribut inexistant $p_string"); - - - } - public function get_info() - { - return var_export(self::$variable,true); - } - public function verify() - { - // Verify that the elt we want to add is correct - return 0; - } - public function save() - { - if ( $this->ad_id == 0 ) - $this->insert(); - else - $this->update(); - } - - public function insert() - { - if ( $this->verify() != 0 ) return; - $sql='INSERT INTO action_detail('. - ' f_id, ad_text, ad_pu, ad_quant, ad_tva_id, ad_tva_amount,'. - ' ad_total_amount, ag_id)'. - ' VALUES ($1, $2, $3, $4,$5,$6,$7,$8) returning ad_id'; - $this->ad_id=$this->db->get_value($sql,array( - $this->f_id, - $this->ad_text, - $this->ad_pu, - $this->ad_quant, - $this->ad_tva_id, - $this->ad_tva_amount, - $this->ad_total_amount, - $this->ag_id - ) - ); - - } - - public function update() - { - if ( $this->verify() != 0 ) return; - - $sql='UPDATE action_detail '. - ' SET f_id=$1, ad_text=$2, ad_pu=$3, ad_quant=$4, ad_tva_id=$5,'. - ' ad_tva_amount=$6, ad_total_amount=$7, ag_id=$8'. - ' WHERE ad_id=$9'; - $this->id=$this->db->exec_sql($sql,array( - $this->f_id, - $this->ad_text, - $this->ad_pu, - $this->ad_quant, - $this->ad_tva_id, - $this->ad_tva_amount, - $this->ad_total_amount, - $this->ag_id, - $this->ad_id - ) - ); - - - } - /*!\brief retrieve all the details of an Follow_Up - *\return array of Action_Detail - *\see Follow_Up::get - */ - public function load_all() - { - $sql="SELECT ad_id, f_id, ad_text, ad_pu, ad_quant, ad_tva_id, ad_tva_amount, - ad_total_amount, ag_id FROM action_detail ". - " where ag_id=$1 order by ad_id"; - $res=$this->db->get_array( - $sql, - array($this->ag_id) - ); - if ( $this->db->count() == 0 ) return; - $aRet=array(); - for($i=0;$idb); - $row=$res[$i]; - foreach ($row as $idx=>$value) - { - $a->$idx=$value; - } - $aRet[$i]=clone $a; - } - return $aRet; - } - - public function load() - { - $sql="SELECT ad_id, f_id, ad_text, ad_pu, ad_quant, ad_tva_id, ad_tva_amount, - ad_total_amount, ag_id FROM action_detail". - " where ad_id=$1"; - - $res=$this->db->get_array($this->db, - $sql, - array($this->ad_id) - ); - if ( $this->db->count() == 0 ) return; - $row=$res[0]; - foreach ($row as $idx=>$value) - { - $this->$idx=$value; - } - - } - public function delete() - { - $sql="delete from action_detail where ad_id=$1"; - $this->db->exec_sql($sql,array($this->ad_id)); - } - /*!\brief Fill an Action_Detail Object with the data contained in an array - *\param $array - - [ad_id7] => ad_id - - [e_march7] => f_id - - [e_march7_label] => ad_text - - [e_march7_price] => ad_pu - - [e_quant7] => ad_quant - - [e_march7_tva_id] => ad_tva_id - - [e_march7_tva_amount] => ad_tva_amount - - [tvac_march7] => ad_total_amount - - [ag_id] => ag_id - *\param $idx is the idx (example 7) - *\note */ - public function from_array($array,$idx) - { - $row=$array; - $this->ad_id=(isset($row['ad_id'.$idx]))?$row['ad_id'.$idx]:0; - - $qcode=(isset($row['e_march'.$idx]))?$row['e_march'.$idx]:""; - if (trim($qcode)=='') - { - $this->f_id=0; - } - else - { - $tmp=new Fiche($this->db); - $tmp->get_by_qcode($qcode,false); - $this->f_id=$tmp->id; - } - $this->ad_text=(isset($row['e_march'.$idx.'_label']))?$row['e_march'.$idx.'_label']:""; - $this->ad_pu=(isset($row['e_march'.$idx.'_price']))?$row['e_march'.$idx.'_price']:0; - $this->ad_quant=(isset($row['e_quant'.$idx]))?$row['e_quant'.$idx]:0; - $this->ad_tva_id=(isset($row['e_march'.$idx.'_tva_id']))?$row['e_march'.$idx.'_tva_id']:0; - $this->ad_tva_amount=(isset($row['e_march'.$idx.'_tva_amount']))?$row['e_march'.$idx.'_tva_amount']:0; - $this->ad_total_amount=(isset($row['tvac_march'.$idx]))?$row['tvac_march'.$idx]:0; - $this->ag_id=(isset($array['ag_id']))?$array['ag_id']:0; - /* protect numeric */ - if (trim($this->ad_pu)=="" || isNumber($this->ad_pu)==0) $this->ad_pu=0; - if (trim($this->ad_quant)=="" || isNumber($this->ad_quant)==0) $this->ad_quant=0; - if (trim($this->ad_tva_amount)==""||isNumber($this->ad_tva_amount)==0) $this->ad_tva_amount=0; - if (trim($this->ad_total_amount)==""||isNumber($this->ad_total_amount)==0) $this->ad_total_amount=0; - if (trim($this->ad_tva_id)=="" || isNumber($this->ad_tva_id)==0) $this->ad_tva_id=0; - } - /*!\brief - *\param - *\return - *\note - *\see - */ - static function test_me() -{} - -} - -/* test::test_me(); */ - diff --git a/sources/include/class_forecast.php b/sources/include/class_forecast.php deleted file mode 100644 index 3383d84..0000000 --- a/sources/include/class_forecast.php +++ /dev/null @@ -1,168 +0,0 @@ -"f_id","name"=>"f_name","start_date"=>"f_start_date","end_date"=>"f_end_date"); - private $cn; - /** - * @brief constructor - * @param $p_init Database object - */ - function __construct ($p_init,$p_id=0) - { - $this->cn=$p_init; - $this->f_id=$p_id; - } - public function get_parameter($p_string) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - return $this->$idx; - } - else - throw new Exception("Attribut inexistant $p_string"); - } - public function set_parameter($p_string,$p_value) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - $this->$idx=$p_value; - } - else - throw new Exception("Attribut inexistant $p_string"); - } - public function get_info() - { - return var_export(self::$variable,true); - } - - public function verify() - { - // Verify that the elt we want to add is correct - // the f_name must be unique (case insensitive) - if ( strlen(trim($this->f_name))==0) throw new Exception(_('Le nom ne peut pas être vide')); - - return 0; - } - public function save() - { - /* please adapt */ - if ( $this->get_parameter("id") == 0 ) - $this->insert(); - else - $this->update(); - } - - public function insert() - { - if ( $this->verify() != 0 ) return; - $sql="insert into forecast (f_name,f_start_date,f_end_date) ". - " values ($1,$2,$3) returning f_id"; - $res=$this->cn->exec_sql( - $sql, - array($this->f_name,$this->f_start_date,$this->f_end_date) - ); - $this->f_id=Database::fetch_result($res,0,0); - } - - /** - *@brief update the forecast table - */ - public function update() - { - if ( $this->verify() != 0 ) return; - - $sql="update forecast set f_name=$1,f_start_date=$2,f_end_date=$3 ". - " where f_id = $4"; - $res=$this->cn->exec_sql( - $sql, - array($this->f_name,$this->f_start_date,$this->f_end_date, $this->f_id) - ); - - } - /** - *@brief load all the existing forecast - *@param $p_cn is an Database object - *@return array of f_id and f_name - */ - public static function load_all($p_cn) - { - $sql="select f_id, f_name,f_start_date,f_end_date from forecast order by 2 desc"; - $ret=$p_cn->get_array($sql); - return $ret; - } - public function load() - { - $sql="select f_name,f_start_date ,f_end_date from forecast where f_id=$1"; - $res=$this->cn->exec_sql( - $sql, - array($this->f_id) - ); - if ( Database::num_row($res) == 0 ) return -1; - $row=Database::fetch_array($res,0); - foreach ($row as $idx=>$value) - { - $this->$idx=$value; - } - - } - public function delete() - { - $sql="delete from forecast where f_id=$1"; - $res=$this->cn->exec_sql($sql,array($this->f_id)); - } - public function object_clone() - { - $this->load(); - /* save into the table forecast */ - $sql="insert into forecast(f_name,f_start_date,f_end_date) select 'clone '||f_name,f_start_date,f_end_date from forecast where f_id=$1 returning f_id"; - $new=$this->cn->get_value($sql,array($this->f_id)); - - /* save into forecast_cat */ - $sql="insert into forecast_cat(fc_desc,f_id,fc_order) select fc_desc,$1,fc_order from forecast_cat where f_id=$2 returning fc_id" ; - $array=$this->cn->get_array($sql,array($new,$this->f_id)); - - $old=$this->cn->get_array("select fc_id from forecast_cat where f_id=$1",array($this->f_id)); - /* save into forecast_item */ - for ($i=0;$icn->exec_sql("insert into forecast_item (fi_text,fi_account,fi_card,fi_order,fc_id,fi_amount,fi_debit,fi_pid) ". - " select fi_text,fi_account,fi_card,fi_order,$1,fi_amount,fi_debit,fi_pid ". - " from forecast_item where fc_id=$2",array($array[$i]['fc_id'],$old[$i]['fc_id'])); - } - } - /** - * @brief unit test - */ - static function test_me() - {} - -} -?> diff --git a/sources/include/class_forecast_cat.php b/sources/include/class_forecast_cat.php deleted file mode 100644 index 2b7188e..0000000 --- a/sources/include/class_forecast_cat.php +++ /dev/null @@ -1,172 +0,0 @@ -1,"val2"=>"Seconde valeur","val3"=>0); */ - private static $variable=array ("id"=>"fc_id","order"=>"fc_order","desc"=>"fc_desc","forecast"=>"f_id"); - private $cn; - /** - * @brief constructor - * @param $p_init Database object - */ - function __construct ($p_init,$p_id=0) - { - $this->cn=$p_init; - $this->fc_id=$p_id; - } - public function get_parameter($p_string) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - return $this->$idx; - } - else - throw new Exception("Attribut inexistant $p_string"); - } - public function set_parameter($p_string,$p_value) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - $this->$idx=$p_value; - } - else - throw new Exception("Attribut inexistant $p_string"); - - - } - public function get_info() - { - return var_export(self::$variable,true); - } - public function verify() - { - if (strlen(trim($this->fc_order))==0) - { - $this->fc_order="1"; - } - // Verify that the elt we want to add is correct - // the f_name must be unique (case insensitive) - return 0; - } - public function save() - { - if ( $this->get_parameter("id") == 0 ) - $this->insert(); - else - $this->update(); - } - - public function insert() - { - if ( $this->verify() != 0 ) return; - - $sql="insert into forecast_cat (fc_desc,fc_order,f_id) ". - " values ($1,$2,$3) returning fc_id"; - $res=$this->cn->exec_sql( - $sql, - array($this->fc_desc,$this->fc_order,$this->f_id) - ); - $this->fc_id=Database::fetch_result($res,0,0); - } - - public function update() - { - if ( $this->verify() != 0 ) return; - - $sql="update forecast_cat set fc_desc=$1,f_id=$2,fc_order=$3 ". - " where fc_id = $4"; - $res=$this->cn->exec_sql( - $sql, - array($this->fc_desc,$this->f_id, $this->fc_order,$this->fc_id) - ); - } - /** - *@brief Load all the cat. for a given forecast and return them into a array - *@param $p_cn database connx - *@param $p_id is the forecast id (f_id) - *@return an array with all the data - */ - public static function load_all($p_cn,$p_id) - { - $sql="select fc_id,fc_desc,fc_order from forecast_cat where f_id=$1"; - - $res=$p_cn->get_array($sql,array($p_id)); - - return $res; - } - public function load() - { - - $sql="select fc_desc, f_id,fc_order from forecast_cat where fc_id=$1"; - - $res=$this->cn->exec_sql( - $sql, - array($this->fc_id) - ); - - if ( Database::num_row($res) == 0 ) return; - $row=Database::fetch_array($res,0); - foreach ($row as $idx=>$value) - { - $this->$idx=$value; - } - - } - /** - *@brief Make a array for a ISelect of the available cat - *@param $id is forecast::f_id - *@return array for ISelect - *@see ISelect - */ - public function make_array($id) - { - $sql="select fc_id,fc_desc from forecast_cat where f_id=$id"; - $ret=$this->cn->make_array($sql); - return $ret; - } - public function delete() - { - $sql="delete from forecast_cat where fc_id=$1"; - $res=$this->cn->exec_sql($sql,array($this->fc_id)); - } - /** - * @brief unit test - */ - static function test_me() - {} - -} - -?> \ No newline at end of file diff --git a/sources/include/class_forecast_item.php b/sources/include/class_forecast_item.php deleted file mode 100644 index 0081532..0000000 --- a/sources/include/class_forecast_item.php +++ /dev/null @@ -1,165 +0,0 @@ -1,"val2"=>"Seconde valeur","val3"=>0); */ - private static $variable=array ("id"=>"fi_id","text"=>"fi_text","account"=>"fi_account", - "card"=>"fi_card","order"=>"fi_order","cat_id"=>"fc_id","amount"=>"fi_amount","debit"=>"fi_debit","periode"=>"fi_pid"); - private $cn; - /** - * @brief constructor - * @param $p_init Database object - */ - function __construct ($p_init,$p_id=0) - { - $this->cn=$p_init; - $this->fi_id=$p_id; - } - public function get_parameter($p_string) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - return $this->$idx; - } - else - throw new Exception("Attribut inexistant $p_string"); - } - public function set_parameter($p_string,$p_value) - { - if ( array_key_exists($p_string,self::$variable) ) - { - $idx=self::$variable[$p_string]; - $this->$idx=$p_value; - } - else - throw new Exception("Attribut inexistant $p_string"); - - - } - public function get_info() - { - return var_export(self::$variable,true); - } - public function verify() - { - $this->fi_account= str_replace(" ", "", $this->fi_account); - // Verify that the elt we want to add is correct - // the f_name must be unique (case insensitive) - return 0; - } - public function save() - { - /* please adapt */ - if ( $this->get_parameter("id") == 0 ) - $this->insert(); - else - $this->update(); - } - - public function insert() - { - if ( $this->verify() != 0 ) return; - - $sql="INSERT INTO forecast_item( - fi_text, fi_account, fi_card, fi_order, fc_id, fi_amount, - fi_debit,fi_pid) - VALUES ($1, $2, $3, $4, $5, $6, $7,$8) returning fi_id;"; - $res=$this->cn->exec_sql( - $sql, - array($this->fi_text,$this->fi_account,$this->fi_card,$this->fi_order,$this->fc_id,$this->fi_amount,$this->fi_debit,$this->fi_pid) - ); - $this->fi_id=Database::fetch_result($res,0,0); - } - - public function update() - { - if ( $this->verify() != 0 ) return; - - $sql="UPDATE forecast_item - SET fi_text=$1, fi_account=$2, fi_card=$3, fi_order=$4, fc_id=$5, - fi_amount=$6, fi_debit=$7,fi_pid=$8 - WHERE fi_id=$9;"; - $res=$this->cn->exec_sql($sql, - array($this->fi_text, - $this->fi_account, - $this->fi_card, - $this->fi_order, - $this->fc_id, - $this->fi_amount, - $this->fi_debit, - $this->fi_pid, - $this->fi_id) - ); - - } - - public function load() - { - - $sql="SELECT fi_id, fi_text, fi_account, fi_card, fi_order, fc_id, fi_amount, - fi_debit,fi_pid - FROM forecast_item where fi_id=$1"; - - $res=$this->cn->exec_sql( - $sql, - array($this->fi_id) - ); - - if ( Database::num_row($res) == 0 ) return; - $row=Database::fetch_array($res,0); - foreach ($row as $idx=>$value) - { - $this->$idx=$value; - } - - } - - - - - public function delete() - { - $sql="delete from forecast_item where fi_id=$1"; - $res=$this->cn->exec_sql($sql,array($this->fi_id)); - } - /** - * @brief unit test - */ - static function test_me() - {} - -} - -?> \ No newline at end of file diff --git a/sources/include/class_gestion_purchase.php b/sources/include/class_gestion_purchase.php deleted file mode 100644 index 8a1d592..0000000 --- a/sources/include/class_gestion_purchase.php +++ /dev/null @@ -1,128 +0,0 @@ -qp_internal=="") - throw new Exception(__FILE__.__LINE__." qs_internal est vide"); - $sql="select qp_id, - qp_internal, - qp_fiche, - qp_quantite, - qp_price, - qp_vat, - qp_vat_code, - tva_rate, - tva_label, - qp_nd_amount, - qp_nd_tva, - qp_nd_tva_recup, - qp_supplier, - j_id, - qp_dep_priv, - qp_vat_sided - from quant_purchase left join tva_rate on (qp_vat_code=tva_id) - where qp_internal='".$this->qp_internal."'"; - $ret=$this->db->exec_sql($sql); - // $res contains all the line - $res=Database::fetch_all($ret); - - if ( sizeof($res)==0) return null; - $count=0; - foreach ($res as $row) - { - $t_gestion_purchase=new gestion_purchase($this->db); - foreach ($row as $idx=>$value) - $t_gestion_purchase->$idx=$value; - $array[$count]=clone $t_gestion_purchase; - $count++; - } - return $array; - } - function search_by_jid($p_jid) - { - $res=$this->db->exec_sql("select qp_id from quant_purchase where j_id=".$p_jid); - - if ( Database::num_row($res) == 1) - $this->qp_id=Database::fetch_result($res,0,0); - else - $this->qp_id=0; - } - function load() - { - $sql="select qp_id, - qp_internal, - qp_fiche, - qp_quantite, - qp_price, - qp_vat, - qp_vat_code, - qp_nd_amount, - qp_nd_tva, - qp_nd_tva_recup, - qp_supplier, - j_id, - qp_dep_priv, - qp_vat_sided - from quant_purchase - where qp_id=".$this->qp_id; - $ret=$this->db->exec_sql($sql); - // $res contains all the line - $res=Database::fetch_all($ret); - - if ( empty($res) ) return null; - foreach ($res[0] as $idx=>$value) - $this->$idx=$value; - - } - -} diff --git a/sources/include/class_gestion_sold.php b/sources/include/class_gestion_sold.php deleted file mode 100644 index 1b0036f..0000000 --- a/sources/include/class_gestion_sold.php +++ /dev/null @@ -1,115 +0,0 @@ -qs_internal=="") - throw new Exception(__FILE__.__LINE__." qs_internal est vide"); - $sql="select qs_id, - qs_internal, - qs_fiche, - qs_quantite, - qs_price, - qs_vat, - tva_label, - tva_rate, - qs_vat_code, - qs_client, - j_id, - qs_vat_sided - from quant_sold left join tva_rate on (qs_vat_code=tva_id) - where qs_internal='".$this->qs_internal."'"; - $ret=$this->db->exec_sql($sql); - // $res contains all the line - $res=Database::fetch_all($ret); - - if ( sizeof($res)==0) return null; - $count=0; - - foreach ($res as $row) - { - $t_gestion_sold=new gestion_sold($this->db); - foreach ($row as $idx=>$value) - $t_gestion_sold->$idx=$value; - $array[$count]=clone $t_gestion_sold; - $count++; - } - return $array; - } - function search_by_jid($p_jid) - { - $res=$this->db->exec_sql("select qs_id from quant_sold where j_id=".$p_jid); - - if ( Database::num_row($res) == 1) - $this->qs_id=Database::fetch_result($res,0,0); - else - $this->qs_id=0; - } - function load() - { - $sql=" select qs_id, - qs_internal, - qs_fiche, - qs_quantite, - qs_price, - qs_vat, - qs_vat_code, - qs_client, - j_id, - qs_vat_sided - from quant_sold - where qs_id=$1"; - $ret=$this->db->exec_sql($sql,array($this->qs_id)); - // $res contains all the line - $res=Database::fetch_all($ret); - - if ( empty($res) ) return null; - foreach ($res[0] as $idx=>$value) - $this->$idx=$value; - } -} diff --git a/sources/include/class_gestion_table.php b/sources/include/class_gestion_table.php deleted file mode 100644 index 30ed6b2..0000000 --- a/sources/include/class_gestion_table.php +++ /dev/null @@ -1,37 +0,0 @@ -db=$p_cn; - } -} diff --git a/sources/include/class_html_input.php b/sources/include/class_html_input.php deleted file mode 100755 index 98ded82..0000000 --- a/sources/include/class_html_input.php +++ /dev/null @@ -1,929 +0,0 @@ -js you have the javascript code - * - SELECT the options are passed via this->value, this array is - * build thanks the make_array function, each array (of the - * array) aka row must contains a field value and a field label - * - PASSWORD - * - CHECKBOX - * - RADIO - * - TEXTAREA - * - RICHTEXT - * - FILE - * - SPAN - */ -class HtmlInput -{ - - var $type; /*!< $type type of the widget */ - var $name; /*!< $name field NAME of the INPUT */ - var $value; /*!< $value what the INPUT contains */ - var $readOnly; /*!< $readonly true : we cannot change value */ - var $size; /*!< $size size of the input */ - var $selected; /*!< $selected for SELECT RADIO and CHECKBOX the selected value */ - var $table; /*!< $table =1 add the table tag */ - var $label; /*!< $label the question before the input */ - var $disabled; /*!< $disabled poss. value == true or nothing, to disable INPUT*/ - var $extra; /*!< $extra different usage, it depends of the $type */ - var $extra2; /*!< $extra2 different usage, - it depends of the $type */ - var $javascript; /*!< $javascript is the javascript to add to the widget */ - var $ctrl; /*!<$ctrl is the control to update (see js_search_card_control) */ - - var $tabindex; - function __construct($p_name="",$p_value="",$p_id="") - { - $this->name=$p_name; - $this->readOnly=false; - $this->size=20; - $this->width=50; - $this->heigh=20; - $this->value=$p_value; - $this->selected=""; - $this->table=0; - $this->disabled=false; - $this->javascript=""; - $this->extra2="all"; - $this->attribute=array(); - $this->id=$p_id; - - } - function setReadOnly($p_read) - { - $this->readOnly=$p_read; - } - /*!\brief set the extra javascript property for the INPUT field - *\param $p_name name of the parameter - *\param $p_value default value of this parameter - */ - public function set_attribute($p_name,$p_value) - { - $this->attribute[]=array($p_name,$p_value); - $this->$p_name=$p_value; - } - /** - *@brief you can add attribute to this in javascript - * this function is a wrapper and create a script (in js) to modify - * "this" (in javascript) with the value of obj->attribute from PHP - *@return return string with the javascript code - */ - public function get_js_attr() - { - require_once NOALYSS_INCLUDE.'/function_javascript.php'; - $attr=""; - if ( count($this->attribute) == 0) return ""; - - /* Add properties at the widget */ - for ($i=0;$i< count($this->attribute);$i++) - { - list($name,$value)=$this->attribute[$i]; - $tmp1=sprintf("$('%s').%s='%s';", - $this->name, - $name, - $value); - $attr.=$tmp1; - } - $attr=create_script($attr); - return $attr; - } - /** - * Make a JSON object, this method create a javascript object - * with the attribute set, it returns a javascript string with the object - * @param $p_name : name of the object, can be null. If the name is not null, return - * $p_name={} otherwise only the object {} - * @return javascript string with the object - * @note: there is not check on the key->value, so you could need to escape - * special char as quote, single-quote... - * @code - $a=new IButton() - $a->set_attribute('prop','1'); - $a->set_attribute('prop','2'); - $a->set_attribute('prop','3'); - $string = $a->make_object('property'); - echo $string => property={'prop':'1','prop2':'2','prop3':'3'}; - $string = $a->make_object(null); - echo $string => {'prop':'1','prop2':'2','prop3':'3'}; - @endcode - */ - public function make_object($p_name=null) - { - $name=($p_name != null)?$p_name.'=':''; - if ( count($this->attribute) == 0) return $name."{}"; - $ret=$name."{"; - $and=''; - - for ($i=0;$i< count($this->attribute);$i++) - { - list($name,$value)=$this->attribute[$i]; - $tmp1=sprintf($and."'%s':'%s'", - $name, - $value); - $ret.=$tmp1; - $and=','; - } - - $ret.='}'; - return $ret; - } - //##################################################################### - /* Debug - */ - function debug() - { - echo "Type ".$this->type."
      "; - echo "name ".$this->name."
      "; - echo "value". $this->value."
      "; - $readonly=($this->readonly==false)?"false":"true"; - echo "read only".$readonly."
      "; - } - static function submit ($p_name,$p_value,$p_javascript="",$p_class="smallbutton") - { - - return ''; - } - static function button ($p_name,$p_value,$p_javascript="",$p_class="smallbutton") - { - - return ''; - } - - static function reset ($p_value) - { - return ''; - } - static function hidden($p_name,$p_value,$p_id="") - { - if ($p_id=="") $p_id=$p_name; - return ''; - } - - static function extension() - { - return self::hidden('plugin_code',$_REQUEST['plugin_code']); - } - - /*!\brief create a button with a ref - *\param $p_label the text - *\param $p_value the location of the window, - *\param $p_name the id of the span - *\param $p_javascript javascript for this button - *\return string with htmlcode - */ - static function button_anchor($p_label,$p_value,$p_name="",$p_javascript="",$p_class="button") - { - $r=sprintf('
      %s', - $p_name, - $p_value, - $p_javascript, - $p_label); - return $r; - } - static function infobulle($p_comment) - { - $r='?'; - return $r; - } - static function warnbulle($p_comment) - { - $r='Δ'; - return $r; - } - /** - * return a string containing the html code for calling the modifyOperation - */ - static function detail_op($p_jr_id,$p_mesg) - { - return sprintf('%s', - $p_jr_id,dossier::id(),$p_mesg); - } - /** - * @brief return an anchor to view the detail of an action - * @param $ag_id - * @param $p_mesg - * @param $p_modify let you modify an operation - * - */ - static function detail_action($ag_id,$p_mesg,$p_modify=1) - { - return sprintf('%s', - $ag_id,dossier::id(),$p_modify,$p_mesg); - } - /** - * return a string containing the html code for calling the modifyModeleDocument - */ - static function detail_modele_document($p_id,$p_mesg) - { - return sprintf('%s', - $p_id,dossier::id(),$p_mesg); - } - - /** - * return a string containing the html code for calling the removeStock - */ - static function remove_stock($p_id,$p_mesg) - { - return sprintf('%s', - $p_id,dossier::id(),$p_mesg); - } - - /** - * display a div with the history of the card - */ - static function history_card($f_id,$p_mesg,$p_style="") - { - $view_history= sprintf('%s', - $p_style,$f_id, dossier::id(), $p_mesg); - return $view_history; - } - /** - * display a div with the history of the card - */ - static function history_card_button($f_id,$p_mesg) - { - static $e=0; - $e++; - $js= sprintf('onclick="view_history_card(\'%s\',\'%s\')"', - $f_id, dossier::id()); - $view_history=HtmlInput::button("hcb"+$e,$p_mesg,$js); - return $view_history; - } - - /** - * display a div with the history of the account - */ - static function history_account($p_account,$p_mesg,$p_style="") - { - $view_history= sprintf('%s', - $p_style,$p_account, dossier::id(), $p_mesg); - return $view_history; - } - - /** - * return the html code to create an hidden div and a button - * to show this DIV. This contains all the available ledgers - * for the user in READ or RW - *@param $selected is an array of checkbox - *@param $div div suffix - *@note the choosen ledger are stored in the array r_jrn (_GET) - */ - static function select_ledger($p_type,$p_selected,$div='') - { - global $g_user; - $r = ''; - /* security : filter ledger on user */ - $p_array = $g_user->get_ledger($p_type, 3); - - ob_start(); - - - /* create a hidden div for the ledger */ - echo '
      '; - echo HtmlInput::title_box(_("Journaux"), $div."jrn_search"); - echo '
      '; - echo '
      '; - echo HtmlInput::hidden('nb_jrn', count($p_array)); - echo _('Filtre ').HtmlInput::filter_table($div.'tb_jrn', '0,1,2', 2); - echo ''; - echo ''; - echo th(_('Nom')); - echo th(_('Description')); - echo th(_('Type')); - echo ''; - echo ''; - echo ''; - echo ''; - for ($e=0;$eselected=true; - } - $class=($e%2==0)?' class="even" ':' class="odd" '; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - - } - echo '
      '; - echo HtmlInput::button('sel_'.$div,_('Inverser la sélection'),' onclick = "toggle_checkbox(\''."{$div}search_frm".'\')"'); - echo '
      '.$r->input().$row['jrn_def_name'].''.$row['jrn_def_description'].''.$row['jrn_def_type'].'
      '; - echo HtmlInput::hidden('div',$div); - echo HtmlInput::submit('save',_('Valider')); - echo HtmlInput::button_close($div."jrn_search"); - echo '
      '; - echo '
      '; - echo '
      '; - - $ret=ob_get_contents(); - ob_end_clean(); - return $ret; - } - /** - *create a hidden plus button to select the cat of ledger - *@note the selected value is stored in the array p_cat - */ - static function select_cat($array_cat) - { - ob_start(); - $ledger=new ISmallButton('l'); - $ledger->label=_("Catégorie"); - $ledger->javascript=" show_cat_choice()"; - echo $ledger->input(); - - /* create a hidden div for the ledger */ - echo '
      '; - echo '

      '._('Choix des categories').'

      '; - $selected=(isset($_GET['r_cat']))?$_GET['r_cat']:null; - - echo '
        '; - for ($e=0;$eselected=true; - } - echo '
      • '.$re->input().$row['name'].'('.$row['cat'].')
      • '; - - } - echo '
      '; - $hide=new IButton('l2'); - $hide->label=_("Valider"); - $hide->javascript=" hide_cat_choice() "; - echo $hide->input(); - - echo '
      '; - $r=ob_get_contents(); - ob_end_clean(); - return $r; - } - static function display_periode($p_id) - { - $r=sprintf('Modifier', - dossier::id(), - $p_id); - return $r; - } - /** - *close button for the HTML popup - *@see add_div modify_operation - *@param $div_name is the name of the div to remove - */ - static function button_close($div_name) - { - $a=new IButton('Fermer'); - $a->label=_("Fermer"); - $a->javascript="removeDiv('".$div_name."')"; - $html=$a->input(); - - return $html; - - } - /** - * Return a html string with an anchor which close the inside popup. (top-right corner) - *@param name of the DIV to close - */ - static function anchor_close($div,$p_js="") - { - $r=''; - $r.='
      '; - $r.= ''; - $r.='
      '; - return $r; - } - /** - * button Html - *@param $action action action to perform (message) without onclick - *@param $javascript javascript to execute - */ - static function button_action($action,$javascript,$id="xx",$p_class="button") - { - if ($id=="xx"){ - $id=HtmlInput::generate_id("xx"); - } - $r=""; - $r.=''; - return $r; - - } - /** - * button Html image - *@param $javascript javascript to execute - * @param $id id of the button - * @param $class class of the button - * @param $p_image image - */ - static function button_image($javascript,$id="xx",$p_class='class="button"',$p_image="") - { - if ($id=="xx"){ - $id=HtmlInput::generate_id("xx"); - } - $r=""; - $r.=''; - return $r; - - } - /** - * Return a html string with an anchor to hide a div, put it in the right corner - *@param $action action action to perform (message) - *@param $javascript javascript - *@note not protected against html - *@see Acc_Ledger::display_search_form - */ - static function anchor_hide($action,$javascript) - { - $r=''; - $r.='
      '; - $r.= ''.$action.''; - $r.='
      '; - return $r; - } - - /** - * Javascript to print the current window - */ - static function print_window() - { - $r=''; - $r.=HtmlInput::button('print','Imprimer','onclick="window.print();"'); - return $r; - } - /** - *show the detail of a card - */ - static function card_detail($p_qcode,$pname='',$p_style="",$p_nohistory=false) - { - //if ($pname=='')$pname=$p_qcode; - $r=""; - $histo=($p_nohistory==true)?' ,nohistory:1':""; - $r.=sprintf('%s [%s]', - $p_style,$p_qcode,$histo,$pname,$p_qcode); - return $r; - } - /** - *transform request data to hidden - *@param $array is an of indices - *@param $request name of the superglobal $_POST $_GET $_REQUEST(default) - *@return html string with the hidden data - */ - static function array_to_hidden($array,$global_array ) - { - - $r=""; - - if ( count($global_array )==0) return ''; - foreach ($array as $a) - { - if (isset($global_array [$a])) - if (is_array($global_array[$a]) == false ) { - $r.=HtmlInput::hidden($a,$global_array [$a]); - } else { - if (count($global_array[$a]) > 0) - { - foreach ($global_array[$a] as $value) - { - $r.=HtmlInput::hidden($a."[]",$value); - } - } - } - } - - return $r; - } - /** - *transform $_GET data to hidden - *@param $array is an of indices - *@see HtmlInput::request_to_hidden - *@return html string with the hidden data - */ - static function get_to_hidden($array) - { - $r=self::array_to_hidden($array,$_GET ); - return $r; - } - - /** - *transform $_POST data to hidden - *@param $array is an of indices - *@see HtmlInput::request_to_hidden - *@return html string with the hidden data - */ - static function post_to_hidden($array) - { - $r=self::array_to_hidden($array,$_POST ); - return $r; - } - - /** - *transform $_REQUEST data to hidden - *@param $array is an of indices - *@see HtmlInput::request_to_hidden - *@return html string with the hidden data - */ - static function request_to_hidden($array) - { - $r=self::array_to_hidden($array,$_REQUEST ); - return $r; - } - - /** - *transform request data to string - *@param $array is an of indices - *@param $request name of the superglobal $_POST $_GET $_REQUEST(default) - *@return html string with the string data - */ - static function array_to_string($array,$global_array,$start="?" ) - { - - $r=$start; - - if ( count($global_array )==0) return ''; - $and=""; - foreach ($array as $a) - { - if (isset($global_array [$a])) - { - if (is_array($global_array[$a]) == false ) { - $r.=$and."$a=".$global_array [$a]; - } else { - for ($i=0;$i'.HtmlInput::anchor("⬜","",$p_js,' name="small'.$div.'" id="close_div" class="input_text" ').''; } else - if ( $mod == 'custom') {$r=''.$p_js."";} else - if ( $mod == 'none') {$r="" ; } - else - die (__FILE__.":".__LINE__._('Paramètre invaide')); - $r.=h2($name,' class="title" '); - return $r; - } - /** - * @brief let you create only a link and set an id on it. - * After create a javascript for getting the event - * onclick = function() {...} - * @param type $p_text Text to display - * @param type $p_id id of the link - * @param type $type title of the link - * @code - * echo HtmlInput::anchor_empty('go','go_id'); - * - * @endcode - */ - static function anchor_empty($p_text,$p_id,$p_title="") - { - $p_url="javascript:void(0)"; - $str=sprintf('%s', - $p_id,$p_title,$p_text); - return $str; - } - /** - *Return a simple anchor with a url or a javascript - * if $p_js is not null then p_url will be javascript:void(0) - * we don't add the event onclick. You must give p_url OR p_js - * default CSS class=line - * @param string $p_text text of the anchor - * @param string $p_url url - * @param string $p_js javascript - * @param string $p_style is the visuable effect (class, style...) - */ - static function anchor($p_text,$p_url="",$p_js="",$p_style=' class="line" ') - { - if ($p_js != "") - { - $p_url="javascript:void(0)"; - } - - - $str=sprintf('%s', - $p_style,$p_url,$p_js,$p_text); - return $str; - } - /** - *Create an ISelect object containing the available repository for reading - * or writing - * @global $g_user - * @param $p_cn db object - * @param $p_name name of the select - * @param $p_mode is 'R' for reading, 'W' for writinh - * @return ISelect - * @throws Exception if p_mode is wrong - */ - static function select_stock( $p_cn, $p_name,$p_mode) - { - global $g_user; - if ( ! in_array($p_mode,array('R','W') ) ) - { - throw new Exception (__FILE__.":".__LINE__." $p_mode invalide"); - } - $profile=$g_user->get_profile(); - $sel=new ISelect($p_name); - - if ($p_mode == 'W') - { - $sel->value=$p_cn->make_array(" - select r_id,r_name - from stock_repository join profile_sec_repository using (r_id) - where - ur_right='W' and p_id=".sql_string($profile). - " order by 2" ); - return $sel; - } - if ($p_mode == 'R') - { - $sel->value=$p_cn->make_array(" - select r_id,r_name - from stock_repository join profile_sec_repository using (r_id) - where - p_id=".sql_string($profile). - " order by 2" ); - return $sel; - } - } - static function filter_table($p_table_id,$p_col,$start_row) - { - $r= " - - - - - "; - $r.=' '; - return $r; - } - - static function show_reconcile($p_div, $let,$span="") - { - $r = '' . $let.$span . ''; - return $r; - } - /** - * Zoom the calendar - * @param type $obj objet json for the javascript - * @see calendar_zoom in scripts.js - */ - static function calendar_zoom($obj) - { - $button=new ISmallButton("calendar", _("Calendrier")); - $button->javascript="calendar_zoom($obj)"; - return $button->input(); - } - /** - * - * @param type $p_array indice - * - div div name - * - type ALL, VEN, ACH or ODS - * - all_type 1 yes 0 no - * - */ - static function button_choice_ledger($p_array) - { - extract ($p_array); - $bledger_param = json_encode(array( - 'dossier' => $_REQUEST['gDossier'], - 'type' => $type, - 'all_type' => $all_type, - 'div' => $div, - 'class'=>'inner_box' - )); - - $bledger_param = str_replace('"', "'", $bledger_param); - $bledger = new ISmallButton('l'); - $bledger->label = _("choix des journaux"); - $bledger->javascript = " show_ledger_choice($bledger_param)"; - $f_ledger = $bledger->input(); - $hid_jrn = ""; - if (isset($_REQUEST[$div . 'nb_jrn'])) - { - for ($i = 0; $i < $_REQUEST[$div . 'nb_jrn']; $i++) - { - if (isset($_REQUEST[$div . "r_jrn"][$i])) - $hid_jrn.=HtmlInput::hidden($div . 'r_jrn[' . $i . ']', $_REQUEST[$div . "r_jrn"][$i]); - } - $hid_jrn.=HtmlInput::hidden($div . 'nb_jrn', $_REQUEST[$div . 'nb_jrn']); - } else - { - $hid_jrn = HtmlInput::hidden($div . 'nb_jrn', 0); - } - echo $f_ledger; - echo ''; - echo $hid_jrn; - echo ''; - } - /** - * Returns HTML code for displaying a icon with a link to a receipt document from - * the ledger - * @global $cn database connx - * @param $p_jr_id jrn.jr_id - * @return nothing or HTML Code for a link to the document - */ - static function show_receipt_document($p_jr_id) - { - global $cn; - - $array=$cn->get_array('select jr_def_id,jr_pj_name,jr_grpt_id from jrn where jr_id=$1',array($p_jr_id)); - if (count($array)==0) return ""; - if ($array[0]['jr_pj_name'] == "") return ""; - $str_dossier=Dossier::get(); - $image=''; - $r=sprintf('%s', $array[0]['jr_def_id'], $array[0]['jr_grpt_id'], $str_dossier, $image); - return $r; - - } - /** - * - * @param type $p_operation_jr_id action_gestion_operation.ago_id - */ - static function button_action_remove_operation($p_operation) - { - $rmOperation=sprintf("javascript:confirm_box(null,'"._('Voulez-vous effacer cette relation ')."',function () {remove_operation('%s','%s');});", - dossier::id(), - $p_operation); - $js= ''.SMALLX.''; - return $js; - } - static function button_action_add_concerned_card($p_agid) - { - $dossier=Dossier::id(); - $javascript= <<'N° de fiche', - 'style'=>'text-align:right', - 'link'=>$url, - 'image'=>$img), - array('name'=>'Nom', - 'style'=>'text-align:right'), - array('name'=>'QuickCode') - ) - , - $sql - ); - } -@endcode - */ - static function sql2table($cn,$a_col,$sql,$table_style='class="result"',$a_sql_var=null) - { - $r=''; - $r=sprintf('',$table_style); - $r.=''; - for ( $i=0;$i %s',$a_col[$i]['image'],$content); - } - if ( isset($a_col[$i]['link']) ) - { - $content=sprintf('%s', - $a_col[$i]['link'], - $content); - $r.=""; - } - else - $r.= ""; - } - $r.=''; - $ret=$cn->exec_sql($sql,$a_sql_var); - for ($i=0;$i'; - else - $r.=td($content,$style); - } - $r.=''; - } - $r.='
      $content". h($content)."
      '; - return $r; - } - static function test_me() - { - $cn=new Database(Dossier::id()); - $order=" order by f_id desc "; - $url=HtmlInput::get_to_string(array("gDossier","test_select")); - - if ( isset($_GET['sb'])) - { - $order=" order by f_id"; - $img="image/select1.gif"; - } - else - { - $url=$url."&sb=as"; - $img="image/select2.gif"; - } - $sql="select f_id,name,quick_code from vw_client $order limit 10"; - echo $sql; - - - echo Html_Table::sql2table($cn, - array( - array('name'=>'N° de fiche', - 'style'=>'text-align:right', - 'link'=>$url, - 'image'=>$img), - array('name'=>'Nom', - 'style'=>'text-align:right'), - array('name'=>'QuickCode') - ) - , - $sql - ); - } -} \ No newline at end of file diff --git a/sources/include/class_iaction.php b/sources/include/class_iaction.php deleted file mode 100644 index 86ed399..0000000 --- a/sources/include/class_iaction.php +++ /dev/null @@ -1,61 +0,0 @@ -name=($p_name=="")?$this->name:$p_name; - $this->value=($p_value=="")?$this->value:$p_value; - $this->id=($this->id=="")?$this->name:$this->id; - if ( $this->readOnly==true) return $this->display(); - $this->javascript= (!isset ($this->javascript))?"":$this->javascript; - if ( $this->value !="") - $r=sprintf(' %s', - $this->id, - $this->value, - $this->javascript, - $this->label); - else - $r=sprintf(' %s', - $this->id, - $this->javascript, - $this->label); - - return $r; - - } - /*!\brief print in html the readonly value of the widget*/ - public function display() - { - return; - } - static public function test_me() - { - } -} diff --git a/sources/include/class_ianccard.php b/sources/include/class_ianccard.php deleted file mode 100644 index 10ae7c2..0000000 --- a/sources/include/class_ianccard.php +++ /dev/null @@ -1,200 +0,0 @@ -fct='update_value'; - $this->dblclick=''; - $this->callback='null'; - $this->javascript=''; - // the pa_id to filter - $this->plan=0; - // or the container of the Plan Analytic which contains the pa_id - $this->plan_ctl=""; - } - /*!\brief set the javascript callback function - * by default it is update_value called BEFORE the querystring is send - * If you use the plan ctl must be set to filter_anc - *\param $p_name callback function name - */ - function set_callback($p_name) - { - $this->callback=$p_name; - } - - /*!\brief set the javascript callback function - * by default it is update_value called AFTER an item has been selected - *\param $p_name callback function name - */ - function set_function($p_name) - { - $this->fct=$p_name; - } - - /*!\brief set the extra javascript property for a double click on - * INPUT field - *\param $p_action action when a double click happens - *\note the $p_action cannot contain a double quote - */ - function set_dblclick($p_action) - { - $this->dblclick=$p_action; - } - /*!\brief show the html input of the widget*/ - public function input($p_name=null,$p_value=null) - { - if ( $p_name == null && $this->name == "") - throw (new Exception('Le nom d une icard doit être donne')); - - $this->value=($p_value==null)?$this->value:$p_value; - if ( $this->readOnly==true) return $this->display(); - - $this->id=($this->id=="")?$this->name:$this->id; - - - - $label=''; - if ( $this->dblclick != '') - { - $e=sprintf(' ondblclick="%s" ', - $this->dblclick); - $this->dblclick=$e; - } - $input=sprintf('', - $this->name, - $this->name, - $this->value, - $this->size, - $this->dblclick, - $this->javascript - ); - - - $div=sprintf('
      ', - $this->name); - $query="op=autoanc&".dossier::get(); - - // add parameter to search into a plan (pa_id) or get the value from - // a HtmlObject - if ($this->plan <> 0) - { - $query.="&pa_id=".$this->plan; - } elseif ( $this->plan_ctl <> '') - { - $this->set_attribute("plan_ctl", $this->plan_ctl); - } - $attr=$this->get_js_attr(); - $javascript=sprintf('try { new Ajax.Autocompleter("%s","%s_choices","ajax_misc.php?%s",'. - '{paramName:"anccard",minChars:1,indicator:null, '. - 'callback:%s, '. - ' afterUpdateElement:%s});} catch (e){alert(e.message);};', - $this->name, - $this->name, - $query, - $this->callback, - $this->fct); - - $javascript=create_script($javascript.$this->dblclick); - - $r=$label.$input.$attr.$div.$javascript; - if ( $this->table == 1 ) - $r=td($r); - return $r; - - } - /*!\brief print in html the readonly value of the widget*/ - public function display() - { - $r=sprintf(' - ', - $this->name, - $this->value - ); - $r.=''.$this->value.''; - return $r; - - } - /** - *@brief return a string containing the button for displaying - * a search form. When clicking on the result, update the input text file - * the common used attribute as - * - jrn the ledger - * - label the field to update - * - name name of the input text - * - price amount - * - tvaid - * - typecard (deb, cred, filter or list of value) - * will be set - * if ICard is in readOnly, the button disappears, so the return string is empty - \code - // search ipopup - $search_card=new IPopup('ipop_card'); - $search_card->title=_('Recherche de fiche'); - $search_card->value=''; - echo $search_card->input(); - - $a=new ICard('test'); - $a->search(); - - \endcode - *\see ajax_card.php - *\note the ipopup id is hard coded : ipop_card - *@return HTML string with the button - */ - function search() - { - if ( $this->readOnly==true) return ''; - - $button=new IButton($this->name.'_bt'); - $a=""; - foreach (array('typecard','jrn','label','price','tvaid') as $att) - { - if (isset($this->$att) ) - $a.="this.".$att."='".$this->$att."';"; - } - if (isset($this->name)) - $a.="this.inp='".$this->name."';"; - $a.="this.popup='ipop_card';"; - - $button->javascript=$a.' search_card(this)'; - return $button->input(); - } - - static public function test_me() - { - - } -} diff --git a/sources/include/class_ibutton.php b/sources/include/class_ibutton.php deleted file mode 100644 index d348a0c..0000000 --- a/sources/include/class_ibutton.php +++ /dev/null @@ -1,118 +0,0 @@ -name=($p_name==null)?$this->name:$p_name; - $this->value=($p_value==null)?$this->value:$p_value; - $this->label=(trim($this->label) != '')?$this->label:$this->value; - $this->class=($p_class != "")?$p_class:$this->class; - $this->class=($this->class=="")?"smallbutton ":$this->class; - if ( $this->readOnly==true) return $this->display(); - $extra= ( isset($this->extra))?$this->extra:""; - $this->id=($this->id=="")?$this->name:$this->id; - $tab=(isset($this->tabindex))?' tabindex="'.$this->tabindex.'"':""; - $r='extra. - $tab. - ' id="'.$this->id.'"'. - ' value="'.$this->label.'"'. - ' onClick="'.$this->javascript.'"'.$extra.'>'; - $attr=$this->get_js_attr(); - $r.=$attr; - return $r; - - } - - /*!\brief print in html the readonly value of the widget*/ - public function display() - { - return ""; - } - static function tooggle_checkbox($p_form) - { - $select_all=new IButton('select_all'); - $select_all->label=_('Inverser la sélection'); - $select_all->javascript="toggle_checkbox('$p_form')"; - return $select_all->input(); - } - static function select_checkbox($p_form) - { - $select_all=new IButton('select_all'); - $select_all->label=_('Cocher tous'); - $select_all->javascript="select_checkbox('$p_form')"; - return $select_all->input(); - } - static function unselect_checkbox($p_form) - { - $select_all=new IButton('select_all'); - $select_all->label=_('Décocher tous'); - $select_all->javascript="unselect_checkbox('$p_form')"; - return $select_all->input(); - } - static function show_calc() - { - $calc=new IButton('shcalc'); - $calc->label=_('Calculatrice'); - $calc->javascript="show_calc()"; - return $calc->input(); - - } - static public function test_me() - { - } -} -class ISmallButton extends IButton -{ - var $label; - /*!\brief show the html input of the widget*/ - public function input($p_name=null,$p_value=null,$p_style=null) - { - $this->name=($p_name==null)?$this->name:$p_name; - $this->value=($p_value==null)?$this->value:$p_value; - $this->label=(trim($this->label) != '')?$this->label:$this->value; - if ( $this->readOnly==true) return $this->display(); - $extra= ( isset($this->extra))?$this->extra:""; - $this->id=($this->id=="")?$this->name:$this->id; - $tab=(isset($this->tabindex))?' tabindex="'.$this->tabindex.'"':""; - $r='extra. - $tab. - ' id="'.$this->id.'"'. - ' value="'.$this->label.'"'. - ' onClick="'.$this->javascript.'"'.$extra.'>'; - $attr=$this->get_js_attr(); - $r.=$attr; - return $r; - - } -} \ No newline at end of file diff --git a/sources/include/class_icard.php b/sources/include/class_icard.php deleted file mode 100644 index 0865cc9..0000000 --- a/sources/include/class_icard.php +++ /dev/null @@ -1,394 +0,0 @@ -label="Client ".HtmlInput::infobulle(0) ; - $W1->name="e_client"; - $W1->tabindex=3; - $W1->value=$e_client; - $W1->table=0; -// If double click call the javascript fill_ipopcard - $W1->set_dblclick("fill_ipopcard(this);"); - - // Type of card : deb, cred or all - $W1->set_attribute('typecard','deb'); - - $W1->extra='deb'; - -// Add the callback function to filter the card on the jrn - $W1->set_callback('filter_card'); - -// when value selected in the autcomplete - $W1->set_function('fill_data'); - -// when the data change - $W1->javascript=sprintf(' onchange="fill_data_onchange(\'%s\');" ', - $W1->name); - - // name of the field to update with the name of the card - $W1->set_attribute('label','e_client_label'); - $client_label=new ISpan(); - $client_label->table=0; - $f_client=$client_label->input("e_client_label",$e_client_label); - - $f_client_qcode=$W1->input(); - -// Search button for card - $f_client_bt=$W1->search(); -* \endcode -For searching a card, you need a popup, the script card.js and set -the values for card, popup filter_card callback -@code -$card=new ICard('acc'); -$card->name="acc"; -$card->extra="all"; -$card->set_attribute('typecard','all'); -$card->set_callback('filter_card'); - -echo $card->input(); -echo $card->search(); -// example 2 -$w=new ICard("av_text".$attr->ad_id); -// filter on frd_id -$sql=' select fd_id from fiche_def where frd_id in ('.FICHE_TYPE_CLIENT.','.FICHE_TYPE_FOURNISSEUR.','.FICHE_TYPE_ADM_TAX.')'; -$filter=$this->cn->make_list($sql); -$w->set_attribute('ipopup','ipopcard'); -$w->set_attribute('typecard',$filter); -$w->set_attribute('inp',"av_text".$attr->ad_id); -$w->set_attribute('label',"av_text".$attr->ad_id."_label"); - -$w->extra=$filter; -$w->extra2=0; -$label=new ISpan(); -$label->name="av_text".$attr->ad_id."_label"; -$msg.=td($w->search().$label->input()); -@endcode -*/ -require_once NOALYSS_INCLUDE.'/class_html_input.php'; -require_once NOALYSS_INCLUDE.'/function_javascript.php'; - -class ICard extends HtmlInput -{ - function __construct($name="",$value="",$p_id="") - { - parent::__construct($name,$value); - $this->fct='update_value'; - $this->dblclick=''; - $this->callback='null'; - $this->javascript=''; - $this->id=($p_id != "")?$p_id:$name; - $this->choice=null; - $this->indicator=null; - $this->choice_create=1; - $this->autocomplete=1; - $this->style=' style="vertical-align:50%"'; - } - /*!\brief set the javascript callback function - * by default it is update_value called BEFORE the querystring is send - * - *\param $p_name callback function name - */ - function set_callback($p_name) - { - $this->callback=$p_name; - } - - /*!\brief set the javascript callback function - * by default it is update_value called AFTER an item has been selected - *\param $p_name callback function name - */ - function set_function($p_name) - { - $this->fct=$p_name; - } - /*!\brief return the html string for creating the ipopup, this ipopup - * can be used for adding, modifying or display a card - *@note ipopup is obsolete, the popin is created by javascript - *\param $p_name name of the ipopup, must be set after with set_attribute - \code - $f_add_button=new IButton('add_card'); - $f_add_button->label='Créer une nouvelle fiche'; - $f_add_button->set_attribute('ipopup','ipop_newcard'); - $f_add_button->set_attribute('filter',$this->get_all_fiche_def ()); - $f_add_button->javascript=" select_card_type(this);"; - $str_add_button=$f_add_button->input(); - - \endcode - *\return html string - *\note must be one of first instruction on a new page, to avoid problem - * of position with IE - */ - static function ipopup($p_name) - { - $ip_card=new IPopup ($p_name); - $ip_card->drag=true; - $ip_card->set_width('45%'); - $ip_card->title='Fiche '; - $ip_card->value=''; - - return $ip_card->input(); - } - /*!\brief set the extra javascript property for a double click on - * INPUT field - *\param $p_action action when a double click happens - *\note the $p_action cannot contain a double quote - */ - function set_dblclick($p_action) - { - $this->dblclick=$p_action; - } - /*!\brief show the html input of the widget*/ - public function input($p_name=null,$p_value=null) - { - if ( $p_name == null && $this->name == "") - throw (new Exception('Le nom d une icard doit être donne')); - - $this->value=($p_value==null)?$this->value:$p_value; - if ( $this->readOnly==true) return $this->display(); - - $this->id=($this->id=="")?$this->name:$this->id; - $this->choice=($this->choice==null)?sprintf("%s_choices",$this->id):$this->choice; - $this->indicator=($this->indicator==null)?sprintf("%s_ind",$this->id):$this->indicator; - $attr=$this->get_js_attr(); - - $label=''; - if ( $this->dblclick != '') - { - $e=sprintf(' ondblclick="%s" ', - $this->dblclick); - $this->dblclick=$e; - } - $input=sprintf('', - $this->name, - $this->id, - $this->value, - $this->size, - $this->dblclick, - $this->javascript, - $this->style - ); - if ( $this->autocomplete == 1) - { - $this->indicator="ind_".$this->id; - $ind=sprintf('', - $this->indicator); - $this->indicator="null"; - $div=($this->choice_create == 1) ? sprintf('
      ',$this->choice):""; - - $query=dossier::get().'&e='.urlencode($this->typecard); - - $javascript=sprintf('try { new Ajax.Autocompleter("%s","%s","fid_card.php?%s",'. - '{paramName:"FID",minChars:1,indicator:%s, '. - 'callback:%s, '. - ' afterUpdateElement:%s});} catch (e){alert(e.message);};', - $this->id, - $this->choice, - $query, - $this->indicator, - $this->callback, - $this->fct); - - $javascript=create_script($javascript.$this->dblclick); - - $r=$label.$input.$attr.$ind.$div.$javascript; - } - else - { - $r=$label.$input; - } - if ( $this->table == 1 ) - $r=td($r); - return $r; - - } - /*!\brief print in html the readonly value of the widget*/ - public function display() - { - $r=sprintf(' ', - $this->name, - $this->name, - $this->value - ); - $r.=''.$this->value.''; - return $r; - - } - /** - *@brief return a string containing the button for displaying - * a search form. When clicking on the result, update the input text file - * the common used attribute as - * - jrn the ledger - * - label the field to update - * - name name of the input text - * - price amount - * - tvaid - * - typecard (deb, cred, filter or list of value) - * will be set - * if ICard is in readOnly, the button disappears, so the return string is empty - \code - // search ipopup - $search_card=new IPopup('ipop_card'); - $search_card->title=_('Recherche de fiche'); - $search_card->value=''; - echo $search_card->input(); - - $a=new ICard('test'); - $a->search(); - - \endcode - *\see ajax_card.php - *\note the ipopup id is hard coded : ipop_card - *@return HTML string with the button - */ - function search() - { - if ( $this->readOnly==true) return ''; - if ( ! isset($this->id )) $this->id=$this->name; - $a=""; - foreach (array('typecard','jrn','label','price','tvaid') as $att) - { - if (isset($this->$att) ) - $a.="this.".$att."='".$this->$att."';"; - } - if (isset($this->id) && $this->id != "") - $a.="this.inp='".$this->id."';"; - else - $a.="this.inp='".$this->name."';"; - $a.="this.popup='ipop_card';"; - $javascript=$a.' search_card(this);return false;'; - - $button=HtmlInput::button_image($javascript,$this->name."_bt", 'alt="'._('Recherche').'" class="image_search"',"image/magnifier13.png"); - return $button; - } - - static public function test_me() - { - require_once NOALYSS_INCLUDE.'/class_itext.php'; - $_SESSION['isValid']=1; - $a=new ICard('testme'); - $a->extra="all"; - $a->set_attribute('label','ctl_label'); - $a->set_attribute('tvaid','ctl_tvaid'); - $a->set_attribute('price','ctl_price'); - $a->set_attribute('purchase','ctl_purchase'); - $a->set_attribute('type','all'); - echo <<
    39. - - - - - - - -EOF; - echo "
      "; - $l=new IText('ctl_label'); - $t=new IText('ctl_tvaid'); - $p=new IText('ctl_price'); - $b=new IText('ctl_purchase'); - - echo "Label ".$l->input().'
      '; - echo "Tva id ".$t->input().'
      '; - echo "Price ".$p->input().'
      '; - echo "Purchase ".$b->input().'
      '; - - if ( isset($_REQUEST['test_select']) ) - echo HtmlInput::hidden('test_select',$_REQUEST['test_select']); - $a->set_function('test_value'); - $a->javascript=' onchange="alert(\'onchange\');" onblur="alert(\'onblur\');" '; - echo $a->input(); - echo dossier::hidden(); - echo HtmlInput::submit('Entree','entree'); - echo '
      '; - echo <<name=($p_name==null)?$this->name:$p_name; - $this->value=($p_value==null)?$this->value:$p_value; - if ( $this->readOnly==true) return $this->display(); - $this->id=($this->id=="")?$this->name:$this->id; - - $check=( $this->selected==true )?"checked":"unchecked"; - $r='disabled." ".$this->javascript.'>'; - - $r=$r." $this->label"; - - return $r; - - - } - /*!\brief print in html the readonly value of the widget*/ - public function display() - { - $check=( $this->selected==true )?"checked":"unchecked"; - $r='value==$p_value)$this->selected=true; - } - static function toggle_checkbox($p_name,$p_form) { - $a=new ICheckBox($p_name); - $a->javascript='onclick="toggle_checkbox(\''.$p_form.'\')"'; - return $a->input(); - } - static public function test_me() - { - } -} diff --git a/sources/include/class_iconcerned.php b/sources/include/class_iconcerned.php deleted file mode 100644 index 283189e..0000000 --- a/sources/include/class_iconcerned.php +++ /dev/null @@ -1,80 +0,0 @@ -name=$p_name; - $this->value=$p_value; - $this->amount_id=null; - $this->paid=''; - $this->id=$p_id; - $this->tiers=""; // id of the field for the tiers to be updated - } - /*!\brief show the html input of the widget*/ - public function input($p_name=null,$p_value=null) - { - $this->name=($p_name==null)?$this->name:$p_name; - $this->value=($p_value==null)?$this->value:$p_value; - if ( $this->readOnly==true) return $this->display(); - - $this->id=($this->id=="")?$this->name:$this->id; - - - $r=sprintf(" - - - - - - ", - $this->name, - $this->amount_id, - $this->paid, - $this->tiers, - $this->name, - $this->id, - $this->value, - $this->id - ); - return $r; - } - /*!\brief print in html the readonly value of the widget*/ - public function display() - { - $r=sprintf("%s",$this->value); - $r.=sprintf('', $this->name,$this->value); - return $r; - - } - static public function test_me() - { - } -} diff --git a/sources/include/class_idate.php b/sources/include/class_idate.php deleted file mode 100644 index cea64c8..0000000 --- a/sources/include/class_idate.php +++ /dev/null @@ -1,71 +0,0 @@ -name=($p_name==null)?$this->name:$p_name; - $this->value=($p_value==null)?$this->value:$p_value; - if ( $this->readOnly==true) return $this->display(); - if( $this->id=="") - $this->id=self::generate_id($this->name); - $r=''. - ''; - $r.=' - '; - return $r; - - } - /*!\brief print in html the readonly value of the widget*/ - public function display() - { - $r=" : ".$this->value; - $r.=''; - return $r; - - } - static public function test_me() - { - } -} diff --git a/sources/include/class_ifile.php b/sources/include/class_ifile.php deleted file mode 100644 index 66475f3..0000000 --- a/sources/include/class_ifile.php +++ /dev/null @@ -1,46 +0,0 @@ -name=($p_name==null)?$this->name:$p_name; - $this->value=($p_value==null)?$this->value:$p_value; - if ( $this->readOnly==true) return $this->display(); - $r=''; - return $r; - - } - /*!\brief print in html the readonly value of the widget*/ - public function display() - { - - } - static public function test_me() - { - } -} diff --git a/sources/include/class_ihidden.php b/sources/include/class_ihidden.php deleted file mode 100644 index 08d00a5..0000000 --- a/sources/include/class_ihidden.php +++ /dev/null @@ -1,42 +0,0 @@ -name=($p_name==null)?$this->name:$p_name; - $this->value=($p_value==null)?$this->value:$p_value; - $this->id=($this->id=="")?$this->name:$this->id; - - $r=''; - return $r; - - } - static public function test_me() - { - } -} diff --git a/sources/include/class_impress.php b/sources/include/class_impress.php deleted file mode 100644 index 2bdbafd..0000000 --- a/sources/include/class_impress.php +++ /dev/null @@ -1,293 +0,0 @@ -$p_label.' Erreur Formule!', - 'montant'=>0); - else - return $p_formula; - - } - if ( $p_type_date == 0 ) - $cond=sql_filter_per($p_cn,$p_start,$p_end,'p_id','j_tech_per'); - else - $cond="( j_date >= to_date('$p_start','DD.MM.YYYY') and j_date <= to_date('$p_end','DD.MM.YYYY'))"; - - include_once("class_acc_account_ledger.php"); - - while (preg_match_all("(\[[0-9]*[A-Z]*%*c*d*s*\])",$p_formula,$e) == true) - { - - // remove the [ ] - $x=$e[0]; - foreach ($x as $line) - { - $compute='all'; - if ( strpos($line,'d') != 0 ) - $compute='deb'; - if ( strpos($line,'c') != 0 ) - $compute='cred'; - if ( strpos($line,'s') != 0 ) - $compute='signed'; - $line=str_replace ("[","",$line); - $line=str_replace ("]","",$line); - $line=str_replace ("d","",$line); - $line=str_replace ("c","",$line); - $line=str_replace ("s","",$line); - // If there is a FROM clause we must recompute - // the time cond - - if ($p_type_date == 0 && preg_match ("/FROM=[0-9]+\.[0-9]+/", $p_formula,$afrom) == 1 ) - { - // There is a FROM clause - // then we must modify the cond for the periode - $from=str_replace("FROM=","",$afrom[0]); - - // Get the periode - /*! \note special value for the clause FROM=00.0000 - */ - if ( $from == '00.0000' ) - { - - // retrieve the first month of this periode - $user_periode=$g_user->get_periode(); - $oPeriode=new Periode($p_cn); - $periode=$oPeriode->get_exercice($user_periode); - list($first,$last)=$oPeriode->get_limit($periode); - $ret=$first->get_date_limit(); - $end_date=$oPeriode->get_date_limit($p_end); - if ($ret == null ) throw new Exception ('Pas de limite à cette période',1); - $cond=sql_filter_per($p_cn,$ret['p_start'],$end_date['p_end'],'date','j_tech_per'); - - - } - else - { - $oPeriode=new Periode($p_cn); - try - { - $pfrom=$oPeriode->find_periode('01.'.$from); - $cond= sql_filter_per($p_cn, $pfrom, $p_end,'p_id','j_tech_per'); - } - catch (Exception $exp) - { - /* if none periode is found - then we take the first periode of the year - */ - $user_periode=$g_user->get_periode(); - - $year=$oPeriode->get_exercice($user_periode); - list($first,$last)=$oPeriode->get_limit($year); - $ret=$first->get_date_limit(); - $end_date=$oPeriode->get_date_limit($p_end); - if ($ret == null ) throw new Exception ('Pas de limite à cette période',1); - $cond=sql_filter_per($p_cn,$ret['p_start'],$end_date['p_end'],'date','j_tech_per'); - } - } - } - - if ( strpos($p_formula,"FROM") != 0) - { - // We remove FROM out of the p_formula - $p_formula=substr_replace($p_formula,"",strpos($p_formula,"FROM")); - } - - // Get sum of account - $P=new Acc_Account_Ledger($p_cn,$line); - $detail=$P->get_solde_detail($cond.$p_sql); - - - if ( $compute=='all') - $i=$detail['solde']; - if ( $compute=='deb') - $i=$detail['debit']; - if ( $compute=='cred') - $i=$detail['credit']; - if ( $compute=='signed') - $i=$detail['debit']-$detail['credit']; - $p_formula=str_replace($x[0],$i,$p_formula); - } - } - - // $p_eval is true then we eval and returns result - if ( $p_eval == true) - { - $p_formula="\$result=".$p_formula.";"; - eval("$p_formula"); - - while (preg_match("/\[([0-9]+)([Tt]*)\]/",trim($p_label),$e) == 1) - { - $nom = "!!".$e[1]."!!"; - if (Impress::check_formula($e[0])) - { - $nom = $p_cn->get_value ( "SELECT pcm_lib AS acct_name FROM tmp_pcmn WHERE pcm_val::text LIKE $1||'%' ORDER BY pcm_val ASC LIMIT 1",array($e[1])); - if($nom) - { - if($e[2] == 'T') $nom = strtoupper($nom); - if($e[2] == 't') $nom = strtolower($nom); - } - } - $p_label = str_replace($e[0], $nom, $p_label); - } - - $aret=array('desc'=>$p_label, - 'montant'=>$result); - return $aret; - } - else - { - // $p_eval is false we returns only the string - return $p_formula; - } - } - /*! - * \brief Check if formula doesn't contain - * php injection - * \param string - * - * \return true if the formula is good otherwise false - */ - static function check_formula($p_string) - { - // the preg_match gets too complex if we want to add a test - // for parenthesis, math function... - // So I prefer remove them before testing - $p_string=str_replace("round","",$p_string); - $p_string=str_replace("abs","",$p_string); - $p_string=str_replace("(","",$p_string); - $p_string=str_replace(")","",$p_string); - // for the inline test like $a=(cond)?value:other; - $p_string=str_replace("?","+",$p_string); - $p_string=str_replace(":","+",$p_string); - $p_string=str_replace(">=","+",$p_string); - $p_string=str_replace("<=","+",$p_string); - $p_string=str_replace(">","+",$p_string); - $p_string=str_replace("<","+",$p_string); - // eat Space + comma - $p_string=str_replace(" ","",$p_string); - $p_string=str_replace(",","",$p_string); - // Remove D/C/S - $p_string=str_replace("c","",$p_string); - $p_string=str_replace("d","",$p_string); - $p_string=str_replace("s","",$p_string); - // Remove T,t - $p_string=str_replace("t","",$p_string); - - // remove date - $p_string= preg_replace("/FROM*=*[0-9]+/", "", $p_string); - // remove comment - $p_string= preg_replace("/#.*/", "", $p_string); - // remove $C= - $p_string= preg_replace('/\$[a-z]*[A-Z]*[0-9]*[A-Z]*[a-z]*/', "", $p_string); - $p_string= preg_replace('/=/', "", $p_string); - - // remove account - $p_string= preg_replace("/\[[0-9]*[A-Z]*%*\]/", "", $p_string); - - $p_string= preg_replace("/\+|-|\/|\*/", "", $p_string); - $p_string= preg_replace("/[0-9]*\.*[0-9]/", "", $p_string); - - //******************************************************************************************************************** - // If the string is empty then formula should be good - // - //******************************************************************************************************************** - if ($p_string == '') - { - return true; - } - else - { - return false; - } - } - /** - * with the handle of a successull query, echo each row into CSV and - * send it directly - * @param type $array of data - * @param type $aheader double array, each item of the array contains - * a key type (num) and a key title - */ - static function array_to_csv($array,$aheader) - { - $seq=""; - for ($i=0;$i$value) - { - if ($e > count($aheader)) $e=0; - - if ( isset ($aheader[$e]['type'])) - { - switch ($aheader[$e]['type']) - { - case 'num': - echo $sep2.nb($value); - break; - default: - echo $sep2.'"'.$value.'"'; - } - } else { - echo '"'.$value.'"'.$sep2; - } - $sep2=";";$e++; - } - printf("\r"); - } - } -} \ No newline at end of file diff --git a/sources/include/class_inum.php b/sources/include/class_inum.php deleted file mode 100644 index 3cba46c..0000000 --- a/sources/include/class_inum.php +++ /dev/null @@ -1,111 +0,0 @@ -size=9; - $this->style='class="inum"'; - $this->javascript= 'onchange="format_number(this,2);"'; - } - /*!\brief print in html the readonly value of the widget*/ - public function display() - { - - $readonly=" readonly "; - $this->id=($this->id=="")?$this->name:$this->id; - - //$style='style="border:solid 1px blue;color:black;background:#EDEDED;text-align:right"'; - $style=' class="inum input_text_ro"'; - $this->value=str_replace('"','',$this->value); - $r='javascript." $readonly $this->extra >"; - - /* add tag for column if inside a table */ - if ( $this->table == 1 ) $r=''.$r.''; - - return $r; - - } - /*!\brief show the html input of the widget*/ - public function input($p_name=null,$p_value=null) - { - if ( isset ($this->prec)) { - $this->javascript= 'onchange="format_number(this,'.$this->prec.');"'; - } - $this->name=($p_name==null)?$this->name:$p_name; - $this->value=($p_value==null)?$this->value:$p_value; - $this->id=($this->id=="")?$this->name:$this->id; - - if ( $this->readOnly==true) return $this->display(); - - $t= ((isset($this->title)))?'title="'.$this->title.'" ':' '; - - $extra=(isset($this->extra))?$this->extra:""; - - $this->value=str_replace('"','',$this->value); - if ( ! isset ($this->css_size)) - { - $r='style.' TYPE="TEXT" id="'. - $this->id.'"'.$t. - 'NAME="'.$this->name.'" VALUE="'.$this->value.'" '. - 'SIZE="'.$this->size.'" '.$this->javascript." $this->extra >"; - /* add tag for column if inside a table */ - } else { - $r='style.' TYPE="TEXT" id="'. - $this->id.'"'.$t. - 'NAME="'.$this->name.'" VALUE="'.$this->value.'" '. - ' style="width:'.$this->css_size.';" '.$this->javascript." $this->extra >"; - - } - - if ( $this->table == 1 ) $r=''.$r.''; - - return $r; - - } - -} - - diff --git a/sources/include/class_iperiod.php b/sources/include/class_iperiod.php deleted file mode 100644 index a22c26e..0000000 --- a/sources/include/class_iperiod.php +++ /dev/null @@ -1,171 +0,0 @@ -name=$p_name; - $this->readOnly=false; - $this->size=20; - $this->width=50; - $this->heigh=20; - $this->value=$p_value; - $this->selected=""; - $this->table=0; - $this->disabled=false; - $this->javascript=""; - $this->extra2="all"; - $this->show_start_date=true; - $this->show_end_date=true; - $this->exercice=$p_exercice; - } - /*! - * \brief show the input html for a periode - *\param $p_name is the name of the widget - *\param $p_value is the default value - *\param $p_exercice is the exercice, if not set then the user preference is used - * \return string containing html code for the HTML - * - * - */ - public function input($p_name=null,$p_value=null) - { - foreach (array('type','cn') as $a) - { - if ( ! isset ($this->$a) ) throw new Exception('Variable non définie [ '.$a.']'); - } - $this->name=($p_name==null)?$this->name:$p_name; - $this->value=($p_value==null)?$this->value:$p_value; - if ( $this->readOnly==true) return $this->display(); - - switch ($this->type) - { - case CLOSED: - $sql_closed="where p_closed=true and p_central = false "; - break; - case OPEN: - $sql_closed="where p_closed=false"; - break; - case NOTCENTRALIZED: - $sql_closed="where p_closed=true and p_central = false "; - break; - case ALL: - $sql_closed=""; - break; - default: - throw new Exception("invalide p_type in ".__FILE__.':'.__LINE__); - } - $sql="select p_id,to_char(p_start,'DD.MM.YYYY') as p_start_string, - to_char(p_end,'DD.MM.YYYY') as p_end_string - from parm_periode - $sql_closed "; - - $cond=""; - - - /* Create a filter on the current exercice */ - if ( ! isset($this->filter_year) || (isset($this->filter_year) && $this->filter_year==true)) - { - if ( $this->exercice=='') - { - if (! isset($this->user) ) throw new Exception (__FILE__.':'.__LINE__.' user is not set'); - $this->exercice=$this->user->get_exercice(); - } - - $cond=''; - if ( $sql_closed=="") $and=" where " ; else $and=" and "; - if ($this->type == 'all' ) $cond=$and.' true '; - $cond.=" $and p_exercice='".sql_string($this->exercice)."'"; - } - - $sql.=$cond." order by p_start,p_end"; - - $Res=$this->cn->exec_sql($sql); - $Max=$this->cn->size($Res); - if ( $Max == 0 ) throw new Exception(_('Aucune periode trouvée'),1); - $ret='"; - return $ret; - - - } - /*!\brief print in html the readonly value of the widget*/ - public function display() - { - $r="not implemented ".__FILE__.":".__LINE__; - return $r; - - } - static public function test_me() - { - } -} diff --git a/sources/include/class_ipopup.php b/sources/include/class_ipopup.php deleted file mode 100644 index 62620ae..0000000 --- a/sources/include/class_ipopup.php +++ /dev/null @@ -1,191 +0,0 @@ -name=$p_name; - $this->parameter=''; - $this->attribute=array(); - $this->drag=false; - $this->blocking=true; - } - function set_width($p_val) - { - $js=sprintf('$("%s'.'_border").style.width="%s";', - $this->name,$p_val); - $this->parameter.=$js; - - } - function set_height($p_val) - { - $js=sprintf('$("%s'.'_border").style.height="%s";', - $this->name,$p_val); - $this->parameter.=$js; - - } - /** - *@brief set or not a blocking fond - *@param $p_block if true if you want to avoid access to background, - *accept true or false - */ - function set_block($p_block) - { - $this->blocking=$p_block; - } - - function set_zindex($p_val) - { - $js=sprintf('$("%s'.'_border").style.zIndex=%d;', - $this->name,$p_val); - $js=sprintf('$("%s'.'_content").style.zIndex=%d;', - $this->name,$p_val); - $this->parameter.=$js; - } - function set_dragguable($p_value) - { - $this->drag=$p_value; - } - /*!\brief set the attribute thanks javascript as the width, the position ... - *\param $p_name attribute name - *\param $p_val val of the attribute - *\note add to the this->attribut, it will be used in input() - */ - function set_attribute($p_name,$p_val) - { - $this->attribute[]=array($p_name,$p_val); - } - /*!\brief set the title of a ipopup thanks javascript and php mode - *\param title of the IPopup - *\return html string with js script - */ - function set_title($p_title) - { - $this->title=$p_title; - $s=sprintf('$("%s_"+"title")="%s"', - $this->name,$this->title); - return create_script($s); - } - function input() - { - $r=""; - if ($this->blocking) - { - $r.=sprintf('"; - } - $javascript=sprintf("javascript:hideIPopup('%s')", - $this->name); - - - if ( isset($this->title) && trim($this->title) != "" ) - { - $r.=sprintf(''; -return; -?> diff --git a/sources/include/compta_ach.inc.php b/sources/include/compta_ach.inc.php deleted file mode 100644 index f4f3104..0000000 --- a/sources/include/compta_ach.inc.php +++ /dev/null @@ -1,306 +0,0 @@ -check_jrn($_REQUEST['p_jrn']) != 'W') - { - NoAccess(); - exit - 1; - } -$p_msg=""; -/* if a new invoice is encoded, we display a form for confirmation */ -if (isset($_POST['view_invoice'])) -{ - $Ledger = new Acc_Ledger_Purchase($cn, $_POST['p_jrn']); - try - { - $Ledger->verify($_POST); - } - catch (Exception $e) - { - alert($e->getMessage()); - $p_msg=$e->getMessage(); - $correct = 1; - } - // if correct is not set it means it is correct - if (!isset($correct)) - { - echo '
      '; - echo '
      '; - echo h1(_("Confirmation")); - echo '
      '; - - echo '
      '; - echo h2(_("Attention, cette opération n'est pas encore sauvée : vous devez encore confirmer"),' class="notice"'); - echo '
      '; - - echo '
      '; - echo '
      '; - echo dossier::hidden(); - - echo $Ledger->confirm($_POST); - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - ?> -
      - - -select_depot(false, -1); - echo $Ledger->extra_info(); - - echo ''; - - - echo ''; - - echo HtmlInput::submit("record", _("Enregistrement"), 'onClick="return verify_ca(\'\');"'); - echo HtmlInput::submit('correct', _("Corriger")); - echo ''; - echo '
      '; /* tab_id */ - echo '
      '; - ?> - -'; - return; - - return; - } -} -//------------------------------ -/* Record the invoice */ -//------------------------------ - -if (isset($_POST['record'])) -{ - $Ledger = new Acc_Ledger_Purchase($cn, $_POST['p_jrn']); - try - { - $Ledger->verify($_POST); - } - catch (Exception $e) - { - alert($e->getMessage()); - $p_msg=$e->getMessage(); - $correct = 1; - } - // record the invoice - if (!isset($correct)) - { - echo '
      '; - - $Ledger = new Acc_Ledger_Purchase($cn, $_POST['p_jrn']); - $internal = $Ledger->insert($_POST); - - - /* Save the predefined operation */ - if ( isset($_POST['opd_name']) && trim($_POST['opd_name']) != "" ) - { - $opd = new Pre_op_ach($cn); - $opd->get_post(); - $opd->save(); - } - - /* Show button */ - $jr_id = $cn->get_value('select jr_id from jrn where jr_internal=$1', array($internal)); - - echo '

      '._('Enregistrement').'

      '; - /* Save the additional information into jrn_info */ - $obj = new Acc_Ledger_Info($cn); - $obj->save_extra($Ledger->jr_id, $_POST); - //printf('%s
      ', $jr_id, dossier::id(), $internal); - // Feedback - echo $Ledger->confirm($_POST, true); - if (isset($Ledger->doc)) - { - echo '

      '._('Document').'

      '; - echo $Ledger->doc; - } - // extourne - if (isset($_POST['reverse_ck'])) - { - $p_date=HtmlInput::default_value_post('reverse_date', ''); - if (isDate($p_date)==$p_date) - { - // reverse the operation - try - { - $Ledger->reverse($p_date); - echo '

      '; - echo _('Extourné au ').$p_date; - echo '

      '; - } - catch (Exception $e) - { - echo '

      '._('Opération non extournée'). - $e->getMessage(). - '

      '; - } - } - else - { - // warning because date is invalid - echo '

      '._('Date invalide, opération non extournée').'

      '; - } - } - echo $Ledger->button_new_operation(); - echo '
      '; - return; - } -} -// ------------------------------ -/* Display a blank form or a form with predef operation */ -/* or a form for correcting */ -// ------------------------------ - -echo '
      '; -// - - -$array = (isset($_POST['correct']) || isset($correct)) ? $_POST : null; -$Ledger = new Acc_Ledger_Purchase($cn, 0); - - -if (!isset($_REQUEST ['p_jrn'])) -{ - $def_ledger = $Ledger->get_first('ach',2); - if ( empty ($def_ledger)) - { - exit('Pas de journal disponible'); - } - $Ledger->id = $def_ledger['jrn_def_id']; -} -else - $Ledger->id = $_REQUEST ['p_jrn']; - -if (isset ($_REQUEST['p_jrn_predef'])){ - $Ledger->id=$_REQUEST['p_jrn_predef']; -} -// pre defined operation -// -echo '
      '; -echo HtmlInput::hidden('p_jrn_predef', $Ledger->id); -$op = new Pre_op_ach($cn); -$op->set('ledger', $Ledger->id); -$op->set('ledger_type', "ACH"); -$op->set('direct', 'f'); -$url=http_build_query(array('p_jrn_predef'=>$Ledger->id,'ac'=>$_REQUEST['ac'],'gDossier'=>dossier::id())); -echo $op->form_get('do.php?'.$url); -echo '
      '; -echo '
      '; - -if ( is_msie() == 0 ) - echo '
      '; -else - echo '
      '; - -echo '

      '.$p_msg.'

      '; -try -{ - echo "
      "; - /* request for a predefined operation */ - if (isset($_REQUEST['pre_def'])&&!isset($_POST['correct'])) - { - // used a predefined operation - // - $op=new Pre_op_ach($cn); - $op->set_od_id($_REQUEST['pre_def']); - $p_post=$op->compute_array(); - $Ledger->id=$_REQUEST ['p_jrn_predef']; - $p_post['p_jrn']=$Ledger->id; - echo $Ledger->input($p_post); - echo '
      '; - echo $Ledger->input_paid(); - echo '
      '; - echo ''; - } - else - { - echo $Ledger->input($array); - echo HtmlInput::hidden("p_action", "ach"); - echo HtmlInput::hidden("sa", "p"); - echo '
      '; - echo $Ledger->input_paid(); - echo '
      '; - echo ''; - } - echo '
      '; - echo HtmlInput::button('act', _('Actualiser'), - 'onClick="compute_all_ledger();"'); - echo HtmlInput::submit("view_invoice", _("Enregistrer")); - echo HtmlInput::reset(_('Effacer ')); - echo '
      '; - echo "
      "; -} -catch (Exception $e) -{ - alert($e->getMessage()); - return; -} -if (!isset($_POST['e_date']) && $g_parameter->MY_DATE_SUGGEST=='Y') - echo create_script(" get_last_date()"); -echo create_script(" update_name()"); -echo '
      '; - - -return; -// end record invoice -?> \ No newline at end of file diff --git a/sources/include/compta_fin.inc.php b/sources/include/compta_fin.inc.php deleted file mode 100644 index f818bf5..0000000 --- a/sources/include/compta_fin.inc.php +++ /dev/null @@ -1,164 +0,0 @@ -id=$_REQUEST['p_jrn']; -else -{ - $def_ledger=$Ledger->get_first('fin'); - if ( empty ($def_ledger)) - { - exit('Pas de journal disponible'); - } - $Ledger->id=$def_ledger['jrn_def_id']; -} -$jrn_priv=$g_user->get_ledger_access($Ledger->id); -// Check privilege -if ( isset($_REQUEST['p_jrn']) && ( $jrn_priv == 'X')) -{ - NoAccess(); - exit -1; -} -$p_msg=""; -//---------------------------------------- -// Confirm the operations -//---------------------------------------- -if ( isset($_POST['save'])) -{ - try - { - $Ledger->verify($_POST); - } - catch (Exception $e) - { - alert($e->getMessage()); - $p_msg=$e->getMessage(); - $correct=1; - } - if ( ! isset ($correct )) - { - echo '
      '; - echo h1(_('Confirmation'),''); - echo_warning(_("Attention, cette opération n'est pas encore sauvée : vous devez encore confirmer")); - echo '
      '; - echo HtmlInput::hidden('ac',$_REQUEST['ac']); - echo $Ledger->confirm($_POST); - echo HtmlInput::submit('confirm',_('Confirmer')); - echo HtmlInput::submit('correct',_('Corriger')); - - echo '
      '; - echo '
      '; - return; - } -} -//---------------------------------------- -// Confirm and save the operations -// into the database -//---------------------------------------- -if ( isset($_POST['confirm'])) -{ - try - { - $Ledger->verify($_POST); - } - catch (Exception $e) - { - alert($e->getMessage()); - $p_msg=$e->getMessage(); - $correct=1; - } - if ( !isset($correct)) - { - echo '
      '; - echo '

      ' . $Ledger->get_name() . '

      '; - echo '
      '; - - echo '
      '; - $a= $Ledger->insert($_POST); - echo '

      '._('Enregistrement').'

      '; - echo '
      '; - echo $a; - echo '
      '; - - echo '
      '; - echo $Ledger->button_new_operation(); - return; - } -} -//---------------------------------------- -// Correct the operations -//---------------------------------------- -if ( isset($_POST['correct'])) -{ - $correct=1; -} -//---------------------------------------- -// Blank form -//---------------------------------------- -echo '
      '; - -echo '

      '.$p_msg.'

      '; - -echo '
      '; -echo HtmlInput::hidden('ledger_type','fin'); -echo HtmlInput::hidden('ac',$_REQUEST['ac']); -$array=( isset($correct))?$_POST:null; - -// show select ledger -try -{ - echo $Ledger->input($array); - - echo HtmlInput::button('add_item',_('Ajout article'), ' onClick="ledger_fin_add_row()"'); - echo HtmlInput::submit('save',_('Sauve')); - echo HtmlInput::reset(_('Effacer')); - - if ( ! isset ($_POST['e_date'])&& $g_parameter->MY_DATE_SUGGEST=='Y') - { - echo create_script(" get_last_date();ajax_saldo('first_sold');"); - }else { - echo create_script(" ajax_saldo('first_sold');"); - } - echo create_script(" update_name()"); -} catch (Exception $ex) { - echo $ex->getMessage(); -} -return; \ No newline at end of file diff --git a/sources/include/compta_fin_rec.inc.php b/sources/include/compta_fin_rec.inc.php deleted file mode 100644 index 080f6f5..0000000 --- a/sources/include/compta_fin_rec.inc.php +++ /dev/null @@ -1,218 +0,0 @@ -'; -$Ledger = new Acc_Ledger_Fin($cn, 0); -if (!isset($_REQUEST['p_jrn'])) -{ - $a = $Ledger->get_first('fin'); - $Ledger->id = $a['jrn_def_id']; -} -else - $Ledger->id = $_REQUEST['p_jrn']; -$jrn_priv = $g_user->get_ledger_access($Ledger->id); -if (isset($_GET["p_jrn"]) && $jrn_priv == "X") -{ - NoAccess(); - return; -} -//------------------------- -// save -//------------------------- -if (isset($_POST['save'])) -{ - if (trim($_POST['ext']) != '' && isset($_POST['op'])) - { - $array = $_POST['op']; - $tot = 0; - $cn->start(); - for ($i = 0; $i < count($array); $i++) - { - $cn->exec_sql('update jrn set jr_pj_number=$1 where jr_id=$2', array($_POST['ext'], $array[$i])); - $tot = bcadd($tot, $cn->get_value('select qf_amount from quant_fin where jr_id=$1', array($array[$i]))); - } - $diff = bcsub($_POST['end_extrait'], $_POST['start_extrait']); - if ($diff != 0 && $diff != $tot) - { - $remain=bcsub($tot,$diff); - $cn->rollback(); - alert("D'après l'extrait il y aurait du avoir un montant de $diff à rapprocher alors qu'il y a $tot rapprochés, mise à jour annulée, la différence est de $remain"); - echo '
      '; - echo '

      '.$g_failed._("D'après l'extrait il y aurait du avoir un montant de $diff à rapprocher alors qu'il y a $tot rapprochés, la différence est de $remain
      mise à jour annulée").'

      '; - echo '
      '; - } - else - { - echo '
      '.$g_succeed.' Mise à jour extrait '.$_POST['ext'].'
      '; - } - - $cn->commit(); - } -} -//------------------------- -// show the operation of this ledger -// without receipt number -//------------------------- -echo '
      '; -echo ''; -echo HtmlInput::get_to_hidden(array('gDossier', 'ledger_type', 'ac', 'sa')); -$wLedger = $Ledger->select_ledger('FIN', 3); -if ($wLedger == null) - exit('Pas de journal disponible'); -echo '
      '; -echo '

      ' . $Ledger->get_name() . '

      '; -echo '
      '; -$wLedger->javascript = "onchange='this.form.submit()';"; -echo $wLedger->input(); -echo HtmlInput::submit('ref', 'Rafraîchir'); -echo ''; -echo '' . hb(h($Ledger->get_bank_name())) . ''; - -echo '
      '; - -echo dossier::hidden(); -echo HtmlInput::get_to_hidden(array('sa', 'p_action', 'p_jrn')); - -$operation = $cn->get_array("select jr_id,jr_internal, - jr_comment, - to_char(jr_date,'DD.MM.YYYY') as fmt_date, - jr_montant, - to_char(jr_date,'YYYYMMDD') as raw_date - from jrn where jr_def_id=$1 and (jr_pj_number is null or jr_pj_number='') order by jr_date", array($Ledger->id)); - -echo '

      '; -$iextrait = new IText('ext'); -if ( isset ($_POST['ext'])) $iextrait->value=$_POST['ext']; else $iextrait->value = $Ledger->guess_pj(); -$nstart_extrait = new INum('start_extrait'); -if( isset($_POST['start_extrait'])) $nstart_extrait->value=$_POST['start_extrait']; -$nend_extrait = new INum('end_extrait'); -if( isset($_POST['end_extrait'])) $nend_extrait->value=$_POST['end_extrait']; - -echo "Extrait / relevé :" . $iextrait->input(); -echo 'solde Début' . $nstart_extrait->input(); -echo 'solde Fin' . $nend_extrait->input(); -echo IButton::tooggle_checkbox('rec1'); -echo '

      '; -echo '

      '; -echo _('Filtre').HtmlInput::infobulle(25); -echo HtmlInput::filter_table("t_rec_bk", "0,1,2,3","1"); -echo '

      '; -echo HtmlInput::submit('save', 'Mettre à jour le n° de relevé bancaire'); -echo ''; - - - echo ''; -echo ''; -$r =''; -$r.=th('Libellé'); -$r.=th('N° interne'); -$r.=th('Montant', ' style="text-align:right"'); -$r.=th('Selection', ' style="text-align:center" '); -echo tr($r); -$iradio = new ICheckBox('op[]'); -$tot_not_reconcilied = 0; -$diff = 0; -for ($i = 0; $i < count($operation); $i++) -{ - $row = $operation[$i]; - $r = ''; - $js = HtmlInput::detail_op($row['jr_id'], $row['jr_internal']); - $r.=''; - $r.=td($row['jr_comment']); - $r.=td($js); - $amount=$cn->get_value('select qf_amount from quant_fin where jr_id=$1', array($row['jr_id'])); - $r.=''; - - $diff=bcadd($diff,$amount); - $tot_not_reconcilied+=$row['jr_montant']; - $iradio->value = $row['jr_id']; - $iradio->selected=false; - if (isset($_POST['op'])) - { - for ($x=0;$xselected=true; - break; - } - } - } - $r.=td(HtmlInput::hidden('jrid['.$i.']', $row['jr_id']) . $iradio->input(), ' style="text-align:center" '); - if ($i % 2 == 0) - echo tr($r, ' class="odd" '); - else - echo tr($r,' class="even" '); -} -echo '
      '.'Date '.HtmlInput::infobulle(17).' ▴'.''.$row['fmt_date'].''.nbm ($amount).'
      '; -$bk_card = new Fiche($cn); -$bk_card->id = $Ledger->get_bank(); -$filter_year = " j_tech_per in (select p_id from parm_periode where p_exercice='" . $g_user->get_exercice() . "')"; - -/* get saldo for not reconcilied operations */ -$saldo_not_reconcilied = $bk_card->get_solde_detail($filter_year . " and j_grpt in (select jr_grpt_id from jrn where trim(jr_pj_number) ='' or jr_pj_number is null)"); - -/* get saldo for reconcilied operation */ -$saldo_reconcilied = $bk_card->get_solde_detail($filter_year . " and j_grpt in (select jr_grpt_id from jrn where trim(jr_pj_number) != '' and jr_pj_number is not null)"); - -/* solde compte */ -$saldo = $bk_card->get_solde_detail($filter_year); - -echo ''; -echo ''; -echo td("Solde compte "); -echo td(nbm(bcsub($saldo['debit'] , $saldo['credit'])), ' style="text-align:right"'); -echo ''; - -echo ''; -echo td("Solde non rapproché "); -echo td(nbm (bcsub($saldo_not_reconcilied['debit'], $saldo_not_reconcilied['credit'])), ' style="text-align:right"'); -echo ''; - -echo ''; -echo td("Solde rapproché "); -echo td(nbm(bcsub($saldo_reconcilied['debit'] , $saldo_reconcilied['credit'])), ' style="text-align:right"'); -echo ''; - - -echo ''; -echo td("Total montant "); -echo td(nbm ($tot_not_reconcilied), ' style="text-align:right"'); -echo ''; - -echo '
      '; - -echo HtmlInput::submit('save', 'Mettre à jour le n° de relevé bancaire'); -echo '
      '; -echo '
      '; -return; -?> diff --git a/sources/include/compta_fin_saldo.inc.php b/sources/include/compta_fin_saldo.inc.php deleted file mode 100644 index 48e285e..0000000 --- a/sources/include/compta_fin_saldo.inc.php +++ /dev/null @@ -1,127 +0,0 @@ -'; - $fiche=new Fiche($cn); - - $array=$fiche->get_bk_account(); - - echo '
      '; - echo dossier::hidden(); - echo _('Filtre :').HtmlInput::filter_table("fin_saldo_tb", '0,1,2,3', '1'); - echo ''; - echo tr(th('Quick Code',' class=" sorttable_sorted_reverse"',HtmlInput::infobulle(17).' ▴') - .th('Compte en banque',' style="text-align:left"') - .th('Journal',' style="text-align:center"') - .th('Description',' style="text-align:center"') - .th('solde opération',' style="text-align:right" class="sorttable_numeric"') - .th('solde extrait/relevé',' style="text-align:right" class="sorttable_numeric"') - .th('différence',' style="text-align:right" class="sorttable_numeric"') - ); - // Filter the saldo - // on the current year - $filter_year=" j_tech_per in (select p_id from parm_periode where p_exercice='".$g_user->get_exercice()."')"; - // for highligting tje line - $idx=0; - bcscale(2); - $tot_extrait=0;$tot_diff=0;$tot_operation=0; - // for each account - for ( $i = 0; $i < count($array);$i++) - { - if ( $array[$i]->id==0) { - echo ''; - echo td(h2("Journal mal configuré",' class="error" '),' colspan="5" style="width:auto" '); - echo ''; - continue; - } - // get the saldo - $m=$array[$i]->get_solde_detail($filter_year); - - $solde=$m['debit']-$m['credit']; - - // print the result if the saldo is not equal to 0 - if ( $m['debit'] != 0.0 || $m['credit'] != 0.0) - { - /* get saldo for not reconcilied operations */ - $saldo_not_reconcilied=$array[$i]->get_bk_balance($filter_year." and (trim(jr_pj_number) ='' or jr_pj_number is null)" ); - - /* get saldo for reconcilied operation */ - - $saldo_reconcilied=$array[$i]->get_bk_balance($filter_year." and ( trim(jr_pj_number) != '' and jr_pj_number is not null)" ); - - if ( $idx%2 != 0 ) - $odd="odd"; - else - $odd="even"; - - $idx++; - echo ""; - echo ""; - - $saldo_rec=bcsub($saldo_reconcilied['debit'],$saldo_reconcilied['credit']); - $diff=bcsub($saldo_not_reconcilied['debit'],$saldo_not_reconcilied['credit']); - echo "". - td(h($array[$i]->ledger_name)). - td(h($array[$i]->ledger_description)). - '". - '". - '". - ""; - $tot_extrait=bcadd($tot_extrait,$solde); - $tot_operation=bcadd($tot_operation,$saldo_rec); - $tot_diff=bcadd($tot_diff,$diff); - } - }// for - echo ''; - echo ''; - echo td(''); - echo td(''); - echo td(''); - echo td(' TOTAUX ','style="font-weight:bold"'); - echo td(nbm($tot_extrait),'style="font-weight:bold" class="num"'); - echo td(nbm($tot_operation),' style="font-weight:bold" class="num"'); - echo td(nbm($tot_diff),' style="font-weight:bold" class="num"'); - echo ''; - - echo ''; - echo "
      ". - IButton::history_card($array[$i]->id,$array[$i]->strAttribut(ATTR_DEF_QUICKCODE)). - "". - $array[$i]->strAttribut(ATTR_DEF_NAME). - "'. - nbm($solde). - "'. - nbm($saldo_rec). - "'. - nbm($diff). - "
      "; - echo "
      "; - return; -?> diff --git a/sources/include/compta_ods.inc.php b/sources/include/compta_ods.inc.php deleted file mode 100644 index a760c3f..0000000 --- a/sources/include/compta_ods.inc.php +++ /dev/null @@ -1,145 +0,0 @@ -get_first('ODS'); -if ( empty ($first_ledger)) -{ - exit('Pas de journal disponible'); -} -$ledger->id = ($ledger->id == -1) ? $first_ledger['jrn_def_id'] : $id_ledger; - -/**\brief show a form for quick_writing */ -$def = -1; -$ledger->with_concerned = true; - - - - -if ($g_user->check_jrn($ledger->id) == 'X') -{ - NoAccess(); - exit - 1; -} -$p_msg=""; -if (!isset($_POST['summary']) && !isset($_POST['save'])) -{ - require('operation_ods_new.inc.php'); - return; -} -elseif (isset($_POST['summary'])) -{ - try { - $ledger->verify($_POST); - require_once NOALYSS_INCLUDE.'/operation_ods_confirm.inc.php'; - } catch (Exception $e) - { - echo alert($e->getMessage()); - $p_msg=$e->getMessage(); - require('operation_ods_new.inc.php'); - - } - return; -} -elseif (isset($_POST['save'])) -{ - $array = $_POST; - echo '
      '; - try - { - $ledger->save($array); - $jr_id = $cn->get_value('select jr_id from jrn where jr_internal=$1', array($ledger->internal)); - - echo '

      Opération enregistrée Piece ' . h($ledger->pj) . '

      '; - if (strcmp($ledger->pj, $_POST['e_pj']) != 0) - { - echo '

      ' . _('Attention numéro pièce existante, elle a du être adaptée') . '

      '; - } - printf('%s
      ', $jr_id, dossier::id(), $ledger->internal); - - // show feedback - echo '
      '; echo '

      ' . $ledger->get_name() . '

      '; echo '
      '; - echo $ledger->confirm($_POST, true); - // extourne - if (isset($_POST['reverse_ck'])) - { - $p_date=HtmlInput::default_value_post('reverse_date', ''); - if (isDate($p_date)==$p_date) - { - // reverse the operation - try - { - $ledger->reverse($p_date); - echo '

      '; - echo _('Extourné au ').$p_date; - echo '

      '; - } - catch (Exception $e) - { - echo '

      '._('Opération non extournée'). - $e->getMessage(). - '

      '; - - } - } - else - { - // warning because date is invalid - echo '

      '._('Date invalide, opération non extournée').'

      '; - } - } - - echo $ledger->button_new_operation(); - - } - catch (Exception $e) - { - require('operation_ods_new.inc.php'); - alert($e->getMessage()); - $p_msg=$e->getMessage(); - } - echo '
      '; - return; -} -return; - diff --git a/sources/include/compta_ven.inc.php b/sources/include/compta_ven.inc.php deleted file mode 100644 index 13029b4..0000000 --- a/sources/include/compta_ven.inc.php +++ /dev/null @@ -1,341 +0,0 @@ -check_jrn($_REQUEST['p_jrn']) != 'W' ) - { - - NoAccess(); - exit -1; - } - - /* if a new invoice is encoded, we display a form for confirmation */ - if ( isset ($_POST['view_invoice'] ) ) - { - $Ledger=new Acc_Ledger_Sold($cn,$_POST['p_jrn']); - try - { - $Ledger->verify($_POST); - } - catch (Exception $e) - { - alert($e->getMessage()); - $p_msg=$e->getMessage(); - $correct=1; - } - // if correct is not set it means it is correct - if ( ! isset($correct)) - { - echo '
      '; - - echo '
      '; - echo h1(_("Confirmation")); - echo '
      '; - - echo '
      '; - echo h2(_("Attention, cette opération n'est pas encore sauvée : vous devez encore confirmer"),' class="notice"'); - echo '
      '; - - echo '
      '; - echo '
      '; - echo dossier::hidden(); - echo $Ledger->confirm($_POST ); - echo HtmlInput::hidden('ac',$_REQUEST['ac']); - ?> -
      - - -select_depot(false, -1); - echo $Ledger->extra_info(); - echo ''; - - - echo ''; - - echo HtmlInput::hidden('ac',$_REQUEST['ac']); - echo HtmlInput::submit("record",_("Enregistrement"),'onClick="return verify_ca(\'\');"'); - echo HtmlInput::submit('correct',_("Corriger")); - echo ''; - echo '
      '; - echo '
      '; /* tab_id */ -?> - -'; - return; - } - } - //------------------------------ - /* Record the invoice */ - //------------------------------ - - if ( isset($_POST['record']) ) - { -// Check privilege - if ( $g_user->check_jrn($_REQUEST['p_jrn']) != 'W' ) - { - - NoAccess(); - exit -1; - } - - $Ledger=new Acc_Ledger_Sold($cn,$_POST['p_jrn']); - try - { - $Ledger->verify($_POST); - } - catch (Exception $e) - { - alert($e->getMessage()); - $correct=1; - } - - if ( ! isset($correct)) - { - if ( is_msie() == 0 ) - echo '
      '; - else - echo '
      '; - - $Ledger=new Acc_Ledger_Sold($cn,$_POST['p_jrn']); - $internal=$Ledger->insert($_POST); - - /* Save the predefined operation */ - if ( isset($_POST['opd_name']) && trim($_POST['opd_name']) != "" ) - { - $opd=new Pre_op_ven($cn); - $opd->get_post(); - $opd->save(); - } - - /* Show button */ - echo '

      Enregistrement

      '; - - echo $Ledger->confirm($_POST,true); - /* Show link for Invoice */ - if (isset ($Ledger->doc) ) - { - echo '

      Document

      '; - echo $Ledger->doc; - } - - - /* Save the additional information into jrn_info */ - $obj=new Acc_Ledger_Info($cn); - $obj->save_extra($Ledger->jr_id,$_POST); - // extourne - if (isset($_POST['reverse_ck'])) - { - $p_date=HtmlInput::default_value_post('reverse_date', ''); - if (isDate($p_date)==$p_date) - { - // reverse the operation - try - { - $Ledger->reverse($p_date); - echo '

      '; - echo _('Extourné au ').$p_date; - echo '

      '; - - } - catch (Exception $e) - { - echo '

      '._('Opération non extournée'). - $e->getMessage(). - '

      '; - } - } - else - { - // warning because date is invalid - echo '

      '._('Date invalide, opération non extournée').'

      '; - } - } - - echo $Ledger->button_new_operation(); - - echo '
      '; - return; - } - } - // ------------------------------ - /* Display a blank form or a form with predef operation */ - // ------------------------------ - - $array=(isset($_POST['correct'])||isset ($correct))?$_POST:null; - $Ledger=new Acc_Ledger_Sold($cn,0); -// -// pre defined operation -// -if ( is_msie() == 0 ) - echo '
      '; -else - echo '
      '; - -if (!isset($_REQUEST ['p_jrn'])) -{ - $def_ledger=$Ledger->get_first('ven', 2); - if (empty($def_ledger)) - { - exit('Pas de journal disponible'); - } - $Ledger->id=$def_ledger['jrn_def_id']; -} -else - $Ledger->id=$_REQUEST ['p_jrn']; -if (isset($_REQUEST['p_jrn_predef'])) -{ - $Ledger->id=$_REQUEST['p_jrn_predef']; -} - -echo '
      '; -echo HtmlInput::hidden('p_jrn_predef', $Ledger->id); -$op=new Pre_op_ven($cn); -$op->set('ledger',$Ledger->id); -$op->set('ledger_type',"VEN"); -$op->set('direct','f'); -$url=http_build_query(array('p_jrn_predef'=>$Ledger->id,'ac'=>$_REQUEST['ac'],'gDossier'=>dossier::id())); -echo $op->form_get('do.php?'.$url); -echo '
      '; - -echo '
      '; -echo '

      '.$p_msg.'

      '; -try -{ - echo "
      "; - /* request for a predefined operation */ - if (isset($_REQUEST['pre_def'])&&!isset($_POST['correct'])) - { - // used a predefined operation - // - $op=new Pre_op_ven($cn); - $op->set_od_id($_REQUEST['pre_def']); - $p_post=$op->compute_array(); - $Ledger->id=$_REQUEST ['p_jrn_predef']; - - echo $Ledger->input($p_post); - echo '
      '; - echo $Ledger->input_paid(); - echo '
      '; - echo ''; - } - else if (isset($_GET['create_invoice'])) - { - $array=$Ledger->convert_from_follow($_GET ['ag_id']); - echo HtmlInput::hidden("ledger_type", "VEN"); - echo HtmlInput::hidden("ac", $_REQUEST['ac']); - echo HtmlInput::hidden("sa", "p"); - echo $Ledger->input($array); - echo '
      '; - echo $Ledger->input_paid(); - echo '
      '; - echo ''; - } - else - { - echo HtmlInput::hidden("ledger_type", "VEN"); - echo HtmlInput::hidden("ac", $_REQUEST['ac']); - echo HtmlInput::hidden("sa", "p"); - - echo $Ledger->input($array); - echo '
      '; - echo $Ledger->input_paid(); - echo '
      '; - echo ''; - } -} -catch (Exception $e) -{ - alert($e->getMessage()); - return; -} -echo '
      '; - - - echo HtmlInput::button('act',_('Actualiser'),'onClick="compute_all_ledger();"'); - echo HtmlInput::submit("view_invoice",_("Enregistrer")); - echo HtmlInput::reset(_('Effacer ')); - echo '
      '; - echo "
      "; - - /* if we suggest the pj n# the run the script */ - if ( $g_parameter->MY_PJ_SUGGEST=='Y') - { - echo ''; - } - if (!isset($_POST['e_date']) && $g_parameter->MY_DATE_SUGGEST=='Y') - { - echo create_script(" get_last_date()"); - } -echo create_script(" update_name()"); -return; -?> diff --git a/sources/include/config.inc b/sources/include/config.inc deleted file mode 100644 index 7f0b1c4..0000000 --- a/sources/include/config.inc +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/sources/include/config_file.php b/sources/include/config_file.php deleted file mode 100644 index 11a82f7..0000000 --- a/sources/include/config_file.php +++ /dev/null @@ -1,192 +0,0 @@ -size=25; - - $iclocale=new ISelect('clocale'); - $iclocale->value=array( - array("value"=>1,"label"=>"Activé"), - array("value"=>0,"label"=>"Désactivé") - ); - $iclocale->selected=1; - - $icpath=new IText("cpath",$cpath); - $icpath->size=30; - - $icuser=new IText('cuser',$cuser); - $icpasswd=new IText('cpasswd',$cpasswd); - $icport=new IText("cport",$cport); - /* - * For version MONO - */ - $smulti=new ICheckBox('multi'); - $smulti->javascript=' onchange="show_dbname(this)" '; - - $icdbname=new IText('cdbname'); - - require 'template_config_form.php'; -} -/*!\brief create the config file - */ -function config_file_create($p_array,$from_setup=1,$p_os=1) -{ - extract ($p_array); - $add=($from_setup==1)?'..'.DIRECTORY_SEPARATOR:''; - $hFile= fopen($add.'..'.DIRECTORY_SEPARATOR.'include'.DIRECTORY_SEPARATOR.'config.inc.php','w'); - fputs($hFile,''); - fclose($hFile); -} diff --git a/sources/include/constant.php b/sources/include/constant.php deleted file mode 100644 index 04253ac..0000000 --- a/sources/include/constant.php +++ /dev/null @@ -1,272 +0,0 @@ -✖"; -$g_succeed=""; -define ('SMALLX','ⵝ'); -define ('BUTTONADD',"✚"); - -/* uncomment for development */ - -// define ('SVNINFO',6800); -//define ("DEBUG",true); -//define ("LOGINPUT",true); - - - -define ('SVNINFO',6900); -if ( ! defined ('DEBUG')) { - define ("DEBUG",false); -} -if ( ! defined ('LOGINPUT')) { - define ("LOGINPUT",false); -} - -$version_noalyss=SVNINFO; - -// If you don't want to be notified of the update -if ( !defined("SITE_UPDATE")) - define ("SITE_UPDATE",'http://www.noalyss.eu/last_version.txt'); -if ( !defined("SITE_UPDATE_PLUGIN")) - define ("SITE_UPDATE_PLUGIN",'http://www.noalyss.eu/plugin_last_version.txt'); - - -define ("DBVERSION",121); -define ("MONO_DATABASE",25); -define ("DBVERSIONREPO",16); -define ('NOTFOUND','--not found--'); -define ("MAX_COMPTE",4); -define ('MAX_ARTICLE',5); -define ('MAX_ARTICLE_STOCK',20); -define ('MAX_CAT',15); -define ('MAX_CARD_SEARCH',550); -define ('MAX_FORECAST_ITEM',10); -define ('MAX_PREDEFINED_OPERATION',50); -define ('MAX_COMPTE_CARD',4); -define ('COMPTA_MAX_YEAR',2100); -define ('COMPTA_MIN_YEAR',1900); -define ('MAX_RECONCILE',25); -define ('MAX_QCODE',4); -define ('MAX_SEARCH_CARD',20); -define ('MAX_FOLDER_TO_SHOW',20); -define ('MAX_ACTION_SHOW',20); - -if ( DEBUG ) { - error_reporting(2147483647); - ini_set("display_errors",1); - ini_set("display_startup_errors",1); - ini_set("html_errors",1); - ini_set('log_errors',1); - ini_set('log_errors_max_len',0); -} -else { - // Rapporte les erreurs d'exécution de script - error_reporting(E_ERROR | E_WARNING | E_PARSE|E_NOTICE); - ini_set("display_errors",0); - ini_set("html_errors",0); - ini_set('log_errors',1); - ini_set('log_errors_max_len',0); -} -// Erreur -define ("NOERROR",0); -define ("BADPARM",1); -define ("BADDATE",2); -define ("NOTPERIODE",3); -define ("PERIODCLOSED",4); -define ("INVALID_ECH",5); -define ("RAPPT_ALREADY_USED",6); -define ("RAPPT_NOT_EXIST",7); -define ("DIFF_AMOUNT",8); -define ("RAPPT_NOMATCH_AMOUNT",9); -define ("NO_PERIOD_SELECTED",10); -define ("NO_POST_SELECTED",11); -define ("LAST",1); -define ("FIRST",0); -define ("ERROR",12); - -//!\enum ACTION defines document_type for action -define('ACTION','1,5,6,7,8'); - -//valeurs standardd -define ("YES",1); -define ("NO",0); -define ("OPEN",1); -define ("CLOSED",0); -define ("NOTCENTRALIZED",3); -define ("ALL",4); - -// Pour les ShowMenuComptaLeft -define ("MENU_FACT",1); -define ("MENU_FICHE",2); -define ("MENU_PARAM",3); - -// for the fiche_inc.GetSqlFiche function -define ("ALL_FICHE_DEF_REF", 1000); - -// fixed value for attr_def data -define ("ATTR_DEF_ACCOUNT",5); -define ("ATTR_DEF_NAME",1); -define ("ATTR_DEF_BQ_NO",3); -define ("ATTR_DEF_BQ_NAME",4); -define ("ATTR_DEF_PRIX_ACHAT",7); -define ("ATTR_DEF_PRIX_VENTE",6); -define ("ATTR_DEF_TVA",2); -define ("ATTR_DEF_NUMTVA",13); -define ("ATTR_DEF_ADRESS",14); -define ("ATTR_DEF_CP",15); -define ("ATTR_DEF_PAYS",16); -define ("ATTR_DEF_STOCK",19); -define ("ATTR_DEF_TEL",17); -define ("ATTR_DEF_EMAIL",18); -define ("ATTR_DEF_CITY",24); -define ("ATTR_DEF_COMPANY",25); -define ("ATTR_DEF_FAX",26); -define ("ATTR_DEF_NUMBER_CUSTOMER",30); -define ("ATTR_DEF_DEP_PRIV",31); -define ("ATTR_DEF_DEPENSE_NON_DEDUCTIBLE",20); -define ("ATTR_DEF_TVA_NON_DEDUCTIBLE",21); -define ("ATTR_DEF_TVA_NON_DEDUCTIBLE_RECUP",22); -define ("ATTR_DEF_QUICKCODE",23); -define ("ATTR_DEF_FIRST_NAME",32); - -define( 'ATTR_DEF_ACCOUNT_ND_TVA',50); -define('ATTR_DEF_ACCOUNT_ND_TVA_ND',51); -define ('ATTR_DEF_ACCOUNT_ND_PERSO',52); -define ('ATTR_DEF_ACCOUNT_ND',53); - -define ("FICHE_TYPE_CLIENT",9); -define ("FICHE_TYPE_VENTE",1); -define ("FICHE_TYPE_FOURNISSEUR",8); -define ("FICHE_TYPE_FIN",4); -define ("FICHE_TYPE_CONTACT",16); -define ("FICHE_TYPE_EMPL",25); -define ("FICHE_TYPE_ADM_TAX",14); -define ("FICHE_TYPE_ACH_MAR",2); -define ("FICHE_TYPE_ACH_SER",3); -define ("FICHE_TYPE_ACH_MAT",7); -define ("FICHE_TYPE_PROJET",26); -define ("FICHE_TYPE_MATERIAL",7); - -/** - * -- pour utiliser unoconv démarrer un server libreoffice - * commande - * libreoffice --headless --accept="socket,host=127.0.0.1,port=2002;urp;" --nofirststartwizard - * ou - * unoconv -l -v -s localhost - */ -define ('OFFICE','unoconv '); -define ('GENERATE_PDF','YES'); - -/** - * Pour conversion GIF en PDF - */ -$convert_gif_pdf='/usr/bin/convert'; -if (file_exists($convert_gif_pdf)) -{ - define ('CONVERT_GIF_PDF',$convert_gif_pdf); -} else { - define ('CONVERT_GIF_PDF','NOT'); - -} - -/** - * Outil pour manipuler les PDF - */ -$pdftk='/usr/bin/pdftk'; -if (file_exists($pdftk)) -{ - define ('PDFTK',$pdftk); -} -else -{ - define ('PDFTK','NOT'); -} - - -define ('JS_INFOBULLE',' -
      - '); - - -// Sql string -define ("SQL_LIST_ALL_INVOICE",""); - -define ("SQL_LIST_UNPAID_INVOICE"," (jr_rapt is null or jr_rapt = '') and jr_valid = true " - ); - - -define ("SQL_LIST_UNPAID_INVOICE_DATE_LIMIT" ," - where (jr_rapt is null or jr_rapt = '') - and to_date(to_char(jr_ech,'DD.MM.YYYY'),'DD.MM.YYYY') < to_date(to_char(now(),'DD.MM.YYYY'),'DD.MM.YYYY') - and jr_valid = true" ); -?> diff --git a/sources/include/constant.security.php b/sources/include/constant.security.php deleted file mode 100644 index 1c87b6c..0000000 --- a/sources/include/constant.security.php +++ /dev/null @@ -1,33 +0,0 @@ - diff --git a/sources/include/contact.inc.php b/sources/include/contact.inc.php deleted file mode 100644 index 832fe00..0000000 --- a/sources/include/contact.inc.php +++ /dev/null @@ -1,158 +0,0 @@ -check_action(FICADD) == 0 ) - { - alert(_('Vous ne pouvez pas enlever de fiche')); - return; - } - - $f_id = $_REQUEST['f_id']; - - $fiche = new Contact($cn, $f_id); - $fiche->remove(); - $low_action = "list"; - } -} - -//----------------------------------------------------- -// list of contact -//----------------------------------------------------- -if ($low_action == "list") -{ - ?> -
      -
      -
      - value = $cn->make_array('select fd_id, fd_label from fiche_def ' . - ' where frd_id=' . FICHE_TYPE_CONTACT . - ' order by fd_label ', 1); - $sel_card->selected = (isset($_GET['cat'])) ? $_GET['cat'] : -1; - $sel_card->javascript = ' onchange="submit(this);"'; - - echo _('Catégorie :') . $sel_card->input(); - - $sl_company=new ISelect("sel_company"); - $sl_company->value = $cn->make_array('select distinct ad_value,ad_value from fiche_detail as fd' . - ' join fiche as f1 on (f1.f_id=fd.f_id) join fiche_def as fdf on (f1.fd_id=fdf.fd_id) - where - ad_id='.ATTR_DEF_COMPANY. " and frd_id= ".FICHE_TYPE_CONTACT. - ' order by 1', 1); - $sl_company->selected = (isset($_GET['sel_company'])) ? $_GET['sel_company'] : ''; - echo _('Société :') . $sl_company->input(); - - ?> - - -
      -
      - company=$_GET['sel_company']; - } - } - - echo '
      '; - echo $client->Summary($search,"contact",$sql); - - - echo '
      '; - echo '
      '; - echo '
      '; - /* Add button */ - $f_add_button = new IButton('add_card'); - $f_add_button->label = _('Créer une nouvelle fiche'); - $f_add_button->set_attribute('win_refresh', 'yes'); - $f_add_button->set_attribute('type_cat', FICHE_TYPE_CONTACT); - $f_add_button->javascript = " select_card_type(this);"; - echo $f_add_button->input(); - - $f_cat_button=new IButton('add_cat'); - $f_cat_button->set_attribute('ipopup','ipop_cat'); - $f_cat_button->set_attribute('type_cat',FICHE_TYPE_CONTACT); - $f_cat_button->label=_('Ajout d\'une catégorie'); - $f_cat_button->javascript='add_category(this)'; - echo $f_cat_button->input(); - - echo '
      '; - echo '
      '; - - -} -/*---------------------------------------------------------------------- - * Detail for a card, Suivi, Contact, Operation,... * - * cc stands for contact card - *----------------------------------------------------------------------*/ -if ( $low_action == 'detail') -{ - /* Menu */ - require_once NOALYSS_INCLUDE.'/category_card.inc.php'; - return; -} - - html_page_stop(); -?> diff --git a/sources/include/customer.inc.php b/sources/include/customer.inc.php deleted file mode 100644 index 66beaed..0000000 --- a/sources/include/customer.inc.php +++ /dev/null @@ -1,158 +0,0 @@ -check_action(FICADD) == 0) - { - alert(j(_('Vous ne pouvez pas enlever de fiche'))); - return; - } - - $f_id = $_REQUEST['f_id']; - - $fiche = new Customer($cn, $f_id); - $fiche->remove(); - $low_action = "list"; - } -} - -//----------------------------------------------------- -// list of customer -//----------------------------------------------------- -if ($low_action == "list") -{ - ?> -
      -
      -
      - ' . "Exercice " . $g_user->get_exercice() . ''; - $a=(isset($_GET['query']))?$_GET['query']:""; - printf (_('Recherche').' ', - $a); - $choice_cat=HtmlInput::default_value_request("choice_cat", 1); - - if ( $choice_cat == 1 ) - { - $sel_card=new ISelect('cat'); - $sel_card->value=$cn->make_array('select fd_id, fd_label from fiche_def '. - ' where frd_id='.FICHE_TYPE_CLIENT. - ' order by fd_label ',1); - $sel_card->selected=(isset($_GET['cat']))?$_GET['cat']:-1; - $sel_card->javascript=' onchange="submit(this);"'; - echo _('Catégorie :').$sel_card->input(); - } else - { - $cat=HtmlInput::default_value_request('cat', ''); - echo HtmlInput::hidden("cat",$cat); - echo HtmlInput::hidden('choice_cat', 0); - } - $nooperation = new ICheckBox('noop'); - $nooperation->selected = (isset($_GET['noop'])) ? true : false; - echo Dossier::hidden(); - - echo _('Inclure les clients sans opération :') . $nooperation->input(); - ?> - - -
      -
      - '; - echo $client->Summary($search, 'customer', $sql, $noop); - - - echo '
      '; - echo '
      '; - echo '
      '; - /* Add button */ - $f_add_button = new IButton('add_card'); - $f_add_button->class="smallbutton"; - $f_add_button->label = _('Créer une nouvelle fiche'); - $f_add_button->set_attribute('ipopup', 'ipop_newcard'); - $f_add_button->set_attribute('win_refresh', 'yes'); -// $list=$cn->make_list("select fd_id from fiche_def where frd_id=$1",array(FICHE_TYPE_CLIENT)); - $f_add_button->set_attribute('type_cat', FICHE_TYPE_CLIENT); - $f_add_button->javascript = " select_card_type(this);"; - echo $f_add_button->input(); - - $f_cat_button=new IButton('add_cat'); - $f_cat_button->set_attribute('ipopup','ipop_cat'); - $f_cat_button->set_attribute('type_cat',FICHE_TYPE_CLIENT); - $f_cat_button->label=_('Ajout d\'une catégorie'); - $f_cat_button->javascript='add_category(this)'; - echo $f_cat_button->input(); - - echo '
      '; - echo '
      '; - - -} -/*---------------------------------------------------------------------- - * Detail for a card, Suivi, Contact, Operation,... * - * cc stands for customer card - *----------------------------------------------------------------------*/ -if ( $low_action == 'detail') -{ - /* Menu */ - require_once NOALYSS_INCLUDE.'/category_card.inc.php'; - return; -} - - html_page_stop(); -?> diff --git a/sources/include/dashboard.inc.php b/sources/include/dashboard.inc.php deleted file mode 100644 index f9d5f44..0000000 --- a/sources/include/dashboard.inc.php +++ /dev/null @@ -1,49 +0,0 @@ -'; -global $g_user; -/* others report */ -$cal=new Calendar(); -$cal->get_preference(); - -$obj=sprintf("{gDossier:%d,invalue:'%s',outdiv:'%s','distype':'%s'}", - dossier::id(),'per','calendar_zoom_div','cal'); -$Operation=new Follow_Up($cn); -$last_operation=$Operation->get_today(); -$late_operation=$Operation->get_late(); - -$Ledger=new Acc_Ledger($cn,0); -$last_ledger=array(); -$last_ledger=$Ledger->get_last(20); - -// Supplier late and now -$supplier_now=$Ledger->get_supplier_now(); -$supplier_late=$Ledger->get_supplier_late(); - -// Customer late and now -$customer_now=$Ledger->get_customer_now(); -$customer_late=$Ledger->get_customer_late(); - -ob_start(); -require_once NOALYSS_INCLUDE.'/template/dashboard.php'; -$ret=ob_get_contents(); -ob_end_clean(); -echo $ret; - -echo '
      '; -?> diff --git a/sources/include/database.item.php b/sources/include/database.item.php deleted file mode 100644 index ad48c39..0000000 --- a/sources/include/database.item.php +++ /dev/null @@ -1,216 +0,0 @@ -lokal - - - - - - diff --git a/sources/include/default_menu.inc.php b/sources/include/default_menu.inc.php deleted file mode 100644 index 0813c92..0000000 --- a/sources/include/default_menu.inc.php +++ /dev/null @@ -1,47 +0,0 @@ -set('code_follow',$_POST['code_follow']); - $a_default->set('code_invoice',$_POST['code_invoice']); - try - { - $a_default->save(); - echo h2("Sauvé",'class="notice"',$g_succeed); - } catch (Exception $ex) - { - echo h2("Code menu invalide",'class="notice"',$g_failed); - } -} - -echo '
      '; -echo HtmlInput::hidden('ac',$_REQUEST['ac']); -echo Dossier::hidden(); -$a_default->input_value(); -echo HtmlInput::submit('save_menu_default', _("Sauver")); -echo '
      '; -?> \ No newline at end of file diff --git a/sources/include/doc_state.inc.php b/sources/include/doc_state.inc.php deleted file mode 100644 index 4ea6eaf..0000000 --- a/sources/include/doc_state.inc.php +++ /dev/null @@ -1,72 +0,0 @@ -exec_sql('insert into document_state(s_value,s_status) values ($1,$2)',array($_POST['s_value'],'C')); - } - else - { - $cn->exec_sql('insert into document_state(s_value) values ($1)',array($_POST['s_value'])); - } - } -} -$a_stat=$cn->get_array("select s_value,s_status from document_state order by 1"); -?> - - - - - - - - - - -
      - - - -
      -

      Ajout d'un état

      -
      -

      - Nom de l'état input()?> -

      -

      - Cochez la case si cet état ferme une action input()?> - - -

      -
      \ No newline at end of file diff --git a/sources/include/document_modele.inc.php b/sources/include/document_modele.inc.php deleted file mode 100644 index 3859dc3..0000000 --- a/sources/include/document_modele.inc.php +++ /dev/null @@ -1,84 +0,0 @@ -'; -// show the form for adding a template -// -$doc=new Document_modele($cn); - -//----------------------------------------------------- -// Document add a template -//----------------------------------------------------- -if ( $sub_action=='add_document') -{ - require_once NOALYSS_INCLUDE.'/class_document_modele.php'; - $doc=new Document_modele($cn); - $doc->md_name=$_POST['md_name']; - $doc->md_id=-1; // because it is a new model - $doc->md_type=$_POST['md_type']; - $doc->start=$_POST['start_seq']; - $doc->md_affect=$_POST['md_affect']; - $doc->Save(); -} -//----------------------------------------------------- -// Document remove a template -//----------------------------------------------------- -if ( $sub_action=='rm_template') -{ - require_once NOALYSS_INCLUDE.'/class_document_modele.php'; - // Get all the document to remove - - foreach ( $_POST as $name=>$value ) - { - list ($id) = sscanf ($name,"dm_remove_%d"); - if ( $id == null ) continue; - // a document has to be removed - $doc=new Document_modele($cn); - $doc->md_id=$id; - $doc->Delete(); - } - -} -//---------------------------------------------------------------------- -// Document modify a template -//---------------------------------------------------------------------- -if ( $sub_action == 'mod_template') - { - require_once NOALYSS_INCLUDE.'/class_document_modele.php'; - $doc=new Document_modele($cn,$_POST['id']); - $doc->update($_POST); - } -//----------------------------------------------------- -// Default action : Show the list -//----------------------------------------------------- -echo $doc->myList(); -echo ''; - -?> \ No newline at end of file diff --git a/sources/include/dossier.inc.php b/sources/include/dossier.inc.php deleted file mode 100644 index f1d9bd7..0000000 --- a/sources/include/dossier.inc.php +++ /dev/null @@ -1,407 +0,0 @@ -set_parameter('name',$name); - $dos->set_parameter('desc',$desc); - $dos->save(); -} -echo '
      '; -/* - * check and add an new folder - */ -if ( isset ($_POST["DATABASE"]) ) -{ - $repo=new Database(); - $dos=HtmlInput::default_value_post('DATABASE', ""); - $dos=sql_string($dos); - if (strlen($dos)==0) - { - echo _("Le nom du dossier est vide"); - exit -1; - } - /* - * check template encoding - */ - - // Get the modeledef.mod_id - $template=HtmlInput::default_value_post("FMOD_ID",-1); - if ( $template == -1 || isNumber($template ) == 0) - die (_('Parametre invalide')); - /* - * If template is not empty - */ - if ( $template != 0 ) - { - // compute template name - $template_name=domaine.'mod'.$template; - - - $encoding=$repo->get_value("select encoding from pg_database where ". - " datname=$1",array($template_name)); - if ( $encoding != 6 ) - { - alert(_('Désolé vous devez migrer ce modèle en unicode')); - echo ''; - echo _('le modele ').domaine.'mod'.$_POST["FMOD_ID"]._(" doit être migré en unicode."); - echo _('Pour le passer en unicode, faites-en un backup puis restaurez le fichier reçu').''; - echo HtmlInput::button_anchor('Retour','admin_repo.php?action=dossier_mgt'); - return; - } - } - /* - * Insert new dossier with description - */ - $desc=HtmlInput::default_value_post("DESCRIPTION",""); - try - { - $repo->start(); - - $Res=$repo->exec_sql("insert into ac_dossier(dos_name,dos_description) - values ($1,$2)",array($dos,$desc)); - $l_id=$repo->get_current_seq('dossier_id'); - $repo->commit(); - } - catch (Exception $e) - { - $msg=_("Desole la creation de ce dossier a echoue,\n la cause la plus probable est". - ' deux fois le même nom de dossier'); - alert($msg); - $l_id=0; - $repo->rollback(); - - } - // If the id is not null, name successfully inserted - // Database created - - if ( $l_id != 0) - { - /* - * We don't create and empty database - */ - if ($template != 0 ) - { - //-- - // setting the year - //-- - $year=sql_string($_POST['YEAR']); - if ( strlen($year) != 4 || isNumber($year) == 0 || $year > 2100 || $year < 2000 || $year != round($year,0)) - { - echo "$year"._(" est une année invalide"); - $Res=$repo->exec_sql("delete from ac_dossier where dos_id=$l_id"); - } - else - { - $Sql=sprintf("CREATE DATABASE %sDOSSIER%d encoding='UTF8' TEMPLATE %sMOD%d", - domaine, - $l_id, - domaine, - sql_string($_POST["FMOD_ID"])); - ob_start(); - if ( $repo->exec_sql($Sql)==false) - { - echo "[".$Sql."]"; - - //ob_end_clean(); - $repo->exec_sql("delete from ac_dossier where dos_id=$l_id"); - echo "

      "._(" Base de donnée ").domaine."mod".$_POST['FMOD_ID']." ". - _("est accèdée, déconnectez-vous d'abord")."

      "; - exit; - } - ob_flush(); - // Connect to the new database - $cn=new Database($l_id); - //--year -- - $Res=$cn->exec_sql("delete from parm_periode"); - if ( ($year % 4 == 0 && $year % 100 != 0) || $year % 400 == 0 ) - $fev=29; - else - $fev=28; - $Res=$cn->exec_sql("delete from user_local_pref where parameter_type='PERIODE'"); - $nb_day=array(31,$fev,31,30,31,30,31,31,30,31,30,31); - $m=1; - foreach ($nb_day as $day) - { - $p_start=sprintf("01-%d-%s",$m,$year); - $p_end=sprintf("%d-%d-%s",$day,$m,$year); - $sql=sprintf("insert into parm_periode (p_start,p_end,p_exercice) - values (to_date('%s','DD-MM-YYYY'),to_date('%s','DD-MM-YYYY'),'%s')", - $p_start,$p_end,$year); - $Res=$cn->exec_sql($sql); - $m++; - } - $sql=" insert into jrn_periode(p_id,jrn_def_id,status) ". - "select p_id,jrn_def_id, 'OP'". - " from parm_periode cross join jrn_def"; - $Res=$cn->exec_sql($sql); - - Dossier::synchro_admin($l_id); - - - } - } - else { - /* - * An empty database is asked, it is created - */ - $Sql=sprintf("CREATE DATABASE %sDOSSIER%d encoding='UTF8' ", - domaine, - $l_id, - domaine - ); - ob_start(); - if ( $repo->exec_sql($Sql)==false) - { - echo "[".$Sql."]"; - - //ob_end_clean(); - $repo->exec_sql("delete from ac_dossier where dos_id=$l_id"); - echo _("Echec création "); - exit; - } - ob_flush(); - - } - } // if $l_id != 0 -} // $_POST[DATABASE] -?> -

      - -'; - echo HtmlInput::button(_('Ajouter'),_('Ajouter un dossier')," onclick=\$('folder_add_id').show()"); - echo '

      '; - $header=new Sort_Table(); - $url=$_SERVER['PHP_SELF']."?sa=list&action=".$_REQUEST['action']; - $header->add(_("id"),$url," order by dos_id asc"," order by dos_id desc","da","dd"); - $header->add(_("Nom"),$url," order by dos_name asc"," order by dos_name desc","na","nd"); - $header->add(_("Description"),$url," order by dos_description asc"," order by dos_description desc","da","dd"); - $repo=new Dossier(0); - $repocn=new Database(); - $ord=(isset($_REQUEST['ord']))?$_REQUEST['ord']:'na'; - $sql_order=$header->get_sql_order($ord); - $Res=$repocn->get_array("select * from ac_dossier $sql_order"); - - $compteur=1; - $template=""; - echo '
      '; - echo ''; - echo _('Filtre').HtmlInput::infobulle(23); - echo HtmlInput::filter_table("t_dossier", "0,1,2","1"); - echo ''; - echo ''; - $r=""; - $r.='"; - $str_name=domaine.'dossier'.$Dossier['dos_id']; - - echo ""; - - $database_exist=$repocn->exist_database($str_name); - - if ($database_exist > 0 ) - { - $size=$repocn->get_value("select pg_database_size($1)/(1024*1024)::float", - array($str_name)); - echo td(nbm($size)."MB",' style="text-align:right"'); - } else { - echo td(_("Dossier inexistant"),'style="color:red"'); - } - echo td($str_name); - if ( $database_exist > 0) - { - echo td(HtmlInput::anchor(_('Effacer'),'?action=dossier_mgt&sa=del&d='.$Dossier['dos_id']," onclick=\"folder_drop('".$Dossier['dos_id']."')\"")); - - echo td(HtmlInput::anchor(_('Modifier'),'?action=dossier_mgt&sa=mod&d=' - .$Dossier['dos_id']," onclick=\"folder_modify('".$Dossier['dos_id']."')\"")); - - echo td(HtmlInput::anchor(_('Backup'),'backup.php?action=backup&sa=b&t=d&d=' - .$Dossier['dos_id'])); - } else - { - echo td(HtmlInput::anchor(_('Effacer'),'?action=dossier_mgt&sa=del&d='.$Dossier['dos_id']," onclick=\"folder_drop('".$Dossier['dos_id']."')\"")); - } - $compteur++; - - } - echo ""; - - } - echo '
      '.$header->get_header(0).''; - $r.=''.$header->get_header(1).''; - $r.=''.$header->get_header(2).''; - $r.=th(_('Taille')).th(_('Nom base de données')); - - $r=tr($r); - echo $r; - // show all dossiers - if ( $Res != null ) - { - foreach ( $Res as $Dossier) - { - - if ( $compteur%2 == 0 ) - $cl='class="odd"'; - else - $cl='class="even"'; - - echo "
      ". - $Dossier['dos_id']." ".h($Dossier['dos_name'])." ".h($Dossier['dos_description'])."
      '; - - -} -?> - -get_value("select dos_name from ac_dossier where dos_id=$1",array($dossier_id)); - if ( strlen(trim($name)) == 0 ) - { - echo "

      $msg "._('inexistant')."

      "; - return; - } - /** - * Check if db exists - */ - $str_name=domaine.'dossier'.$dossier_id; - - $database_exist=$cn->exist_database($str_name); - - // if db exists for postgres then drop it - if ( $database_exist == 1) - { - $sql="drop database ".domaine."dossier".sql_string($_REQUEST['d']); - ob_start(); - if ( $cn->exec_sql($sql)==false) - { - ob_end_clean(); - - echo "

      "; - echo _('Base de donnée ').domaine."dossier".$_REQUEST['d']. - _("est accèdée, déconnectez-vous d'abord")."

      "; - exit; - } - ob_flush(); - } - - // clean tables about this dossier - $sql="delete from jnt_use_dos where dos_id=$1"; - $cn->exec_sql($sql,array($dossier_id)); - $sql="delete from ac_dossier where dos_id=$1"; - $cn->exec_sql($sql,array($dossier_id)); - print '

      '; - printf (_("Le dossier %s est effacé").'

      ',h($name)); - echo HtmlInput::button_anchor(_('Retour'),'?action=dossier_mgt'); -} -?> -
      diff --git a/sources/include/export_anc_acc_list_csv.php b/sources/include/export_anc_acc_list_csv.php deleted file mode 100644 index e58d0c2..0000000 --- a/sources/include/export_anc_acc_list_csv.php +++ /dev/null @@ -1,36 +0,0 @@ -get_request(); -echo $bal->export_csv(); diff --git a/sources/include/export_anc_balance_double_csv.php b/sources/include/export_anc_balance_double_csv.php deleted file mode 100644 index 635a157..0000000 --- a/sources/include/export_anc_balance_double_csv.php +++ /dev/null @@ -1,40 +0,0 @@ -get_request(); -echo $bal->display_csv(); diff --git a/sources/include/export_anc_balance_double_pdf.php b/sources/include/export_anc_balance_double_pdf.php deleted file mode 100644 index 012c68f..0000000 --- a/sources/include/export_anc_balance_double_pdf.php +++ /dev/null @@ -1,37 +0,0 @@ -get_request(); - -$balance->display_pdf(); - diff --git a/sources/include/export_anc_balance_group_csv.php b/sources/include/export_anc_balance_group_csv.php deleted file mode 100644 index fed3c00..0000000 --- a/sources/include/export_anc_balance_group_csv.php +++ /dev/null @@ -1,35 +0,0 @@ -get_request(); -$a->export_csv(); -?> \ No newline at end of file diff --git a/sources/include/export_anc_balance_simple_csv.php b/sources/include/export_anc_balance_simple_csv.php deleted file mode 100644 index d97c87c..0000000 --- a/sources/include/export_anc_balance_simple_csv.php +++ /dev/null @@ -1,36 +0,0 @@ -get_request(); -echo $bal->display_csv(); diff --git a/sources/include/export_anc_balance_simple_pdf.php b/sources/include/export_anc_balance_simple_pdf.php deleted file mode 100644 index edaa0c7..0000000 --- a/sources/include/export_anc_balance_simple_pdf.php +++ /dev/null @@ -1,35 +0,0 @@ -get_request(); -$balance->display_pdf(); -?> diff --git a/sources/include/export_anc_grandlivre_csv.php b/sources/include/export_anc_grandlivre_csv.php deleted file mode 100644 index 403f690..0000000 --- a/sources/include/export_anc_grandlivre_csv.php +++ /dev/null @@ -1,37 +0,0 @@ -get_request(); -echo $gl->display_csv(); - - - - -?> diff --git a/sources/include/export_anc_list_csv.php b/sources/include/export_anc_list_csv.php deleted file mode 100644 index 569bb0d..0000000 --- a/sources/include/export_anc_list_csv.php +++ /dev/null @@ -1,37 +0,0 @@ -get_request(); -echo $bal->display_csv(); diff --git a/sources/include/export_anc_receipt_pdf.php b/sources/include/export_anc_receipt_pdf.php deleted file mode 100644 index 7025f40..0000000 --- a/sources/include/export_anc_receipt_pdf.php +++ /dev/null @@ -1,40 +0,0 @@ -export_all($ck); diff --git a/sources/include/export_anc_table_csv.php b/sources/include/export_anc_table_csv.php deleted file mode 100644 index 9a3fd8d..0000000 --- a/sources/include/export_anc_table_csv.php +++ /dev/null @@ -1,34 +0,0 @@ -get_request(); -$atable->export_csv(); -?> \ No newline at end of file diff --git a/sources/include/export_balance_age_csv.php b/sources/include/export_balance_age_csv.php deleted file mode 100644 index cac21b3..0000000 --- a/sources/include/export_balance_age_csv.php +++ /dev/null @@ -1,88 +0,0 @@ - - -if (!defined('ALLOWED')) - die('Appel direct ne sont pas permis'); -require 'class_balance_age.php'; -header('Pragma: public'); -header('Content-type: application/csv'); -header('Content-Disposition: attachment;filename="balance_age.csv"',FALSE); -/** - * @file - * @brief Export an ageing balance - * @param p_date_start considered writing after this date - * @param p_let lettered or not value (all): let or only unlettered value:unlet - * @param p_type - * - C customer - * - F supplier - * - U only a card - * - X a category - * @param cat only if p_type = X it that case contains the category id (fiche_def.fd_id) - * @param fiche only if p_type = U in that case contains the card id (fiche.f_id) - * @param all Ony with p_type = X all the customer / supplier cards - */ -/* - * Retrieve card - */ -$bal=new Balance_Age($cn); -$p_type = HtmlInput::default_value_get('p_type', "-"); -$p_date= HtmlInput::default_value_get('p_date_start', "-"); -$p_let= HtmlInput::default_value_get('p_let', "let"); -$cat= HtmlInput::default_value_get('cat', ""); -$fiche= HtmlInput::default_value_get('fiche', "0"); -$all= HtmlInput::default_value_get('all', "0"); -switch ($p_type) -{ - case 'C': - $bal->get_array_card('C'); - $bal->export_csv($p_date, $p_let); - break; - case 'F': - $bal->get_array_card('F'); - $bal->export_csv($p_date, $p_let); - break; - case 'U': - $bal->get_array_card('U', $fiche); - $bal->export_csv($p_date, $p_let); - break; - case 'X': - $all=HtmlInput::default_value_get('all', 0); - if ($all==0) - { - $bal->get_array_card('X', $_GET['cat']); - $bal->export_csv($p_date, $p_let); - } - else - { - $a_cat=$cn->get_array("select fd_id from vw_fiche_def where ad_id=".ATTR_DEF_ACCOUNT." order by fd_label asc"); - $nb_cat=count($a_cat); - for ($i=0; $i<$nb_cat; $i++) - { - $bal->get_array_card('X', $a_cat[$i]['fd_id']); - $bal->export_csv($p_date, $p_let); - } - } - break; - - default: - break; -} -?> diff --git a/sources/include/export_balance_csv.php b/sources/include/export_balance_csv.php deleted file mode 100644 index cb3303d..0000000 --- a/sources/include/export_balance_csv.php +++ /dev/null @@ -1,103 +0,0 @@ -jrn=null; -switch( $_GET['p_filter']) -{ -case 0: - $bal->jrn=null; - break; -case 1: - if ( isset($_GET['r_jrn'])) - { - $selected=$_GET['r_jrn']; - $array_ledger=$g_user->get_ledger('ALL',3); - $array=get_array_column($array_ledger,'jrn_def_id'); - for ($e=0;$ejrn[]=$selected[$e]; - } - } - break; -case 2: - if ( isset($_GET['r_cat'])) $bal->filter_cat($_GET['r_cat']); - break; -} - -$bal->from_poste=$_GET['from_poste']; -$bal->to_poste=$_GET['to_poste']; -if (isset($_GET['unsold'])) $bal->unsold=true; -$prev = (isset($_GET['previous_exc'])) ? 1: 0; - -$row=$bal->get_row($_GET['from_periode'], - $_GET['to_periode'], - $prev); -$prev = ( isset ($row[0]['sum_cred_previous'])) ?1:0; -echo 'poste;libelle;'; -if ($prev == 1 ) echo 'deb n-1;cred n-1;solde n-1;d/c;'; -echo 'deb;cred;solde;d/c'; -printf("\n"); -foreach ($row as $r) -{ - echo $r['poste'].';'. - $r['label'].';'; - if ( $prev == 1 ) - { - $delta=bcsub($r['solde_deb_previous'],$r['solde_cred_previous']); - $sign=($delta<0)?'C':'D'; - $sign=($delta == 0)?'=':$sign; - echo nb($r['sum_deb_previous']).';'. - nb($r['sum_cred_previous']).';'. - nb(abs($delta)).';'. - "$sign".';'; - - } - $delta=bcsub($r['solde_deb'],$r['solde_cred']); - $sign=($delta<0)?'C':'D'; - $sign=($delta == 0)?'=':$sign; - echo nb($r['sum_deb']).';'. - nb($r['sum_cred']).';'. - nb(abs($delta)).';'. - "$sign"; - printf("\n"); -} - - -?> diff --git a/sources/include/export_balance_pdf.php b/sources/include/export_balance_pdf.php deleted file mode 100644 index 1620aa0..0000000 --- a/sources/include/export_balance_pdf.php +++ /dev/null @@ -1,284 +0,0 @@ -Check(); - -$bal=new Acc_Balance($cn); - -extract ($_GET); -$bal->jrn=null; -switch( $_GET['p_filter']) -{ -case 0: - $bal->jrn=null; - break; -case 1: - if ( isset($_GET['r_jrn'])) - { - $selected=$_GET['r_jrn']; - $array_ledger=$g_user->get_ledger('ALL',3); - $array=get_array_column($array_ledger,'jrn_def_id'); - for ($e=0;$ejrn[]=$selected[$e]; - } - } - break; -case 2: - if ( isset($_GET['r_cat'])) $bal->filter_cat($_GET['r_cat']); - break; -} - -$bal->from_poste=$_GET['from_poste']; -$bal->to_poste=$_GET['to_poste']; -if (isset($_GET['unsold'])) $bal->unsold=true; -$previous=(isset($_GET['previous_exc']))?1:0; - -$array=$bal->get_row($from_periode,$to_periode,$previous); - -$previous= (isset ($array[0]['sum_cred_previous']))?1:0; - - -if ( sizeof($array) == 0 ) -{ - exit(); - -} - -$pPeriode=new Periode($cn); -$a=$pPeriode->get_date_limit($from_periode); -$b=$pPeriode->get_date_limit($to_periode); -$per_text=" du ".$a['p_start']." au ".$b['p_end']; -if ($previous == 1 ) { - $pdf=new PDFLand($cn); -} else { - $pdf= new PDF($cn); -} -$pdf->setDossierInfo(" Balance ".$per_text); -$pdf->AliasNbPages(); -$pdf->AddPage(); -$pdf->SetAuthor('NOALYSS'); -$pdf->SetFont('DejaVuCond','',7); -$pdf->setTitle("Balance comptable",true); -$pdf->Cell(30,6,'poste'); -$pdf->LongLine(60,6,'Libellé'); -if ($previous == 1 ){ - $pdf->Cell(20,6,'Débit N-1',0,0,'R'); - $pdf->Cell(20,6,'Crédit N-1',0,0,'R'); - $pdf->Cell(20,6,'Débiteur N-1',0,0,'R'); - $pdf->Cell(20,6,'Créditeur N-1',0,0,'R'); -} -$pdf->Cell(25,6,'Total Débit',0,0,'R'); -$pdf->Cell(25,6,'Total Crédit',0,0,'R'); -$pdf->Cell(25,6,'Solde Débiteur',0,0,'R'); -$pdf->Cell(25,6,'Solde Créditeur',0,0,'R'); -$pdf->Ln(); - -$pdf->SetFont('DejaVuCond','',8); -$tp_deb=0; -$tp_cred=0; -$tp_sold=0; -$tp_solc=0; -$tp_deb_previous=0; -$tp_cred_previous=0; -$tp_sold_previous=0; -$tp_solc_previous=0; -if ( $previous == 1) { - $a_sum=array('sum_cred','sum_deb','solde_deb','solde_cred','sum_cred_previous','sum_deb_previous','solde_deb_previous','solde_cred_previous'); -} -else { - $a_sum=array('sum_cred','sum_deb','solde_deb','solde_cred') ; -} -foreach($a_sum as $a) - { - $nlvl1[$a]=0; - $nlvl2[$a]=0; - $nlvl3[$a]=0; - } -$lvl1_old=''; -$lvl2_old=''; -$lvl3_old=''; - -bcscale(2); -if (! empty($array)) - { - $i=0; - foreach ($array as $key=>$value) - { - $i++; - /* - * level x - */ - if ( $value['poste']=='') continue; - foreach (array(3,2,1) as $ind) - { - $r=$value; - if ( ! isset($_GET['lvl'.$ind]))continue; - - if (${'lvl'.$ind.'_old'} == '') ${'lvl'.$ind.'_old'}=substr($r['poste'],0,$ind); - if ( ${'lvl'.$ind.'_old'} != substr($r['poste'],0,$ind)) - { - $pdf->SetFont('DejaVu','B',7); - $pdf->LongLine(30,6,${'lvl'.$ind.'_old'}); - $delta=bcsub(${'nlvl'.$ind}['solde_cred'],${'nlvl'.$ind}['solde_deb']); - $side=($delta< 0) ? "D":"C"; - if ($previous == 1 ) { - $delta_previous=bcsub(${'nlvl'.$ind}['solde_cred_previous'],${'nlvl'.$ind}['solde_deb_previous']); - $side_previous=($delta_previous < 0) ? "D":"C"; - $pdf->Cell(30,6,"n-1 : " .nbm($delta_previous)." $side_previous",0,0,'R'); - $pdf->Cell(30,6," n : ".nbm($delta)." $side",0,0,'R'); - $pdf->Cell(22,6,nbm(${'nlvl'.$ind}['sum_deb_previous']),0,0,'R'); - $pdf->Cell(22,6,nbm(${'nlvl'.$ind}['sum_cred_previous']),0,0,'R'); - $pdf->Cell(22,6,nbm(${'nlvl'.$ind}['solde_deb_previous']),0,0,'R'); - $pdf->Cell(22,6,nbm(${'nlvl'.$ind}['solde_cred_previous']),0,0,'R'); - } else { - $pdf->Cell(60,6,nbm($delta)." $side",0,0,'R'); - } - $pdf->Cell(25,6,nbm(${'nlvl'.$ind}['sum_deb']),0,0,'R'); - $pdf->Cell(25,6,nbm(${'nlvl'.$ind}['sum_cred']),0,0,'R'); - $pdf->Cell(25,6,nbm(${'nlvl'.$ind}['solde_deb']),0,0,'R'); - $pdf->Cell(25,6,nbm(${'nlvl'.$ind}['solde_cred']),0,0,'R'); - $pdf->Ln(); - $pdf->SetFont('DejaVuCond','',7); - ${'lvl'.$ind.'_old'}=substr($r['poste'],0,$ind); - foreach($a_sum as $a) - { - ${'nlvl'.$ind}[$a]=0; - } - } - } - foreach($a_sum as $a) - { - $nlvl1[$a]=bcadd($nlvl1[$a],$r[$a]); - $nlvl2[$a]=bcadd($nlvl2[$a],$r[$a]); - $nlvl3[$a]=bcadd($nlvl3[$a],$r[$a]); - } - - if ( $i % 2 == 0 ) - { - $pdf->SetFillColor(220,221,255); - $fill=1; - } - else - { - $pdf->SetFillColor(0,0,0); - $fill=0; - } - - $pdf->LongLine(30,6,$value['poste'],0,'L',$fill); - $pdf->LongLine(60,6,$value['label'],0,'L',$fill); - if ($previous == 1 ) { - $pdf->Cell(22,6,nbm($value['sum_deb_previous']),0,0,'R',$fill); - $pdf->Cell(22,6,nbm($value['sum_cred_previous']),0,0,'R',$fill); - $pdf->Cell(22,6,nbm($value['solde_deb_previous']),0,0,'R',$fill); - $pdf->Cell(22,6,nbm($value['solde_cred_previous']),0,0,'R',$fill); - $tp_deb_previous=bcadd($tp_deb_previous,$value['sum_deb_previous']); - $tp_cred_previous=bcadd($tp_cred_previous,$value['sum_cred_previous']); - $tp_sold_previous=bcadd($tp_sold_previous,$value['solde_deb_previous']); - $tp_solc_previous=bcadd($tp_solc_previous,$value['solde_cred_previous']); - } - $pdf->Cell(25,6,nbm($value['sum_deb']),0,0,'R',$fill); - $pdf->Cell(25,6,nbm($value['sum_cred']),0,0,'R',$fill); - $pdf->Cell(25,6,nbm($value['solde_deb']),0,0,'R',$fill); - $pdf->Cell(25,6,nbm($value['solde_cred']),0,0,'R',$fill); - $pdf->Ln(); - $tp_deb=bcadd($tp_deb,$value['sum_deb']); - $tp_cred=bcadd($tp_cred,$value['sum_cred']); - $tp_sold=bcadd($tp_sold,$value['solde_deb']); - $tp_solc=bcadd($tp_solc,$value['solde_cred']); - - } - foreach (array(3,2,1) as $ind) - { - $r=$value; - if ( ! isset($_GET['lvl'.$ind]))continue; - - if (${'lvl'.$ind.'_old'} == '') ${'lvl'.$ind.'_old'}=substr($r['poste'],0,$ind); - if ( ${'lvl'.$ind.'_old'} != substr($r['poste'],0,$ind)) - { - $pdf->SetFont('DejaVu','B',7); - $pdf->Cell(30,6,"Totaux ".$ind); - $pdf->Cell(60,6,${'lvl'.$ind.'_old'}); - if ($previous == 1 ) { - $pdf->Cell(22,6,nbm(${'nlvl'.$ind}['sum_deb_previous']),0,0,'R'); - $pdf->Cell(22,6,nbm(${'nlvl'.$ind}['sum_cred_previous']),0,0,'R'); - $pdf->Cell(22,6,nbm(${'nlvl'.$ind}['solde_deb_previous']),0,0,'R'); - $pdf->Cell(22,6,nbm(${'nlvl'.$ind}['solde_cred_previous']),0,0,'R'); - } - $pdf->Cell(25,6,nbm(${'nlvl'.$ind}['sum_deb']),0,0,'R'); - $pdf->Cell(25,6,nbm(${'nlvl'.$ind}['sum_cred']),0,0,'R'); - $pdf->Cell(25,6,nbm(${'nlvl'.$ind}['solde_deb']),0,0,'R'); - $pdf->Cell(25,6,nbm(${'nlvl'.$ind}['solde_cred']),0,0,'R'); - $pdf->Ln(); - $pdf->SetFont('DejaVuCond','',7); - ${'lvl'.$ind.'_old'}=substr($r['poste'],0,$ind); - foreach($a_sum as $a) - { - ${'nlvl'.$ind}[$a]=0; - } - } - } - - // Totaux - $pdf->SetFont('DejaVuCond','B',8); - $pdf->Cell(90,6,'Totaux'); - if ($previous == 1 ) { - $pdf->Cell(22,6,nbm($tp_deb_previous),'T',0,'R',0); - $pdf->Cell(22,6,nbm($tp_cred_previous),'T',0,'R',0); - $pdf->Cell(22,6,nbm($tp_sold_previous),'T',0,'R',0); - $pdf->Cell(22,6,nbm($tp_solc_previous),'T',0,'R',0); - } - $pdf->Cell(25,6,nbm($tp_deb),'T',0,'R',0); - $pdf->Cell(25,6,nbm($tp_cred),'T',0,'R',0); - $pdf->Cell(25,6,nbm($tp_sold),'T',0,'R',0); - $pdf->Cell(25,6,nbm($tp_solc),'T',0,'R',0); - $pdf->Ln(); - } /** empty */ - -$fDate=date('dmy-Hi'); -$pdf->Output('balance-'.$fDate.'.pdf','D'); - - - -?> diff --git a/sources/include/export_bilan_oth.php b/sources/include/export_bilan_oth.php deleted file mode 100644 index a4c2ebe..0000000 --- a/sources/include/export_bilan_oth.php +++ /dev/null @@ -1,61 +0,0 @@ -get_request_get(); -$bilan->load(); - -if ( $bilan->b_type=='odt') -{ - header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); - header("Cache-Control: must-revalidate"); - header('Content-type: application/vnd.oasis.opendocument.text'); - header('Content-Disposition: attachment;filename="'.$bilan->b_name.'.odt"',FALSE); - header("Accept-Ranges: bytes"); - -} -if ( $bilan->b_type=='ods') -{ - header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); - header("Cache-Control: must-revalidate"); - header('Content-type: application/vnd.oasis.opendocument.spreadsheet'); - header('Content-Disposition: attachment;filename="'.$bilan->b_name.'.ods"',FALSE); - header("Accept-Ranges: bytes"); - -} - -$bilan->generate(); -?> diff --git a/sources/include/export_fiche_balance_csv.php b/sources/include/export_fiche_balance_csv.php deleted file mode 100644 index 4588678..0000000 --- a/sources/include/export_fiche_balance_csv.php +++ /dev/null @@ -1,200 +0,0 @@ -category, export in CVS the history of a category - * of card - */ -if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis'); -header('Pragma: public'); -header('Content-type: application/csv'); -header('Content-Disposition: attachment;filename="bal-fiche.csv"',FALSE); - -// Security we check if user does exist and his privilege -require_once NOALYSS_INCLUDE.'/class_user.php'; -require_once NOALYSS_INCLUDE.'/class_database.php'; -require_once NOALYSS_INCLUDE.'/class_dossier.php'; -require_once NOALYSS_INCLUDE.'/ac_common.php'; -$allcard=(isset($_GET['allcard']))?1:0; - -/* balance */ -if ( $_GET['histo'] == 4 || $_GET['histo'] == 5) -{ - $fd=new Fiche_Def($cn,$_REQUEST['cat']); - if ( $allcard==1 && $fd->hasAttribute(ATTR_DEF_ACCOUNT) == false ) - { - exit; - } - // all card - if ($allcard==1) - { - $afiche=$cn->get_array("select fd_id from vw_fiche_def where ad_id=".ATTR_DEF_ACCOUNT." order by fd_label asc"); - } - else - { - $afiche[0]=array('fd_id'=>$_REQUEST['cat']); - } - printf('"Quick code";"Nom";"poste comptable";"debit";"credit";"solde";"D/C";'); - printf("\n"); - for ($e = 0; $e < count($afiche); $e++) - { - $aCard = $cn->get_array("select f_id,ad_value from fiche join fiche_Detail using (f_id) where ad_id=1 and fd_id=$1 order by 2 ", array($afiche[$e]['fd_id'])); - - if (empty($aCard)) - { - continue; - } - - for ($i = 0; $i < count($aCard); $i++) - { - if (isDate($_REQUEST['start']) == null || isDate($_REQUEST['end']) == null) - exit; - $filter = " (j_date >= to_date('" . $_REQUEST['start'] . "','DD.MM.YYYY') " . - " and j_date <= to_date('" . $_REQUEST['end'] . "','DD.MM.YYYY')) "; - $oCard = new Fiche($cn, $aCard[$i]['f_id']); - $solde = $oCard->get_solde_detail($filter); - if ($solde['debit'] == 0 && $solde['credit'] == 0) - continue; - /* only not purged card */ - if ($_GET['histo'] == 5 && $solde['solde'] == 0) - continue; - $side = ''; - if (bcsub($solde['credit'], $solde['debit']) < 0) - $side = 'Deb.'; - if (bcsub($solde['credit'], $solde['debit']) > 0) - $side = 'Cred.'; - - printf('"%s";"%s";"%s";%s;%s;%s;"%s"', $oCard->strAttribut(ATTR_DEF_QUICKCODE), $oCard->strAttribut(ATTR_DEF_NAME), $oCard->strAttribut(ATTR_DEF_ACCOUNT),nb($solde['debit']), nb($solde['credit']), nb(abs($solde['solde'])), $side); - printf("\n"); - } - } -} -else -{ - // all card - if ($allcard == 1) - { - $afiche = $cn->get_array("select fd_id from vw_fiche_def where ad_id=" . ATTR_DEF_ACCOUNT . " order by fd_label asc"); - } - else - { - $afiche[0] = array('fd_id' => $_REQUEST['cat']); - } - $fic=new Fiche($cn); - for ($e = 0; $e < count($afiche); $e++) - { - $array = Fiche::get_fiche_def($cn, $afiche[$e]['fd_id'], 'name_asc'); - - foreach ($array as $card) - { - $row = new Fiche($cn, $card['f_id']); - $letter = new Lettering_Card($cn); - $letter->set_parameter('quick_code', $row->strAttribut(ATTR_DEF_QUICKCODE)); - $letter->set_parameter('start', $_GET['start']); - $letter->set_parameter('end', $_GET['end']); - // all - if ($_GET['histo'] == 0) - { - $letter->get_all(); - } - - // lettered - if ($_GET['histo'] == 1) - { - $letter->get_letter(); - } - // unlettered - if ($_GET['histo'] == 2) - { - $letter->get_unletter(); - } - if ($_GET['histo'] == 6) - { - $letter->get_letter_diff(); - } - /* skip if nothing to display */ - if (count($letter->content) == 0) - continue; - printf('"%s";"%s";"%s"'."\n",$row->strAttribut(ATTR_DEF_QUICKCODE), $row->strAttribut(ATTR_DEF_NAME),$row->strAttribut(ATTR_DEF_ACCOUNT)); - - printf('"%s";"%s";"%s";"%s";"%s";"%s";"%s";"%s";"%s"', - _('Date'), - _('ref'), - _('Interne'), - _('Comm'), - _('Débit'), - _('Crébit'), - _('Prog.'), - _('D/C'), - _('Let.'), - _("Diff Let.")); - printf("\n"); - $amount_deb = 0; - $amount_cred = 0; - $prog = 0; - bcscale(2); - for ($i = 0; $i < count($letter->content); $i++) - { - $row = $letter->content[$i]; - printf ('"%s";',$row['j_date_fmt']); - printf ('"%s";',$row['jr_pj_number']); - printf ('"%s";',$row['jr_internal']); - printf ('"%s";',$row['jr_comment']); - if ($row['j_debit'] == 't') - { - printf("%s;",nb($row['j_montant'])); - $amount_deb=bcadd($amount_deb,$row['j_montant']); - $prog = bcadd($prog, $row['j_montant']); - printf (";"); - } - else - { - printf(";"); - printf("%s;",nb($row['j_montant'])); - $amount_cred=bcadd($amount_cred,$row['j_montant']); - $prog = bcsub($prog, $row['j_montant']); - } - printf ("%s;\"%s\";",abs(nb($prog)),$fic->get_amount_side($prog)); - if ($row['letter'] != -1) - { - printf('"%s";', strtoupper(base_convert($row['letter'],10,36))); - printf("%s",nb($row['letter_diff'])); - } - else - printf(";"); - printf("\n"); - } - if ($prog < 0 ) - $msg="Solde Debit"; - elseif ($prog>0) - $msg="Solde Credit"; - else - $msg="soldé"; - - printf(';;;"%s";%s;%s;%s;"%s"', - $msg,nb($amount_deb),nb($amount_cred),nb(abs($prog)),$fic->get_amount_side($prog)); - printf("\n"); - } - } -} -exit; - - diff --git a/sources/include/export_fiche_balance_pdf.php b/sources/include/export_fiche_balance_pdf.php deleted file mode 100644 index c60f58a..0000000 --- a/sources/include/export_fiche_balance_pdf.php +++ /dev/null @@ -1,317 +0,0 @@ -category, export in PDF the history of a category or balance - * of card - */ -if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis'); -// Security we check if user does exist and his privilege -require_once NOALYSS_INCLUDE.'/class_user.php'; -require_once NOALYSS_INCLUDE.'/class_database.php'; -require_once NOALYSS_INCLUDE.'/class_pdf.php'; -require_once NOALYSS_INCLUDE.'/class_lettering.php'; -require_once NOALYSS_INCLUDE.'/class_dossier.php'; -require_once NOALYSS_INCLUDE.'/ac_common.php'; - -/* Security */ -$gDossier=dossier::id(); -$cn=new Database($gDossier); -$g_user->Check(); -$g_user->check_dossier($gDossier); -$name=$cn->get_value('select fd_label from fiche_def where fd_id=$1',array($_GET['cat'])); - -$pdf=new PDF($cn); -$pdf->setDossierInfo(" Periode : ".$_GET['start']." - ".$_GET['end']); -$pdf->AliasNbPages(); -$pdf->AddPage(); - -$pdf->SetTitle($name,1); -$pdf->SetAuthor('NOALYSS'); -/* balance */ -$allcard=(isset($_GET['allcard']))?1:0; -/* - * Balance - */ -if ( $_GET['histo'] == 4 || $_GET['histo']==5) -{ - $fd=new Fiche_Def($cn,$_REQUEST['cat']); - if ($allcard==1 && $fd->hasAttribute(ATTR_DEF_ACCOUNT) == false ) - { - $pdf->Cell(0,10, "Cette catégorie n'ayant pas de poste comptable n'a pas de balance"); - //Save PDF to file - $fDate=date('dmy-Hi'); - $pdf->Output("category-$fDate.pdf", 'D'); - exit; - } - // all card - if ($allcard==1) - { - $afiche=$cn->get_array("select fd_id from vw_fiche_def where ad_id=".ATTR_DEF_ACCOUNT." order by fd_label asc"); - } - else - { - $afiche[0]=array('fd_id'=>$_REQUEST['cat']); - } - - if ( $allcard==0 && empty($afiche)) - { - $pdf->Cell(0,10, "Aucune fiche trouvée");//Save PDF to file - $fDate=date('dmy-Hi'); - $pdf->Output("category-$fDate.pdf", 'D'); - exit; - } - for ($e = 0; $e < count($afiche); $e++) - { - $aCard=$cn->get_array("select f_id,ad_value from fiche join fiche_Detail using (f_id) where ad_id=1 and fd_id=$1 order by 2 ",array($afiche[$e]['fd_id'])); - $name=$cn->get_value('select fd_label from fiche_def where fd_id=$1',array($afiche[$e]['fd_id'])); - $pdf->SetFont('DejaVu','BI',14); - $pdf->Cell(0,8,$name,0,1,'C'); - - $pdf->SetFont('DejaVuCond','',7); - $pdf->LongLine(30,7,'Quick Code',0,'L',0); - $pdf->LongLine(80,7,'Libellé',0,'L',0); - $pdf->Cell(20,7,'Débit',0,0,'R',0); - $pdf->Cell(20,7,'Crédit',0,0,'R',0); - $pdf->Cell(20,7,'Solde',0,0,'R',0); - $pdf->Cell(20,7,'D/C',0,0,'C',0); - $pdf->Ln(); - - if (empty($aCard)) continue; - - - $idx=0;$sum_deb=0;$sum_cred=0;bcscale(4); - for ($i=0;$i < count($aCard);$i++) - { - if ( isDate($_REQUEST['start']) == null || isDate ($_REQUEST['end']) == null ) exit; - $filter= " (j_date >= to_date('".$_REQUEST['start']."','DD.MM.YYYY') ". - " and j_date <= to_date('".$_REQUEST['end']."','DD.MM.YYYY')) "; - $oCard=new Fiche($cn,$aCard[$i]['f_id']); - $solde=$oCard->get_solde_detail($filter); - if ( $solde['debit'] == 0 && $solde['credit']==0) continue; - /* only not purged card */ - if ($_GET['histo'] == 5 && $solde['debit'] == $solde['credit']) continue; - - if ( $idx % 2 == 0 ) - { - $pdf->SetFillColor(220,221,255); - $fill=1; - } - else - { - $pdf->SetFillColor(0,0,0); - $fill=0; - } - $idx++; - $side=''; - if(bcsub($solde['credit'],$solde['debit']) < 0) $side='Deb.'; - if(bcsub($solde['credit'],$solde['debit']) > 0) $side='Cred.'; - - $sum_cred=bcadd($sum_cred,$solde['credit']); - $sum_deb=bcadd($sum_deb,$solde['debit']); - $sum_solde=bcsub($sum_deb,$sum_cred); - - $pdf->Cell(30,7,$oCard->strAttribut(ATTR_DEF_QUICKCODE),0,0,'L',$fill); - $pdf->LongLine(80,7,$oCard->strAttribut(ATTR_DEF_NAME)." (".$oCard->strAttribut(ATTR_DEF_ACCOUNT).")",0,'L',$fill); - $pdf->Cell(20,7,nbm($solde['debit']),0,0,'R',$fill); - $pdf->Cell(20,7,nbm($solde['credit']),0,0,'R',$fill); - $pdf->Cell(20,7,nbm(abs($solde['solde'])),0,0,'R',$fill); - $pdf->Cell(20,7,$side,0,0,'C',$fill); - $pdf->Ln(); - } - if ( $idx % 2 == 0 ) - { - $pdf->SetFillColor(220,221,255); - $fill=1; - } - else - { - $pdf->SetFillColor(0,0,0); - $fill=0; - } - $idx++; - // Sum by category - $pdf->Cell(30,7,"",0,0,'L',$fill); - $pdf->Cell(80,7,_("Totaux"),0,0,'L',$fill); - $pdf->Cell(20,7,nbm($sum_deb),0,0,'R',$fill); - $pdf->Cell(20,7,nbm($sum_cred),0,0,'R',$fill); - $pdf->Cell(20,7,nbm(abs($sum_solde)),0,0,'R',$fill); - $side=" = "; - if ( $sum_solde > 0 ) - { - $side='Deb.'; - } - else if ( $sum_solde < 0) - { - $side='Cred.'; - } - - $pdf->Cell(20,7,$side,0,0,'C',$fill); - $pdf->Ln(); - } -} -else -{ - // History - // all card - if ($allcard == 1) - { - $afiche = $cn->get_array("select fd_id from vw_fiche_def where ad_id=" . ATTR_DEF_ACCOUNT . " order by fd_label asc"); - } - else - { - $afiche[0] = array('fd_id' => $_REQUEST['cat']); - } - $fic=new Fiche($cn); - for ($e = 0; $e < count($afiche); $e++) - { - $array = Fiche::get_fiche_def($cn,$afiche[$e]['fd_id'] , 'name_asc'); - /* - * You show now the result - */ - if ($array == null) - { - continue; - } - $tab = array(12, 20, 20,68, 20, 20, 10, 20); - $align = array('L', 'C', 'L', 'L', 'R','R', 'R', 'R'); - - foreach ($array as $row_fiche) - { - $fic = new Fiche($cn, $row_fiche['f_id']); - $letter = new Lettering_Card($cn); - $letter->set_parameter('quick_code', $fic->strAttribut(ATTR_DEF_QUICKCODE)); - $letter->set_parameter('start', $_GET['start']); - $letter->set_parameter('end', $_GET['end']); - // all - if ($_GET['histo'] == 0) - { - $letter->get_all(); - } - - // lettered - if ($_GET['histo'] == 1) - { - $letter->get_letter(); - } - // unlettered - if ($_GET['histo'] == 2) - { - $letter->get_unletter(); - } - if ($_GET['histo'] == 6) - { - $letter->get_letter_diff(); - } - /* skip if nothing to display */ - if (count($letter->content) == 0) - continue; - $pdf->SetFont('DejaVuCond', '', 10); - $fiche = new Fiche($cn, $row_fiche['f_id']); - $pdf->Cell(0, 7, $fiche->strAttribut(ATTR_DEF_NAME)." [".$fiche->strAttribut(ATTR_DEF_QUICKCODE).":".$fiche->strAttribut(ATTR_DEF_ACCOUNT)."]", 1, 'C'); - - $pdf->SetFont('DejaVuCond', '', 7); - $pdf->Ln(); - $pdf->Cell($tab[0], 7, 'Date'); - $pdf->Cell($tab[1], 7, 'ref'); - $pdf->Cell($tab[2], 7, 'Internal'); - $pdf->Cell($tab[3], 7, 'Comm'); - $pdf->Cell($tab[4], 7, 'Montant', 0, 0, 'C'); - $pdf->Cell($tab[5], 7, 'Prog.', 0, 0, 'R'); - $pdf->Cell($tab[6], 7, 'Let.', 0, 0, 'R'); - $pdf->Cell($tab[7], 7, 'Diff. Let.', 0, 0, 'R'); - $pdf->ln(); - - $amount_deb = 0; - $amount_cred = 0; - $prog=0; - for ($i = 0; $i < count($letter->content); $i++) - { - if ($i % 2 == 0) - { - $pdf->SetFillColor(220, 221, 255); - $fill = 1; - } - else - { - $pdf->SetFillColor(0, 0, 0); - $fill = 0; - } - $pdf->SetFont('DejaVuCond', '', 7); - $row = $letter->content[$i]; - $str_date = shrink_date($row['j_date_fmt']); - - $pdf->LongLine($tab[0], 4, $str_date, 0, $align[0], $fill); - $pdf->Cell($tab[1], 4, $row['jr_pj_number'], 0, 0, $align[1], $fill); - $pdf->LongLine($tab[2], 4, $row['jr_internal'], 0, $align[1], $fill); - $pdf->LongLine($tab[3], 4, $row['jr_comment'], 0, $align[2], $fill); - if ($row['j_debit'] == 't') - { - $prog=bcadd($prog,$row['j_montant']); - $pdf->Cell($tab[4], 4, sprintf('%s D', nbm($row['j_montant'])), 0, 0, $align[4], $fill); - $amount_deb+=$row['j_montant']; - $str_prog=sprintf("%s %s",nbm(abs($prog)),$fic->get_amount_side($prog)); - $pdf->Cell($tab[5], 4, $str_prog, 0, 0, $align[5], $fill); - } - else - { - $prog=bcsub($prog,$row['j_montant']); - $pdf->Cell($tab[4], 4, sprintf('%s C', nbm($row['j_montant'])), 0, 0, $align[4], $fill); - $amount_cred+=$row['j_montant']; - $str_prog=sprintf("%s %s",nbm(abs($prog)),$fic->get_amount_side($prog)); - $pdf->Cell($tab[5], 4, $str_prog, 0, 0, $align[5], $fill); - } - if ($row['letter'] != -1) - { - $pdf->Cell($tab[6], 4, strtoupper(base_convert($row['letter'],10,36)), 0, 0, $align[6], $fill); - // get sum for this lettering - - $pdf->Cell($tab[7], 4, sprintf('%s', nbm($row['letter_diff'])), '0', '0', $align[7], $fill); - } - else - $pdf->Cell($tab[6], 4, "", 0, 0, 'R', $fill); - $pdf->Ln(); - } - $pdf->SetFillColor(0, 0, 0); - $pdf->SetFont('DejaVuCond', 'B', 8); - $debit = sprintf('Debit : %s', nbm($amount_deb)); - $credit = sprintf('Credit : %s', nbm($amount_cred)); - if ($amount_deb > $amount_cred) - $s = 'solde débiteur'; - else - $s = 'solde crediteur'; - $solde = sprintf('%s : %s', $s, nbm(abs(round($amount_cred - $amount_deb, 2)))); - - $pdf->Cell(0, 6, $debit, 0, 0, 'R'); - $pdf->ln(4); - $pdf->Cell(0, 6, $credit, 0, 0, 'R'); - $pdf->ln(4); - $pdf->Cell(0, 6, $solde, 0, 0, 'R'); - $pdf->ln(4); - - $pdf->Ln(); - } - } -} -//Save PDF to file -$fDate=date('dmy-Hi'); -$pdf->Output("category-$fDate.pdf", 'D'); -exit; diff --git a/sources/include/export_fiche_csv.php b/sources/include/export_fiche_csv.php deleted file mode 100644 index aff85a6..0000000 --- a/sources/include/export_fiche_csv.php +++ /dev/null @@ -1,89 +0,0 @@ -get_by_type(); - $o=0; - // Heading - $fiche_def->GetAttribut(); - foreach ($fiche_def->attribut as $attribut) - { - if ( $o == 0 ) - { - printf("%s",$attribut->ad_text); - $o=1; - } - else - { - printf(";%s",$attribut->ad_text); - } - } - printf("\n"); - $o=0; - // Details - - foreach ($e as $fiche) - { - $detail=new Fiche($cn,$fiche['f_id']); - - $detail->getAttribut(); - - foreach ( $detail->attribut as $dattribut ) - { - if ( $o == 0 ) - { - printf("%s",$dattribut->av_text); - $o=1; - } - else - { - printf (";%s",$dattribut->av_text); - - } - } - printf("\n"); - $o=0; - } - - -} -exit; -?> diff --git a/sources/include/export_fiche_detail_csv.php b/sources/include/export_fiche_detail_csv.php deleted file mode 100644 index ad6c00e..0000000 --- a/sources/include/export_fiche_detail_csv.php +++ /dev/null @@ -1,163 +0,0 @@ -get_quick_code(); - -header('Content-type: application/csv'); - -header('Pragma: public'); -header('Content-Disposition: attachment;filename="fiche-'.$qcode.'.csv"',FALSE); -$Fiche->getName(); -list($array,$tot_deb,$tot_cred)=$Fiche->get_row_date( - $_GET['from_periode'], - $_GET['to_periode'], - $_GET['ople'] - ); -if ( count($Fiche->row ) == 0 ) -{ - echo "Aucune donnée"; - return; -} - - -if ( ! isset ($_REQUEST['oper_detail'])) -{ - echo '"Qcode";'. - "\"Date\";". - "\"n° pièce\";". - "\"Code interne\";". - '"Code journal";'. - '"Nom journal";'. - "\"Description\";". - "\"Débit\";". - "\"Crédit\";". - "\"Prog.\";". - "\"Let.\"" ; - printf("\n"); - $progress=0; - $current_exercice=""; - $tot_deb=0;$tot_cred=0; - bcscale(2); - foreach ( $Fiche->row as $op ) - { - /* - * separation per exercice - */ - if ( $current_exercice == "") $current_exercice=$op['p_exercice']; - - if ( $current_exercice != $op['p_exercice']) { - $solde_type=($tot_deb>$tot_cred)?"solde débiteur":"solde créditeur"; - $diff=abs($tot_deb-$tot_cred); - printf( - ";;;". - '"'._('total').'";'. - '"'.$current_exercice.'";;'. - '"'."$solde_type".'"'.";". - nb($tot_deb).";". - nb($tot_cred).";". - nb($diff).";"."\n"); - /* - * reset total and current_exercice - */ - $progress=0; - $current_exercice=$op['p_exercice']; - $tot_deb=0;$tot_cred=0; - } - $diff=bcsub($op['deb_montant'],$op['cred_montant']); - $progress=bcadd($progress,$diff); - $tot_deb=bcadd($tot_deb,$op['deb_montant']); - $tot_cred=bcadd($tot_cred,$op['cred_montant']); - echo '"'.$op['j_qcode'].'";'. - '"'.$op['j_date_fmt'].'"'.";". - '"'.$op['jr_pj_number'].'"'.";". - '"'.$op['jr_internal'].'"'.";". - '"'.$op['jrn_def_code'].'"'.";". - '"'.$op['jrn_def_name'].'"'.";". - '"'.$op['description'].'"'.";". - nb($op['deb_montant']).";". - nb($op['cred_montant']).";". - nb(abs($progress)).';'. - '"'.(($op['letter']==-1)?'':strtoupper(base_convert($op['letter'],10,36))).'"'; - printf("\n"); - - } -} -else -{ - echo '"Poste";"Qcode";"date";"ref";"internal";'; - echo "\"Description\";". - "\"Montant\";". - "\"D/C\""; - - printf("\r\n"); - - foreach ( $Fiche->row as $op ) - { - $acc=new Acc_Operation($cn); - $acc->jr_id=$op['jr_id']; - $result= $acc->get_jrnx_detail(); - - foreach ( $result as $r) - { - printf('"%s";"%s";"%s";"%s";"%s";%s;%s;"%s"', - $r['j_poste'], - $r['j_qcode'], - $r['jr_date'], - $op['jr_pj_number'], - $r['jr_internal'], - $r['description'], - nb($r['j_montant']), - $r['debit']); - printf("\r\n"); - - } - - - - } -} -$solde_type=($tot_deb>$tot_cred)?"solde débiteur":"solde créditeur"; -$diff=abs($tot_deb-$tot_cred); -printf( - '"'."$solde_type".'"'.";". - nb($diff).";". - nb($tot_deb).";". - nb($tot_cred)."\n"); - -exit; -?> diff --git a/sources/include/export_fiche_detail_pdf.php b/sources/include/export_fiche_detail_pdf.php deleted file mode 100644 index 73d5d15..0000000 --- a/sources/include/export_fiche_detail_pdf.php +++ /dev/null @@ -1,231 +0,0 @@ -setDossierInfo(" Periode : ".$_GET['from_periode']." - ".$_GET['to_periode']); -$pdf->AliasNbPages(); -$pdf->AddPage(); -$pdf->SetAuthor('NOALYSS'); -$pdf->setTitle("Détail fiche",true); - - -$Fiche=new Fiche($cn,$f_id); - - -list($array,$tot_deb,$tot_cred)=$Fiche->get_row_date($from_periode,$to_periode,$_GET['ople']); -// don't print empty account -if ( count($array) == 0 ) -{ - exit; -} -$size=array(13,25,20,60,12,20,20,20); -$align=array('L','C','C','L','R','R','R','R'); - -$Libelle=sprintf("(%s) %s [ %s ]",$Fiche->id,$Fiche->getName(),$Fiche->get_quick_code()); -$pdf->SetFont('DejaVu','',10); -$pdf->Cell(0,8,$Libelle,1,0,'C'); -$pdf->Ln(); - - -$pdf->SetFont('DejaVuCond','',8); -$l=0; -$pdf->Cell($size[$l],6,'Date',0,0,'L'); -$l++; -$pdf->Cell($size[$l],6,'Ref',0,0,'C'); -$l++; -$pdf->Cell($size[$l],6,'Journal',0,0,'C'); -$l++; -$pdf->Cell($size[$l],6,'Libellé',0,0,'L'); -$l++; -$pdf->Cell($size[$l],6,'Let',0,0,'R'); -$l++; -$pdf->Cell($size[$l],6,'Debit',0,0,'R'); -$l++; -$pdf->Cell($size[$l],6,'Credit',0,0,'R'); -$l++; -$pdf->Cell($size[$l],6,'Prog',0,0,'R'); -$l++; -$pdf->ln(); -$tot_deb=0; -$tot_cred=0; -$progress=0; -$current_exercice=""; -bcscale(2); -for ($e=0;$eSetFont('DejaVu','B',8); - $pdf->LongLine(15,6,_('totaux'),0,'L'); - $pdf->Cell(15,6,$current_exercice,0,0,'L'); - $pdf->LongLine(40,6,$solde,0,'L'); - $pdf->Cell(40,6,$str_debit,0,0,'R'); - $pdf->Cell(40,6,$str_credit,0,0,'R'); - $pdf->Cell(40,6,$str_diff_solde,0,0,'R'); - $pdf->Ln(); - /* - * reset total and current_exercice - */ - $prog=0; - $current_exercice=$row['p_exercice']; - $tot_deb=0;$tot_cred=0; - $pdf->SetFont('DejaVuCond','',8); - } - $l=0; - $progress=bcsub($row['deb_montant'],$row['cred_montant']); - - - $date=shrink_date($row['j_date_fmt']); - $pdf->LongLine($size[$l],6,$date,0,$align[$l]); - $l++; - if ( $row['jr_pj_number'] == '') - $pdf->Cell($size[$l],6,"",0,0,$align[$l]); - else - $pdf->Cell($size[$l],6,$row['jr_pj_number'],0,0,$align[$l]); - - $l++; - $pdf->LongLine($size[$l],6,mb_substr($row['jrn_def_code'],0,14),0,$align[$l]); - $l++; - $pdf->LongLine($size[$l],6,($row['description'].'('.$row['jr_internal'].")"),0,$align[$l]); - - $l++; - $pdf->LongLine($size[$l],6,(($row['letter']!=-1)?strtoupper(base_convert($row['letter'],10,36)):''),0,$align[$l]); - $l++; - $pdf->LongLine($size[$l],6,(sprintf('% 12.2f',$row['deb_montant'])),0,$align[$l]); - $l++; - $pdf->LongLine($size[$l],6,(sprintf('% 12.2f',$row['cred_montant'])),0,$align[$l]); - $l++; - $pdf->LongLine($size[$l],6,(sprintf('% 12.2f',abs($progress))),0,$align[$l]); - $l++; - $pdf->ln(); - $tot_deb=bcadd($tot_deb,$row['deb_montant']); - $tot_cred=bcadd($tot_cred,$row['cred_montant']); - /* -------------------------------------- */ - /* if details are asked we show them here */ - /* -------------------------------------- */ - if ( isset($_GET['oper_detail'])) - { - $detail=new Acc_Operation($cn); - $detail->jr_id=$row['jr_id']; - $a_detail=$detail->get_jrnx_detail(); - for ($f=0;$fCell($size[$l],6,'',0,0,$align[$l]); - $l++; - $pdf->Cell($size[$l],6,$a_detail[$f]['j_qcode'],0,0,'L'); - $l++; - $pdf->Cell($size[$l],6,$a_detail[$f]['j_poste'],0,0,'R'); - $l++; - if ( $a_detail[$f]['j_qcode']=='') - $lib=$a_detail[$f]['pcm_lib']; - else - { - $f_id=$cn->get_value('select f_id from vw_poste_qcode where j_qcode=$1',array($a_detail[$f]['j_qcode'])) ; - $lib=$cn->get_value('select ad_value from fiche_detail where ad_id=$1 and f_id=$2', - array(ATTR_DEF_NAME,$f_id)); - } - $pdf->Cell($size[$l],6,$lib,0,0,$align[$l]); - $l++; - $pdf->Cell($size[$l],6,(($a_detail[$f]['letter']!=-1)?$a_detail[$f]['letter']:''),0,0,$align[$l]); - $l++; - - $deb=($a_detail[$f]['debit']=='D')?$a_detail[$f]['j_montant']:''; - $cred=($a_detail[$f]['debit']=='C')?$a_detail[$f]['j_montant']:''; - - $pdf->Cell($size[$l],6,(sprintf('% 12.2f',$deb)),0,0,$align[$l]); - $l++; - $pdf->Cell($size[$l],6,(sprintf('% 12.2f',$cred)),0,0,$align[$l]); - $l++; - $pdf->ln(); - } - } - -} -$str_debit=sprintf("% 12.2f €",$tot_deb); -$str_credit=sprintf("% 12.2f €",$tot_cred); -$diff_solde=$tot_deb-$tot_cred; -if ( $diff_solde < 0 ) -{ - $solde=" créditeur "; - $diff_solde*=-1; -} -else -{ - $solde=" débiteur "; -} -$str_diff_solde=sprintf("%12.2f €",$diff_solde); - -$pdf->SetFont('DejaVu','B',8); - -$pdf->Cell(160,5,'Débit',0,0,'R'); -$pdf->Cell(30,5,$str_debit,0,0,'R'); -$pdf->Ln(); -$pdf->Cell(160,5,'Crédit',0,0,'R'); -$pdf->Cell(30,5,$str_credit,0,0,'R'); -$pdf->Ln(); -$pdf->Cell(160,5,'Solde '.$solde,0,0,'R'); -$pdf->Cell(30,5,$str_diff_solde,0,0,'R'); -$pdf->Ln(); - -$fDate=date('dmy-Hi'); -$pdf->Output('fiche-'.$fDate.'.pdf','D'); - - -?> diff --git a/sources/include/export_fiche_pdf.php b/sources/include/export_fiche_pdf.php deleted file mode 100644 index 73c4925..0000000 --- a/sources/include/export_fiche_pdf.php +++ /dev/null @@ -1,232 +0,0 @@ -category, export in PDF the history of a category - * of card - */ -if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis'); -// Security we check if user does exist and his privilege -require_once NOALYSS_INCLUDE.'/class_user.php'; -require_once NOALYSS_INCLUDE.'/class_database.php'; -require_once NOALYSS_INCLUDE.'/class_pdf.php'; -require_once NOALYSS_INCLUDE.'/class_lettering.php'; -require_once NOALYSS_INCLUDE.'/class_dossier.php'; -require_once NOALYSS_INCLUDE.'/ac_common.php'; - -/* Security */ -$gDossier=dossier::id(); -$cn=new Database($gDossier); -$g_user->Check(); -$g_user->check_dossier($gDossier); - -$pdf=new PDF($cn); -$pdf->setDossierInfo(" Periode : ".$_GET['start']." - ".$_GET['end']); -$pdf->AliasNbPages(); -$pdf->AddPage(); -$name=$cn->get_value('select fd_label from fiche_def where fd_id=$1',array($_GET['cat'])); -$pdf->SetFont('DejaVu','BI',14); -$pdf->Cell(0,8,$name,0,1,'C'); -$pdf->SetTitle($name,1); -$pdf->SetAuthor('NOALYSS'); -/* balance */ -if ( $_GET['histo'] == 4 ) -{ - $fd=new Fiche_Def($cn,$_REQUEST['cat']); - if ( $fd->hasAttribute(ATTR_DEF_ACCOUNT) == false ) - { - $pdf->Cell(0,10, "Cette catégorie n'ayant pas de poste comptable n'a pas de balance"); - //Save PDF to file - $fDate=date('dmy-Hi'); - $pdf->Output("category-$fDate.pdf", 'D'); - exit; - } - $aCard=$cn->get_array("select f_id,ad_value from fiche join fiche_Detail using (f_id) where ad_id=1 and fd_id=$1 order by 2 ",array($_REQUEST['cat'])); - - if ( empty($aCard)) - { - $pdf->Cell(0,10, "Aucune fiche trouvée");//Save PDF to file - $fDate=date('dmy-Hi'); - $pdf->Output("category-$fDate.pdf", 'D'); - exit; - } - $pdf->SetFont('DejaVuCond','',7); - $pdf->Cell(30,7,'Quick Code',0,0,'L',0); - $pdf->Cell(80,7,'Libellé',0,0,'L',0); - $pdf->Cell(20,7,'Débit',0,0,'R',0); - $pdf->Cell(20,7,'Crédit',0,0,'R',0); - $pdf->Cell(20,7,'Solde',0,0,'R',0); - $pdf->Cell(20,7,'D/C',0,0,'C',0); - $pdf->Ln(); - $idx=0; - for ($i=0;$i < count($aCard);$i++) - { - if ( isDate($_REQUEST['start']) == null || isDate ($_REQUEST['end']) == null ) exit; - $filter= " (j_date >= to_date('".$_REQUEST['start']."','DD.MM.YYYY') ". - " and j_date <= to_date('".$_REQUEST['end']."','DD.MM.YYYY')) "; - $oCard=new Fiche($cn,$aCard[$i]['f_id']); - $solde=$oCard->get_solde_detail($filter); - if ( $solde['debit'] == 0 && $solde['credit']==0) continue; - - if ( $idx % 2 == 0 ) - { - $pdf->SetFillColor(220,221,255); - $fill=1; - } - else - { - $pdf->SetFillColor(0,0,0); - $fill=0; - } - $idx++; - - $pdf->Cell(30,7,$oCard->strAttribut(ATTR_DEF_QUICKCODE),0,0,'L',$fill); - $pdf->Cell(80,7,$oCard->strAttribut(ATTR_DEF_NAME),0,0,'L',$fill); - $pdf->Cell(20,7,sprintf('%.02f',$solde['debit']),0,0,'R',$fill); - $pdf->Cell(20,7,sprintf('%.02f',$solde['credit']),0,0,'R',$fill); - $pdf->Cell(20,7,sprintf('%.02f',abs($solde['solde'])),0,0,'R',$fill); - $pdf->Cell(20,7,(($solde['solde']<0)?'CRED':'DEB'),0,0,'C',$fill); - $pdf->Ln(); - } -} -else -{ - $array=Fiche::get_fiche_def($cn,$_GET['cat'],'name_asc'); - /* - * You show now the result - */ - if ($array == null ) - { - exit(); - } - $tab=array(13,25,55,20,20,12,20); - $align=array('L','L','L','R','R','R','R'); - - foreach($array as $row_fiche) - { - $row=new Fiche($cn,$row_fiche['f_id']); - $letter=new Lettering_Card($cn); - $letter->set_parameter('quick_code',$row->strAttribut(ATTR_DEF_QUICKCODE)); - $letter->set_parameter('start',$_GET['start']); - $letter->set_parameter('end',$_GET['end']); - // all - if ( $_GET['histo'] == 0 ) - { - $letter->get_all(); - } - - // lettered - if ( $_GET['histo'] == 1 ) - { - $letter->get_letter(); - } - // unlettered - if ( $_GET['histo'] == 2 ) - { - $letter->get_unletter(); - } - /* skip if nothing to display */ - if (count($letter->content) == 0 ) continue; - $pdf->SetFont('DejaVuCond','',10); - $fiche=new Fiche($cn,$row_fiche['f_id']); - $pdf->Cell(0,7,$fiche->strAttribut(ATTR_DEF_NAME),1,1,'C'); - - $pdf->SetFont('DejaVuCond','',7); - - $pdf->Cell($tab[0],7,'Date'); - $pdf->Cell($tab[1],7,'ref'); - $pdf->Cell($tab[1],7,'Int.'); - $pdf->Cell($tab[2],7,'Comm'); - $pdf->Cell(40,7,'Montant',0,0,'C'); - $pdf->Cell($tab[5],7,'Let.',0,0,'R'); - $pdf->Cell($tab[6],7,'Som. Let.',0,0,'R'); - $pdf->ln(); - - $amount_deb=0; - $amount_cred=0; - for ($i=0;$icontent);$i++) - { - if ( $i % 2 == 0 ) - { - $pdf->SetFillColor(220,221,255); - $fill=1; - } - else - { - $pdf->SetFillColor(0,0,0); - $fill=0; - } - $pdf->SetFont('DejaVuCond','',7); - $row=$letter->content[$i]; - $str_date=shrink_date($row['j_date_fmt']); - - $pdf->Cell($tab[0],4,$str_date,0,0,$align[0],$fill); - $pdf->Cell($tab[1],4,$row['jr_pj_number'],0,0,$align[1],$fill); - $pdf->Cell($tab[1],4,$row['jr_internal'],0,0,$align[1],$fill); - $pdf->Cell($tab[2],4,$row['jr_comment'],0,0,$align[2],$fill); - if ( $row['j_debit'] == 't') - { - $pdf->Cell($tab[3],4,sprintf('%10.2f',$row['j_montant']),0,0,$align[4],$fill); - $amount_deb+=$row['j_montant']; - $pdf->Cell($tab[4],4,"",0,0,'C',$fill); - } - else - { - $pdf->Cell($tab[3],4,"",0,0,'C',$fill); - $pdf->Cell($tab[4],4,sprintf('%10.2f',$row['j_montant']),0,0,$align[4],$fill); - $amount_cred+=$row['j_montant']; - } - if ($row['letter'] != -1 ) - { - $pdf->Cell($tab[5],4,strtoupper(base_convert($row['letter'],10,36)),0,0,$align[5],$fill); - // get sum for this lettering - $sql="select sum(j_montant) from jrnx where j_debit=$1 and j_id in ". - " (select j_id from jnt_letter join letter_deb using (jl_id) where jl_id=$2 union ". - " select j_id from jnt_letter join letter_cred using (jl_id) where jl_id=$3)"; - $sum=$cn->get_value($sql,array($row['j_debit'],$row['letter'],$row['letter'])); - $pdf->Cell($tab[6],4,sprintf('%.2f',$sum),'0','0','R',$fill); - } - else - $pdf->Cell($tab[5],4,"",0,0,'R',$fill); - $pdf->Ln(); - } - $pdf->SetFillColor(0,0,0); - $pdf->SetFont('DejaVuCond','B',8); - $debit =sprintf('Debit : % 12.2f',$amount_deb); - $credit=sprintf('Credit : % 12.2f',$amount_cred); - if ( $amount_deb>$amount_cred) $s='solde débiteur'; - else $s='solde crediteur'; - $solde =sprintf('%s : % 12.2f',$s,(abs(round($amount_cred-$amount_deb,2)))); - - $pdf->Cell(0,6,$debit,0,0,'R'); - $pdf->ln(4); - $pdf->Cell(0,6,$credit,0,0,'R'); - $pdf->ln(4); - $pdf->Cell(0,6,$solde,0,0,'R'); - $pdf->ln(4); - - $pdf->Ln(); - } -} -//Save PDF to file -$fDate=date('dmy-Hi'); -$pdf->Output("category-$fDate.pdf", 'D'); -exit; diff --git a/sources/include/export_follow_up_csv.php b/sources/include/export_follow_up_csv.php deleted file mode 100644 index 0fa1323..0000000 --- a/sources/include/export_follow_up_csv.php +++ /dev/null @@ -1,42 +0,0 @@ -export_csv($_GET); - -exit(); - -?> diff --git a/sources/include/export_form_csv.php b/sources/include/export_form_csv.php deleted file mode 100644 index 6fb205c..0000000 --- a/sources/include/export_form_csv.php +++ /dev/null @@ -1,105 +0,0 @@ -get_name(); -// Step ? -//-- -$step=HtmlInput::default_value_get("p_step", 0); -if ( $step == 0 ) -{ - if ( $_GET ['type_periode'] == 0 ) - $array=$Form->get_row( $_GET['from_periode'],$_GET['to_periode'], $_GET['type_periode']); - else - $array=$Form->get_row( $_GET['from_date'],$_GET['to_date'], $_GET['type_periode']); - - - if ( count($Form->row ) == 0 ) - exit; - - echo "\"Description\";". - "\"Montant\"\n"; - - - - foreach ( $Form->row as $op ) - { - echo '"'.$op['desc'].'"'.";". - nb($op['montant']). - "\n"; - - } -} -elseif ($step == 1) -{ - // Gather all the data - //--- - for ($e=$_GET['from_periode'];$e<=$_GET['to_periode'];$e+=$_GET['p_step']) - { - $periode=getPeriodeName($cn,$e); - if ( $periode == null ) continue; - $array[]=$Form->get_row($e,$e,$_GET['type_periode']); - $periode_name[]=$periode; - } - // Display column heading - //-- - $x=""; - printf ("Mois;"); - foreach ($array[0] as $e) - { - printf("%s%s",$x,$e['desc']); - $x=";"; - - } - printf("\n"); - // Display value for each line - //-- - $a=0; - foreach ($array as $e ) - { - print $periode_name[$a]; - $a++; - foreach ($e as $elt) - { - printf(";%s",nb($elt['montant'])); - } - printf("\n"); - } -} -exit; -?> diff --git a/sources/include/export_form_pdf.php b/sources/include/export_form_pdf.php deleted file mode 100644 index 5bb8e12..0000000 --- a/sources/include/export_form_pdf.php +++ /dev/null @@ -1,130 +0,0 @@ -get_name()); -$pdf= new PDF($cn); -$pdf->setDossierInfo($Libelle); -$pdf->AliasNbPages(); -$pdf->AddPage(); -$pdf->SetAuthor('NOALYSS'); -$pdf->setTitle("Rapport ".$Libelle,true); - -// Step ?? -//-- -$step=HtmlInput::default_value_get("p_step", 0); - -if ( $step == 0 ) -{ - // No step asked - //-- - if ( $_GET ['type_periode'] == 0 ) - $array=$Form->get_row( $_GET['from_periode'],$_GET['to_periode'], $_GET['type_periode']); - else - $array=$Form->get_row( $_GET['from_date'],$_GET['to_date'], $_GET['type_periode']); - -} -else -{ - // yes with step - //-- - for ($e=$_GET['from_periode'];$e<=$_GET['to_periode'];$e+=$_GET['p_step']) - { - $periode=getPeriodeName($cn,$e); - if ( $periode == null ) continue; - $array[]=$Form->get_row($e,$e,'periode'); - $periode_name[]=$periode; - } - -} - - -$pdf->SetFont('DejaVuCond','',8); - -// without step -if ( $step == 0 ) -{ - if ( $_GET['type_periode'] == 0 ) - { - $q=getPeriodeName($cn,$from_periode); - if ( $from_periode != $to_periode) - { - $periode=sprintf("Période %s à %s",$q,getPeriodeName($cn,$to_periode)); - } - else - { - $periode=sprintf("Période %s",$q); - } - } - else - { - $periode=sprintf("Date %s jusque %s",$_GET['from_date'],$_GET['to_date']); - } - $pdf->Cell(0,7,$periode,'B'); - $pdf->Ln(); - for ($i=0;$iCell(160,6,$array[$i]['desc']); - $pdf->Cell(30,6,sprintf('% 12.2f',$array[$i]['montant']),0,0,'R'); - $pdf->Ln(); - } -} -else -{ // With Step - $a=0; - foreach ($array as $e) - { - $pdf->Cell(0,7,$periode_name[$a],'B'); - $pdf->Ln(); - $a++; - for ($i=0;$iCell(160,6,$e[$i]['desc']); - $pdf->Cell(30,6,sprintf('% 12.2f',$e[$i]['montant']),0,0,'R'); - $pdf->Ln(); - } - } -} - -$fDate=date('dmy-Hi'); -$pdf->Output('rapport-'.$fDate.'.pdf','D'); - -?> diff --git a/sources/include/export_gl_csv.php b/sources/include/export_gl_csv.php deleted file mode 100644 index 2e40e61..0000000 --- a/sources/include/export_gl_csv.php +++ /dev/null @@ -1,214 +0,0 @@ -get_array("select pcm_val from tmp_pcmn where pcm_val::text like '$parent%' order by pcm_val::text"); - } - elseif ( $cn->count_sql('select * from tmp_pcmn where pcm_val='.sql_string($poste_id)) != 0 ) - { - $a_poste=array('pcm_val' => $poste_id); - } -} -else -{ - $cond_poste=''; - $sql="select pcm_val from tmp_pcmn "; - if ($from_poste != '') - { - $cond_poste = ' where '; - $cond_poste .=" pcm_val >= upper ('".Database::escape_string($from_poste)."')"; - } - - if ( $to_poste != '') - { - if ( $cond_poste == '') - { - $cond_poste = " where pcm_val <= upper ('".Database::escape_string($to_poste)."')"; - } - else - { - $cond_poste.=" and pcm_val <= upper ('".Database::escape_string($to_poste)."')"; - } - } - - $sql=$sql.$cond_poste.' order by pcm_val::text'; - - $a_poste=$cn->get_array($sql); - -} - -if ( count($a_poste) == 0 ) -{ - echo 'Rien à rapporter.'; - printf("\n"); - exit; -} - -// Header -$header = array( "Date", "Référence", "Libellé", "Pièce","Lettrage", "Débit", "Crédit", "Solde" ); - -$l=(isset($_GET['letter']))?2:0; -$s=(isset($_REQUEST['solded']))?1:0; - -foreach ($a_poste as $poste) -{ - - - $Poste=new Acc_Account_Ledger($cn,$poste['pcm_val']); - - $array1=$Poste->get_row_date($from_periode,$to_periode,$l,$s); - // don't print empty account - if ( count($array1) == 0 ) - { - continue; - } - $array=$array1[0]; - $tot_deb=$array1[1]; - $tot_cred=$array1[2]; - - // don't print empty account - if ( count($array) == 0 ) - { - continue; - } - - echo sprintf("%s - %s ",$Poste->id,$Poste->get_name()); - printf("\n"); - - for($i=0;$irow as $detail) - { - - /* - [0] => 1 [jr_id] => 1 - [1] => 01.02.2009 [j_date_fmt] => 01.02.2009 - [2] => 2009-02-01 [j_date] => 2009-02-01 - [3] => 0 [deb_montant] => 0 - [4] => 12211.9100 [cred_montant] => 12211.9100 - [5] => Ecriture douverture [description] => Ecriture douverture - [6] => Opération Diverses [jrn_name] => Opération Diverses - [7] => f [j_debit] => f - [8] => 17OD-01-1 [jr_internal] => 17OD-01-1 - [9] => ODS1 [jr_pj_number] => ODS1 ) 1 - */ -/* - * separation per exercice - */ - if ( $current_exercice == "") $current_exercice=$detail['p_exercice']; - - if ( $current_exercice != $detail['p_exercice']) { - echo ";"; - echo '"'.$current_exercice.'";'; - echo ";"; - echo ";"; - echo 'Total du compte '.$Poste->id.";"; - echo ($solde_d > 0 ? nb($solde_d) : '').";"; - echo ($solde_c > 0 ? nb( $solde_c) : '').";"; - echo nb(abs($solde_c-$solde_d)).";"; - echo ($solde_c > $solde_d ? 'C' : 'D').";"; - printf("\n"); - printf("\n"); - /* - * reset total and current_exercice - */ - $current_exercice=$detail['p_exercice']; - $solde = 0.0; - $solde_d = 0.0; - $solde_c = 0.0; - - } - if ($detail['cred_montant'] > 0) - { - $solde -= $detail['cred_montant']; - $solde_c += $detail['cred_montant']; - } - if ($detail['deb_montant'] > 0) - { - $solde += $detail['deb_montant']; - $solde_d += $detail['deb_montant']; - } - - echo $detail['j_date_fmt'].";"; - echo $detail['jr_internal'].";"; - echo $detail['description'].";"; - echo $detail['jr_pj_number'].";"; - if ($detail['letter'] == -1) { echo ';'; } else { echo $detail['letter'].";";} - echo ($detail['deb_montant'] > 0 ? nb($detail['deb_montant']) : '').";"; - echo ($detail['cred_montant'] > 0 ? nb($detail['cred_montant']) : '').";"; - echo nb(abs($solde)).";"; - echo $Poste->get_amount_side($solde); - printf("\n"); - - } - - - echo ";"; - echo '"'.$current_exercice.'";'; - echo ";"; - echo ";"; - echo 'Total du compte '.$Poste->id.";"; - echo ($solde_d > 0 ? nb($solde_d) : '').";"; - echo ($solde_c > 0 ? nb( $solde_c) : '').";"; - echo nb(abs($solde_c-$solde_d)).";"; - echo ($solde_c > $solde_d ? 'C' : 'D').";"; - printf("\n"); - printf("\n"); -} - -exit; - -?> diff --git a/sources/include/export_gl_pdf.php b/sources/include/export_gl_pdf.php deleted file mode 100644 index eed2fe5..0000000 --- a/sources/include/export_gl_pdf.php +++ /dev/null @@ -1,239 +0,0 @@ -Check(); -$g_user->check_dossier($gDossier); - -$sql="select pcm_val from tmp_pcmn "; - -extract($_GET); -$cond_poste=""; -if ($from_poste != '') - { - $cond_poste = ' where '; - $cond_poste .=' pcm_val >= upper (\''.Database::escape_string($from_poste).'\')'; - } - -if ( $to_poste != '') - { - if ( $cond_poste == '') - { - $cond_poste = ' where pcm_val <= upper (\''.Database::escape_string($to_poste).'\')'; - } - else - { - $cond_poste.=' and pcm_val <= upper (\''.Database::escape_string($to_poste).'\')'; - } - } - -$sql=$sql.$cond_poste.' order by pcm_val::text'; -$a_poste=$cn->get_array($sql); - -$pdf = new PDF($cn); -$pdf->setDossierInfo(" Periode : ".$from_periode." - ".$to_periode); -$pdf->AliasNbPages(); -$pdf->AddPage(); -$pdf->setTitle("Grand Livre",true); -$pdf->SetAuthor('NOALYSS'); - -if ( count($a_poste) == 0 ) -{ - $pdf->Output(); - return; -} - -// Header -$header = array( "Date", "Référence", "Libellé", "Pièce","Let", "Débit", "Crédit", "Solde" ); -// Left or Right aligned -$lor = array( "L" , "L" , "L" , "L" , "R", "R" , "R" , "R" ); -// Column widths (in mm) -$width = array( 13 , 20 , 60 , 15 , 12 , 20 , 20 , 20 ); -$l=(isset($_REQUEST['letter']))?2:0; -$s=(isset($_REQUEST['solded']))?1:0; - -foreach ($a_poste as $poste) -{ - - $Poste=new Acc_Account_Ledger($cn,$poste['pcm_val']); - - - $array1=$Poste->get_row_date($from_periode,$to_periode,$l,$s); - // don't print empty account - if ( count($array1) == 0 ) - { - continue; - } - $array=$array1[0]; - $tot_deb=$array1[1]; - $tot_cred=$array1[2]; - - $pdf->SetFont('DejaVuCond','',10); - $Libelle=sprintf("%s - %s ",$Poste->id,$Poste->get_name()); - $pdf->Cell(0, 7, $Libelle, 1, 1, 'C'); - - $pdf->SetFont('DejaVuCond','',6); - for($i=0;$iCell($width[$i], 4, $header[$i], 0, 0, $lor[$i]); - $pdf->Ln(); - - $pdf->SetFont('DejaVuCond','',7); - - - $solde = 0.0; - $solde_d = 0.0; - $solde_c = 0.0; - $current_exercice=""; - foreach ($Poste->row as $detail) - { - - /* - [0] => 1 [jr_id] => 1 - [1] => 01.02.2009 [j_date_fmt] => 01.02.2009 - [2] => 2009-02-01 [j_date] => 2009-02-01 - [3] => 0 [deb_montant] => 0 - [4] => 12211.9100 [cred_montant] => 12211.9100 - [5] => Ecriture douverture [description] => Ecriture douverture - [6] => Opération Diverses [jrn_name] => Opération Diverses - [7] => f [j_debit] => f - [8] => 17OD-01-1 [jr_internal] => 17OD-01-1 - [9] => ODS1 [jr_pj_number] => ODS1 ) 1 - */ - /* - * separation per exercice - */ - if ( $current_exercice == "") $current_exercice=$detail['p_exercice']; - - if ( $current_exercice != $detail['p_exercice']) { - - $pdf->SetFont('DejaVuCond','B',8); - $i=0; - $pdf->Cell($width[$i], 6, $current_exercice, 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, '', 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, '', 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, '', 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, 'Total du compte '.$Poste->id, 0, 0, 'R'); - $i++; - $pdf->Cell($width[$i], 6, ($solde_d > 0 ? nbm($solde_d) : ''), 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, ($solde_c > 0 ? nbm( $solde_c) : ''), 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, nbm(abs($solde_c-$solde_d)), 0, 0, $lor[$i]); - $i++; - $pdf->Cell(5, 6, ($solde_c > $solde_d ? 'C' : 'D'), 0, 0, 'L'); - /* - * reset total and current_exercice - */ - $current_exercice=$detail['p_exercice']; - $solde = 0.0; - $solde_d = 0.0; - $solde_c = 0.0; - $pdf->Ln(); - $pdf->SetFont('DejaVuCond','',7); - - } - - if ($detail['cred_montant'] > 0) - { - $solde = bcsub ($solde,$detail['cred_montant']); - $solde_c = bcadd($solde_c,$detail['cred_montant']); - } - if ($detail['deb_montant'] > 0) - { - $solde = bcadd($solde,$detail['deb_montant']); - $solde_d = bcadd($solde_d,$detail['deb_montant']); - } - - $i = 0; - $side=" ".$Poste->get_amount_side($solde); - $pdf->LongLine($width[$i], 6, shrink_date($detail['j_date_fmt']), 0, $lor[$i]); - $i++; - $pdf->LongLine($width[$i], 6, $detail['jr_internal'], 0, $lor[$i] ); - $i++; - /* limit set to 40 for the substring */ - $triple_point = (mb_strlen($detail['description']) > 40 ) ? '...':''; - $pdf->LongLine($width[$i], 6, mb_substr($detail['description'],0,40).$triple_point, 0,$lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, $detail['jr_pj_number'], 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, ($detail['letter']!=-1)?$detail['letter']:'', 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, ($detail['deb_montant'] > 0 ? nbm( $detail['deb_montant']) : ''), 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, ($detail['cred_montant'] > 0 ? nbm( $detail['cred_montant']) : ''), 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, nbm(abs( $solde)).$side, 0, 0, $lor[$i]); - $i++; - $pdf->Ln(); - - } - - - $pdf->SetFont('DejaVuCond','B',8); - - $i = 0; - $pdf->Cell($width[$i], 6, $current_exercice, 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, '', 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, '', 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, '', 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, 'Total du compte '.$Poste->id, 0, 0, 'R'); - $i++; - $pdf->Cell($width[$i], 6, ($solde_d > 0 ? nbm($solde_d) : ''), 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, ($solde_c > 0 ? nbm( $solde_c) : ''), 0, 0, $lor[$i]); - $i++; - $pdf->Cell($width[$i], 6, nbm(abs($solde_c-$solde_d)), 0, 0, $lor[$i]); - $i++; - $pdf->Cell(5, 6, ($solde_c > $solde_d ? 'C' : 'D'), 0, 0, 'L'); - - $pdf->Ln(); - $pdf->Ln(); - -} -//Save PDF to file -$pdf->Output("gl_comptes.pdf", 'D'); -exit; -?> diff --git a/sources/include/export_histo_csv.php b/sources/include/export_histo_csv.php deleted file mode 100644 index 8eae32b..0000000 --- a/sources/include/export_histo_csv.php +++ /dev/null @@ -1,75 +0,0 @@ -build_search_sql($_GET); - -$order=" order by jr_date_order asc,substring(jr_pj_number,'[0-9]+$')::numeric asc "; - -$res=$cn->get_array($sql.$order); - -printf('"%s";',"Internal"); -printf('"%s";',"Journal"); -printf('"%s";',"Date"); -printf('"%s";',"Echeance"); -printf('"%s";',"Paiement"); -printf('"%s";',"Piece"); -printf('"%s";"";',"Tiers"); -printf('"%s";',"Description"); -printf('"%s";',"Note"); -printf('"%s"',"Montant opération"); -printf("\r\n"); - -for ($i=0;$iget_value("select qf_amount from quant_fin where jr_id=$1",array($res[$i]['jr_id'])); - if ( $positive !='' ) $amount=$positive; - } - printf('%s',nb($amount)); - - printf("\r\n"); - - } \ No newline at end of file diff --git a/sources/include/export_ledger_csv.php b/sources/include/export_ledger_csv.php deleted file mode 100644 index a7f94ab..0000000 --- a/sources/include/export_ledger_csv.php +++ /dev/null @@ -1,284 +0,0 @@ -Check(); -$g_user->check_dossier($gDossier); - -//---------------------------------------------------------------------------- -// $get_jrn == 0 when request for all ledger, in that case, we must filter -// the legder with the security in Acc_Ledger::get_row -//---------------------------------------------------------------------------- -if ($get_jrn!=0 && $g_user->check_jrn($get_jrn) =='X') -{ - NoAccess(); - exit(); -} - -$Jrn=new Acc_Ledger($cn,$get_jrn); - -$Jrn->get_name(); -$jrn_type=$Jrn->get_type(); - -// -// With Detail per item which is possible only for VEN or ACH -// -if ($get_option == 2) -{ - if ($jrn_type != 'ACH' && $jrn_type != 'VEN' || $Jrn->id == 0) - { - $get_option = 0; - } - else - { - switch ($jrn_type) - { - case 'VEN': - $ledger = new Acc_Ledger_Sold($cn, $get_jrn); - $ret_detail = $ledger->get_detail_sale($get_from_periode, $get_to_periode); - $a_heading= Acc_Ledger_Sold::heading_detail_sale(); - - break; - case 'ACH': - $ledger = new Acc_Ledger_Purchase($cn, $get_jrn); - $ret_detail = $ledger->get_detail_purchase($get_from_periode, $get_to_periode); - $a_heading= Acc_Ledger_Purchase::heading_detail_purchase(); - break; - default: - die(__FILE__ . ":" . __LINE__ . 'Journal invalide'); - break; - } - if ($ret_detail == null) - return; - $nb = Database::num_row($ret_detail); - $output=fopen("php://output","w"); - - for ($i = 0;$i < $nb ; $i++) { - $row=Database::fetch_array($ret_detail, $i); - if ( $i == 0 ) { - fputcsv($output,$a_heading,';'); - } - $a_row=array(); - for ($j=0;$j < count($row) / 2;$j++) { - $a_row[]=$row[$j]; - } - fputcsv($output,$a_row,';'); - unset($a_row); - } - } -} -//----------------------------------------------------------------------------- -// Detailled printing -// For miscellaneous legder or all ledgers -//----------------------------------------------------------------------------- -if ( $get_option == 0 ) -{ - $Jrn->get_row( $get_from_periode, $get_to_periode ); - - if ( count($Jrn->row) == 0) - exit; - foreach ( $Jrn->row as $op ) - { - // should clean description : remove tag and '; char - $desc=$op['description']; - $desc=str_replace("","",$desc); - $desc=str_replace("","",$desc); - $desc=str_replace("","",$desc); - $desc=str_replace("","",$desc); - $desc=str_replace('"',"'",$desc); - $desc=str_replace(";",",",$desc); - - printf("\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";%s;%s\n", - $op['j_id'], - $op['jr_pj_number'], - $op['internal'], - $op['j_date'], - $op['poste'], - $desc, - nb($op['deb_montant']), - nb($op['cred_montant']) - ); - - } - exit; -} -//----------------------------------------------------------------------------- -// Detail printing for ACH or VEN : 1 row resume the situation with VAT, DNA -// for Misc the amount -// For Financial only the tiers and the sign of the amount -//----------------------------------------------------------------------------- -if ($get_option == 1) -{ - -//----------------------------------------------------- - if ( $jrn_type == 'ODS' || $jrn_type == 'FIN' || $jrn_type=='GL') - { - $Row=$Jrn->get_rowSimple($get_from_periode, - $get_to_periode, - 0); - printf ('" operation";'. - '"Date";'. - '"N° Pièce";'. - '"Tiers";'. - '"commentaire";'. - '"internal";'. - '"montant";'. - "\r\n"); - foreach ($Row as $line) - { - - echo $line['num'].";"; - echo $line['date'].";"; - echo $line['jr_pj_number'].";"; - echo $Jrn->get_tiers($line['jrn_def_type'],$line['jr_id']).";"; - echo $line['comment'].";"; - echo $line['jr_internal'].";"; - // echo "".$line['pj'].";"; - // If the ledger is financial : - // the credit must be negative and written in red - // Get the jrn type - if ( $line['jrn_def_type'] == 'FIN' ) { - $positive = $cn->get_value("select qf_amount from quant_fin ". - " where jr_id=".$line['jr_id']); - - echo nb($positive); - echo ";"; - } - else - { - echo nb($line['montant']).";"; - } - - printf("\r\n"); - } - } - -//------------------------------------------------------------------------------ -// One line summary with tiers, amount VAT, DNA, tva code .... -// -//------------------------------------------------------------------------------ - if ( $jrn_type=='ACH' || $jrn_type=='VEN') - { - $Row=$Jrn->get_rowSimple($get_from_periode, - $get_to_periode, - 0); - $cn->prepare('reconcile_date',"select to_char(jr_date,'DD.MM.YY') as str_date,* " - . "from jrn " - . "where " - . "jr_id in (select jra_concerned from jrn_rapt where jr_id = $1 union all select jr_id from jrn_rapt where jra_concerned=$1)"); - - $own=new Own($cn); - $col_tva=""; - - if ( $own->MY_TVA_USE=='Y') - { - $a_Tva=$cn->get_array("select tva_id,tva_label from tva_rate order by tva_rate,tva_label,tva_id"); - foreach($a_Tva as $line_tva) - { - $col_tva.='"Tva '.$line_tva['tva_label'].'";'; - } - } - echo '"Date";"Paiement";"operation";"Pièce";"Client/Fourn.";"Commentaire";"inter.";"HTVA";"privé";"DNA";"tva non ded.";"TVA NP";'.$col_tva.'"TVAC";"opérations liées"'."\n\r"; - foreach ($Row as $line) - { - printf('"%s";"%s";"%s";"%s";"%s";%s;%s;%s;%s;%s;%s;%s;', - $line['date'], - $line['date_paid'], - $line['num'], - $line['jr_pj_number'], - $Jrn->get_tiers($line['jrn_def_type'],$line['jr_id']), - $line['comment'], - $line['jr_internal'], - nb($line['HTVA']), - nb($line['dep_priv']), - nb($line['dna']), - nb($line['tva_dna']), - nb($line['tva_np']) - ); - $a_tva_amount=array(); - //- set all TVA to 0 - foreach ($a_Tva as $l) { - $t_id=$l["tva_id"]; - $a_tva_amount[$t_id]=0; - } - foreach ($line['TVA'] as $lineTVA) - { - $idx_tva=$lineTVA[1][0]; - $a_tva_amount[$idx_tva]=$lineTVA[1][2]; - } - if ($own->MY_TVA_USE == 'Y' ) - { - foreach ($a_Tva as $line_tva) - { - $a=$line_tva['tva_id']; - echo nb($a_tva_amount[$a]).';'; - } - } - echo nb ($line['TVAC']); - /** - * Retrieve payment if any - */ - $ret_reconcile=$cn->execute('reconcile_date',array($line['jr_id'])); - $max=Database::num_row($ret_reconcile); - if ($max > 0) { - $sep=";"; - for ($e=0;$e<$max;$e++) { - $row=Database::fetch_array($ret_reconcile, $e); - echo $sep.$row['str_date'].'; '. $row['jr_internal']; - } - } - printf("\r\n"); - - } - } -} -?> diff --git a/sources/include/export_ledger_pdf.php b/sources/include/export_ledger_pdf.php deleted file mode 100644 index 52f5ea9..0000000 --- a/sources/include/export_ledger_pdf.php +++ /dev/null @@ -1,79 +0,0 @@ -get_name(); -$g_user->Check(); -$g_user->check_dossier($gDossier); - -// Security -if ($_GET['jrn_id'] != 0 && $g_user->check_jrn($_GET['jrn_id']) == 'X') { - /* Cannot Access */ - NoAccess(); -} - -$ret = ""; - -$jrn_type = $Jrn->get_type(); - -$pdf = Print_Ledger::factory($cn, $_REQUEST['p_simple'], "PDF", $Jrn); - -$pdf->setDossierInfo($Jrn->name); -$pdf->AliasNbPages(); -$pdf->AddPage(); -$pdf->SetAuthor('NOALYSS'); -$pdf->setTitle(_("Journal"), true); - -$pdf->export(); - -$fDate = date('dmy-Hi'); -$pdf->Output('journal-' . $fDate . '.pdf', 'D'); -exit(0); - - -?> diff --git a/sources/include/export_poste_detail_csv.php b/sources/include/export_poste_detail_csv.php deleted file mode 100644 index c781a28..0000000 --- a/sources/include/export_poste_detail_csv.php +++ /dev/null @@ -1,194 +0,0 @@ -get_array("select pcm_val from tmp_pcmn where pcm_val::text like $1||'%'",array($_REQUEST["poste_id"])); -} -else -{ - $a_poste=$cn->get_array("select pcm_val from tmp_pcmn where pcm_val = $1",array($_REQUEST['poste_id'])); -} -bcscale(2); -if ( ! isset ($_REQUEST['oper_detail'])) -{ - if ( count($a_poste) == 0 ) - exit; - - foreach ($a_poste as $pos) - { - $Poste=new Acc_Account_Ledger($cn,$pos['pcm_val']); - $name=$Poste->get_name(); - list($array,$tot_deb,$tot_cred)=$Poste->get_row_date( $_REQUEST['from_periode'], - $_REQUEST['to_periode'], - $_GET['ople'] - ); - if ( count($Poste->row ) == 0 ) - continue; - - echo '"Poste";'. - '"n° pièce";'. - '"Code journal";'. - '"Nom journal";'. - '"Lib.";'. - "\"Code interne\";". - "\"Date\";". - "\"Description\";". - "\"Débit\";". - "\"Crédit\";". - "\"Prog.\";". - "\"Let.\""; - printf("\n"); - - $prog=0; - $current_exercice=""; - $tot_cred=0; - $tot_deb=0; - $diff=0; - foreach ( $Poste->row as $op ) - { - /* - * separation per exercice - */ - if ( $current_exercice == "") $current_exercice=$op['p_exercice']; - - if ( $current_exercice != $op['p_exercice']) { - $solde_type=($tot_deb>$tot_cred)?"solde débiteur":"solde créditeur"; - $diff=abs($tot_deb-$tot_cred); - printf( - ";;;". - '"'._('total').'";'. - '"'.$current_exercice.'";'. - '"'."$solde_type".'"'.";". - nb($tot_deb).";". - nb($tot_cred).";". - nb($diff).";"."\n"); - /* - * reset total and current_exercice - */ - $prog=0; - $current_exercice=$op['p_exercice']; - $tot_deb=0;$tot_cred=0; - } - $tot_deb=bcadd($tot_deb,$op['deb_montant']); - $tot_cred=bcadd($tot_cred,$op['cred_montant']); - $diff=bcsub($op['deb_montant'],$op['cred_montant']); - $prog=bcadd($prog,$diff); - echo '"'.$pos['pcm_val'].'";'. - '"'.$op['jr_pj_number'].'"'.";". - '"'.$op['jrn_def_code'].'"'.";". - '"'.$op['jrn_def_name'].'"'.";". - '"'.$name.'";'. - '"'.$op['jr_internal'].'"'.";". - '"'.$op['j_date_fmt'].'"'.";". - '"'.$op['description'].'";'. - nb($op['deb_montant']).";". - nb($op['cred_montant']).";". - nb(abs($prog)).";". - (($op['letter']!=-1)?strtoupper(base_convert($op['letter'],10,36)):""); - printf("\n"); - - - } - $solde_type=($tot_deb>$tot_cred)?"solde débiteur":"solde créditeur"; - $diff=abs($tot_deb-$tot_cred); - printf( - ";;;". - '"'._('total').'";'. - '"'.$current_exercice.'";'. - '"'."$solde_type".'"'.";". - nb($tot_deb).";". - nb($tot_cred).";". - nb($diff).";"."\n"); - } -} -else -{ - /* detail of all operation */ - if ( count($a_poste) == 0 ) - exit; - - foreach ($a_poste as $pos) - { - $Poste=new Acc_Account_Ledger($cn,$pos['pcm_val']); - $Poste->get_name(); - list($array,$tot_deb,$tot_cred)=$Poste->get_row_date( $_REQUEST['from_periode'], - $_REQUEST['to_periode'], - $_GET['ople'] - ); - if ( count($Poste->row ) == 0 ) - continue; - - echo '"Poste";'. - '"Lib.";'. - '"QuickCode";'. - "\"Code interne\";". - "\"Date\";". - "\"Description\";". - "\"Montant\";". - "\"D/C\""; - printf("\n"); - - - foreach ( $Poste->row as $a ) - { - $op=new Acc_Operation($cn); - $op->jr_id=$a['jr_id']; - $result=$op->get_jrnx_detail(); - foreach ( $result as $r) - { - printf('"%s";"%s";"%s";"%s";"%s";"%s";"%s";%12.2f;"%s"', - $r['j_poste'], - $r['pcm_lib'], - $r['j_qcode'], - $r['jr_internal'], - $r['jr_date'], - $a['description'], - $a['jr_pj_number'], - nb($r['j_montant']), - $r['debit']); - printf("\r\n"); - - } - - - - } - } - exit; -} -?> diff --git a/sources/include/export_poste_detail_pdf.php b/sources/include/export_poste_detail_pdf.php deleted file mode 100644 index 3d055cb..0000000 --- a/sources/include/export_poste_detail_pdf.php +++ /dev/null @@ -1,241 +0,0 @@ -get_array("select pcm_val from tmp_pcmn where pcm_val::text like '$poste_id%' order by pcm_val"); -} -else - $a_poste=$cn->get_array("select pcm_val from tmp_pcmn where pcm_val::text = '$poste_id'"); - - -$ret=""; - -$pdf=new PDF($cn); -$pdf->setDossierInfo(" Periode : ".$_GET['from_periode']." - ".$_GET['to_periode']); -$pdf->AliasNbPages(); -$pdf->AddPage(); -$pdf->SetAuthor('NOALYSS'); -$pdf->setTitle("Détail poste comptable",true); - - -if ( count($a_poste) == 0 ) -{ - $pdf->Output('poste.pdf','D'); - exit; -} -$size=array(13,25,13,65,12,20,20,20); -$align=array('L','C','C','L','R','R','R','R'); - -foreach ($a_poste as $poste) -{ - $Poste=new Acc_Account_Ledger($cn,$poste['pcm_val']); - list($array,$tot_deb,$tot_cred)=$Poste->get_row_date($from_periode,$to_periode,$_GET['ople']); - // don't print empty account - if ( count($array) == 0 ) - { - continue; - } - $Libelle=sprintf("(%s) %s ",$Poste->id,$Poste->get_name()); - $pdf->SetFont('DejaVuCond','',10); - $pdf->Cell(0,8,$Libelle,1,0,'C'); - $pdf->Ln(); - - $pdf->SetFont('DejaVuCond','',8); - $l=0; - $pdf->Cell($size[$l],6,'Date',0,0,'L'); - $l++; - $pdf->Cell($size[$l],6,'Ref',0,0,'C'); - $l++; - $pdf->Cell($size[$l],6,'Journal',0,0,'C'); - $l++; - $pdf->LongLine($size[$l],6,'Libellé',0,'L'); - $l++; - $pdf->Cell($size[$l],6,'Let',0,0,'R'); - $l++; - $pdf->Cell($size[$l],6,'Debit',0,0,'R'); - $l++; - $pdf->Cell($size[$l],6,'Credit',0,0,'R'); - $l++; - $pdf->Cell($size[$l],6,'Prog',0,0,'R'); - $l++; - $pdf->ln(); - $tot_deb=0; - $tot_cred=0; - $prog=0; - $current_exercice=""; - bcscale(2); - for ($e=0;$eSetFont('DejaVu','B',8); - $pdf->Cell(15,6,_('totaux'),0,0,'L'); - $pdf->Cell(15,6,$current_exercice,0,0,'L'); - $pdf->Cell(40,6,$solde,0,'L'); - $pdf->Cell(40,6,$str_debit,0,0,'R'); - $pdf->Cell(40,6,$str_credit,0,0,'R'); - $pdf->Cell(40,6,$str_diff_solde,0,0,'R'); - $pdf->Ln(); - /* - * reset total and current_exercice - */ - $prog=0; - $current_exercice=$row['p_exercice']; - $tot_deb=0;$tot_cred=0; - $pdf->SetFont('DejaVuCond','',8); - } - $l=0; - $diff=bcsub($row['deb_montant'],$row['cred_montant']); - $prog=bcadd($row['deb_montant'],$row['cred_montant']); - - $date=shrink_date($row['j_date_fmt']); - $pdf->Cell($size[$l],6,$date,0,0,$align[$l]); - $l++; - if ( $row['jr_pj_number'] == '') - $pdf->Cell($size[$l],6,$row['jr_internal'],0,0,$align[$l]); - else - $pdf->Cell($size[$l],6,$row['jr_pj_number'],0,0,$align[$l]); - $l++; - $pdf->Cell($size[$l],6,mb_substr($row['jrn_def_code'],0,14),0,0,$align[$l]); - $l++; - $pdf->LongLine($size[$l],6, $row['description'],0,$align[$l]); - $l++; - $pdf->Cell($size[$l],6,(($row['letter']!=-1)?$row['letter']:''),0,0,$align[$l]); - $l++; - $pdf->Cell($size[$l],6,(sprintf('% 12.2f',$row['deb_montant'])),0,0,$align[$l]); - $l++; - $pdf->Cell($size[$l],6,(sprintf('% 12.2f',$row['cred_montant'])),0,0,$align[$l]); - $l++; - $pdf->Cell($size[$l],6,(sprintf('% 12.2f',abs($prog))),0,0,$align[$l]); - $l++; - $pdf->ln(); - $tot_deb=bcadd($tot_deb,$row['deb_montant']); - $tot_cred=bcadd($tot_deb,$row['cred_montant']); - /* -------------------------------------- */ - /* if details are asked we show them here */ - /* -------------------------------------- */ - if ( isset($_GET['oper_detail'])) - { - $detail=new Acc_Operation($cn); - $detail->jr_id=$row['jr_id']; - $a_detail=$detail->get_jrnx_detail(); - for ($f=0;$fCell($size[$l],6,'',0,0,$align[$l]); - $l++; - $pdf->Cell($size[$l],6,$a_detail[$f]['j_qcode'],0,0,$align[$l]); - $l++; - $pdf->Cell($size[$l],6,$a_detail[$f]['j_poste'],0,0,$align[$l]); - $l++; - if ( $a_detail[$f]['j_qcode']=='') - $lib=$a_detail[$f]['pcm_lib']; - else - { - $f_id=$cn->get_value('select f_id from vw_poste_qcode where j_qcode=$1',array($a_detail[$f]['j_qcode'])) ; - $lib=$cn->get_value('select ad_value from fiche_detail where ad_id=$1 and f_id=$2', - array(ATTR_DEF_NAME,$f_id)); - } - $pdf->Cell($size[$l],6,$lib,0,0,$align[$l]); - $l++; - $pdf->Cell($size[$l],6,(($a_detail[$f]['letter']!=-1)?$a_detail[$f]['letter']:''),0,0,$align[$l]); - $l++; - - $deb=($a_detail[$f]['debit']=='D')?$a_detail[$f]['j_montant']:''; - $cred=($a_detail[$f]['debit']=='C')?$a_detail[$f]['j_montant']:''; - - $pdf->Cell($size[$l],6,(sprintf('% 12.2f',$deb)),0,0,$align[$l]); - $l++; - $pdf->Cell($size[$l],6,(sprintf('% 12.2f',$cred)),0,0,$align[$l]); - $l++; - $pdf->ln(); - } - } - } - $str_debit=sprintf("% 12.2f €",$tot_deb); - $str_credit=sprintf("% 12.2f €",$tot_cred); - $diff_solde=$tot_deb-$tot_cred; - if ( $diff_solde < 0 ) - { - $solde=" créditeur "; - $diff_solde=bcmul($diff_solde,-1); - } - else - { - $solde=" débiteur "; - } - $str_diff_solde=sprintf("%12.2f €",$diff_solde); - - $pdf->SetFont('DejaVu','B',8); - - $pdf->Cell(160,5,'Débit',0,0,'R'); - $pdf->Cell(30,5,$str_debit,0,0,'R'); - $pdf->Ln(); - $pdf->Cell(160,5,'Crédit',0,0,'R'); - $pdf->Cell(30,5,$str_credit,0,0,'R'); - $pdf->Ln(); - $pdf->Cell(160,5,'Solde '.$solde,0,0,'R'); - $pdf->Cell(30,5,$str_diff_solde,0,0,'R'); - $pdf->Ln(); - -} -$fDate=date('dmy-Hi'); -$pdf->Output('poste-'.$fDate.'-'.$poste_id.'.pdf','D'); -?> diff --git a/sources/include/export_rec_csv.php b/sources/include/export_rec_csv.php deleted file mode 100644 index da719f5..0000000 --- a/sources/include/export_rec_csv.php +++ /dev/null @@ -1,39 +0,0 @@ -a_jrn=$r_jrn; -$acc_reconciliation->start_day=$p_start; -$acc_reconciliation->end_day=$p_end; - -$array=$acc_reconciliation->export_csv($choice); \ No newline at end of file diff --git a/sources/include/export_reportinit_csv.php b/sources/include/export_reportinit_csv.php deleted file mode 100644 index a078693..0000000 --- a/sources/include/export_reportinit_csv.php +++ /dev/null @@ -1,56 +0,0 @@ -export_csv($file); -?> diff --git a/sources/include/export_security_pdf.php b/sources/include/export_security_pdf.php deleted file mode 100755 index 667b6e0..0000000 --- a/sources/include/export_security_pdf.php +++ /dev/null @@ -1,178 +0,0 @@ -get_folder_access($gDossier); - -if ( $access == 'L') -{ - $str='Local Admin'; - $admin=1; -} -elseif ($access=='R') -{ - $str=' Utilisateur normal'; -} -elseif ($access=='P') -{ - $str=' Extension uniquement'; -} - - -if ( $SecUser->admin==1 ) -{ - $str=' Super Admin'; - $admin=1; -} - - -//----------------------------------------------------- -// Print result - -$pdf=new PDF($cn); -$pdf->setDossierInfo(dossier::name().' Sécurité'); -$pdf->AliasNbPages(); -$pdf->AddPage(); -$pdf->SetAuthor('NOALYSS'); -$pdf->setTitle("Sécurité",true); - -$str_user=sprintf("( %d ) %s %s [ %s ] - %s", - $SecUser->id, - $SecUser->first_name, - $SecUser->name, - $SecUser->login, - $str); - -$pdf->SetFont('DejaVu','B',9); -$pdf->Cell(0,7,$str_user,'B',0,'C'); -$pdf->Ln(); -if ( $SecUser->active==0) -{ - $pdf->SetTextColor(255,0,34); - $pdf->Cell(0,7,'Bloqué',0,0,'R'); - $pdf->Ln(); -} - -if ( $SecUser->admin==1) -{ - $pdf->SetTextColor(0,0,0); - $pdf->setFillColor(239,251,255); - $pdf->Cell(40,7,'Administrateur',1,1,'R'); - $pdf->Ln(); -} -$pdf->SetTextColor(0,0,0); - -//----------------------------------------------------- -// Journal -$pdf->Cell(0,7,'Accès journaux',1,0,'C'); -$pdf->Ln(); -$pdf->SetFont('DejaVu','',6); -$Res=$cn->exec_sql("select jrn_def_id,jrn_def_name from jrn_def "); -$SecUser->db=$cn; -for ($e=0;$e < Database::num_row($Res);$e++) -{ - $row=Database::fetch_array($Res,$e); - $pdf->Cell(40,6,$row['jrn_def_name']); - $priv=$SecUser->check_jrn($row['jrn_def_id']); - switch($priv) - { - case 'X': - $pdf->SetTextColor(255,0,34); - $pdf->Cell(30,6,"Pas d'accès"); - break; - case 'R': - $pdf->SetTextColor(54,233,0); - $pdf->Cell(30,6,"Lecture"); - break; - case 'O': - /** - *non implemente - */ - $pdf->Cell(30,6,"Opérations prédéfinies uniquement"); - break; - case 'W': - $pdf->SetTextColor(54,233,0); - $pdf->Cell(30,6,'Ecriture'); - break; - } - $pdf->SetTextColor(0); - $pdf->Ln(); -} - -//----------------------------------------------------- -// Follow_Up -$pdf->SetFont('DejaVu','B',9); -$pdf->Cell(0,7,'Accès action',1,0,'C'); -$pdf->Ln(); -$pdf->SetFont('DejaVu','',6); -$Res=$cn->exec_sql( - "select ac_id, ac_description from action order by ac_description "); - -$Max=Database::num_row($Res); - -for ( $i =0 ; $i < $Max; $i++ ) -{ - $l_line=Database::fetch_array($Res,$i); - $pdf->Cell(90,6,$l_line['ac_description']); - $right=$SecUser->check_action($l_line['ac_id']); - switch ($right) - { - case 0: - $pdf->SetTextColor(255,0,34); - - $pdf->Cell(30,6,"Pas d'accès"); - break; - case 1: - case 2: - $pdf->SetTextColor(54,233,0); - $pdf->Cell(30,6,"Accès"); - break; - } - $pdf->SetTextColor(0); - - $pdf->Ln(); -} -$fDate=date('dmy-HI'); -$pdf->Output('security-'.$fDate.'pdf','D'); -?> diff --git a/sources/include/export_stock_histo_csv.php b/sources/include/export_stock_histo_csv.php deleted file mode 100644 index e47b9a1..0000000 --- a/sources/include/export_stock_histo_csv.php +++ /dev/null @@ -1,63 +0,0 @@ -create_query_histo($_GET); -$sql .= " order by real_date asc"; - -$res=$cn->exec_sql($sql); -$max_row=Database::num_row($res); -header('Pragma: public'); -header('Content-type: application/csv'); -header('Content-Disposition: attachment;filename="histo-stock.csv"',FALSE); -printf('"Date";'); - printf('"%s";','Code Stock'); - printf('"%s";','Depot'); - printf('"%s";','Fiche'); - printf('"%s";','Commentaire'); - printf('%s;','Quantité'); - printf('"%s";','IN/OUT'); - printf("\n\r"); -for ($i=0;$i<$max_row;$i++) -{ - $row=Database::fetch_array($res,$i); - printf('"%s";',$row['cdate']); - printf('"%s";',$row['sg_code']); - printf('"%s";',$row['r_name']); - printf('"%s";',$row['qcode']); - $row['ccomment']=str_replace('"','',$row['ccomment']); - printf('"%s";',$row['ccomment']); - printf('%s;',nbm($row['sg_quantity'])); - printf('"%s";',$row['direction']); - printf("\n\r"); - -} - -?> \ No newline at end of file diff --git a/sources/include/export_stock_resume_list.php b/sources/include/export_stock_resume_list.php deleted file mode 100644 index eccd5e7..0000000 --- a/sources/include/export_stock_resume_list.php +++ /dev/null @@ -1,91 +0,0 @@ -build_tmp_table($_GET); - -header('Pragma: public'); -header('Content-type: application/csv'); -header('Content-Disposition: attachment;filename="stock-summary-list.csv"',FALSE); - -?> -"Depot";"Adresse";"Ville";"Pays";"Code Stock";"Fiches";"IN";"OUT";"DIFF" -get_array("select distinct t.r_id,r_name,r_adress,r_city,r_country from stock_repository as s join tmp_stockgood_detail as t - on (s.r_id=t.r_id) - where - s_id=$1 - order by 2 - ",array($tmp_id)); - for ($r=0;$rget_array( - " - select coalesce(sum(s_qin),0) as qin,coalesce(sum(s_qout),0) as qout,sg_code - from tmp_stockgood_detail where r_id=$1 and s_id=$2 - group by sg_code - order by sg_code - - ",array($a_repo[$r]['r_id'],$tmp_id)); - for ($s=0;$sget_array( - " - select f_id,vw_name,quick_code - from vw_fiche_attr - where - f_id in ( - select distinct f_id from fiche_detail - where - ad_id=19 and - ad_value=$1) - order by vw_name,quick_code - ",array($a_stock[$s]['sg_code'])); - -printf ('"%s";',$a_repo[$r]['r_name']); -printf ('"%s";',$a_repo[$r]['r_adress']); -printf ('"%s";',$a_repo[$r]['r_city']); -printf ('"%s";',$a_repo[$r]['r_country']); -printf('"%s";',$a_stock[$s]['sg_code']); - $sep=""; - for ( $c=0;$c'; -echo dossier::hidden(); -// Ceci vous permet de revenir ici (voir extension.php) -echo HtmlInput::extension(); - -echo "Choix de la catégorie de fiche"; -$select_cat=new ISelect('fd_id'); -$select_cat->value=$cn->make_array('select fd_id,fd_label from fiche_def where frd_id='. - FICHE_TYPE_CLIENT); -echo $select_cat->input(); -echo HtmlInput::submit('display_prop','Afficher les propriétés'); - -echo ''; - -// on choisit d'afficher les propriétés avant de confirmer l'import -// get parce qu'on interroge -if ( isset($_GET['display_prop'])){ - $a=new Fiche($cn); - $prop=$a->to_array($_GET['fd_id']); - foreach ($prop as $key=>$value) echo "Index : $key valeur $value
      "; - - echo '
      '; - echo dossier::hidden(); - echo HtmlInput::extension(); - echo HtmlInput::hidden('fd_id',$_GET['fd_id']); - $file=new IFile('fichier_csv'); - echo $file->input(); - echo HtmlInput::submit('start_import','Démarrez importation'); - echo '
      '; - exit; -} -// Il est demandé de démarrer l'importation -// Post parce qu'on sauve -// On image que le fichier CSV n'a que 4 champs -// "nom client","prenom client", "numero client","adresse client" -// -if ( isset($_POST['start_import'])){ - $fd_id=$_POST['fd_id']; - $tmp_file=$_FILES['fichier_csv']['tmp_name']; - if ( ! is_uploaded_file($tmp_file)) - die ('Je ne peux charger ce fichier'); - // on ouvre le fichier - $f=fopen($tmp_file,'r'); - // On récupère les propriétés de cette catégorie de fiche - $client=new Fiche($cn); - // $array contient toutes les valeurs nécessaires à Fiche::insert, - $array=$client->to_array($_POST['fd_id']); - - while ( ($data=fgetcsv($f))==true) { - // remarque : on a éliminé les traitements d'erreur - - // On remet tous les attributs (propriétés) à vide - foreach(array_keys($array) as $key) $array[$key]=""; - - // Nom et prénom - $array['av_text1']=$data[0].' '.$data[1]; - // Numéro de client - $array['av_text30']=$data[2]; - // Adresse - $array['av_text14']=$data[3]; - // Quickcode - $array['av_text23']="CLI".$data[2]; - $client->insert($fd_id,$array); - } - exit; -} - -?> - -Voici le fichier plugin_client.txt (dans le répertoire dev) -"Nom client1","Prénom","C1","Rue de la boite,55" -"Nom client2","Prénom","C2","Rue du couvercle,55" -"Nom client3","Prénom","C3","Rue de la chaussure,55" -"Nom client4","Prénom","C4","Rue de la couleur,55" - -Si vous vérifiez dans VW_CLIENT, vous verrez que toutes vos fiches ont été ajoutées. Dans l'exemple, il faudra rajouter un traitement d'erreur plus élaborée, le fait que si une fiche echoue , l'opération est annulée (Database::rollback) ou alors création d'un fichier avec les enregistrements "ratés"... - - diff --git a/sources/include/extension_choice.inc.php b/sources/include/extension_choice.inc.php deleted file mode 100644 index 12b975f..0000000 --- a/sources/include/extension_choice.inc.php +++ /dev/null @@ -1,60 +0,0 @@ -'; -@html_page_start($_SESSION['g_theme']); - -$cn=new Database(dossier::id()); -global $g_user; -$g_user=new User($cn); -$g_user->check(); -$only_plugin=$g_user->check_dossier(dossier::id()); - - -/* javascript file */ -echo load_all_script(); - -/* show all the extension we can access */ -$a=new ISelect('plugin_code'); -$a->value=Extension::make_array($cn); -$a->selected=(isset($_REQUEST['plugin_code']))?strtoupper($_REQUEST['plugin_code']):''; - -/* no plugin available */ -if ( count($a->value) == 0 ) -{ - alert(j(_("Aucune extension disponible"))); - exit; -} - -/* only one plugin available then we don't propose a choice*/ -if ( count($a->value)==1 ) -{ - $_REQUEST['plugin_code']=$a->value[0]['value']; -} -echo '
      '; -/*else -{ - if (!isset($_REQUEST['ac'])) echo_warning ("ac non positionné"); - echo '
      '; - echo Dossier::hidden(); - echo HtmlInput::request_to_hidden(array('plugin_code','ac')); - echo _('Extension').$a->input().HtmlInput::submit('go',_("Choix de l'extension")); - echo '
      '; - echo '
      '; -}*/ - -//if ( isset($_REQUEST['plugin_code'])) -// require_once NOALYSS_INCLUDE.'/extension_get.inc.php'; -?> diff --git a/sources/include/extension_get.inc.php b/sources/include/extension_get.inc.php deleted file mode 100644 index 8ae3d4f..0000000 --- a/sources/include/extension_get.inc.php +++ /dev/null @@ -1,45 +0,0 @@ -search($_REQUEST['plugin_code']) == -1) - { - echo_warning("plugin non trouvé"); - return; -} -if ($ext->can_request($g_user->login)==-1) -{ - alert("Plugin non authorisé"); - return; -} -if ( ! file_exists(NOALYSS_PLUGIN.'/'.trim($ext->me_file))) - { - alert(j(_("Ce fichier n'existe pas "))); - return; - } -echo '
      '; -require_once NOALYSS_PLUGIN.DIRECTORY_SEPARATOR.trim($ext->me_file); - - -?> diff --git a/sources/include/fiche.inc.php b/sources/include/fiche.inc.php deleted file mode 100644 index 36b97cb..0000000 --- a/sources/include/fiche.inc.php +++ /dev/null @@ -1,601 +0,0 @@ -value = $cn->make_array('select fd_id,fd_label from fiche_def order by fd_label'); -$categorie->selected = (isset($_GET['cat'])) ? $_GET['cat'] : 0; -$str_categorie = $categorie->input(); - -$icall = new ICheckBox("allcard", 1); -$icall->selected = (isset($_GET['allcard'])) ? 1 : 0; -$str_icall = $icall->input(); -/* periode */ -$exercice = $g_user->get_exercice(); -$iperiode = new Periode($cn); -list ($first, $last) = $iperiode->get_limit($exercice); - -$periode_start = new IDate('start'); -$periode_end = new IDate('end'); - -$periode_start->value = (isset($_GET['start'])) ? $_GET['start'] : $first->first_day(); -$periode_end->value = (isset($_GET['end'])) ? $_GET['end'] : $last->last_day(); - -$str_start = $periode_start->input(); -$str_end = $periode_end->input(); - -/* histo ou summary */ -$histo = new ISelect('histo'); -$histo->value = array( - array('value' => -1, 'label' => _('Liste')), - array('value' => 0, 'label' => _('Historique')), - array('value' => 1, 'label' => _('Historique Lettré')), - array('value' => 6, 'label' => _('Historique Lettré et montants différents')), - array('value' => 2, 'label' => _('Historique non Lettré')), - array('value' => 3, 'label' => _('Résumé')), - array('value' => 4, 'label' => _('Balance')), - array('value' => 6, 'label' => _('Balance âgée')), - array('value' => 7, 'label' => _('Balance âgée en-cours')), - array('value' => 5, 'label' => _('Balance non soldée')) -); -$histo->javascript = 'onchange="if (this.value==3 || this.value==-1) { - g("trstart").style.display="none";g("trend").style.display="none";g("allcard").style.display="none";} - else {g("trstart").style.display="";g("trend").style.display="";g("allcard").style.display="";}"'; - -$histo->selected = (isset($_GET['histo'])) ? $_GET['histo'] : -1; -$str_histo = $histo->input(); -echo '
      '; -echo '
      '; -echo dossier::hidden(); -echo HtmlInput::hidden('ac', $_GET['ac']); -require_once NOALYSS_INCLUDE.'/template/impress_cat_card.php'; -echo HtmlInput::submit('cat_display', _('Recherche')); -echo '
      '; -$search_card=new IText('card_search'); -$search_card_js=sprintf('onclick="boxsearch_card(\'%d\')"',dossier::id()); -?> -
      - - :input()?> - -
      -'; -$str = "if (g('histo').value==3 || g('histo').value== -1 ) { - g('trstart').style.display='none';g('trend').style.display='none';g('allcard').style.display='none';} - else {g('trstart').style.display='';g('trend').style.display='';g('allcard').style.display='';} - if ( g('histo').value== -1 ) { g('allcard').style.display='';} - - "; -echo create_script($str); -echo '
      '; - -//----------------------------------------------------- -if (!isset($_GET['cat_display'])) - return; - -$fd_id = $_GET['cat']; - -$array = Fiche::get_fiche_def($cn, $_GET['cat'], 'name_asc'); - -$h_add_card_b = new IButton('add_card'); -$h_add_card_b->label = _('Créer une nouvelle fiche'); -$h_add_card_b->javascript = "dis_blank_card({gDossier:$gDossier,fd_id:$fd_id,ref:2})"; -$str_add_card = ($g_user->check_action(FICADD) == 1) ? $h_add_card_b->input() : ""; - -/* - * You show now the result - */ -if ($array == null) -{ - echo '
      '; - echo '

      '._('Aucune fiche trouvée').'

      '; - echo $str_add_card; - echo '
      '; - return; -} - -$allcard = (isset($_GET['allcard'])) ? 1 : 0; -if ( $allcard == 0 ){ - $fiche_def=new Fiche_Def($cn,$_GET['cat']); - $fiche_def->get(); - echo h1($fiche_def->label,""); - echo h2($fiche_def->fd_description,""); -} -echo '
      '; -/* * ********************************************************************************************************************************* - * Liste - * - * ******************************************************************************************************************************** */ -if ($_GET['histo'] == -1) -{ - $write = $g_user->check_action(FICADD); - /** - * If ask for move or delete - */ - if (isset($_POST['action'])) - { - if ($write == 1) - { - $ack = $_POST['f_id']; - /** - * Move - */ - if (isset($_POST['move'])&& $_POST['move'] == 1) - { - for ($i = 0; $i < count($ack); $i++) - { - $fiche = new Fiche($cn, $ack[$i]); - $fiche->move_to($_POST['move_to']); - } - } - /** - * Delete - */ - if (isset($_POST['delete'])&& $_POST['delete']==1) - { - $msg=""; - for ($i = 0; $i < count($ack); $i++) - { - $fiche = new Fiche($cn, $ack[$i]); - if ( $fiche->remove(true) == 1 ) - { - $msg.="\n ".$fiche->strAttribut(ATTR_DEF_QUICKCODE); - } - } - if ($msg != "") - { - echo '
      '; - echo h2(_("Fiche non effacées"), ' class="error" '); - echo '

      '._(" Ces fiches n'ont pas été effacées ").$msg; - echo '

      '; - } - } - } - else - { - echo NoAccess(); - } - } - $sql = "select f_id from fiche "; - if ($allcard == 1) - { - $cond = ""; - } - else - { - $cond = " where f.fd_id = " . sql_string($_GET['cat']); - } - // Create nav bar - $max = $cn->get_value("select count(*) from fiche as f " . $cond); - - $step = $_SESSION['g_pagesize']; - $page = (isset($_GET['offset'])) ? $_GET['page'] : 1; - $offset = (isset($_GET['offset'])) ? $_GET['offset'] : 0; - $bar = navigation_bar($offset, $max, $step, $page); - $limit = ($step == -1 ) ? "" : " limit " . $step; - $res = $cn->exec_sql(" - select f_id, - (select ad_value from fiche_detail as fd1 where ad_id=1 and fd1.f_id=f.f_id) as name, - (select ad_value from fiche_detail as fd1 where ad_id=23 and fd1.f_id=f.f_id) as qcode, - fd_label, - (select ad_value from fiche_detail as fd1 where ad_id=5 and fd1.f_id=f.f_id) as poste - from fiche as f join fiche_def as fd on (fd.fd_id=f.fd_id) - $cond order by 2,4 offset $offset $limit - "); - $nb_line = Database::num_row($res); - if ($write != 1 || $allcard != 0 ) $str_add_card=""; - require_once NOALYSS_INCLUDE.'/template/fiche_list.php'; - echo '
      '.$bar; - return; -} -/* * ********************************************************************************************************************************* - * Summary - * - * ******************************************************************************************************************************** */ -if ($_GET['histo'] == 3) -{ - $cat_card = new Fiche_Def($cn); - $cat_card->id = $_GET['cat']; - $aHeading = $cat_card->getAttribut(); - if ( $allcard == 0) echo $str_add_card; - require_once NOALYSS_INCLUDE.'/template/result_cat_card_summary.php'; - - $hid = new IHidden(); - echo '
      ' . dossier::hidden() . - HtmlInput::submit('bt_csv', "Export CSV") . - HtmlInput::hidden('act', "CSV:fiche") . - $hid->input("type", "fiche") . - $hid->input("ac", $_REQUEST['ac']) . - $hid->input("fd_id", $_REQUEST['cat']); - echo "
      "; - - return; -} -$export_pdf = '
      '; -$export_pdf.=HtmlInput::hidden('cat', $_GET['cat']); -$export_pdf.=HtmlInput::hidden('act', "PDF:fiche_balance") . - $export_pdf.=HtmlInput::hidden('start', $_GET['start']); -$export_pdf.=HtmlInput::hidden('end', $_GET['end']); -$export_pdf.=HtmlInput::hidden('histo', $_GET['histo']); -$export_pdf.=HtmlInput::request_to_hidden(array('allcard')); -$export_pdf.=dossier::hidden(); -$export_pdf.=HtmlInput::submit('pdf', 'Export en PDF'); -$export_pdf.='
      '; - -$export_print = HtmlInput::print_window(); - -$export_csv = '
      '; -$export_csv.=HtmlInput::hidden('cat', $_GET['cat']); -$export_csv.=HtmlInput::hidden('act', 'CSV:fiche_balance'); -$export_csv.=HtmlInput::hidden('start', $_GET['start']); -$export_csv.=HtmlInput::hidden('end', $_GET['end']); -$export_csv.=HtmlInput::hidden('histo', $_GET['histo']); -$export_csv.=HtmlInput::request_to_hidden(array('allcard')); -$export_csv.=dossier::hidden(); -$export_csv.=HtmlInput::submit('CSV', 'Export en CSV'); -$export_csv.='
      '; -/* - * Date is important is requested balance - */ -if (isDate($_REQUEST['start']) == null || isDate($_REQUEST['end']) == null) -{ - echo h2('Date invalide !', 'class="error"'); - alert('Date invalide !'); - return; -} -/************************************************************************************************************************* - * Balance agée tous -/*************************************************************************************************************************/ -if ( $_GET['histo'] == 6) -{ - require_once NOALYSS_INCLUDE.'/class_balance_age.php'; - $bal=new Balance_Age($cn); - $export_csv = '
      '; - $export_csv .=HtmlInput::request_to_hidden(array('gDossier','ac','p_let','p_date_start')); - $export_csv.=HtmlInput::hidden('p_date_start', $_GET['start']); - $export_csv .= HtmlInput::hidden('act','CSV:balance_age'); - $export_csv .= HtmlInput::hidden('p_let','let'); - $export_csv .= HtmlInput::hidden('p_type','X'); - $export_csv .= HtmlInput::hidden('cat',$_GET['cat']); - $export_csv .= HtmlInput::hidden('all',$allcard); - $export_csv .= HtmlInput::submit('csv',_('Export CSV')); - $export_csv.='

      '; - if ( $allcard == 0 ) - { - echo $export_csv; - $bal->display_category($_GET['start'],$_GET['cat'],'let'); - echo $export_csv; - } - else - { - echo $export_csv; - $a_cat = $cn->get_array("select fd_id from vw_fiche_def where ad_id=" . ATTR_DEF_ACCOUNT . " order by fd_label asc"); - $nb_cat=count($a_cat); - for ($i=0;$i < $nb_cat;$i++) - { - $bal->display_category($_GET['start'],$a_cat[$i]['fd_id'],'let'); - } - echo $export_csv; - } - return; -} -/************************************************************************************************************************* - * Balance en-cours -/*************************************************************************************************************************/ -if ( $_GET['histo'] == 7) -{ - require_once NOALYSS_INCLUDE.'/class_balance_age.php'; - $bal=new Balance_Age($cn); - $export_csv = '
      '; - $export_csv .=HtmlInput::request_to_hidden(array('gDossier','ac','p_let','p_date_start')); - $export_csv.=HtmlInput::hidden('p_date_start', $_GET['start']); - $export_csv .= HtmlInput::hidden('act','CSV:balance_age'); - $export_csv .= HtmlInput::hidden('p_let','unlet'); - $export_csv .= HtmlInput::hidden('p_type','X'); - $export_csv .= HtmlInput::hidden('cat',$_GET['cat']); - $export_csv .= HtmlInput::hidden('all',$allcard); - $export_csv .= HtmlInput::submit('csv',_('Export CSV')); - $export_csv.='

      '; - if ( $allcard == 0 ) - { - echo $export_csv; - $bal->display_category($_GET['start'],$_GET['cat'],'unlet'); - echo $export_csv; - } - else - { - echo $export_csv; - $a_cat = $cn->get_array("select fd_id from vw_fiche_def where ad_id=" . ATTR_DEF_ACCOUNT . " order by fd_label asc"); - $nb_cat=count($a_cat); - for ($i=0;$i < $nb_cat;$i++) - { - $bal->display_category($_GET['start'],$a_cat[$i]['fd_id'],'unlet'); - } - echo $export_csv; - } - return; -} -/******************************************************************************************************************************** - * Balance - * - **********************************************************************************************************************************/ -if ($_GET['histo'] == 4 || $_GET['histo'] == 5) -{ - if ( $allcard == 0 ) echo $str_add_card; - echo $export_pdf; - echo $export_csv; - echo $export_print; - - $fd = new Fiche_Def($cn, $_REQUEST['cat']); - if ($allcard == 0 && $fd->hasAttribute(ATTR_DEF_ACCOUNT) == false) - { - echo alert(_("Cette catégorie n'ayant pas de poste comptable n'a pas de balance")); - return; - } - // all card - if ($allcard == 1) - { - $afiche = $cn->get_array("select fd_id from vw_fiche_def where ad_id=" . ATTR_DEF_ACCOUNT . " order by fd_label asc"); - } - else - { - $afiche[0] = array('fd_id' => $_REQUEST['cat']); - } - - for ($e = 0; $e < count($afiche); $e++) - { - $ret = $cn->exec_sql("select f_id,ad_value from fiche join fiche_detail using(f_id) where fd_id=$1 and ad_id=1 order by 2 ", array($afiche[$e]['fd_id'])); - if ($cn->count() == 0) - { - if ($allcard == 0) - { - echo _("Aucune fiche trouvée"); - return; - } else - continue; - } - echo '

      ' . $cn->get_value("select fd_label from fiche_def where fd_id=$1", array($afiche[$e]['fd_id'])) . '

      '; - $id="table_".$afiche[$e]['fd_id']."_id"; - echo _('Filtre rapide:').HtmlInput::filter_table($id, '0,1,2', '1'); - echo ''; - echo tr( - th('Quick Code') . - th('Libellé') . - ''. - th('Débit', 'style="text-align:right"') . - th('Crédit', 'style="text-align:right"') . - th('Solde', 'style="text-align:right"') . - th('D/C', 'style="text-align:right"') - ); - $idx = 0;$sum_deb=0;$sum_cred=0;$sum_solde=0;bcscale(4); - for ($i = 0; $i < Database::num_row($ret); $i++) - { - $filter = " (j_date >= to_date('" . $_REQUEST['start'] . "','DD.MM.YYYY') " . - " and j_date <= to_date('" . $_REQUEST['end'] . "','DD.MM.YYYY')) "; - $aCard = Database::fetch_array($ret, $i); - $oCard = new Fiche($cn, $aCard['f_id']); - $solde = $oCard->get_solde_detail($filter); - if ($solde['debit'] == 0 && $solde['credit'] == 0) - continue; - /* only not purged card */ - if ($_GET['histo'] == 5 && $solde['debit'] == $solde['credit']) - continue; - $class =($idx % 2 == 0) ? 'class="odd"':'class="even"'; - $idx++; - $sum_cred=bcadd($sum_cred,$solde['credit']); - $sum_deb=bcadd($sum_deb,$solde['debit']); - $sum_solde=bcsub($sum_deb,$sum_cred); - echo tr( - td(HtmlInput::history_card($oCard->id, $oCard->strAttribut(ATTR_DEF_QUICKCODE))) . - td($oCard->strAttribut(ATTR_DEF_NAME)) . - td(HtmlInput::history_account($oCard->strAttribut(ATTR_DEF_ACCOUNT),$oCard->strAttribut(ATTR_DEF_ACCOUNT))). - td(nbm($solde['debit']), 'class="sorttable_numeric" sorttable_customkey="'.$solde['debit'].'" style="text-align:right"') . - td(nbm($solde['credit']), 'class="sorttable_numeric" sorttable_customkey="'.$solde['debit'].'" style="text-align:right"') . - td(nbm(abs($solde['solde'])), 'class="sorttable_numeric" sorttable_customkey="'.$solde['solde'].'" style="text-align:right"') . - td((($solde['debit'] < $solde['credit']) ? 'C' : 'D'), 'style="text-align:right"'), $class - ); - - - - } - echo ''; - echo tr( - td(''). - td(_('Totaux')). - td(''). - td(nbm($sum_deb), 'style="text-align:right"'). - td(nbm($sum_cred), 'style="text-align:right"'). - td(nbm(abs($sum_solde)), 'style="text-align:right"'). - td((($sum_deb < $sum_cred) ? 'C' : 'D'), 'style="text-align:right"'),' class="highlight"'); - echo ''; - echo '
      Poste'.HtmlInput::infobulle(27).'
      '; - } - if ( $allcard == 0 ) echo $str_add_card; - echo $export_pdf; - echo $export_csv; - echo $export_print; - - return; -} - -/*********************************************************************************************************************************** - * Lettering - * - **********************************************************************************************************************************/ -// all card -if ($allcard == 1) -{ - $afiche = $cn->get_array("select fd_id from vw_fiche_def where ad_id=" . ATTR_DEF_ACCOUNT . " order by fd_label asc"); -} -else -{ - $afiche[0] = array('fd_id' => $_REQUEST['cat']); -} -if ( $allcard == 0) echo $str_add_card; -echo $export_csv; -echo $export_pdf; -echo $export_print; -$fiche = new Fiche($cn); -for ($e = 0; $e < count($afiche); $e++) -{ - $array = Fiche::get_fiche_def($cn, $afiche[$e]['fd_id'], 'name_asc'); - - foreach ($array as $card) - { - $row = new Fiche($cn, $card['f_id']); - $letter = new Lettering_Card($cn); - $letter->set_parameter('quick_code', $row->strAttribut(ATTR_DEF_QUICKCODE)); - $letter->set_parameter('start', $_GET['start']); - $letter->set_parameter('end', $_GET['end']); - // all - if ($_GET['histo'] == 0) - { - $letter->get_all(); - } - - // lettered - if ($_GET['histo'] == 1) - { - $letter->get_letter(); - } - // unlettered - if ($_GET['histo'] == 2) - { - $letter->get_unletter(); - } - if ($_GET['histo'] == 6) - { - $letter->get_letter_diff(); - } - /* skip if nothing to display */ - if (count($letter->content) == 0) - continue; - $detail_card = HtmlInput::card_detail($row->strAttribut(ATTR_DEF_QUICKCODE), $row->strAttribut(ATTR_DEF_NAME)); - - echo '

      ' . $detail_card ; - echo "poste " - . ":".HtmlInput::history_account($row->strAttribut(ATTR_DEF_ACCOUNT),$row->strAttribut(ATTR_DEF_ACCOUNT),'display:inline').HtmlInput::infobulle(27).'

      '; - - echo ''; - echo ''; - echo th(_('Date')); - echo th(_('ref')); - echo th(_('Interne')); - echo th(_('Comm')); - echo th(_('Montant'), 'style="width:auto" colspan="2"'); - echo th(_('Prog.')); - echo th(_('Let.')); - echo ''; - $amount_deb = 0; - $amount_cred = 0; - $prog = 0; - bcscale(2); - for ($i = 0; $i < count($letter->content); $i++) - { - $row = $letter->content[$i]; - $html_letter=""; - if ($row['letter']!=-1) { - $html_letter=strtoupper(base_convert($row['letter'],10,36)); - } - if ($i % 2 == 0) - echo ''; - else - echo ''; - - echo td($row['j_date_fmt']); - echo td(h($row['jr_pj_number'])); - echo td(HtmlInput::detail_op($row['jr_id'], $row['jr_internal'])); - echo td(h($row['jr_comment'])); - if ($row['j_debit'] == 't') - { - echo td(nbm($row['j_montant']), ' style="text-align:right"'); - $amount_deb=bcadd($amount_deb,$row['j_montant']); - $prog = bcadd($prog, $row['j_montant']); - echo td(""); - } - else - { - echo td(""); - echo td(nbm($row['j_montant']), ' style="text-align:right"'); - $amount_cred=bcadd($amount_cred,$row['j_montant']); - $prog = bcsub($prog, $row['j_montant']); - } - $side = " " . $fiche->get_amount_side($prog); - echo td(nbm($prog) . $side, 'style="text-align:right"'); - $html_let=""; - if ($row['letter']!=-1) { - $span_error = ""; - if ($row['letter_diff'] != 0) - $span_error = $g_failed; - echo ''; - } - else - echo td(''); - echo ''; - } - echo '
      '.HtmlInput::show_reconcile("", $html_letter,$span_error).'
      '; - echo ''; - echo ''; - echo td(_('Debit')); - echo td(nbm($amount_deb), ' style="font-weight:bold;text-align:right"'); - echo ''; - echo ''; - echo td(_('Credit')); - echo td(nbm($amount_cred), ' style="font-weight:bold;text-align:right"'); - echo ''; - echo ''; - $solde=abs(round($amount_cred - $amount_deb, 2)); - if ( $solde == 0) - { - $s='solde'; - } - else if ($amount_deb > $amount_cred) - $s = 'solde débiteur'; - else - $s = 'solde crediteur'; - echo td($s); - echo td(nbm($solde), ' style="font-weight:bold;text-align:right"'); - echo ''; - echo '
      '; - } -} -if ( $allcard == 0) echo $str_add_card; -echo $export_csv; -echo $export_pdf; -echo $export_print; -?> - diff --git a/sources/include/fiche_def.inc.php b/sources/include/fiche_def.inc.php deleted file mode 100644 index 789b83e..0000000 --- a/sources/include/fiche_def.inc.php +++ /dev/null @@ -1,87 +0,0 @@ -'; -// record change -if ( isset ($_POST['confirm_mod'])) -{ - extract ($_POST); - $update=new Fiche_Def_Ref($cn); - $update->frd_id=sql_string($frd_id); - $update->frd_text=sql_string($frd_text); - $update->frd_class_base=sql_string($frd_class_base); - $update->Save(); -} -// Load All Fiche_def -$fiche_def=new Fiche_Def_Ref($cn); -$all=$fiche_def->LoadAll(); - -// Display Them -echo ''; -for ($i=0;$i'; - echo $all[$i]->Display(); - echo ""; - echo ''; -} -echo "
      "; - echo '
      '; - $w=new IHidden(); - echo $w->input('idx',$all[$i]->frd_id); - echo HtmlInput::submit('mod','modifie'); - echo $w->input($_REQUEST['ac'],'ac'); - //echo $w->input($sa,'sa'); - echo "
      "; - echo "
      "; -// modify input -if ( isset ($_POST['mod']) ) -{ - extract ($_POST); - echo '
      '; - echo _("Voulez-vous modifier ?"); - echo "
      "; - echo _("Attention, ne changer pas la signification de ce poste."); - echo hi(_("par exemple ne pas changer Client par fournisseur"))."
      "; - echo _("sinon le programme fonctionnera mal, ". - "utiliser uniquement des chiffres pour la classe de base ou rien")."
      "; - - $mod=new Fiche_Def_Ref($cn); - $mod->frd_id=$idx; - $mod->Get(); - echo '
      '; - echo '
        Input(); - echo "
      "; - $w=new IHidden(); - echo $w->input('ac',$_REQUEST['ac']); -// echo $w->input('sa',$sa); - echo HtmlInput::submit('confirm_mod' ,'Confirme'); - echo HtmlInput::submit('no','Cancel'); - echo '
      '; - echo '
      '; -} -echo '
      '; diff --git a/sources/include/forecast.inc.php b/sources/include/forecast.inc.php deleted file mode 100644 index 18836cc..0000000 --- a/sources/include/forecast.inc.php +++ /dev/null @@ -1,396 +0,0 @@ -'; - -$sa = (isset($_REQUEST['sa'])) ? $_REQUEST['sa'] : 'list'; -/* * ******************************************************************** - * Remove a anticipation - * - * - * ******************************************************************** */ -if ( $action == 'del' ) -{ - $forecast = new Forecast($cn, $_GET['f_id']); - $forecast->delete(); -} -/* - * Cloning - */ -if ( $action == 'clone' ) -{ - echo "

      cloning

      "; - /* - * We need to clone the forecast - */ - $anti = new Forecast($cn, $_REQUEST ['f_id']); - $anti->object_clone(); - $sa="list"; -} -/* * ******************************************************************** - * Save the modification mod_cat_save - * - * - * ******************************************************************** */ -if (isset($_POST['mod_cat_save'])) -{ - /* - * We save the forecast - */ - $anti = new Forecast($cn, $_POST['f_id']); - try - { - $cn->start(); - /* Save forecast */ - $anti->set_parameter('name', $_POST['an_name']); - $anti->set_parameter('start_date', $_POST['start_date']); - $anti->set_parameter('end_date', $_POST['end_date']); - - $anti->save(); - - /* add new category */ - for ($i = 0; $i < MAX_CAT; $i++) - { - if (isset($_POST['fr_cat_new' . $i])) - { - if (strlen(trim($_POST['fr_cat_new' . $i])) != 0) - { - $c = new Forecast_Cat($cn); - $c->set_parameter('order', $_POST['fc_order_new' . $i]); - $c->set_parameter('desc', $_POST['fr_cat_new' . $i]); - $c->set_parameter('forecast', $_POST['f_id']); - $c->save(); - } - } - } - - /* update existing cat */ - foreach ($_POST as $key => $value) - { - $var = sscanf($key, 'fr_cat%d'); - $idx = sprintf("fr_cat%d", $var[0]); - if (isset($_POST[$idx])) - { - $fc = new Forecast_Cat($cn, $var[0]); - if (strlen(trim($_POST[$idx])) == 0) - { - $fc->delete(); - } - else - { - $fc->set_parameter('order', $_POST['fc_order' . $var[0]]); - $fc->set_parameter('desc', $_POST['fr_cat' . $var[0]]); - $fc->set_parameter('forecast', $_POST['f_id']); - $fc->save(); - } - } - } - - $cn->commit(); - } - catch (Exception $e) - { - alert($e->getMessage()); - $cn->rollback(); - } - $sa = 'vw'; -} -/* * ******************************************************************** - * Save first the data for new - * - * - * ******************************************************************** */ -if ($sa == 'new' || isset($_POST['step3'])) -{ - $correct = 0; - if (isset($_POST['step3'])) - { - /* save all the items */ - try - { - $cn->start(); - for ($i = 0; $i < $_POST['nbrow']; $i++) - { - - // Delete if needed - if (isset($_POST['fi_id' . $i])) - { - if (strlen(trim($_POST['an_cat_acc' . $i])) == 0 && strlen(trim($_POST['an_qc' . $i])) == 0) - { - $e = new Forecast_item($cn); - $e->set_parameter("id", $_POST['fi_id' . $i]); - $e->delete(); - } - } - - if (strlen(trim($_POST['an_cat_acc' . $i])) != 0 || strlen(trim($_POST['an_qc' . $i])) != 0) - { - /* we save only if there is something */ - $e = new Forecast_item($cn); - if (isset($_POST['fi_id' . $i])) - { - $e->set_parameter("id", $_POST['fi_id' . $i]); - } - $e->set_parameter('text', $_POST['an_label' . $i]); - $e->set_parameter('amount', $_POST['an_cat_amount' . $i]); - $e->set_parameter('debit', $_POST['an_deb' . $i]); - $e->set_parameter('cat_id', $_POST['an_cat' . $i]); - $e->set_parameter('account', $_POST['an_cat_acc' . $i]); - $e->set_parameter('periode', $_POST['month' . $i]); - $f = new Fiche($cn); - if ($f->get_by_qcode($_POST['an_qc' . $i], false) == 0) - $e->set_parameter('card', $f->id); - else - $e->set_parameter('card', null); - $e->set_parameter('order', $i); - $e->save(); - } - } - $cn->commit(); - $sa = 'vw'; // to avoid to restart the add of new anticipation - } - catch (Exception $e) - { - $cn->rollback(); - alert($e->getMessage()); - $correct = 1; - } - } - /* Second step : we save the name and category - * and propose the items we add the item */ - if ($correct == 2 || isset($_POST['step2'])) - { - try - { - $cn->start(); - /* Save forecast */ - $a = new Forecast($cn); - $a->set_parameter('name', $_POST['an_name']); - $a->set_parameter('start_date', $_POST['start_date']); - $a->set_parameter('end_date', $_POST['end_date']); - - - $a->save(); - $id = $a->get_parameter("id"); - /* save cat */ - for ($i = 0; $i < MAX_CAT; $i++) - { - if (strlen(trim($_POST['fr_cat' . $i])) != 0) - { - $c = new Forecast_Cat($cn); - $c->set_parameter('order', $_POST['fr_order' . $i]); - $c->set_parameter('desc', $_POST['fr_cat' . $i]); - $c->set_parameter('forecast', $id); - $c->save(); - } - } - $cn->commit(); - } - catch (Exception $e) - { - alert($e->getMessage()); - $correct = 1; - unset($_POST['step2']); - $cn->rollback(); - } - } -} - -/* * ******************************************************************** - * Ask for a new anticipation (forecast) - * - * - * ******************************************************************** */ -if ($sa == 'new') -{ - /* Second step : we save the name and category - * and propose the items we add the item */ - if ($correct == 2 || isset($_POST['step2'])) - { - /* Propose a form for the items - */ - $anticip = new Anticipation($cn, $a->get_parameter("id")); - echo '
      '; - echo ICard::ipopup('ipopcard'); - echo IPoste::ipopup('ipop_account'); - $search_card = new IPopup('ipop_card'); - $search_card->title = _('Recherche de fiche'); - $search_card->value = ''; - echo $search_card->input(); - - echo '
      '; - echo dossier::hidden(); - echo HtmlInput::hidden('sa', 'new'); - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - echo HtmlInput::hidden('f_id', $id); - echo $anticip->form_item(); - echo HtmlInput::submit('step3', _('Sauver')); - echo '
      '; - echo '
      '; - } - /* First step, the name and the category */ - if (!isset($_POST['step2']) || $correct == 1) - { - $anc = new Anticipation($cn); - echo '
      '; - /* display a blank form for name and category */ - echo '
      '; - echo dossier::hidden(); - echo HtmlInput::hidden('sa', 'new'); - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - echo $anc->form_cat(); - echo HtmlInput::submit('step2', _('Sauver')); - echo '
      '; - echo '
      '; - } -} -/* * ******************************************************************** - * If we request to modify the category or the name - * - * - * ******************************************************************** */ -if ( $action == 'mod_cat') -{ - $anc = new Anticipation($cn, $_GET['f_id']); - echo '
      '; - /* display a blank form for name and category */ - echo '
      '; - echo dossier::hidden(); - echo HtmlInput::hidden('sa', 'mod'); - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - echo $anc->form_cat(); - echo HtmlInput::submit('mod_cat_save', _('Sauver')); - - echo '
      '; - echo '
      '; - return; -} -/* * ******************************************************************** - * If we request to modify the items - * - * - * ******************************************************************** */ -if ($action == 'mod_item' ) -{ - - /* Propose a form for the items - */ - $anticip = new Anticipation($cn, $_GET['f_id']); - echo '
      '; - echo '
      '; - echo dossier::hidden(); - echo HtmlInput::hidden('sa', 'new'); - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - echo HtmlInput::hidden('f_id', $_GET['f_id']); - echo $anticip->form_item(); - echo HtmlInput::submit('step3', _('Sauver')); - echo '
      '; - echo '
      '; - return; -} -/* * ******************************************************************** - * if a forecast is asked we display the result - * - * - * ******************************************************************** */ -if (isset($_REQUEST['f_id']) && $sa == "vw") -{ - echo '
      '; - $forecast = new Anticipation($cn); - $forecast->set_parameter("id", $_REQUEST['f_id']); - try - { - echo $forecast->display(); - echo '
      '; - echo '
      '; - echo dossier::hidden(); - echo HtmlInput::hidden('action',''); - echo HtmlInput::hidden('f_id', $_REQUEST['f_id']); - echo HtmlInput::submit('mod_cat_bt', _('Modifier nom ou catégories'),'onclick="$(\'action\').value=\'mod_cat\';"'); - echo HtmlInput::submit('mod_item_bt', _('Modifier éléments'),'onclick="$(\'action\').value=\'mod_item\';"'); - //echo HtmlInput::submit('cvs',_('Export CVS')); - echo HtmlInput::submit('del_bt', _('Effacer'), 'onclick="$(\'action\').value=\'del\';return confirm_box(\'forecast_frm\',\'' . _('Vous confirmez l\\\' effacement') . '\')"'); - echo HtmlInput::submit('clone_bt', _('Cloner'), 'onclick="$(\'action\').value=\'clone\';return confirm_box(\'forecast_frm\',\'' . _('Vous confirmez le clonage ') . '\')"'); - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - $href=http_build_query(array('ac'=>$_REQUEST['ac'],'gDossier'=>$_REQUEST['gDossier'])); - echo ''._('Retour').''; - echo '
      '; - echo '
      '; - echo '
      '; - return; - } - catch (Exception $e) - { - echo "

      " . _("Erreur")." : " . $e->getMessage() . '

      ' . _('Vous devez corriger') . '

      '; - $anc = new Anticipation($cn, $_GET['f_id']); - echo '
      '; - /* display a blank form for name and category */ - echo '
      '; - echo dossier::hidden(); - echo HtmlInput::hidden('sa', 'mod'); - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - echo $anc->form_cat(); - echo HtmlInput::submit('mod_cat_save', _('Sauver')); - echo '
      '; - echo '
      '; - } -} -/* * ******************************************************************** - * Display menu - * - * - * ******************************************************************** */ -// display button add and list of forecast to display -if ($sa=='list') -{ - $aForecast=Forecast::load_all($cn); - $menu=array(); - $get_dossier=dossier::get(); - - echo '
      '; - echo _('Filtre')." ".HtmlInput::filter_table("forecast_table_id", '0', 1); - echo ''; - $href="?ac=".$_REQUEST['ac']."&sa=new&".$get_dossier; - echo ''; - $def=(isset($_REQUEST['f_id']))?$_REQUEST['f_id']:-1; - for ($i=0; $i'; - } - - echo "
      '._("Ajout d'une prévision").'
      '.h($name).'
      "; - echo '
      '; - return; -} -?> -
      \ No newline at end of file diff --git a/sources/include/function_javascript.php b/sources/include/function_javascript.php deleted file mode 100644 index 7022b83..0000000 --- a/sources/include/function_javascript.php +++ /dev/null @@ -1,2786 +0,0 @@ -'; - // debug - - return $script; - -} -/*! - *\brief create the HTML for adding the script tags around of the script - *\param $p_string source codename of the file - *\return the HTML script - */ -function create_script($p_string) -{ - $script=''; - return $script; - -} -function encodeURIComponent($string) -{ - $result = ""; - for ($i = 0; $i < strlen($string); $i++) - { - $result .= encodeURIComponentbycharacter(urlencode($string[$i])); - } - return $result; -} - -function encodeURIComponentbycharacter($char) -{ - if ($char == "+") - { - return "%20"; - } - if ($char == "%21") - { - return "!"; - } - if ($char == "%27") - { - return '"'; - } - if ($char == "%28") - { - return "("; - } - if ($char == "%29") - { - return ")"; - } - if ($char == "%2A") - { - return "*"; - } - if ($char == "%7E") - { - return "~"; - } - if ($char == "%80") - { - return "%E2%82%AC"; - } - if ($char == "%81") - { - return "%C2%81"; - } - if ($char == "%82") - { - return "%E2%80%9A"; - } - if ($char == "%83") - { - return "%C6%92"; - } - if ($char == "%84") - { - return "%E2%80%9E"; - } - if ($char == "%85") - { - return "%E2%80%A6"; - } - if ($char == "%86") - { - return "%E2%80%A0"; - } - if ($char == "%87") - { - return "%E2%80%A1"; - } - if ($char == "%88") - { - return "%CB%86"; - } - if ($char == "%89") - { - return "%E2%80%B0"; - } - if ($char == "%8A") - { - return "%C5%A0"; - } - if ($char == "%8B") - { - return "%E2%80%B9"; - } - if ($char == "%8C") - { - return "%C5%92"; - } - if ($char == "%8D") - { - return "%C2%8D"; - } - if ($char == "%8E") - { - return "%C5%BD"; - } - if ($char == "%8F") - { - return "%C2%8F"; - } - if ($char == "%90") - { - return "%C2%90"; - } - if ($char == "%91") - { - return "%E2%80%98"; - } - if ($char == "%92") - { - return "%E2%80%99"; - } - if ($char == "%93") - { - return "%E2%80%9C"; - } - if ($char == "%94") - { - return "%E2%80%9D"; - } - if ($char == "%95") - { - return "%E2%80%A2"; - } - if ($char == "%96") - { - return "%E2%80%93"; - } - if ($char == "%97") - { - return "%E2%80%94"; - } - if ($char == "%98") - { - return "%CB%9C"; - } - if ($char == "%99") - { - return "%E2%84%A2"; - } - if ($char == "%9A") - { - return "%C5%A1"; - } - if ($char == "%9B") - { - return "%E2%80%BA"; - } - if ($char == "%9C") - { - return "%C5%93"; - } - if ($char == "%9D") - { - return "%C2%9D"; - } - if ($char == "%9E") - { - return "%C5%BE"; - } - if ($char == "%9F") - { - return "%C5%B8"; - } - if ($char == "%A0") - { - return "%C2%A0"; - } - if ($char == "%A1") - { - return "%C2%A1"; - } - if ($char == "%A2") - { - return "%C2%A2"; - } - if ($char == "%A3") - { - return "%C2%A3"; - } - if ($char == "%A4") - { - return "%C2%A4"; - } - if ($char == "%A5") - { - return "%C2%A5"; - } - if ($char == "%A6") - { - return "%C2%A6"; - } - if ($char == "%A7") - { - return "%C2%A7"; - } - if ($char == "%A8") - { - return "%C2%A8"; - } - if ($char == "%A9") - { - return "%C2%A9"; - } - if ($char == "%AA") - { - return "%C2%AA"; - } - if ($char == "%AB") - { - return "%C2%AB"; - } - if ($char == "%AC") - { - return "%C2%AC"; - } - if ($char == "%AD") - { - return "%C2%AD"; - } - if ($char == "%AE") - { - return "%C2%AE"; - } - if ($char == "%AF") - { - return "%C2%AF"; - } - if ($char == "%B0") - { - return "%C2%B0"; - } - if ($char == "%B1") - { - return "%C2%B1"; - } - if ($char == "%B2") - { - return "%C2%B2"; - } - if ($char == "%B3") - { - return "%C2%B3"; - } - if ($char == "%B4") - { - return "%C2%B4"; - } - if ($char == "%B5") - { - return "%C2%B5"; - } - if ($char == "%B6") - { - return "%C2%B6"; - } - if ($char == "%B7") - { - return "%C2%B7"; - } - if ($char == "%B8") - { - return "%C2%B8"; - } - if ($char == "%B9") - { - return "%C2%B9"; - } - if ($char == "%BA") - { - return "%C2%BA"; - } - if ($char == "%BB") - { - return "%C2%BB"; - } - if ($char == "%BC") - { - return "%C2%BC"; - } - if ($char == "%BD") - { - return "%C2%BD"; - } - if ($char == "%BE") - { - return "%C2%BE"; - } - if ($char == "%BF") - { - return "%C2%BF"; - } - if ($char == "%C0") - { - return "%C3%80"; - } - if ($char == "%C1") - { - return "%C3%81"; - } - if ($char == "%C2") - { - return "%C3%82"; - } - if ($char == "%C3") - { - return "%C3%83"; - } - if ($char == "%C4") - { - return "%C3%84"; - } - if ($char == "%C5") - { - return "%C3%85"; - } - if ($char == "%C6") - { - return "%C3%86"; - } - if ($char == "%C7") - { - return "%C3%87"; - } - if ($char == "%C8") - { - return "%C3%88"; - } - if ($char == "%C9") - { - return "%C3%89"; - } - if ($char == "%CA") - { - return "%C3%8A"; - } - if ($char == "%CB") - { - return "%C3%8B"; - } - if ($char == "%CC") - { - return "%C3%8C"; - } - if ($char == "%CD") - { - return "%C3%8D"; - } - if ($char == "%CE") - { - return "%C3%8E"; - } - if ($char == "%CF") - { - return "%C3%8F"; - } - if ($char == "%D0") - { - return "%C3%90"; - } - if ($char == "%D1") - { - return "%C3%91"; - } - if ($char == "%D2") - { - return "%C3%92"; - } - if ($char == "%D3") - { - return "%C3%93"; - } - if ($char == "%D4") - { - return "%C3%94"; - } - if ($char == "%D5") - { - return "%C3%95"; - } - if ($char == "%D6") - { - return "%C3%96"; - } - if ($char == "%D7") - { - return "%C3%97"; - } - if ($char == "%D8") - { - return "%C3%98"; - } - if ($char == "%D9") - { - return "%C3%99"; - } - if ($char == "%DA") - { - return "%C3%9A"; - } - if ($char == "%DB") - { - return "%C3%9B"; - } - if ($char == "%DC") - { - return "%C3%9C"; - } - if ($char == "%DD") - { - return "%C3%9D"; - } - if ($char == "%DE") - { - return "%C3%9E"; - } - if ($char == "%DF") - { - return "%C3%9F"; - } - if ($char == "%E0") - { - return "%C3%A0"; - } - if ($char == "%E1") - { - return "%C3%A1"; - } - if ($char == "%E2") - { - return "%C3%A2"; - } - if ($char == "%E3") - { - return "%C3%A3"; - } - if ($char == "%E4") - { - return "%C3%A4"; - } - if ($char == "%E5") - { - return "%C3%A5"; - } - if ($char == "%E6") - { - return "%C3%A6"; - } - if ($char == "%E7") - { - return "%C3%A7"; - } - if ($char == "%E8") - { - return "%C3%A8"; - } - if ($char == "%E9") - { - return "%C3%A9"; - } - if ($char == "%EA") - { - return "%C3%AA"; - } - if ($char == "%EB") - { - return "%C3%AB"; - } - if ($char == "%EC") - { - return "%C3%AC"; - } - if ($char == "%ED") - { - return "%C3%AD"; - } - if ($char == "%EE") - { - return "%C3%AE"; - } - if ($char == "%EF") - { - return "%C3%AF"; - } - if ($char == "%F0") - { - return "%C3%B0"; - } - if ($char == "%F1") - { - return "%C3%B1"; - } - if ($char == "%F2") - { - return "%C3%B2"; - } - if ($char == "%F3") - { - return "%C3%B3"; - } - if ($char == "%F4") - { - return "%C3%B4"; - } - if ($char == "%F5") - { - return "%C3%B5"; - } - if ($char == "%F6") - { - return "%C3%B6"; - } - if ($char == "%F7") - { - return "%C3%B7"; - } - if ($char == "%F8") - { - return "%C3%B8"; - } - if ($char == "%F9") - { - return "%C3%B9"; - } - if ($char == "%FA") - { - return "%C3%BA"; - } - if ($char == "%FB") - { - return "%C3%BB"; - } - if ($char == "%FC") - { - return "%C3%BC"; - } - if ($char == "%FD") - { - return "%C3%BD"; - } - if ($char == "%FE") - { - return "%C3%BE"; - } - if ($char == "%FF") - { - return "%C3%BF"; - } - return $char; -} - -function decodeURIComponent($string) -{ - $result = ""; - for ($i = 0; $i < strlen($string); $i++) - { - $decstr = ""; - for ($p = 0; $p <= 8; $p++) - { - $decstr .= $string[$i+$p]; - } - list($decodedstr, $num) = decodeURIComponentbycharacter($decstr); - $result .= urldecode($decodedstr); - $i += $num ; - } - return $result; -} - -function decodeURIComponentbycharacter($str) -{ - - $char = $str; - - if ($char == "%E2%82%AC") - { - return array("%80", 8); - } - if ($char == "%E2%80%9A") - { - return array("%82", 8); - } - if ($char == "%E2%80%9E") - { - return array("%84", 8); - } - if ($char == "%E2%80%A6") - { - return array("%85", 8); - } - if ($char == "%E2%80%A0") - { - return array("%86", 8); - } - if ($char == "%E2%80%A1") - { - return array("%87", 8); - } - if ($char == "%E2%80%B0") - { - return array("%89", 8); - } - if ($char == "%E2%80%B9") - { - return array("%8B", 8); - } - if ($char == "%E2%80%98") - { - return array("%91", 8); - } - if ($char == "%E2%80%99") - { - return array("%92", 8); - } - if ($char == "%E2%80%9C") - { - return array("%93", 8); - } - if ($char == "%E2%80%9D") - { - return array("%94", 8); - } - if ($char == "%E2%80%A2") - { - return array("%95", 8); - } - if ($char == "%E2%80%93") - { - return array("%96", 8); - } - if ($char == "%E2%80%94") - { - return array("%97", 8); - } - if ($char == "%E2%84%A2") - { - return array("%99", 8); - } - if ($char == "%E2%80%BA") - { - return array("%9B", 8); - } - - $char = substr($str, 0, 6); - - if ($char == "%C2%81") - { - return array("%81", 5); - } - if ($char == "%C6%92") - { - return array("%83", 5); - } - if ($char == "%CB%86") - { - return array("%88", 5); - } - if ($char == "%C5%A0") - { - return array("%8A", 5); - } - if ($char == "%C5%92") - { - return array("%8C", 5); - } - if ($char == "%C2%8D") - { - return array("%8D", 5); - } - if ($char == "%C5%BD") - { - return array("%8E", 5); - } - if ($char == "%C2%8F") - { - return array("%8F", 5); - } - if ($char == "%C2%90") - { - return array("%90", 5); - } - if ($char == "%CB%9C") - { - return array("%98", 5); - } - if ($char == "%C5%A1") - { - return array("%9A", 5); - } - if ($char == "%C5%93") - { - return array("%9C", 5); - } - if ($char == "%C2%9D") - { - return array("%9D", 5); - } - if ($char == "%C5%BE") - { - return array("%9E", 5); - } - if ($char == "%C5%B8") - { - return array("%9F", 5); - } - if ($char == "%C2%A0") - { - return array("%A0", 5); - } - if ($char == "%C2%A1") - { - return array("%A1", 5); - } - if ($char == "%C2%A2") - { - return array("%A2", 5); - } - if ($char == "%C2%A3") - { - return array("%A3", 5); - } - if ($char == "%C2%A4") - { - return array("%A4", 5); - } - if ($char == "%C2%A5") - { - return array("%A5", 5); - } - if ($char == "%C2%A6") - { - return array("%A6", 5); - } - if ($char == "%C2%A7") - { - return array("%A7", 5); - } - if ($char == "%C2%A8") - { - return array("%A8", 5); - } - if ($char == "%C2%A9") - { - return array("%A9", 5); - } - if ($char == "%C2%AA") - { - return array("%AA", 5); - } - if ($char == "%C2%AB") - { - return array("%AB", 5); - } - if ($char == "%C2%AC") - { - return array("%AC", 5); - } - if ($char == "%C2%AD") - { - return array("%AD", 5); - } - if ($char == "%C2%AE") - { - return array("%AE", 5); - } - if ($char == "%C2%AF") - { - return array("%AF", 5); - } - if ($char == "%C2%B0") - { - return array("%B0", 5); - } - if ($char == "%C2%B1") - { - return array("%B1", 5); - } - if ($char == "%C2%B2") - { - return array("%B2", 5); - } - if ($char == "%C2%B3") - { - return array("%B3", 5); - } - if ($char == "%C2%B4") - { - return array("%B4", 5); - } - if ($char == "%C2%B5") - { - return array("%B5", 5); - } - if ($char == "%C2%B6") - { - return array("%B6", 5); - } - if ($char == "%C2%B7") - { - return array("%B7", 5); - } - if ($char == "%C2%B8") - { - return array("%B8", 5); - } - if ($char == "%C2%B9") - { - return array("%B9", 5); - } - if ($char == "%C2%BA") - { - return array("%BA", 5); - } - if ($char == "%C2%BB") - { - return array("%BB", 5); - } - if ($char == "%C2%BC") - { - return array("%BC", 5); - } - if ($char == "%C2%BD") - { - return array("%BD", 5); - } - if ($char == "%C2%BE") - { - return array("%BE", 5); - } - if ($char == "%C2%BF") - { - return array("%BF", 5); - } - if ($char == "%C3%80") - { - return array("%C0", 5); - } - if ($char == "%C3%81") - { - return array("%C1", 5); - } - if ($char == "%C3%82") - { - return array("%C2", 5); - } - if ($char == "%C3%83") - { - return array("%C3", 5); - } - if ($char == "%C3%84") - { - return array("%C4", 5); - } - if ($char == "%C3%85") - { - return array("%C5", 5); - } - if ($char == "%C3%86") - { - return array("%C6", 5); - } - if ($char == "%C3%87") - { - return array("%C7", 5); - } - if ($char == "%C3%88") - { - return array("%C8", 5); - } - if ($char == "%C3%89") - { - return array("%C9", 5); - } - if ($char == "%C3%8A") - { - return array("%CA", 5); - } - if ($char == "%C3%8B") - { - return array("%CB", 5); - } - if ($char == "%C3%8C") - { - return array("%CC", 5); - } - if ($char == "%C3%8D") - { - return array("%CD", 5); - } - if ($char == "%C3%8E") - { - return array("%CE", 5); - } - if ($char == "%C3%8F") - { - return array("%CF", 5); - } - if ($char == "%C3%90") - { - return array("%D0", 5); - } - if ($char == "%C3%91") - { - return array("%D1", 5); - } - if ($char == "%C3%92") - { - return array("%D2", 5); - } - if ($char == "%C3%93") - { - return array("%D3", 5); - } - if ($char == "%C3%94") - { - return array("%D4", 5); - } - if ($char == "%C3%95") - { - return array("%D5", 5); - } - if ($char == "%C3%96") - { - return array("%D6", 5); - } - if ($char == "%C3%97") - { - return array("%D7", 5); - } - if ($char == "%C3%98") - { - return array("%D8", 5); - } - if ($char == "%C3%99") - { - return array("%D9", 5); - } - if ($char == "%C3%9A") - { - return array("%DA", 5); - } - if ($char == "%C3%9B") - { - return array("%DB", 5); - } - if ($char == "%C3%9C") - { - return array("%DC", 5); - } - if ($char == "%C3%9D") - { - return array("%DD", 5); - } - if ($char == "%C3%9E") - { - return array("%DE", 5); - } - if ($char == "%C3%9F") - { - return array("%DF", 5); - } - if ($char == "%C3%A0") - { - return array("%E0", 5); - } - if ($char == "%C3%A1") - { - return array("%E1", 5); - } - if ($char == "%C3%A2") - { - return array("%E2", 5); - } - if ($char == "%C3%A3") - { - return array("%E3", 5); - } - if ($char == "%C3%A4") - { - return array("%E4", 5); - } - if ($char == "%C3%A5") - { - return array("%E5", 5); - } - if ($char == "%C3%A6") - { - return array("%E6", 5); - } - if ($char == "%C3%A7") - { - return array("%E7", 5); - } - if ($char == "%C3%A8") - { - return array("%E8", 5); - } - if ($char == "%C3%A9") - { - return array("%E9", 5); - } - if ($char == "%C3%AA") - { - return array("%EA", 5); - } - if ($char == "%C3%AB") - { - return array("%EB", 5); - } - if ($char == "%C3%AC") - { - return array("%EC", 5); - } - if ($char == "%C3%AD") - { - return array("%ED", 5); - } - if ($char == "%C3%AE") - { - return array("%EE", 5); - } - if ($char == "%C3%AF") - { - return array("%EF", 5); - } - if ($char == "%C3%B0") - { - return array("%F0", 5); - } - if ($char == "%C3%B1") - { - return array("%F1", 5); - } - if ($char == "%C3%B2") - { - return array("%F2", 5); - } - if ($char == "%C3%B3") - { - return array("%F3", 5); - } - if ($char == "%C3%B4") - { - return array("%F4", 5); - } - if ($char == "%C3%B5") - { - return array("%F5", 5); - } - if ($char == "%C3%B6") - { - return array("%F6", 5); - } - if ($char == "%C3%B7") - { - return array("%F7", 5); - } - if ($char == "%C3%B8") - { - return array("%F8", 5); - } - if ($char == "%C3%B9") - { - return array("%F9", 5); - } - if ($char == "%C3%BA") - { - return array("%FA", 5); - } - if ($char == "%C3%BB") - { - return array("%FB", 5); - } - if ($char == "%C3%BC") - { - return array("%FC", 5); - } - if ($char == "%C3%BD") - { - return array("%FD", 5); - } - if ($char == "%C3%BE") - { - return array("%FE", 5); - } - if ($char == "%C3%BF") - { - return array("%FF", 5); - } - - $char = substr($str, 0, 3); - if ($char == "%20") - { - return array("+", 2); - } - - $char = substr($str, 0, 1); - - if ($char == "!") - { - return array("%21", 0); - } - if ($char == "\"") - { - return array("%27", 0); - } - if ($char == "(") - { - return array("%28", 0); - } - if ($char == ")") - { - return array("%29", 0); - } - if ($char == "*") - { - return array("%2A", 0); - } - if ($char == "~") - { - return array("%7E", 0); - } - - if ($char == "%") - { - return array(substr($str, 0, 3), 2); - } - else - { - return array($char, 0); - } -} - -function encodeURI($string) -{ - $result = ""; - for ($i = 0; $i < strlen($string); $i++) - { - $result .= encodeURIbycharacter(urlencode($string[$i])); - } - return $result; -} - -function encodeURIbycharacter($char) -{ - if ($char == "+") - { - return "%20"; - } - if ($char == "%21") - { - return "!"; - } - if ($char == "%23") - { - return "#"; - } - if ($char == "%24") - { - return "$"; - } - if ($char == "%26") - { - return "&"; - } - if ($char == "%27") - { - return "\""; - } - if ($char == "%28") - { - return "("; - } - if ($char == "%29") - { - return ")"; - } - if ($char == "%2A") - { - return "*"; - } - if ($char == "%2B") - { - return "+"; - } - if ($char == "%2C") - { - return ","; - } - if ($char == "%2F") - { - return "/"; - } - if ($char == "%3A") - { - return ":"; - } - if ($char == "%3B") - { - return ";"; - } - if ($char == "%3D") - { - return "="; - } - if ($char == "%3F") - { - return "?"; - } - if ($char == "%40") - { - return "@"; - } - if ($char == "%7E") - { - return "~"; - } - if ($char == "%80") - { - return "%E2%82%AC"; - } - if ($char == "%81") - { - return "%C2%81"; - } - if ($char == "%82") - { - return "%E2%80%9A"; - } - if ($char == "%83") - { - return "%C6%92"; - } - if ($char == "%84") - { - return "%E2%80%9E"; - } - if ($char == "%85") - { - return "%E2%80%A6"; - } - if ($char == "%86") - { - return "%E2%80%A0"; - } - if ($char == "%87") - { - return "%E2%80%A1"; - } - if ($char == "%88") - { - return "%CB%86"; - } - if ($char == "%89") - { - return "%E2%80%B0"; - } - if ($char == "%8A") - { - return "%C5%A0"; - } - if ($char == "%8B") - { - return "%E2%80%B9"; - } - if ($char == "%8C") - { - return "%C5%92"; - } - if ($char == "%8D") - { - return "%C2%8D"; - } - if ($char == "%8E") - { - return "%C5%BD"; - } - if ($char == "%8F") - { - return "%C2%8F"; - } - if ($char == "%90") - { - return "%C2%90"; - } - if ($char == "%91") - { - return "%E2%80%98"; - } - if ($char == "%92") - { - return "%E2%80%99"; - } - if ($char == "%93") - { - return "%E2%80%9C"; - } - if ($char == "%94") - { - return "%E2%80%9D"; - } - if ($char == "%95") - { - return "%E2%80%A2"; - } - if ($char == "%96") - { - return "%E2%80%93"; - } - if ($char == "%97") - { - return "%E2%80%94"; - } - if ($char == "%98") - { - return "%CB%9C"; - } - if ($char == "%99") - { - return "%E2%84%A2"; - } - if ($char == "%9A") - { - return "%C5%A1"; - } - if ($char == "%9B") - { - return "%E2%80%BA"; - } - if ($char == "%9C") - { - return "%C5%93"; - } - if ($char == "%9D") - { - return "%C2%9D"; - } - if ($char == "%9E") - { - return "%C5%BE"; - } - if ($char == "%9F") - { - return "%C5%B8"; - } - if ($char == "%A0") - { - return "%C2%A0"; - } - if ($char == "%A1") - { - return "%C2%A1"; - } - if ($char == "%A2") - { - return "%C2%A2"; - } - if ($char == "%A3") - { - return "%C2%A3"; - } - if ($char == "%A4") - { - return "%C2%A4"; - } - if ($char == "%A5") - { - return "%C2%A5"; - } - if ($char == "%A6") - { - return "%C2%A6"; - } - if ($char == "%A7") - { - return "%C2%A7"; - } - if ($char == "%A8") - { - return "%C2%A8"; - } - if ($char == "%A9") - { - return "%C2%A9"; - } - if ($char == "%AA") - { - return "%C2%AA"; - } - if ($char == "%AB") - { - return "%C2%AB"; - } - if ($char == "%AC") - { - return "%C2%AC"; - } - if ($char == "%AD") - { - return "%C2%AD"; - } - if ($char == "%AE") - { - return "%C2%AE"; - } - if ($char == "%AF") - { - return "%C2%AF"; - } - if ($char == "%B0") - { - return "%C2%B0"; - } - if ($char == "%B1") - { - return "%C2%B1"; - } - if ($char == "%B2") - { - return "%C2%B2"; - } - if ($char == "%B3") - { - return "%C2%B3"; - } - if ($char == "%B4") - { - return "%C2%B4"; - } - if ($char == "%B5") - { - return "%C2%B5"; - } - if ($char == "%B6") - { - return "%C2%B6"; - } - if ($char == "%B7") - { - return "%C2%B7"; - } - if ($char == "%B8") - { - return "%C2%B8"; - } - if ($char == "%B9") - { - return "%C2%B9"; - } - if ($char == "%BA") - { - return "%C2%BA"; - } - if ($char == "%BB") - { - return "%C2%BB"; - } - if ($char == "%BC") - { - return "%C2%BC"; - } - if ($char == "%BD") - { - return "%C2%BD"; - } - if ($char == "%BE") - { - return "%C2%BE"; - } - if ($char == "%BF") - { - return "%C2%BF"; - } - if ($char == "%C0") - { - return "%C3%80"; - } - if ($char == "%C1") - { - return "%C3%81"; - } - if ($char == "%C2") - { - return "%C3%82"; - } - if ($char == "%C3") - { - return "%C3%83"; - } - if ($char == "%C4") - { - return "%C3%84"; - } - if ($char == "%C5") - { - return "%C3%85"; - } - if ($char == "%C6") - { - return "%C3%86"; - } - if ($char == "%C7") - { - return "%C3%87"; - } - if ($char == "%C8") - { - return "%C3%88"; - } - if ($char == "%C9") - { - return "%C3%89"; - } - if ($char == "%CA") - { - return "%C3%8A"; - } - if ($char == "%CB") - { - return "%C3%8B"; - } - if ($char == "%CC") - { - return "%C3%8C"; - } - if ($char == "%CD") - { - return "%C3%8D"; - } - if ($char == "%CE") - { - return "%C3%8E"; - } - if ($char == "%CF") - { - return "%C3%8F"; - } - if ($char == "%D0") - { - return "%C3%90"; - } - if ($char == "%D1") - { - return "%C3%91"; - } - if ($char == "%D2") - { - return "%C3%92"; - } - if ($char == "%D3") - { - return "%C3%93"; - } - if ($char == "%D4") - { - return "%C3%94"; - } - if ($char == "%D5") - { - return "%C3%95"; - } - if ($char == "%D6") - { - return "%C3%96"; - } - if ($char == "%D7") - { - return "%C3%97"; - } - if ($char == "%D8") - { - return "%C3%98"; - } - if ($char == "%D9") - { - return "%C3%99"; - } - if ($char == "%DA") - { - return "%C3%9A"; - } - if ($char == "%DB") - { - return "%C3%9B"; - } - if ($char == "%DC") - { - return "%C3%9C"; - } - if ($char == "%DD") - { - return "%C3%9D"; - } - if ($char == "%DE") - { - return "%C3%9E"; - } - if ($char == "%DF") - { - return "%C3%9F"; - } - if ($char == "%E0") - { - return "%C3%A0"; - } - if ($char == "%E1") - { - return "%C3%A1"; - } - if ($char == "%E2") - { - return "%C3%A2"; - } - if ($char == "%E3") - { - return "%C3%A3"; - } - if ($char == "%E4") - { - return "%C3%A4"; - } - if ($char == "%E5") - { - return "%C3%A5"; - } - if ($char == "%E6") - { - return "%C3%A6"; - } - if ($char == "%E7") - { - return "%C3%A7"; - } - if ($char == "%E8") - { - return "%C3%A8"; - } - if ($char == "%E9") - { - return "%C3%A9"; - } - if ($char == "%EA") - { - return "%C3%AA"; - } - if ($char == "%EB") - { - return "%C3%AB"; - } - if ($char == "%EC") - { - return "%C3%AC"; - } - if ($char == "%ED") - { - return "%C3%AD"; - } - if ($char == "%EE") - { - return "%C3%AE"; - } - if ($char == "%EF") - { - return "%C3%AF"; - } - if ($char == "%F0") - { - return "%C3%B0"; - } - if ($char == "%F1") - { - return "%C3%B1"; - } - if ($char == "%F2") - { - return "%C3%B2"; - } - if ($char == "%F3") - { - return "%C3%B3"; - } - if ($char == "%F4") - { - return "%C3%B4"; - } - if ($char == "%F5") - { - return "%C3%B5"; - } - if ($char == "%F6") - { - return "%C3%B6"; - } - if ($char == "%F7") - { - return "%C3%B7"; - } - if ($char == "%F8") - { - return "%C3%B8"; - } - if ($char == "%F9") - { - return "%C3%B9"; - } - if ($char == "%FA") - { - return "%C3%BA"; - } - if ($char == "%FB") - { - return "%C3%BB"; - } - if ($char == "%FC") - { - return "%C3%BC"; - } - if ($char == "%FD") - { - return "%C3%BD"; - } - if ($char == "%FE") - { - return "%C3%BE"; - } - if ($char == "%FF") - { - return "%C3%BF"; - } - return $char; -} - -function decodeURI($string) -{ - $result = ""; - for ($i = 0; $i < strlen($string); $i++) - { - $decstr = ""; - for ($p = 0; $p <= 8; $p++) - { - $decstr .= $string[$i+$p]; - } - list($decodedstr, $num) = decodeURIbycharacter($decstr); - $result .= urldecode($decodedstr); - $i += $num ; - } - return $result; -} - -function decodeURIbycharacter($str) -{ - - $char = $str; - - if ($char == "%E2%82%AC") - { - return array("%80", 8); - } - if ($char == "%E2%80%9A") - { - return array("%82", 8); - } - if ($char == "%E2%80%9E") - { - return array("%84", 8); - } - if ($char == "%E2%80%A6") - { - return array("%85", 8); - } - if ($char == "%E2%80%A0") - { - return array("%86", 8); - } - if ($char == "%E2%80%A1") - { - return array("%87", 8); - } - if ($char == "%E2%80%B0") - { - return array("%89", 8); - } - if ($char == "%E2%80%B9") - { - return array("%8B", 8); - } - if ($char == "%E2%80%98") - { - return array("%91", 8); - } - if ($char == "%E2%80%99") - { - return array("%92", 8); - } - if ($char == "%E2%80%9C") - { - return array("%93", 8); - } - if ($char == "%E2%80%9D") - { - return array("%94", 8); - } - if ($char == "%E2%80%A2") - { - return array("%95", 8); - } - if ($char == "%E2%80%93") - { - return array("%96", 8); - } - if ($char == "%E2%80%94") - { - return array("%97", 8); - } - if ($char == "%E2%84%A2") - { - return array("%99", 8); - } - if ($char == "%E2%80%BA") - { - return array("%9B", 8); - } - - $char = substr($str, 0, 6); - - if ($char == "%C2%81") - { - return array("%81", 5); - } - if ($char == "%C6%92") - { - return array("%83", 5); - } - if ($char == "%CB%86") - { - return array("%88", 5); - } - if ($char == "%C5%A0") - { - return array("%8A", 5); - } - if ($char == "%C5%92") - { - return array("%8C", 5); - } - if ($char == "%C2%8D") - { - return array("%8D", 5); - } - if ($char == "%C5%BD") - { - return array("%8E", 5); - } - if ($char == "%C2%8F") - { - return array("%8F", 5); - } - if ($char == "%C2%90") - { - return array("%90", 5); - } - if ($char == "%CB%9C") - { - return array("%98", 5); - } - if ($char == "%C5%A1") - { - return array("%9A", 5); - } - if ($char == "%C5%93") - { - return array("%9C", 5); - } - if ($char == "%C2%9D") - { - return array("%9D", 5); - } - if ($char == "%C5%BE") - { - return array("%9E", 5); - } - if ($char == "%C5%B8") - { - return array("%9F", 5); - } - if ($char == "%C2%A0") - { - return array("%A0", 5); - } - if ($char == "%C2%A1") - { - return array("%A1", 5); - } - if ($char == "%C2%A2") - { - return array("%A2", 5); - } - if ($char == "%C2%A3") - { - return array("%A3", 5); - } - if ($char == "%C2%A4") - { - return array("%A4", 5); - } - if ($char == "%C2%A5") - { - return array("%A5", 5); - } - if ($char == "%C2%A6") - { - return array("%A6", 5); - } - if ($char == "%C2%A7") - { - return array("%A7", 5); - } - if ($char == "%C2%A8") - { - return array("%A8", 5); - } - if ($char == "%C2%A9") - { - return array("%A9", 5); - } - if ($char == "%C2%AA") - { - return array("%AA", 5); - } - if ($char == "%C2%AB") - { - return array("%AB", 5); - } - if ($char == "%C2%AC") - { - return array("%AC", 5); - } - if ($char == "%C2%AD") - { - return array("%AD", 5); - } - if ($char == "%C2%AE") - { - return array("%AE", 5); - } - if ($char == "%C2%AF") - { - return array("%AF", 5); - } - if ($char == "%C2%B0") - { - return array("%B0", 5); - } - if ($char == "%C2%B1") - { - return array("%B1", 5); - } - if ($char == "%C2%B2") - { - return array("%B2", 5); - } - if ($char == "%C2%B3") - { - return array("%B3", 5); - } - if ($char == "%C2%B4") - { - return array("%B4", 5); - } - if ($char == "%C2%B5") - { - return array("%B5", 5); - } - if ($char == "%C2%B6") - { - return array("%B6", 5); - } - if ($char == "%C2%B7") - { - return array("%B7", 5); - } - if ($char == "%C2%B8") - { - return array("%B8", 5); - } - if ($char == "%C2%B9") - { - return array("%B9", 5); - } - if ($char == "%C2%BA") - { - return array("%BA", 5); - } - if ($char == "%C2%BB") - { - return array("%BB", 5); - } - if ($char == "%C2%BC") - { - return array("%BC", 5); - } - if ($char == "%C2%BD") - { - return array("%BD", 5); - } - if ($char == "%C2%BE") - { - return array("%BE", 5); - } - if ($char == "%C2%BF") - { - return array("%BF", 5); - } - if ($char == "%C3%80") - { - return array("%C0", 5); - } - if ($char == "%C3%81") - { - return array("%C1", 5); - } - if ($char == "%C3%82") - { - return array("%C2", 5); - } - if ($char == "%C3%83") - { - return array("%C3", 5); - } - if ($char == "%C3%84") - { - return array("%C4", 5); - } - if ($char == "%C3%85") - { - return array("%C5", 5); - } - if ($char == "%C3%86") - { - return array("%C6", 5); - } - if ($char == "%C3%87") - { - return array("%C7", 5); - } - if ($char == "%C3%88") - { - return array("%C8", 5); - } - if ($char == "%C3%89") - { - return array("%C9", 5); - } - if ($char == "%C3%8A") - { - return array("%CA", 5); - } - if ($char == "%C3%8B") - { - return array("%CB", 5); - } - if ($char == "%C3%8C") - { - return array("%CC", 5); - } - if ($char == "%C3%8D") - { - return array("%CD", 5); - } - if ($char == "%C3%8E") - { - return array("%CE", 5); - } - if ($char == "%C3%8F") - { - return array("%CF", 5); - } - if ($char == "%C3%90") - { - return array("%D0", 5); - } - if ($char == "%C3%91") - { - return array("%D1", 5); - } - if ($char == "%C3%92") - { - return array("%D2", 5); - } - if ($char == "%C3%93") - { - return array("%D3", 5); - } - if ($char == "%C3%94") - { - return array("%D4", 5); - } - if ($char == "%C3%95") - { - return array("%D5", 5); - } - if ($char == "%C3%96") - { - return array("%D6", 5); - } - if ($char == "%C3%97") - { - return array("%D7", 5); - } - if ($char == "%C3%98") - { - return array("%D8", 5); - } - if ($char == "%C3%99") - { - return array("%D9", 5); - } - if ($char == "%C3%9A") - { - return array("%DA", 5); - } - if ($char == "%C3%9B") - { - return array("%DB", 5); - } - if ($char == "%C3%9C") - { - return array("%DC", 5); - } - if ($char == "%C3%9D") - { - return array("%DD", 5); - } - if ($char == "%C3%9E") - { - return array("%DE", 5); - } - if ($char == "%C3%9F") - { - return array("%DF", 5); - } - if ($char == "%C3%A0") - { - return array("%E0", 5); - } - if ($char == "%C3%A1") - { - return array("%E1", 5); - } - if ($char == "%C3%A2") - { - return array("%E2", 5); - } - if ($char == "%C3%A3") - { - return array("%E3", 5); - } - if ($char == "%C3%A4") - { - return array("%E4", 5); - } - if ($char == "%C3%A5") - { - return array("%E5", 5); - } - if ($char == "%C3%A6") - { - return array("%E6", 5); - } - if ($char == "%C3%A7") - { - return array("%E7", 5); - } - if ($char == "%C3%A8") - { - return array("%E8", 5); - } - if ($char == "%C3%A9") - { - return array("%E9", 5); - } - if ($char == "%C3%AA") - { - return array("%EA", 5); - } - if ($char == "%C3%AB") - { - return array("%EB", 5); - } - if ($char == "%C3%AC") - { - return array("%EC", 5); - } - if ($char == "%C3%AD") - { - return array("%ED", 5); - } - if ($char == "%C3%AE") - { - return array("%EE", 5); - } - if ($char == "%C3%AF") - { - return array("%EF", 5); - } - if ($char == "%C3%B0") - { - return array("%F0", 5); - } - if ($char == "%C3%B1") - { - return array("%F1", 5); - } - if ($char == "%C3%B2") - { - return array("%F2", 5); - } - if ($char == "%C3%B3") - { - return array("%F3", 5); - } - if ($char == "%C3%B4") - { - return array("%F4", 5); - } - if ($char == "%C3%B5") - { - return array("%F5", 5); - } - if ($char == "%C3%B6") - { - return array("%F6", 5); - } - if ($char == "%C3%B7") - { - return array("%F7", 5); - } - if ($char == "%C3%B8") - { - return array("%F8", 5); - } - if ($char == "%C3%B9") - { - return array("%F9", 5); - } - if ($char == "%C3%BA") - { - return array("%FA", 5); - } - if ($char == "%C3%BB") - { - return array("%FB", 5); - } - if ($char == "%C3%BC") - { - return array("%FC", 5); - } - if ($char == "%C3%BD") - { - return array("%FD", 5); - } - if ($char == "%C3%BE") - { - return array("%FE", 5); - } - if ($char == "%C3%BF") - { - return array("%FF", 5); - } - - $char = substr($str, 0, 3); - if ($char == "%20") - { - return array("+", 2); - } - - $char = substr($str, 0, 1); - - if ($char == "!") - { - return array("%21", 0); - } - if ($char == "#") - { - return array("%23", 0); - } - if ($char == "$") - { - return array("%24", 0); - } - if ($char == "&") - { - return array("%26", 0); - } - if ($char == "\"") - { - return array("%27", 0); - } - if ($char == "(") - { - return array("%28", 0); - } - if ($char == ")") - { - return array("%29", 0); - } - if ($char == "*") - { - return array("%2A", 0); - } - if ($char == "+") - { - return array("%2B", 0); - } - if ($char == ",") - { - return array("%2C", 0); - } - if ($char == "/") - { - return array("%2F", 0); - } - if ($char == ":") - { - return array("%3A", 0); - } - if ($char == ";") - { - return array("%3B", 0); - } - if ($char == "=") - { - return array("%3D", 0); - } - if ($char == "?") - { - return array("%3F", 0); - } - if ($char == "@") - { - return array("%40", 0); - } - if ($char == "~") - { - return array("%7E", 0); - } - - if ($char == "%") - { - return array(substr($str, 0, 3), 2); - } - else - { - return array($char, 0); - } -} - -function escape($string) -{ - $result = ""; - for ($i = 0; $i < strlen($string); $i++) - { - $result .= escapebycharacter(urlencode($string[$i])); - } - return $result; -} - -function escapebycharacter($char) -{ - if ($char == '+') - { - return '%20'; - } - if ($char == '%2A') - { - return '*'; - } - if ($char == '%2B') - { - return '+'; - } - if ($char == '%2F') - { - return '/'; - } - if ($char == '%40') - { - return '@'; - } - if ($char == '%80') - { - return '%u20AC'; - } - if ($char == '%82') - { - return '%u201A'; - } - if ($char == '%83') - { - return '%u0192'; - } - if ($char == '%84') - { - return '%u201E'; - } - if ($char == '%85') - { - return '%u2026'; - } - if ($char == '%86') - { - return '%u2020'; - } - if ($char == '%87') - { - return '%u2021'; - } - if ($char == '%88') - { - return '%u02C6'; - } - if ($char == '%89') - { - return '%u2030'; - } - if ($char == '%8A') - { - return '%u0160'; - } - if ($char == '%8B') - { - return '%u2039'; - } - if ($char == '%8C') - { - return '%u0152'; - } - if ($char == '%8E') - { - return '%u017D'; - } - if ($char == '%91') - { - return '%u2018'; - } - if ($char == '%92') - { - return '%u2019'; - } - if ($char == '%93') - { - return '%u201C'; - } - if ($char == '%94') - { - return '%u201D'; - } - if ($char == '%95') - { - return '%u2022'; - } - if ($char == '%96') - { - return '%u2013'; - } - if ($char == '%97') - { - return '%u2014'; - } - if ($char == '%98') - { - return '%u02DC'; - } - if ($char == '%99') - { - return '%u2122'; - } - if ($char == '%9A') - { - return '%u0161'; - } - if ($char == '%9B') - { - return '%u203A'; - } - if ($char == '%9C') - { - return '%u0153'; - } - if ($char == '%9E') - { - return '%u017E'; - } - if ($char == '%9F') - { - return '%u0178'; - } - return $char; -} - -function unescape($string) -{ - $result = ""; - for ($i = 0; $i < strlen($string); $i++) - { - $decstr = ""; - for ($p = 0; $p <= 5; $p++) - { - $decstr .= $string[$i+$p]; - } - list($decodedstr, $num) = unescapebycharacter($decstr); - $result .= urldecode($decodedstr); - $i += $num ; - } - return $result; -} - -function unescapebycharacter($str) -{ - - $char = $str; - - if ($char == '%u20AC') - { - return array("%80", 5); - } - if ($char == '%u201A') - { - return array("%82", 5); - } - if ($char == '%u0192') - { - return array("%83", 5); - } - if ($char == '%u201E') - { - return array("%84", 5); - } - if ($char == '%u2026') - { - return array("%85", 5); - } - if ($char == '%u2020') - { - return array("%86", 5); - } - if ($char == '%u2021') - { - return array("%87", 5); - } - if ($char == '%u02C6') - { - return array("%88", 5); - } - if ($char == '%u2030') - { - return array("%89", 5); - } - if ($char == '%u0160') - { - return array("%8A", 5); - } - if ($char == '%u2039') - { - return array("%8B", 5); - } - if ($char == '%u0152') - { - return array("%8C", 5); - } - if ($char == '%u017D') - { - return array("%8E", 5); - } - if ($char == '%u2018') - { - return array("%91", 5); - } - if ($char == '%u2019') - { - return array("%92", 5); - } - if ($char == '%u201C') - { - return array("%93", 5); - } - if ($char == '%u201D') - { - return array("%94", 5); - } - if ($char == '%u2022') - { - return array("%95", 5); - } - if ($char == '%u2013') - { - return array("%96", 5); - } - if ($char == '%u2014') - { - return array("%97", 5); - } - if ($char == '%u02DC') - { - return array("%98", 5); - } - if ($char == '%u2122') - { - return array("%99", 5); - } - if ($char == '%u0161') - { - return array("%9A", 5); - } - if ($char == '%u203A') - { - return array("%9B", 5); - } - if ($char == '%u0153') - { - return array("%9C", 5); - } - if ($char == '%u017E') - { - return array("%9E", 5); - } - if ($char == '%u0178') - { - return array("%9F", 5); - } - - $char = substr($str, 0, 3); - if ($char == "%20") - { - return array("+", 2); - } - - $char = substr($str, 0, 1); - - if ($char == '*') - { - return array("%2A", 0); - } - if ($char == '+') - { - return array("%2B", 0); - } - if ($char == '/') - { - return array("%2F", 0); - } - if ($char == '@') - { - return array("%40", 0); - } - - if ($char == "%") - { - return array(substr($str, 0, 3), 2); - } - else - { - return array($char, 0); - } -} -/** - * @brief When data are transfered thanks ajax in a xml document, the xml - * can not contains some character, to escape those characters, we must use this - * function - *@param $p_xml the xml to escape - *@return the xml string with the forbidden char escaped - *@see ajax_card.js ajaxFid - */ -function escape_xml($p_xml) -{ - $xml=$p_xml; - $xml=str_replace('&','&',$xml); - $xml=str_replace('<','<',$xml); - $xml=str_replace('>','>',$xml); - $xml=str_replace("'",''',$xml); - $xml=str_replace('"','"',$xml); - return $xml; -} -/** - * @brief - * replace special char - *@param $p_xml the xml to escape - *@return the xml string with the forbidden char escaped - *@see ajax_card.js ajaxFid - *@see escape_xml - */ -function unescape_xml($p_xml) -{ - $xml=$p_xml; - $xml=str_replace('&','&',$xml); - $xml=str_replace('<','<',$xml); - $xml=str_replace('>','>',$xml); - $xml=str_replace(''',"'",$xml); - $xml=str_replace('"','"',$xml); - return $xml; -} -/** - *load all the javascript only one time - * - */ -function load_all_script() -{ - // check not called twiced - static $already_call=0; - if ( $already_call==1)return; - $already_call=1; - - echo JS_INFOBULLE; - echo js_include('smoke.js'); - echo js_include('prototype.js'); - echo js_include('scriptaculous.js'); - echo js_include('scripts.js'); - // echo js_include('effects.js'); - // echo js_include('dragdrop.js'); - // echo js_include('controls.js'); - // echo js_include('slider.js'); - echo js_include('acc_ledger.js'); - echo js_include('accounting_item.js'); - echo js_include('ajax_fiche.js'); - echo js_include('anc_script.js'); - // echo js_include('builder.js'); - echo js_include('calc.js'); - echo js_include('card.js'); - echo js_include('compute_direct.js'); - echo js_include('compute.js'); - echo js_include('forecast.js'); - echo js_include('gestion.js'); - echo js_include('todo_list.js'); - echo js_include('anc_script.js'); - echo js_include('sorttable.js'); - echo js_include('nicEdit.js'); - - -} -?> diff --git a/sources/include/header_print.php b/sources/include/header_print.php deleted file mode 100644 index d940f2b..0000000 --- a/sources/include/header_print.php +++ /dev/null @@ -1,44 +0,0 @@ -MY_NAME; - - $date=date('d / m / Y H:i '); - $dossier=utf8_decode(" Dossier : ".dossier::name()); - return $dossier." ".$soc." ".$date; -} - -?> diff --git a/sources/include/history_operation.inc.php b/sources/include/history_operation.inc.php deleted file mode 100644 index e08fca2..0000000 --- a/sources/include/history_operation.inc.php +++ /dev/null @@ -1,156 +0,0 @@ -type='ODS'; - break; - case 'ALL': - $Ledger=new Acc_Ledger($cn,0); - $ask_pay=0; - $p_array['ledger_type']='ALL'; - $Ledger->type='ALL'; - break; - case 'VEN': - $Ledger=new Acc_Ledger_Sold($cn,0); - $ask_pay=1; - break; - case 'FIN': - $Ledger=new Acc_Ledger_Fin($cn,0); - $ask_pay=0; - break; - -} -echo '
      '; -// Check privilege -$p_jrn=HtmlInput::default_value_request("p_jrn", -1); -if (isset($_REQUEST['p_jrn']) && - $g_user->check_jrn($_REQUEST['p_jrn']) == 'X') -{ - - NoAccess(); - exit - 1; -} - -$Ledger->id = $p_jrn; -echo $Ledger->display_search_form(); -//------------------------------ -// UPdate the payment -//------------------------------ -if (isset($_GET ['paid'])) -{ - $Ledger->update_paid($_GET); -} - - -$msg=""; -/* by default we should use the default period */ -if (!isset($p_array['date_start'])) -{ - $period = $g_user->get_periode(); - $per = new Periode($cn, $period); - list($date_start, $date_end) = $per->get_date_limit(); - $p_array['date_start'] = $date_start; - $p_array['date_end'] = $date_end; - $msg='

      '._("Période ").$date_start._(" au ").$date_end.'

      '; -} -else -{ - $msg='

      '._("Période ").$_GET['date_start']._(" au ").$_GET['date_end'].'

      '; - -} -/* compute the sql stmt */ -list($sql, $where) = $Ledger->build_search_sql($p_array); - -$max_line = $cn->count_sql($sql); - -$step = $_SESSION['g_pagesize']; -$page = (isset($_GET['offset'])) ? $_GET['page'] : 1; -$offset = (isset($_GET['offset'])) ? $_GET['offset'] : 0; -$bar = navigation_bar($offset, $max_line, $step, $page); - -echo $msg; -echo '
      '; -echo HtmlInput::hidden("ac", $_REQUEST['ac']); -echo HtmlInput::hidden('ledger_type',$ledger_type); -echo dossier::hidden(); -echo $bar; - -list($count, $html) = $Ledger->list_operation($sql, $offset, $ask_pay); -echo $html; -echo $bar; -$r = HtmlInput::get_to_hidden(array('l', 'date_start', 'date_end', 'desc', 'amount_min', 'amount_max', 'qcode', 'accounting', 'unpaid', 'gDossier', 'ledger_type', 'p_action')); -if (isset($_GET['r_jrn'])) -{ - foreach ($_GET['r_jrn'] as $k => $v) - $r.=HtmlInput::hidden('r_jrn[' . $k . ']', $v); -} -echo $r; - -if ($ask_pay) - echo '

      ' . HtmlInput::submit('paid', _('Mise à jour paiement')) . IButton::select_checkbox('fpaida') . IButton::unselect_checkbox('fpaida') . '

      '; - -echo '
      '; -/* - * Export to csv - */ -$r = HtmlInput::get_to_hidden(array('l', 'date_paid_start','date_paid_end', - 'date_start', 'date_end', 'desc', 'amount_min', 'amount_max', 'qcode', - 'accounting', 'unpaid', 'gDossier', 'ledger_type', 'p_action')); -if (isset($_GET['r_jrn'])) -{ - foreach ($_GET['r_jrn'] as $k => $v) - $r.=HtmlInput::hidden('r_jrn[' . $k . ']', $v); -} -echo '
      '; -echo $r; -echo HtmlInput::hidden('act', 'CSV:histo'); -echo HtmlInput::submit('viewsearch', _('Export vers CSV')); - -echo '
      '; - -echo '
      '; -return; -?> diff --git a/sources/include/impress_bilan.inc.php b/sources/include/impress_bilan.inc.php deleted file mode 100644 index 5eb2560..0000000 --- a/sources/include/impress_bilan.inc.php +++ /dev/null @@ -1,103 +0,0 @@ -get_request_get(); -echo '
      '; -$exercice=(isset($_GET['exercice']))?$_GET['exercice']:$g_user->get_exercice(); -if ( ! isset ($_GET['verif'])) -{ -/* - * Let you change the exercice - */ -echo '
      '._('Exercice').'';; -echo '
      '; -echo _('Choisissez un autre exercice'); -$ex=new Exercice($cn); -$wex=$ex->select('exercice',$exercice,' onchange="submit(this)"'); -echo $wex->input(); -echo dossier::hidden(); -echo HtmlInput::get_to_hidden(array('ac','type')); -echo '
      '; -echo '
      '; - -$filter_year=" where p_exercice='".sql_string($exercice)."'"; -echo '
      '; -echo HtmlInput::hidden('type','bilan'); -echo dossier::hidden(); -echo $bilan->display_form ($filter_year); -echo ' '._('Attention : si le bilan n\'est pas équilibré.
      Vérifiez
        -
      • L\'affectation du résultat est fait
      • -
      • Vos comptes actifs ont un solde débiteur (sauf les comptes dit inversés)
      • -
      • les comptes passifs ont un solde créditeur (sauf les comptes dit inversés)
      • -
      - Utilisez la balance des comptes pour vérifier.').'
      '; -echo HtmlInput::submit('verif',_('Verification comptabilite')); -echo HtmlInput::get_to_hidden(array('ac','exercice')); -echo '
      '; -} - - -if ( isset($_GET['verif'])) -{ - $periode=new Periode($cn); - $date_from=$periode->first_day($bilan->from); - $date_to=$periode->last_day($bilan->to); - echo '

      '._('Etape 2 :Impression')." ".$date_from.'-'.$date_to.'

      '; - - $bilan->get_request_get(); - $bilan->verify(); - $url_verify=http_build_query(array('ac'=>'VERIFBIL','gDossier'=>dossier::id())); - echo _('Pour une vérification complète, allez dans ').' VERIFBIL'; - echo '
      '; - echo dossier::hidden(); - echo HtmlInput::get_to_hidden(array('exercice')); - echo HtmlInput::hidden('b_id',$_GET['b_id']); - echo HtmlInput::hidden('act','OTH:Bilan'); - - echo HtmlInput::hidden('from_periode',$bilan->from); - echo HtmlInput::hidden('to_periode',$bilan->to); - echo HtmlInput::submit('Impression','Impression'); - echo '
      '; - -} - -echo '
      '; -echo '
      '; -?> diff --git a/sources/include/impress_gl_comptes.inc.php b/sources/include/impress_gl_comptes.inc.php deleted file mode 100644 index 015d62a..0000000 --- a/sources/include/impress_gl_comptes.inc.php +++ /dev/null @@ -1,282 +0,0 @@ -'; - -echo '
      '; -echo HtmlInput::hidden('ac',$_REQUEST['ac']); -echo HtmlInput::hidden('type','gl_comptes'); -echo dossier::hidden(); -echo ''; - -$cn=new Database(dossier::id()); -$periode=new Periode($cn); -$a=$periode->get_limit($g_user->get_exercice()); -// $a is an array -$first_day=$a[0]->first_day(); -$last_day=$a[1]->last_day(); - -// filter on period -$date_from=new IDate('from_periode'); -$date_to=new IDate('to_periode'); -$year=$g_user->get_exercice(); -$date_from->value=(isset($_REQUEST['from_periode'])&& isDate($_REQUEST['from_periode'])!=0)?$_REQUEST['from_periode']:$first_day; -$date_to->value=(isset($_REQUEST['to_periode']) && isDate($_REQUEST['to_periode']) !=0 )?$_REQUEST['to_periode']:$last_day; -echo td(_('Depuis').$date_from->input()); -echo td(_('Jusque ').$date_to->input()); - -$letter=new ICheckbox('letter'); -$letter->selected=(isset($_REQUEST['letter']))?true:false; - -$from_poste=new IPoste('from_poste'); -$from_poste->value=HtmlInput::default_value('from_poste','',$_REQUEST); -$from_poste->set_attribute('account','from_poste'); - -$to_poste=new IPoste('to_poste'); -$to_poste->value=HtmlInput::default_value('to_poste','',$_REQUEST); -$to_poste->set_attribute('account','to_poste'); - -$solded=new ICheckbox('solded'); -$solded->selected=(isset($_REQUEST['solded']))?true:false; - -echo ''; -echo td(_('Depuis le poste')).td($from_poste->input()); -echo ''; - -echo ''; -echo td(_("Jusqu'au poste")).td($to_poste->input()); -echo ''; - -echo ''; -echo td(_('Uniquement les opérations non lettrées')); -echo td($letter->input()); -echo ''; - -echo ''; -echo td(_('Uniquement les comptes non soldés')); -echo td($solded->input()); -echo ''; - - -// -echo '
      '; -print HtmlInput::submit('bt_html',_('Visualisation')); - -echo '
      '; -echo '
      '; -echo '
      '; - -//----------------------------------------------------- -// If print is asked -// First time in html -// after in pdf or cvs -//----------------------------------------------------- -if ( isset( $_REQUEST['bt_html'] ) ) -{ - require_once NOALYSS_INCLUDE.'/class_acc_account_ledger.php'; - echo '
      '; - echo Acc_Account_Ledger::HtmlTableHeader("gl_comptes"); - echo '
      '; - $sql='select pcm_val from tmp_pcmn '; - $cond_poste=''; - - if ($from_poste->value != '') - { - $cond_poste = ' where '; - $cond_poste .=' pcm_val >= upper (\''.Database::escape_string($from_poste->value).'\')'; - } - - if ( $to_poste->value != '') - { - if ( $cond_poste == '') - { - $cond_poste = ' where pcm_val <= upper (\''.Database::escape_string($to_poste->value).'\')'; - } - else - { - $cond_poste.=' and pcm_val <= upper (\''.Database::escape_string($to_poste->value).'\')'; - } - } - - $sql=$sql.$cond_poste.' order by pcm_val::text'; - - $a_poste=$cn->get_array($sql); - - if ( sizeof($a_poste) == 0 ) - { - die("Nothing here. Strange."); - exit; - } - if ( isDate($_REQUEST['from_periode'])==null || isDate($_REQUEST['to_periode'])==null) - { - echo alert('Date malformée, désolée'); - return; - } - echo '
      '; - - - echo ''; - $l=(isset($_REQUEST['letter']))?2:0; - $s=(isset($_REQUEST['solded']))?1:0; - - - foreach ($a_poste as $poste_id ) - { - $Poste=new Acc_Account_Ledger ($cn, $poste_id['pcm_val']); - $Poste->load(); - - - $Poste->get_row_date( $_GET['from_periode'], $_GET['to_periode'],$l,$s); - if ( empty($Poste->row)) - { - continue; - } - - - echo ' - - '; - - echo ' - - - - - - - - - '; - - $solde = 0.0; - $solde_d = 0.0; - $solde_c = 0.0; - bcscale(2); - $i=0; - $current_exercice=""; - - foreach ($Poste->row as $detail) - { - /* - * separation per exercice - */ - if ( $current_exercice == "") $current_exercice=$detail['p_exercice']; - - if ( $current_exercice != $detail['p_exercice']) { - echo ' - - - - - - - - '. - ''; - /* - * reset total and current_exercice - */ - $current_exercice=$detail['p_exercice']; - $solde = 0.0; - $solde_d = 0.0; - $solde_c = 0.0; - - } - - - if ($detail['cred_montant'] > 0) - { - $solde=bcsub($solde, $detail['cred_montant']); - $solde_c=bcadd($solde_c,$detail['cred_montant']); - } - if ($detail['deb_montant'] > 0) - { - $solde = bcadd($solde,$detail['deb_montant']); - $solde_d = bcadd($solde_d,$detail['deb_montant']); - } - $side=" ".$Poste->get_amount_side($solde); - $letter=""; - $html_let=""; - if ($detail['letter']!=-1) { - $letter=strtoupper(base_convert($detail['letter'],10,36)); - $html_let = HtmlInput::show_reconcile("", $letter); - } - $i++; - if (($i % 2 ) == 0) $class="odd"; else $class="even"; - echo ' - - - - - - - - - '; - } - echo ' - - - - - - - - '. - ''; - } - echo '
      -

      '. $poste_id['pcm_val'].' '.h($Poste->label).'

      -
      DateRéférenceLibelléPièceDébitCréditSoldeLet.
      '.$current_exercice.''.''.''.'Total du compte '.$poste_id['pcm_val'].''.''.''.($solde_d > 0 ? nbm( $solde_d) : '').''.($solde_c > 0 ? nbm( $solde_c) : '').''.nbm( abs($solde_c-$solde_d)).''; - if ($solde_c > $solde_d ) echo _("Crédit"); - if ($solde_c < $solde_d ) echo _("Débit"); - if ($solde_c == $solde_d ) echo "="; - - echo '
      '.$detail['j_date_fmt'].''.HtmlInput::detail_op($detail['jr_id'],$detail['jr_internal']).''.$detail['description'].''.$detail['jr_pj_number'].''.($detail['deb_montant'] > 0 ? nbm($detail['deb_montant']) : '').''.($detail['cred_montant'] > 0 ? nbm($detail['cred_montant']) : '').''.nbm(abs($solde)).$side.''.$html_let.'
      '.$current_exercice.''.''.''.''.'Total du compte '.$poste_id['pcm_val'].''.''.''.''.''.($solde_d > 0 ? nbm( $solde_d) : '').''.''.''.($solde_c > 0 ? nbm( $solde_c) : '').''.''.''.nbm( abs($solde_c-$solde_d)).''.''; - if ($solde_c > $solde_d ) echo "Crédit"; - if ($solde_c < $solde_d ) echo "Débit"; - if ($solde_c == $solde_d ) echo "="; - - echo '
      '; - echo Acc_Account_Ledger::HtmlTableHeader("gl_comptes"); - echo "
      "; - exit; -} -?> diff --git a/sources/include/impress_jrn.inc.php b/sources/include/impress_jrn.inc.php deleted file mode 100644 index aefb0e5..0000000 --- a/sources/include/impress_jrn.inc.php +++ /dev/null @@ -1,407 +0,0 @@ -Admin() == 0 && $g_user->is_local_admin() == 0) -{ - $sql = "select jrn_def_id,jrn_def_name - from jrn_def join jrn_type on jrn_def_type=jrn_type_id - join user_sec_jrn on uj_jrn_id=jrn_def_id - where - uj_login='$g_user->login' - and uj_priv in ('R','W') - order by jrn_def_name - "; - $ret = $cn->make_array($sql); -} -else -{ - $ret = $cn->make_array("select jrn_def_id,jrn_def_name - from jrn_def join jrn_type on jrn_def_type=jrn_type_id - order by jrn_def_name - "); -} -// Count the forbidden journaux -$NoPriv = $cn->count_sql("select jrn_def_id,jrn_def_name,jrn_def_class_deb,jrn_def_class_cred,jrn_type_id,jrn_desc,uj_priv, - jrn_deb_max_line,jrn_cred_max_line - from jrn_def join jrn_type on jrn_def_type=jrn_type_id - join user_sec_jrn on uj_jrn_id=jrn_def_id - where - uj_login='$g_user->id' - and uj_priv ='X' - "); -/* - * Show all the available ledgers - */ -$a = count($ret); -$all = array('value' => 0, 'label' => 'Tous les journaux disponibles'); -$ret[$a] = $all; -if (count($ret) < 1) - NoAccess(); -$exercice = (isset($_GET['exercice'])) ? $_GET['exercice'] : $g_user->get_exercice(); - -//----------------------------------------------------- -// Form -//----------------------------------------------------- -echo '
      '; -/* - * Let you change the exercice - */ -echo '
      '; -echo '
      ' . _('Exercice') . ''; -; -echo _('Choisissez un autre exercice').' :'; -$ex = new Exercice($cn); -$wex = $ex->select('exercice', $exercice, ' onchange="submit(this)"'); -echo $wex->input(); -echo dossier::hidden(); -echo HtmlInput::get_to_hidden(array('ac', 'type')); -echo '
      '; -echo '
      '; -?> -' . dossier::hidden(); -echo HtmlInput::get_to_hidden(array('ac', 'type')); -echo HtmlInput::hidden('type', 'jrn'); -echo HtmlInput::get_to_hidden(array('exercice')); -echo ''; -$w = new ISelect(); -$w->table = 1; -$label = "Choisissez le journal"; -$w->selected = (isset($_GET['jrn_id'])) ? $_GET['jrn_id'] : ''; -print td($label) . $w->input("jrn_id", $ret); -print ''; -print ''; -// filter on the current year -$filter_year = " where p_exercice='" . sql_string($exercice) . "'"; - -$periode_start = $cn->make_array("select p_id,to_char(p_start,'DD-MM-YYYY') from parm_periode $filter_year order by p_start,p_end"); -$w->selected = (isset($_GET['from_periode'])) ? $_GET['from_periode'] : ''; -print td('Depuis') . $w->input('from_periode', $periode_start); -print ''; -print ''; - -$periode_end = $cn->make_array("select p_id,to_char(p_end,'DD-MM-YYYY') from parm_periode $filter_year order by p_start,p_end"); -$w->selected = (isset($_GET['to_periode'])) ? $_GET['to_periode'] : ''; -print td('Jusque ') . $w->input('to_periode', $periode_end); -print ""; -$a = array( - array('value' => 0, 'label' => 'Ecriture comptable'), - array('value' => 1, 'label' => 'Liste opérations'), - array('value' => 2, 'label' => 'Avec Détails opérations ') -); -$w->selected = 1; -print ''; -print ''; -$w->selected = (isset($_GET['p_simple'])) ? $_GET['p_simple'] : ''; -echo '' . $w->input('p_simple', $a); -print ""; -echo '
      Style d\'impression '.HtmlInput::infobulle(32).'
      '; -print HtmlInput::submit('bt_html', 'Visualisation'); - -echo ''; -echo '
      '; - - -//----------------------------------------------------- -// If print is asked -// First time in html -// after in pdf or cvs -//----------------------------------------------------- -if (isset($_REQUEST['bt_html'])) -{ - require_once NOALYSS_INCLUDE.'/class_acc_ledger.php'; - - $d = var_export($_GET, true); - $Jrn = new Acc_Ledger($cn, $_GET['jrn_id']); - $Jrn->get_name(); - switch ($_GET['p_simple']) - { - case "0": - $Row = $Jrn->get_row($_GET['from_periode'], $_GET['to_periode']); - break; - case "1": - $Row = $Jrn->get_rowSimple($_GET['from_periode'], $_GET['to_periode']); - break; - case "2": - $Row = $Jrn->get_rowSimple($_GET['from_periode'], $_GET['to_periode']); - break; - default: - var_dump($_GET['p_simple']); - die(__FILE__ . ":" . __LINE__ . " error unknown style "); - } - $rep = ""; - $hid = new IHidden(); - echo '
      '; - echo '

      ' . h($Jrn->name) . '

      '; - echo ""; - echo ''; - echo '"; - - echo '"; - - echo '"; - - echo ''; - echo ""; - - echo "
      ' . dossier::hidden() . - $hid->input("type", "jrn") . $hid->input('p_action', 'impress') . "
      ' . dossier::hidden() . - HtmlInput::submit('bt_pdf', "Export PDF") . - HtmlInput::hidden('act', 'PDF:ledger') . - $hid->input("type", "jrn") . - $hid->input("jrn_id", $Jrn->id) . - $hid->input("from_periode", $_GET['from_periode']) . - $hid->input("to_periode", $_GET['to_periode']); - echo $hid->input("p_simple", $_GET['p_simple']); - echo HtmlInput::get_to_hidden(array('ac', 'type')); - echo "
      ' . dossier::hidden() . - HtmlInput::submit('bt_csv', "Export CSV") . - HtmlInput::hidden('act', 'CSV:ledger') . - $hid->input("type", "jrn") . - $hid->input("jrn_id", $Jrn->id) . - $hid->input("from_periode", $_GET['from_periode']) . - $hid->input("to_periode", $_GET['to_periode']); - echo $hid->input("p_simple", $_GET['p_simple']); - echo HtmlInput::get_to_hidden(array('ac', 'type')); - echo "
      '; - echo HtmlInput::print_window(); - echo '
      "; - if (count($Jrn->row) == 0 - && $Row == null) - exit; - - - ///////////////////////////////////////////////////////////////////////////////////// - // Ecriture comptable - ///////////////////////////////////////////////////////////////////////////////////// - if ($_GET['p_simple'] == 0) - { - echo ''; - // detailled printing - //--- - foreach ($Jrn->row as $op) - { - $class = ""; - if ($op['j_date'] != '') - { - $class = "odd"; - } - - echo ""; - - echo ""; - echo ""; - - - if ($op['internal'] != '') - echo ""; - else - echo td(); - - echo "" . - "" . - "" . - "" . - ""; - }// end loop - echo "
      " . $op['j_date'] . "" . $op['jr_pj_number'] . "" . HtmlInput::detail_op($op['jr_id'], $op['internal']) . "" . $op['poste'] . "" . $op['description'] . "" . nbm($op['deb_montant']) . "" . nbm($op['cred_montant']) . "
      "; - // show the saldo - - $solde = $Jrn->get_solde($_GET['from_periode'], $_GET['to_periode']); - echo "solde débiteur:" . $solde[0] . "
      "; - echo "solde créditeur:" . $solde[1]; - } // if - ///////////////////////////////////////////////////////////////////////////////////// - // Liste opérations - ///////////////////////////////////////////////////////////////////////////////////// - elseif ($_GET['p_simple'] == 1) - { - if ( $Jrn->get_type() != 'ACH' && $Jrn->get_type() != 'VEN') - { - // Simple printing - //--- - echo ''; - echo "" . - "" . - "" . - "" . - th('Tiers') . - "" . - "" . - ""; - // set a filter for the FIN - $i = 0;$tot_amount=0; - bcscale(2); - foreach ($Row as $line) - { - $i++; - $class = ($i % 2 == 0) ? ' class="even" ' : ' class="odd" '; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - $tiers = $Jrn->get_tiers($line['jrn_def_type'], $line['jr_id']); - echo td($tiers); - echo ""; - - - // echo ""; - // If the ledger is financial : - // the credit must be negative and written in red - // Get the jrn type - if ($line['jrn_def_type'] == 'FIN') - { - $positive = $cn->get_value("select qf_amount from quant_fin where jr_id=$1", array($line['jr_id'])); - if ($cn->count() == 0) - $positive = 1; - else - $positive = ($positive > 0) ? 1 : 0; - - echo ""; - if ( $positive == 1 ) { - $tot_amount=bcadd($tot_amount,$line['montant']); - } else { - $tot_amount=bcsub($tot_amount,$line['montant']); - } - } - else - { - echo ""; - $tot_amount=bcadd($tot_amount,$line['montant']); - } - - echo ""; - } - echo ''; - echo ''; - echo td().td().td().td().td(); - echo ''; - echo ''; - echo "
      operation " . - "Date n° de pièce internalCommentaireTotal opération
      " . $line['num'] . "" . $line['date'] . "" . h($line['jr_pj_number']) . "" . HtmlInput::detail_op($line['jr_id'], $line['jr_internal']) . "" . h($line['comment']) . "".$line['pj'].""; - echo ( $positive == 0 ) ? " - " . nbm($line['montant']) . "" : nbm($line['montant']); - echo "" . nbm($line['montant']) . "
      '._('Totaux').''.nbm($tot_amount).'
      "; - } else { - /* - * Ledger ACH or VEN - */ - $own=new Own($cn); - require_once NOALYSS_INCLUDE.'/template/print_ledger_simple.php'; - - } - } - ///////////////////////////////////////////////////////////////////////////////////// - // Détaillé - ///////////////////////////////////////////////////////////////////////////////////// - elseif ($_GET['p_simple'] == 2) - { - foreach ($Row as $line) - { - echo '
      '; - $class = ' class="odd" style="font-stretch: expanded;font-size:1em;"'; - echo ''; - echo ""; - echo '"; - echo '"; - echo '"; - $tiers = $Jrn->get_tiers($line['jrn_def_type'], $line['jr_id']); - $ledger_name = $cn->get_value("select jrn_def_name from jrn_def where jrn_def_id=$1", array($line['jr_def_id'])); - echo ''; - echo ''; - echo '"; - echo '"; - echo ""; - echo '
      ' . $line['date'] . "' . h($line['jr_pj_number']) . "' . HtmlInput::detail_op($line['jr_id'], $line['jr_internal']) . "' . h($ledger_name) . ' ' . h($tiers) . ' ' . h($line['comment']) . "'; - if ($line['jrn_def_type'] == 'FIN') - { - $positive = $cn->get_value("select qf_amount from quant_fin where jr_id=$1", array($line['jr_id'])); - if ($cn->count() == 0) - $positive = 1; - else - $positive = ($positive > 0) ? 1 : 0; - - echo ( $positive == 0 ) ? " - " . nbm($line['montant']) . "" : nbm($line['montant']); - } - else - { - if ( isset ($line['TVAC'])) { - echo ( nbm($line['TVAC']) < 0 ) ? " - " . nbm($line['TVAC']) . "" : nbm($line['TVAC']); - } else - { - echo nbm($line['montant']) ; - } - } - echo "
      '; - ////////////////////////////////////////////////////////////////////////////////////////////////////// - // Add detail for each operation - ////////////////////////////////////////////////////////////////////////////////////////////////////// - $op = new Acc_Operation($cn); - $op->jr_id = $line['jr_id']; - $op->get(); - $obj = $op->get_quant(); - switch ($obj->signature) - { - case 'FIN': - require 'template/operation_detail_fin.php'; - break; - case 'ACH': - require 'template/operation_detail_ach.php'; - break; - case 'VEN': - require 'template/operation_detail_ven.php'; - break; - case 'ODS': - require 'template/operation_detail_misc.php'; - break; - default: - die("unknown type of ledger"); - break; - } - echo '
      '; - //echo '
      '; - } // end loop - } - - echo "
      "; - exit; -} - -echo '
      '; -?> diff --git a/sources/include/impress_poste.inc.php b/sources/include/impress_poste.inc.php deleted file mode 100644 index 9301503..0000000 --- a/sources/include/impress_poste.inc.php +++ /dev/null @@ -1,306 +0,0 @@ -'; - -echo '
      '; -echo HtmlInput::hidden('ac',$_REQUEST['ac']); -echo HtmlInput::hidden('type','poste'); -echo dossier::hidden(); -echo ''; -$span=new ISpan(); - -$w=new IPoste('poste_id'); -$w->set_attribute('ipopup','ipop_account'); -$w->set_attribute('label','poste_id_label'); -$w->set_attribute('account','poste_id'); -$w->table=0; -$w->value=(isset($_REQUEST['poste_id']))?$_REQUEST['poste_id']:""; -$w->label="Choisissez le poste"; -print td('Choisissez un poste ').td($w->input()); -echo td($span->input('poste_id_label')); -echo ''; - -$w_poste=new ICard('f_id'); -$w_poste->table=0; -$w_poste->jrn=0; -echo td("Ou Choisissez la fiche"); -$w_poste->set_attribute('label','f_id_label'); -$w_poste->set_attribute('ipopup','ipop_card'); -$w_poste->set_attribute('gDossier',dossier::id()); -$w_poste->set_attribute('typecard','all'); -$w_poste->set_function('fill_data'); -$w_poste->set_dblclick("fill_ipopcard(this);"); - - -$w_poste->value=(isset($_REQUEST['f_id']))?$_REQUEST['f_id']:""; -print td($w_poste->input().$w_poste->search()); -echo td($span->input('f_id_label')); -print ''; -print ''; - -$date_from=new IDate('from_periode'); -$date_to=new IDate('to_periode'); -$year=$g_user->get_exercice(); -$date_from->value=(isset($_REQUEST['from_periode']))?$_REQUEST['from_periode']:"01.01.".$year; -$date_to->value=(isset($_REQUEST['to_periode']))?$_REQUEST['to_periode']:"31.12.".$year; -echo td(_('Depuis').$date_from->input()); -echo td(_('Jusque ').$date_to->input()); -// -print "'; -$a_let=array( - array('value'=>0,'label'=>'Toutes les opérations'), - array('value'=>1,'label'=>' Opérations lettrées'), - array('value'=>2,'label'=>' Opérations non lettrées') - ); -echo '
      "; -$all=new ICheckBox(); -$all->label="Tous les postes qui en dépendent"; -$all->disabled=false; -$all->selected=(isset($_REQUEST['poste_fille']))?true:false; -echo $all->input("poste_fille"); -echo '
      '; -$detail=new ICheckBox(); -$detail->label="Détail des opérations"; -$detail->disabled=false; -$detail->selected=(isset($_REQUEST['oper_detail']))?true:false; -echo $detail->input("oper_detail"); -echo '
      '; -$salet=new ISelect('ople'); -$salet->value=$a_let; -$salet->selected=(isset ($_GET['ople']))?$_GET['ople']:0; - -echo $salet->input(); - -print HtmlInput::submit('bt_html','Visualisation'); - -echo '
      '; -echo '
      '; -echo '
      '; - -//----------------------------------------------------- -// If print is asked -// First time in html -// after in pdf or cvs -//----------------------------------------------------- -if ( isset( $_REQUEST['bt_html'] ) ) -{ - if ( isDate($_REQUEST['from_periode'])==null || isDate($_REQUEST['to_periode'])==null) - { - echo alert(_('Date malformée, désolée')); - return; - } - require_once NOALYSS_INCLUDE.'/class_acc_account_ledger.php'; - $go=0; -// we ask a poste_id - if ( isset($_GET['poste_id']) && strlen(trim($_GET['poste_id'])) != 0 ) - { - if ( isset ($_GET['poste_fille']) ) - { - $parent=$_GET['poste_id']; - $a_poste=$cn->get_array("select pcm_val from tmp_pcmn where pcm_val::text like '$parent%' order by pcm_val::text"); - $go=3; - } - // Check if the post is numeric and exists - elseif ( $cn->count_sql('select * from tmp_pcmn where pcm_val=$1',array($_GET['poste_id'])) != 0 ) - { - $Poste=new Acc_Account_Ledger($cn,$_GET['poste_id']); - $go=1; - } - } - if ( strlen(trim($_GET['f_id'])) != 0 ) - { - require_once NOALYSS_INCLUDE.'/class_fiche.php'; - // thanks the qcode we found the poste account - $fiche=new Fiche($cn); - $qcode=$fiche->get_by_qcode($_GET['f_id']); - $p=$fiche->strAttribut(ATTR_DEF_ACCOUNT); - if ( $p != NOTFOUND) - { - $go=2; - } - } - - // A account is given - if ( $go == 1) - { - echo '
      '; - if ( ! isset($_REQUEST['oper_detail']) ) - { - Acc_Account_Ledger::HtmlTableHeader(); - echo '
      '; - $Poste->HtmlTable(null,$_GET['ople']); - echo '
      '; - echo Acc_Account_Ledger::HtmlTableHeader(); - } - else - { - //---------------------------------------------------------------------- - // Detail - //---------------------------------------------------------------------- - Acc_Account_Ledger::HtmlTableHeader(); - - $Poste->get_row_date( $_GET['from_periode'], $_GET['to_periode'],$_GET['ople']); - if ( empty($Poste->row)) return; - $Poste->load(); - - echo ''; - echo ''; - /* avoid duplicates */ - $old=array(); - foreach ($Poste->row as $detail) - { - if ( in_array($detail['jr_id'],$old) == TRUE ) continue; - $old[]=$detail['jr_id']; - echo ''; - - $op=new Acc_Operation($cn); - $op->jr_id=$detail['jr_id']; - $op->poste=$_GET['poste_id']; - echo $op->display_jrnx_detail(1); - } - echo '

      '. $_GET['poste_id'].' '.h($Poste->label).'

      '.$detail['j_date'].' '.$detail['jr_internal'].h($detail['description']).'
      '; - - echo Acc_Account_Ledger::HtmlTableHeader(); - } - echo "
      "; - exit; - } - - // A QuickCode is given - if ( $go == 2) - { - if ( ! isset($_REQUEST['oper_detail']) ) - { - echo '
      '; - echo '

      ' . - '(' . $fiche->id . ')' . - $fiche->getName() . ' ' . - ' [ ' . $fiche->get_quick_code() . ' ] ' . - '

      '; - $fiche->HtmlTableHeader(); - $fiche->HtmlTable(null, $_GET['ople']); - $fiche->HtmlTableHeader(); - echo "
      "; - } - else - { - // Detail // - echo '
      '; - echo '

      ' . - '(' . $fiche->id . ')' . - $fiche->getName() . ' ' . - ' [ ' . $fiche->get_quick_code() . ' ] ' . - '

      '; - - $fiche->HtmlTableHeader(); - $fiche->HtmlTableDetail(); - $fiche->HtmlTableHeader(); - echo "

      "; - } - exit; - } - - // All the children account - if ( $go == 3 ) - { - - if ( sizeof($a_poste) == 0 ) - exit; - echo '
      '; - - - if ( ! isset ($_REQUEST['oper_detail'])) - { - $Poste=new Acc_Account_Ledger($cn,$_GET['poste_id']); - echo Acc_Account_Ledger::HtmlTableHeader(); - - foreach ($a_poste as $poste_id ) - { - $Poste=new Acc_Account_Ledger ($cn,$poste_id['pcm_val']); - $Poste->HtmlTable(null,$_GET['ople']); - } - echo Acc_Account_Ledger::HtmlTableHeader(); - echo "
      "; - } - else - { - //---------------------------------------------------------------------- - // Detail - //---------------------------------------------------------------------- - echo Acc_Account_Ledger::HtmlTableHeader(); - echo ''; - foreach ($a_poste as $poste_id ) - { - $Poste=new Acc_Account_Ledger ($cn,$poste_id['pcm_val']); - $Poste->load(); - $Poste->get_row_date( $_GET['from_periode'], $_GET['to_periode'],$_GET['ople']); - if ( empty($Poste->row)) continue; - echo ''; - - $detail=$Poste->row[0]; - - $old=array(); - - foreach ($Poste->row as $detail) - { - /* avoid duplicates */ - if ( in_array($detail['jr_id'],$old) == TRUE ) continue; - $old[]=$detail['jr_id']; - echo tr(td("Journal :".$detail['jrn_def_name'],''),'style="width:auto" colspan="6"'); - echo ''; - - $op=new Acc_Operation($cn); - $op->poste=$poste_id['pcm_val']; - - $op->jr_id=$detail['jr_id']; - echo $op->display_jrnx_detail(1); - } - } - echo '

      '. $poste_id['pcm_val'].' '.h($Poste->label).'

      '. $detail['j_date'].' '.$detail['jr_internal'].' '.hb($detail['description']).' '.hi($detail['jr_pj_number']).'
      '; - echo Acc_Account_Ledger::HtmlTableHeader(); - } - - exit; - } -} -?> diff --git a/sources/include/impress_rapport.inc.php b/sources/include/impress_rapport.inc.php deleted file mode 100644 index d7dae64..0000000 --- a/sources/include/impress_rapport.inc.php +++ /dev/null @@ -1,293 +0,0 @@ -get_name(); - // step asked ? - //-- - $type_periode=HtmlInput::default_value_get("type_periode", -1); - if ( $type_periode == 1 ) - $array=$Form->get_row( $_GET['from_date'],$_GET['to_date'], $type_periode); - - if ($type_periode == 0 && $_GET['p_step'] == 0) - $array=$Form->get_row( $_GET['from_periode'],$_GET['to_periode'], $type_periode); - - - if ($type_periode == 0 && $_GET['p_step'] == 1 ) - { - // step are asked - //-- - for ($e=$_GET['from_periode'];$e<=$_GET['to_periode'];$e+=$_GET['p_step']) - { - - $periode=getPeriodeName($cn,$e); - if ( $periode == null ) continue; - $array[]=$Form->get_row($e,$e,$_GET['type_periode']); - $periode_name[]=$periode; - } - } - - - - $rep=""; - - $hid=new IHidden(); - echo '
      '; - if ( $_GET['type_periode'] == 0) - { - $t=($_GET['from_periode']==$_GET['to_periode'])?"":" -> ".getPeriodeName($cn,$_GET['to_periode'],'p_end'); - echo '

      '.$Form->id." ".$Form->name. - " - ".getPeriodeName($cn,$_GET['from_periode'],'p_start'). - " ".$t. - '

      '; - } - else - { - echo '

      '.$Form->id." ".$Form->name. - ' Date :'. - $_GET['from_date']. - " au ". - $_GET['to_date']. - '

      '; - } - echo ''; - echo ''; - echo '"; - - echo '"; - echo '"; - - echo ""; - - echo "
      '. - dossier::hidden(). - HtmlInput::submit('bt_other',"Autre Rapport"). - $hid->input("type","rapport").$hid->input("ac",$_GET['ac'])."
      '. - HtmlInput::submit('bt_pdf',"Export PDF"). - HtmlInput::hidden('act','PDF:report'). - dossier::hidden(). - $hid->input("type","rapport"). - $hid->input("ac",$_GET['ac']). - $hid->input("form_id",$Form->id); - if ( isset($_GET['from_periode'])) echo $hid->input("from_periode",$_GET['from_periode']); - if ( isset($_GET['to_periode'])) echo $hid->input("to_periode",$_GET['to_periode']); - if (isset($_GET['p_step'])) echo $hid->input("p_step",$_GET['p_step']); - if ( isset($_GET['from_date'])) echo $hid->input("from_date",$_GET['from_date']); - if ( isset($_GET['to_date'])) echo $hid->input("to_date",$_GET['to_date']); - echo $hid->input("type_periode",$_GET['type_periode']); - - - - - echo "
      '. - HtmlInput::hidden('act','CSV:report'). - HtmlInput::submit('bt_csv',"Export CSV"). - dossier::hidden(). - $hid->input("type","form"). - $hid->input("ac",$_GET['ac']). - $hid->input("form_id",$Form->id); - if ( isset($_GET['from_periode'])) echo $hid->input("from_periode",$_GET['from_periode']); - if ( isset($_GET['to_periode'])) echo $hid->input("to_periode",$_GET['to_periode']); - if (isset($_GET['p_step'])) echo $hid->input("p_step",$_GET['p_step']); - if ( isset($_GET['from_date'])) echo $hid->input("from_date",$_GET['from_date']); - if ( isset($_GET['to_date'])) echo $hid->input("to_date",$_GET['to_date']); - echo $hid->input("type_periode",$_GET['type_periode']); - - - echo "
      "; - if ( count($Form->row ) == 0 ) - exit; - if ( $_GET['type_periode']== 0 ) - { - if ( $_GET['p_step'] == 0) - { // check the step - // show tables - ShowReportResult($Form->row); - } - else - { - $a=0; - foreach ( $array as $e) - { - echo '

      Periode : '.$periode_name[$a]."

      "; - $a++; - ShowReportResult($e); - } - } - } - else - { - ShowReportResult($Form->row); - } - echo "
      "; - exit; -} - -//----------------------------------------------------- -// Show the jrn and date -//----------------------------------------------------- -require_once NOALYSS_INCLUDE.'/class_database.php'; -$ret=$cn->make_array("select fr_id,fr_label - from formdef - order by fr_label"); -if ( sizeof($ret) == 0 ) -{ - echo "Aucun Rapport"; - return; -} -//----------------------------------------------------- -// Form -//----------------------------------------------------- -echo '
      '; -$exercice=(isset($_GET['exercice']))?$_GET['exercice']:$g_user->get_exercice(); - -/* - * Let you change the exercice - */ -echo '
      '._('Exercice').'';; -echo '
      '; -echo 'Choisissez un autre exercice :'; -$ex=new Exercice($cn); -$wex=$ex->select('exercice',$exercice,' onchange="submit(this)"'); -echo $wex->input(); -echo dossier::hidden(); -echo HtmlInput::get_to_hidden(array('ac','type')); -echo '
      '; -echo '
      '; - - -echo '
      '; -$hidden=new IHidden(); -echo $hidden->input("ac",$_GET['ac']); -echo $hidden->input("type","rapport"); -echo dossier::hidden(); - -echo ''; -$w=new ISelect(); -$w->table=1; -print td(_("Choisissez le rapport")); -print $w->input("form_id",$ret); -print ''; -//-- calendrier ou periode comptable -$aCal=array( - array('value'=>0,'label'=>_('Période comptable')), - array('value'=>1,'label'=>_('Calendrier')) - ); - -$w->javascript=' onchange=enable_type_periode();'; -$w->id='type_periode'; -echo ''; -print td('Type de date : '); -echo $w->input('type_periode',$aCal); -echo ''; -$w->javascript=''; -print ''; -// filter on the current year -$filter_year=" where p_exercice='".sql_string($exercice)."'"; -$periode_start_select=new ISelect(); -$periode_start_select->table=1; -$periode_end_select=new ISelect(); -$periode_end_select->table=1; -$periode_start=$cn->make_array("select p_id,to_char(p_start,'DD-MM-YYYY') from parm_periode $filter_year order by p_start,p_end"); -print td("Période comptable : Depuis"); -echo $periode_start_select->input('from_periode',$periode_start); -print td(" jusqu'à "); -$periode_end=$cn->make_array("select p_id,to_char(p_end,'DD-MM-YYYY') from parm_periode $filter_year order by p_start,p_end"); -print $periode_end_select->input('to_periode',$periode_end); -print ""; -echo ''; -//--- by date -$date_from=new IDate('from_date'); -$date_from->id='from_date'; -$date_to=new IDate('to_date'); -$date_to->id='to_date'; - -echo td(_("Calendrier depuis :")); -echo td($date_from->input('from_date')); -echo td(_("jusque")); -echo td($date_to->input('to_date')); -echo ''; - -$aStep=array( - array('value'=>0,'label'=>_('Pas d\'étape')), - array('value'=>1,'label'=>_('1 mois')) - ); -echo ''; -echo td(_('Par étape de')); -$w->id='p_step'; -echo $w->input('p_step',$aStep); -echo ''; - -echo '
      '; -echo ' '._('Attention : vous ne pouvez pas utiliser les étapes avec les dates calendriers.').''; -echo '
      '; -echo ''._('Les clauses FROM sont ignorés avec les dates calendriers').''; -echo '
      '; -print HtmlInput::submit('bt_html',_('Visualisation')); - -echo '
      '; -echo ''; -echo '
      '; -echo '
      '; -//----------------------------------------------------- -// Function -//----------------------------------------------------- -function ShowReportResult($p_array) -{ - - echo ''; - echo "". - "". - "". - ""; - $i=0; - foreach ( $p_array as $op ) - { - $i++; - $class= ( $i % 2 == 0 )?' class="odd"':' class="even"'; - - echo "". - "". - "". - ""; - } - echo "
      Description montant
      ".h($op['desc'])."".nbm($op['montant'])."
      "; - -} - -?> diff --git a/sources/include/impress_rec.inc.php b/sources/include/impress_rec.inc.php deleted file mode 100644 index 608f09d..0000000 --- a/sources/include/impress_rec.inc.php +++ /dev/null @@ -1,103 +0,0 @@ -get_ledger('ALL',3); -echo '
      '; -echo '
      '; -$rjrn=''; -$radio=new IRadio('choice'); -$choice=(isset($_GET['choice']))?$_GET['choice']:0; -$r_jrn=(isset($_GET['r_jrn']))?$_GET['r_jrn']:''; -echo '
      '; -echo dossier::hidden().HtmlInput::hidden('ac',$_GET['ac']).HtmlInput::hidden('type','rec'); -echo _('Filtre par journal'); -HtmlInput::button_choice_ledger(array('div'=>'','type'=>'ALL','all_type'=>1)); -echo '
      '; -/* - * Limit by date, default current exercice - */ -list($start,$end)=$g_user->get_limit_current_exercice(); -$dstart=new IDate('p_start'); -$dstart->value=(isset($_REQUEST['p_start']))?$_REQUEST['p_start']:$start; - -$dend=new IDate('p_end'); -$dend->value=(isset($_REQUEST['p_end']))?$_REQUEST['p_end']:$end; - -echo "Opérations entre ".$dstart->input()." jusque ".$dend->input(); -echo '
        '; - -$radio->selected=($choice==0)?true:false; -$radio->value=0; -echo '
      1. '.$radio->input()._('Opérations rapprochées').'
      2. '; - -$radio->selected=($choice==1)?true:false; -$radio->value=1; -echo '
      3. '.$radio->input()._('Opérations rapprochées avec des montants différents').'
      4. '; - -$radio->selected=($choice==2)?true:false; -$radio->value=2; -echo '
      5. '.$radio->input()._('Opérations rapprochées avec des montants identiques').'
      6. '; - -$radio->selected=($choice==3)?true:false; -$radio->value=3; -echo '
      7. '.$radio->input()._('Opérations non rapprochées').'
      8. '; - -echo '
      '; - - - - -echo HtmlInput::submit('vis',_('Visualisation')); -echo '
      '; -echo '
      '; -echo '
      '; -echo '
      '; -echo '
      '; -if ( ! isset($_GET['vis'])) return; -$acc_reconciliation=new Acc_Reconciliation($cn); -$acc_reconciliation->a_jrn=$r_jrn; -$acc_reconciliation->start_day=$dstart->value; -$acc_reconciliation->end_day=$dend->value; - -$array=$acc_reconciliation->get_data($choice); - -$gDossier=Dossier::id(); -?> -
      - -
      -'; -echo ''; -if (! isset($_REQUEST['seek'])) exit; -echo '
      '; -//-------------------------------------------------------------------------------- -// record the data -//-------------------------------------------------------------------------------- -if ( isset($_POST['record'])) -{ - $letter=new Lettering_Account($cn); - $letter->save($_POST); -} -//-------------------------------------------------------------------------------- -// Show the result -//-------------------------------------------------------------------------------- -echo '
      '; -if ( isDate($_GET['start']) == null || isDate($_GET['end']) == null ) -{ - echo alert(_('Date malformée, désolé')); - return; -} -$letter=new Lettering_Account($cn); -$letter->set_parameter('account',$_GET['acc']); -$letter->set_parameter('start',$_GET['start']); -$letter->set_parameter('end',$_GET['end']); - -if ( $sel->selected == 0 ) - echo $letter->show_list('all'); -if ( $sel->selected == 1 ) - echo $letter->show_list('letter'); -if ( $sel->selected == 2 ) - echo $letter->show_list('unletter'); -if ( $sel->selected == 3 ) - echo $letter->show_list('letter_diff'); -echo '
      '; -echo ''; diff --git a/sources/include/lettering.card.inc.php b/sources/include/lettering.card.inc.php deleted file mode 100644 index 53adde7..0000000 --- a/sources/include/lettering.card.inc.php +++ /dev/null @@ -1,139 +0,0 @@ -'; -echo ''; -if (! isset($_REQUEST['seek'])) exit; -echo '
      '; -//-------------------------------------------------------------------------------- -// record the data -//-------------------------------------------------------------------------------- -if ( isset($_POST['record'])) -{ - $letter=new Lettering_Account($cn); - $letter->save($_POST); -} -//-------------------------------------------------------------------------------- -// Show the result -//-------------------------------------------------------------------------------- -echo '
      '; - - -$letter=new Lettering_Card($cn); -$quick_code=strtoupper(trim($_GET['acc'])); -$letter->set_parameter('quick_code',$quick_code); -$letter->set_parameter('start',$_GET['start']); -$letter->set_parameter('end',$_GET['end']); - -if ( $sel->selected == 0 ) - echo $letter->show_list('all'); -if ( $sel->selected == 1 ) - echo $letter->show_list('letter'); -if ( $sel->selected == 2 ) - echo $letter->show_list('unletter'); -if ( $sel->selected == 3 ) - echo $letter->show_list('letter_diff'); -echo '
      '; -echo ''; diff --git a/sources/include/lettering.gestion.inc.php b/sources/include/lettering.gestion.inc.php deleted file mode 100644 index 3e19306..0000000 --- a/sources/include/lettering.gestion.inc.php +++ /dev/null @@ -1,98 +0,0 @@ -'; - -echo ''; -//if (! isset($_REQUEST['seek'])) exit; -echo '
      '; -//-------------------------------------------------------------------------------- -// record the data -//-------------------------------------------------------------------------------- -if ( isset($_POST['record'])) -{ - $letter=new Lettering_Account($cn); - $letter->save($_POST); -} -//-------------------------------------------------------------------------------- -// Show the result -//-------------------------------------------------------------------------------- -if ( isset($_GET['start']) && isset($_GET['end'])) - { - if ( isDate($_GET['start']) == null || isDate($_GET['end']) == null ) - { - echo alert(_('Date malformée, désolé')); - return; - } - } -echo '
      '; -$fiche=new Fiche($cn,$_REQUEST['f_id']); -$quick_code=$fiche->get_quick_code(); -$letter=new Lettering_Card($cn); -$letter->set_parameter('quick_code',$quick_code); -$letter->set_parameter('start',$start->value); -$letter->set_parameter('end',$end->value); - -if ( $sel->selected == 0 ) - echo $letter->show_list('all'); -if ( $sel->selected == 1 ) - echo $letter->show_list('letter'); -if ( $sel->selected == 2 ) - echo $letter->show_list('unletter'); - -echo '
      '; -echo ''; -echo '
      '; -?> diff --git a/sources/include/manager.inc.php b/sources/include/manager.inc.php deleted file mode 100644 index f3ca9fd..0000000 --- a/sources/include/manager.inc.php +++ /dev/null @@ -1,162 +0,0 @@ -check_action(FICADD) == 0) - { - alert(_('Vous ne pouvez pas enlever de fiche')); - return; - } - - $f_id = $_REQUEST['f_id']; - - $fiche = new Manager($cn, $f_id); - $fiche->remove(); - $low_action = "list"; - } -} - -//----------------------------------------------------- -// list of Manager / employeed -//----------------------------------------------------- -if ($low_action == "list") -{ - ?> -
      -
      -
      - ' . "Exercice " . $g_user->get_exercice() . ''; - echo dossier::hidden(); - $a = (isset($_GET['query'])) ? $_GET['query'] : ""; - printf(_('Recherche') . ' ', $a); - echo HtmlInput::request_to_hidden(array('ac')); - $choice_cat=HtmlInput::default_value_request("choice_cat", 1); - if ( $choice_cat == 1 ) - { - $sel_card = new ISelect('cat'); - $sel_card->value = $cn->make_array('select fd_id, fd_label from fiche_def ' . - ' where frd_id=' . FICHE_TYPE_EMPL . - ' order by fd_label ', 1); - $sel_card->selected = (isset($_GET['cat'])) ? $_GET['cat'] : -1; - $sel_card->javascript = ' onchange="submit(this);"'; - echo _('Catégorie :') . $sel_card->input(); - } - else - { - $cat=HtmlInput::default_value_request('cat', ''); - echo HtmlInput::hidden("cat",$cat); - echo HtmlInput::hidden('choice_cat', 0); - } - $nooperation = new ICheckBox('noop'); - $nooperation->selected = (isset($_GET['noop'])) ? true : false; - echo _('Inclure les employés sans opération :') . $nooperation->input(); - ?> - - -
      -
      - '; - echo $supplier->Summary($search, 'manager', $sql, $noop); - - - echo '
      '; - echo '
      '; - echo '
      '; - if ($g_user->check_action(FICADD) == 1) - { - /* Add button */ - $f_add_button = new IButton('add_card'); - $f_add_button->label = _('Créer une nouvelle fiche'); - $f_add_button->set_attribute('win_refresh', 'yes'); - - $f_add_button->set_attribute('type_cat', FICHE_TYPE_EMPL); - $f_add_button->javascript = " select_card_type(this);"; - echo $f_add_button->input(); - - $f_cat_button = new IButton('add_cat'); - $f_cat_button->set_attribute('type_cat', FICHE_TYPE_EMPL); - $f_cat_button->set_attribute('ipopup', 'ipop_cat'); - $f_cat_button->label = _('Ajout d\'une catégorie'); - $f_cat_button->javascript = 'add_category(this)'; - echo $f_cat_button->input(); - } - - echo '
      '; - echo '
      '; -} -/* ---------------------------------------------------------------------- - * Detail for a card, Suivi, Contact, Operation,... * - * cc stands for supplier card - * ---------------------------------------------------------------------- */ -if ($low_action == 'detail') -{ - /* Menu */ - require_once NOALYSS_INCLUDE.'/category_card.inc.php'; - return; -} - - - -html_page_stop(); -?> diff --git a/sources/include/menu.inc.php b/sources/include/menu.inc.php deleted file mode 100644 index 9adba89..0000000 --- a/sources/include/menu.inc.php +++ /dev/null @@ -1,192 +0,0 @@ -'; -/** - * if post save then we save a new one - */ -if ( isset($_POST['save_plugin'])) -{ - extract($_POST); - $plugin=new Extension($cn); - $plugin->me_code=$me_code; - $plugin->me_menu=$me_menu; - $plugin->me_file=$me_file; - $plugin->me_description=$me_description; - $plugin->me_parameter='plugin_code='.$me_code; - $plugin->insert_plugin(); -} -/** - * if post update then we update - */ -if (isset($_POST['mod_plugin'])) -{ - extract ($_POST); - $plugin=new Extension($cn); - $plugin->me_code=strtoupper($me_code); - $plugin->me_menu=$me_menu; - $plugin->me_file=$me_file; - $plugin->me_description=$me_description; - $plugin->me_parameter='plugin_code='.strtoupper($me_code); - if ( !isset ($delete_pl)) - { - $plugin->update_plugin(); - } - else - { - $plugin->remove_plugin(); - } -} -/** - * if post save then we save a new one - */ -if ( isset($_POST['create_menu'])|| isset($_POST['modify_menu'])) -{ - extract($_POST); - $menu_ref=new Menu_Ref($cn); - $menu_ref->me_code=strtoupper($me_code); - $menu_ref->me_menu=$me_menu; - $menu_ref->me_file=$me_file; - $menu_ref->me_description=$me_description; - $menu_ref->me_parameter=$me_parameter; - $menu_ref->me_url=$me_url; - $menu_ref->me_javascript=$me_javascript; - $menu_ref->me_type='ME'; - $check=$menu_ref->verify(); - if ($check == 0) - { - if (isset($_POST['create_menu'])) - { - $menu_ref->insert(); - } - elseif (isset($_POST['modify_menu'])) - { - if ($menu_ref->verify() == 0) - $menu_ref->update(); - } - } -} -////////////////////////////////////////////////////////////////////////////// -// Show the list of menu -////////////////////////////////////////////////////////////////////////////// -global $cn; - -$table=new Sort_Table(); -$url=$_SERVER['REQUEST_URI']; - -$table->add(_('Code'),$url,"order by me_code asc","order by me_code desc","codea","coded"); -$table->add(_('Menu'),$url,"order by me_menu asc","order by me_menu desc","menua","menud"); -$table->add(_('Description'),$url,"order by me_description asc","order by me_description desc","desa","desd"); -$table->add(_('Type'),$url,"order by me_type asc","order by me_type desc","ta","td"); -$table->add(_('Fichier'),$url,"order by me_file asc","order by me_file desc","fa","fd"); -$table->add(_('URL'),$url,"order by me_url asc","order by me_url desc","urla","urld"); -$table->add(_('Paramètre'),$url,"order by me_parametere asc","order by me_parameter desc","paa","pad"); -$table->add(_('Javascript'),$url,"order by me_javascript asc","order by me_javascript desc","jsa","jsd"); - -$ord=(isset($_REQUEST['ord']))?$_REQUEST['ord']:'codea'; - -$order=$table->get_sql_order($ord); - - - -$iselect=new ISelect('p_type'); -$iselect->value=array( - array("value"=>'',"label"=>_("Tout")), - array("value"=>'ME',"label"=>_("Menu")), - array("value"=>'PR',"label"=>_("Impression")), - array("value"=>'PL',"label"=>_("Extension / Plugin")), - array("value"=>'SP',"label"=>_("Valeurs spéciales")) - ); -$iselect->selected=(isset($_REQUEST['p_type']))?$_REQUEST['p_type']:''; -$sql=""; -if ( $iselect->selected != '') -{ - $sql="where me_type='".sql_string($_REQUEST['p_type'])."' "; -} -$menu=new Menu_Ref_sql($cn); -$ret=$menu->seek($sql.$order); -?> -
      -
      - input()?> - - -
      - -
      -'; -echo ''; -echo ''.$table->get_header(0).''; -echo ''.$table->get_header(1).''; -echo ''.$table->get_header(2).''; -echo ''.$table->get_header(3).HtmlInput::infobulle(33).''; -echo ''.$table->get_header(4).''; -echo ''.$table->get_header(5).''; -echo ''.$table->get_header(6).''; -echo ''.$table->get_header(7).''; -echo ''; - -for ($i = 0; $i < Database::num_row($ret); $i++) -{ - $row = $menu->get_object($ret, $i); - $js = $row->me_code; - switch ($row->me_type) - { - case 'PL': - $js = sprintf('%s', $gDossier, $row->me_code, $row->me_code); - break; - case 'ME': - $js = sprintf('%s', $gDossier, $row->me_code, $row->me_code); - break; - } - $class = ( $i % 2 == 0) ? $class = ' class="odd"' : $class = ' class="even"'; - echo ""; - echo td($js); - echo td(_($row->me_menu)); - echo td(h(_($row->me_description))); - echo td(h($row->me_type)); - echo td(h($row->me_file)); - echo td(h($row->me_url)); - echo td(h($row->me_parameter)); - echo td(h($row->me_javascript)); - echo ''; -} -echo ''; - -?> diff --git a/sources/include/modele.inc.php b/sources/include/modele.inc.php deleted file mode 100644 index 8175b73..0000000 --- a/sources/include/modele.inc.php +++ /dev/null @@ -1,391 +0,0 @@ -get_value('select count(*) from modeledef where ' . - 'mod_name=$1 and mod_id !=$2', array(trim($name), $m)) == 0 - ) - { - - $cn->exec_sql("update modeledef set mod_name=$1, " . - " mod_desc=$2 where mod_id=$3 ", array(trim($name), trim($desc), $m)); - } - } - $sa = "list"; -} - -$cn = new Database(); - - - -// IF FMOD_NAME is posted then must add a template -if (isset($_POST["FMOD_NAME"])) -{ - $encoding = $cn->get_value("select encoding from pg_database where " . - " datname='" . domaine . 'dossier' . sql_string($_POST["FMOD_DBID"]) . "'"); - - if ($encoding != 6) - { - alert(_('Désolé vous devez migrer ce modèle en unicode')); - echo ''._('la base de donnée')." " . - domaine . 'mod' . $_POST["FMOD_DBID"]." " . _("doit être migrée en unicode").""; - echo ' '._("Pour le passer en unicode, faites-en un backup puis restaurez le fichier reçu").''; - - echo HtmlInput::button_anchor(_('Retour'), 'admin_repo.php?action=dossier_mgt'); - return; - } - - $mod_name = sql_string($_POST["FMOD_NAME"]); - $mod_desc = sql_string($_POST["FMOD_DESC"]); - if ($mod_name != null) - { - $Res = $cn->exec_sql("insert into modeledef(mod_name,mod_desc) - values ('" . $mod_name . "'," . - "'" . $mod_desc . "')"); - - // get the mod_id - $l_id = $cn->get_current_seq('s_modid'); - if ($l_id != 0) - { - $Sql = sprintf("CREATE DATABASE %sMOD%d encoding='UTF8' TEMPLATE %sDOSSIER%s", domaine, $l_id, domaine, $_POST["FMOD_DBID"]); - ob_start(); - if ($cn->exec_sql($Sql) == false) - { - ob_end_clean(); - echo "

      Base de donnée " . domaine . "dossier" . $_POST['FMOD_DBID'] . " "._("est accèdée, déconnectez-vous en d'abord")."

      "; - $Res = $cn->exec_sql("delete from modeledef where mod_id=" . $l_id); - - exit; - } - } - }// if $mod_name != null - - $cn_mod = new Database($l_id, 'mod'); - - // Clean some tables - - $Res = $cn_mod->exec_sql("select distinct jr_pj from jrn where jr_pj is not null "); - if (Database::num_row($Res) != 0) - { - $a_lob = Database::fetch_all($Res); - for ($i = 0; $i < count($a_lob); $i++) - $cn_mod->lo_unlink($a_lob[$i]['jr_pj']); - } - Extension::clean($cn_mod); - $Res = $cn_mod->exec_sql("truncate table centralized"); - $Res = $cn_mod->exec_sql("truncate table jrn cascade"); - $Res = $cn_mod->exec_sql("delete from del_jrn"); - $Res = $cn_mod->exec_sql("delete from del_jrnx"); - $Res = $cn_mod->exec_sql("truncate table jrnx cascade "); - $Res = $cn_mod->exec_sql("truncate table todo_list cascade "); - $Res = $cn_mod->exec_sql("delete from del_action"); - $Res = $cn_mod->exec_sql("delete from profile_user"); - $Res = $cn_mod->exec_sql("delete from jnt_letter"); - - $Res = $cn_mod->exec_sql('delete from operation_analytique'); - - // Reset the closed periode - $Res = $cn_mod->exec_sql("update parm_periode set p_closed='f'"); - $Res = $cn_mod->exec_sql('delete from jrn_periode'); - $Res = $cn_mod->exec_sql(' insert into jrn_periode(p_id,jrn_def_id,status) ' . - ' select p_id,jrn_def_id,\'OP\' ' . - ' from ' . - ' parm_periode cross join jrn_def'); - - // Reset Sequence - $a_seq = array('s_jrn', 's_jrn_op', 's_centralized', 's_stock_goods', 's_internal'); - foreach ($a_seq as $seq) - { - $sql = sprintf("select setval('%s',1,false)", $seq); - $Res = $cn_mod->exec_sql($sql); - } - $sql = "select jrn_def_id from jrn_def "; - $Res = $cn_mod->exec_sql($sql); - $Max = Database::num_row($Res); - for ($seq = 0; $seq < $Max; $seq++) - { - $row = Database::fetch_array($Res, $seq); - /* if seq doesn't exist create it */ - if ($cn_mod->exist_sequence('s_jrn_' . $row['jrn_def_id']) == false) - { - $cn_mod->create_sequence('s_jrn_' . $row['jrn_def_id']); - } - - - $sql = sprintf("select setval('s_jrn_%d',1,false)", $row['jrn_def_id']); - $cn_mod->exec_sql($sql); - - $sql = sprintf("select setval('s_jrn_pj%d',1,false)", $row['jrn_def_id']); - $cn_mod->exec_sql($sql); - $sql = sprintf("select setval('jnt_letter_jl_id_seq',1,false)"); - $cn_mod->exec_sql($sql); - } - //--- - // Cleaning Follow_Up - //-- - if (isset($_POST['DOC'])) - { - $Res = $cn_mod->exec_sql("delete from action_gestion"); - $Res = $cn_mod->exec_sql("delete from document"); - - // Remove lob file - $Res = $cn_mod->exec_sql("select distinct loid from pg_largeobject except select md_lob from document_modele"); - if (Database::num_row($Res) != 0) - { - $a_lob = Database::fetch_all($Res); - //var_dump($a_lob); - foreach ($a_lob as $lob) - { - $cn_mod->lo_unlink($lob['loid']); - } - } - } - if (isset($_POST['CARD'])) - { - $Res = $cn_mod->exec_sql("delete from fiche_detail"); - $Res = $cn_mod->exec_sql("delete from fiche"); - $Res = $cn_mod->exec_sql("delete from action_gestion"); - $Res = $cn_mod->exec_sql("delete from document"); - $Res = $cn_mod->exec_sql("delete from document_modele"); - $Res = $cn_mod->exec_sql("delete from op_predef"); - - // Remove lob file - $Res = $cn_mod->exec_sql("select distinct loid from pg_largeobject"); - if (Database::num_row($Res) != 0) - { - $a_lob = Database::fetch_all($Res); - foreach ($a_lob as $lob) - $cn_mod->lo_unlink($lob['loid']); - } - } - if (isset($_POST['CANAL'])) - { - $Res = $cn_mod->exec_sql('delete from poste_analytique'); - $Res = $cn_mod->exec_sql('delete from plan_analytique'); - } - if ( isset ($_POST['PLUGIN'])) { - $a_schema=$cn_mod->get_array(" - select nspname from pg_namespace - where - nspname not like 'pg_%' - and nspname not in ('information_schema','public','comptaproc') - "); - $nb_schema=count($a_schema); - for ($i=0;$i < $nb_schema;$i++) - { - $cn_mod->exec_sql(" drop schema ".$a_schema[$i]['nspname']." cascade"); - } - } - -} -// Show all available templates -require_once NOALYSS_INCLUDE.'/class_sort_table.php'; -$url=$_SERVER['PHP_SELF']."?sa=list&action=".$_REQUEST['action']; - -$header=new Sort_Table(); -$header->add(_("id"),$url," order by mod_id asc"," order by mod_id desc","ia","id"); -$header->add(_("Nom"),$url," order by mod_name asc"," order by mod_name desc","na","nd"); -$header->add(_("Description"),$url," order by mod_desc asc"," order by mod_desc desc","da","dd"); - -$ord=(isset($_REQUEST['ord']))?$_REQUEST['ord']:'na'; -$sql_order=$header->get_sql_order($ord); - -$Res = $cn->exec_sql("select mod_id,mod_name,mod_desc from - modeledef $sql_order"); - -$count = Database::num_row($Res); -echo '
      '; -echo "

      "._('Modèles')."

      "; -if ($sa == 'list') -{ - echo '

      '; - echo HtmlInput::button(_('Ajouter'),_('Ajouter un modèle')," onclick=\$('folder_add_id').show()"); - - echo '

      '; - if ($count == 0) - { - echo _("Aucun modèle disponible"); - } - else - { - - echo ''; - echo _('Filtre').HtmlInput::infobulle(23); - echo HtmlInput::filter_table("t_modele", "0,1,2","1"); - echo ''; - echo ''; - echo "". - "" . - "" . - "" . - "" . - "" . - "" . - ""; - - for ($i = 0; $i < $count; $i++) - { - $mod = Database::fetch_array($Res, $i); - $class = ($i % 2 == 0) ? "odd" : "even"; - $str_name=domaine.'mod'.$mod['mod_id']; - printf('' . - '' . - '' . - ''. - '' . - '' . - '' . - '' . - '' . - '', $mod['mod_id'], $mod['mod_name'], $mod['mod_desc']); - }// for - echo "
      ".$header->get_header(0)."".$header->get_header(1)."".$header->get_header(2).""._('Nom base de données')."
      %d %s %s '.$str_name.' ' . - HtmlInput::anchor(_('Effacer'), '?action=modele_mgt&sa=del&m=' . $mod['mod_id']," onclick = \"modele_drop('{$mod['mod_id']}') \"") . '' . HtmlInput::anchor(_('Modifie'), '?action=modele_mgt&sa=mod&m=' . $mod['mod_id']," onclick = \"modele_modify('{$mod['mod_id']}') \"") . '' . HtmlInput::anchor(_('Backup'), 'backup.php?action=backup&sa=b&t=m&d=' - . $mod['mod_id']) . '
      "; - }// if count = 0 - echo "

      "._("Si vous voulez récupérer toutes les adaptations d'un dossier " . - " dans un autre dossier, vous pouvez en faire un modèle." . - " Seules les fiches, la structure des journaux, les périodes,... seront reprises " . - "et aucune donnée du dossier sur lequel le dossier est basé. Les données contenues dans les extensions ne sont pas effacées")."

      "; -} -?> - - get_value("select mod_name from modeledef where mod_id=$1", array($_REQUEST['m'])); - if (strlen(trim($name)) == 0) - { - echo "

      $msg inexistant

      "; - return; - } - $sql = "drop database " . domaine . "mod" . sql_string($_REQUEST['m']); - ob_start(); - if ($cn->exec_sql($sql) == false) - { - ob_end_clean(); - - echo "

      "; - printf (_("Base de donnée %s mod %s est accèdée, déconnectez-vous d'abord"),domaine,$_REQUEST['m'] ) - . "

      "; - exit; - } - ob_flush(); - $sql = "delete from modeledef where mod_id=$1"; - $cn->exec_sql($sql, array($_REQUEST['m'])); - print '

      '; - printf (_("Le modèle %s est effacé")."

      ",$name ); - echo HtmlInput::button_anchor(_('Retour'), '?action=modele_mgt'); - } - echo '
      '; - ?> - diff --git a/sources/include/opening.inc.php b/sources/include/opening.inc.php deleted file mode 100644 index c27044c..0000000 --- a/sources/include/opening.inc.php +++ /dev/null @@ -1,264 +0,0 @@ -Check(); - -require_once NOALYSS_INCLUDE.'/user_menu.php'; - -// Correct (last step) -if (isset($_POST['correct'])) -{ - $ledger = new Acc_Ledger($cn, $_REQUEST['p_jrn']); - require_once NOALYSS_INCLUDE.'/operation_ods_new.inc.php'; - return; -} - -// confirm before saving -if ( isset($_POST['summary'])) -{ - try { - $ledger = new Acc_Ledger($cn, $_REQUEST['p_jrn']); - $ledger->with_concerned=false; - $ledger->verify($_POST); - require_once NOALYSS_INCLUDE.'/operation_ods_confirm.inc.php'; - } catch (Exception $e) - { - echo alert($e->getMessage()); - require('operation_ods_new.inc.php'); - - } - return; -} - -// record -if (isset($_POST['save'])) -{ - $array = $_POST; - $ledger = new Acc_Ledger($cn, $_REQUEST['p_jrn']); - $ledger->with_concerned=false; - try - { - $ledger->save($array); - $jr_id = $cn->get_value('select jr_id from jrn where jr_internal=$1', array($ledger->internal)); - - echo '

      Opération enregistrée Piece ' . h($ledger->pj) . '

      '; - if (strcmp($ledger->pj, $_POST['e_pj']) != 0) - { - echo '

      ' . _('Attention numéro pièce existante, elle a du être adaptée') . '

      '; - } - printf('%s
      ', $jr_id, dossier::id(), $ledger->internal); - - // show feedback - echo '
      '; echo '

      ' . $ledger->get_name() . '

      '; echo '
      '; - echo $ledger->confirm($_POST, true); - } - catch (Exception $e) - { - require('operation_ods_new.inc.php'); - alert($e->getMessage()); - } - return; -} - - -/* -------------------------------------------------- - * step 1 if nothing is asked we show the available folders - */ -if ($sa == '') -{ - echo '
      '; - - echo '

      Etape 1

      '; - - echo 'Choisissez le dossier où sont les soldes à importer'; - $avail = $g_user->get_available_folder(); - - if (empty($avail)) - { - echo '*** Aucun dossier ***'; - return; - } - echo '
      '; - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - echo HtmlInput::hidden('sa', 'step2'); - echo dossier::hidden(); - $wAvail = new ISelect(); - /* compute select list */ - $array = array(); - $i = 0; - foreach ($avail as $r) - { - $array[$i]['value'] = $r['dos_id']; - $array[$i]['label'] = $r['dos_name']; - $i++; - } - - $wAvail->value = $array; - echo 'Choix du dossier :' . $wAvail->input('f'); - echo HtmlInput::submit('ok', 'Continuer'); - - echo '
      '; - echo '
      '; - echo '
      '; - return; -} -/* -------------------------------------------------- - * Step 2 choose now the exercice of this folder - */ -$back = 'do.php?ac=' . $_REQUEST['ac'] . '&' . dossier::get(); -if ($sa == 'step2') -{ - echo '
      ' . - '

      Etape 2

      ' . - '

      ' . dossier::name($_REQUEST['f']) . '

      ' . - '
      ' . - ' Choisissez l\'exercice du dossier '; - echo dossier::hidden(); - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - echo HtmlInput::hidden('sa', 'step3'); - echo HtmlInput::hidden('f', $_REQUEST['f']); - $cn = new Database($_REQUEST['f']); - $periode = $cn->make_array("select distinct p_exercice,p_exercice from parm_periode order by p_exercice"); - $w = new ISelect(); - $w->table = 0; - $w->label = 'Periode'; - $w->readonly = false; - $w->value = $periode; - $w->name = "p_periode"; - echo 'Période : ' . $w->input(); - echo HtmlInput::submit('ok', 'Continuer'); - echo dossier::hidden(); - echo "
      "; - echo HtmlInput::button_anchor('Retour', $back); - exit(0); -} -/* -------------------------------------------------- - * select the ledger where we will import the data - */ -if ($sa == 'step3') -{ - echo '
      ' . - '

      Etape 3

      ' . - '

      ' . dossier::name($_REQUEST['f']) . '

      ' . - '
      ' . - ' Choisissez le journal qui contiendra l\'opération d\'ouverture '; - echo dossier::hidden(); - echo HtmlInput::hidden('p_action', 'ouv'); - echo HtmlInput::hidden('sa', 'step4'); - echo HtmlInput::hidden('f', $_REQUEST['f']); - echo HtmlInput::hidden('p_periode', $_REQUEST['p_periode']); - $wLedger = new ISelect(); - $g_user = new User(new Database(dossier::id())); - $avail = $g_user->get_ledger('ODS'); - /* compute select list */ - $array = array(); - $i = 0; - foreach ($avail as $r) - { - $array[$i]['value'] = $r['jrn_def_id']; - $array[$i]['label'] = $r['jrn_def_name']; - $i++; - } - $wLedger->value = $array; - echo $wLedger->input('p_jrn'); - echo HtmlInput::submit('ok', 'Continuer'); - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - echo dossier::hidden(); - echo "
      "; - echo HtmlInput::button_anchor('Retour', $back . '&sa=step2&f=' . $_REQUEST['f']); - exit(0); -} -/* -------------------------------------------------- - * Step 4 we import data from the selected folder and year and - * transform it into a misc operation - */ -if ($sa == 'step4') -{ - echo '
      '; - echo '

      Dernière étape

      '; - $cn_target = new Database($_REQUEST['f']); - $saldo = new Acc_Ledger($cn_target, 0); - $array = $saldo->get_saldo_exercice($_REQUEST['p_periode']); - /* we need to transform the array into a Acc_Ledger array */ - $result = array(); - $result['desc'] = 'Ecriture d\'ouverture'; - $result['nb_item'] = sizeof($array); - $result['p_jrn'] = $_REQUEST['p_jrn']; - $idx = 0; - - foreach ($array as $row) - { - $qcode = 'qc_' . $idx; - $poste = 'poste' . $idx; - $amount = 'amount' . $idx; - $ck = 'ck' . $idx; - $result[$qcode] = $row['j_qcode']; - if (trim($row['j_qcode']) == '') - $result[$poste] = $row['j_poste']; - $result[$amount] = abs($row['solde']); - if ($row['solde'] > 0) - $result[$ck] = 'on'; - $idx++; - } - $cn = new Database(dossier::id()); - - $jrn = new Acc_Ledger($cn, $_REQUEST['p_jrn']); - - echo '
      '; - echo HtmlInput::hidden('ac', $_REQUEST['ac']); - echo HtmlInput::hidden('sa', 'step5'); - echo HtmlInput::hidden('f', $_REQUEST['f']); - echo HtmlInput::hidden('p_periode',$_REQUEST['p_periode']); - echo dossier::hidden(); - echo HtmlInput::hidden('p_jrn', $_REQUEST['p_jrn']); - echo $jrn->input($result, 0); - echo '
      '; - echo '

      Ne corrigez pas encore, cliquez continuer pour passer à l\'étape suivante

      '; - echo HtmlInput::submit('correct_it', 'Continuer'); - echo '
      '; - echo HtmlInput::button_anchor('Retour', $back); - - echo '
      '; -} -// if sa=step4 then record it -// -if ($_REQUEST['sa'] == 'step5') -{ - $ledger = new Acc_Ledger($cn, $_REQUEST['p_jrn']); - require_once NOALYSS_INCLUDE.'/operation_ods_new.inc.php'; -} - diff --git a/sources/include/operation_ods_confirm.inc.php b/sources/include/operation_ods_confirm.inc.php deleted file mode 100644 index 7d01ebd..0000000 --- a/sources/include/operation_ods_confirm.inc.php +++ /dev/null @@ -1,82 +0,0 @@ -'; -echo h2(_("Confirmation"),'class="info"'); -echo '
      '; -echo '

      ' . $ledger->get_name() . '

      '; -echo '
      '; - -echo '
      '; -echo h2(_("Attention, cette opération n'est pas encore sauvée : vous devez encore confirmer"),' class="notice"'); -echo '
      '; - -echo '
      '; -echo HtmlInput::request_to_hidden(array('ac')); -echo $ledger->confirm($_POST,false); - - -?> - - -
      diff --git a/sources/include/operation_ods_new.inc.php b/sources/include/operation_ods_new.inc.php deleted file mode 100644 index 6b817b0..0000000 --- a/sources/include/operation_ods_new.inc.php +++ /dev/null @@ -1,117 +0,0 @@ -get_first('ODS'); -$ledger->id = ($ledger->id == -1) ? $first_ledger['jrn_def_id'] : $id_ledger; - -// check if we can write in the ledger -if ( $g_user->check_jrn($ledger->id)=='X') -{ - alert(_("Vous ne pouvez pas écrire dans ce journal, contacter votre administrateur")); - return; -} -echo '
      '; -echo '
      '; -echo HtmlInput::hidden('p_jrn_predef', $ledger->id); -$op = new Pre_op_ods($cn); -$op->set('ledger', $ledger->id); -$op->set('ledger_type', "ODS"); -$op->set('direct', 't'); -$url=http_build_query(array('action'=>'use_opd','p_jrn_predef'=>$ledger->id,'ac'=>$_REQUEST['ac'],'gDossier'=>dossier::id())); -echo $op->form_get('do.php?'.$url); - -echo '
      '; -echo '
      '; -echo '

      ' . $ledger->get_name() . '

      '; -echo '
      '; - -// Show the predef operation -// Don't forget the p_jrn -$p_post=$_POST; -if ( isset ($_GET['action']) && ! isset($_POST['correct'])) -{ - if ( $_GET['action']=='use_opd') - { - // get data from predef. operation - $op=new Pre_op_advanced($cn); - $p_post=null; - if ( isset($_REQUEST['pre_def']) && $_REQUEST['pre_def'] != '') - { - $op->set_od_id($_REQUEST['pre_def']); - $p_post=$op->compute_array(); - } - } -} -$p_msg=(isset($p_msg))?$p_msg:""; -print '

      '.$p_msg.'

      '; -echo '
      '; -echo dossier::hidden(); -echo HtmlInput::request_to_hidden(array('ac')); - -echo $ledger->input($p_post); - - - - -echo '
      '; -echo ''. - ''.td(_('Débit')) . '' . - td(_('Crédit')) . ' ' . - td(_('Difference')) . ' '; -echo '
      '; -echo '
      '; - -$iconcerned=new IConcerned('jrn_concerned'); -$iconcerned->amount_id="totalDeb"; -echo "Opération rapprochée : ".$iconcerned->input(); - -echo '

      '; -echo HtmlInput::button('add', _('Ajout d\'une ligne'), 'onClick="quick_writing_add_row()"'); -echo HtmlInput::submit('summary', _('Sauvez')); -echo '

      '; - -echo '
      '; - -echo ""; -echo create_script(" update_name()"); - -if ($g_parameter->MY_DATE_SUGGEST=='Y') -{ - echo create_script(" get_last_date()"); -} -echo '
      '; - -?> diff --git a/sources/include/param_pcmn.inc.php b/sources/include/param_pcmn.inc.php deleted file mode 100644 index 6444bf0..0000000 --- a/sources/include/param_pcmn.inc.php +++ /dev/null @@ -1,172 +0,0 @@ -
      '; - -/* Store the p_start parameter */ - -$g_start=HtmlInput::default_value_get('p_start',1); -?> - - -
      - -
      - -
      -exec_sql("select pcm_val,pcm_lib,pcm_val_parent,pcm_type,array_to_string(array_agg(j_qcode) , ',') as acode - from tmp_pcmn left join vw_poste_qcode on (j_poste=pcm_val) where substr(pcm_val::text,1,1)='".$g_start."'". - " group by pcm_val,pcm_lib,pcm_val_parent, pcm_type order by pcm_val::text"); -$MaxRow=Database::num_row($Ret); - -?> - - - - - - - - - - - - - - - - - - - - - - - -
      - - - ", - $str_dossier, $A['pcm_val']); - echo h($A['pcm_lib']); - ?> - - - - - - 0 ) : - if (strpos($A['acode'], ",") >0 ) : - $det_qcode= explode(",", $A['acode']); - echo '
        '; - $max=(count($det_qcode)>MAX_QCODE)?MAX_QCODE:count($det_qcode); - for ($e=0;$e<$max;$e++) : - echo '
      • '.HtmlInput::card_detail($det_qcode[$e],'',' style="display:inline"').'
      • '; - endfor; - echo ''; - if ($max < count($det_qcode)) : - echo "..."; - else : - echo HtmlInput::card_detail($A['acode']); - endif; - endif; - endif; - ?> -
      - - - -
      - - diff --git a/sources/include/param_sec.inc.php b/sources/include/param_sec.inc.php deleted file mode 100644 index 6487051..0000000 --- a/sources/include/param_sec.inc.php +++ /dev/null @@ -1,321 +0,0 @@ -Check(); -$g_user->check_dossier($gDossier); - -require_once NOALYSS_INCLUDE.'/user_menu.php'; - -///////////////////////////////////////////////////////////////////////// -// List users -///////////////////////////////////////////////////////////////////////// -if ( ! isset($_REQUEST['action'])) -{ - $base_url=$_SERVER['PHP_SELF']."?ac=".$_REQUEST['ac']."&".dossier::get(); - - echo '
      '; - $header=new Sort_Table(); - $header->add('Login',$base_url,"order by use_login asc","order by use_login desc",'la','ld'); - $header->add('Nom',$base_url,"order by use_name asc,use_first_name asc","order by use_name desc,use_first_name desc",'na','nd'); - $header->add('Type d\'utilisateur',$base_url,"order by use_admin asc,use_login asc","order by use_admin desc,use_login desc",'ta','td'); - - - $order=(isset($_REQUEST['ord']))?$_REQUEST['ord']:'la'; - - $ord_sql=$header->get_sql_order($order); - - - $repo=new Database(); - /* Show all the active users, including admin */ - $user_sql = $repo->exec_sql("select use_id, - use_first_name, - use_name, - use_login, - use_admin - from ac_users left join jnt_use_dos using (use_id) - where use_login != 'phpcompta' and use_active=1 - and (dos_id=$1 or (dos_id is null and use_admin=1))" . $ord_sql, array($gDossier)); - - $MaxUser = Database::num_row($user_sql); - - - echo ''; - echo ""; - echo ''; - echo ''; - echo th('prénom'); - echo th('profil'); - echo ''; - for ($i = 0;$i < $MaxUser;$i++) - { - echo ''; - $l_line=Database::fetch_array($user_sql,$i); - - - $str=""; - $str=_('Utilisateur Normal'); - if ( $l_line['use_admin'] == 1 ) - $str=_('Administrateur'); - - // get profile - $profile=$cn->get_value("select p_name from profile - join profile_user using(p_id) where user_name=$1",array($l_line['use_login'])); - - $url=$base_url."&action=view&user_id=".$l_line['use_id']; - echo ""; - echo td($l_line['use_name']); - echo td($l_line['use_first_name']); - echo td($profile); - echo td($str); - - echo ""; - } - echo '
      '.$header->get_header(0).''.$header->get_header(1).''.$header->get_header(2).'
      "; - echo HtmlInput::anchor($l_line['use_login'], $url); - echo "
      '; -} -$action=""; - -if ( isset ($_GET["action"] )) -{ - $action=$_GET["action"]; - -} -//---------------------------------------------------------------------- -// Action = save -//---------------------------------------------------------------------- -if ( isset($_POST['ok'])) -{ - try - { - $cn->start(); - $sec_User=new User($cn,$_POST['user_id']); - - // save profile - $sec_User->save_profile($_POST['profile']); - - /* Save first the ledger */ - $a=$cn->get_array('select jrn_def_id from jrn_def'); - - foreach ($a as $key) - { - $id=$key['jrn_def_id']; - $priv=sprintf("jrn_act%d",$id); - $count=$cn->get_value('select count(*) from user_sec_jrn where uj_login=$1 '. - ' and uj_jrn_id=$2',array($sec_User->login,$id)); - if ( $count == 0 ) - { - $cn->exec_sql('insert into user_sec_jrn (uj_login,uj_jrn_id,uj_priv)'. - ' values ($1,$2,$3)', - array($sec_User->login,$id,$_POST[$priv])); - - } - else - { - $cn->exec_sql('update user_sec_jrn set uj_priv=$1 where uj_login=$2 and uj_jrn_id=$3', - array($_POST[$priv],$sec_User->login,$id)); - } - } - /* now save all the actions */ - $a=$cn->get_array('select ac_id from action'); - - foreach ($a as $key) - { - $id=$key['ac_id']; - $priv=sprintf("action%d",$id); - if ( ! isset ($_POST[$priv])) - { - $cn->exec_sql("delete from user_sec_act where ua_act_id=$1",array($id)); - continue; - } - $count=$cn->get_value('select count(*) from user_sec_act where ua_login=$1 '. - ' and ua_act_id=$2',array($sec_User->login,$id)); - if ( $_POST[$priv] == 1 && $count == 0) - { - $cn->exec_sql('insert into user_sec_act (ua_login,ua_act_id)'. - ' values ($1,$2)', - array($sec_User->login,$id)); - - } - if ($_POST[$priv] == 0 ) - { - $cn->exec_sql('delete from user_sec_act where ua_login=$1 and ua_act_id=$2', - array($sec_User->login,$id)); - } - } - $cn->commit(); - } // end try - catch (Exception $e) - { - echo_warning ($e->getTraceAsString()); - $cn->rollback(); - } - -} - - - - -//-------------------------------------------------------------------------------- -// Action == View detail for users -//-------------------------------------------------------------------------------- - -if ( $action == "view" ) -{ - $l_Db=sprintf("dossier%d",$gDossier); - $return= HtmlInput::button_anchor('Retour à la liste','?&ac='.$_REQUEST['ac'].'&'.dossier::get(),'retour'); - - $repo=new Database(); - $User=new User($repo,$_GET['user_id']); - $admin=0; - $access=$User->get_folder_access($gDossier); - - $str="Aucun accès"; - - if ($access=='R') - { - $str=' Utilisateur normal'; - } - - if ( $User->admin==1 ) - { - $str=' Administrateur'; - $admin=1; - } - - echo '

      '.h($User->first_name).' '.h($User->name).' '.hi($User->login)."($str)

      "; - - - if ( $_GET['user_id'] == 1 ) - { - echo '

      Cet utilisateur est administrateur, il a tous les droits

      '; - echo "

      Impossible de modifier cet utilisateur dans cet écran, il faut passer par - l'écran administration -> utilisateur. -

      "; - echo $return; - return; - } - // - // Check if the user can access that folder - if ( $access == 'X' ) - { - echo "

      L'utilisateur n'a pas accès à ce dossier

      "; - echo "

      Impossible de modifier cet utilisateur dans cet écran, il faut passer par - l'écran administration -> utilisateur. -

      "; - echo $return; - $action=""; - return; - } - - //-------------------------------------------------------------------------------- - // Show access for journal - //-------------------------------------------------------------------------------- - - $Res=$cn->exec_sql("select jrn_def_id,jrn_def_name from jrn_def ". - " order by jrn_def_name"); - $sec_User=new User($cn,$_GET['user_id']); - - echo '
      '; - $sHref=sprintf ('export.php?act=PDF:sec&user_id=%s&'.$str_dossier , - $_GET ['user_id'] - ); - - echo dossier::hidden(); - echo HtmlInput::hidden('action','sec'); - echo HtmlInput::hidden('user_id',$_GET['user_id']); - $i_profile=new ISelect ('profile'); - $i_profile->value=$cn->make_array("select p_id,p_name from profile - order by p_name"); - - $i_profile->selected=$sec_User->get_profile(); - - echo "

      "; - echo _("Profil")." ".$i_profile->input(); - echo "

      "; - echo '
      Journaux '; - echo ''; - $MaxJrn=Database::num_row($Res); - $jrn_priv=new ISelect(); - $array=array( - array ('value'=>'R','label'=>'Uniquement lecture'), - array ('value'=>'W','label'=>'Lecture et écriture'), - array ('value'=>'X','label'=>'Aucun accès') - ); - - for ( $i =0 ; $i < $MaxJrn; $i++ ) - { - /* set the widget */ - $l_line=Database::fetch_array($Res,$i); - - echo ' '; - if ( $i == 0 ) echo ''; - else echo ""; - echo ""; - - $jrn_priv->name='jrn_act'.$l_line['jrn_def_id']; - $jrn_priv->value=$array; - if ($admin != 1) - $jrn_priv->selected=$sec_User->get_ledger_access($l_line['jrn_def_id']); - else - $jrn_priv->selected='W'; - - - echo ''; - echo ''; - } - echo '
      Journal $l_line[jrn_def_name] '; - echo $jrn_priv->input(); - echo '
      '; - echo '
      '; - - //********************************************************************** - // Show Priv. for actions - //********************************************************************** - echo '
      Actions '; - include('template/security_list_action.php'); - echo '
      '; - echo HtmlInput::button('Imprime','imprime',"onclick=\"window.open('".$sHref."');\""); - echo HtmlInput::submit('ok','Sauve'); - echo HtmlInput::reset('Annule'); - echo $return; - echo '
      '; -} // end of the form -echo "
      "; -html_page_stop(); -?> diff --git a/sources/include/payment_middle.inc.php b/sources/include/payment_middle.inc.php deleted file mode 100644 index 7bfd365..0000000 --- a/sources/include/payment_middle.inc.php +++ /dev/null @@ -1,150 +0,0 @@ -'; -$etd=''; -$tr=''; -$etr=''; -$th=''; -$eth=''; - -/*!\file - * \brief payment mode - */ -$sb=HtmlInput::default_value('sb', "", $_REQUEST); -echo '
      '; - -//---------------------------------------------------------------------- -// change -if ( $sb=='change') -{ - if ( !isset($_GET['id'])) exit; - $row=new Acc_Payment($cn,$_GET['id']); - $row->load(); - echo '
      '; - echo dossier::hidden(); - echo HtmlInput::hidden('sa','mp'); - echo HtmlInput::hidden('sb','save'); - echo HtmlInput::hidden('id',$row->get_parameter("id")); - echo HtmlInput::hidden('delete_ck',0); - echo $row->form(); - echo HtmlInput::submit('save',_('Sauve'), ' onclick="$(\'delete_ck\').value=0"'); - echo HtmlInput::submit('delete',_('Efface'),' onclick="$(\'delete_ck\').value=1"'); - echo HtmlInput::button_anchor(_('Retour sans sauver'), - '?p_action=divers&sa=mp&'.dossier::get()."&ac=".$_REQUEST['ac'], - "","","smallbutton"); - echo '
      '; - return; -} -//---------------------------------------------------------------------- -// Save the change -// -if ( $sb=='save') -{ - $delete=HtmlInput::default_value_post("delete_ck", 0); - if ( $delete == 0 ) - { - $row=new Acc_Payment($cn,$_POST ['id']); - $row->from_array($_POST); - $row->update(); - } else { -//--------------------------------------------------------------------------- -// Delete a card -//--------------------------------------------------------------------------- - $row=new Acc_Payment($cn,$_POST['id']); - $row->from_array($_POST); - $row->delete(); - - } -} -//--------------------------------------------------------------------------- -// Insert a new mod of payment -//--------------------------------------------------------------------------- -if ( isset($_POST['insert'])) -{ - $row=new Acc_Payment($cn); - $row->from_array($_POST); - $row->insert(); - $sb="list"; -} - -//--------------------------------------------------------------------------- -// Show form to enter a new one -//--------------------------------------------------------------------------- -if ($sb=='ins') -{ - $mp=new Acc_Payment($cn); - $r=$mp->blank(); - echo '
      '; - echo dossier::hidden(); - echo HtmlInput::hidden('ac',$_REQUEST['ac']),HtmlInput::hidden('insert',0); - echo $r; - echo HtmlInput::submit('insertsub',_('Enregistre')); - echo HtmlInput::button_anchor(_('Retour sans sauver'), - '?p_action=divers&sa=mp&'.dossier::get()."&ac=".$_REQUEST['ac'], - "","","smallbutton"); - echo '
      '; - - return; -} -//-------------------------------------------------------------------------------- -//LIST -//-------------------------------------------------------------------------------- -/* Get the data from database */ -$header=new Sort_Table(); -$base_url=$_SERVER['PHP_SELF']."?".Dossier::get()."&ac=".$_REQUEST['ac']; - -$header->add(_("Libelle"),$base_url,"order by mp_lib asc","order by mp_lib desc",'la','ld'); -$header->add(_("Pour le journal"),$base_url,"order by jrn_def_name asc","order by jrn_def_name desc",'ja','jd'); -$header->add(_("Type de fiche"),$base_url,"order by fd_label asc","order by fd_label desc",'tc','td'); -$header->add(_("Enregistré dans le journal"),$base_url,"order by jrn_target asc","order by jrn_target desc",'jta','jtd'); -$header->add(_("Avec la fiche"),$base_url,"order by vw_name asc","order by vw_name desc",'na','nd'); - -$order=(isset($_REQUEST['ord']))?$_REQUEST['ord']:'la'; - -$sql=$header->get_sql_order($order); - -$array=$cn->get_array(" - select - mp_id,mp_lib,mp_jrn_def_id,mp_fd_id,mp_qcode,j.jrn_def_id, - j.jrn_def_name as jrn_def_name, - j2.jrn_def_name as jrn_target, - fd_label, - coalesce(mp_qcode,'A choisir à l''encodage') as vw_name - from mod_payment as mp - left join jrn_def as j on (j.jrn_def_id=mp.jrn_def_id) - left join jrn_def as j2 on (j2.jrn_def_id=mp.mp_jrn_def_id) - left join fiche_def as fd on (mp.mp_fd_id=fd.fd_id) - $sql - "); -/* if there are data show them in a table */ -if ( ! empty ($array)) -{ - - require_once NOALYSS_INCLUDE.'/template/list_mod_payment.php'; - echo HtmlInput::button_anchor("Ajout", $base_url."&sb=ins","","","smallbutton"); -} -echo '
      '; -?> diff --git a/sources/include/periode.inc.php b/sources/include/periode.inc.php deleted file mode 100644 index f7e285a..0000000 --- a/sources/include/periode.inc.php +++ /dev/null @@ -1,147 +0,0 @@ -'; -$cn=new Database($gDossier); -//----------------------------------------------------- -// Periode -//----------------------------------------------------- -$action=""; -if ( isset($_REQUEST['action'])) - $action=$_REQUEST['action']; -$choose=(isset ($_GET['choose']))?$_GET['choose']:"no"; - -if ($choose=='Valider') $choose='yes'; - -if ( isset ($_POST["add_per"] )) -{ - extract($_POST); - $obj=new Periode($cn); - if ( $obj->insert($p_date_start,$p_date_end,$p_exercice) == 1 ) - { - alert(_('Valeurs invalides')); - } - $choose="yes"; - -} -if (isset($_POST['add_exercice'])) - { - $obj=new Periode($cn); - $exercice=$cn->get_value('select max(p_exercice::float)+1 from parm_periode'); - if ( $obj->insert_exercice($exercice,$_POST['nb_exercice']) == 1 ) - { - alert(_('Valeurs invalides')); - } - - $choose="yes"; - } -/* - * Close selected periode - */ -if ( isset($_POST['close_per']) ) -{ - if (isset($_POST['sel_per_close'] ) ) { - $a_per_to_close=$_POST['sel_per_close']; - for ($i=0;$i < count($a_per_to_close);$i++) { - $per=new Periode($cn); - $jrn_def_id=(isset($_GET['jrn_def_id']))?$_GET['jrn_def_id']:0; - $per->jrn_def_id=$jrn_def_id; - $per->set_periode($a_per_to_close[$i]); - $per->close(); - - } - } - $choose="yes"; -} - - -if ( $action== "delete_per" ) -{ - $p_per=$_GET["p_per"]; -// Check if the periode is not used - if ( $cn->count_sql("select * from jrnx where j_tech_per=$p_per") != 0 ) - { - alert(' Désolé mais cette période est utilisée'); - } - else - { - $count=$cn->get_value("select count(*) from parm_periode;"); - if ( $count > 1 ) { - $Res=$cn->exec_sql("delete from parm_periode where p_id=$p_per"); - } else - { - alert(' Désolé mais vous devez avoir au moins une période'); - } - } - $choose="yes"; -} -if ( $action == 'reopen') - { - $jrn_def_id=(isset($_GET['jrn_def_id']))?$_GET['jrn_def_id']:0; - $per=new Periode($cn); - $jrn_def_id=(isset($_GET['jrn_def_id']))?$_GET['jrn_def_id']:0; - $per->set_jrn($jrn_def_id); - $per->set_periode($_GET['p_per']); - $per->reopen(); - - $choose="yes"; - } -if ( $choose=="yes" ) -{ - echo '

      '; - echo HtmlInput::button_anchor('Autre Journal ?','?choose=no&ac='.$_REQUEST['ac'].'&gDossier='.dossier::id()); - echo '

      '; - $per=new Periode($cn); - $jrn=(isset($_GET['jrn_def_id']))?$_GET['jrn_def_id']:0; - $per->set_jrn($jrn); - - $per->display_form_periode(); - $nb_exercice=new ISelect("nb_exercice"); - $nb_exercice->value=array( - array('value'=>12,'label'=>"12 périodes"), - array('value'=>13,'label'=>"13 périodes") - ); - - require_once NOALYSS_INCLUDE.'/template/periode_add_exercice.php'; -} -else -{ - echo '
      '; - echo dossier::hidden(); - $sel_jrn=$cn->make_array("select jrn_def_id, jrn_def_name from ". - " jrn_def order by jrn_def_name"); - $sel_jrn[]=array('value'=>0,'label'=>'Global : periode pour tous les journaux'); - $wSel=new ISelect(); - $wSel->value=$sel_jrn; - $wSel->name='jrn_def_id'; - echo "Choisissez global ou uniquement le journal à fermer".$wSel->input(); - echo HtmlInput::submit('choose','Valider'); - echo HtmlInput::hidden('ac',$_REQUEST['ac']); - echo "
      "; - echo '

      Pour ajouter, effacer ou modifier une période, il faut choisir global

      '; -} -echo '
      '; -?> diff --git a/sources/include/poste.inc.php b/sources/include/poste.inc.php deleted file mode 100644 index d140855..0000000 --- a/sources/include/poste.inc.php +++ /dev/null @@ -1,89 +0,0 @@ -'; - -$gDossier=dossier::id(); - -//----------------------------------------------------- -// confirm mod -if ( isset( $_POST['confirm_mod'] ) ) -{ - extract($_POST); - $update=new Acc_Parm_Code($cn,$p_code); - $update->p_comment=$p_comment; - $update->p_value=$p_value; - $update->save(); -} -$object=new Acc_Parm_Code($cn); - -$all=$object->load_all(); -echo '
      '; -echo ''; -for ($i=0;$i'; - echo $all[$i]->display(); - echo ''; - echo ""; -} -echo "
      '; - $w=new IHidden(); - $w->name='id'; - $w->value=$i; - echo $w->input(); - echo HtmlInput::submit('mod','modifie'); - echo '
      '; - echo '
      "; -echo "
      "; -//----------------------------------------------------- -// modifie -if ( isset ($_POST['mod'] )) -{ - echo '
      '; - echo IPoste::ipopup('ipop_account'); - echo '
      '; - echo "Voulez-vous vraiment modifier ?"; - echo '
      '; - - echo ""; - $id=$_POST['id']; - echo $all[$id]->form(); - echo "
      "; - $h=new IHidden(); - $h->name='p_action'; - $h->value='divers'; - ; - echo $h->input(); - echo HtmlInput::hidden('sa','poste'); - echo HtmlInput::submit('confirm_mod','Confirme'); - echo HtmlInput::submit('no','Cancel'); - echo "
      "; - echo '
      '; - echo "
      "; - -} -echo '
      '; diff --git a/sources/include/preod.inc.php b/sources/include/preod.inc.php deleted file mode 100644 index b2c8028..0000000 --- a/sources/include/preod.inc.php +++ /dev/null @@ -1,122 +0,0 @@ -'; -echo '
      '; -$sel=new ISelect(); -$sel->name="jrn"; -$sel->value=$cn->make_array("select jrn_def_id,jrn_def_name from ". - " jrn_def where jrn_def_type in ('VEN','ACH','ODS') order by jrn_def_name"); -// Show a list of ledger -$sel->selected=$request_jrn; -echo 'Choisissez un journal '.$sel->input(); - -echo dossier::hidden(); -$hid=new IHidden(); -echo $hid->input("sa","jrn"); -echo $hid->input("ac",$request_ac); -echo '
      '; -echo HtmlInput::submit('Accepter','Accepter'); -echo '
      '; - -// if $_REQUEST[sa] == del delete the predefined operation -if ( $request_sa == 'del') -{ - $op=new Pre_operation($cn); - $op->od_id=$_REQUEST['od_id']; - $op->delete(); - $request_sa='jrn'; -} - -// if $_REQUEST[sa] == jrn show the predefined operation for this -// ledger -if ( $request_sa== 'jrn' ) -{ - $op=new Pre_operation($cn); - $op->set_jrn($get_jrn); - $is_ods = $cn->get_value("select count(*) - from jrn_def where - jrn_def_id=$1 - and jrn_def_type='ODS'", array($get_jrn)); - $op->od_direct = ($is_ods > 0) ? 't' : 'f'; - $array = $op->get_list_ledger(); - if (empty($array) == true) - { - echo _("Aucun enregistrement"); - return; - } - - echo ''; - $count=0; - foreach ($array as $row ) - { - - if ( $count %2 == 0 ) - echo ''; - else - echo ''; - $count++; - - echo ''; - echo ''; - echo ''; - $b=HtmlInput::button('mod'.$row['od_id'],"Modifier","onclick=\"mod_predf_op('".dossier::id()."','".$row['od_id']."');\""); - echo td($b); - echo ''; - - } - echo '
      '.h($row['od_name']).''.h($row['od_description']).''; - echo '
      '; - echo dossier::hidden(); - echo $hid->input("sa","del"); - echo $hid->input("ac",$request_ac); - echo $hid->input("del",""); - echo $hid->input("od_id",$row['od_id']); - echo $hid->input("jrn",$get_jrn); - - $b=''; - echo $b; - echo '
      '; - - echo '
      '; -} -echo '
      '; -?> diff --git a/sources/include/profile.inc.php b/sources/include/profile.inc.php deleted file mode 100644 index 958b886..0000000 --- a/sources/include/profile.inc.php +++ /dev/null @@ -1,422 +0,0 @@ -exec_sql("delete from user_sec_action_profile where p_id=$1 and p_granted=$2", - array($p_id, $ap_id[$e])); - continue; - } - if ($ua_id[$e]=="") - { - $cn->exec_sql("insert into user_sec_action_profile (p_id,p_granted,ua_right) values($1,$2,$3)", - array($p_id, $ap_id[$e], $right[$e])); - continue; - } - if ($ua_id[$e]!='') - { - $cn->exec_sql("update user_sec_action_profile set ua_right=$3 where p_id=$1 and p_granted=$2 ", - array($p_id, $ap_id[$e], $right[$e])); - continue; - } - } - } - catch (Exception $exc) - { - echo $exc->getTraceAsString(); - throw $exc; - } -} -//********************************************** -// Save avail. profiles -//********************************************** -if (isset($_POST['change_stock'])) -{ - extract($_POST); - try - { - for ($e=0; $eexec_sql("delete from profile_sec_repository where p_id=$1 and r_id=$2", - array($p_id, $ar_id[$e])); - continue; - } - if ($ur_id[$e]=="") - { - $cn->exec_sql("insert into profile_sec_repository (p_id,r_id,ur_right) values($1,$2,$3)", - array($p_id, $ar_id[$e], $right[$e])); - continue; - } - if ($ur_id[$e]!='') - { - $cn->exec_sql("update profile_sec_repository set ur_right=$3 where p_id=$1 and r_id=$2 ", - array($p_id, $ar_id[$e], $right[$e])); - continue; - } - } - } - catch (Exception $exc) - { - echo $exc->getTraceAsString(); - throw $exc; - } -} -//********************************************** -// Save_name -// ********************************************* - -if (isset($_POST['save_name'])) -{ - - extract($_POST); - try - { - if (strlen(trim($p_name))==0) - throw new Exception("Nom ne peut être vide"); - if (isNumber($p_id)==0) - throw new Exception("profile Invalide"); - $wc=(isset($with_calc))?1:0; - $wd=(isset($with_direct_form))?1:0; - $p_desc=(strlen(trim($p_desc))==0)?null:trim($p_desc); - if ($p_id!=-1) - { - $cn->exec_sql("update profile set p_name=$1,p_desc=$2, - with_calc=$3, with_direct_form=$4 where p_id=$5", - array($p_name, - $p_desc, $wc, $wd, $p_id)); - } - else - { - $p_id=$cn->get_value("insert into profile (p_name, - p_desc,with_calc,with_direct_form) values - ($1,$2,$3,$4) returning p_id", - array( - $p_name, $p_desc, $wc, $wd - )); - } - } - catch (Exception $e) - { - alert($e->getMessage()); - } -} -//************************************ -// Clone -//************************************ -if (isset($_POST['clone'])) -{ - extract($_POST); - try - { - $cn->start(); - $new_id=$cn->get_value("insert into profile(p_name,p_desc,with_calc, - with_direct_form) - select 'copie de '||p_name,p_desc,with_calc, - with_direct_form from profile where p_id=$1 returning p_id", array($p_id)); - $cn->exec_sql(" - insert into profile_menu (p_id,me_code,me_code_dep,p_order,p_type_display,pm_default) - select $1,me_code,me_code_dep,p_order,p_type_display,pm_default from profile_menu - where p_id=$2 - ", array($new_id, $p_id)); - $cn->commit(); - $p_id=$new_id; - } - catch (Exception $exc) - { - echo alert($exc->getMessage()); - $cn->rollback(); - } -} -//************************************ -// Delete -//************************************ -if (isset($_POST['delete_profil'])) -{ - extract($_POST); - try - { - $cn->start(); - if ($p_id==1) - { - throw new Exception('On ne peut pas effacer le profil par défaut'); - } - $new_id=$cn->get_value("delete from profile - where p_id=$1 ", array($p_id)); - $cn->commit(); - } - catch (Exception $exc) - { - echo alert($exc->getMessage()); - $cn->rollback(); - } -} -//************************************ -// Modify the menu or delete it -//************************************ -if (isset($_POST['mod'])) -{ - // pm_id of the menu to modify - $pm_id=HtmlInput::default_value_post("pm_id", 0); - // profile id - $p_id=HtmlInput::default_value_post("p_id", ""); - // display order - $p_order=HtmlInput::default_value_post("p_order", 0); - // code to add - $me_code=HtmlInput::default_value_post("me_code", ""); - // tab - $tab=HtmlInput::default_value_post("tab", ""); - // set Default - $pm_default=HtmlInput::default_value_post('pm_default', 0); - try - { - if ($pm_id==""|| - $p_id==""|| - $p_order==""|| - $me_code=="" - ) - throw new Exception('Argument'); - /** - * Printing cannot be a menu and do not depend of anything - */ - $menu_type=$cn->get_value("select me_type from menu_ref - where me_code=$1", array($me_code)); - - if ($menu_type=='PR') - { - $p_type='P'; - $me_code_dep=-1; - } - $cn->start(); - $p_order=(strlen(trim($p_order))==0)?"0":$p_order; - if ($pm_default==1) - { - // reset all default - $cn->exec_sql("update profile_menu set pm_default=0 - where pm_id_dep=(select pm_id_dep from profile_menu - where - pm_id=$1)", array($pm_id)); - } - $cn->exec_sql("update profile_menu set me_code=$1,p_order=$2,pm_default=$3 - where pm_id=$4", array($me_code, $p_order, $pm_default, $pm_id)); - $cn->commit(); - } - catch (Exception $e) - { - $cn->rollback(); - alert($e->getMessage()); - } -} - -//**************************************************** -// Add a menu, module, submenu,plugin... -//**************************************************** -if (isset($_POST['add_menu'])||isset($_POST['add_impress'])) -{ - // type of menu me or pr - $p_type=HtmlInput::default_value_post("type", ""); - // level - $p_level=HtmlInput::default_value_post("p_level", ""); - // pm_id of menu parent - $p_dep=HtmlInput::default_value_post("dep", ""); - // profile id - $p_id=HtmlInput::default_value_post("p_id", ""); - // display order - $p_order=HtmlInput::default_value_post("p_order", 0); - // code to add - $me_code=HtmlInput::default_value_post("me_code", ""); - // tab - $tab=HtmlInput::default_value_post("tab", ""); - try - { - $cn->start(); - - - /** - * Printing cannot be a menu and do not depend of anything - */ - $menu_type=$cn->get_value("select me_type from menu_ref - where me_code=$1", array($me_code)); - - if ($menu_type=='PR') - { - $p_type='P'; - $me_code_dep=null; - $pm_id_dep=null; - } - - // Module never depends of anything - if ($p_type=='me') - { - /* - * Check variable - */ - if ($p_type==""|| - $p_level==""|| - $p_dep==""|| - $p_id==""|| - $me_code=="" - ) - throw new Exception('Argument'); - if ($p_level==0) - { - $me_code_dep=null; - $pm_id_dep=null; - $p_type='M'; - } - else - { - $me_code_dep=$cn->get_value('select me_code from profile_menu' - .' where pm_id = $1 and p_id=$2', array($p_dep, $p_id)); - $pm_id_dep=$p_dep; - $p_type='E'; - } - } - /** - * Check for infinite loop - */ - $inf=$cn->get_value("select count(*) from profile_menu - where p_id=$1 and me_code_dep=$2 and me_code=$3", - array($p_id, $me_code, $me_code_dep)); - if ($inf>0) - throw new Exception("Boucle infinie"); - /** - * Check if we don't add a menu depending on itself - */ - if ($me_code==$me_code_dep) - throw new Exception("Un menu ne peut pas dépendre de lui-même"); - - - /** - * if me_code_dep == -1, it means it is null - */ - $me_code_dep=($me_code_dep==-1)?null:$me_code_dep; - - $pm_default=(isset($pm_default))?1:0; - $cn->exec_sql(" - insert into profile_menu (me_code,me_code_dep,p_id,p_order,pm_default,p_type_display,pm_id_dep) - values ($1,$2,$3,$4,$5,$6,$7) - ", - array($me_code, $me_code_dep, $p_id, $p_order, $pm_default, $p_type, - $pm_id_dep)); - - $cn->commit(); - } - catch (Exception $exc) - { - alert($exc->getMessage()); - } -} - -echo '
      '; -$table=new Sort_Table(); -$url=$_SERVER['REQUEST_URI']; - -$table->add(_('Nom'), $url, "order by p_name asc", "order by p_name desc", "na", - "nd"); -$table->add(_('Description'), $url, "order by p_desc asc", - "order by p_desc desc", "da", "dd"); -$table->add(_('Calculatrice visible'), $url, "order by with_calc asc", - "order by with_calc desc", "ca", "cd"); -$table->add(_('Accès Direct visible'), $url, "order by with_direct_form asc", - "order by with_direct_form desc", "fa", "fd"); - -$ord=(isset($_REQUEST['ord']))?$_REQUEST['ord']:'na'; - -$order=$table->get_sql_order($ord); - -$menu=new Profile_sql($cn); -$ret=$menu->seek("where p_id > 0 ".$order); -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; -$gDossier=Dossier::id(); -for ($i=0; $iget_object($ret, $i); - - $js=sprintf('', - $gDossier, $row->p_id); - echo ''; - echo "'; - echo td($row->p_desc); - echo td($row->with_calc); - echo td($row->with_direct_form); - echo ''; -} -$js=sprintf('', - $gDossier, -1); -echo ''; -echo ""; -echo ''; -echo '
      '.$table->get_header(0).''.$table->get_header(1).''.$table->get_header(2).''.$table->get_header(3).'
      ".$js.$row->p_name.''.'
      ".$js._("Ajouter un profil")."
      '; -echo '
      '; - - -//******************************************************* -// Show details of the selected profile -//******************************************************* -echo '
      '; -if (isset($_POST['p_id'])) -{ - require_once NOALYSS_INCLUDE.'/ajax_get_profile.php'; - ?> - - '; -if (isset($_POST['delete_profil'])) -{ - echo create_script(" $('detail_profile').hide()"); - ?> - - diff --git a/sources/include/recover.php b/sources/include/recover.php deleted file mode 100644 index 2d2db0e..0000000 --- a/sources/include/recover.php +++ /dev/null @@ -1,157 +0,0 @@ - - -if (!defined('RECOVER')) - die('Appel direct ne sont pas permis'); -define('SIZE_REQUEST', 70); - - -require_once NOALYSS_INCLUDE.'/class_html_input.php'; -/** - * @brief generate a random string of char - * @param $car int length of the string - */ -function generate_random($car) -{ - $string=""; - $chaine="abcdefghijklmnpqrstuvwxyABCDEFGHIJKLMNPQRSTUVWXY0123456789"; - srand((double) microtime()*1020030); - for ($i=0; $i<$car; $i++) - { - $string .= $chaine[rand()%strlen($chaine)]; - } - return $string; -} - -/** - * @file - * @brief - * @param type $name Descriptionara - */ -$action=HtmlInput::default_value_request("id", ""); -if ($action=="") : - /* - * Display dialog box - */ - ?> - Donnez votre login ou votre email -
      - - - login - or - email - -
      - get_array("select use_id,use_email,use_login from ac_users where lower(use_login)=lower($1) " - , array($login_input)); - elseif (trim($email_input)!=""): - $array=$cn->get_array("select use_id,use_email,use_login from ac_users where " - ." lower(use_email)=lower($1) ", array( $email_input)); - - else: - return; - endif; - - - if ($cn->size()!=0): - list($user_id, $user_email, $user_login)=array_values($array[0]); - if (trim($user_email)!=" ") : - $valid=true; - endif; - endif; - - - if ($valid==true): - $request_id=generate_random(SIZE_REQUEST); - $user_password=generate_random(10); - /* - * save the request into - */ - $cn->exec_sql("insert into recover_pass(use_id,request,password,created_on,created_host) " - ." values ($1,$2,$3,now(),$4)", array($user_id, $request_id, $user_password, $_SERVER['REMOTE_ADDR'])); - - /* - * send an email - */ - $mail=new Sendmail(); - $mail->set_from(ADMIN_WEB); - $mail->mailto($user_email); - $mail->set_subject("NOALYSS : Réinitialisation de mot de passe"); - $message=<<set_message($message); - $mail->compose(); - $mail->send(); - echo '

      -L\'email a été envoyé avec un lien et le nouveau mot de passe, vérifiez vos spams

      '; - endif; -elseif ($action=="req") : - $request_id=HtmlInput::default_value_request("req", ""); - if (strlen(trim($request_id))==SIZE_REQUEST) : - require_once NOALYSS_INCLUDE.'/class_database.php'; - $cn=new Database(0); - - $value=$cn->get_value("select password from recover_pass where request=$1 and created_on > now() - interval '12 hours' and recover_on is null", array($request_id)); - if ($cn->get_affected()>0) : - $cn->exec_sql("update ac_users set use_pass=md5(rp.password) from recover_pass as rp where rp.use_id=ac_users.use_id and request=$1", array($request_id)); - $cn->exec_sql("update recover_pass set recover_by=$1 , recover_on=now() where request=$2", array($_SERVER['REMOTE_ADDR'],$request_id)); - ?> -

      - Opération réussie , vous pouvez vous connecter avec votre nouveau mot de passe - -

      - id=$_POST['fr_id']; - $rap->delete(); - $menu=1; -} -if (isset($_POST["record"])) -{ - $rap->from_array($_POST); - $rap->save(); - $menu=1; -} -if (isset($_POST['update'])) -{ - $rap->from_array($_POST); - $rap->save($_POST); - $menu=1; -} -if (isset($_POST['upload'])) -{ - $rap->upload(); - $menu=1; -} - -if (isset($_REQUEST["action"]) && $menu == 0) -{ - - $action=$_REQUEST ["action"]; - $rap->id=(isset($_REQUEST ['fr_id']))?$_REQUEST['fr_id']:0; - - if ($action=="add"&&!isset($_REQUEST['fr_id'])) - { - - echo '
      '; - echo '

      '._('Définition').'

      '; - echo '
      '; - echo dossier::hidden(); - $rap->id=0; - echo $rap->form(15); - - echo HtmlInput::submit("record", _("Sauve")); - echo '
      '; - echo ''._("Les lignes vides seront effacées").''; - echo "
      "; - echo '
      '; - - echo '
      '; - echo '

      Importation

      '; - echo dossier::hidden(); - $rap->id=0; - $wUpload=new IFile(); - $wUpload->name='report'; - $wUpload->value='report_value'; - echo _('Importer ce rapport').' '; - echo $wUpload->input(); - echo HtmlInput::submit("upload", _("Sauve")); - echo '
      '; - echo ''._("Les lignes vides seront effacées").''; - echo "
      "; - } - if ($action=="view") - { - echo '
      "; - } -} -else -{ - - $lis=$rap->get_list(); - $ac="&ac=".$_REQUEST['ac']; - $p_action='p_action=defreport'; - echo '
      '; - echo _('Filtre')." ".HtmlInput::filter_table("rapport_table_id", '0', 1); - - echo ''; - echo ''; - - foreach ($lis as $row) - { - printf('', $row->id, $str_dossier, $row->name); - } - echo "
      Ajout
      %s
      "; - echo '
      '; -} -html_page_stop(); -?> diff --git a/sources/include/restore.inc.php b/sources/include/restore.inc.php deleted file mode 100644 index de044b0..0000000 --- a/sources/include/restore.inc.php +++ /dev/null @@ -1,241 +0,0 @@ -'.HtmlInput::button_anchor(_("Retour"),"?action=restore","","smallbutton"); - if ( ! isset($_REQUEST['t'])) - { - echo '
      '; - echo (""._("Vous devez préciser s'il s'agit d'un modèle ou d'un dossier").""); - echo $retour; - echo '
      '; - exit(); - } - if ( empty ($_FILES['file']['name']) || - strlen(trim($_FILES['file']['name']))==0 - ) - { - echo '
      '; - - echo (""._('Vous devez donner un fichier')." "); - echo $retour; - echo '
      '; - exit(); - } - //--------------------------------------------------------------------------- - // Restore a folder (dossier) - if ( $_REQUEST['t']=='d') - { - echo '
      '; - - $cn=new Database(); - $id=$cn->get_next_seq('dossier_id'); - - if ( strlen(trim($_REQUEST['database'])) == 0 ) - { - $lname=$id." Restauration :".sql_string($_FILES['file']['name']); - } - else - { - $lname=$id." ".$_REQUEST['database']; - } - - if (strlen(trim($_REQUEST['desc']))==0) - { - $ldesc=$lname; - } - else - { - $ldesc=sql_string($_REQUEST['desc']); - } - - $sql="insert into ac_dossier (dos_id,dos_name,dos_description) values ($1,$2,$3)"; - $cn->start(); - try - { - $cn->get_value($sql,array($id,$lname,$ldesc)); - - - } - catch ( Exception $e) - { - echo ''._("Echec de la restauration ").''; - $cn->rollback(); - exit(); - } - $cn->commit(); - $name=domaine."dossier".$id; - echo $name; - $cn->exec_sql("create database ".$name." encoding='utf8'"); - $args=" --no-owner -d $name ".$_FILES['file']['tmp_name']; - $cmd= escapeshellcmd(PG_RESTORE); - exec($cmd.$args); - $test=new Database($id); - if ( $test->exist_table('version') ) - { - echo '

      '._('Restauration réussie du dossier ').$lname.'

      '; - $test->close(); - } - else - { - $test->close(); - echo '

      '._('Problème lors de la restauration ').$lname.'

      '; - $cn->exec_sql('delete from ac_dossier where dos_id=$1',array($id)); - $cn->exec_sql('drop database '.$name); - exit(); - } - $new_cn=new Database($id); - - $new_cn->apply_patch($name,0); - echo ''._('Ne pas recharger la page, sinon votre base de données sera restaurée une fois de plus').''; - Dossier::synchro_admin($id); - echo $retour; - - echo '
      '; - } - //--------------------------------------------------------------------------- - // Restore a modele - - if ( $_REQUEST['t']=='m') - { - echo '
      '; - - $cn=new Database(); - $id=$cn->get_next_seq('s_modid'); - - if ( strlen(trim($_REQUEST['database'])) == 0 ) - $lname=$id." Restauration :".sql_string($_FILES['file']['name']); - else - $lname=$id." ".$_REQUEST['database']; - - - $sql="insert into modeledef (mod_id,mod_name,mod_desc) values (".$id.",'Restauration".$lname."','".$ldesc."') "; - $cn->start(); - try - { - $cn->get_value($sql); - - } - catch ( Exception $e) - { - echo ''._("Echec de la restauration ").''; - $cn->rollback(); - exit(); - } - $cn->commit(); - - $name=domaine."mod".$id; - $cn->exec_sql("create database ".$name." encoding='utf8'"); - $args=" -d $name ".$_FILES['file']['tmp_name']; - $status=exec(PG_RESTORE.$args); - - $test=new Database($id,'mod'); - if ( $test->exist_table('version') ) - { - echo '

      '._('Restauration réussie du dossier ').$lname.'

      '; - $test->close(); - } - else - { - $test->close(); - echo '

      '._('Problème lors de la restauration ').$lname.'

      '; - $cn->exec_sql('delete from modeledef where mod_id=$1',array($id)); - $cn->exec_sql('drop database '.$name); - exit(); - } - - $new_cn=new Database($id,'mod'); - - $new_cn->apply_patch($name,0); - - echo ''._('Ne pas recharger la page, sinon votre base de données sera restaurée une fois de plus').''; - echo $retour; - - echo '
      '; - } -} -else -{ - echo '
      '; - echo '
      '; - echo HtmlInput::hidden('action','restore'); - echo HtmlInput::hidden('sa','r'); - echo ''; - echo ''; - $wNom=new IText(); - $wNom->name="database"; - $wNom->size=30; - echo ''; - echo ''; - $chk=new IRadio(); - $chk->name="t"; - $chk->value="d"; - echo ''; - echo ''; - $chk->name="t"; - $chk->value="m"; - echo ''; - echo ''; - $file=new IFile(); - $file->name="file"; - $file->value="mod"; - echo td(_('Fichier ')). - td($file->input()); - $desc=new ITextarea('desc'); - echo ''; - echo '
      '._("Nom de la base de donnée").HtmlInput::infobulle(29) - .''.$wNom->input().'
      '._("Type de backup")." :".' '.$chk->input()._("Dossier").'
      '.$chk->input()._("Modele").'
      '; - echo "

      Description

      "; - $desc->heigh=4;$desc->width=60; - echo $desc->input(); - echo '

      '; - echo HtmlInput::submit("",_("Restauration")); - echo '

      '; - echo '
      '; - echo '
      '; -} diff --git a/sources/include/search.inc.php b/sources/include/search.inc.php deleted file mode 100644 index 1251c65..0000000 --- a/sources/include/search.inc.php +++ /dev/null @@ -1,136 +0,0 @@ -type='ALL'; -if (isset($_GET['amount_id'])) -{ - put_global(array( - array("key"=>'amount_min','value'=>$_GET['amount_id']), - array("key"=>'amount_max','value'=>$_GET['amount_id']) - )); -} - -$search_box=$ledger->search_form('ALL',1,'search_op'); - -if ($base == 'recherche.php' || $base == 'do.php') - { - echo '
      '; - echo '
      '; - } - else - { - $div='search_op'; - $action=""; - $callback=""; - echo HtmlInput::title_box(_('Recherche'), $div); - echo ''; - echo HtmlInput::get_to_hidden(array('ctlc','ledger','target')); - $inside=true; - } - -echo $search_box; -echo HtmlInput::submit("viewsearch",_("Recherche")); -echo HtmlInput::button_close('search_op'); -echo '
      '; - -if ( isset ($_GET['amount_min'])&& isset($_GET['amount_max'])&& ($_GET['amount_max']!=0 ||$_GET['amount_min']!=0 )) -{ - $_GET['viewsearch']=1; - put_global( - array - ( - array('key'=>'ledger_type','value'=>'ALL') - ) - - ); - -} -//----------------------------------------------------- -// Display search result -//----------------------------------------------------- -if ( isset ($_GET['viewsearch']) ) -{ - - // Navigation bar - $step=MAX_RECONCILE; - $page=(isset($_GET['offset']))?$_GET['page']:1; - $offset=(isset($_GET['offset']))?$_GET['offset']:0; - if (count ($_GET) == 0) - $array=null; - else - $array=$_GET; - $array['p_action']='ALL'; - if ( ! isset ($array['date_start']) || ! isset ($array['date_end'])) - { - // get first date of current exercice - list($array['date_start'],$array['date_end'])=$g_user->get_limit_current_exercice(); - } - - list($sql,$where)=$ledger->build_search_sql($array); - // Count nb of line - $max_line=$cn->count_sql($sql); - $target=HtmlInput::default_value_get("target", ""); - list($count,$content)=$ledger->list_operation_to_reconcile($sql,$target); - $bar=navigation_bar($offset,$max_line,$step,$page); - - if (! $inside ) { - echo $bar; - - } else - { - if ($step<$max_line ) echo '

      '._('Liste limitée à ').$step._(' enregistrements. Le nombre d\'enregistrements trouvés est de ') .$max_line.'

      '; - } - echo '
      '; - echo HtmlInput::submit("upd_rec",_("Mettre à jour")); - echo HtmlInput::get_to_hidden(array('ctlc','amount_id','ledger')); - echo HtmlInput::get_to_hidden(array('l','date_start','date_end','desc','amount_min','amount_max','qcodesearch_op','accounting','unpaid','gDossier','ledger_type')); - echo $content; - echo HtmlInput::submit("upd_rec",_("Mettre à jour")); - if (! $inside )echo $bar; - - if (isset($_GET[$op.'r_jrn'])) { - foreach ($_GET[$op.'r_jrn'] as $k=>$v) - echo HtmlInput::hidden($op.'r_jrn['.$k.']',$v); - } - echo '
      '; -} -echo '
      '; -?> diff --git a/sources/include/stock_cfg.inc.php b/sources/include/stock_cfg.inc.php deleted file mode 100644 index 3a133bc..0000000 --- a/sources/include/stock_cfg.inc.php +++ /dev/null @@ -1,167 +0,0 @@ -MY_STOCK == 'N') -{ - echo '

      '; - echo _("Vous n'utilisez pas de gestion de stock"); - echo '

      '; - return; -} -if ( isset ($_POST['add_stock'])) -{ - $post_name=HtmlInput::default_value_post('r_name', ""); - if ( strlen(trim($post_name)) != 0) - { - $st=new Stock_Sql($cn); - $st->from_array($_POST); - $st->insert(); - } -} -if ( isset ($_POST['mod_stock'])) -{ - $post_name=HtmlInput::default_value_post('r_name', ""); - if ( strlen(trim($post_name)) != 0) - { - - $st=new Stock_Sql($cn,$_POST['r_id']); - $st->from_array($_POST); - $st->update(); - } -} -$tb=new Sort_Table(); -$p_url=HtmlInput::get_to_string(array("ac","gDossier")); - -$tb->add(_("Nom"), $p_url, " order by r_name asc", "order by r_name desc", "ona", "ond"); -$tb->add(_("Adresse"), $p_url, " order by r_adress asc", "order by r_adress desc", "oaa", "oad"); -$tb->add(_("Ville"), $p_url, " order by r_city asc", "order by r_city desc", "ova", "ovd"); -$tb->add(_("Pays"), $p_url, " order by r_country asc", "order by r_country desc", "opa", "opd"); -$tb->add(_("Téléphone"), $p_url, " order by r_phone asc", "order by r_phone desc", "opa", "opd"); - -$sql="select * from stock_repository "; - -$ord=(isset($_GET['ord']))?$_GET['ord']:"ona"; - -$order=$tb->get_sql_order($ord); - -$array=$cn->get_array($sql." ".$order); - -?> -
      - - - - - - - - - - - - - - - - - - - - -
      get_header(0)?>get_header(1)?>get_header(2)?>get_header(3)?>get_header(4)?>
      - - - - - - - - - - - -
      - - -
      diff --git a/sources/include/stock_histo.inc.php b/sources/include/stock_histo.inc.php deleted file mode 100644 index 7481f8c..0000000 --- a/sources/include/stock_histo.inc.php +++ /dev/null @@ -1,48 +0,0 @@ -get_exercice(); - $periode = new Periode($cn); - list($periode_start, $periode_end) = $periode->get_limit($exercice); - - $array['wdate_start'] = $periode_start->first_day(); - $array['wdate_end'] =$periode_end->last_day(); -} - -$stock->history($array); - -?> diff --git a/sources/include/stock_inv.inc.php b/sources/include/stock_inv.inc.php deleted file mode 100644 index 42cd1bd..0000000 --- a/sources/include/stock_inv.inc.php +++ /dev/null @@ -1,55 +0,0 @@ -record_save($_POST); - echo h2info(_("Opération sauvée")); - $inv->input($_POST,true); - - }catch(Exception $e) - { - alert($e->getMessage()); - $array=input($_POST); - } -} else if ( isset ($_GET['reprise_frm']) ) -{ - - $array=$inv->take_last_inventory($_GET); -} -echo $inv->input($array); - -?> diff --git a/sources/include/stock_inv_histo.inc.php b/sources/include/stock_inv_histo.inc.php deleted file mode 100644 index 30279cf..0000000 --- a/sources/include/stock_inv_histo.inc.php +++ /dev/null @@ -1,111 +0,0 @@ -can_write_repo($_POST['r_id'])) - { - $cn->exec_sql('delete from stock_change where c_id=$1',array($_POST['c_id'])); - } - else - { - alert(_("Vous ne pouvez pas modifier ce dépôt")); - } - } - else - { - alert(_("Opération non effacée: vous n'avez pas confirmé")); - } -} -$profile=$g_user->get_profile(); -$gDossier=dossier::id(); -$default_exercice=$g_user->get_exercice(); -$p_exercice=HtmlInput::default_value_get("p_exercice", $default_exercice); - -$a_change=$cn->get_array("select *,to_char(c_date,'DD.MM.YY') as str_date from stock_change as sc - join stock_repository as sr on (sc.r_id=sr.r_id) - where sc.r_id in (select r_id from profile_sec_repository where p_id=$1) - and c_date >= (select min(p_start) from parm_periode where p_exercice = $2) - and c_date <= (select max(p_end) from parm_periode where p_exercice = $2) - order by c_date",array($profile,$p_exercice)); - - -$exercice=new Exercice($cn); -?> -
      -
      - - select('p_exercice',$p_exercice)->input();?> - -
      - - - - - - - - - - - - > - - - - - - - - - -
      - - - - - - - - - -
      - - - - - - - - - -
      -
      diff --git a/sources/include/stock_state.inc.php b/sources/include/stock_state.inc.php deleted file mode 100644 index f5d4ca2..0000000 --- a/sources/include/stock_state.inc.php +++ /dev/null @@ -1,57 +0,0 @@ -value=$cn->make_array("select max(p_end) as date_end, p_exercice from parm_periode group by p_exercice order by 2 desc"); -$per=new Periode($cn,$g_user->get_periode()); -$per->load(); -$date_limit=$per->limit_year($per->p_exercice); -$last_day=$per->last_day($date_limit['end']); -$last_day=format_date($last_day,'DD.MM.YYYY','YYYY-MM-DD'); -$iexercice->selected=(isset($_GET['state_exercice']))?$_GET['state_exercice']:$last_day; - -$presentation=new ISelect("present"); -$presentation->value=array ( - array("value"=>"T","label"=>"Tableau récapitulatif"), - array("value"=>"L","label"=>"Liste") -); -$presentation->selected=(isset($_GET['present']))?$_GET['present']:"T"; -require_once NOALYSS_INCLUDE.'/template/stock_state_search.php'; - -$stock=new Stock($cn); - - -$stock->summary($_GET); - -?> diff --git a/sources/include/supplier.inc.php b/sources/include/supplier.inc.php deleted file mode 100644 index 4472e96..0000000 --- a/sources/include/supplier.inc.php +++ /dev/null @@ -1,163 +0,0 @@ -check_action(FICADD) == 0 ) - { - alert(_('Vous ne pouvez pas enlever de fiche')); - return; - } - - $f_id=$_REQUEST['f_id']; - - $fiche=new Supplier($cn,$f_id); - $fiche->remove(); - $low_action="list"; - } -} - -//----------------------------------------------------- -// list of supplier -//----------------------------------------------------- -if ( $low_action == "list" ) -{ - - ?> -
      -
      -
      - ' . "Exercice " . $g_user->get_exercice() . ''; - echo dossier::hidden(); - $a=(isset($_GET['query']))?$_GET['query']:""; - printf (_('Recherche').' ', - $a); - $choice_cat=HtmlInput::default_value_request("choice_cat", 1); - if ( $choice_cat == 1 ) - { - $sel_card=new ISelect('cat'); - $sel_card->value=$cn->make_array('select fd_id, fd_label from fiche_def '. - ' where frd_id='.FICHE_TYPE_FOURNISSEUR. - ' order by fd_label ',1); - $sel_card->selected=(isset($_GET['cat']))?$_GET['cat']:-1; - $sel_card->javascript=' onchange="submit(this);"'; - echo _('Catégorie :').$sel_card->input(); - } else - { - $cat=HtmlInput::default_value_request('cat', ''); - echo HtmlInput::hidden("cat",$cat); - echo HtmlInput::hidden('choice_cat', 0); - } - $nooperation=new ICheckBox('noop'); - $nooperation->selected=(isset($_GET['noop']))?true:false; - echo _('Inclure les fournisseurs sans opération :').$nooperation->input(); - - ?> - - -
      -
      - '; - echo $supplier->Summary($search,'supplier',$sql,$noop); - - - echo '
      '; - echo '
      '; - echo '
      '; - if ($g_user->check_action(FICADD)==1) - { - /* Add button */ - $f_add_button=new IButton('add_card'); - $f_add_button->label=_('Créer une nouvelle fiche'); - $f_add_button->set_attribute('win_refresh','yes'); - - $f_add_button->set_attribute('type_cat',FICHE_TYPE_FOURNISSEUR); - $f_add_button->javascript=" select_card_type(this);"; - echo $f_add_button->input(); - - $f_cat_button=new IButton('add_cat'); - $f_cat_button->set_attribute('type_cat',FICHE_TYPE_FOURNISSEUR); - $f_cat_button->set_attribute('ipopup','ipop_cat'); - $f_cat_button->label=_('Ajout d\'une catégorie'); - $f_cat_button->javascript='add_category(this)'; - echo $f_cat_button->input(); - } - - echo '
      '; - echo '
      '; - - -} -/*---------------------------------------------------------------------- - * Detail for a card, Suivi, Contact, Operation,... * - * cc stands for supplier card - *----------------------------------------------------------------------*/ -if ( $low_action == 'detail') -{ - /* Menu */ - require_once NOALYSS_INCLUDE.'/category_card.inc.php'; - return; -} - - - -html_page_stop(); -?> diff --git a/sources/include/template/account_result.php b/sources/include/template/account_result.php deleted file mode 100644 index d196bd5..0000000 --- a/sources/include/template/account_result.php +++ /dev/null @@ -1,63 +0,0 @@ - -
      - -
      - - - - - - - - - -> - - - - - - - -
      - - - - - - - - - - - 0 ) { - if (strpos($array[$i]['acode'], ",") >0 ) { - - $det_qcode= explode(",", $array[$i]['acode']); - $sep=""; - $max=(count($det_qcode)>$limite)?$limite:count($det_qcode); - for ($e=0;$e<$max;$e++) { - echo $sep.HtmlInput::card_detail($det_qcode[$e]); - $sep=" , "; - } - if ($max < count($det_qcode)) { - echo "..."; - } - } else { - echo HtmlInput::card_detail($array[$i]['acode']); - } - } - ?> -
      - - - - -
      -
      \ No newline at end of file diff --git a/sources/include/template/account_search.php b/sources/include/template/account_search.php deleted file mode 100644 index e6039a4..0000000 --- a/sources/include/template/account_search.php +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/sources/include/template/action_button.php b/sources/include/template/action_button.php deleted file mode 100644 index 0d72879..0000000 --- a/sources/include/template/action_button.php +++ /dev/null @@ -1,44 +0,0 @@ - -
      -
      -
      - - "> - - - - - - - -
      -
      \ No newline at end of file diff --git a/sources/include/template/action_display_short.php b/sources/include/template/action_display_short.php deleted file mode 100644 index c99cf6f..0000000 --- a/sources/include/template/action_display_short.php +++ /dev/null @@ -1,113 +0,0 @@ - -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; either version 2 -* of the License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - * - */ - - -/** - * @file - * @brief call from follow_up::display_short display a small form to - * enter a new event - */ -global $g_user; -// Date of the event -$date=new IDate("date_event"); -$date->id="date_event_action_short"; -$title=new IText('title_event'); -$title->css_isze="60%"; -// Description -$summary=new ITextarea('summary'); -$summary->style.='class="itextarea" style="padding:0px;margin:0px"'; - -// Type of document / event -$type=new ISelect("type_event"); -$type->name="type_event"; -$type->value=$cn->make_array("select dt_id,dt_value from document_type order by dt_value", 1); -$type->selected=0; - -// Available for the profile -$profile=new ISelect('event_group'); -$profile->value=$cn->make_array("select p_id as value, ". - "p_name as label ". - " from profile " - . "where " - . "p_id in " - . " (select p_granted " - . " from user_sec_action_profile " - . " where ua_right='W' and p_id=".$g_user->get_profile().") " - . "order by 2"); - -// priority -$priority=new ISelect('event_priority'); -$priority->value=array( - array('value'=>1, 'label'=>_('Haute')), - array('value'=>2, 'label'=>_('Moyenne')), - array('value'=>3, 'label'=>_('Basse')) - ); -$priority->selected=2; - -// Card -$dest=new ICard('dest'); -$dest->jrn=0; -$dest->name='dest'; -$dest->value=""; -$dest->label=""; -$list_recipient=$cn->make_list('select fd_id from fiche_def where frd_id in (14,25,8,9,16)'); -$dest->extra=$list_recipient; -$dest->set_attribute('typecard', $list_recipient); -$dest->set_dblclick("fill_ipopcard(this);"); -$dest->set_attribute('ipopup', 'ipopcard'); -$dest->style=' style="vertical-align:0%"'; - -echo HtmlInput::title_box(_('Nouvel événement'), 'action_add_div'); -?> - -
      -

      - - Dateinput()?> - - - Type évenement -input();?> - - Priorité -input()?> - groupe -input()?> -

      -Destinataire input();?> -

      - - - input()?> - -

      - -

      - input()?> -

      - -

      - -

      -
      diff --git a/sources/include/template/action_other_action.php b/sources/include/template/action_other_action.php deleted file mode 100644 index bb51613..0000000 --- a/sources/include/template/action_other_action.php +++ /dev/null @@ -1,69 +0,0 @@ - - - - - diff --git a/sources/include/template/action_search.php b/sources/include/template/action_search.php deleted file mode 100644 index e88267d..0000000 --- a/sources/include/template/action_search.php +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - -
      - - - - -> - - - - - - - - -
      - - - - - - - - - - -
      - -
      -
      - - get_last(MAX_ACTION_SHOW); - $len_array=count($array); - ?> - - - - - - - - - -
      - - - - - - - -
      -
      - - - - diff --git a/sources/include/template/detail-action.php b/sources/include/template/detail-action.php deleted file mode 100644 index 7a95d32..0000000 --- a/sources/include/template/detail-action.php +++ /dev/null @@ -1,509 +0,0 @@ -
      -

      input(); ?>

      -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ag_id > 0 ): ?> - - - - - - -
      - - - ag_id;?> -
      - - - -
      - - - -
      - - - search().$w->input(); - ?> -
      - - - can_write_action($this->ag_id) == true ): - echo $ag_contact->search().$ag_contact->input(); - endif; - ?> -
      - input(); ?> -
      - - - display_linked(); - if ($g_user->can_write_action($this->ag_id) == true ): - echo HtmlInput::button_action_add_concerned_card( $this->ag_id); - endif; - ?> - - -
      - - -
      -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -ag_id > 0 ): ?> - - - - - - -
      - - - input(); - ?> -
      - - - -
      - - - input(); - ?> -
      - - - - -
      - - - - -
      - - - -
      - Dossier / tags - - tag_cell(); - ?> -
      - -
      -
      -
      -

      Opérations concernées

      -
        - - '.$operation[$o]['str_date']." ".HtmlInput::detail_op($operation[$o]['jr_id'],$operation[$o]['jr_internal'])." ".h($operation[$o]['jr_comment'])." " - .$js.''; - } - else - { - echo '
      1. '.$operation[$o]['str_date']." ".HtmlInput::detail_op($operation[$o]['jr_id'],$operation[$o]['jr_internal'])." ".h($operation[$o]['jr_comment'])." " - .'
      2. '; - } - } - - ?> -
      - '.$iconcerned->input().'';?> -
      - -
      -

      -
        - - '; - $js= ''.SMALLX.''; - echo '
      1. '.$showAction.$action[$o]['str_date']." ".$action[$o]['ag_ref']." ". - h($action[$o]['sub_title']).'('.h($action[$o]['dt_value']).')'." " - .$js.'
      2. '; - } else - /* - * Display detail requested from Ajax Div - */ - if ( $p_base == 'ajax' ) - { - $xaction = sprintf('view_action(%d,%d,%d)',$action[$o]['ag_id'],Dossier::id(),1); - $showAction=''; - echo '
      3. '.$showAction.$action[$o]['str_date']." ".$action[$o]['ag_ref']." ". - h($action[$o]['sub_title']).'('.h($action[$o]['dt_value']).')'." " - .'
      4. '; - } - /* - * READ ONLY - */ - else - { - $showAction=''; - echo '
      5. '.$showAction.$action[$o]['str_date']." ".$action[$o]['ag_ref']." ". - h($action[$o]['sub_title']).'('.h($action[$o]['dt_value']).')'." " - .'
      6. '; - } - } - - ?> -
      - '.$iaction->input().'';?> -
      -
      -
      -
      -

      - -

      -

      - - -Document créé le ag_timestamp ?> par ag_owner?> - -

      -

      - input(); - ?> -

      -
      - -

      - - '.SMALLX.''; - echo hb('n°'.$acomment[$c]['agc_id'].'('.$acomment[$c]['tech_user']." ".$acomment[$c]['str_agc_date'].')').$js. - '
       '.
      -				" ".h($acomment[$c]['agc_comment']).'
      ' - ; - } - else - { - echo hb('n°'.$acomment[$c]['agc_id'].'('.$acomment[$c]['tech_user']." ".$acomment[$c]['str_agc_date'].')'). - '
       '.
      -				" ".h($acomment[$c]['agc_comment']).'
      ' - ; - - } -} -echo ''; -echo $desc->input(); -echo ''; -?> - -

      - value="+" onclick="enlarge('ag_comment');return false;"> - value="-" style="display:none" onclick="small('ag_comment');return false;"> -

      - -
      -
      - - - - - - -
      - - - -
      - - - - - - - - - - - - - - - - - - - - - - - - -
      -
      - - - -
      - -
      -
      -
      -
      -
      - -
      -
      Total HTVA -
      Total TVA -
      Total TVAC -
      - - -
      - - "> -
      - - -
      -ag_id != 0 && ! $readonly) : ?> -
      -

      - Dossier::id(),'ag_id'=>$this->ag_id,'create_invoice'=>1,'ac'=>$menu->get('code_invoice'))); - echo HtmlInput::button_anchor(_("Transformer en facture"),"do.php?".$query,"create_invoice", ' target="_blank" ',"button"); - ?> -

      -
      - - -
      - - -
      - - - - - -
      - - - -
      - - - - - - - - - - -
      - " href=""> - - - - - - - - - - - - - - - - - " href="javascript:void(0)" onclick=""> -
      -
      - - -
      -

      Fichiers à ajouter:

      -
        -
      1. - input(); - ?> - - -
      2. -
      - - "> - -
      - -
      -
      - diff --git a/sources/include/template/document_mod_change.php b/sources/include/template/document_mod_change.php deleted file mode 100644 index c5a8423..0000000 --- a/sources/include/template/document_mod_change.php +++ /dev/null @@ -1,87 +0,0 @@ -get(); -?> -
      - - - - - - - - - - - - - - - - - - - - -
      - - dt_value); - echo $name->input(); - ?> -
      - - dt_prefix); - echo $prefix->input(); - ?> -
      - - get_array("select last_value,is_called from seq_doc_type_".$doc_type->dt_id) ; - - $last=$ret[0]['last_value']; - /*! - *\note With PSQL sequence , the last_value column is 1 when before AND after the first call, to make the difference between them - * I have to check whether the sequence has been already called or not */ - if ($ret[0]['is_called']=='f' ) $last--; - echo $last; - ?> -
      - - - input(); - ?> -
      - - -
      \ No newline at end of file diff --git a/sources/include/template/fiche_def_input.php b/sources/include/template/fiche_def_input.php deleted file mode 100644 index b7291e7..0000000 --- a/sources/include/template/fiche_def_input.php +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - -
      - Description - - input(); ?> -
      -

      Modèles de catégorie

      -
        -$v) { ?> -
      • -input("FICHE_REF",$v['frd_id']); - echo $v['frd_text']; - if ( sizeof ($v['frd_class_base']) != 0 ) - echo "  Class base = ".$v['frd_class_base'].""; - - }?> -
      • - -
      \ No newline at end of file diff --git a/sources/include/template/fiche_def_list.php b/sources/include/template/fiche_def_list.php deleted file mode 100644 index 25f47c2..0000000 --- a/sources/include/template/fiche_def_list.php +++ /dev/null @@ -1,89 +0,0 @@ - -
      - - - - - - - - - - - > - - - - - - - - - -
      - get_header(0)?> - - get_header(1)?> - - get_header(2)?> - - get_header(3)?> - - Description -
      - - - - - - - - - -
      - -
      - \ No newline at end of file diff --git a/sources/include/template/fiche_list.php b/sources/include/template/fiche_list.php deleted file mode 100644 index 5c8e5e0..0000000 --- a/sources/include/template/fiche_list.php +++ /dev/null @@ -1,104 +0,0 @@ - - -
      ')"> - - - - - - - - - - - - - - > - - - - - - - - - - - -
      - - - - -  ▴ - - - - - - - -
      - - - - - - - - - - input(); - } - ?> -
      - - - - - - - -value=$cn->make_array("select fd_id,fd_label from fiche_def order by 2"); -echo $iselect->input(); -?> - - -
      -
      - - \ No newline at end of file diff --git a/sources/include/template/folder_display.php b/sources/include/template/folder_display.php deleted file mode 100644 index fb33899..0000000 --- a/sources/include/template/folder_display.php +++ /dev/null @@ -1,67 +0,0 @@ - -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; either version 2 -* of the License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - * - */ - - -/** - * @file - * @brief display the folders the user has no access and permit to add them - * thanks ajax call. - * - * The received parameter are - * - $a_dossier, the result of Dossier::show_dossier - * - $user_id id of the user - * - */ -echo js_include('admin.js'); -if ( count($a_dossier) == 0 ) -{ - echo '

      '._('Aucun dossier à afficher').'

      '; - return; -} -?> - - - - - - - - -
      - - - - - - -
      \ No newline at end of file diff --git a/sources/include/template/forecast-detail.php b/sources/include/template/forecast-detail.php deleted file mode 100644 index 2c44034..0000000 --- a/sources/include/template/forecast-detail.php +++ /dev/null @@ -1,34 +0,0 @@ - -

      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      - -
      - - diff --git a/sources/include/template/forecast_cat.php b/sources/include/template/forecast_cat.php deleted file mode 100644 index 757a759..0000000 --- a/sources/include/template/forecast_cat.php +++ /dev/null @@ -1,30 +0,0 @@ -
      - - - - - - -

      - - - - - - - - - - - -
      - - - -
      - - -
      \ No newline at end of file diff --git a/sources/include/template/forecast_result.php b/sources/include/template/forecast_result.php deleted file mode 100644 index f272f93..0000000 --- a/sources/include/template/forecast_result.php +++ /dev/null @@ -1,203 +0,0 @@ -

      -Période du à - - -
      - - - - - - - - - - - - - -
      - '.h($aItem[$i][$e]['fi_text']).'';?> -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0)) - { - echo ' - - - - - - - 0)) - { - echo ' - - 0)) - { - echo ' - - - -
      - - -
      - - - - - - -
      - - - - - -
      - - - -
      - -'; - } -else if ($diff==0) - { - echo ''; - } -else - { - echo ''; - } - -echo nbm( $diff); -?> -
      - -'; - } -else if ($cum ==0) - { - echo ''; - } - -else - { - echo ''; - } - -echo nbm( $cum); -?> -'; - } -else - { - echo ''; - } - echo nbm( $cum); -?> -
      -
      - - - - - - - - - - - -
      -
      - - - - -
      -Désolé il y a des formules incorrectes -
        - - - - -
      -
      - \ No newline at end of file diff --git a/sources/include/template/form_ledger_detail.php b/sources/include/template/form_ledger_detail.php deleted file mode 100644 index 29cd8d4..0000000 --- a/sources/include/template/form_ledger_detail.php +++ /dev/null @@ -1,134 +0,0 @@ - -
      -

      get_name()?>

      -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - -
      - - - -
      - - - -
      -
      - - - -
      - - - - -
      - - -
      - - -

      - - - - - - - - - - - - - - - - - - - - -'; -echo $item['quick_code']; -echo ''; -?> - -'; -} - -?> -
      Code
      '.$item['bt'].'
      - -
      - -
      - -
      -
      0.0 - -
      0.0 -
      0.0 - - -
      - -
      - -
      -
      -
      - -
      - -
      - - - diff --git a/sources/include/template/form_ledger_fin.php b/sources/include/template/form_ledger_fin.php deleted file mode 100644 index 4d91387..0000000 --- a/sources/include/template/form_ledger_fin.php +++ /dev/null @@ -1,71 +0,0 @@ -
      -
      -

      get_name()?>

      -
      - -value=array( - array('value'=>1,'label'=>_("Avec date d'extrait")), - array('value'=>2,'label'=>_("Avec date opérations")) - ); - $wchdate->selected=(isset($chdate))?$chdate:1; - $wchdate->javascript='onchange="show_fin_chdate(\'chdate\')"'; -?> -input();?> - - - - -
      -
      - - -
      - -
      - -
      - - input();?> - input();?> -
      - -
      - - - - - - - - - - -'; -// echo td($item['dateop']); -echo td($item['dateop'],' style="display:none" id="tdchdate'.$i.'"'); -echo td($item['qcode'].$item['search']); -echo td($item['cname']); -echo td($item['comment']); -echo td($item['amount']); -echo td($item['concerned']); -echo ''; -$i++; - -} -?> -
      code
      -
      -
      - - diff --git a/sources/include/template/history_top.php b/sources/include/template/history_top.php deleted file mode 100644 index 917d20b..0000000 --- a/sources/include/template/history_top.php +++ /dev/null @@ -1,15 +0,0 @@ -
      -⬜ -'; -echo ''; -} -?> -
      diff --git a/sources/include/template/impress_cat_card.php b/sources/include/template/impress_cat_card.php deleted file mode 100644 index 46563b8..0000000 --- a/sources/include/template/impress_cat_card.php +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - -
      diff --git a/sources/include/template/impress_reconciliation.php b/sources/include/template/impress_reconciliation.php deleted file mode 100644 index 5da24b9..0000000 --- a/sources/include/template/impress_reconciliation.php +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - -db->execute('detail_quant',array($array[$i]['first']['jr_id'])); - $acc_reconciliation->show_detail($ret); - if ( isset($array[$i]['depend']) ) - { - $tot2=0; - $limit=count($array[$i]['depend'])-1; - for ($e=0;$e'.$r.''; - else - echo tr($r); - $ret=$acc_reconciliation->db->execute('detail_quant',array($array[$i]['depend'][$e]['jr_id'])); - $acc_reconciliation->show_detail($ret); - } - echo tr(td(_('Total ')).td('operation').td(nbm($tot)).td('operations dépendantes').td(nbm($tot2)).td('Delta').td(bcsub($tot,$tot2)),' class="highlight"'); - echo tr(td('
      ',' colspan="6" style="witdh:auto"')); - - } -} -?> -
      - - - - - - - - - - - -
      \ No newline at end of file diff --git a/sources/include/template/impress_reconciliation_detail.php b/sources/include/template/impress_reconciliation_detail.php deleted file mode 100644 index 0d65172..0000000 --- a/sources/include/template/impress_reconciliation_detail.php +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - - - - - - - - - - - - -
      - - - - - - - - - - - - - -
      - Totaux - - - - - - - - - - - - -
      diff --git a/sources/include/template/ledger_detail_ach.php b/sources/include/template/ledger_detail_ach.php deleted file mode 100644 index 9ead4ec..0000000 --- a/sources/include/template/ledger_detail_ach.php +++ /dev/null @@ -1,255 +0,0 @@ - -
      - - - -
      - - - - - - - - -
      - - - value = format_date($obj->det->jr_date); - echo td(_('Date')) . td($date->input()); - ?> - - - value = format_date($obj->det->jr_ech); - echo td(_('Echeance')) . td($date_ech->input()); - ?> - - - - - - - - - - - - - - - - - - - - -
      - - - value = format_date($obj->det->jr_date_paid); - echo $date_paid->input(); - ?> -
      - det->array[0]['qp_supplier']); - echo td(_('Fournisseur')); - - $view_card_detail = HtmlInput::card_detail($bk->get_quick_code(), h($bk->getName()), ' class="line" '); - echo td($view_card_detail); - ?> -
      - value = strip_tags($obj->det->jr_pj_number); - echo td(_('Pièce')) . td($itext->input()); - ?> -
      - value = strip_tags($obj->det->jr_comment); - $itext->size = 40; - echo td(_('Libellé')) . td($itext->input(), ' colspan="2" '); - ?> -
      Payé - selected = ($obj->det->jr_rapt == 'paid'); - echo $ipaid->input(); - ?> -
      -
      - - - - - - -
      - Note -
      - style=' class="itextarea" style="width:90%;height:100%;"'; - $inote->value = strip_tags($obj->det->note); - echo $inote->input(); - ?> - -
      -
      -
      - - MY_TVA_USE == 'Y') - { - echo th(_('Taux TVA'), 'style="text-align:right"'); - } else - { - echo th(''); - } - echo th(_('Prix/Un.'), 'style="text-align:right"'); - echo th(_('Quantité'), 'style="text-align:right"'); - echo th(_('Non ded'), 'style="text-align:right"'); - - if ($owner->MY_TVA_USE == 'Y') - { - echo th(_('HTVA'), 'style="text-align:right"'); - echo th(_('TVA ND'), 'style="text-align:right"'); - echo th(_('TVA'), 'style="text-align:right"'); - echo th(_('TVAC'), 'style="text-align:right"'); - } else - echo th(_('Total'), 'style="text-align:right"'); - - if ($owner->MY_ANALYTIC != 'nu' ) - { - $anc = new Anc_Plan($cn); - $a_anc = $anc->get_list(' order by pa_id '); - $x = count($a_anc); - /* set the width of the col */ - /* add hidden variables pa[] to hold the value of pa_id */ - $str_anc.=''; - - } - echo ''; - for ($e = 0; $e < count($obj->det->array); $e++) - { - $row = ''; - $q = $obj->det->array[$e]; - $fiche = new Fiche($cn, $q['qp_fiche']); - $qcode=$fiche->strAttribut(ATTR_DEF_QUICKCODE); - $view_card_detail = HtmlInput::card_detail($qcode, "", ' class="line" '); - $row = td($view_card_detail); - $sym_tva = ''; - - if ($owner->MY_TVA_USE == 'Y' && $q['qp_vat_code'] != '') - { - /* retrieve TVA symbol */ - $tva = new Acc_Tva($cn, $q['qp_vat_code']); - $tva->load(); - $sym_tva = h($tva->get_parameter('label')); - } - if ($owner->MY_UPDLAB == 'Y') - { - $l_lib = ($q['j_text'] == '') ? $fiche->strAttribut(ATTR_DEF_NAME) : $q['j_text']; - $hidden = HtmlInput::hidden("j_id[]", $q['j_id']); - $input = new IText("e_march" . $q['j_id'] . "_label", $l_lib); - $input->css_size = "100%"; - } else - { - $input = new ISpan("e_march" . $q['j_id'] . "_label"); - $hidden = HtmlInput::hidden("j_id[]", $q['j_id']); - $input->value = $fiche->strAttribut(ATTR_DEF_NAME); - } - $row.=td($input->input() . $hidden); - $row.=td($sym_tva, 'style="text-align:center"'); - $pu = 0; - if ($q['qp_quantite'] != 0) - $pu = bcdiv($q['qp_price'], $q['qp_quantite']); - $row.=td(nbm($pu), 'class="num"'); - $row.=td(nbm($q['qp_quantite']), 'class="num"'); - - $no_ded = bcadd($q['qp_dep_priv'], $q['qp_nd_amount']); - $row.=td(nbm($no_ded), ' style="text-align:right"'); - $htva = $q['qp_price']; - - - $row.=td(nbm($htva), 'class="num"'); - $tvac = bcadd($htva, $q['qp_vat']); - $tvac = bcadd($tvac, $q['qp_nd_tva']); - $tvac = bcadd($tvac, $q['qp_nd_tva_recup']); - $tvac = bcsub ($tvac,$q['qp_vat_sided']); - - if ($owner->MY_TVA_USE == 'Y') - { - $tva_amount_nd = bcadd($q['qp_nd_tva_recup'], $q['qp_nd_tva']); - $class = ""; - if ($q['qp_vat_sided'] <> 0) - { - $class = ' style="text-decoration:line-through"'; - } - $row.=td(nbm($tva_amount_nd), 'class="num" ' . $class); - $row.=td(nbm($q['qp_vat']), 'class="num" ' . $class); - $row.=td(nbm($tvac), 'class="num"'); - } - $total_tvac=bcadd($total_tvac,$tvac); - $total_htva=bcadd($htva,$total_htva); - /* Analytic accountancy */ - if ($owner->MY_ANALYTIC != "nu" /*&& $div == 'popup'*/ ) - { - $poste = $fiche->strAttribut(ATTR_DEF_ACCOUNT); - if (preg_match('/^(6|7)/', $poste)) - { - $anc_op = new Anc_Operation($cn); - $anc_op->j_id = $q['j_id']; - $anc_op->in_div=$div; - echo HtmlInput::hidden('op[]', $anc_op->j_id); - /* compute total price */ - bcscale(2); - $str_anc.=''; - $str_anc.=td($qcode); - $str_anc.=td(nbm($htva)); - $str_anc.=$anc_op->display_table(1, $htva, $div); - } else - { - $row.=td(''); - } - } - $class=($e%2==0)?' class="even"':'class="odd"'; - echo tr($row,$class); - } - if ($owner->MY_TVA_USE == 'Y') - $row = td(_('Total'), ' style="font-style:italic;text-align:right;font-weight: bolder;width:auto" colspan="6"'); - else - $row = td(_('Total'), ' style="font-style:italic;text-align:right;font-weight: bolder;width:auto" colspan="6"'); - $row.=td(nbm($total_htva), 'class="num" style="font-style:italic;font-weight: bolder;"'); - if ($owner->MY_TVA_USE == 'Y') - $row.=td("") . td("").td(nbm($total_tvac), 'class="num" style="font-style:italic;font-weight: bolder;"'); - echo tr($row); - ?> -
      CodeMontant' . _('Compt. Analytique') . Anc_Plan::hidden($a_anc).'
      - - -
      - - - -
      diff --git a/sources/include/template/ledger_detail_bottom.php b/sources/include/template/ledger_detail_bottom.php deleted file mode 100644 index bde34bc..0000000 --- a/sources/include/template/ledger_detail_bottom.php +++ /dev/null @@ -1,334 +0,0 @@ -
      -jr_id=$jr_id; -$aRap=$oRap->get(); - -// Detail of operation - $detail = new Acc_Misc($cn, $obj->jr_id); - $detail->get(); - - $nb_document=($detail->det->jr_pj_name != "")?1:0; - - -// Array of tab -// -$a_tab['writing_div']=array('id'=>'writing_div'.$div,'label'=>_('Ecriture Comptable'),'display'=>'none'); -$a_tab['info_operation_div']=array('id'=>'info_operation_div'.$div,'label'=>_('Information'),'display'=>'none'); -$a_tab['linked_operation_div']=array('id'=>'linked_operation_div'.$div,'label'=>_('Opérations liées').'('.count($aRap).')','display'=>'none'); -$a_tab['document_operation_div']=array('id'=>'document_operation_div'.$div,'label'=>_('Document').'('.$nb_document.')','display'=>'block'); -$a_tab['linked_action_div']=array('id'=>'linked_action_div'.$div,'label'=>_('Actions Gestion').'('.count($a_followup).')','display'=>'none'); -$a_tab['analytic_div']=array('id'=>'analytic_div'.$div,'label'=>_('Comptabilité Analytique'),'display'=>'none'); - - -// show tabs -if ( $div != "popup") : - $a_tab['document_operation_div']['display']='block'; -?> -
        - $a_value): ?> - -
      • - - -
      • - -
      -$a_value): - $a_tab[$idx]['display']='block'; - endforeach; -endif; -?> - - -info->command); - $other=new IText('OTHER',$obj->info->other); -?> -
      - -

      - - -
      - - - - '; - for ($e = 0; $e < count($detail->det->array); $e++) - { - $row = ''; - $q = $detail->det->array; - $view_history = sprintf('%s', $q[$e]['j_poste'], $gDossier, $q[$e]['j_poste']); - - $row.=td($view_history); - if ($q[$e]['j_qcode'] != '') - { - $fiche = new Fiche($cn); - $fiche->get_by_qcode($q[$e]['j_qcode']); - $view_history = sprintf('%s', $fiche->id, $gDossier, $q[$e]['j_qcode']); - } else - $view_history = ''; - $row.=td($view_history); - - if ($q[$e]['j_text']=="") - { - if ($q[$e]['j_qcode'] != '') - { - // nom de la fiche - $ff = new Fiche($cn); - $ff->get_by_qcode($q[$e]['j_qcode']); - $row.=td($ff->strAttribut(h(ATTR_DEF_NAME))); - } else - { - // libellé du compte - $name = $cn->get_value('select pcm_lib from tmp_pcmn where pcm_val=$1', array($q[$e]['j_poste'])); - $row.=td(h($name)); - } - } - else - $row.=td(h($q[$e]['j_text'])); - - $montant = td(nbm($q[$e]['j_montant']), 'class="num"'); - $row.=($q[$e]['j_debit'] == 't') ? $montant : td(''); - $row.=($q[$e]['j_debit'] == 'f') ? $montant : td(''); - $class=($e%2==0)?' class="even"':'class="odd"'; - - echo tr($row,$class); - } - ?> -
      -
      -
      -
      - -

      - - - - - - - - -
      : input(); ?>
      : input();?>
      -
      -
      - -

      - -'; - for ($e=0;$ejr_id=$aRap[$e]; - $internal=$opRap->get_internal(); - $array_jr=$cn->get_array('select jr_date,jr_montant,jr_comment from jrn where jr_id=$1',array($aRap[$e])); - $amount=$array_jr[0]['jr_montant']; - $str="modifyOperation(".$aRap[$e].",".$gDossier.")"; - $rmReconciliation=new IButton('rmr'); - $rmReconciliation->label=SMALLX; - $rmReconciliation->class="tinybutton"; - $rmReconciliation->javascript="return confirm_box(null,'"._("vous confirmez?")."',"; - $rmReconciliation->javascript.=sprintf('function () { dropLink(\'%s\',\'%s\',\'%s\',\'%s\');deleteRowRec(\'%s\',$(\'row%d\'));})', - $gDossier, - $div, - $jr_id, - $aRap[$e], - $tableid, - $e - ); - if ( $access=='W') - $remove=$rmReconciliation->input(); - else - $remove=''; - - $comment=strip_tags($array_jr[0]['jr_comment']); - echo tr (td(format_date($array_jr[0]['jr_date'])). - td(''.$internal.''). - td($comment). - td(nbm($amount)). - td($remove),' id = "row'.$e.'"'); - } - echo ''; -} -?> -amount_id=$obj->det->jr_montant; - echo $wConcerned->input(); - -} -?> -
      -
      - -

      - -'; -for ($i = 0; $i < count($a_followup); $i++) -{ - $remove=''; - if ( $access=='W') $remove=HtmlInput::button_action_remove_operation($a_followup[$i]['ago_id']); - if ( $div == 'popup') - { - echo '
    40. '.HtmlInput::detail_action($a_followup[$i]['ag_id'], h($a_followup[$i]['ag_ref']." ".$a_followup[$i]['ag_title']),0).$remove.'
    41. '; - } - else - { - echo '
    42. '.HtmlInput::detail_action($a_followup[$i]['ag_id'], h($a_followup[$i]['ag_ref']." ".$a_followup[$i]['ag_title']),1).$remove.'
    43. '; - } -} -echo ''; -$related=new IRelated_Action('related'); -$related->id='related'.$div; - if ( $access=='W') echo $related->input(); -echo '
      '; -?> - - - - -
      - -

      - - MY_ANALYTIC != "nu") : - if ( strpos($str_anc,'') == true ): - ?> - - - -
      - - - - - - - - - - -
      - -
      -'; - -if ( $div != 'popup' ) { - $a=new IButton('Fermer',_('Fermer')); - $a->label=_("Fermer"); - $a->javascript="removeDiv('".$div."')"; - echo $a->input(); -} else { - echo HtmlInput::hidden('p_jrn',$oLedger->id); -} - -?> - -MY_ANALYTIC != 'nu' /*&& $div=='popup' */){ - echo ''; - } - - $per=new Periode($cn,$obj->det->jr_tech_per); - if ( $per->is_closed() == 0 && $owner->MY_STRICT=='N' && $g_user->check_action(RMOPER)==1) - { - $remove=new IButton('Effacer'); - $remove->label=_('Effacer'); - $remove->javascript="return confirm_box(null,'Vous confirmez effacement ?',function () {removeOperation('".$obj->det->jr_id."',".dossier::id().",'".$div."')})"; - echo $remove->input(); - } - - $reverse=new IButton('bext'.$div); - $reverse->label=_('Extourner'); - $reverse->javascript="g('ext".$div."').style.display='block'"; - echo $reverse->input(); - echo '

      '; -echo ''; - - echo ''; - - - -}else { - echo '

      '; -} -?> diff --git a/sources/include/template/ledger_detail_file.php b/sources/include/template/ledger_detail_file.php deleted file mode 100644 index bbc64f1..0000000 --- a/sources/include/template/ledger_detail_file.php +++ /dev/null @@ -1,16 +0,0 @@ - - -
      - -
      \ No newline at end of file diff --git a/sources/include/template/ledger_detail_fin.php b/sources/include/template/ledger_detail_fin.php deleted file mode 100644 index e3b5fcd..0000000 --- a/sources/include/template/ledger_detail_fin.php +++ /dev/null @@ -1,146 +0,0 @@ - -
      - - -
      - - - - - - - -
      - - -value=format_date($obj->det->jr_date); - echo td(_('Date')).td($date->input()); - - ?> - - - - -det->array[0]['qf_bank']); -$view_card_detail=HtmlInput::card_detail($bk->get_quick_code(),h($bk->getName()), ' class="line" '); -echo td(_('Compte en banque')).td($view_card_detail).td();; - -?> - - -det->array[0]['qf_other']); -$view_card_detail=HtmlInput::card_detail($bk->get_quick_code(),h($bk->getName()), ' class="line" '); - -echo td(_('Tiers')).td($view_card_detail); -?> - - - -value=strip_tags($obj->det->jr_comment); - $itext->size=40; - echo td(_('Libellé')).td($itext->input(),' colspan="2" style="width:auto"'); - - -?> - - -det->array[0]['qf_amount']),' class="inum"');?> - - -value=strip_tags($obj->det->jr_pj_number); -echo td(_('Pièce')).td($itext->input()); -?> - - -
      -
      - - - - - - -
      - Note -
      - style=' class="itextarea" style="width:90%;height:100%;"'; - $inote->value = strip_tags($obj->det->note); - echo $inote->input(); - ?> - -
      -
      - - -
      -jr_id); - $detail->get(); -?> -MY_ANALYTIC != 'nu' /*&& $div == 'popup'*/){ - $anc=new Anc_Plan($cn); - $a_anc=$anc->get_list(' order by pa_id '); - $x=count($a_anc); - /* set the width of the col */ - $str_anc .= ''._('Compt. Analytique').''; - - /* add hidden variables pa[] to hold the value of pa_id */ - $str_anc .= Anc_Plan::hidden($a_anc); - } - bcscale(2); - for ($e=0;$edet->array);$e++) { - $row=''; $q=$detail->det->array; - $fiche=new Fiche($cn); - $fiche->get_by_qcode($q[$e]['j_qcode']); - /* Analytic accountancy */ - if ( $owner->MY_ANALYTIC != "nu" /*&& $div == 'popup'*/) - { - $poste=$fiche->strAttribut(ATTR_DEF_ACCOUNT); - if ( preg_match('/^(6|7)/',$q[$e]['j_poste'])) - { - $qcode=$fiche->strAttribut(ATTR_DEF_QUICKCODE); - $anc_op=new Anc_Operation($cn); - $anc_op->j_id=$q[$e]['j_id']; - $anc_op->in_div=$div; - $str_anc.=''; - $str_anc.=td($poste); - $str_anc.=td($qcode); - $str_anc.=td(nbm($q[$e]['j_montant'])); - $str_anc.=''; - $str_anc.= HtmlInput::hidden('op[]',$anc_op->j_id); - $montant=($q[$e]['j_debit'] == "t")?$q[$e]['j_montant']:bcmul($q[$e]['j_montant'], -1); - $str_anc.=$anc_op->display_table(1,$montant,$div); - $str_anc.=''; - $str_anc.=''; - - } - } - } -?> -
      - -
      \ No newline at end of file diff --git a/sources/include/template/ledger_detail_forbidden.php b/sources/include/template/ledger_detail_forbidden.php deleted file mode 100644 index 8246c50..0000000 --- a/sources/include/template/ledger_detail_forbidden.php +++ /dev/null @@ -1,6 +0,0 @@ -
      -

      ; -
      \ No newline at end of file diff --git a/sources/include/template/ledger_detail_misc.php b/sources/include/template/ledger_detail_misc.php deleted file mode 100644 index 8e2bcbc..0000000 --- a/sources/include/template/ledger_detail_misc.php +++ /dev/null @@ -1,192 +0,0 @@ - - -
      - - - - - - - - - - - - -
      - - - - - - - - - - - - - - -
      - value=format_date($obj->det->jr_date); - echo td(_('Date')).td($date->input()); - - ?> -
      - value=strip_tags($obj->det->jr_comment); - $itext->size=40; - echo td(_('Libellé')).td($itext->input()); - - - ?> -
      - det->jr_montant),' class="inum"');?> -
      - value=strip_tags($obj->det->jr_pj_number); - echo td(_('Pièce')).td($itext->input()); - ?> -
      -
      - - - - - - -
      - Note -
      - style=' class="itextarea" style="width:90%;height:100%;"'; - $inote->value = strip_tags($obj->det->note); - echo $inote->input(); - ?> - -
      -
      - -
      - - - -MY_ANALYTIC != 'nu' /* && $div == 'popup' */ ){ - $anc=new Anc_Plan($cn); - $a_anc=$anc->get_list(' order by pa_id '); - $x=count($a_anc); - /* set the width of the col */ - $str_anc.=''; - - /* add hidden variables pa[] to hold the value of pa_id */ - $str_anc.= Anc_Plan::hidden($a_anc); - } -echo ''; -$amount_idx=0; - for ($e=0;$edet->array);$e++) { - $row=''; $q=$obj->det->array; - $view_history= sprintf('%s', - $q[$e]['j_poste'], $gDossier, $q[$e]['j_poste']); - - $row.=td($view_history); - - if ( $q[$e]['j_qcode'] !='') { - $fiche=new Fiche($cn); - $fiche->get_by_qcode($q[$e]['j_qcode']); - $view_history= sprintf('%s', - $fiche->id, $gDossier, $q[$e]['j_qcode']); - } - else - $view_history=''; - $row.=td($view_history); - $l_lib = $q[$e]['j_text'] ; - - if ( $l_lib!='') - { - $l_lib=$q[$e]['j_text']; - } - else if ( $q[$e]['j_qcode'] !='') { - // nom de la fiche - $ff=new Fiche($cn); - $ff->get_by_qcode( $q[$e]['j_qcode']); - $l_lib=$ff->strAttribut(ATTR_DEF_NAME); - } else { - // libellé du compte - $name=$cn->get_value('select pcm_lib from tmp_pcmn where pcm_val=$1',array($q[$e]['j_poste'])); - $l_lib=$name; - } - $l_lib=strip_tags($l_lib); - if ($owner->MY_UPDLAB == 'Y') - { - $hidden = HtmlInput::hidden("j_id[]", $q[$e]['j_id']); - $input = new IText("e_march" . $q[$e]['j_id'] . "_label", $l_lib); - $input->css_size="100%"; - } - else - { - $input = new ISpan("e_march" . $q[$e]['j_id'] . "_label"); - $input->value=$l_lib; - $hidden = HtmlInput::hidden("j_id[]", $q[$e]['j_id']); - } - $row.=td($input->input().$hidden); - $montant=td(nbm($q[$e]['j_montant']),'class="num"'); - $row.=($q[$e]['j_debit']=='t')?$montant:td(''); - $row.=($q[$e]['j_debit']=='f')?$montant:td(''); - /* Analytic accountancy */ - if ( $owner->MY_ANALYTIC != "nu" /*&& $div=='popup'*/){ - if ( preg_match('/^(6|7)/',$q[$e]['j_poste'])) { - - echo HtmlInput::hidden("amount_t".$amount_idx,$q[$e]['j_montant']); - $anc_op=new Anc_Operation($cn); - $anc_op->j_id=$q[$e]['j_id']; - $anc_op->in_div=$div; - $str_anc.=''; - $str_anc.=HtmlInput::hidden('op[]',$anc_op->j_id); - $str_anc.=td($q[$e]['j_qcode']); - $str_anc.=td($q[$e]['j_poste']); - $str_anc.=td($q[$e]['j_montant']); - $str_anc.=$anc_op->display_table(1,$q[$e]['j_montant'],$div); - $str_anc.=''; - $amount_idx++; - } else { - $row.=td(''); - } - } - $class=($e%2==0)?' class="even"':'class="odd"'; - - echo tr($row,$class); - - } -?> -
      CodePosteMontant' . _('Compt. Analytique') . '
      -
      - -
      diff --git a/sources/include/template/ledger_detail_top.php b/sources/include/template/ledger_detail_top.php deleted file mode 100644 index 7f6ca24..0000000 --- a/sources/include/template/ledger_detail_top.php +++ /dev/null @@ -1,30 +0,0 @@ -
      -Dossier::id(), - 'jr_id'=>$obj->det->jr_id, - 'act'=>'de', - 'div'=>$div, - 'ajax'=>$callback)); - $msg_close=_('Fermer'); - $msg_pop=_('Ouvrir dans une fenêtre séparée'); - - echo '⬜ -'; - echo ''; - } -?> -
      -
      - get_name(),'class="title"'); ?> -
      -det->jr_internal); ?> -
      - \ No newline at end of file diff --git a/sources/include/template/ledger_detail_ven.php b/sources/include/template/ledger_detail_ven.php deleted file mode 100644 index 4ba39d4..0000000 --- a/sources/include/template/ledger_detail_ven.php +++ /dev/null @@ -1,256 +0,0 @@ - - -
      - - - - - - - - - - - - -
      - - - - - value = format_date($obj->det->jr_date); - echo td(_('Date')) . td($date->input()); - ?> - - - - value = format_date($obj->det->jr_ech); - echo td(_('Echeance')) . td($date_ech->input()); - ?> - - - - - - - - - - - - - - - - - - - -
      - - -value = format_date($obj->det->jr_date_paid); -echo $date_paid->input(); -?> -
      -det->array[0]['qs_client']); -echo td(_('Client')); - -$view_card_detail = HtmlInput::card_detail($bk->get_quick_code(), h($bk->getName()), ' class="line" '); -echo td($view_card_detail); -?> -
      -value = strip_tags($obj->det->jr_pj_number); -echo td(_('Pièce')) . td($itext->input()); -?> -
      -value = strip_tags($obj->det->jr_comment); -$itext->size = 40; -echo td(_('Libellé')) . td($itext->input(), ' colspan="2" '); -?> -
      -selected = ($obj->det->jr_rapt == 'paid'); -echo $ipaid->input(); -?> -
      -
      - - - - - - -
      - Note -
      - style=' class="itextarea" style="width:90%;height:100%;"'; - $inote->value = strip_tags($obj->det->note); - echo $inote->input(); - ?> - -
      -
      -
      - - MY_TVA_USE == 'Y') - echo th(_('Taux TVA'), 'style="text-align:right"'); - else - echo th(''); - if ($owner->MY_TVA_USE == 'Y') - { - echo th(_('HTVA'), 'style="text-align:right"'); - echo th(_('TVA'), 'style="text-align:right"'); - echo th(_('TVAC'), 'style="text-align:right"'); - } else - echo th(_('Total'), 'style="text-align:right"'); - - if ($owner->MY_ANALYTIC != 'nu' /*&& $div == 'popup'*/) - { - $anc = new Anc_Plan($cn); - $a_anc = $anc->get_list(" order by pa_id "); - $x = count($a_anc); - /* set the width of the col */ - /* add hidden variables pa[] to hold the value of pa_id */ - $str_anc.=''.''; - - } - - echo ''; - for ($e = 0; $e < count($obj->det->array); $e++) - { - $row = ''; - $q = $obj->det->array[$e]; - $fiche = new Fiche($cn, $q['qs_fiche']); - $qcode=$fiche->strAttribut(ATTR_DEF_QUICKCODE); - $view_card_detail = HtmlInput::card_detail($qcode, "", ' class="line" '); - $row.=td($view_card_detail); - if ($owner->MY_UPDLAB == 'Y') - { - $l_lib = ($q['j_text'] == '') ? $fiche->strAttribut(ATTR_DEF_NAME) : $q['j_text']; - $hidden = HtmlInput::hidden("j_id[]", $q['j_id']); - $input = new IText("e_march" . $q['j_id'] . "_label", $l_lib); - $input->css_size = "100%"; - } else - { - $input = new ISpan("e_march" . $q['j_id'] . "_label"); - $hidden = HtmlInput::hidden("j_id[]", $q['j_id']); - $input->value = $fiche->strAttribut(ATTR_DEF_NAME); - } - - $row.=td($input->input() . $hidden); - $sym_tva = ''; - $pu = 0; - if ($q['qs_quantite'] != 0) - $pu = bcdiv($q['qs_price'], $q['qs_quantite']); - $row.=td(nbm($pu), 'class="num"'); - $row.=td(nbm($q['qs_quantite']), 'class="num"'); - $sym_tva = ''; - if ($owner->MY_TVA_USE == 'Y' && $q['qs_vat_code'] != '') - { - /* retrieve TVA symbol */ - $tva = new Acc_Tva($cn, $q['qs_vat_code']); - $tva->load(); - $sym_tva = (h($tva->get_parameter('label'))); - // $sym_tva=$sym - } - - $row.=td($sym_tva, 'style="text-align:center"'); - - $htva = $q['qs_price']; - - $row.=td(nbm($htva), 'class="num"'); - $tvac = bcadd($htva, $q['qs_vat']); - if ($owner->MY_TVA_USE == 'Y') - { - $class = ""; - if ($q['qs_vat_sided'] != 0) - { - $class = ' style="text-decoration:line-through"'; - $tvac = bcsub($tvac, $q['qs_vat']); - } - $row.=td(nbm($q['qs_vat']), 'class="num"' . $class); - $row.=td(nbm($tvac), 'class="num"'); - } - $total_tvac = bcadd($total_tvac, $tvac); - $total_htva = bcadd($total_htva, $htva); - /* Analytic accountancy */ - if ($owner->MY_ANALYTIC != "nu" /*&& $div == 'popup' */ ) - { - $poste = $fiche->strAttribut(ATTR_DEF_ACCOUNT); - if (preg_match('/^(6|7)/', $poste)) - { - $anc_op = new Anc_Operation($cn); - $anc_op->in_div=$div; - $anc_op->j_id = $q['j_id']; - echo HtmlInput::hidden('op[]', $anc_op->j_id); - /* compute total price */ - bcscale(2); - $str_anc.=''; - $str_anc.=td($qcode); - $str_anc.=td(nbm($htva)); - $str_anc.=$anc_op->display_table(1, $htva, $div).''; - // $row.=($div == 'popup') ? $anc_op->display_table(1, $htva, $div):""; - } else - { - $row.=td(''); - } - } - $class=($e%2==0)?' class="even"':'class="odd"'; - echo tr($row,$class); - } - if ($owner->MY_TVA_USE == 'Y') - $row = td(_('Total'), ' style="font-style:italic;text-align:right;font-weight: bolder;" colspan="5"'); - else - $row = td(_('Total'), ' style="font-style:italic;text-align:right;font-weight: bolder;" colspan="5"'); - $row.=td(nbm($total_htva), 'class="num" style="font-style:italic;font-weight: bolder;"'); - if ($owner->MY_TVA_USE == 'Y') - $row.=td("") . td(nbm($total_tvac), 'class="num" style="font-style:italic;font-weight: bolder;"'); - echo tr($row); - ?> -
      CodeMontant' . _('Compt. Analytique') .Anc_Plan::hidden($a_anc). '
      - - - - - - -
      - - diff --git a/sources/include/template/ledger_search.php b/sources/include/template/ledger_search.php deleted file mode 100644 index d0e4180..0000000 --- a/sources/include/template/ledger_search.php +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - - - - - -
      - - -input(); ?> input(); ?> -
      - - -input(); ?> input(); ?> -
      - - -input(); ?> -
      - - -input(); ?> input(); ; ?> -
      - - - input(); echo $f_qcode->search(); ?> -
      - - -input(); ?> -
      - - -input(); ?> -
      - diff --git a/sources/include/template/letter_all.php b/sources/include/template/letter_all.php deleted file mode 100644 index 836809f..0000000 --- a/sources/include/template/letter_all.php +++ /dev/null @@ -1,118 +0,0 @@ -content) == 0 ) : -?> -

      - - - - - - - - - - - - - - -content);$i++): - $class=""; -$class= ( ($i % 2) == 0 ) ? "odd":"even"; -?> - > - - - - -%s', - $this->content[$i]['jr_id'], $gDossier, $this->content[$i]['jr_internal']); -?> - - - content[$i]['j_debit']=='t') : ?> - - - - - - - - - - -
      - - - - - - - - - - - - - - - -
      -content[$i]['letter']==-1)?" aucun lettrage ":strtoupper(base_convert($this->content[$i]['letter'],10,36)); -$js="this.gDossier=".dossier::id(). - ";this.j_id=".$this->content[$i]['j_id']. - ";this.obj_type='".$this->object_type."'". - ";dsp_letter(this)"; - -?> - -content[$i]['letter_diff'] != 0) echo $g_failed; ?> - - content[$i]['j_date_fmt'])?> content[$i]['jr_pj_number']?> content[$i]['jr_comment'])?> content[$i]['j_montant'])?> content[$i]['j_montant'])?> -db); - $rec->set_jr_id($this->content[$i]['jr_id']); - $a=$rec->get(); - if ( $a != null ) { - foreach ($a as $key => $element) - { - $operation=new Acc_Operation($this->db); - $operation->jr_id=$element; - $l_amount=$this->db->get_value("select jr_montant from jrn ". - " where jr_id=$element"); - echo " ".$operation->get_internal()." [ ".nb($l_amount)." € ]"; - }//for - }// if ( $a != null ) { -// compute amount -$amount_deb+=($this->content[$i]['j_debit']=='t')?$this->content[$i]['j_montant']:0; -$amount_cred+=($this->content[$i]['j_debit']=='f')?$this->content[$i]['j_montant']:0; - -?> -
      -

      :

      -

      :

      - 0 ) : -?> -

      :

      - -

      :

      - diff --git a/sources/include/template/letter_prop.php b/sources/include/template/letter_prop.php deleted file mode 100644 index 6ff77de..0000000 --- a/sources/include/template/letter_prop.php +++ /dev/null @@ -1,165 +0,0 @@ -content) == 0 ) : -?> -

      - - - - - - - - - - - - - - -content=array_merge($this->linked,$this->content); -$amount_deb=($j_debit=='t')?$amount_init:0; -$amount_cred=($j_debit=='f')?$amount_init:0; - -$linked_limit=count($this->linked); - -for ($i=0;$icontent);$i++): - $class=""; -$class= ( ($i % 2) == 0 ) ? "odd":"even"; -if ( $i < $linked_limit ) $class="even"; -if ($linked_limit != 0 && $i==$linked_limit) -{ - ?> - - - - - - - - - - - - > - - - -%s', - $this->content[$i]['jr_id'], $gDossier, $this->content[$i]['jr_internal']); -?> - - - content[$i]['j_debit']=='t') : ?> - - - - - - - - - -content[$i]['letter'] && $this->content[$i]['j_debit']=='t')?$this->content[$i]['j_montant']:0; - $amount_cred+=( $jnt_id == $this->content[$i]['letter'] && $this->content[$i]['j_debit']=='f')?$this->content[$i]['j_montant']:0; -} - endfor; -$delta = bcsub($amount_deb, $amount_cred); -$side = _('Créditeur'); -if ($delta < 0 ) { -$side = _("Débiteur"); -$delta = abs($delta); -} -?> -
      - - - - - - - - - - - - - - -
      - - - - - - - - - - - - - - -
      -content[$i]['j_id']==$p_jid) continue; -if ( $jnt_id == $this->content[$i]['letter'] && $i >= $linked_limit) continue; - -$check=new ICheckbox('ck[]',$this->content[$i]['j_id']); -if ( $jnt_id == $this->content[$i]['letter'] && $i < $linked_limit) $check->selected=true; else $check->selected=false; - -if ( $this->content[$i]['letter'] < 0 || $check->selected == true ) - echo $check->input(); -echo HtmlInput::hidden('letter_j_id[]',$this->content[$i]['j_id']); -?> - -content[$i]['letter']< 0)?" ":strtoupper(base_convert($this->content[$i]['letter'],10,36)); -?> - - content[$i]['j_date_fmt'])?> content[$i]['jr_comment']?> content[$i]['j_montant'])?> content[$i]['j_montant'])?> -db); - $rec->set_jr_id($this->content[$i]['jr_id']); - $a=$rec->get(); - if ( $a != null ) { - foreach ($a as $key => $element) - { - $operation=new Acc_Operation($this->db); - $operation->jr_id=$element; - $l_amount=$this->db->get_value("select jr_montant from jrn ". - " where jr_id=$element"); - echo " ".$operation->get_internal()." [ $l_amount € ]"; - }//for - }// if ( $a != null ) { - -?> -
      -

      - - - - - - - \ No newline at end of file diff --git a/sources/include/template/list_category_document.php b/sources/include/template/list_category_document.php deleted file mode 100644 index 13159b3..0000000 --- a/sources/include/template/list_category_document.php +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - -
      - - - - - - - -
      - - - - - -
      - - \ No newline at end of file diff --git a/sources/include/template/list_mod_payment.php b/sources/include/template/list_mod_payment.php deleted file mode 100644 index 5bd9a68..0000000 --- a/sources/include/template/list_mod_payment.php +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - > - - - - - - - - - - - -
      - get_header(0)?> - - get_header(1)?> - - get_header(2)?> - - get_header(3)?> - - get_header(4)?> - - -
      - - - - - - - - - - - -
      \ No newline at end of file diff --git a/sources/include/template/menu.php b/sources/include/template/menu.php deleted file mode 100644 index 5c46026..0000000 --- a/sources/include/template/menu.php +++ /dev/null @@ -1,89 +0,0 @@ -
      - 4 && $level == 0) : - $style ='style= "width:100%"'; - elseif ($level==0): -switch (count($amenu)) -{ -case 4: -case 3: - $width=count($amenu)*20; - $left=round((100-$width)/2); -$style="style=\"width:$width%;margin-left:$left%\""; -break; -default: -$style=""; -} - else: - $style=" class=\"mtitle\""; - - endif;?> - > - - - - - - 1 && - $url.'/'.$amenu[$i]['me_code'] == $a_request[0].'/'.$a_request[1]) - $class="selectedcell"; - } elseif ($level == 1) - { - $url=$a_request[0].'/'.$a_request[1]; - } - $url.='/'.$amenu[$i]['me_code']; - if ($url == $_REQUEST['ac']) $class="selectedcell"; - $url="do.php?gDossier=".Dossier::id()."&ac=".$url; - } - -?> - - - - - - - -
      - - - - - title=""> - - -
      -
      diff --git a/sources/include/template/menu_detail.php b/sources/include/template/menu_detail.php deleted file mode 100644 index 954a10f..0000000 --- a/sources/include/template/menu_detail.php +++ /dev/null @@ -1,89 +0,0 @@ -me_code); -if ( $m->me_code != -1) $str_code->setReadOnly (true); - -$str_menu=new IText('me_menu',$m->me_menu); -$str_desc=new IText('me_description',$m->me_description); -$str_file=new IText('me_file',$m->me_file); -$str_url=new IText('me_url',$m->me_url); -$str_parameter=new IText('me_parameter',$m->me_parameter); -$str_js=new IText('me_javascript',$m->me_javascript); -$a_type=array ( - array ('label'=>_('Impression'),'value'=>'PR' ), - array ('label'=>_('Menu'),'value'=>'ME' ) - ); -$str_type=new ISelect("me_type", $a_type); -$str_type->selected=$m->me_type; -?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - - input()?> -
      - - - input()?> -
      - - - input()?> -
      - - - input();?> -
      - - - input()?> -
      - URL - - input()?> -
      - - - input()?> -
      - Javascript - - input()?> -
      diff --git a/sources/include/template/modele_document.php b/sources/include/template/modele_document.php deleted file mode 100644 index 679b824..0000000 --- a/sources/include/template/modele_document.php +++ /dev/null @@ -1,121 +0,0 @@ - - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      -value=$doc->md_name; -echo $a->input(); -?> -
      - - -name="md_type"; - - $w->value=$cn->make_array('select dt_id,dt_value from document_type order by dt_value'); - $w->selected=$doc->md_type; - echo $w->input(); -?> - -
      - - -name='md_affect'; - $waffect->value=array( - array('value'=>'ACH','label'=>_('Uniquement journaux achat')), - array('value'=>'VEN','label'=>_('Uniquement journaux vente')), - array('value'=>'GES','label'=>_('Partie gestion')) - ); - $waffect->selected=$doc->md_affect; - echo $waffect->input(); -?> -
      - -md_id.'&'.$s.'">(fichier actuel)'; -?> - -input(); - - -?> -
      - - -exist_sequence("seq_doc_type_".$doc->md_type) ) - { - $ret= $cn->get_array("select last_value,is_called from seq_doc_type_".$doc->md_type) ; - - $last=$ret[0]['last_value']; - /*! - *\note With PSQL sequence , the last_value column is 1 when before AND after the first call, to make the difference between them - * I have to check whether the sequence has been already called or not */ - if ($ret[0]['is_called']=='f' ) $last--; - } -echo $last; -?> -
      - - -value=0; -echo $pj->input(); -?> -
      -md_id); -echo HtmlInput::submit("mod",_('Sauver')); - -?> -
      \ No newline at end of file diff --git a/sources/include/template/module.php b/sources/include/template/module.php deleted file mode 100644 index 7754671..0000000 --- a/sources/include/template/module.php +++ /dev/null @@ -1,99 +0,0 @@ -
      -
      - -
      -
      -
      - -get_value("select count(*) from profile join profile_user using (p_id) - where user_name=$1 and with_calc=true",array($_SESSION['g_user'])) ==1): - echo '
      '; - echo IButton::show_calc(); -echo '
      '; -endif; - -if ( $cn->get_value("select count(*) from profile join profile_user using (p_id) - where user_name=$1 and with_direct_form=true",array($_SESSION['g_user'])) ==1): -?> -
      -
      - - - style='class="input_text"'; - $direct->value=''; - $direct->size=20; - echo $direct->input(); - $gDossier=dossier::id(); - ?> -
      - - -
      - -
      - - -
      - -
      - - - "; - continue; - } - $style="tool"; - if ($row['me_code']==$selected_module) - { - $style='toolselected'; - } - if ( $row['me_url']!='') - { - $url=$row['me_url']; - } - elseif ($row['me_javascript'] != '') - { - $url="javascript:void(0)"; - $js_dossier=str_replace('', Dossier::id(), $row['me_javascript']); - $js=sprintf(' onclick="%s"',$js_dossier); - } - else - { - $url="do.php?gDossier=".Dossier::id()."&ac=".$row['me_code']; - } - ?> - - - -
      - >
      - -
      - -
      -
      diff --git a/sources/include/template/new_mod_payment.php b/sources/include/template/new_mod_payment.php deleted file mode 100644 index 2d06179..0000000 --- a/sources/include/template/new_mod_payment.php +++ /dev/null @@ -1,55 +0,0 @@ -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - - -
      - - - -
      - - - -
      - - - -
      - - - -
      - -
      \ No newline at end of file diff --git a/sources/include/template/operation_detail_ach.php b/sources/include/template/operation_detail_ach.php deleted file mode 100644 index bff3105..0000000 --- a/sources/include/template/operation_detail_ach.php +++ /dev/null @@ -1,126 +0,0 @@ - - - MY_TVA_USE == 'Y') - { - echo th(_('Taux TVA'), 'style="text-align:right"'); - } - else - { - echo th(''); - } - echo th(_('Prix/Un.'), 'style="text-align:right"'); - echo th(_('Quantité'), 'style="text-align:right"'); - echo th(_('Personnel'), 'style="text-align:right"'); - echo th(_('Non ded'), 'style="text-align:right"'); - - if ($g_parameter->MY_TVA_USE == 'Y') - { - echo th(_('HTVA'), 'style="text-align:right"'); - echo th(_('TVA NP'), 'style="text-align:right"'); - echo th(_('TVA'), 'style="text-align:right"'); - echo th(_('TVAC'), 'style="text-align:right"'); - }else - echo th(_('Total'), 'style="text-align:right"'); - - echo ''; - for ($e = 0; $e < count($obj->det->array); $e++) - { - $row = ''; - $q = $obj->det->array[$e]; - $fiche = new Fiche($cn, $q['qp_fiche']); - $view_card_detail = HtmlInput::card_detail($fiche->strAttribut(ATTR_DEF_QUICKCODE), "", ' class="line" '); - $row = td($view_card_detail); - $sym_tva = ''; - - if ($g_parameter->MY_TVA_USE == 'Y' && $q['qp_vat_code'] != '') - { - /* retrieve TVA symbol */ - $tva = new Acc_Tva($cn, $q['qp_vat_code']); - $tva->load(); - $sym_tva = h($tva->get_parameter('label')); - } - $input = new ISpan("e_march" . $q['j_id'] . "_label"); - $hidden = HtmlInput::hidden("j_id[]", $q['j_id']); - $input->value = $fiche->strAttribut(ATTR_DEF_NAME); - $row.=td($input->input() . $hidden); - $row.=td($sym_tva, 'style="text-align:center"'); - $pu = 0; - if ($q['qp_quantite'] != 0) - $pu = bcdiv($q['qp_price'], $q['qp_quantite']); - $row.=td(nbm($pu), 'class="num"'); - $row.=td(nbm($q['qp_quantite']), 'class="num"'); - - $no_ded = $q['qp_nd_amount']; - $row.=td(nbm($q['qp_dep_priv']), 'style="text-align:right"'); - $row.=td(nbm($no_ded), ' style="text-align:right"'); - $htva = $q['qp_price']; - - - $row.=td(nbm($htva), 'class="num"'); - $tvac = bcadd($htva, $q['qp_vat']); - $tvac = bcadd($tvac, $q['qp_nd_tva']); - $tvac = bcadd($tvac, $q['qp_nd_tva_recup']); - - - if ($g_parameter->MY_TVA_USE == 'Y') - { - $tva_amount = bcadd($q['qp_vat'], $q['qp_nd_tva']); - $tva_amount = bcadd($tva_amount, $q['qp_nd_tva_recup']); - $class = ""; - if ($q['qp_vat_sided'] <> 0) - { - $class = ' style="text-decoration:line-through"'; - $tvac = bcsub($tvac, $q['qp_vat_sided']); - } - $row.=td(nbm($q['qp_vat_sided']),'class="num"'); - $row.=td(nbm($tva_amount), 'class="num" ' . $class); - $row.=td(nbm($tvac), 'class="num"'); - } - $total_tvac+=$tvac; - $total_htva+=$htva; - echo tr($row); - } - if ($g_parameter->MY_TVA_USE == 'Y') - $row = td(_('Total'), ' style="font-style:italic;text-align:right;font-weight: bolder;width:auto" colspan="6"'); - else - $row = td(_('Total'), ' style="font-style:italic;text-align:right;font-weight: bolder;width:auto" colspan="6"'); - $row.=td(nbm($total_htva), 'class="num" style="font-style:italic;font-weight: bolder;"'); - if ($g_parameter->MY_TVA_USE == 'Y') - $row.=td("") . td(nbm($total_tvac), 'class="num" style="font-style:italic;font-weight: bolder;"'); - echo tr($row); - ?> -
      diff --git a/sources/include/template/operation_detail_fin.php b/sources/include/template/operation_detail_fin.php deleted file mode 100644 index 93cd225..0000000 --- a/sources/include/template/operation_detail_fin.php +++ /dev/null @@ -1,50 +0,0 @@ -'; -echo ''; -echo th(_('Compte en banque')); -echo th(_('Tiers')); -echo th(_('Libellé')); -echo th(_('Montant')); -echo ''; - -echo ''; -$bk = new Fiche($cn, $obj->det->array[0]['qf_bank']); -$view_card_detail = HtmlInput::card_detail($bk->get_quick_code(), h($bk->getName()), ' class="line" '); -echo td($view_card_detail); -$other = new Fiche($cn, $obj->det->array[0]['qf_other']); -$view_card_detail = HtmlInput::card_detail($other->get_quick_code(), h($other->getName()), ' class="line" '); -echo td($view_card_detail); -$comment = strip_tags($obj->det->jr_comment); -echo td($comment); -echo td(nbm($obj->det->array[0]['qf_amount']), ' class="inum"'); -echo ''; -echo ''; -?> - diff --git a/sources/include/template/operation_detail_misc.php b/sources/include/template/operation_detail_misc.php deleted file mode 100644 index 9b3710e..0000000 --- a/sources/include/template/operation_detail_misc.php +++ /dev/null @@ -1,86 +0,0 @@ - - - -'; -$amount_idx=0; -for ($e = 0; $e < count($obj->det->array); $e++) -{ - $row = ''; - $q = $obj->det->array; - $view_history = sprintf('%s', $q[$e]['j_poste'], $gDossier, $q[$e]['j_poste']); - - $row.=td($view_history); - - if ($q[$e]['j_qcode'] != '') - { - $fiche = new Fiche($cn); - $fiche->get_by_qcode($q[$e]['j_qcode']); - $view_history = sprintf('%s', $fiche->id, $gDossier, $q[$e]['j_qcode']); - } - else - $view_history = ''; - $row.=td($view_history); - $l_lib = $q[$e]['j_text']; - - if ($l_lib != '') - { - $l_lib = $q[$e]['j_text']; - } - else if ($q[$e]['j_qcode'] != '') - { - // nom de la fiche - $ff = new Fiche($cn); - $ff->get_by_qcode($q[$e]['j_qcode']); - $l_lib = $ff->strAttribut(ATTR_DEF_NAME); - } - else - { - // libellé du compte - $name = $cn->get_value('select pcm_lib from tmp_pcmn where pcm_val=$1', array($q[$e]['j_poste'])); - $l_lib = $name; - } - $l_lib = strip_tags($l_lib); - $input = new ISpan("e_march" . $q[$e]['j_id'] . "_label"); - $input->value = $l_lib; - $hidden = HtmlInput::hidden("j_id[]", $q[$e]['j_id']); - $row.=td($input->input() . $hidden); - $montant = td(nbm($q[$e]['j_montant']), 'class="num"'); - $row.=($q[$e]['j_debit'] == 't') ? $montant : td(''); - $row.=($q[$e]['j_debit'] == 'f') ? $montant : td(''); - echo tr($row); -} -?> -
      \ No newline at end of file diff --git a/sources/include/template/operation_detail_ven.php b/sources/include/template/operation_detail_ven.php deleted file mode 100644 index a56c0c6..0000000 --- a/sources/include/template/operation_detail_ven.php +++ /dev/null @@ -1,109 +0,0 @@ - - -MY_TVA_USE == 'Y') - echo th(_('Taux TVA'), 'style="text-align:right"'); -else - echo th(''); -if ( $g_parameter->MY_TVA_USE == 'Y') { - echo th(_('HTVA'), 'style="text-align:right"'); - echo th(_('TVA NP'), 'style="text-align:right"'); - echo th(_('TVA'), 'style="text-align:right"'); - echo th(_('TVAC'), 'style="text-align:right"'); -} else - echo th(_('Total'), 'style="text-align:right"'); - - -echo ''; - for ($e=0;$edet->array);$e++) { - $row=''; - $q=$obj->det->array[$e]; - $fiche=new Fiche($cn,$q['qs_fiche']); - $view_card_detail=HtmlInput::card_detail($fiche->strAttribut(ATTR_DEF_QUICKCODE),"", ' class="line" '); - $row.=td($view_card_detail); - $input = new ISpan("e_march" . $q['j_id'] . "_label"); - $hidden = HtmlInput::hidden("j_id[]", $q['j_id']); - $input->value = $fiche->strAttribut(ATTR_DEF_NAME); - - $row.=td($input->input().$hidden); - $sym_tva=''; - $pu=0; - if ($q['qs_quantite'] != 0) $pu=bcdiv($q['qs_price'],$q['qs_quantite']); - $row.=td(nbm($pu),'class="num"'); - $row.=td(nbm($q['qs_quantite']),'class="num"'); - $sym_tva=''; - if ( $g_parameter->MY_TVA_USE=='Y' && $q['qs_vat_code'] != '') { - /* retrieve TVA symbol */ - $tva=new Acc_Tva($cn,$q['qs_vat_code']); - $tva->load(); - $sym_tva=(h($tva->get_parameter('label'))); - // $sym_tva=$sym - } - - $row.=td($sym_tva,'style="text-align:center"'); - - $htva=$q['qs_price']; - - $row.=td(nbm($htva),'class="num"'); - $tvac=bcadd($htva,$q['qs_vat']); - if ($g_parameter->MY_TVA_USE=='Y') - { - $class=""; - if ($q['qs_vat_sided'] != 0) { - $class=' style="text-decoration:line-through"'; - $tvac=bcsub($tvac,$q['qs_vat']); - } - $row.=td(nbm($q['qs_vat_sided']),'class="num"'); - $row.=td(nbm($q['qs_vat']),'class="num"'.$class); - $row.=td(nbm($tvac),'class="num"'); - } - $total_tvac=bcadd($total_tvac,$tvac); - $total_htva=bcadd($total_htva,$htva); - echo tr($row); - - } - if ($g_parameter->MY_TVA_USE=='Y') - $row= td(_('Total'),' style="font-style:italic;text-align:right;font-weight: bolder;" colspan="5"'); - else - $row= td(_('Total'),' style="font-style:italic;text-align:right;font-weight: bolder;" colspan="5"'); -$row.=td(nbm($total_htva),'class="num" style="font-style:italic;font-weight: bolder;"'); -if ($g_parameter->MY_TVA_USE=='Y') - $row.=td("").td(nbm($total_tvac),'class="num" style="font-style:italic;font-weight: bolder;"'); -echo tr($row); -?> -
      \ No newline at end of file diff --git a/sources/include/template/param_jrn.php b/sources/include/template/param_jrn.php deleted file mode 100644 index d07c7ed..0000000 --- a/sources/include/template/param_jrn.php +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - - - -
      - - - input();?> -
      - - -name='bank'; -$card->extra=$cn->make_list('select fd_id from fiche_def where frd_id=4'); -$card->set_dblclick("fill_ipopcard(this);"); -$card->set_function('fill_data'); -$card->set_attribute('ipopup','ipop_card'); -$list=$cn->make_list('select fd_id from fiche_def where frd_id=4'); -$card->set_attribute('typecard',$list); - -$card->value=$qcode_bank; -echo $card->search(); -echo $card->input(); -echo $str_add_button; -?> - - -
      Minimum de lignes à afficherinput()?>
      - -
      -
      - - - -
      - - - - -
      - - - - -
      - - - -
      -
      - -
      -

      Fiches

      - - - - - - - - exec_sql("select fd_id,fd_label from fiche_def order by fd_label"); - $num=$cn->size(); - // default card for ACH - if ($new == 1) - { - $rdeb=$default_deb_purchase; - $rcred=$default_cred_purchase; - } - - for ($i=0;$i<$num;$i++) { - $res=$cn->fetch($i); - $CHECKED=" unchecked"; - foreach ( $rdeb as $element) { - if ( $element == $res['fd_id'] ) { - $CHECKED="CHECKED"; - break; - } - } - echo ''; - printf ('', - $res['fd_id'],$CHECKED,$res['fd_label']); - $CHECKED=" unchecked"; - foreach ( $rcred as $element) { - if ( $element == $res['fd_id'] ) { - $CHECKED="CHECKED"; - break; - } - } - printf ('', - $res['fd_id'],$CHECKED,$res['fd_label']); - echo ''; - } - ?> -
      - Services, fournitures ou biens achetés (D) - - Fournisseurs (C) -
      %s %s
      -
      - - -
      -

      Fiches

      - - - - - - - - - exec_sql("select fd_id,fd_label from fiche_def order by fd_label"); - $num=$cn->size(); - // default card for VEN - if ($new == 1) - { - $rdeb=$default_deb_sale; - $rcred=$default_cred_sale; - } - - for ($i=0;$i<$num;$i++) { - $res=$cn->fetch($i); - $CHECKED=" unchecked"; - foreach ( $rdeb as $element) { - if ( $element == $res['fd_id'] ) { - $CHECKED="CHECKED"; - break; - } - } - echo ''; - printf ('', - $res['fd_id'],$CHECKED,$res['fd_label']); - $CHECKED=" unchecked"; - foreach ( $rcred as $element) { - if ( $element == $res['fd_id'] ) { - $CHECKED="CHECKED"; - break; - } - } - printf ('', - $res['fd_id'],$CHECKED,$res['fd_label']); - echo ''; - } - ?> -
      - Clients (C) - - Services, fournitures ou biens vendus (D) -
      %s %s
      -
      - - -
      -

      Fiches

      - - - - - - - - exec_sql("select fd_id,fd_label from fiche_def order by fd_label"); - $num=$cn->size(); - // default card for ODS - if ($new == 1) - { - $rdeb=$default_ods; - } - for ($i=0;$i<$num;$i++) { - $res=$cn->fetch($i); - $CHECKED=" unchecked"; - foreach ( $rdeb as $element) { - if ( $element == $res['fd_id'] ) { - $CHECKED="CHECKED"; - break; - } - } - echo ''; - printf ('', - $res['fd_id'],$CHECKED,$res['fd_label']); - $CHECKED=" unchecked"; - foreach ( $rcred as $element) { - if ( $element == $res['fd_id'] ) { - $CHECKED="CHECKED"; - break; - } - } - echo ''; - } - ?> -
      - Fiches utilisables (D/C) -
      %s
      -
      - - -
      -

      Fiches

      - - - - - - - - exec_sql("select fd_id,fd_label from fiche_def order by fd_label"); - $num=$cn->size(); - // default card for ACH - if ($new == 1) - { - $rdeb=$default_fin; - } - for ($i=0;$i<$num;$i++) { - $res=$cn->fetch($i); - $CHECKED=" unchecked"; - foreach ( $rdeb as $element) { - if ( $element == $res['fd_id'] ) { - $CHECKED="CHECKED"; - break; - } - } - echo ''; - printf ('', - $res['fd_id'],$CHECKED,$res['fd_label']); - $CHECKED=" unchecked"; - foreach ( $rcred as $element) { - if ( $element == $res['fd_id'] ) { - $CHECKED="CHECKED"; - break; - } - } - echo ''; - } - ?> -
      - Tiers (D/C) -
      %s
      -
      - - - - diff --git a/sources/include/template/pcmn_update.php b/sources/include/template/pcmn_update.php deleted file mode 100644 index 6a8ddb3..0000000 --- a/sources/include/template/pcmn_update.php +++ /dev/null @@ -1,55 +0,0 @@ - - -if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis'); - -/** - * @file - * @brief - * @param type $name Descriptionara - */ -echo HtmlInput::title_box("Poste comptable", "acc_update", "hide"); -?> - -
      - - -input()); -echo tr($r); -$r= td(_('Description'),'style="width:auto;text-align:right"').td($lib->input()); -echo tr($r); -$r= td(_('Parent'),'style="width:auto;text-align:right"').td($parent->input()); -echo tr($r); -$r= td(_('Type'),'style="width:auto;text-align:right"').td($type->input()); -echo tr($r); -?> -
      -input(); -echo '
      '; -echo HtmlInput::submit('update',_('Sauve')); -echo HtmlInput::button('hide',_('Annuler'),'onClick="$(\'acc_update\').hide();return true;"'); -?> -
      \ No newline at end of file diff --git a/sources/include/template/periode_add_exercice.php b/sources/include/template/periode_add_exercice.php deleted file mode 100644 index bab2298..0000000 --- a/sources/include/template/periode_add_exercice.php +++ /dev/null @@ -1,26 +0,0 @@ -
      Ajout d'un exercice -
        -
      • -Exercice en 12 périodes : Ajout d'un exercice comptable de 12 périodes, commençant le 1 janvier et terminant le 31 décembre.
      • -
      • Exercice en 13 périodes: Ajout d'une période d'un jour le 31/12. Cette période est utilisée -pour faire toutes les écritures de fin d'exercice: amortissements, régulations de compte... Avec une 13ième période, cela simplifie les prévisions, les rapports...
      • -
      • - Pour ajouter des années, ne commençant pas en janvier ou comptant un nombre de mois supérieur à 12, utilisez le plugin "Outils Comptables" -
      • -
      - -
      ')"> -input(); -echo HtmlInput::hidden("jrn_def_id","0"); -echo HtmlInput::hidden("add_exercice","1"); -echo Dossier::hidden(); -echo HtmlInput::submit("add_exercicebt",_("Ajout d'un exercice comptable")); -?> - -
      -
      diff --git a/sources/include/template/predf_ledger_detail.php b/sources/include/template/predf_ledger_detail.php deleted file mode 100644 index e28ad12..0000000 --- a/sources/include/template/predf_ledger_detail.php +++ /dev/null @@ -1,84 +0,0 @@ -
      - - -
      - - -
      - -
      - - - - - - - - - - - - - - - - - - - - - -'; -echo $item['quick_code']; -echo ''; -?> - -'; -} - -?> -
      Code
      '.$item['bt'].'
      - -
      - -
      - -
      -
      0.0 - -
      0.0 -
      0.0 - - -
      - -
      - -
      -
      -
      - -
      - -
      - -
      - - diff --git a/sources/include/template/print_ledger_simple.php b/sources/include/template/print_ledger_simple.php deleted file mode 100644 index 75903de..0000000 --- a/sources/include/template/print_ledger_simple.php +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - - - - - -MY_TVA_USE=='Y') - { - echo ''; - $a_Tva=$cn->get_array("select tva_id,tva_label from tva_rate where tva_rate != 0.0000 order by tva_rate"); - foreach($a_Tva as $line_tva) - { - $col_tva.=''; - } - } -echo $col_tva; -?> - - - -prepare('reconcile_date','select * from jrn where jr_id in (select jra_concerned from jrn_rapt where jr_id = $1 union all select jr_id from jrn_rapt where jra_concerned=$1)'); -$tot['htva']=0; -$tot['dep_priv']=0; -$tot['dna']=0; -$tot['tva_nd']=0; -$tot['tvac']=0; -$tot['tva']=array(); -bcscale(2); -foreach ($Row as $line) { - $i++; - /* - * Get date of reconcile operation - */ - $ret_reconcile=$cn->execute('reconcile_date',array($line['jr_id'])); - - $class = ($i % 2 == 0) ? ' class="even" ' : ' class="odd" '; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - $tiers = $Jrn->get_tiers($line['jrn_def_type'], $line['jr_id']); - echo td($tiers); - echo ""; - $dep_priv=($line['dep_priv']==0)?"":nbm($line['dep_priv']); - $tot['dep_priv']=bcadd($tot['dep_priv'], floatval($line['dep_priv'])); - $dna=($line['dna']==0)?"":nbm($line['dna']); - $tot['dna']=bcadd($tot['dna'],floatval($line['dna'])); - echo ""; - $tot['htva']=bcadd($tot['htva'], floatval($line['HTVA'])); - - echo ""; - echo ""; - if ($own->MY_TVA_USE == 'Y' ) - { - $tva_dna=($line['tva_dna']==0)?"":nbm($line['tva_dna']); - $tot['tva_nd']=bcadd($tot['tva_nd'], floatval($line['tva_dna'])); - echo ""; - $a_tva_amount=array(); - foreach ($line['TVA'] as $lineTVA) - { - foreach ($a_Tva as $idx=>$line_tva) - { - - if ($line_tva['tva_id'] == $lineTVA[1][0]) - { - $a=$line_tva['tva_id']; - $a_tva_amount[$a]=$lineTVA[1][2]; - } - } - } - foreach ($a_Tva as $line_tva) - { - $a=$line_tva['tva_id']; - if ( isset($a_tva_amount[$a])) { - echo ''; - $tot['tva'][$a]=(isset($tot['tva'][$a]))?bcadd($tot['tva'][$a],floatval($a_tva_amount[$a])):floatval($a_tva_amount[$a]); - } - else - printf(""); - } - } - echo ''; - $tot['tvac']=bcadd($tot['tvac'], floatval($line['TVAC'])); - /* - * If reconcile print them - */ - echo ''; - echo ""; -} -/** - * summary - */ -?> - - - - - - - - - - - MY_TVA_USE == 'Y' ): ?> - - - - - - - - - - - - - -
      HTVAPrivéDNATVA NDTva '.$line_tva['tva_label'].'TVAC
      " . h($line['jr_pj_number']) . "" . smaller_date($line['date']) . "" . smaller_date($line['date_paid']) . "" . HtmlInput::detail_op($line['jr_id'], $line['jr_internal']) . "" . h($line['comment']) . "" . nbm($line['HTVA']) . "" .$dep_priv . "" . $dna . "" . $tva_dna. "'.nb($a_tva_amount[$a]).''.$line['TVAC'].''; - $max=Database::num_row($ret_reconcile); - if ($max > 0) { - $sep=""; - for ($e=0;$e<$max;$e++) { - $row=Database::fetch_array($ret_reconcile, $e); - echo $sep.HtmlInput::detail_op($row['jr_id'],$row['jr_date'].' '. $row['jr_internal']); - $sep=' ,'; - } - } - echo '
      - - - -
      \ No newline at end of file diff --git a/sources/include/template/profile.php b/sources/include/template/profile.php deleted file mode 100644 index 39a78ff..0000000 --- a/sources/include/template/profile.php +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - -
      input();?>
      input()?>
      input()?>
      input()?>
      \ No newline at end of file diff --git a/sources/include/template/profile_menu.php b/sources/include/template/profile_menu.php deleted file mode 100644 index 60c2724..0000000 --- a/sources/include/template/profile_menu.php +++ /dev/null @@ -1,30 +0,0 @@ - diff --git a/sources/include/template/profile_menu_display_module.php b/sources/include/template/profile_menu_display_module.php deleted file mode 100644 index e32f419..0000000 --- a/sources/include/template/profile_menu_display_module.php +++ /dev/null @@ -1,103 +0,0 @@ - -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; either version 2 -* of the License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - * - */ -/** - * @file - * @brief display the module, used to setup the module and menu, included from - * Profile_Menu - */ -?> -
      - - - "; - continue; - } - $style=" tool "; - $url="XX"; - if ( $row['me_url']!='') - { - $url=$row['me_url']; - } - elseif ($row['me_javascript'] != '') - { - $url=$row['me_javascript']; - } - elseif ( $row['me_file'] != "") - { - $url=$row['me_file']; - } - else - { - $url=HtmlInput::anchor(_('Menu'),'', - sprintf(" onclick = \" \$('menu_table').innerHTML='';display_sub_menu(%d,%d,%d,%d)\" ", - Dossier::id(), - $this->p_id, - $row['pm_id'],0)); - } - ?> - - - - -
      - - - - -

      - -

      -

      - -

      -

      - -

      - -

      - -
      - p_id,'me',0) - ,"xx",'smallbutton') - ?> -
      -
      - - \ No newline at end of file diff --git a/sources/include/template/profile_menu_display_submenu.php b/sources/include/template/profile_menu_display_submenu.php deleted file mode 100644 index c5ac5ff..0000000 --- a/sources/include/template/profile_menu_display_submenu.php +++ /dev/null @@ -1,79 +0,0 @@ - -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; either version 2 -* of the License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - * - */ - - -/** - * @file - * @brief display a submenu contained in a array - * @parameter $a_module contains rows from profile_menu - * @parameter $p_module_id is the module / menu id main menu - * @see Profile_Menu::display_module_menu - */ -?> - - - javascript"; - } else { - $url = HtmlInput::anchor("sous-menu", "x", - sprintf(" onclick = \" display_sub_menu(%d,%d,%d,%d)\"",Dossier::id(),$this->p_id,$a_module[$i]['pm_id'],$p_level), - ' class="line" '); - } - ?> - - - - -
      - -

      - -

      - -

      - - - - p_id,'me',$p_level,$p_module_id) - ,"xx",'smallbutton') - ?> - - diff --git a/sources/include/template/profile_sec_repository.php b/sources/include/template/profile_sec_repository.php deleted file mode 100644 index a2c359d..0000000 --- a/sources/include/template/profile_sec_repository.php +++ /dev/null @@ -1,60 +0,0 @@ - -
      - - - p_id);?> - - - - - - - - - - - - -
      - - - - - - value=$aright_value; - $isel->selected=$array[$i]['ur_right']; - echo $isel->input();?> -
      -
      - diff --git a/sources/include/template/result_cat_card_summary.php b/sources/include/template/result_cat_card_summary.php deleted file mode 100644 index c2ef10f..0000000 --- a/sources/include/template/result_cat_card_summary.php +++ /dev/null @@ -1,69 +0,0 @@ -
      - : - - - -  ▾'; - $sort= 'class="sorttable_sorted"'; - } - echo ''; - endfor; -?> - -'; - else - echo ''; - $fiche=new Fiche($cn); - $fiche->id=$row['f_id']; - $fiche->getAttribut(); -$detail=HtmlInput::card_detail($fiche->strAttribut(ATTR_DEF_QUICKCODE)); -echo td($detail); - foreach($fiche->attribut as $attr) : - $sort=""; - - if ( $attr->ad_type != 'select'): - if ($attr->ad_type=="date") : - // format YYYYMMDD - $sort='sorttable_customkey="'.format_date($attr->av_text, "DD.MM.YYYY", "YYYYMMDD").'"'; - endif; - echo td($attr->av_text,'style="padding: 0 10 1 10;white-space:nowrap;" '.$sort); - else: - $value=$cn->make_array($attr->ad_extra); - $row_content=""; - for ($e=0;$eav_text): - $row_content=h($value[$e]['label']); - break; - endif; - endfor; - echo td($row_content,'style="padding: 0 10 1 10;white-space:nowrap;"'); - - endif; - endforeach; - echo ''; -endforeach; - -?> -
      '.$aHeading[$i]->ad_text.$span.'
      - - - -
      diff --git a/sources/include/template/security_list_action.php b/sources/include/template/security_list_action.php deleted file mode 100644 index 7d3e81a..0000000 --- a/sources/include/template/security_list_action.php +++ /dev/null @@ -1,74 +0,0 @@ -0,'label'=>_("Pas d'accès")), - array('value'=>1,'label'=>_('Accès')), - ); - - $gDossier=dossier::id(); - ?> -
      - - - - - - - check_action($l_line['ac_id']); - - $a=new ISelect(); - $a->name=sprintf('action%d',$l_line['ac_id']); - $a->value=$array; - $a->selected=$right; - if ( $right==1) { - ?> - - - -
      - - - - - - - input(); ?> -
      -
      - -get_array("select ac_id, ac_description from action where ac_id >=$1 and ac_id <=$2 order by ac_id ", - array(800,1000)); - display_security_fieldset(_('Fiche'),$array,$sec_User); ?> -get_array("select ac_id, ac_description from action where ac_id >=$1 and ac_id <=$2 order by ac_id ", - array(1001,1100)); - display_security_fieldset(_('Suivi'),$array,$sec_User); ?> - -get_array("select ac_id, ac_description from action where ac_id >=$1 and ac_id <=$2 order by ac_id ", - array(1101,1200)); - display_security_fieldset(_('Comptabilité'),$array,$sec_User); ?> - -get_array("select ac_id, ac_description from action where ac_id >=$1 and ac_id <=$2 order by ac_id ", - array(1200,1300)); - display_security_fieldset(_('Note'),$array,$sec_User); -?> diff --git a/sources/include/template/stock_histo.php b/sources/include/template/stock_histo.php deleted file mode 100644 index bdb496d..0000000 --- a/sources/include/template/stock_histo.php +++ /dev/null @@ -1,87 +0,0 @@ - -
      - - - - - - - - - - - - - - - > - - - - - - - - - - - -
      get_header(0);?>get_header(1);?>get_header(2);?>get_header(3);?>Opérationget_header(4);?>get_header(5);?>get_header(6);?>get_header(7);?>
      - - - - - - - - - - - - - - - - - - - - - -
      - -
      \ No newline at end of file diff --git a/sources/include/template/stock_histo_search.php b/sources/include/template/stock_histo_search.php deleted file mode 100644 index 40895ce..0000000 --- a/sources/include/template/stock_histo_search.php +++ /dev/null @@ -1,71 +0,0 @@ - - - diff --git a/sources/include/template/stock_inv.php b/sources/include/template/stock_inv.php deleted file mode 100644 index 649382c..0000000 --- a/sources/include/template/stock_inv.php +++ /dev/null @@ -1,134 +0,0 @@ - -
      " class="content"> -
      ')"> - - - - - - - - - - - - -
      - - - input()?> -
      - - - input()?> -
      - - - input()?> -
      - - - - - - - - - - - - - - - - - - -
      - - - - - -
      - - input()?> - search()?> - input()?> - - value) != "") echo HtmlInput::card_detail($sg_code[$i]->value,h($sg_code[$i]->value),' class="line"',true)?> - - - - get_quick_code(),h($fiche[$i]->getName()),' class="line"');?> - - value==0 && $p_readonly==true):?> - - - input()?> - - - - - -
      - - - - -
      -
      - diff --git a/sources/include/template/stock_state_search.php b/sources/include/template/stock_state_search.php deleted file mode 100644 index f73863c..0000000 --- a/sources/include/template/stock_state_search.php +++ /dev/null @@ -1,51 +0,0 @@ - -
      - - - - - - - - - - -
      - - - input()?> -
      - - - input()?> -
      - -
      \ No newline at end of file diff --git a/sources/include/template/stock_summary_list.php b/sources/include/template/stock_summary_list.php deleted file mode 100644 index de8686a..0000000 --- a/sources/include/template/stock_summary_list.php +++ /dev/null @@ -1,105 +0,0 @@ -get_array("select distinct t.r_id,r_name,r_adress,r_city,r_country,r_phone from stock_repository as s join tmp_stockgood_detail as t - on (s.r_id=t.r_id) - where - s_id=$1 - order by 2 - ",array($tmp_id)); -?> -
      - -

      -

      -

      -

      -

      - - - - - - - - - get_array( - " - select coalesce(sum(s_qin),0) as qin,coalesce(sum(s_qout),0) as qout,sg_code - from tmp_stockgood_detail where r_id=$1 and s_id=$2 - group by sg_code - order by sg_code - - ",array($a_repo[$r]['r_id'],$tmp_id)); - for ($s=0;$sget_array( - " - select f_id,vw_name,quick_code - from vw_fiche_attr - where - f_id in ( - select distinct f_id - from tmp_stockgood_detail - where - r_id=$1 - and s_id=$2 - and sg_code=$3) - order by vw_name,quick_code - ",array($a_repo[$r]['r_id'],$tmp_id,$a_stock[$s]['sg_code'])); - ?> - - - - - - - - -
      - - - '._("Changement manuel").''; - ?> - - - - - - - -
      - - -
      \ No newline at end of file diff --git a/sources/include/template/stock_summary_table.php b/sources/include/template/stock_summary_table.php deleted file mode 100644 index 485bd74..0000000 --- a/sources/include/template/stock_summary_table.php +++ /dev/null @@ -1,136 +0,0 @@ - -
      - - - - - - - - - - - > - - get_array("select coalesce(sum(s_qin)) as s_qin,coalesce(sum(s_qout)) as s_qout - from tmp_stockgood_detail - where r_id=$1 and sg_code=$2 and s_id=$3" - , array($a_repository[$e]['r_id'], $a_code[$x]['sg_code'],$tmp_id)); - ?> - - - - - -
      - - - - - -
      - - - - - - - - - - - - - - - - -
      - : - - -
      - : - - -
      - : - - -
      - -
      - - - - - - - - - - - - - -
      - : - - -
      - : - - -
      - : - - -
      -
      -
      \ No newline at end of file diff --git a/sources/include/template/tag_choose.php b/sources/include/template/tag_choose.php deleted file mode 100644 index 0581d29..0000000 --- a/sources/include/template/tag_choose.php +++ /dev/null @@ -1,47 +0,0 @@ -cn->count($ret); -if ( $max == 0 ) { - echo h2(_("Aucune étiquette disponible"),' class="notice"'); - return; -} -?> - - - - - - - - - - - -
      - Tag - - Description -
      - - - -
      - \ No newline at end of file diff --git a/sources/include/template/tag_detail.php b/sources/include/template/tag_detail.php deleted file mode 100644 index 7aa93f3..0000000 --- a/sources/include/template/tag_detail.php +++ /dev/null @@ -1,29 +0,0 @@ -t_id); -echo HtmlInput::hidden('ac',$_REQUEST['ac']); -$uos=new Tool_Uos('tag'); -echo $uos->hidden(); -$t_tag=new IText('t_tag',$data->t_tag); -$t_description=new ITextarea('t_description',$data->t_description); -$t_description->style=' class="itextarea" style="height:5em;vertical-align: top;"'; -?> -

      - : input(); ?> -

      -

      - : input(); ?> -

      -t_id != '-1') : -?> -

      -

      - - \ No newline at end of file diff --git a/sources/include/template/tag_list.php b/sources/include/template/tag_list.php deleted file mode 100644 index 8b02aed..0000000 --- a/sources/include/template/tag_list.php +++ /dev/null @@ -1,39 +0,0 @@ -cn->count($ret); -echo HtmlInput::filter_table("tag_tb", '0,1', '1'); -?> - - - - - - - - - - - -
      - - - -
      - - - -
      \ No newline at end of file diff --git a/sources/include/template/tag_search_select.php b/sources/include/template/tag_search_select.php deleted file mode 100644 index 15720fd..0000000 --- a/sources/include/template/tag_search_select.php +++ /dev/null @@ -1,43 +0,0 @@ -cn->count($ret); -if ( $max == 0 ) { - echo h2(_("Aucune étiquette disponible"),' class="notice"'); - return; -} -?> -Filtrer = - - - - - - - - - - - -
      - - - -
      - - - -
      \ No newline at end of file diff --git a/sources/include/template/tag_select.php b/sources/include/template/tag_select.php deleted file mode 100644 index 7f179b7..0000000 --- a/sources/include/template/tag_select.php +++ /dev/null @@ -1,44 +0,0 @@ -cn->count($ret); -if ( $max == 0 ) { - echo h2(_("Aucune étiquette disponible"),' class="notice"'); - return; -} -?> -Filtrer = - - - - - - - - - - - -
      - - - -
      - - - -
      \ No newline at end of file diff --git a/sources/include/template/template.gif b/sources/include/template/template.gif deleted file mode 100644 index ab44205fed5f41869d060fd6cc3f672fc723573b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6626 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 diff --git a/sources/include/template/todo_list_display.php b/sources/include/template/todo_list_display.php deleted file mode 100644 index 1970411..0000000 --- a/sources/include/template/todo_list_display.php +++ /dev/null @@ -1,106 +0,0 @@ - -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; either version 2 -* of the License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - - -/** - * @brief included from Todo_List::display - * create a html with content - * @see Todo_List - */ -global $g_user; -$wDate=new IDate('p_date_todo',$this->tl_date); - -$wTitle=new IText('p_title',$this->tl_title); -$wDesc=new ITextArea('p_desc', strip_tags($this->tl_desc)); -$wDesc->heigh=5; -$wDesc->width=40; -$is_public=new ICheckBox('p_public'); -$is_public->value='Y'; -$is_public->set_check($this->is_public); -$dossier=Dossier::id(); -$close_share=" if ( \$('shared_{$this->tl_id}') ){ \$('shared_{$this->tl_id}').remove();}"; -echo HtmlInput::title_box("Note","todo_list_div".$this->tl_id,'close',$close_share); -?> -
      - - - - - - - - - - - - - - - check_action(SHARENOTEPUBLIC)): - ?> - - - - - - check_action(SHARENOTE)) : - ?> - - - - - - -
      - - - input() ?> -
      - - - input());?> -
      - - - input()?> -
      - - - tl_id},{$dossier}) \";")?> -
      - input()); ?> - - - tl_id) ?> - use_login == $_SESSION['g_user']) : ?> -

      - -

      - -
      \ No newline at end of file diff --git a/sources/include/template/todo_list_list_user.php b/sources/include/template/todo_list_list_user.php deleted file mode 100644 index dee9ead..0000000 --- a/sources/include/template/todo_list_list_user.php +++ /dev/null @@ -1,78 +0,0 @@ - -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; either version 2 -* of the License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - * - */ - - -/** - * @brief display all the user for the todo_list. - * @see Todo_List::display_user - * @param $p_array array of user who can access this folder - * @param Object Todo_List - * @param $dossier = Dossier::id() - * - */ -echo _('Filtre')." ".HtmlInput::filter_table("todo_user_table", "0,1,2", 1); -?> - - - - - - - - login) : - continue; - endif; - ?> - - - - - - - - - -
      - - - - - - -
      - - - - - - - tl_id); - if ($this->is_shared_with($p_array[$i]['use_login']) != 0) { - $check->selected=true; - } - $check->javascript=" onclick=\"todo_list_set_share({$this->tl_id},'{$p_array[$i]['use_login']}','{$dossier}')\""; - echo $check->input(); - ?> -
      \ No newline at end of file diff --git a/sources/include/template/user_sec_profile.php b/sources/include/template/user_sec_profile.php deleted file mode 100644 index 6f0d001..0000000 --- a/sources/include/template/user_sec_profile.php +++ /dev/null @@ -1,59 +0,0 @@ - -
      - - p_id);?> - - - - - - - - - - - - -
      - - - - - value=$aright_value; - $isel->selected=$array[$i]['ua_right']; - echo $isel->input();?> -
      - -
      \ No newline at end of file diff --git a/sources/include/tfpdf/font/courier.php b/sources/include/tfpdf/font/courier.php deleted file mode 100644 index 213bf35..0000000 --- a/sources/include/tfpdf/font/courier.php +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/sources/include/tfpdf/font/courierb.php b/sources/include/tfpdf/font/courierb.php deleted file mode 100755 index 3fc69a5..0000000 --- a/sources/include/tfpdf/font/courierb.php +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/sources/include/tfpdf/font/courierbi.php b/sources/include/tfpdf/font/courierbi.php deleted file mode 100755 index a49f2ae..0000000 --- a/sources/include/tfpdf/font/courierbi.php +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/sources/include/tfpdf/font/courieri.php b/sources/include/tfpdf/font/courieri.php deleted file mode 100755 index 9c1c2cf..0000000 --- a/sources/include/tfpdf/font/courieri.php +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/sources/include/tfpdf/font/helvetica.php b/sources/include/tfpdf/font/helvetica.php deleted file mode 100644 index 7e20c3a..0000000 --- a/sources/include/tfpdf/font/helvetica.php +++ /dev/null @@ -1,19 +0,0 @@ -278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, - chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584, - ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667, - 'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, - 'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833, - 'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556, - chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, - chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, - chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, - chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556, - chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); -?> diff --git a/sources/include/tfpdf/font/helveticab.php b/sources/include/tfpdf/font/helveticab.php deleted file mode 100644 index 452e0ac..0000000 --- a/sources/include/tfpdf/font/helveticab.php +++ /dev/null @@ -1,19 +0,0 @@ -278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, - chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584, - ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722, - 'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, - 'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889, - 'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556, - chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, - chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, - chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, - chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611, - chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556); -?> diff --git a/sources/include/tfpdf/font/helveticabi.php b/sources/include/tfpdf/font/helveticabi.php deleted file mode 100644 index ea5c56f..0000000 --- a/sources/include/tfpdf/font/helveticabi.php +++ /dev/null @@ -1,19 +0,0 @@ -278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, - chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584, - ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722, - 'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, - 'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889, - 'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556, - chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, - chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, - chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, - chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611, - chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556); -?> diff --git a/sources/include/tfpdf/font/helveticai.php b/sources/include/tfpdf/font/helveticai.php deleted file mode 100644 index e3c638a..0000000 --- a/sources/include/tfpdf/font/helveticai.php +++ /dev/null @@ -1,19 +0,0 @@ -278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, - chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584, - ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667, - 'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, - 'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833, - 'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556, - chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, - chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, - chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, - chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556, - chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); -?> diff --git a/sources/include/tfpdf/font/symbol.php b/sources/include/tfpdf/font/symbol.php deleted file mode 100644 index b980b07..0000000 --- a/sources/include/tfpdf/font/symbol.php +++ /dev/null @@ -1,19 +0,0 @@ -250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, - chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549, - ','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722, - 'B'=>667,'C'=>722,'D'=>612,'E'=>611,'F'=>763,'G'=>603,'H'=>722,'I'=>333,'J'=>631,'K'=>722,'L'=>686,'M'=>889,'N'=>722,'O'=>722,'P'=>768,'Q'=>741,'R'=>556,'S'=>592,'T'=>611,'U'=>690,'V'=>439,'W'=>768, - 'X'=>645,'Y'=>795,'Z'=>611,'['=>333,'\\'=>863,']'=>333,'^'=>658,'_'=>500,'`'=>500,'a'=>631,'b'=>549,'c'=>549,'d'=>494,'e'=>439,'f'=>521,'g'=>411,'h'=>603,'i'=>329,'j'=>603,'k'=>549,'l'=>549,'m'=>576, - 'n'=>521,'o'=>549,'p'=>549,'q'=>521,'r'=>549,'s'=>603,'t'=>439,'u'=>576,'v'=>713,'w'=>686,'x'=>493,'y'=>686,'z'=>494,'{'=>480,'|'=>200,'}'=>480,'~'=>549,chr(127)=>0,chr(128)=>0,chr(129)=>0,chr(130)=>0,chr(131)=>0, - chr(132)=>0,chr(133)=>0,chr(134)=>0,chr(135)=>0,chr(136)=>0,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>0,chr(141)=>0,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0, - chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>750,chr(161)=>620,chr(162)=>247,chr(163)=>549,chr(164)=>167,chr(165)=>713,chr(166)=>500,chr(167)=>753,chr(168)=>753,chr(169)=>753,chr(170)=>753,chr(171)=>1042,chr(172)=>987,chr(173)=>603,chr(174)=>987,chr(175)=>603, - chr(176)=>400,chr(177)=>549,chr(178)=>411,chr(179)=>549,chr(180)=>549,chr(181)=>713,chr(182)=>494,chr(183)=>460,chr(184)=>549,chr(185)=>549,chr(186)=>549,chr(187)=>549,chr(188)=>1000,chr(189)=>603,chr(190)=>1000,chr(191)=>658,chr(192)=>823,chr(193)=>686,chr(194)=>795,chr(195)=>987,chr(196)=>768,chr(197)=>768, - chr(198)=>823,chr(199)=>768,chr(200)=>768,chr(201)=>713,chr(202)=>713,chr(203)=>713,chr(204)=>713,chr(205)=>713,chr(206)=>713,chr(207)=>713,chr(208)=>768,chr(209)=>713,chr(210)=>790,chr(211)=>790,chr(212)=>890,chr(213)=>823,chr(214)=>549,chr(215)=>250,chr(216)=>713,chr(217)=>603,chr(218)=>603,chr(219)=>1042, - chr(220)=>987,chr(221)=>603,chr(222)=>987,chr(223)=>603,chr(224)=>494,chr(225)=>329,chr(226)=>790,chr(227)=>790,chr(228)=>786,chr(229)=>713,chr(230)=>384,chr(231)=>384,chr(232)=>384,chr(233)=>384,chr(234)=>384,chr(235)=>384,chr(236)=>494,chr(237)=>494,chr(238)=>494,chr(239)=>494,chr(240)=>0,chr(241)=>329, - chr(242)=>274,chr(243)=>686,chr(244)=>686,chr(245)=>686,chr(246)=>384,chr(247)=>384,chr(248)=>384,chr(249)=>384,chr(250)=>384,chr(251)=>384,chr(252)=>494,chr(253)=>494,chr(254)=>494,chr(255)=>0); -?> diff --git a/sources/include/tfpdf/font/times.php b/sources/include/tfpdf/font/times.php deleted file mode 100644 index d3ea808..0000000 --- a/sources/include/tfpdf/font/times.php +++ /dev/null @@ -1,19 +0,0 @@ -250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, - chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564, - ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722, - 'B'=>667,'C'=>667,'D'=>722,'E'=>611,'F'=>556,'G'=>722,'H'=>722,'I'=>333,'J'=>389,'K'=>722,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>556,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>722,'W'=>944, - 'X'=>722,'Y'=>722,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>469,'_'=>500,'`'=>333,'a'=>444,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778, - 'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>333,'s'=>389,'t'=>278,'u'=>500,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>480,'|'=>200,'}'=>480,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, - chr(132)=>444,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>889,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>444,chr(148)=>444,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>980, - chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>200,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>564,chr(173)=>333,chr(174)=>760,chr(175)=>333, - chr(176)=>400,chr(177)=>564,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>453,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>444,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, - chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>564,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>722,chr(222)=>556,chr(223)=>500,chr(224)=>444,chr(225)=>444,chr(226)=>444,chr(227)=>444,chr(228)=>444,chr(229)=>444,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500, - chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>564,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>500,chr(254)=>500,chr(255)=>500); -?> diff --git a/sources/include/tfpdf/font/timesb.php b/sources/include/tfpdf/font/timesb.php deleted file mode 100644 index 1c198f0..0000000 --- a/sources/include/tfpdf/font/timesb.php +++ /dev/null @@ -1,19 +0,0 @@ -250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, - chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570, - ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722, - 'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>778,'I'=>389,'J'=>500,'K'=>778,'L'=>667,'M'=>944,'N'=>722,'O'=>778,'P'=>611,'Q'=>778,'R'=>722,'S'=>556,'T'=>667,'U'=>722,'V'=>722,'W'=>1000, - 'X'=>722,'Y'=>722,'Z'=>667,'['=>333,'\\'=>278,']'=>333,'^'=>581,'_'=>500,'`'=>333,'a'=>500,'b'=>556,'c'=>444,'d'=>556,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>333,'k'=>556,'l'=>278,'m'=>833, - 'n'=>556,'o'=>500,'p'=>556,'q'=>556,'r'=>444,'s'=>389,'t'=>333,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>394,'|'=>220,'}'=>394,'~'=>520,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, - chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>667,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, - chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>300,chr(171)=>500,chr(172)=>570,chr(173)=>333,chr(174)=>747,chr(175)=>333, - chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>556,chr(182)=>540,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>330,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, - chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>570,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>722,chr(222)=>611,chr(223)=>556,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556, - chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); -?> diff --git a/sources/include/tfpdf/font/timesbi.php b/sources/include/tfpdf/font/timesbi.php deleted file mode 100644 index a6034b2..0000000 --- a/sources/include/tfpdf/font/timesbi.php +++ /dev/null @@ -1,19 +0,0 @@ -250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, - chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570, - ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667, - 'B'=>667,'C'=>667,'D'=>722,'E'=>667,'F'=>667,'G'=>722,'H'=>778,'I'=>389,'J'=>500,'K'=>667,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>611,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>667,'W'=>889, - 'X'=>667,'Y'=>611,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>570,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778, - 'n'=>556,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>556,'v'=>444,'w'=>667,'x'=>500,'y'=>444,'z'=>389,'{'=>348,'|'=>220,'}'=>348,'~'=>570,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, - chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, - chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>389,chr(159)=>611,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>266,chr(171)=>500,chr(172)=>606,chr(173)=>333,chr(174)=>747,chr(175)=>333, - chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>576,chr(182)=>500,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>300,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, - chr(198)=>944,chr(199)=>667,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>570,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>611,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556, - chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>444,chr(254)=>500,chr(255)=>444); -?> diff --git a/sources/include/tfpdf/font/timesi.php b/sources/include/tfpdf/font/timesi.php deleted file mode 100644 index bd9e0d9..0000000 --- a/sources/include/tfpdf/font/timesi.php +++ /dev/null @@ -1,19 +0,0 @@ -250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, - chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675, - ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611, - 'B'=>611,'C'=>667,'D'=>722,'E'=>611,'F'=>611,'G'=>722,'H'=>722,'I'=>333,'J'=>444,'K'=>667,'L'=>556,'M'=>833,'N'=>667,'O'=>722,'P'=>611,'Q'=>722,'R'=>611,'S'=>500,'T'=>556,'U'=>722,'V'=>611,'W'=>833, - 'X'=>611,'Y'=>556,'Z'=>556,'['=>389,'\\'=>278,']'=>389,'^'=>422,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>278,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>444,'l'=>278,'m'=>722, - 'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>500,'v'=>444,'w'=>667,'x'=>444,'y'=>444,'z'=>389,'{'=>400,'|'=>275,'}'=>400,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, - chr(132)=>556,chr(133)=>889,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>500,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>556,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>556,chr(148)=>556,chr(149)=>350,chr(150)=>500,chr(151)=>889,chr(152)=>333,chr(153)=>980, - chr(154)=>389,chr(155)=>333,chr(156)=>667,chr(157)=>350,chr(158)=>389,chr(159)=>556,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>275,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>675,chr(173)=>333,chr(174)=>760,chr(175)=>333, - chr(176)=>400,chr(177)=>675,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>523,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>611,chr(193)=>611,chr(194)=>611,chr(195)=>611,chr(196)=>611,chr(197)=>611, - chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>667,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>675,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, - chr(220)=>722,chr(221)=>556,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500, - chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>675,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>444,chr(254)=>500,chr(255)=>444); -?> diff --git a/sources/include/tfpdf/font/unifont/DejaVuSans-Bold.ttf b/sources/include/tfpdf/font/unifont/DejaVuSans-Bold.ttf deleted file mode 100644 index 0f4d5e9d484c3b42f473956a1d5726c96357fc9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672300 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
      )#Ij%ExDQewJnTA7KMb;5Dy_dj6Y!emM!0h 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
    44. gYTwx*&M%nPFB0OkdQk$}f64YQqnHurSGi!E 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 diff --git a/sources/include/tfpdf/font/unifont/DejaVuSans-BoldOblique.ttf b/sources/include/tfpdf/font/unifont/DejaVuSans-BoldOblique.ttf deleted file mode 100644 index 48f06a863ad641f6670b098fd87ca98c67888568..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 611212 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 `?0A%NZbjOIO=MYF<=+RPzl#&Db0^ zypOs64k;FbHZ*sFtp1DdY!bWv237{a2KB-tt7_k z)m^<5_ELTs5$QJ8O38N>6iHjU<>FL8wpY- zNe(a$o9rBHxVK#FvU=0(B}+DDY*@W&8B4xzV`c`Q58LQ(%a^fD-pNUIlgkF0q`3N} zOAQfyn0K;&!1fl16u0@gUArEwFX##5Cgwa4_(xqq*eA#{p|OWOG2}yv5uu^lP98fb zemzBAi_jWi+mSc(Xsx3%8r!DU+kq(dl!v>96m>Q{s$uCv%bwQt&S> z&IAaHA5teEt7>8|#RT{4fY>i+rF7_McGmG(qYenWA98xt(IWq(KM=>Pk6XW0djWoe z9>5DmPhn$O_L+!aH6;trwr+5+kmMlRO0PXu(l@~O=->E9go%9S9hU{?9N%xaf{;#0~skKwdIqdd;0B{q^5< zL3>g-Z|(cPnZe-1LCZUke?o>#2zr@`Ju(w>2^72y{KFQ$+7T>g797sk57bIK$Yw5u zZ;r0FczbUDQfHU^tQAf1i|1wcbaY5b9<#n_ywT9B&nmwDe!xS;MyXoHO-LL zan2!6PGJ=kwW~Ch?#|i~5}FX-*svp{$2y3i7bn#x$M4^Nkz0C zOG_)Q$w=_@1DJP+ke9o_7Xx9G*jFb^a@Uz`u)}nKU}BSBO$QqT95tD+pb;FEvv!1r z#3x_^!3AgRaI|}N13=bxzzRgEsCTb?-N;K=>crbQSx?v68?!^8Nk6e+l0YGA4)=+lcVmsf`tw%;lY zMWirW8YASN|l-9FZwGEiZohkHcuBv~KEtW+R_lkF3HH9#=v5d6 z4d9U)Ti^0wbm@Pczrz+CMpceQT=%#?pOo(5Vk&a>h-dv4zbdKuKUuV;{nf?&hUfJw z%^3z851S^5aWdhrkMHseG z6j$ph{a0vo(l}+5_^McS;xc=UwII)ctZumI4w-z02EN8iKJ|WgE^U}mE13UZ0f=>- z3O=zJu*sAGO12YSdc%HXhNxZTY->m+8;`yaFZ{CzP-n?mP65~Du*lz�BAH4Hp7}Ty)Ue@C)1s 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 ~bfJqUER?RxR~2Zj#1`zXuy@rOMZM9y{@xahZ@I zaQQ1uDb_ZfQJQYW4DhB%j$gDlfkKc$EKXwR)=YTf%0k+6{@4x&^>}{2DK|cog%6SP zby56_Uo8h1v-ls^y9|4qB@LQZci|Oz?!dwN_DMyNKFrOf6Mx$$kUvW6@kMAT@0!gz z#l^?=sLmXs$THRr;p_;@ieVDc1q0PC#wNG!ve6A=^kEg3rEdtQr&cwp0I>z2RN)uN zBXkzz5IS|Y2Elt}4z-`5J;)u+p;Bm6M>9!`dY`>$?84pvqfY%$1fQ4~^lal2Y0ldm zvkO*`4$;oS_ibo)mHAclg;b~x1XTbDH|q!Wz6wFtiGjw?xCSc0o#jZ8Xhxy$U+{z& zG2U;shX@a7qMP`jQ}_VsQ@Bul-}ok=$;?OTsUZ)aG0ScBS z)+xRVI~qF*h6cYxY&hN6yKL=cc8RTTd@Uh;1wWjgFm8Fc6PQyf9cb_^j;mn4X^4{G zENTF3lg((u0_X?qS%m*^cG2514T(pfoWlHRd+QX?4;`(zbYLG3vcKo77GIeWE0&@ zU!lUsPuNR4QBQJooXQjjlJE}^`+~p7d|;o65U+#c#KRn~tvuJ8ouzY~JyV@b#jc;J zlh0N1YHcS4>I~2)A)c|8_BF6sCJZwld1l`YPcP#E^-aK>2VFFyocqkD{pA;|TMjqXJiWfep|#z-dwaZ=q{o_cu$gxD1BGxY;5W!AJbT^?9z4PLB^}ntD|h&(ynq8t2m7Jm7aVU*R*hR9TN?rPZ#F>jfm#*s+w~Jn-t6CRKdn2(xm~7+RQnu50F|rjdzjKa98RWU}R%My!e{;&3l0cck^OCGBI}6bR701-4_Tw zgkfU0Cx{v?R^=b+r!#qdW){!lE2TMnA&?`{nXEjMy~dUp|I23Kc%^|&<15&-5*{aQ zW|#RYHbwkRG>&F(qkSXhKLh@qKibC{iX~($)|Sb`P=dSUN{JN~8)NWgUH7b;fBo9x zsB`!3m-o>I+`Xj3jjjCF&F5mTE?>5tKiV$6njTx4#^i{MgfX6mOVQB>ynT-xO<;~g zihE8+Hv)GDyc_NF1lATBjdcV1a5}rirhkG)8$YO%QURQCB?V9G@QbO1JQ0by>qsxy+wu)!ha!@jeZyQA4Ccsd`PIi+AqHEJ$-x^N`T0~nqqD5(oIjY0a!ZE&0 z2rvdw2N^cUAB3zGiniLsZ7{Ahv_FDCfvg&e8tkiZR%#7B5)WFGV-*VF=mRiMkT9qgm<5PRfl36YpkiP!K=3p^$R#zK zq0(omIB!W$9iKBI3yvy~5vaWuh#)C>{h7>EZ9 zwdC(=D!~J>cME!BP0JeJ+kF^NFIf>G@>XeG$ig#)vQK4!hZ1o zNBcp#qG(%K(%%%m!?s!Wgs#1IjMva&R_kFxL;<$ya*Hj#~h-DX%g#6FH! z6TI?kXeJo^wqFAweN5exI5 z_9E;Yrn?-0wtT`)um>VS7zs9s18ZYy2ZnVszQN|_^pUJ30|YOB9zQ9);~CHFyn-9w zV7DXJM6nf+zRi3znl|YdFKq?lUOiRoRXXV1w^}`q#Pe~gH$*%P&%yI?&;t=z_Xfy4 zT@FPNL0av?g;Y@q&iFV{;R1jO{kY&0#i;kpehTLHiLaf1Yl~wt&-$ZN&8|-R=oy8( zJp*|CQMv9Gdy(hf;y2HIv8J$`zrkPh{ZRkjheKx#IkNe(kR{r$KNK`RrCKCtyew$R z!u)SB&%c82e=>9hH`gHV;C_|cw>^{i;`97Hnt!&Ig&*CXIGbNR;?6!{S1tOk9l<|U z=ASvSc!Vm3Z_ZKpQ{Q+HYScag!`g{ zMuqJO&Ovi493y#evn@3*ytDF~g`2;6RY*T)ZT2ZSrH-tgI>=AS+DcjtPwZO8crtuI zKh`zq)dh?72J2d^H&d95R7@)(Fp=tdYBwdfuCb4KV`@c$vO!^~$Hif(W0x{_ZrZCL z8{IKak02XZkF8~cVhmISKPG^3@D2LzolR2FncH`H?F!4W@6I>*xrJQXNdj@Kl|b-I zX$Ab`>ALDZLKH||F&@nZlPp{mvT)Tr53nB;IesXf!+yZ$#lB^-D>ewb;v?`y(fcF7 zmlnM*G$(7;`#1SmSatDyjG``)X9IhVcnZ7-?g^$?ZW3P5jz<@~{5vW{oXh+pq=bF* zBpM_y){F+}Y?J@;%f{nl{uxHXrdN!e@~jC3QpIeVQ6Mj_%unOxCyoypa^#=DBOo6< zG2wIJ&ke={NyH0+FdlJ_mSPd>%-$C{j`(AiOUZ@RdNH3w{<$;Uy1La?(jbYL$Tj%WU9t2A@cCWF*h#o@q#fo z3XsrruM+$_RJDS04!1Afk3#G%7f0c2(Ay$y=)27a2z>d8XI#fpd=`%T#HpocVN6uw zBw?uOyrD2k+L9>E+&rAl6ZktgPk8Sbb2cKVW4wI7{<^z+Jb#Cd9C9lJ#0@foJB_r^ zBZ4ldOq|&fOO-31K$Bz6SF(t09k^ECHd%G<&U&F1AWxV(4D$`909Xgay+zL9W z8oGgE+3lzb6!sBuSW3~0c8uxz@Td15AH_F~I?h+|r`3M!-AxPlr;?@dPx_02=CW-Z z(P^}E3HGstSW8c~BWW%88%x)w@xRj6VvBoC9>W4hjlRN0@~!k2#_~;O!T*A6V7{!9 zL5rR;3R=@5rc9y9D!C0!?1J%;d5WZM2#~g+kV5D*9SEu`lnPyFF#vS_Lm$H4GPIK{ z2DG6US)z-vX~WqlWslj=HpEl?e=s(gy=EGO;Kc{v1(uF=IQ(Mdp{p_dl($%VvWk6w9RHdbmjshQq zndG9NSMb~nwdzWTNJ^jyKwIZ%5r7v?Ix3Lr=`HasUmx7jNFEgh>(wWME*||bW_3Vc zd#ND0SJ>IGIWs#A8XS^gSQq&5*fkdJC4*NO2WRFx$R|^;M6~bk#*+Qi_fB1n-?*yJ z3*BoI0;7gUxVZ#chPkd}Wfsx=i{IJFE3+rsmRMONIN7w1c|XufBX{bu(XaFBeuKlJ z``g=1@@)5)^s2u7>O$rgWQS5bbMKAx46vA~3H~+sQD87a{yjg%p*Cx}#;2>JwbrVk zt;YYi;rq54Kh&VOPv%J$2w(t-aSIdZksTvTQ=rn2b+B~Cfxx-mofAs}qkLETjvnjV zr%!O2OH`!mnbJ8H4h6-7{W3EA6BCo$NvpzlhiH?W8LH5x$EIvw6+U_du_8VodU&K; z2X||WP}kK)ZQ$KYEM;eLmQ{LiN_&fTfhRmH)XXn>sbBEWK1IwgDBjwt*jaZ+nrNYm z>gd$lJ>0<0MB8Due2&4PameAxp5k(h%NL&rU$SQ!%5h#Ow$#CT|hkgCy>W$%=T|evOevL?0XK^q`9?NNs zr`Y>%Bq`?@s(HMh#T8(B|93wYS42Ni+`y|uP7n1{^Tq=<^1V?PPO-fK@jv7R}Q|PW-%VHMK#>#aGROKKl%NrKufM)xx?l@oyG*!{pf~ zUlp6F_;u#ISC?|(kUULl`o6SU|i+Xw3RYAV?*2d&yd&@9@fJP+x-{4&|=YDB3J z&zR2BEeV&Z$0=C~21Ah|WsN$-;~q`Y*#1iNj5K+K;_g8_0n-*&B1b8=B6VY!+&I0u zA>oDh`S-V{k916Y;eFO7;zLhjIoy zU~YzSr{wF#?+&twG>#gcZt<3S5ys&wGU0^|B4DRUlVD4rBOKzUIhXEVhOkPzefI|u z5pPT!qt$KOeIp|LQpFg)&~BKcLrp0Ctkryq0hCo9xEAVUzyLzyn+Fhn@5NW!g&x@P zG5roXu;b?R;1%9Feq>q*e#r~|iE`561+d+EVh;StQdE(JX0}4<{0bw%gai_Nh(bv~ z5W$dh@WB%(SVhHlr4=Q<*Q`@_TgE_2X^-LE^_y9A9%cKW@o$b?B@q`*8F5^XE^ip ze+vimmj&ek-JBB=!XeXZev|}!~>U#Q!c3~HuE70*rVn5}BKBzYrmn(1z#i73eW2RSq7%i1)Ez83vOv7w zz3Hx{g?0ztzpT8k3u=m@_jPWn{&-*bT)GVV0R2t8ua$p;gf#mynm@75Z}LC*^LXcX zyunlj*oQxZEGgbLoNSZW_&;I#i@ixMVyl<&n!<2iwX0T-&^D7`?oX^JOBy_U*tDyw zR|Q+A4#KHhG&^{99-Qn$R@u z(#x#V0=~JBe_S)jF77R}3EypLpADl%dRhh~JvI(v2iH#6+asGYeOvB83lA!cr#kup zO=r|8^0!#$*ju0-#b2e4A=NUJjq}d!JYRi&*SVD+F2AtrTs6It2R=LR`rJKpug`gD z`N_H0=ZaUTv*@e7*)&wUPN0NAUyG2Lvb11=7$9i$hX#T_%7ruH6OnsQ?7zkU)B?`c zX3#kVi=aA%R1Vk};K&@@*14|jz<vptJgD062q-aPjc{#WgL z=hb)FnAy|WZkIt*bk^5krv6#Q*UE0X2{>8zMTL$G*oxy-b5*NogyQhCRn_Fb*Dlrk z|M;2b+LTF^erxmc(e5@cH92iwKJl(aRGWAIRJD02pKbF}+p|?YR{mkD7gnwQ{diHU z7p>orj{eIVjctlfTl^Jod`;S55sGubc9;tnoIm^GWH=mCY=}p}endj3T3aCM9BP=0 zP7~-4D^89_#Zni&PKLV-JSo#hYjpm64gcBj)tNQMrOb|gtB2OFVH3vl*B)ioui@** zvt%jZ?(mSEQ{=AVSA!gTnBVbd5jxA*!_3>CU)QD{ri7WlE{YqLG~b<{Icd>>hMnS< z#{2v%)^8#I`my2sEPikybC+M>KkqqHfa_E2@Jr~yV4TNz0<#sM|Ah3af{}sV>;gU5 zfcRH{{!@C6)3w)|KE{3oe_Nd4TZ>HNR{M@jSDBf^KhOmT08w3LgLGkLx1J6fzmQp9 zX1=pLV7Z@itRM2+EBvmp_G5a2i^8>`k%K!pckvAcqRsK*X>rQ`a6+ZJ^x`Q}*btfygz+X#dKdZbbw zbhsQCuh-J)G9wrObef9}aUc*9HTg#08@Wlt=f7Tmn~$O>kW|e)YHC6Qsz%hwryaaU z#>MfWZX@RLF1g0Xnj6*g?w@{Y#5{~oV15T<4`?qUJ)$qM*CXEJEc(;YrcPa&OSKSo z8$HV>0v)_VLjbJx@(c}~)+uQ8(bBA90&AmG1yoA8_uvsDaDVYA++XZ$S#p#u$Q-e= zs0j5ab`%v$wmatcwX%Du>T@`9zwYd}|EO$kk=6i}4-~7#U%7HHQUX zv0}*e$DSwVOoJv9+1Ui%V=a@?fI3vud-_L~m#b5`ycA8?x2nzr~h{<5(8SEks-#;)O z2#)9V@z%Uyya}k#7KOlj-J-ZTd%MI0Qh?2d(~(JpN5q-QEY(tRwseSeSd)=YBCGlHLy2c;7L`BuPsEzxMSGl1XK66Oc(2tPrzBf>%k^~-GZaK1U7 zZ&J?NZnE+MHll!)-{KZnMu3GN3GR znGebn$33OkfCB7QB5dnykFDJk0bU$S`{+ecLVFkFT&tHK=JyZI=M7zLBG!(-%aRkX zSLJptd~Rj>F{Ztd(|29}2{Q*Qcg@~Ey36pTZ_LS#jp~~;Ke~PP=q{Dar&s+W<}&7% z6~EQ_*RA}M-kW`1V29c6OxHn^dH+v#Pj}Nr@DD@epEiwpmTxXv$kYQ(bZbYbXTd4~ z-OL$w7a|Erb%&2i#Q>F)C<;@9dIbq+vcv!f6mc&?0;(Iw?+fW1Uh>tEekZwR>G%QF)W%&65#b9?nWSp0U@nb8^i^jw23Hz3RuI*h>=1_LPS3jq0W!NZ)Htg1H>=8;n&MdY;>=7@C z=egJ;l$yq~RNso{n10NEE%u0x5QTO$|1{6a>V)Q0*5&;B+&)25hCB&nL8?V+48Dr* zjsgbA7t@RHn%5(|MT7LYX)SI!%Etx^V3b&ePz~6kL1QiSN=uzprdkYaL=D=34~gDs z12E_pv+~V2nkqL2=kXtU0N*US!F{-6u$VguRVzo@pl= zz5H+a--_VX5uf{i?$0N&z2CD_z{T%8fByI1&!5L_*$*XHQD|pA`bNyw)DEZz9Gm`7 zJDP*WU~A^)&+oePAKdxR{>cT+DT(x|Pbm%z*Ipo#PxA&E@; z1dT`|Um{HM#K*iRuaN3-jJNhadlr^Qjlx#Oxg~Po)POtFSP{GQDf5>L!b_WHT+FxbfQhD7?U?4AA7$nEpGa$nZ<%>g0i=V)?BfO@ehz0b zN^IXGZ!qkEAs32=VkFUMS~K4ye$d8$ob8(zn#*dP96M?>xbxc(#wN7dAF8H(%a%sw01c;AOyegrz*TIBMHJ_vKBo@^3RXzSG*dUf|nWaajDjK+gD^v zIe9zb?3d<*ub)Mp0G%9HWz9@4;IWhTjv3zG&db5y0U33g8(8<<^iDQyFwlwfTpLQw;c2sOd-wK`VUiwy)S!s1gq$Hr6AtmRW4FO7YgKdR=}zL%yC zPqVgsV59BeDG$~5EgQ4hUpjc2Iq{zk^z2=(cNkvTvlo9D5y>nMyLFt9J1?edM7oz- zj8}kX$L`}QaeP6%xLIVh)NbYW|t0*j%BV5O`}L7dRY+uksqfA-;2V7Ee_; zTfVO?XIB;$rSV(oym7@7+?6*GxALYCV;A0Q%~*GP9pAx5`|o(>E5YCB#Jm!(j^MAL zJ(<5Ocx$1GBi@=~d4_*rGE#{_d9=X!w`H{YoWeN%%s=t@qk=9?swDQ}+pSnF9aPx& zcSZ+k`Fkwh{mT|^d%J?$V($tDvw>5D)!oX_hM+Q#B@b60EH*_jhs z31}k<<-y>qyi3lv+1y(fFEpaS0ib3c`tF9kj(l&@Bh+_WTTcXcNUfviK

      RZ}@c{3#MV&y0sq5*sk|Q?e^3|X7)t&kF@@GYPME@(7uT+|4S1gOQOVo|?`jleq zebRPRBW!7K$8tD=QT*mMcX54*yBqE=k$t?vh&y5;?ruKb@*6XrD_Xzu^tz?Php-^p zb2x7WNr@{u zmu#1HHQjczv+VOXJp?T;z(1P62S4`@viCB($Kp~!+%ay#rx)nz{Css(em>cD2$#m> zm(!_qTptn+4R#Pv(q+n>Fh@XnI%wx~bMffBu#b|52app?w$h4y~K^*Q>bEf#1r9H5}yyw3&!< z@te5OO7*y|I4N_PJMNHjll+CgqG`}1XbVYq6ny`PGCUs!jwduM-rda2iXSHHi?W`$ zV^Exi6AxrsOVGfCL$jjj_Kc`mhpdEbn@})k9Q61dwx1nf?<^a2MA~WnoBf$z-`~G} zKGtjv*6v5-t0mvO^YYfiaxe~b`G|c=5=a{A7c|@aJg5&PCL~00UvH8Yu$WRE`9htG z+cw`K2Un_Jv7W-nKzd{OL*dpzKd?CD3cE0fJBY+86b=R{Lxhj|!|d`Oq`n$2-mpON z3!y|uZ~`o$)7ci*i~WZE`@IErZpNrV+=U~jVbup4zBrxmQ2I=|0mllzYtS&2Lg{#S@>S}TY22r@0B?z?nxV!K^ohJ2Bf1yT|hhyO@uxz2HLiVs} zN$?FJ8{yE+h~IC+1xddx#|<>u`G=VIA#xY?>_UIHZc(47c}yZIznu?wWO4tB4*LZi z(1MYCl?=9xgynE=FF1*Ko>!zDkz-p|k4IK#kWAvae?==R+~|-mClwtU64A!EuqnUoKcW@pQLoPo|MfT$r2vWy?l8$D@;NTE9!Hn0#s|>Kf{u+Wv|-j)@<| z^gKU`X{&$0L$)$W&s<%fYjuTOaSurTy=fGuvk!EwHP%s_(4&df(NNLVVuMm3!DX4? zo#&gvDS%+^W8eiODh>3lRm*qJL5aL|2##i3*1<{VaY_6i=kpG*#fRv^Bb4@`(l+|* z?H?Yt+$!z^>&xC&i`m=gVT!LSAuPkXBbPKIErq_}+y^-UvhvXd!Opoki%upXksq}b zgt~EZWD~`7K!BC%qqPs%>3b z+Z0+@rw&fY7A- zXwyA!5$WI_a8IUZ9mqS+{vb~0Cmqa!sb!PMLx-%V4pDlf&%+;X|4Oadv?X@3x2Ag1 zy6+&`6S@7Himyw9hr%k4=5jj+--;9XHp0V!b6#zkYsE$P=x0NT-ktgw-TC<-=3x0! z0nWC#!1m(ks9-F7q*)p1J>fS}(|Yu<{BAy-;(HGna!v@ zm_C|;vjhK_BBioLua7K%?KFT8lF;rBBI7MCF$@PdfJ-k3Kp#LfKgBQJ#2&O*>fCf) zWb7dtwP$roGMUF_u`> z6+%L2qcNbmJ>=xA<;0lWPc3hCZDptxTGP$cxZ!J3G&dK} zfw2#52s-TRC8&YlN^9imsfdvV%MQf#bL*s^tjneUN8Wb;Mp31Yzc+2uvzxZ*$!4?J zKtg)5NeF3#9za5u(3^xN5FiMG0s>M5&xQ>fDk3%x)Z-LTuwX~wJoQx6Q`AG`yc3n| z&i=pmW@l%%B-s?o@BZjyc4pqpysy6R``-7yxwfhKL9)CHKtQbhez7mT*AKKYXeW|T zLPnGbupJ^C)rtzqgTA=BU@*b%C-0uc0o;%|Se91ih8~fJI1C`1y03{q&NRMh>(3m2$u^U4Kc9MG8hn#)G5*+g-nN^T zmWAgK*uJ5>2y?{JXa{m0PR2OkM;QI^Df7M|`A^o)c=p{-R*g8s1z7W*8(G5N)V%UY z{i3s{xV{8Vj?l_)Bghj=io~G704Y&e4!tXr#_iCRo{>b^K}#~FN)~kkI10VL+sABB zQIIWD9awAKs696)HY7qKd%fe5L>cQgR|<;(uE(}NsrUlch(nrs;lO0QlyR@R1W;1m z1bDskCWWO7c$4NySS42hSTEB}*Y{IWLB@&$u^%Mp`Kb&J3R1kt;jCzecAt-bR_z6Bb4MGE^He?Kj znc2xsoi5%)bUGc#K&KP#1(Dsy_9Qx;W2sVyK@F6;G?tB@0;M?oE?mn;TkoHa`{9~v zpbz!XhyJt=A9E*PW`=jeoRhN)3TR7hW#Kt@zLxGdg_ z8~56l9e@wh!gu=W9Yg9LzmxR~(%4de;Tb;q!uNPTJ7$*nvIt3+4%y_oLqAwrT>|95 zVI~vUCC<=;h%$BA~V$ zs5iy?Ytu?^&hDN#uFw59m;%Dm`YbZpdX!i6ttpL<*ZQYSoBaCTJ&DOrmzMUbEU<(G zWKNv)-kqm0mDKWH$dyaHwpga7&(|t z%@2ZxfW=3v6E$co;f8RIf<{fod>&EkM*m> zx#DY0e2|OKdaY@4fg<3Tq759AWTGf%y77 zWXzZ`dLQVRv*mk>2uh91S(sl8q<2v|5j{YyF*C9&` zj*|fXI@*88gNNfOaKDva2Z@E_O%S6PL63{+@qNIXFVbVkgNN&%0T-F*G31E@yxZYA zd@vN?=}E8O2*=ClaT&e-Ha!0fJqC{z?uWXs98~*-_BHevzBj`+kQ(@;az9*$?=o?Z z(d%Gvz%iv4z247xoJ6mK)WG!_fbTkbeE>b~2D}ONv*3B4BH%h?(epj&^+ED6bCMp{ zl4J1#*lp4=*fNgx@O?$Ne+WGW_?VB#ari6pbZX59cs?8~*C3#{c`2c!4 z+Ha8i?|@H|7pMHN@Fs~K692Q3yZ}{%MfCk{^1@2;@&H`_iC&lF-M!X5Z5OGvN3tdVLUuwbcFt--q5$ zWeJV8f5O~IpRdT$e0oe}$^ID70>04;&l^haw;vNnkg*AlC0W`GxG$l{k}MTD-(N@H z=aem0lBGNBp9r7|@NtW(|nq)i&-xy*gS=s^5-%PJdvh*-qpG=RbETJ0vw*pzCDX>(QP*1>T zB0pU#1pbM>eKquJ)U6yf%}%?Z#q3T+yBcSqxY|+$JfF8PEdT!qQ^5pcGuDS zZ=%QWK1~*F-vHw>N4|Z|XG1KP#55B~Mz+ZrR|aRmOoCqF5D<{#ADH?I#Bj#X=cKJ$ zm&WF@P2yoFO!0|$7@}YBF<)FMX4ed>tEs6Q_87N5CHo2SdGUoOvKa#&_(XO} z^D;Pt2Z&q5x%f6ns%|6|gsocckFfA&|8QzA0FQIOP#z9}J`tzDpyLaPYaMA|7D5ca z2-k^^;&BlA8`1oH6A49f-}Z0nPa^WfCU_X`{}SK|C1W@k8pOAzaXu}{(M{15rY0kZ zSHo`;F%(El8W(-2 z&*?}U+*~NTT`*T8h4n&lA>^Ec4^~*f0?x~!wmSE=_%kj5W8lCKUzAVApX(kD)FN)P7hoeR1?T77n%enNK@v2edS$Z zMxR~J+8(jJ9IUHpdd=ngXV7h!xBn5X10U5;zmz!Fx`g z6zgpdbHCfN*&-6~wbnI>!|*dtQW$pt|B$$Blz1pEnrW-y>3cnU-y z9_By9(?7B=+fEzEd`ynG-}d?W$8f}>NlCx&8;$>6ku!I04)f!9wttgNWY35bej4@c z*c_Hw%g$!}Y$x^0ZBIvZt?XmzxoRQX6ey1E4$|UM8n)s{kQN# z#B1Xq>}?Uh#2cAU@#B@Nf=e6ri#Lj6w#LSGn~x_?&5E%lGFH}L%Za4?2hvLMLT!7= zh6bAy4APfH;Sjc4{kUbe<6=3JVH-x~7ho<4CX;y30btKx4={xR-^gFkDhA&Uv?)Yj z$&`s|3f7RE3Lj{Ilm;rOi1qKE9V-JvXy=O{VqxX~u#ABU4jooHot4*HYEH*s`{`q`JxioA^de z=A5~iY+Se9t6qNnwS%j6ckBN0wlBW<=8J7Fi(1@wm?6UUWJC&AF7}Pl;(usky1~S4 zOkX%k=LOq&L9qV8tPup;^+EzODk5c=cwo2z;D$I6gt7q5|;ukMSmAsuEE>l;CpSyut8j6OB2URq=fm0 zU6hpK13*gVYa0h&!2W=c5~So!)HlGu_XNq&02PQX0x99Mwrpv>$A2uI$Q-eza=$hQ zLR;3QEu4YrSRILLn84G2(|_!i-(F!q+0vJ^-ok!nHEm{&*vOd8IqxGg*oiRb4t3+m z$^shoA_XV`U=oytSikZ>O^#LjA(fy)h!?o7)Zk-oYea}Eu;13KS@kNhrN(fY) zCc#Ab<{4mBby7mMZy<^90i2}2N+0#&hwTRw`xC4Tq=bSW{bK-6*iZe~7C;AHl=(6e zEaWP%^~a%!XsXOP3WRjAX&Uk%CLwVuJxkk4IFeSTs@i&IJ;6+vNurLEznCyWSB2Ne zW!o2?4H?F>o%Z*wGCQ#EPzC^=0K7PO!uEsnr^FsESDmMr;hwizA8=zDkT*XM+|5G^ z(Gqms#ls%2!f6Zg-1SHme*^5dtRcD>)Bp4)`X2hm---JOh=)`{MWtD26j_%C^$Wy%*x0l29ir0;)UV{&21BXCgeF z{gBiIX`f28kR)SH!Jyie$YPw*j`Yi0GwU}V0;7yik&uOwKx^(RC~kqBnYRe@$pA)! zYSU?Lq70jlqZ61>PJW4m8GCtr^7?iYJ=^M-$-JZ197Kab8O&*|N{QE=5(2b6wkqQj z>3cQm3w9j%wbIzG(z=vsJw_srQLBXk${V8j)80DxTB`$;S3t#wIyyLmo>h-gnJtV_ zYVL6tX%7r2;_rbik8#^)v~*xB_Z?Lo9^gI4sJUnXT8toi)&l=1GC^^1F~)swIAzCs z4)NM9vIV^28E1Kp@?C2nC}WgtTg`>97jJ+s?QFZ$*!RJ1xHLp*!^)6RI-RZm0{pg{Vs0S;C!MSo1pvz=;cq1qGsi)!LX#?mlqAlW;zWc5a`$TOc zWIzs8KAB6FEIfCUKpHpPjY+lL$1QaCHFUAIr#w}TI9Il1aHXOFWe>=!lVkm_hiL^d zIN6Vreg9&`MrhTR;S{D-wet>O8?gfM1>a!y$_4H*g(M%bp|%gAoVMK%G!3NGD`-AA z>+QiwM`9JeBC5kN4WE&x*auP6|CeGPQ>lH>CidE6M|B#d9k8!Dh31Z$Tt1^7GOA>m zCDqEy(Qrrfr4d2gS7n_k!4oO`;%4%DL|+Kqyx#7jpWLZS-l7s1g|==11sWfe3^V#u z7E`wv4Y?+1FPB!T2#xpxTu}$>;7KYC>Aa|lFF4QHesKPDdZ&8NQ>sXg^P+ns$CX~t z%xkw{Ab|WDnO?FzC&zoXA(&xwM|oFS&OX>~?GY|Fa!P@=P8r&5*mS;1p^DDVVWblV zxi4m(EA1&NypFgCRwc=__l!3^MCx^V6`jju`?ZH1E`NN=Xa2Y%;#j`3jLIgH^o3(y z!MjDN@*UIx8mgt+YiEkjdkNdnc?Fo_Q3u3ZH$MLWg$$85h;0!aPc)+z`+Etxd$UK? zF&i?kFb3v}ClQ;h^U(XE54{-QJ|l%YN#JgALd=_)?klFYdZCNE-Rn88Fa~nL9rFsE z$DT@0smy&}Y~s$~R2bzA^40^1ok6tir%uEh6}wE5+c9XaV`gD%SMYD!6i{q0kG3B1 zNpF6p&#dm1EFCbkyPQ-VHNL&rXoPlB)aKEypq?~4piro*tUMRnyfdQ4zC*M%nU+ya z+IPynQzlhAL+9%}V;`Nc?%b_-Ag#(qlkIbf_Rpey=tZ&?yYt%fVp0EMk7-@c6m1y& zR}QE6;s+pDbuZiZ67P&cbI@vZ7kU!Cf?k7fV7%KE++$FDZbgAyE+3&YI))!`xdX|a z;jb$s+^m|{bdCRbL=q_5bYbiVzoHBg5NW2CJ&X{LfFt_-CJp`zseD8 zl?M+Gl0rLO7^xvTUWr%AIRr&$5O@}g<@k%rd7@}jkE`wxny$cW8zFJ4AY+qerF9b3 zs=&FEQtti(GuJuLb_Edt=ZZb-8ehMT&SNS%t$qH4J2AS-km^W0-i=Dmn3yvuO(vq7 zNXQW*k9OJ)NA6YR>xw8Ckr^d!=^o?XiohoJ@G&}-FL6o9+5uPP5|O&24op{*Ux{1F zHnEi7xeO87|5etSiaF9%V%VDA?W%WleJERTb-JEURHI{8NVdBN)YY8hX%mlj#-Yf3 z$4ltLi^n}a_(K;<(R4jiwc#pV@to$12i4Ww7wq)MywA71i@tFgxfBITSi-4n@ung;7IoOzaN*Q8Ciu&c}y?*wU|!`KC`h&M8+97*X7#KCFB zlk5tE#VhgDzKNWdFVl|XR9tD^rFWWM89t{sLSHFsnw-h5NypR~yV%Fyr8 z)?>Ep(&}EXY;i^StUj~K72?NwWgqvLy}Wi&_HB<}JpbfUc(>kFP1n087t`nU#%KSx z{9vz~hu}+_uJc8nzVY`LkNYIfxPok&u4hV#aav5mxirRX7jvpNR=ONESBR5$TlTI0 za2a`(A@+aFyY{YQ{}+93ubTLO(GT|~WojQ$^379FDY^=3xUE1?A<4x%r}n05MYmMo zLCyDS#hdJIp3?Q>k|FB0eq5l>P%R*rymTokMfF0ugxu-2+tzx?ob$GB7*=h`^&iM( zvVvS2$K=qvoh!&4r7=iD*K@Wzyxi^P%;R6AMdOZ)P^qp0SxHW^CFOT3?xd80)aptm z+gW*HjdslG?8-OM#8dJdmpLrS$1j1pcQeuT=r;6(JkqKOL+RpTrd=6?ZNvS)oaFW? zC~!HMz|CKj;{`*Vd~nER)Kas953b>r!5?0IMqBHdvX_%-IvilQyo{vyj_SC>G&&ya zLI=?aUpPrIi~eu3R|i58R~*ZAG*EGQ+0ct0Db3Gc2X=|Xhd;`ro5F2f6`;NXhsUn> zB$e>S<>c8eb|u{>|1T>SEB>UMV7seNli+zcPTp43~*E4q;VUqtL zj`!x)xd%@!s}vxp5-Z09y~kDFL0_Ts80tBytOZ4>t36ERtatxX@)_Oy%Z}A2lltPm z!qB(QNX5>GY^l6jI_Ki<>e7=^ua#07^mbokE$_$)uP*h`2Do^#w7!|=Dckj4?p5le zsf0vs7p*wh&Qsz$^vQDFwD$Vfw|lvpb&bD3i_1}&&0T5$VyPQyx88{cr&mwTcw6A_ z=F`&~y_5?8Uk+-biV^(Fnz@desPtP4@bQ+fUn8=> zM!vfDrfWSE&D`^kZ}F?JnzzuJsE+&Ox+n-!>5_skk|jl15=uimAISFc5_Ivd83XO~yq>JsDNRkqU*>1J%5wDtANOCCJ(DSb5VGPEedQWO_o1xO*j4 z{&%J4Q2O23ceQ_nRJ~UtP}O}36di6=C))#4M-6!eP9+3|^8k3a`l__RQ`$--rYcs=d-M?=tj7&;rtfz}(uKRB$b={nH)qy55n1<=t4xY# zL!0Q?PODj<<{Ma_;f6ce7Ies+!XMI@(|PQ%Uh!X~7M?CfsxP)k*CU#&z4us`uGTlO zPQ!tFPx}LzD5oh*Nx4rtDaFYY!f2JIlHh7cV`=@7#q|la_Dnf;)XIEk02fM*5qjxb;d@&|24WZgHFd$dgIaYbAiRzVl;fn56NO-yI4sSAcMN}X4 zM&M>LsqSWtTyg_NZ6i2+SdXRXR9dBR!`+xv>p1+XqFZE#!)v`Y_li>N5vMQYDE9}& z@x6Sd0pF&!ZxkCr_Wh-rsFY9D?ki|g#}x1Y-|#?d zqB>;Nbq99W}2ygXRuc zT)v~8)EaP(G3xKpkeqI{Z*tM>u=dcTi^B@;u^L~g)b*hTC8pC3(vci3H`>XuAE`d7 zVjpxV^?b17E+bKWG4C!Pq1!O|e5XFF<8jd5GxkL5qh3kzr}nS|dqu>meC3eK9@Fxj zW7KmDk}oLNNA+rasr(4FfkNB1*XH!KT&FK)C?4n~faA?YbhS;@@f+9rsGWx12Yu+x z5cd@+zSJ=FX0Q8BTKW+9@Ji3zYE4#h9B_Y&0eIN^0XO^--@_>R;qBt!tUW7nA=AW0W@h09p&m#kccT zAGOomqf?%sD3Hq(EAGs=aV5-dcZ$I-yl@4Co=JUFr%$Q=K8{Bmh_a28NJ9BWnLP5y z!XZuFCzR;z>hVPt*MXd=F0W%MG%9)?!r(M53uf3r@;aC=2eC-JHZk2|4rkB+OV1a$?z+X$kw7rGMtF7~i%tew^$ zYCB@Ac4t*dGVa9aGDE7PiG(UDIcFg{QNg_fA$&K=NeL5@4)n2l?Kw<;eh#N;}v532D7pEt-s$fS!L4sWZ1!QI7U|9bIRK zD87#rO6UU55=P5T$6FK%JI8Is*>s+2W1`DVUOPF8d!@JHe|Ymfq4w$j4ewL3NmVS_ zGBaEuKB>YWiq=s$L^*dw_^Do5N9BLWb2+Zx^&quRl`*hO^Q|u5aG~-;x?&`_$Udz% zE^~84oFj>x4ecy=ruGiNbD#~|SbpiIv7FDAZ}<9a`NdwNW8PU$<&Vg`r_S>u-vuGH zPcIVpsXgE;!iMQ$ru4=&m%$?HdPbF)$*rQRvV8RtaWB-WY15a6+Nb|tc+-l6ss!nO z(#Q5DRR4p1cMJMj$*K2J`_#o7r%=98#BH5;8hwUpp}6z} zX(5s7$#ki>o15-lpM(zmm!|Bf;=VK9>_cy>n{mFELaMe8Xr`TO$yMoY*K^ElFLy%- z&}E*=Tm4fXJo_tyxIVf3myzUcgaR%%AE>$^ur+&&@HA%nsp$(K*jG)Kom#B zc?uVJDLCo7A2P?w-NX-p8mFzsPnXz-UN;1FSRX@QY1N+@YqX<|^*cxpU1`=Wr(1Px!Uz_w`Lpnq^H*=YC&* z?wn@Xx!*q0;NR_t)@Gs4jz*~{2j!!l@cbyGkBW?d_=+(?Z!9V_3dR(Yx7hNFSp%Do zjb?+!$bDRed-}&6nNywEb9>Lk>N!W^{BciPid(OkLF;hPhxg#*wKd}NHEY@EW#Y;- z(~y7O`_Amy@7(*(A*M9Enj7WOYjKY_k_olG^y#OdM`+zURo@46q~}ojwXn#73JcPV zDT1c39Ovf&=veR(4!i^Jvh7Z(z+C()Fi2zm+z?gvxr5|cweT9{|r+)gu=Sr^cTd=hE z+@|?+MopM7dD_JE8N&wLVA=M>)xN@PyESZX-HLUQ5zFFYhxQ# z)IO5{c2Axx?*R1v7MP0TS;L$20M^f6hH{ z06x>~$(O@A(0d;EGP1~0Lx&8t#WN$avUlRdx?x$_!>=wb z964&o10zQj7WK%^8aXUCCnx){oNQn5U>ld2F{pM_X2zWvtEuA(nCpRpt z)N<9bD)_f-NJ;VQ6=^0@Y8CzKsiUq!6FY!0P&E?MTLdcNGJngc3MWcik^~|iKB5U{ z0Z-@LSkpVeSXRUM%H*LPzSH2M695rgsQ={PDQ+q}|^TkIezWCzA zM_*X?Fvq(!nyoK;*dM(*04txb1MTh@mVJZ^?_E_@xivR^L|hha)7C%kIaGtP~K!@viJx9Tb4V$WdEDT_La=Y$!;iGv10l4mWC`}focAi zKI)tI-u+guZ%j$uz30g%Q&ZIPr~?bR05aTb0kRYa-%y)Q(C9T`S{POYEp(P|uZ_zz zb2@&=3u@ znCF|>>uFPT#7fua>u|n53@JKat@LxNaKlb<7Jl(@v1ygB^f@O!fG3OBiPiWvaV{AP z6?-lc8Bh=KGKzsV%E<1I>6kzU_7*)Gm4oq4l%;&crt%%KHjw-X*nAZIZ z{QQ#ges}cfx#IzG9{$t)5BBVFN53lW9bf$mso#Cu-Rl;e3!h+U!ME@g79V^I39eD? zhRbKi!Y4S}@GE?Uw;g_k%!fpZ+Qo-%PK9saseKAxfoa*NkorEPy*+Q+q3{Wq*8K@z zq4UL`kl^fv#gJ^`xu5x#=r=|@QYEJb7B ztE%nnYbTrtpTKLU58*2gI_E=3_!^Ar+l#ICIuJgg$VdOdSJZUCe~|Fe6ZJ#w)^lw; z4?f|bCEvkUpndlpWLasaoVYp;KEb5;4ZcF*&2NzU+ppc6+OpH&Q|G<=488)=g3s`Y z7@=u`xH|C}a#1ftBFL@y4DHjpEjbJ~d$V7|-R##E`~@+`H#=74=SlQxx5ce?7JMR* zi?84-U0U%K1Qdo6!C&YGG|BPDIq+Xg(;h14;4QpeyhfZMZg9h=+k6A_hwT^J1x648 zT6Y0dc$E4>;&^TJrbVN_rM|Ub=eN?w7EODP{t`KDqrW~I^DXti4g0+nINCJXRlcLl z51DO3|%nj3XmFcYXs=P*66ikKv8{mYv+3$V?@WkswXGZ4Hdb4LttI=k6=2#jNj=7n zj5aCdYJ|4bSHCq2jyR@O9S~f0Q>XdhTvXu^cH6dO2I~t{+EL7_3E!&zY z*@7*@Ir>}ZHP|dJb~kGrb_`SHHN4Eu_b_iD9_y|f+qSUO#$Zbbb+P|i!K16mr{uQy zBVwr{9B#nj{x}>PS~B;z=v(k{@#d}K%_7Xw-;6&HbKJ1P=ZgKrpT&MyC;p88f_3cm z-q4_;oe{pQ+Y^-|i16}7g#vtPQjSQ&J{e}?=&UoDmD3332z^UE!zx2`WJ&+sg)x89 zRy;W>&A&aMaY>6&(N}_NL?@wY(V%S)j4c?s?T6JD+gE~nS|{Q5*)VPo9@;RL z+mDa-*w8YcgP+?OK6f*)+XcSb=x#r-E!g4`To66$3{-6!>g@rvb>qGLko#oQOL!QB zW_Jz~?T(um#ULZ}G9N0l zz5v$>it?f&gcJ)&ucKM}sc@7AXZ6lAa+@N@6(O&jwS?<6B5E(SO}ok z5T7dlt$L>4}G;8+AfT81zhUSk5k7ygD|SW3V{W^Xoz zzgaAK93*9uEI{VF>iX*H`bJ%kU|kk|h92m3nZddq;{2%OsHo&K^zTD+hGfP0Gum}Q zJr^t*Rn*&(Q#D}9l%c~{_YPaF$K7{z$NJS_y;lz(I%Ud$svJx2qEU+$^bA_3W&Go^ zinrHhytQ@HQ{(R&v}XHQ`~YV=gBcDtM~T77Ph5B+SqzTC%^ZVmXE^-8*zIcu-8cTJ zOR!=d<S2H6|@dk7n$`eppXyLSOc6(C=aNP5X>Ygm?XyoO<{S1 zasgZP8nXq%dIuBGlw2muJ|NkeCJ~!0QTlSu0;!Mim+*x-i!-K#Friq`q@^Zv8X#*H z3ujnzYm`2bhkFw_eUV9dABGf4cte2&Sj(7_C783|Ipr80m!Fr&=%bRz3@N01>&cQ& zmM}&l1IfFZ5KRUaLNQGNCovRYIAA5me^^L1ODh}LWqIYjpnts*!+M11^ihTL<}m~E zdzI(G);v7_wUUbN?CtYxA68fB_>zL>HqGjDLv;zStEi3+;}e4;0&txjbfih%0UZkfjX^;HS^c`yj+@&tAzKpSOA*{2x~psY^nx2DVbTz3JamZToyKCr_Dci&%EmM0sek*!I_~Y z{-v|)3MLk&k{II42esqi!{eXo5P0Zr4&vqsGD8tUlN)b9Ovgh;Pb08 zyXT}Ys;1&Qx_BxoDmBuaM)h4UdxKwsCW30abd-mxU0lsFUVqm$$-5< zTF5?xh5Jl;K1%u%l?-fZvhef|JRDSKQ3VE}(SwRD$M6&Qmji7HOiz-B&5TAcB%9M% zkbyKa96naxXI$xs5vAk$)X&*Au%^#|ZTQ9V>t4OC{OWb0HDg$Edf%eR!tAQP(}$$y z@ELu=qVS9Sw7%8Zg^@*l)02lS3yRH2*K$F@nU(mquz-LlF0T83?ryyI{>Hoi(>;!l z3=9av)dAw65Is(e6~CIfb3guZ|IV4>SFt!TGE_VqaN)2{6CRYr>(fHZw%W$e`g+!Q z+t!}iG(Ddb6t2-C^YciU7CFX4Tp;lW;U38BaEzmr(~2y5 z!H|*`2221PQ_eWpMni^0q5**o2%Ci^bHE0K?P&Nn1cN36^`!x&m4&Gqq-uFV+tEn*H~BAcx#kJ8&#~0&NL;$#st%oqCGmvlu0(6 zNUvMJX;}TM(i9@JK}E(#V_8z=f!n*WadoB-8gH0pTfdE^Ji_$osg4x$GR8q5zx*R8}1c$ zuFotQS21YT@@wZkWvQ*TJT>py<+BD=j4R4qzf-t(!wTCwk($uD(!~6`vLn|oA3bT( z=;iApv+v4JEUgQL!H|4E68J;&lrWF3i6u5`AR`nYbiz?Ds zkOrJ!Q2o{zv?v+;HH*&3>WsQ5Q<25U7aF5*EE>1InGoEF7c)V& z|B9Q$&9-0Imo^{WyuR0nUbb$IA765xiFeqn;_b}dF||84?5t&i`o~YRB~OoMeuPK# z#xK)H9u_ObBk-h9+rR0P{>ub0QJY?SZPW0jONYz*J)$Vyi5tEQ?2b+1WB6+Ev+j4- zO?&ah836x8kdHqAeo~Ju2(+mlY{zUg7Oe#Mq3-|>~(S~Gb1ea-3v%r>3k7v69&|>Y* z+Eai8+YlKiV;o4r#~eSJUzRb-jPDtpSX7%76BgM0xOjmeMf~GYnWAZX0@#ws9Cg^x}-G>ZUmm7D$k{UP2^(TE?ur ze^@3#LR?Y=NL^Y{QcOv*_yhC+3m@R9#FCh#qBK)dOn72^f=s@M@K|WIp+`vQ8~2<# zb?@ui;2s;GU0eiN1Eug~6rB$&KxIG?YP(76m`s!kbV-u~@f4}yDn<>bA?sxnIn0#1)KmiyQ+V?ur9X(n+L!C z`e5;s2gOgw58JODVqDJr-n>m4=e;*_IkE)y7cGF;i1*m@d4qBWIP5M1hj!QwYukZMRKreTyc%ILH(&VwBx zoz)i^lJ&$60E3oESQMYW72kG?Ibo40?|GZ``8=4Eb_^?DgnTQ0EdKqwkW=jK4#~D1 zl!aXkW)kr#d;=^k|5_G;Z$$pHmt+Zl`M-D|9@P8UFFt?v+0Vbg$NOcbZNaygGy9k1 z?cbk|hbgjrDx{<&LB)Rf{E1zaB5!q0|#kN!Ld4Vpo1NzP#wExI@ zP2RVm-v|#YbR#uXEMO;+mC3EZlLs!IU<4~NKLTvS!h8_*1YG24Q}V>R2RR2mhn3pg z3XU5)2lLiz+ig&dYpi7$MNfzTaL?Y>p@>$JG4G2Ej3OXY`~cDGNuv9 z?v^u$2a}(9OZ*ncA3OQrw5i;uINvdDyIGb+y;IYp^?uNX^n{o1z<-( z^v9t3E$c@j#cGqq3#~ciK!#|Mu~N~d_ID#T^RrB3c`r_BUH7Zu)6=}3ek6`hYRN}J z49W;$gfs{v0MYdMVALAO`FwEPNVQ>21Z`l3^DV&{?j{rbW3e%1IBys8KsgRbtLT;- zAAp06wgJ72!8jm3xm!hA04{%k*_DUOV#KgE!9U}n=D5Qlri!Za_Yc<8M#j|OBr-z-$Ct73fd? z^uk6#qZ;8&ZX+gZaJT@9yEJ0nV`mQ%QV-_EYi{WvsoGhz@ebtz$fkLw^WO&8|cy&{cRp_4!Db)p@;$7qM09}vu6sl5|asGh$7J2;k1Fu;Nv36n&79j{ZfrU@ly}&}) zCER2Q#%7bgedG|Xs){QDv)WEGUUSsvL0+;t~DsuOJ zCs8Vyv0g2`YWvC`TQCd3JBYuL$ptXL&7jypuR8{4`csp}9Gi$kCfcr+t?(9^kNZ~q z1)APd&@C{!@6o>TK`DjB$;-4cj^738LF9C_c3BczPaY}WpqSj$eRfk@_&d_*7jg8g zgp?_GYPwcqA$xTMrS0Zj?L8I!H27c^Sb}Eb6c-S@6&J zNR6I)YHDPu2W+7sHnxm`fon%O6OdM!4g(hxlwutvbE;xmuDfbm6=uuIL|fIitE~Il zRENwnUPdfD#Kqtg_2omBY#Ec4HD=3_A>~k$!X*;s9*0nm=|M0%Mk>{jsEP}m?PO;5 zyc#T~wj+G~gBl3t6`8Z;eVZJvrgea0w92O*h2m;DXsR9o)I4tjIW|(z4Mt+DDZwIz zfY$wOvO3YTzW@sG$oC+a$=Y0q^?mDXJ$3zh2gGW4$oP;5;~I&~wm3pyDVV@Zp#`Fo z)Ufz4KCpRGTmio!J3_V()R43_PB70&5ry|8KSoch%*pUV7TY=Q;FFK0Wfm{7uB(G!e%PYhp0hu|4cK4`pmG(PWJn0 zj9K#gy8$f;{NUX~TtxO|Aub{h@t8yeRJNj8;dsE$uOptlm?3K%r}-j=&|rXQYE#vC z!q3kH=l%=VArhZ~D1hzXt?L+11SqzG7RA%~cngd`eUYPHN-~TqPFkvgR*NS^h=Lz= z2nmqL%HtDx4h&pOf(JdthuV}~CcX98$?9cV$2g_&OB|8thihF)jlXSOzS)1b6hyHG z(eVq$t#EBwnHG3P8MBG}8=(@@&{m{hrLyJB0R^LEwS^LNg~Xg-~FQH0sjK zI%6TAz-%l8EYL%ppwUG|Xd;c^agZi(Xe@Mbvn8|6F=bR_fs2?{{*+3snW={;WnbaQ zD19Nk+YALmq3j|Y!IU%k4S%Eb+?|aBN6wl*w05CrVP1~zGh6(yp$}VO4F!5Vg3Zmr zGD-_;5=}LUb8jiG$;dFI)T9_PGHQx%nU_#wN~|gJ@Z-4!Df(zbQf!pbwjc_o!J>}FhoZgldS>x;m|PgR(Q?O0gLC<#UvY};1XW;2oBgBo*v-$ zON4(~V)R-=j}K!K?(1Q&X#$VR3^`kl)LM1T56W@s@J_trurLBGO7F}_`9~}v^s8PYesbK+pkU6Pmn5>}N5ghc2 z3+BznywE@{C?z5?Bs4Wbix10+THd#1hr1!AQ}bW0PXi}z5ow# zk8r4UG6lX+C}}De8{EOsU6l(U?3B6J_M*F`Zq1UJzw74y-=^%%G`d*z-^()5HIw{` zUFb(6NYP;DkafS*GIqp}7 zfaICd_zUwfBo|fsFOrWOMy3>P1BMM-TvsRlLBes&N{UbGn-sgYhx(6--gr%~o=;;9 z^8*&1?%C^_jnSj}uTQ%%;X1}#Y7#OtGLu`7xd|WPsw#>t42YmS~_7i`9=2XD!;o>La54q#Y-#(q1G_T|w4vSAW z&i&7VOjBiiSw(YgV)BsYin91hQ|5yI%r&ORi)YW3%u7l={aKpHFt+FPQ7PdyO`+?G zi*iB&_HR3NYU}>MkeqqzLYr#BQ$|hiITk49nMXyk?1n-G=$XX2fixdE#aorZVo_N= zdewPT3kC`!u|@R<+Z&cp*$TPIH4w6>xCPdT#Da+7Rkh>v?17&=Nn z>-Vx6k*9q+lCnq>tm?HQiyRg5p3y{DomQJIpkSj**=k? z&g7elvYj{({K5&KRcC-KT#FjfGMb4c&!<2p7FcF_V&##7^o~sj1?qKX3s`T-nn=jr zrpL~!q!nBR%Mb2$u?muPfxKI3y;&cWjxCkko=!IV_vCBcmu)G%mJLwF6=*3@h$U~>y%tbf$h#Kjck zvWm;Jd#iX8{!eE5OwM2Iv4Q?$ip7tywqpLQ<&!2YpEbWiJcqm4-juH4kNml7(lf;% zeEqg3T~QoE-ZltNV~TBW;?U=^Pfg`guyIxDby4E{Q`yhqo#Farsp4lhrf^e)!P^TAX~_C&#dEhj>wxavdlW0Hs zD|!W}lm|13kOXO=a|_f)=8{v*BvBHw0kBJ+xs*hqFt1qOFeAUUlm<|y{e>iY7gsneH~Ke(`Q$DjCwBJn5j zKJiRXBYVe#%WUH{crY*S^9#WRQR16nQ8OMPY3C2kjMa+oM&YawKk)#M`w8CC)o+Wl=2quMt|uYrW6qyqX=-|GUPfxS zjw?j>#Ok_sZ%0*M-8l+RWYYD_iIQ) zU-C_HVME2t^4iGWk#z-L($-%d+^4nl^qRq%8qKKDsg)^Y?qf4aP-iQPk}Fe&PSVs2 z%ecBvpRth6a&)uuOJp^Hnt)q*ZtYZa-+;-J{d*I6_D7R|kA4R}szCjrp6xF9rrS~U z9y)>GD>hig49O7ua;#Dy*|emn4Xliz3l_kfA&EE+9wNgsNxtP;WkQ~g-4(ci@=BZQ z8{~2qkoiW~j4X5jE)%c|OZmcJnga~sj@a(M+|ww&*|`0`-Q)SlfB+`?stuXC{LGwq zKdsDLu%zLK=O3N{y!8(7mewymC$m7CwXx3nCgIU3GaNiBBo>Kh36GYgFn2!KWL;sh zlowp>H-nod_=N=}bJ1xbumEDhtgjlz+ioe-rbWR5hzNnZhHDVGs|(7CQZoy}LZUMp z5C7eE_|wCU-D9<>%s-=Ys`DZ?5Qclp`BP%J%+z#XxB_6fz7ge>1?-CSOfTG%)!m#K zler3G6^kjo`Q+|16LRVeZ9Wo#9gLM@9&=K@OTe^&@xkL=*{ekT+rD7u!3?y5Fq?*%3 zkkXnThzpZ5BywZTBzyMaF4w}2Wvz}BFJK-BZJB_@NE#S$l03IwP}JJOF6O|cT&cx; z6HwYCtDGc|w_j>=}z=65&ITYd_$$UU!si80MTeqagFG?xgFWP82^gNg#6?W+m z6(Z>hQ2NJdgv&NK7~*Q{DqNkG!pJ5XJEtpFgfbd`^_oydw$52)RjBPF*L9$n4VG7e za*E~6I@W^Df%V?1HKdQIlVSqbjw@d}4IBk_m#@o1*DUg8DTSu4u96ps@{(!JJC=yD z;jU{!HSwB_qvd6xezLXW=U5mTI_bvlE+%_(X|Ewmw~Wo|F?P$+A-(XY)ZPNU6X?M| z)6ov}7GqrbZ`JgzR%!;%fa= z!uabeuyC|tvim~u$?rV)rfQYAcmj8Kt`h%FOl+1{nrEyYwqeWDQ=F^PN9>w6TV9h+ z>=4BsEkKLVa=b7$=fgc+~~ z4Z)XPjbbe}eSA!SO8vH%|!U~>2z!7m$S<7_UQuRs;Jf~(;D#^dogUt=`EX1n@K z_8ENOZ0;HUJp7aU^d)_7@BIjh(XgEM#8LA2qd92Mvq2-qz()e@hY^O5E{7_Mb(Z3> zl~Hjhj?F+BEEkGGaS}?x%14?HP;%N`!A%)G+gLHr7j{^e&0|SEs zg9AeXLj$#ey1=l|@X(0R$k3=zy*5VQO<$sCNuOZS4IFEYkvdOAOOfyV<&)4GKG4P?Cutjds5ktOWzISU?sF$YKFm;YL=xX4~HH2%@kbJlA>}a0Pe+N$*z~ zz#*Q|aF~Hv6L_|R;w4U$XedfF;E^~`5>99l$`NWLaS{{w13kixW}y3LxPJTYou~gy z-u2K!1crR>EDECU8Vv6OHiLHwjPkCdd9A!FCX@+fL-|l4iAiFU_#`2l$!4?pY$0eo zsUNJjjEpP6#EKG`I9hr zfk616@-%TR3>LbY4@!mMDfnvq=wIF^lxFJgbOhS?4GM9~V^l)dkO;29GY;_l#oHRnUTW9kwzI}(fIprZCixVA)- z6>qoWA;K80n_r#Qj257)m~yQq{65Zz;rj$|Z4g|`^c$-+!@04{RILWugkS&-u5FR; z3x9;Pr`On2o5Fof^m((!PQzKr!-0)2Ui8|?Nza-RgB<30&a3d1;I3Rmbi7w&t68^tUI7#`xf z;YNCm+!yWWr$2ory`Nsw3RC$V^xA{aelgs4KYxf>C12ydkYMM(rT5V`&TGT`HpBbm z`*v`X7|5gmTu%|oIqBNNoE~2V&s45WhimnYzFbeAN!!r-$TcLrk1O(e?KiENIl#Te z6vH!>`v?px{SJ|9!aN4SHD^Dqvp^OP3tQmYy%%mk^?>Uo&DRok2Yx4iw&87LT-K3U zy=~&PWTV$Y?B8%8DWHiEl$N7IN4SAyIH;LuB zSMW-^9p&4<5zPG0S^>kSt>L(b{TsfL&w%4^>2ZZPpSh8nq)kKrK}ahw_rqy;4Me68 zb1%psiBo~f%MXVdfd)M0$$d|X|H3;z5$oCSt=rgZo0=b_?ZwZ;z6?+VA{9{fgXFeb zKtBlpp1@^bP$7`AIlg>?@!-C8C1@q%` z>jLp}(92ul9T-EzmiI^J2yIQUf|B>Q?mTzy9EBfEwSUKVBzzDeulFLu@uDT{Z1kbry1Z`RLJM{)k@&5L+EgI~0HHO@aOk~COe{0h|e2#j$08QWHd!N(wXmthv15&v#S zwmlfz?V_IjH@ZsbuGKL2S$EiDDX;8i)(NZmlVRrI)4(F@v~nA4qT&cT%Y5;jko8(IcI;!ySzQey-jP+fom=HM}Cgn#_=2w>Of(%rnjaa z)h8OG+346by&o$xeK?$M12z55HNijNa*Q&>QJO@Mn-DlKuwWt>$ag8oFMbEUp~Uuv zXvYV{+upFnigh>z&wYdW4nIw#NF0TCbI6LoN&w5B@6 zo3Iak!Uot6uyrV(4L}o^Gxna)ejsdPVAH~e_*?BF?BigY0o#MH^?+>zn@=|Ti{u&d z#_dEWq2u*Ju6?->gEIIp(LiA*?3YTL0M8coq73E&*~C3UKAeYkn)4`woEP4OcYiMJ zg>G=|2uk7?qbb5Fv`NTC_xXKHwsmd^ZY7kd%%8%+{69? z_a8wK>_>o$y=XaaK{slqp}l-J`yTj>xLx+MaQ+kK4CY{eHNk<5d%(}lu!Zn?ipwC< z2Kx3A^v&Xja2&S=o|%uXC-)HC({l)N^%2@j&)taX*&9(Ev_H;&V?PGZ*$(vC1J`@N z`J3VX32^^nzy4^UW19rHucde=xOdz9p0-aSw2jcv0G(25L&ow`@m~{ z*Zv@-1)+yyqqH~&w0Z^bNAT`t^P7Tfq$6}gchoe;Dujh|D4i- z&_mvU7L;bNCvcPZyYC6?^!+XDDUSlp3H+2_2)~kkwy`JtOn9orJ@7R2vqJM0dO@f| z&rp05-Xr|q%AWr(+_!?X6Za54rE*dS_#qp}3%OU?+mE{*!}EIRNer`?tA}HXq4Y8a2{lk$bq!CAD54bToT!6aSt*}!R@~_@IdV5d8wj zdOq2Hgu4TD!~y$h;494cf$-4P_T%uoIA{vW2)qYn1T><7nh!wFo&=t#M-~2?QHK9M zl;O7;XzP#}nJ1mR;3KU-PDabmkoQF25SjOo3!?9Vhn?>L9YbWCzy>fqMtEJ_XZiks zp(snJwSVm7Wk;W#?*Y9;bc6hUdG9X2GK})xqaQB(4*hh)fs@~5zFud4g!_m60cXGV z0?+&lRSL^cKG2~D(C$393&pzk$K$;+9vpkh=fLmm&+xpT(I74w^(DCR+lLBZTLaI# z8hARFJ7{0a#{h3H7J;`=Z+KUdP=#*cenbm}82ewK|J|VNG8qq`PoARs?mAS-iG7NNI>L4&zQWZ~-V zcf<4V=08RAn1l9IXp;^1UCr|_zI_E_WhB}OJiQ;bNZ2a5@u-1ahwg%X1=obO@te^h z&}G%aUr{B<(iYhE!8Vw}EJkV_huLT|ZDQwpPeb=K>z-J==8M=eJ z3ixFd8VBwEAouuJpaTCFP`!UIR0jILR7eB7%}0IwiU6OZKsWV5k=y~4&equv^9}ZY z2v^y^WFJK_WW%r6XEN(h4s5xw^qhqgb%_Gj3Z!qyYE1Zbbio5?fKUt!yaknJagM5t(OBftL*zah3@gYcl(6SnoR zfnR6?TUi8KR}6v;yixI2*oxu&>#&D*Hal$Jz;**{e+JJj2O(<_Y_GruAq(4LXx9(6 zU*PvRI0yGxp}qAFIEIy}&Hse`Iyi=83hPq%4VJd`bJ%*ob|)Oi!2SW)$a9~AZ6s{> z!4?KvI&90~8DxX^G=t@Cg*r-qK))_PyWinCwvBKO?zh4DW)XgW0l&d&Z$1Ni8GeAB z_P-MLQPAcI*e<|!9FEERZ-#9HYyhJbyc?T8nEvq3b}eiGKWS?#ffMBY3t)ry+unff zDfn%M{T}JK`6d1i7>jN~6@ER?e&JcPpYRrJ^Qk_&7i0?I5UK-apjvLa{TE{Ivm5XM zIByXq+n*#hsc;l!`GuiUZZ#^0|$0%K6w%gc57!!#dO8fxWoO%exGxB_prC~%5 z6WfMdlYIa_1QiqgNc#Z30M%WfZ;4KX^J9tqFT8^u09*7CazE9TtI!alk3h%FfcK8( z{~vj817Fva_WfUbpVy>CN~;w?U!qMlG%D3JJw}irh$@00Ly)0JsSyONM$XF=DJf|i zZQ4{tRizZ6Q9;C+BM6G1M$j=CIwpt_+R<>H@4AvxQEzkq?|Gij|GA&`^Zl*8*S^-v z-q+r1ueI0SCl|{Vv>VfD$NuiRO6IdXQroMIa+I-QJyY!-;yO-r0u=epFD-Jo+TJQ^rkZA01!Pk61xp;5fO}bGE$Zaz#J%J}t+% zAC-IEYjhlQtfyEGa(x+n-}Qd(U;@m)#gI}{zBjQZGtSvZzsh39`n6tB;}G{+)L2~u7{#g^}jg>OuBoc zFUNfU1HV&09s7}|=X1ta_?`Vf!F{c~9QPr8nq|~KAWwNuAdkK}+HplJkEf4i#vqI3 zP}5dB`Nq(FP4pk8KkxZE`ml2~?K|hTayem#IH^abY0Hi8HRSl1W9Pg_erx)jo^Cl$ z$9iQXZE}P5Ep)-t?EhAMbqk zjpwuIr=Hc=Z=o-4>S5|+`nZ3TbJXwVTzW#5yZ$Q2d(HK;fpJ84be?-nG!p+leYfqV z9~Et<-}6!2U*#b09@Kwf^krvB^i}U&vcx-AZZyYJ&*ztAsjHInuRn}SlM?S)Qs%9e zQ{5lSaf5y%xp5b84>sqUIY&QW?D;fdhK!|c8biCWh&F@e-p^>y{Eqx>rH=gVQ#?0O zuRm~nsh_ix>+i3eD^GK7jbNSqcAX}po%#H#{Kyll<^;|H#l6WI52%z0pr zL4P>RdjR9h8oAV*OB|20y{}WwHpz^S<9utEOwU3&#l1yNG3T)H6X(fI`0DrC7EF;p z63*pVmUGTLhTmTCz9~0(ZTY?XTFZ<7UgsS8JK>{*@6a9`$vyc@_w{l_EHvl2Iakg3 z;+{&~;yCu#MpwD7h(4o#?ybE5M5082>v|L`JRl9J64YK94Mo_J=VUS0(r~5(%RQ`tGpHWd31$$ zbo5cvFZb??|2NP+>?=8(59hm!xn>wgnf8`z`zx-miSfrrU-njt(;K4PccWe2`=bB! zJQ#gl_n&chY@8Q658`^UKSZ4I-hO|t;h2@kIi6{<)O`cT{W`|3H_3@C*SdppApV}< zzL;wQd$#TE`UmIRSFAJ6@rXR*K9l*=7icf%a(pDWG3&!Unm_#F_S-(B(WW8Zz;YqoUVP#&xdYw6Xudt}op!-sw_i z@^o#Gan7ST$IW`ncQ3j8lFM;C(vu-K>odGlp0^;B&3;Ch+NSx2A5x|`(!$2a<0dF8G*##f9v66oOY-^k=k8#OGR<`RH zww)kfxTebGu1@;>uVMeKY~Z@u+ckr2Gvo!=ba}zCfHvSkSST)cNcMB}$_UqYvafT2 zxVZnF!~LbL~^MKg@l0 zZ|+?wav**AJ@H38+Y`K5ax~{(hWod2fTvXMc9omwnsMj)AJNFQ9zbJ#;r*N(8DeHM&e^UHbIojYki@rz?_kd4m`yQ1Uu1T`eohFU$ z4td+NpB&-*jXdQV!nmYE$~@_eYYvQddNSpAZoj-u-{NiV3B=KNGVy!Mh46dV`}B#X zMn5F}E>|kgMc78!=Da%CH6+^U?BUp&xJ=pIGg_8AUu8_yO0@TPZ4pnT+dZnoZps+DmPwNH8v1x|^1S3S zuBXc+(ODercD^lM_iH>i8YcT=a}agA*?BtqQYu&5|CEz>4!z9uS7UgNpgs5@^H`tf zJ&=CFp0cbjj9wQD;|`U&xc#}m^oJ&`E{~CUvCyQqua`QfPsTegk_5QIks`BT8XN;x zJN?mK$8&O!v17fspS$87lVzUH=yh=$=_8#l^L|v{;o|cAkV{y<aTBKI7Tk% zudAkYE|UwacAhoNqhCBvQg#y3>(5++F)m~IGVfI!n+s%Bf0(i}WM8~jh|4=LycB!0 z-WOi#cu%hL#*;Q)QoQ`KxOX(|;y)z-DFaAmIYtG`72au5=V_Aw;}a96#KQjgFvP-zL-2V7jJxv%Z_dJ(F7Q%$@iQeaO#ORCn z>?U>Yw`8GvE8(}?tNKHY|2BGGER4ku2rqTah7({^%IbhBqCa=Pa# zIX&)U&f#z5jkvoA-(bBzG}{=z%yIln<XPJYIttJGmjy`y=(7N4zo z&4`8MTNk$>`fe=jkI#>VctZdB35*S|aZl!1@nn4VJ*!xb@d(S0c=;PZUJrftMD}4DeVbU=7r&~1 z`>Ou3%_p<3TY1t`>*dpa}Ii5lWSmJ zKf?(P?--n4$O6+BHv7Rjxa8-+$4jvH!;PTn2XB<+G2#nkxgoYrKW=&aM8=sP%Sh#_ z=;xfLAoC5JYt{H*o_lh1c^^A{lS_Oq$L4t2f?LAoD^-bs6Srt|&iXF8s_gnry5GMs0mC)1D4U`#R0(G%Tfo}D{q@chJ# zSIu~l@v3<~3Ao__s!!-3_%ypzm>poIi&G^{y5#y+9qYpXWmIIkLKG1PxAI>p6)14v* zT3Za!8IF&MKb-!!13TiC9BlTIRL8??`wPsL4Cip3?cOfeI_~G#-OurQlV`7waDRJ~ z=b>*hcl4$dnK;LAIT=o5`6Qkz?(X=AeLPtX;u-1DlvU(7nfcI<<$dMNXpbXN?qu5; zjz@X^a*=ZqmIkT=NcKsHGHWfEBZ2djo`Uznz5x_|K7&f_S^9MggAsb`wwOi6R5 zNsgmMG8}a>(s8lOqCYqqir|?3<#_su%{#}S=Gh2y;rfhZKo}c4n{$@!ee?7`4u2cl z9viz32+z@H96ZyhYvv3UEN=osb@#+b3Uj-g|7MZ1KI zVa@iTKMbQ+_pL|w@$gKGIfNs34P)i}Z1^){YaOGS=R&4^G|$cY!`NJCe>n7qVYFoD zT+x4huGGw(X7Eg7I&&89nD&!vUjY7Bc3qX3Sq73;Um;NdLU! zXFm$@CH2eKd0F$kif3)c-^{hFCmiFMz}S}Otvk=ZU7m&fr{V{khd(<1c0C_|YCU$I z5$6#e2E5dduW_^ZdOZA>3oYdSCqeoM)fNZSE_hzV?6C@}b%G zYkrKC^K;>^`6X75p9}xp{r;)_h}GTWU>wc-ky&Rh=^>qG>I=<$qR!*&T7TwF`{tVJ zq~6RonRc9c!@2MTX^LXUwLjE(AhWF3IrkLjcHW<2jtcv?;jbpmkIo0?e7G0xwKLva zW8fVx^^6Bo+>bH0PW}2B{8Pus8^o4*Fz-4-=E2N774~Mn^;^o-7yDu%eFCwGv(Dgp zUdVl)3&pyNh&K3%f972=1Ga~f$Dv+@_dj@q;pE*n(wjNq#rjTPyu9lgCm+LN*SP3L z*U{2Kn(5d*@7j-NYJlyzt{dcB@;R4x*S`IUB6miadJS47SMHH5SK3MR3GWoAD_)#- zl68XPPU{3$JiI5bI&x($O!qu5RW4_A2k)h|n!34H@-95stD=i&L&j5=*Q_(Xecrso zXWrlQ{)TJ)Zh6yvH)-~jM>&74#%8I4JG_rK&fEa#hLgZ2E*UHP{b95;#2^b-l)un(LFm%w;Pb57;CP(Su`xzL_Y z-|=2Pvmzbb4Ehcq;lH2W^oLE~*Ys_fKWBLsdG6z&-)k|i-rx6~=rDaHi$T^^r8_W1cPDBL~w5nCNbgKGSEz`-=;C9=cGj95kA_lZE1d2{4`c zqf+KoMzXvN4um=MCI3Ocats^+hcXYuGvD3{v+jL|w^)I`N#jT7snD-&s zcDY-miTmnBo^qaT`sFnDCGrAg6!UC%mN&(6#QmLjt;8DVUMB~;<9Js1P4p9Uy}8Xh zREg2A>|!~dIVLl|d;@cbdF~44gx+FqXgKo~Z%LK=8uPvv$LKma$> z1nM)v`=Z$=-iLijY6k5sHM^b9GS37|AI|%Aw0h7{^yy5$|AW4Mz3B^^KDD!h>*5>k zj~|$E9%H{pxPNVun+AQxax-!C13k^r`ndO_ymzQ`n)?2%=}$A)bD`Nk6PmeV9d~}f zbG01q&*oZeuqp_z?hnoStuXwD7&~LbJ5lEOd0#qzUmV{_={nEmf0Uo*9ZNefG|Rn| z!TYz?%>%;s`t#bG@DTW-fBj*?JNlPNYyXur{q;8W+PQA>E&Se&IikLLo6u|jloU>0@0hO$M&ZLf4(#mw;<-k%8;+oq@|-N3HH$S!{4U z-S<8@dA>tlMSbs*Tc@)APnT_(_sd^%ok4rk$MLiQO>X`sxv?kDJ-&?R`el9VCXVv2H`r%0FGgs}_!&Yb-XZeP z&uss>bS8fDPo#O9xHswFnm+EIeq#GC<@ZzD{!AW!c5m#%TPRfqj>~%Df2#al^Vo#l zKz7}}>-tOB|2hMGvg@%umt$>ckSG5QjL&!CnIR7i#CfJXWEdFtQ_JLG%KLkNxO1QA z*IaKP-f$Lql`)=veJ8QHKTZ4I$AyF!^4!I(=c_GiO`hcOBebj=xtQc7yUy&FqgftyG+R!>8zIm67wa!v zw+F{%NR468jQ+4fN?Eqtz4Tf4=i8EvQcs^cpT6IP++%HH%eFC`?`1#4{@oAPW83@U z-C|$GzOCsC2QJGRQy1zu#dEuCH09D)aMSPkif21bl%ML3Na?@DIQq2zEgXCOIKAu2 zzPO*-X3G0M-qio!!Bxz>IK*t77t2P2+3$fcfN&dPal5YnT>Q`3sr?R_ZLTFZA^f2~ zG|N8=&s=B2M&5ne=y~pY9Q$xh4j@*aT|+ajiS6saaG;&HM`jP)W|n_cr-8?(j_ts+ zaK+@sHT3}3-AuwFSPOm#8hHPAEziMB+*;4R%u|8uJekX!%-pzbQo%Ekg=}kt4F=xN zSW0N}sfPM~Y6%}0u>Oei1N!@^@^F7Rw||={r^t0SY?rmn?XTrsgtg9s{_<0`U%uA$ zkgl8j`s(%T;XU3nWo?YUboP5DbpBl);#erGukxf?r$IBz+XY>|B&U=;c++x(taX7w=dp0hHX!9&*S{{C9TBPL zy(EsORm!#|)*rJwc#i*ptaJ6!){JC6x9@n@5dIS6G4Qxqhtf_h{waQFH!#hv%ch=M z*GowgVR<)a9_LD`TnB{Kc)}J!&NY6IMZw1_@JXCJ&qvL(Bu=#&nz2E8Ta*L?pt@m<^9CUHF0L2YM>m<`uY86 zKKSS&xPBMt12|laC)R_T-zInvN}bc?LExB~eY94E1%N(m4VI|88`>^*TEm%*$ zyD$c(!s&1=+rm)H@zje_p`KRb4K1Tm`t7{iqa~^>; ztPkd08w{3@(D>k9Fll4Hi!EP8++tYO&(-ud)f{{QNeP?*I1fzqIfFFKqk2-GBex z`v1S+<6qdvozGOPJ!qpq%rmBk-5%)%^IYZ~?|J?F#5hv>$JnTyNG5$sWw#T)f1Y8U zY5X$L@GjfUvyuI&kC=S_!}L9q`1yQ)ZTo+xKIT5t46$$u%Mg1ewljXf_MOke%zfe{ z!;kv@1N-`>Z*Rr}yuYfLF=8L1&A5TMlMH-!`3m0wKSB6B^BxB>|9^$+qUf8<+4p!> z^KAPO`X%Q3hEsXx<7K|FTf@7#AM*X-*Yst~JER}-J$0ts9LINyy#M$J&tuPyeUIfn zTKx1A%$#mM?*JWUz6a#qbtdl=oJd|foDcKNe2pxJ@3@!g{0Z|c?eszZ-M;<*NW0iK z*806R-W5bb1KW5#XE2v)Iqk63ziiJ7RI@V7&-+7sD`sn-L%ezMvu4^RZ%#wRO z`Sc6@(QUDPcD)yUfM+A;coy?c{5<+Pe7DDQlHa;M=3BLm(NA0-N0$X@=gd!W?SyoG;v1$vmqs75 zHu76B-SU7vT734D=vMpaXf5k6TN~wXgjWzR#Mcw9VSOR-_Y)pwkB)}zDYBIKV%AS5 zewNi8-DV#xi-Wts2uUnoE5Gxm$dEyaQaET&a7&0V zv|EFOY`#@shIWDZ#=vz7bDVzp%01n3@NLY?%mwAUI~e2i(01HG+yOkhrk}6hCzx*( zV(?9b`7YvTzKvMSw-JlE2Z;GLg7f&5f!{`GJl{r`(9!>GgvRxM8==cT@oj|7Hy1pA z%QxRxxXd>c56Sst@!$OS?MobsqxhCKhmbc?e)!M3RoeKrdNp6&~oOU-xg#_tNe!tWA1Vt!{p7Vw_na@TEQ<|r3%o?UL@&Arm3 zg97KlyzB8C@6Ye9-vk#qS2Jhi;~Sy??~hL58x!7p)^||`%#qR-={K+Dy+wVuBr*Es zf8sZa%=>ZF>EHb=qG~hO%KrS9e~W16{;*Fh_xfAL#uz3-Xh@H5|An|=$&`G5O& z)jAJpzE?KiQ1dOb`F5IPcoA)DHupVq@2iDXV18$*09L@f{`I+pm&gBITK^}&_l>Rp z6X2bn*8gKCQ?<;z`hrSvn;lq2G@`ktZ3oh9eRo}~{6Zy&I{^I7}t{p;>P#Kned$c^#sBg7qI;M0VGhyB~~TB#dd`3&b^@8-T%8gESukW z)Aw)mopRpqe*^vKuwb6X5Ct)x=3}g>Jrsz z)upP-G*yl2a@7^8wOZEwYV(Zd`K)TI#=M~VqUuYkZK^M;zM}f7>T9ZR7`1j+O;Fua zb*O5x*TW0tkt1GU5hy{4=Kz1z^Sa(HxujJ1+f_g5XMI$HJ5 z=s3==v8XS4K3Z#({EcR+_828MG~OBQK)vXA+2gxxG$Fba9r7LDo63HaI9~QwP3AYn z$4fSQI$m-}J6=vzJw18=%lRC`@lp^qIh3oVUp1f_R1K-F(j4wlty8^Mb+zh!s%uo& zYW@$X)~l{lZBTto^>Nh=s*S1}RiD)QG^swN`n2jZTEk~mTeLpUX<1=i{*x|8boqH* zep7RMTlF2)cU9jrYVDyqM0GFKVXDK;F|qbh-B)#jDcw3)b)xE_s)wmgR-I~UW$Dqd zbWg2^G`BBQzcO1n$575O{1xvsK8p9E2gwv-4#MN>&|0HhFT~*Sb^K-Z1kS@lWNdUU zI!QHy^MqgJh`xa4;NL^=rqO)W0$Qp=Xe*3;mFgnZ#i~nGt5uh34$CyR8r9{hD^%BN zZV#x|tFBXRP<>4Gan%i~jj9_}pHyv9eM?Ko8r9{hD^zPWpJz0mXN^)fa-+?sTr17k(DGAOyyH8z#(Tc)mPxWl^bOQpzmsH$ zE>9)ZB<>wXeY7x>@GpvIFXNXL_8`?^__qTcqRYvgA%}6D&P8+Z&S7#oZQ5aS200vt ze~p%_jbAmO8dMFbuF|yksMe|8tGZhCKGijA|RO?mOsXnQtG^swN`n2kMW~(*a z)W_Oab(D#>#;6`@lp3I&u zMNd^V=kR1aI2Wzet!p*@0o8idb*c@jkEuScxV2wfRPWcE*Q!3CTCciJwL$eU)yGvgs5Yu@RDDvlN%bk!r&XWPdOoZA zg2ue6`kqm1n5t<-r*NJa9cAjnd1BOD!&9t7jSc4s$B;9GujDvxb!fS&Up1f_R5f?- zsT}!d(FCrYsT_H;yr0JJubNDsYAWqR2b#^Xn#y@)EORyHR9((jEmupwYCtup8d9xN z`$ejYRhOt%t1eYtrTO2ZTBmxi>T1>dRM)7k)e;|2tyf*A+MxQF>f@>#R2x+{sy?aO zr23TV)2i&$MEi%jdam{9OmKsgwOwQyeU5(~& z6=doiB$L)=KFj60)vp>*4XTDzS81wyRO?jlRb8!mpXwUbwVLw-s`aYtRLvbEQ_LMC zQ_LMCQ_LMCQ_LMCQ_LMCQ{FR{dN0VN&7oGDOY>zKd$b!mmYPh{d%-lV|1|D*CdRb+ z)3nW>CZ^4wCZ^4wCZ^5jH-}VBt)_{o)ig1+nkJ@J)1+0mzM^VMpT-fc6dz~ZI@Db6 zKF&I`ydTHY$B{H@dbvKWk5B94)2p6mRGi^HG1t3~cKZOdTrK^o0o9;tNY&Ker}g(~ z{e4=0pVr@}_4jH0ePUVwpO_ZFC#D7PiD?0RVp;&7m=?e%rUmecx%Pcxu6>`FYu_j4 z+V_dM_I+ZmeV>?X-zVnU_lddoePXVCpFF8`Zc=?p^=Vaelzd{2l26R_?&B!UN6l65 zqvd2zIS+~9JiJVf(5p3@_WW7Nrqwn2EP6cWXC-RxeaCZtvTVM+Lp^eaOvk4i&{I{{ zsy?7vuewgPLG>}!$5l6|HmYvq>X^=1L_VBF8{~BS$S+*r!45f{vd%!w9qKG9)56hVa zGBIX+S8kc{UAd04%5{8KuA{ATuNmK!>zJ$DYsPowjFqt0@m;x&@5*(2SFYo`a(b0B z#jpPLtAG9KU%&d-um1I`fBouTzxvm&{`ISW{pw%8`q!`i^{apV>R-S5*RTHdtAG9K zU%&d-um1I`fB6g1?44iz>sSB!)xUoAuV4M^SO5Cezkc|N7Oxe)X?k{p(l% z`qjUF^{-$3>sSB!)xUoAuV4M^SO5Cezkc|N7Oxe)X?k{p(l%`qjUF^{-$3 z>sSB!)xUoAuV4M^SO5Cezkc|N7Oxe)X?k{p(l%`qjUF^{-$3>sSB!)xUoA zuV4M^SO5Cezkc0A^8&LlS)V~4sZ$SMUQ2z$h zzXA1cK>Zs~{|3~*0rhV{{TopK2GqX+^>0A^8&LlS)V~4sZ$SMUQ2z$hzXA1cK>Zs~ z{|3~*0rhV{{TopK2GqX+^>0A^8&LlS)V~4sZ$SMUQ2z$hzXA1cK>Zs~{|3~*0rhV{ z{TopK2GqX+^>0A^8&LlS)V~4sZ$SMUQ2z$hzXA1cK>Zs~{|3~*0rhV{{TopK2GqX+ z^>0A^8&LlS)V~4sZ$SMUQ2z$hzXA1cK>Zt3{|42+LG^D?{To#O2Gzeo^>0x98&v-W z)xSaYZ&3XkRR0Fmzd`kHQ2iTJ{|42+LG^D?{To#O2Gzeo^>0x98&v-W)xSaYZ&3Xk zRR0Fmzd`kHQ2ooy0M~v{{To#O2Gzeo^>0x98&v-W)xSaYZ&3XkRR0Fmzd`kHQ2iTJ z{|42+LG^D?{To#O2Gzeo^>0x98&v-W)xSaYZ&3XkRR0Fmzd`kHQ2iTJ{|42+LG^D? z{To#O2Gzeo^>0x98&v-W)xSaYZ&3XkRR0Fmzd`kHQ2iTJ{|42+A@y%a{mZWaa_0@H ze?#iukoq^I{tc;rL+am<`ZuKh4XJ0Z18&dy<)W0G1Z%F+cQvZh3zajN+Nc|g9|Ay4RA@y%a{TovMhSa|y z^>0Z18&dy<)W0G1Z%F+cQvZh3zajN+Nc|g9|Ay4RA@y%a{TovMhSa|y^>0Z18&dy< z)W0G1Z%F+cQvZh3zajN+Nc|g9|Ay4RA@y%a{TovMhSa|y^>0Z18&dy<)W0G1Z%F+c zQvZh3zw^cP18>%`_RW@gI(oBZo{rwE&IQTruozeMeqsQnVP zU!wNaYG1AP)oNd@_SI@%t@hPwU#<2_)qbhkFID@cj8i&fDXEN_=TS>ZWtPiT{i*@g zplV39)+l*)$TA(FFT=i$WivuwCT4`bOw0&rs7;O9)TqsJwOOt< z%hhJN+ALQaes_(0R;bMiwOOGyE7WF%+N@BUS{;|w>bR^{$7QuTF00jXSuHvEq?Yz! z18SZb*6O&dR>x(vIxef#aak>;7)vuQtECj9W?WWFDMrn>td=&xsCkxHOPgTSj4Nwt z^NpHuWv!0OYIR&ztK+g-9hcSWxU5#kWwkmktJQH?t&YoTbzD}f~FwTvp2ytph00jLT|yqGi;K%W7#ujGA#-Ev>|S)Qrn&Ei*2w)p1#^ zj>}fj;yo*?Xrqjp5!pQ&bC1T{qcL?FQ>QU?8gsA4+^aG7YRqblS*GHF>+@h^|i?-@5+N!r`tKOomdW*K|E!wK{D_NWsEu6hqqh?gq z!r40vHKVE)ZPi<}Rd3N&y+vE~7HV=CTg|AdMO*b2ZPi<}Rd3N&y+!ZZE!wKLXsh0$ zt$K^L>Mh!;w{T^dvdpNeh5a&lno(7Yw(2d~s<&vX-lDB~i?-@5+N!r`tKOomdW*K| zE!wKLXsh0$t$K^L>Mh!;w`i;0qOE$1w(2d~s<&vX-lDB~i?-@5+N!r`tKOomdW*K| zE!wKLXsh0$t$GXBFZI_}y+vE~7H!pAv{i4>R=q`A^%iZ_TeMYg(N?`hTlE%g)myYx zZ_!r0MO*b2ZPi<}Rd3N&y+vE~7H!qT>ff;XH>~~*tAE4l->~{Oto{wFf5YnEu=+Qw z{tc^t!|LC#`Zuip4Xb~{>R*1<6~BblzhU)nSp6GT|Ay7SVfAlV{To*QhSk4e^>0}H z8&>~@)xTl&Z&>{sR{w_8zr5kAWtmZPSp6GT|Ay7SVfAlV{To*QhSk4e^>0}H8&>~@ z)xTl&Z&>{sR{w_8zhU)nSp6GT|Ay7SVfAlV{To*QhSk4e^>0}H8&>~@)xTl&Z&>{s zR{w_8zhU)nSp6GT|Ay7SVfAlV{To*QhSk4e^>0}H8&>~@)xQz-Z$$kYQU6BNzY+Cs zMEx64|3=im5%q6G{TosLM%2F%^>0M|8&Us8)V~q+Z$$kYQU6BNzY+CsMEx64|3=im z5%q6G{TosLM%2F%^>0M|8&Us8)V~q+Z$$kYQU6BNzY)EDBkJFX`ZuEfji`Sk>fea^ zH=_QHsDC5s--!A*qW+Djefea^H=_QHsDC5s z--!A*qW+Djefea^H=_QHsDC5s--!A*qW*2w z{#dJJ`eUuyA8XbASgZEOTD3p+qT0NuHZQ8pi)!=dH=X%tG$qyftcOA$Rbe ziOI*zLhj&lW3zMYV2Gty@&<7S*~% zwQflW3zMYV2Gty@&<7S*~%wQf;UH_Mij zquVWqsUgbILo;-lqsKCSL^*mWM-S!bq4c{@`dujfE|h*3O1}$b{u*We8fE?(W&RrF z=%E}vl%r=kObt=ya8c%$QRZ+h2Q{Qt@g8(<)25-k$%FEI5@n7OWsVYMjuK^#5@n7O zWsVYMjuK^#5@n7OWsVYMjuK^#5@n7OWsVYMjuK^#5@n7OWsVYMjuK^#5@n7OWsVYM zj?&uO%u%AuQKHO@qs&oS!_AXzlqcKPaPwpv<;k{{sQZ$r`;w^plBoNVsQZ$r`;w^p zlBoNVsQZ$r`;w^plBoNVsQZ$r`;w^plBoNVsQZ$r`;w^plBoNVsQZ$r`;w^plBoNV zsQZ$r`;w^plBoNVsQZ$r`?9a@%f7lV`|7^ztNSw2v=7!u(DqA%(BePEXvF*%FHavObyCR4a&?c%FHav%q+^xEXvF*%FHav z%q+^xEXvF*8d7CmhGphuQ08S&=4DXkWl-j2Q08S&W@b@lXHaHmP-bUPW@k`lXHaHm zP-bUPW@k`lXHaHmP-bRPW@b@lW>IElQD$aQW@b@lW>IElQAPyTSThztnVChInMIkI zMVXmJnVChInYG56nOT&XS!*0VsgXs__W(m8#5_vCOy(Wn6|bE<+iYp^VE=x$b0zt^ZuH=29XeIUqCPnhE!TLzYCtup8d9DA-F9qhjU}a>$S=F|9wW-Tb13gI zqP)k5@*X3~dyH}4&>mt#OSmrHHszv}i&8F1xhUnLl#5a>O1UWIqLhnLZoF;Er6)1v zJ7xj7@2o>JqX(eA@6JbSjZz|8De?SxHzjUIO^I&G8jJD<8p<1JC~u&lyn%-D1{ym5 zyEjlq_VI4Y;vChoyjqr5%kpYjUMO8bD)KA^M@ zDD4AE`+(9uptKJt?E^~tfYLsooQ)`FBg)x`ayFuzjVSE{O8bD)KA^M@DD4AE`+(9u zptKJtXJ*1Sb55eP4=C*eO8bD)KA^M@DD6YSHq$LEVVKja8q{*A_GsUD>Uk{3$#5Kb z5vB{BIjUp4s|?-I-Ju8n_#QR@31+Sa?j0%0>Jj%3ZT4m z$@AQH=n^^43511&g-JlV!dxhVInd3|*OBi94qrBDfLpcyuc zTugZvQ{KgtcQNH%OgS?tXC~#$q@03R^_}fc;g}w}kqZP~Q?C>ig59*J68ZI^+WO*J58veM);ot{V)=;DbCUh5*#?6LM_3z7p7< z>zjf4UEeKo1N(CW>E|TzQ^Yw?2&I7STx{oJI~Uuz*xrckjo99p0W)AGltDGDhgR4E z+ePMKGmrH1NI!2gkiLxcWuz}-TN&xgNMA6m1Iz$#F1KSpvQ@%%v3~%dlNm2BfQ*4dhWn znahVl5s+p%cFXIa3EF`?RyZLE(jgbHT`>o$pdP}|0X-tMgCQAwkO##OfEs9kHo&$P z+m+a^#C9dNE3sXP?cE&byRo^u6MFe+zoC!{*-!u_Pyuz&By!JSAdh><;~w(3rx*gj zF|EVC4*NRn>#(oGzOEg*#QYgxxi<;YAs32Z4pc!sgrNg^L{<-mWbi>A6hi=NpaI&T z6M9AN8w#nA4FymF6;KCF{3PE@!0vwR?#J%_N|CksA`j$>)Tclxv;uytXCKxj0P*Xx z0K0YgZQXoW35~D`wu~C^>}m(e{MJfxe^TU_58dz>7J+(*_aG9{JCO*JixvQnW|6l@_ZIu`7IANn0QURsN+8|leAvWKo6H8v{Id`0MBYsT z(!5Lh4(vO+McxxAgC^J_^8QR9{DAEruzgEdots;M8{cmjhi28g) zIUiB($EDCAvX%0;)CQ0LuEj5az>rAn(t6MY`9Bd_i5ls1f<+NRcnS z&;)GjNdxSA$n&clm;mdwVpjRYH+Ncjo zpaxp`+AbOL!7O*ecK*EiU>FH$kPC${9~xkbST;Y)VOQ`gV1y3r9He&y`e`QY;HUEw zfV581I@^GB&K~{@Ch@LRSPA6kBHq=_uaye;pad$R9-4r(ZtCRm!br$~90&vDc*xUB zJ-lr5lHN;QytAPK>VQ1>D;t&9C8+F`mB#`%RGhil=@9yjQbDpH#gD{~8sLPOSAdfvsvnTb~ zvl3RqRN~U;2#1kwSff~brvUj3r<~zs&@0x6p^ysXIidhc0NZ`CpjE6y z>X|qLX7Us8gMqS=h)Ze^Yd^yM$Zvo0-Jg2zPr3t=AQv`?H8M@CQKT7FBi85ym?PF0 z*2nbnr{)7<9q0wpkHvnR6G%UfZ7GzUvY9_~UkJ0I3@Y{KT&#mi3FkvKtbs1ECZs}> zSgF(}mAq2f-&D#bnMe9BfUqg z$>cq`5Y~%z_y}0TPj?K4Bp@zhB#=I%21qlNZBxsj0ougkr>U&W8BhskopPoTH;ufe zr9d7OiRB|dUn-bo^7VCzbwoM@fV_{`D%NjuVUt)#Vs|8E9$5fpoo!ic%VIsN7)X;< z#ZQe4hEnK&9X=@!va$ay_4(~=Xb_7}bgg6OK(|=O6#?mU zSU(<4m=DCCm=807GEQt3E7u80kPf|Kozy7Sbn-pf&;aewCDsh=W{`%lsdWlXI^+UrF5V*6%p9nL zUa>C8gEg>StV^?j@-CykmtlKZ1B8KkF+Q~zpIXJqKz_y878gJX1fU8?Ta0}%_QlxG z!hRO^v#_6q{VeQfVLz(^>YxeQp%bvb9Q(_$zuX6TPz(X6fd*&;Y%lK>>x!Ykeq6ym zUQr3`!)(&eX8&i0#kw*D%3zaNe@KTav98L3F0o41i*+@2*LY#2Sl42EZ9Pz*Qfy1> z#JVm4<^bhg*CW>TPACLy7*kp|%!h8V<`hAPSaZvu63B1vdT18w#v~{aYu*T`5vwc> z)&P0lL>@QQiB(R%<)kg&B9=cJ!hkOVd13|GpCIJ~w~7^FIW$MCKc)coevq!IK2xm9RLF;3u@+W9jaYY3?j1!? z0_1xK`P{+wJBxw*s|G_Ukk=yY7PX1B*ax#=vsg6WEK zjaW4~upXMlTAl*ftiWc)8nJ5Apj)h!&05<1?s=9UaSWbfPH+h z0Z8`{=^moY^-f5FbjXEbpuP{2?%_tU9?1ssdUOQL5vu{)hWXGX)??T{wppylv3EXEMlx9N}zMKA}dpdP}|0X<@UHyBbN4@v-=?>fbbrUPY1 zdxTjkm;uEw9~xl`Y!}-~fE36Awp#&M53RsYxeQp-b#N zoR9?RkPAgH2daSl_XtCW*a;&bAJ~?_wuDC51lz?P!u}6o|A)+gnNSARz4+FShMPIeWDObsU-v1<(L(&?)vXALKzX1fT}k zK8)?d%=TWf_ogm;H;X--@`htG9Gl@C&?EMUbjXDwSOeIN*bLob@8gA$kO4D*eD*1W zYFH1gum!e@otOaRlUN1q&?WZ1sgMnnxi4kz+W@(2A$9= z_I^WweD=$R0w{rcvG-?v|2cro0fYxsi9Iq03dJ5py+={+QPg`B^&UmNM^W!l)O!^5 z9!0%JQSVXIdo=YPodQ{q53|J{L);kF$FM%80_vb0y2MU)LOSF^5m0tAWhYao_OF z$5+F4u@9oo2hE20K$?Sk#h#E4#7!V>!b-p{mGIyk=ob5sDyWCB*b_^kQtY&BD1Z{E z5c^P$!=cS$Pa=L2@sqXy`5YF28nM%dLNcU7E)>BWAaBNmc6t~(phs-x_H4$5_Tht} z7|7#r@;JN!+MpA9#hx-0)`*?K_KbGu5__r-NI#YOPi+)C(+TVc<3u|X+f4Rnniq1R z2#E6~19|v5#Xe#LlmTTOL0LzbILi7BW&I`|~&Bzh#}VqW#+@v5zIsW3fLL`{M?~Odw4TVNNN` zhib8pcR~tae|!;?z!o6C6No&dq^2K>FNGVxQ!NRG10GorKMF)~9b5 z`($iSramWA_Kb8O|5Fm6M(k55`_!#spGLW-b%>ouS$V9VK40uJQhbRr0LnUhD3Isbo5emS3#iXI+r=)Z2h#qoLhN(BFdG6unseE9ZZovQRU&9@*q2hyrA=aARtlsoP6O6wQO2zKK>3%CggjUy_7&J) zLHrfO&rX6YC<5YUQ{L=O=oR})?5?ETE2+no1yBOi?@G$NvI*LO`uxEO4)LD24#k0d`kmcNKOe*p*;cf?WxACD@fYxeQp-b#*oR9?RkPAgH2dbbR!q5RdVqZHLlEDXgPz(X6fd*)UPUsc8 zbSR`kHWWY!R6rdxK|6GbeVr4MARTg{2BW zsDgS3LkIMTedAzA1|Q@>F$ACn8lVk2p;zpALm?Hip#Vyt0_wyr<9sgT{Jv>0Btbgl zLJ`b?DyWArbU=^T<=B=dgAekc7y?iO4bTRi&?~loD5OF*6hH}7KpiweJ9LR1a6%HK zLoO7-9H@eN2tx<-h|Ti?JD3bU$b(`CKn*lN8+1ai*rB123fWKqB~Sr%&;;$!CH5bk zkOb+F3q>#os-Pai&;dPS&mRoQ;DbCUh5*z+1GGUW^oq@M3;X6&$c6$afeL6A`m zLKUosRv^zi$+JoT+o}}Ef*CLqu&=6wmCy*JsoDbD#a@&E*e}9T>OelkDSP!kR1-6S_od7A21^F-==EF*8 zgiWwj?7IX;KpNygA(TQTtbu0O4BcWc^}(x;;kOkCD&gdBFMx^4^dNtZ%4Vgp&hnDuh<(CAQ>_s7Yc#=o~#qQDH|%p ze#!}~Kb@M=_Y8U%c(tS$0&qe^{ezsoh&&l)i9H9KqSBl;318lyi1k(PK`uwv) z>@O1_4Q2rOd|3^RuotORVo-VEJhZxg_NTLxgetrX@1cH5d^6Knx&w+pNn`(OEDf5Y}~ zSpEi^9Vw6l+r{o(Blfp!|IRCRG({Ye3v-|zI>ccOhCHYdhn)^>;&2Rw0;q#7aX5*0 zlE&ExJ>qbsK`}Im!<`MJ@yr*8m*qGg)W8;T#FI~aE(8GEc+w6^g?e!eCLCN0o5iu) z9C7SE5=g&0al2Om_PckAV~@c=d3)r+Y^Z=W&@GOH3@C$Ez;=j05p;-S&n#fup3UOe zi}<}*->U|;i(@G1hL%Djus+NObAWvIrp|j)hrL-Io&fnky5ZzMVk8s*>mxeEu}>1P zz7P2%QqM%nP7I4<-xR=RU+S2Y4yDj0j{WL@`s`1-{R@Hh0|Y4Jfc4@SN&Lte5P)`Z zjH3KebHp*4I*rZ&Y{nFU3AczNnYaV9pjsSb$!DB_yvC7cTo}5h(_oW04xyYwNOuTzI;2+|6Ul2LHfbYZ zCNzrUP?itH{?HlXm_%NOVLO>R99}JsDTEn4;+TpJ&u|=5**-M@HLzJ6|BJkLf$w_! z|Noz_*L8TE4=S02w}fIU3aO#hR-4vZYaI=(ZMD_fW`|mY5Tyg9B7{(cQIrl^2MW;; zLI@!WA%rme9@qQ5SvlQ4pU?O6`Fy|s+h6XzU$5(WUeD+AdS1uZwby%fF+m$J1?(Z# z6}Gxo6H9;(2}J<9&VgU&z|V6#fm&kcA-x;q5(%s#*1eiokJexUv82ub_eq<;E@H_X zATK!u6ab|6gdaU8fz8BvnE*cZfEEm4z!Cu}@V)>96f$I@zpcK>s)O%zKK;Fo`#0v0P z0Nn+UFN}aZuz}d9H~^nUHv`BYy%p3EE9wlOYYg;`sU}v8{Nll2B7hIY`-qja0k|(& z3U(4Jg=}dRP}j)6gaGP=vl50g5?0m$Q~=zUZ6k*B4_1!*a_FzXXC>|{4-gx>oY*+% z8i%xTOTivuRT%)+<2lFz@Ok_OVwW}p1pq!@HW5H}0%Rx52e`g`7}!Saifpip*p;wx z55h=$yj=^vuZyb3iTFOKdJ| z&rJc)kLMyb7q;gjZ|*)~H$%tG6TvC~UvF^%w%i5qV|h1_4Nx9? zQ?`6RvB%RuHL(?Yh^>S_DE zQ)vJ;p4v%lBg$?>+Qz-aHf4c@0OdFBC-yYtp58?48Q6cO2+RZO9(JFNfII+So<-WT z(Dm#AVw*!S2W$Y)`CK!Q0IC4woa!Yb19ik+ zYy*-&DVPqH6MJbPv8}MTbu+Oy7ZBS4A9o<_9TN-&HN>z_W$(2Fdx-5!1F-*LJh6{< z5&IbFAH&z(kl#Iw*dF-&X*Ph4Pq!2MteV)~3SytT0BK(o5c{$N*iUTVDq{O_y&p2) zZYB0Tbp8mNKW-!T6LkE9w7O0JazCdK`(-AvUzZc746uv1HV>=<+ra_idK~Bs27@Xv zk2vRGCvoh(xGW%UOd@W^fyKnFVPGq9yBnw`?m*T-nzNs{yMVZ70_gEWP)a;#17J5? zO8l_aU=#5s(A5M!HJwDf87F>tJnc)u*-nF+-Ew+73JXDuc^U>os)&^u@Y@xc?oPU1sgZ|HvF*%ibu zgpG?({-SE)7jrNSpzJW{7zR7TAeRGM!;v?97xCN!#PbV?k09bBHxVy{{OFd%i+2z& zokYAW9;_l>4w19>IUW! zziBX-58%^ml${Ozb4rQd+?x12aBCj%+vgC!qXXgf1>%e9h~JMg4=g7BAZ$F;iFh@9 z!C3`g;u6PP&L7=Md|6B4n1lIp=zV+`*i3u{bgY1`6-z-a*h73}8&E-f6?CtfNqjZ* z;2EB;fiBFqyv8KH7BcH_zpe`GA-*1dt%qOhA-jGR*hzc?@;AVj4Y0KV=^K##Bz$-h z*H1y;#*p}?3B;dHAdWecZ%zU=#J4mfUb~n0i_ra2Hu0?!iNCyw_$%=7)mq}O!TxKz zh`$j}e0wQz%xC;9`196&;%~$54*32K^uOB@%qRZd6yiIP_I?_e02YI7#6KX=0jTRb z;vcpKu=ycue7K)Dp27L9EKmV96aNVMK1uJo+9F( zpnjhe0QmhWWIx5{XOQ`9AMw3giGL26FXj>d64(16w-3I5H4MxL+lhbO3?zU&FagW~ zdx?M3jre}(+mCYJ))M~?d6-lAfiy53Ank`X0OfvwKR@gx{$ppbu%1=;gv^h7KppX) z;y@=b7!-ji0J1-A2D^yYnIIk@zYh6z$ge|w9rEjt|1e&+|YH*hBmm z7jy=B0O`L}1C;v(<$guEUt5C|0KLB=U(Nf!ZU^{R3aJf9165!l*berS(BeP>C;-#J zDzJ+L)&-#>T}Qe;2W$qAXVAm4!8}k6kj@~_P0$*ofFgi=z8q`^urE+fz`m#gurH7< zpijmD*ugp@B<#yo0QwB18%Q^hZos~=89*NI{Rk8G&3OR&&FujC@%;i}LBCZ6px;8e zg>)O~b{3cdAaCy>;j{#U!33}vY$M^Cpc5zn^8w0x9CQY#j|Vw#2MIq8K%YMkRD;a` z{st%?v<4{v@&WP#*bBCUIucXan zx1I-TNt|E;=s95u*hJz)+@F{RkbmMX5+`*4RRF%UnMtB;9trF%#L4r)9ulXt2Ezd4 zPuU9UNW^ynuo*ucY$I`MJlIE~-DVQ)mjn3GAsZm=v6?j&&@d^iu~ zyTQ+H2S_ABPa^#24*Bl;N%Vld9*|4w1{RV?<^b2p6Tl`CJzbCi<^ag`Y6Bpb(i+r| zNQJ&s_>c1raee`)CD9u;drtyLPea+X%_RC%lSqe8eFu}sfNTb2GnNAQ)DQOhO#xd; zWI}Id8mIvC0m^2=&;BUWAL;#}w?FLS>_cR=0mA@%%h~|;k{A#Npl?7aSOB1NAOYAP zi0eTv$N*JfA=pV`Fb60zcplh8VhHkwY#=cdpV(^&oQ;SJO2IA?+3^6rWiJJ=cVQNQ z?h8@wq9Oo)FYW{ukQf$%1W*7_HfJ!{N@BPPT7o1Jxsb_){@hxyk3?QG&>3WdZ2&g% z;a@)F^Px9C4dj6dU=FATo4^jRpTr0kv<3+v3lxD#U_Mw5YQZj0M`C0%5D$_-HmCs8 z!9q|2wt>AQ3OHy9I)OBh2PS|ypc-rfJHUPtg)V3f5?2Xt48X4{*s59xAYTRD<2wP!j)xBHsl}zZzZ7;ZO91c<`)e_w6hPO6 zr6ewI1`d$G{#sl)7;GRh5&08Wk+>=aKUeD) ziR)Z|GLw-$8Fr^6k+|Ljke>=4rb6#D$WPl$Vmfq9p9G+LdL4-wNS~1nrU3XhV=LH6 z;s)rw0lIDsK?Gz0l(}&iiJ2VWekOdHIR`-hO!zVr`es3PRws}Gpm!EzWAA0b! zVsQuL?_5seu1#PEi3Lbs&~|d+`=pXxhT-F5I!%g0noj0Z;VB-5e0rM>QoPGF3PJ1zATyps=+3( z1MDYpp9@-p1hC-WKrM9Ck+?qzO#dT`BP14Q1K586b$p-zz^4axk$A8r7zPfIc&Hi3 z029Cl0AH&IgFPf3?gT2pP7;qGK93+ak1PONNi0FRCAeOKyrqy|3f+$qhzBV1=p?Wl zYyz;KyUgdkkeCs{!z5nG2wQ*)T8#pxiR}y_^H+Tb>2r-}1!(wwFWS?g6dC4h~!rC=U_jkU0`4mQ@o#=1N(9l*xAog~(q05;ac#(LOT4;$<2NNm98 zldS>dpIkuVsd#|vr)o%Sg#C@U-#CTDrj`JDo`(LX=YVY_o=E_x$20Kt*@+}Jb5I4K z_c?q%w}Zs<(76S5*aDqfYDnO`PSmE6cmZW!*hJz*T)()L#7l$0ViH>`0Q9{K`Ik}l zW$1b(15|^(0QaxDpe2Y0(DP~<$Oc7V0+6ToyZA5?=HPz!c|y`YZ7>n>;s;z0sP z1KFSmOaRltd{7N)KrPq-_JTSRZ@8c(hzAKE4P=8NFab;l^FcMJ0eip!65CA>2hbkd zJA)K37!-giFa^v5i@_?e8Egl8zyT6(njj9e0i8h#7z_$P6_^6%fyH1I*bKIVJtW>j z|9EQyiMNx$4iY=s0LZ=54Z!Dj(eCfLpff<9es3>{oydQGA&C!mlGv3^;^PpYZo5-R z>;a!lBJmlK*o!)Tv6RG@MI`nWkoXE^zKM|7zm>#ywIqIk%nx-WeuC~g`1MN#Nh&3& zSCbSGk}``Vo>8SWg`_iyq_=@&m_V}0K9bD}NH%XxG7hvDMzZA&l6ZcRt)`P~oksFR zlx;JgB%T%Ise4Fb-!D5sXD8%!g03?N)Q~)L70I*qlRO)CyF#|>0+I>YB+mioLSMIL zBonui?6HYt(nONjo6DXklhTP~Ds=YVOEMjL`?e&RF_>h(?IiopAvs_s$w9Rwhjt@* zK?TWd_;ArelEa{X_zsf!DI`bMkt{^s=nf>uKu1Y7$xBea0_Dd|Avqqt;vH6b`FxTS zk$?3rlGkn{c|8ZiNKS1D4v?I-pXBuABxgW3&hF%mc_e4fBRQ*@q$HYDeo zU=zukCy=}adgnp^tw_5S^|&26Z-@N+9VGAAOY%?%J17m@*Bu~yNcxZ8%X|efMi`~lD|wLgHp)QP0$+52X$nytz_^vU=A6AgHlin z4v--sC$qs)u!{^M3n1T^4iJAn*P1g3z6U<23zpwDUsI)F4#049M2 zpawvPjXb*>fDRk^_B^nM42J;pJ4s*yK)M?O=y8{m;UUk92Po%N0OWhn>Fp%L=b#OM ztdFud=P?454e)(DqNeY#bUKBq2yYirNU%-BTj<9TPT`2Cg?6rzivBlGJH7r|BS-tN z{#qwjx9YDM#px;a*BsZg>#qf5o~gf<)SPMc*Crjt66&uVI+{(bzxJBk(FWfXj9T@n zQ&)WRFnS%5lW=zZ^aQK@f+)pgyc4>x#r4-d6?DD2{yL=Q3CGo6A4YKr$<%{N zFt3iMGAg8zR6rFJp*EC@f0;Rge?7JX{&d9Ea7aX`J7g-T9F$Q$<^~GeQx(n1 z89QcFN%6=?_nd;iD43K#DraD2B)1@^cw~NgB&RGtQdk@*tsGudm>bC}8Ix0349^a& zV*h9b%aI%_+&`xnH{DU0B2+0tee0`u2`Zb9jFO_fNM9(tq!M?3u1ZDzFNz;zB=R3q zH4u)Lp}h*DJwf%)cIcfQi3aAEl^2#2M^10o5qAeW-w=gUe{=nJ^^Q5Nf^(|!`!6Ce zB5G0f{Rn!0tnW7jc0@@rTDbykPtoyHf&SBl+T%|iBvqdqix9U%*%Ew~p-<(L(pQGQ zoR9Qk{9S>f6&0mj+PBX`YmKdJS6)(CmYYAKq-G_`3+D$6-vXF>`Qu{`HZdH1&es@u+PqO zzn_OAnAg8(t@xRh1`dh4@#cHVhimfH8-5P5&E*cLtV>Q(K zuPwwzn(BdSR#&}M)i5^m#Vo3xqH0nSt#^4e5~CoI8;y5NrlI{*KUVcs^K?TCshX>v zsM;jf!^*L;sL`1fwWMM;95QNO)z}7&E!7ZHRhvJ~1jQ(+^r~K_BG4GEhOyEZF*Obv z`uM@+RPEGGN_lR>7v;yneJvIZm7?_jb$hCMsjXlo9YSJ*;8rBK5bBK*O zwbzcVD~GPXu@Rb!y-^N&i?SYDTVuV-j<%iJcQk1HPs~(*U8~p=uo|7Q^>D;*{Vj!( zqmk;1e|0_!SN-uo*ArKRu-DFv=A|Mnf_+>jat7ilJqf8vNNEKLm80@oMMvWxTxa3b zsW1M$dZjC-BNK8;_YkBg-D($~9=+=g`E=+~vt2R`j@n3uw*D9kePK`O?t|1cd@7qt zPL=3^lmWO`*S(O|z206rN-4Waz7NQ%_cROXjaCo!N@-TLhmVdll~n*;o`*`=m!(wjXL9Ymt~f^@MzI zEmS)Vinc^!d&F8md8qn@ve*!_#@1IhmCp_SsNSr4SwlNCMn#Q3)yI_Asu!p`WkHP* z)yGsTsl0~qscfje6Pp7DM9Vg4RpkziZv>KR95u)_lv6Dk>#={FJ7O_vuzhF?s@|$% z8S^kUlc+ev^v3$qpX-gy^2u1&)CyTzzpj;|Y;337@Z1+$=NtDnv9;&meW!{>!#Z>D zP9U~_>V?%Pw&ETv*O(f6T8gb%jZbe%wqZ^FvnT9SXjSK&O0IF&+qnCP?H*&#L~2cp z`LA|FYJVQv1FF4VY*(VzY4t1{t3_FK*B^T#ZFpLVot-ENwJJ5#wj4gHwO@G=v(>Oq zY19?lS1P%fH5K8QH%dz^nt#2<+EHJWWW$r8dLmW3|1#(q7rm~CdR2`39C#6vRWg_2 zzTsKr;Pamb?;G17w#xs$4I1k5$N1amZ;kO+JHvAHpxCoiVKl;OKiLi*shTNIW6xzV z%j#Z5U_>-e?O7YVRB>$VeQIyrC0e#&AF66tffThvkM*h8iEu@<_0)5&vZ?lfiLe?w z<7$YlihB=~I`n+~zj5mH?>;^MzjPiHJKIuicJRKep@*p!jy*xBmiu>}2PwOMJP(TX zhX3Aqkn$pSI`wCJ@y2=L;GKMKv=29&ASfAiF3}LNKaRD7PZJyZ@*nr&YF$)g>VM;0 z>ENHy#Lkt}xtyBW4m}@hoYVjRb*|KS!l1^(|M$+7>_b-A|Gjf16-RXv^MCDJNu6K* z@m#5KO#gSzmF&McFZl1AE5&wlvH4z&bv5_@{kf7_75@F_N{!>K;gm?N{jIPk{_~$* zw~G3zb|nq7a6`G+^LcD1@qg`fN$ppa&wsrp#Of2a8AKw^pZd`G(X)iunO-8!CH{M7N9wuok0*=&TW3f1AI^@{X{tJ> z`R|_{skQOX&yE_-Y8uakV&^^oiL)csQyc64_h(0H{QT9K)PMHusNr<~uUC{mp7=EU zyz`$q@lkdfP9)UNdH-D}KI-X5y_NK@o%pCz9X0#^PfvVooUb&z@$*-a{CAzuRQzFQ z)eW;w!<#2|^i)ROwIk{oeL+jTG^gI!`|VA=NSpHf{K)Y9qLOiK+ePYMVEemQ?Ak?o z6^$<~D3275DJ?0h$j^(6C@UEgNi54B8;QLH)?g$0N?&E{mA-?`*mk3Jyt9@QiMjUM zdx7?;fBT>P$2SQ7;g=5&s&~|KVY!_XsVK|I%O8_dHab!=qER6B3Zrdj3%JNIgO7bdm^P_6=3h{1c;qc0e zeC30!Ec{j=9&b|S7FFgcPsSBi6qHm}z?m_H^@fy%=-Zxn!>=S#S&oXT>cmIJD zBPz>^3(E`8`A{&gBvM`yA1SXKJ}N)ALZztsjVLKXpH>yhEh)|`Q~@jRV%u3zmovO% zY<{!`u~%554*b>$ic2cc40yj(xuseq>R7A?#PTBL1vy1U_VE1rsKE`qh>E0x>RD2Z zeo+<~Q-T5aXVs2Wj4#a}kpn~RVon`e$1yqMF(^?yuW&@6>S#Gd73g}nfYO}2ylBm% zF^;|in^Oj#D~ocdQ3v(WnjX6&H<<6du&gZ8aT~NFbYPovL7)DCbY^rnQM9^|0p{~4s{30iJbk0c3%NU2nCAJ!DO7I`=R1M7vYI={f0ZFOpy&~OF zF1>G7BrUa1Y8I4c^^F#-SCyLFUn%R8oY^ALiMM;EW~DBuNK4F&WDLm6=-WRTI+CC^JvF^&Cafg)Nk%20s7K$7A(^SYQnKPvC<}@4c2;I$ zQgWZf%--=4DC>(VXGWqT?cgPJM3M)p!u?Yc)6yc{Q?vSKWhN)~QL-vJz0&*kNw$0T z9gv=sn3dW$J<>fHRY~lgrUD1w5QQFTiK%_!BT0#U5__rYG#F80vFbF2!&U`)C8sB6 zCZ@$l`e!8fNL3ezV`^q{4|t8hA@+y_QlY6w-}L^;{RSWbat$Wp?LjHY(R!c)iTJ-q z)U#;y(@|ZeC#!EJ0#fhFpw#}!@sY&L)c&ePdS>>8yQ)3=_Kfy`0f;9=Q`77HRc)lw z{@6PprApUFF)2AQ4GPgo(v>WtbWl%1?@F%9%`e4RD{mOwv8gdSjmG9qEKC@au}J_u zx>qpGF)S@BM3Hf2g%y}g zA~}^Cy0QjDLRX^pAe|;@`6m z!fvZ!E>i&;5%oUjAKM4njr$;k;a}PZ*=lWQoW-M!7F%L-qj8V!I+SC-wOS;)O+2Je z#M}Rqy;AJ^D%dO8jebOX`v1~iDY{|!5AK!h*ns^X?Un3*<6g;Di*9VM6m9;0VXtI2 z?8>71f`4JJ6y1B5|H)n{`kkhKY_Ak;xB9)(!QY)aWV?j*9FJxHuI&;gox_Z{0H4^;@Rss{5~Pne5+hnIiwnmdXCpEmP#5 z*)rK#i39tb-&gJQ5>x)A-I3k6S^S^uj_mpk7`ChbgWZvR@a`zO1Nx_TM|NzF`McfG zq5JHAa(AS*`-cpa-!?w#x%1CAKCvy$Keq9)|9<21+bO``Y<%qK!Oy`?{v#WjiiR(G zc8eaK*zNFv<0+kfplgYBc|cB652*B->)z^=lHm-nH!>w@L}$-lku_1y|6}=y#=m_gB+*kf1?|;d|Wz zzwyDqH@q#pXX4>t z)^q}$NGIW2SZ(QKe0Mw^-}GyTm~^1i@V(KF)QQfZGwCeqOlRYbudb9p=g_%y9==Q}NS{-iT!%{G36()7uZH>gv7P0r<(sApBfv2EIooZ(Q|1gPIkB8Y3b6SY^*~j2CxR@5;#Q75R2KBvJ^`_of^qEib2Ii%Bui-MfoF>pJx|^<~ zD`+BJMSJNBdO~9w*MufDLo?}T`bD!eTXQs*e#KYfJcZICut8=?)>F3_^I3$=^1 zi?v}|jy7D&)$+7_ZG<*bE6@sQjW$Xftrclw=wsTg6>BA0sdkB0rj=_ITBSBt8>dxi z|p4((3uE^UE!w|0+queMNIq}`|8uPxRd&>qwt(yFzG zwMVoi+EVRN?J;ecwp@E$TcNGgR%xrXC$u$MjkZ=>r>)mEXisWSX&bdo+SA%I+Oyhb z?K$mvZHrc`y`a6Qy`*i`Ue;dGUe&f~uW7GqZ)n@KH?_C4x3wMGJKDS2d)iLzeeDD7 zLv5G#k@m5+Tic_3qJ64;rtQ@}*S^rc)b?p#Xbg3J`(VObc^uzV$`Vo4Zex%+)KT2<@ zAFUswAFD_7B)Ley_cS%r|ReHz4bJ`kDjjg)id;ddZylA z&(a6z1NA}rV10-_RKGya)-TjA(l6GB={fpvJy*}u^Ysz>NWDNW)JN%~^&)+YUaXhs zrTQg$nO?3}=#~0deVksUkJm5NFViRJm+M#PSLze>tMse&YxGI_wfc4XWPOT$y*^c+ zrcc*r=r`y$>NE9O`c3+5eU3g?zgfRUpQqod-=^QL&)4tJ@6_+o7wC8E_vrWP3-v|% zefs_SV*LUALH!}UT7Ou7L|>vW)gRR#)0g4*#=fsF*B{qc=qvSA`fB|NeT`nDuhrM- z>-7!#lloKoMtYle&^xq~-lX^RP5RUNGy1doX8k$+d3}pstG}SXsK2Cd)nC?M(O=cK z>96Up>u>1W^*8mm^tbgL`aAl&`g{6L{eArd{X>11{*nH%zFXg;f1-b?f2Qx%Ki9v| zzts2XU+G`#-{|}GZ}so=@AU)v5BiV#PkNpHv;K?zD^Rnn9nV^`6WEFDB-VztWhb*! zSUfwGwPWpB2X-1eopofL*ct3hb{6Z*&SqU$SC+ueVdt{*ST~l)y0acEi6yh1tQSjR zsqB2#o29WnES>db8LS`6Wc^td8^8v#L2NJ^!iKU7ST?(mUBoVC!{{!S!-lh5mdEnh z2sV-xutGM9jb=q`3@c_Otdw2C%2+w8V3lkv-Ok3bDmI>7$}VFQ*yZdBb|st0u3}fS zYuF@qExV3QW>eVpY$}_^rn4FB26iKx$!4*e*lae3&1E;UTi85yE4z)|&gQc_*q!Vy zwt(Hu?qT<`g=`VKkKNA}vj^CN>>*ao9%hfQC2T2sls(3lvE}S>wt}r>tJrGx1Y5&u z*jl!Zt!Eq9lk6$Bk!@m6vuD_|Y%_a~J{Ygny~bW=Z?Ns` zP4*Uho9$rluy@&eY$to4eZW3syVytUW44>^VV|&1*=KAo`<#8jzGVB@SL|!{4cpJY zW#6&y*#Y(g`;q;`>e$ch7xpVBu5q0+{6c%dB{#UqEpFpi*1O!}J`Z@v593XEQ~VP8 z!+CRl1droK@)rCk-jW~9kKxDi2tSUu;>YvW`~-d?KZ&>DZTZRk6dun{#V?I-&pYtb z`02bO@5ImGXY#XnXMQ&C!n^VWehxpEpU1oLMBbhE;7L50_vF2J3Qy(d^WHp-_u=Wh zFVEopcqZ@9v-ki$kPqU6`4B#oU%<2Zh5RD?s`g<#2fvg(m*??(K7x_(%L>zMJpipYTulXM8XJoPWW;OV-_O70-|_GH0saI3k^jW& z_|NqN!*m4j0YE5h6|;DO!l5L`!kB zI7S>RBH}pFN*pg*ixb3&;v~^Vv=t|dQ$)NtRkRcBMF(-3I9+rUox~a9OmUXzEY22P zL|2g@&JpK|^F%k1D7uRtB1t5Ro}!mX5vk&Q(Oaa6J|bQ86&a$R$Q1oWmKY!gia}zq z7$Sy>3q-cKP+TM~7Q;l27%p-}p2!y?#7I#f3dJZfS`>*fqF9uOQgMkW6Xl{pREn`; zoTw7x#iimhF+p4|t`Jv>iQ+18wYWx164#3B#AGo=TrZ}IX=1vVA#M;iikV`TxJk?w zbHrS6v$#df6Ss=n#O-3fxI^42?h*^c-Qpf`uUIG+iTlL;VzGEYJSZL#)#73Ch*%<) zibus`VwqSj9v3UbO0i0;7Eg#ZqDHJ0>%@AoK|Cp*5*x)P@w9kGJS#Sf=fv}3i>MVZ zh!@36Vyk#rydqu|+r(?)b@7JSF5VPxiMPcL@s4;`yeD>w_r(X|L$OPIBt90q#UAmA z_*8r*_KMHN7vf8?Pkbf57T<{d;#={Z_+A_kKZqa2PohrzEPfHcN|Kt?C6inVDWxGz zX-Qi;(v_a{WgtU&m~0}O%4YI#*<2nW-P>JK0`#kf+JhWk=abo*~baXUWd;Y}rM2l?n13d9FN9c9V&+yX+y8 zWU}ljd&v};D$kd_Wt!|G(`8?oA^XWp*Qa;lsrr^^}g26>~LDQC%>tGrF#F6YZT zsR+Pu?#V%Ln9x@*!C*AC`~EC32~JR6Zt`$>s8Kxk9d#tK@3= zgj^$QRJ_z9wIn zZ^-TPP5G95TkeqW$am#?a;JP>ejq=TyW~gmW4T-Ik)Oy<*UY!7x}9}hGysnGq@oPX&8oSScYvlhHH3+Zv;kY9A-2z zni|cF!;R*~5k{PGq|w4S%4lgEZ5(49YebCWj8?|+Mr-2)<3!^mqm9wlIN3PGh&N6( z+8OPQ4#sK5=|)GRlW~S|rg4_h**M$iVsteUjB|{0jq{9dMxxQ(=wT!o$wp73myu$m z8s{6mjWnZ=k#6)gGK_vkrqSQXG6om}jX}m>V~8=-xWLFZE;KGOE;fc4ImU1!*T^&S zjSGmTlsO~!0vjxpD`*|^1+XWVMsX54Pf zH|{X*H10AM79$Bh-n zN@JC=+IYfPW7HUHjdjL)V}tRe@szRA*kn9yJYzg-Y&M=Vo;S7_wZ;p^i^faFR^w&k z72{Q7oAH|Qy77jw-FVY@%Xr(^VZ39!YrJRdG~PEpFg`SP86O!R8@r7?#wW(7#%IP} z<8$K+<4a?o@s;tl@r|+H_}2K&_}(~R{9ycO{AAP_KO4UoznWxfrfxEmo5GZ)VVb68 z+NNW=rf2$QV20*lW)rii*~~oLY;GQ5#+gT&EzG0LmgdpsG3K#m#5~SyWgc&~Hcv25 zG*2?ym~G9I%~Q;H^Hj5)+1~76o@SnIb~HPgXP9T2XPKSNv&}AMS2Mvp$2`|O&+KL< zn%&JFW|Em~_B4B$DQ2p9zS-MMGy9n7W?wVI>}O`0{mm?MfH}|{WDYimm_yAA%xv>Q z^CI(NbC{W94mWenJTu=MVU9El%tCXNIod2T$C$-tiCJo1VwRcZW`$X4jy1=bRpxl} zQu8u%f_b@lg?Xhp(Y(sM+Pub`WL|4tXHGV!nAe+A&1vRzbB1|?d80YgoMql*&Nk$g!?dE**4)ad)E^~o-w|S3wues1%WZq}qZ!R_;FdsA@GONvp%}2~7 z=2G)f^D%Rox!io*Tw$&>SDCBLC(Jcwjk(rbXRbFlm`|EdnH$Yb=F{dg=CkHz^EvZ* zbBkGPzF@v+zGQASUp8McUp2RxubHo#ZN?+uUP*Vt#6VX6`jVH@`5yH20ZbnO~dVnETCd&F{?b%>(8S=8xu2W}W%7`HT6h zMV4mi7PGh|ENK~*X<3$SIhJdAmTv`CXdPxXv6@=Vti!G5))7{mb)?n8I?8Hk9c>+B z9cx9bSA@Z60CEqbFK5NZdRhz-RfZ_S;kCkrqwKA-JR;Jb8%CZJn z1Fb>UU~7mq)VjdRwl1_TvM#oUSvl5lE7!`i@~sipNUOjqv_@H@ts-lTRcw`5rPd`@ znN@C8Se4dTYn)YOjkhkfF0&?Bms?j@S6UOTtE{W7YphAuwbpgkWNV6by*1UEW=*$d zST|TVS~IO#)=k!IYmPP7y4kwLnrGc=-Dcfx&A0Bb?zHZ*7Fc&%_gME@3#~=geb)Wf zV(S6xLF*x_+IrY}#9Cr4wH~z|vzA%Qt;eku)=F!Ywc2{ZT4U8%Ypr$GdTWFAr1g}w z(b{A^Z9QW>Yi+ikv!1uMShdy*){E9l)>i9f>lN!&Yn%0&^}6+jwcUEtddqs-+F`w8 zy=%Q^?X=#vKCnKtc3B@;A6vVvJ=Q1Ir`BiIUh8w~3+qd3pY@gXwe^j)-}=`2&idXu zVEthIX#Hf>SwCC9Sij;+keaRA%;vVRrES=zZP~W%*skr_z8%=1eVE2Z46KAx_or)aX>+CITPksh*7 zvfJ2g?UU_O?0EZByPe&hp0PXFr`f059qmr`8TOg>S+tJU+nw#R?Jjm#JHbB3KG!}E zzp=8$PPDt*J?tbKKfkwo*(r9aeZJk>PP6;i>2_Z`!|rEi+WqY;dw@OA9%K);huA~y z3+!zBLi-~7VtbgKV-L4;?K~SVS=l4)0=v*2WskOt>@jw+U1FEom)K=?xm{sb+GFi; zc9lKezSO?Vo?u^YUtwQqPqeSHuePtTC)wB9*V&WpDfadDRC}5|-JW6JVBcuZv}f5j z*|X_;dyYNVzS+LTo@d``-)7%#&$sWe@3il-7ua{(_t^K^3++YrefItKV*3I6LHi-Q z+J4x6#9m@AwI8(~vzOV+?Z@pE_DXw|z1n`lUSrqTYwdORdV7QYr2Uk=(cWY~Z9ii_ zYj3unv!A!O*tPZx_KWsQG~M26zihu^ziMx@U$bAg->|paZ`yC!Z`(WUckFlV_w1ea z`}PO+hxRV}Bl}}}x4p;y#QxO&%-(B%Zhv8aY45YYvcI;!vG?2G+TYpV+Xw6)>>ur) z>^l2r`xpCHhaAn(9p-RHIMOj3)3F@eaU9q29N!6?&^gR$;xu)dIfpyVoga=s(I~|ts0n zoJ^;`ljRI>20DYB!Ojq8sB?jn?Of0kS2@0HbbMAK*I}bPyIuAM3ber=q-AZ3Nk2p)5rOux0=Yn^q@dS`?4r1O-sk>)#_oTr^f_vn6Sr}Mt^f%BoW%lXLp*xBvuaXxWAbv|?U zI-fgVIA1#ZoUfd(oo}4|&bQ8YbffdVbHMq5=FnW{N9QM}&iUE-#rf4GS95ijx!e`5 zbPd;ZE!TD(*L6MDcLO(c4|AKiP2Fbh;cj#H2sh3>(rw`$<+gN>c8_t7btCR^ZY%eA zx3znMd!l=i+s19{p6s6D#=EDw?cDZm2lq7hbho41$vwk8(>=@W?4Ip*al5(+?m6zc z?s;xEH_`3x_HdKjWVff=%S~}p-SgevZkpT2O?Ugc8E!u})9vqOxdYsR?jU!tJH#F8 zUf^cC7rGa@7rVpU9Cx^z>*l%n?g)3JTi_PDqukMMkvqmMc1zq+_Y$|vEq5#2N_VU~ z&aHCCyO+9`xf9&W-7DNH-HGm1?$z!!?j-kG_d0j7JH@@;o$5|=r@J%U8{8Y+neHt2 zCU>?w$DQlm?B3$eb8mHTb8mO&yLY&Ex_7w?+`HX-+q?LOhIackVQ?mBn9yTN_ZeahYFZgQV?pK+gc zH@nZd&%0aPTK5I_MfW9ltNXJ1iuDM$y6?Lm zxF5Q^+>hLk-QDgU_Y?P1_cM2|`?>pt`=z_j{mT8?{l?wze(Qece(xS|e{g?ve{$>G zpWR>FUp?|PPxqL|J>f~u@J!G0Y|rsr&+~jQ@Ivn}uZh>xYvvv9HTRD2;=Cih7T!@_ zOYdm!81Gmw;vMI;@{adfdnb4&dM9~pytdxSwAwqxi}z0T+Ij804&G_r>0U>#lXr%9 zrgxUt**n|o;&t^BymP#Bz4N?oUZU6C>)|DN$zD&dmzUzDdgpt+y)>_nm+tlTGQ56X zrq|!g@&ufQwxMtP&XB5#aW z?3H+>-X&g{SMF7KmEKryoLA+I_b&A=^Cozgdslc@dK0~?ysN!yyh+}*-gVw&Z;E%l zH`SZwP4{MaH+VOCGrd{fP2Oy8jyKo4*}KJ?=iTbv=H2ei_wMlS^zQN&cz1jEc=vh> zy+z)A-u>QU?*Z>Y?;)?+d)Rx#TjDMC9`zpcmU+v)$GsKaN^h07+IzxV;Gt zZ-e)w_msEM+vGj%J>xy=ZT6n?p7*wRwcZQfi{4A#R_|r+74KDVoA;Xcy7z{+-Fwq} z%X{0~;l1O%>%Hgg^xpSA@ILf*c^`Qnd%L|o-Y4Ft-e=xk?{n`9?@Mo=_m%gx_l>vT z`_}u;``$a?{owuR{p8hoKYPD;zxw2BzV0)h`@)yL;hVnY+rHzwzUTXX;D`QUeiOf` z-^@SUZ|)!A$N5M4E&QYWmj2QHG5)cB#6Qk&>h0gy6*B zq@YdEHaIyrC5R7B4cZ0mgAT!I!RbNApi^*0aAt5;&^b6e=n`}d5`uGrbA$7OZb4$u zJ?If61<66rpjVI*qz2~)y@Rx%Pmmt;4Kjj$L1xfD$O;Ao1A{@q;9y8FG`Jwh4lWEX z3N8+Y1v$a+AUDVh@`Dk<$e1j{+!ov(%n$Ae?hNh<76f+(_XPI_3xh?$eZl>~;^2Yc!Qi2wI(RsEBv=wG z4IT|13zh}TgU5pv!OCD&usV1mSQFF)YlC&c`d~xwWbjn5G1wG59Xt~}8*C1q3!V?Q z1hv5n!HdC5!PemA;FaLjU|aB7@Otn@uswJ)cq@22*b%%Fyc@h1>0#e6BkUJuhW*2=a6mXP z925=?hlE4J3&QO1!tkQ-;&51)6Alk^!@Mv*91)HT3&O&1R5&^;3de-SVM$mTUJ{mt z>Ndt; zFi}LWn69qst}!gDdv90S#>Qriy~conku;LV9%;k`2f(`~FS~>#nVfUZ(c~O<$vJG! zIS1|TaITTIj6fzukOF5|JwfR`mgW5q5sDIoBD6= zzoq}y{@eO*@4ut}&i=dl@9w{+|K9%l`tR?5p#Q=Chx#Axf29A>{>S#y#E*dzwG~2|F8Rh z)BoH4-}V2#{}26t?Eh2$pZovP|JVM%_5Z#9AN~LA|5yK5|G)eH)BoT8xc>`tk~!I& zVlp#jdS=>eGpCyEX2$F=v*t9j)0}Sl#+cj`<_vQ?bEdhyIm_I^+|itE?qu$4&M|i} zcQto2cQ^Mi_cXiAz0AGMeawB${mlK%x#pM5Zu0;$XG&vDWt{P*HjN2p-kfJ1XdYyK z**w_%irHfZW@tvHHPIw3=3(YnPx{PBpEZ}6hnvgI73SB> zmF5xVD)UJ5DD!A@wRwzrta+SSFni5Dv)?S51LmMPWR}b|=329C4x1xp#T+${H>+mN zteXvUow?rJU~V)|Fi$j3GB=rDH@{(SHcvKBF;6v5Gfy|qFwZoA*O z`8V_L=0D7Tn*TD#%zvBzG5>4E<`?-%`N{byd6rM*y?i>~mY4Z^CCYZzg>Q2e*65a{0{jY^Rx3i<#*1{$?uZiHNRVa_xv9DJ@Z}pz4CkK_sQ>@ z-!H#^es2Ct`R@Dy`CMM+Hm`D*`@GJZJmmBFdHDnL2j#z-;m#!KOui& z{-pe-{MYl}$ZyV{oIfRhYW}qR>G?DAXXd||KP&&O{I~OG=g-NXn?EoAo&5Rv3-TA{ zFUnt>-;%#1e`)@*{N?#8@>k}s%3qzoCVy@Iy8QL|8}c{iZ_3}Cza@Wb{`8)D= z=I_eioxdl4Z~ngg{rLy-59S}rKb(Ig|7iZP{Nwqp`6u#E=AX(xoqs0(Z2r0Y^Z6I@ zFXms$znp(1|7!lV{OkGe=D(MJBmZXpt^C{hck=J%-^;(B{~-Ti{-gZI`A_nn=0D4S zp8tOS2l*f7f0X}m{wMjL=6{y|dHxsqU*><6|8@R1`QPS$m;ZhK5BWdl|CIl8{xA8z z=Kq%ed;TB!f9C&{AItwc|DXJS^Kt%*;-uo_;*=sQrixxMU2H2(Ew&dk#g1aOIIY-O zoL=+`Q{+WaoKf7aIJ3BYaaM7M;*Q1H#hr>f7v~grDehX_t+;z}kK&%iuHs(By^H%4 z_bu*M+`l-t_@!cZ@ql8kC<|Lug)4kf7flh0`Qp6dfyIN0UoIY8{7SK>7!<=|RJ27b zQgME9L2+U6km91^;^LvjCB>!1!-`)mE-M~hTwYvJ{918k@rdH8;*rIpiboe$7mq0( zTRg5@&<>GL0q*y7A7LPAhi?w3C*eI?mt}kvVZY-Wq zJh6CEaZ~Z@#cvch7f&vpQarVITJiMa8O1Y;-z=V0{8sVX#j}g&6wfW5SNu-#{Ne@0 z3yT*OFD`B=UQ)cYcv9f`r-}68;ds;Z!X?aytQ~+@%G{! z#XF0474I(IQ@po$U-ACp1H}i64;3FSK2m(N_*n7r;@095#V3nT6`w9XQ+&4gT=Dth z3&j_UFBM-dzEXU(_*(Jx;&+SRE51>Dv-no=?czJdcZ=^8-!Fbp{IK{@@#Eqr#ZQZ$ z6+hp;c3}OGydJxFWZU5I!oJm&Bik0VogVC!XR#Nj7rJKKVCA4ZntbiH1#NeX_ARZ- zI}Hbx7jM|H@5J`ZNZ$BZ*e9=ruFve-+?;OrEyzz#@7JakorU#n5kYyEbs{_+RdBIu zX5!|zXBIa%w?(?KsO@yrUtH{(9p|6u$c}?2wr9@Y{DGN+o13%e%S(8N7qqjp2e%kI zE;#Ys9fwYAPhGHgVRh<|{Ac>Y^`+(gi}H^>O`2^NGLj`ma-oi7Ne|tH^m$3!Q!aeS zDNEPvc*u$0-Eqx{?b(aAbY%A0+ZYGs<=rF8@=nOozUhk>_Q{*E)5~2md-2xKEpIWV zFV+LJ+%;1d%jl<;Tq9*Ke(L&5nnkICMMKPHfL!zU2pI*S8qcm+Q~0cg@u0lT*4rIi*+VDc#Uh zdIh7}U{qJ=s5ZK$cg3o_gVo!Z{P(mgwvOqvjjh(UD>(HV+U~gWL=Sgdzh(QXE!#Jq z*q(l*j`ay$GxNyJxjXZO&CTAj{3|qT+cu6Y&6Qz}wxqSR6|JN7v^8x*8))Zg2ed=l z5p7EwX_L0|=+C1+kM2CW^XSf_JCE)>y7TDHqdSl8Ji7Df&Z9e@dY8(JZSs`Ij^hfBA&>x{cLVtw*2>lWIBlKJJ zTl8D>Tl8D>Tl8D>Tl8D>Tl8D>Tl8D>Tl8D>Tl6FP5&ejML_eY*{q*^I)gSB{ohcFZ zhIwCPdO|&+o={JWJ~8^l=o9*BUfzuqPofw3!sh0-LF{&ITUhMc z9ha^xFUV^Z6K}a=<-~S38u=%!Xtg(XPJ3hLv^RE6dt>LcH+D{YW9PItc20X^=k#dU zIXxP7PLGD2)1zVM^k~>QJsNgSkA^MLFVQd2FVQd2FVQd2FPqtiZ*kAFYg-H*QAtlq zdQ#GplAe_Gq@*X7o>+Qf>4~K$mY!I8V(E$HNLY@9~G1jip0atXOq5~BjsOUgN2P!&H(SeE%I6C0yfTIJB4mdjC=z!w@ zI1YeA-=Xi&cj!Cx9r_M^hrUPOqwmr8=zH`%`W}6czDM7q@6q?@d-Of}9(|8~jed=O zjed=Ojed=Ojed=Ojed=Ojed=Ojed=Ojed=OgMNd4gMNd4gMNd4gMNd4gMNd4gMNd4 zgMNd4gMNcPVSo+j2lNB_0sVk}KtG@#&=2Sb^aJ_<{eXTzKcG(-U_5?De4J7D|+^oQsZ7FfapOITnD3oK!QB`mOn1(vYD5*Ap(0!vt62@5P? zfh8=kgawwcz!DZ%!U9WJUVSyzKu!I4YFu)Q9Si%5H7+?tlEMb5p46uX&mN38) z23W!XOBi4Y11w>H1?v{9Td;1yx&`YNtXr^dBl9;hei5tpI5SNGm{E0n!SPR)Dkuq!l2o0BHqCD?nNS(h87PfV2Xn6(Fqu zX$43tKw1IP3XoQSv;w3R0IdLM1wbo6SpmulKvsaU0*n=4tN>#L7%RY70mceoRRF63 zSQWsk09FOCDu7i1tO`I?0IC8|6@aRm*jryYva)vC{v}xyYE2gQnpiV~<)iXK{$z9e zf~>Z(xV*TuFdL7qElEn-?LIZif?nO5j|;iXBLL5(Z6e0b*4!;1&?LuN@n zejBY`r!_TPTwmy&zaV8Fy}E@&=uJIR{*;Mc@A5;kH8m0JT_lSzEl8>5@ZS9kr#y7y zluI^FdBl6&YnkMp=OTy zJqPz3+;b$3j>OTCI68Rf;GrXNba2s;I6C;~;G=_&4n8{g=-{J+kB-FAkvKXMM@Qo5 zNE{uBqa$&2B#w^6(UCYh5=Tek=tvwL9CmQn!C?o79UOLW*uh~3haHKdBXM+a*}-K8 zmmOSoB#w^6(UCYh5=Tek=tvwLiK8QNbR>?B#LOTC zI64wXN8;#6936?HBXM*jj*i69kvKXMM@Qo5NE{uBqa$&2B#w^6(UCYh5=Tek=tvwL ziK8QNbR>?B#LOTCI64wXN8;#6936?HBXM*jj*i69 zkvKXMM@Qo5NE{uBqa$&2B#w^6(UCYh5=Tek=tvwLiK8QNbkvg_^<+mP=}06UiKHWu zbR?3FMADH+I@s?>Bpr#QBaw8l-;qc<5=loQ=}06U{CDu*!G8z;9sGCj-@$(e{~i2y z@ZZ6I2mc-XcktiAe+T~^{CDu*!G8z;9sGCj-@$(e{~i2y@ZZ6I2mc-XcktiAe+T~^ z{CDu*!G8z;9sGCj-@$(e|2_Qo@ZZCK5C1*<_we7te-HmX{P*zR!+#I|J^c6Z-@|_o z|2_Qo@ZZCK5C1*<_we7te-HmX{P*zR!+#I|J^c6Z-@|_o|2_Qo@ZZCK5C1*<_we7t zX%DA8oc3_q!)XtvJ)HJ%+QVrNr#+nZaN5IZ52rnx_Hf$6X%DA8oc3_q!)XtvJ)HJ% z+QVrNr#+nZaN5IZ52rnx_Hf$6X%DA8oc3_q!)XtvJzVy1*~4WImpxqeaM{CU505=O z_VC!lV-Jr#JofO|!($JRJv{dC*u!HFk3Bs0@Yus+505=O_VC!lV-Jr#JofO|!($JR zJv{dC*u!HFk3Bs0@Yus+505=O_VC!lV-Jr#JofO|!(k7HJ$&)-#lsg5Up##A@WsOy z4_`cd@$kjN7Y|=NeDUzb!xs-_<4_? z_xSn9^&UC@k@Fup?~(HyiMt}_ITBw*;-yHu6p5E2@lqsCio{8gI4Ke*MdGALoD_+Z zBJoiqK8nOgk+>)l4@KgiNcv|T+^+O9q#ZC4bQ zwyO_F+tml8?dk*4cJ%>iyZV5%U41~>u0BxC>3NbCeLYWNqp#;lZ1nX!iH*LVC$Z62 z{~ ze27hd)qjXhfA#!`O@GyYh)sXhf0T3TKcuC<>OaJ$zv@54=6tFD5S#O*{zGiem&TJ~ zbG|g56r1y<@nkutenwixuYN{s#;<-xY{swgq}YsK<4Lg@zs8edGk%RHOX@|^>iDP^ ziLK+KUL>}Tk9v{V`n%ML#Ma-XP9(M-SL#G!>v5${R8l9B7F~@K#YR`-M6uD;I8kgp zuGERd*5gW@NNjX9J`@{WjSoxeL(-zF@uAr0YJ4a*x>_F+8(pmriH)w-hs4(NNqtCc zJ)hKvO6o(>>iMKTB(|PU>O*4d`J^r+Ho6*bijA(un_{D@@ut}5Dt}7qLeiqE@ut}5 zYP=~nx*Bhat@DVwkl37WjW@+cSK~~v(bYJ!q#h(Kx*BJS&2iTFQf!X1)`7%kyc%zc z&3HB56dPTQH^oL*PO%xU#+_m_zcua@n|Y>j zr`XIhjXO)~K+-bLH0~6e@oU^EHsja0Q*6esai`dfU*k@(8NbGzVl#e?J4@<7(lUOH zJH%%E8h?n*_%-enoAGNrA~xgKxI}EmuXP}?8Nb$n#Af_j2P&xpNz3@P4kR|?*SJP( z#;Oiue@xxi_KqYk`Y0-zX)PZC_`f!#yknBev&Qb@G{piD4>Ois|eYi^9r=;#9E$17q zQumSl9B+-&#pZZxoFq1S8YhX(@zyv=Y>v0qeM;&+(lTB+P2ETKGhR4N-ADE_UN}wN zNA{x+r>XnMe#Q%@sr!`FeWXPnPE+@h{piDK>OQg`eK<|sNA{x+pQ-oAe#Q--srQuB zd!%Ka!)NL}vY+b=K2z_J{Tz4rOua|;bDbUMv(|fLKl)nlDXI5JtK+8LBetG*>OEqs zKJ^~4b==fzO6oPzYX7O%h^@zsdX3mRZ>ZOZt^KE7Beotl>NR5PyrEtrw)UTTO-a2* zTKW%p)_2 z{Im`vHpdSxQwNg$j2|vj2a^3dZ>a;7)PJN!7amjpk^PJt9#j93{pf1_M{M=a)PKa* zc|-k2Y;@r=^`DaZkF=a`t^0_LE?lPWBm2>X%hZ8nKjVeV)PZC_x^S5~Q0evljI@j! zE>jPZ{piDG>Ory}eYi|LNcN)-PpRXS)N!Qcd+?Mxj_g1FJ&qSVrH&(iXP&@Q>Nq8J z9BDaj@RT}^>}Q_9OAjwSy!7zW!%Gh@J-qaK-=y^L(!)y+FFm~U@Y0h{dN}9doF||3 zaL&UyPd@44oQHFseA2@?59d7jq=$1J&Ux}l>MbSpm9i#oteK}ZaZycNR1+7~T8}Gh z;-Z?ksOCJ@#6>l6QLA>pv)w;IW8qc&^*DhPFYfG!=za?L3@sln7u_aGw@sF+6v*mj_?^>;Ai>>~#C0}Xr zk1hF1OTNqETl`^*KWxcUTKr*)KWxcUTKr*)KWxcUTKr*)-)r%EEqOyrzR=>Q zTH@)Jc)BH?Zi%N`;^`JY)8c1Z{7j3VY4I~Hex}9GwD_48Khxr8TKr6lpK0+kEqL0p(=BzYmUy})o^GjIwZzjcb*q-TRZINb zQkQCppIhSRmiW0PevbI7h`);XtBAjf_^XJ&iukLDzl!*)h`);XtBAjf_^XJ&iukLD zzl!*)h`);XtBAjf_^U{LCE~Xtekj7Xdji8CT`MkLON z#2FF48S$Hu`b#8UjQG(=ycqGPk$5pSY5L0UN%ZOKwYjo;8h!fuuGxO&@y9H;Uw?dS z^6X?8slRYPNNmlkBJ~&U3(0k!n8Hp#kuT*khNm|Y8 zxUVEO`qW>zza;z7hZo#mlKtqziwG~c&s1`sNm|XTBD~;!lk7(yUPO2i;RW}hxo^UKEZNWb=e|j#9uuj@a9>M4r}1*69uv8561i^@smDa>F_HTwk$Oy|9uv85 z5~;^T>M@b~CXsqfN1i0CNY)MSLua#W7p`_#$A(0RVGrEiQF}b zRAnMnnaEv}NL405_XOP&bWhMdLH7jR6Le3|Jwf*b-4k?A&^Z-TxF`X=a`pl^b{3Hm1Jo1kxkz6ts!=$oK#g1!m*Cg_`> zZ-TxF`X=a`^eLM%aknE;ok>(@5_dZiSx0T zCTN?WZGyIm>P@10lb~(lZbyQ)3EC#^b|h$MOVBn!+XQVB*;yhxOVBn!+eCJj zplyP-3EC!To5;=*v`x@9k)0)Io1kqXJ4<9|3EC#IvjlAulub}Jk(DJVo1knWD@#x| zk(DJVo1kpsu1Df&f&^s~lucx9iEJ%F*F?6KplgDziMt&Mx+dtFplgDziKh}0cRLbv zP0%$#)5P741Wgk(P0%z!(*#8m6irYxLD2+76BJEQG(ph>MH3WFP&7f&1Vs}RO;9vJ z(F8>k6irYxaW^AzHzUE#1TPc3Oz<+n%LFgeab9v4BXJia>0Jz2@SuCmR@$x_ENvI1 zNZUn;(sogrv|W@UZ5O3U+eJyzc2SD7U6dqkS6!2~ixQ>nq9kd%C`H;XN|Uy$>e)Hv zsI=wGfu(~RtBd<(b%sfZAiIz(>(k^P*IrzeMGfT7dzVjp{D!>eHd$9`RsJb(KFiP9 zYNxEQBrjRY8b6B*@}-^Y*RO0b_0tMTS>1uoDAXTxY&x%ylvN?h>BCD$ zCQAsd$$PIy=!>FJ{!0H9jbd}i6pdmJw=dqXPu?PvF=@XPhVmD56o#_u1Sd&hC^jca zVJJ3An!<{Wl0s2zPL4uRY)+0sQEX0*rm$jjG!>Gv+69wCAt^SKLm??P`U*+0(bp7K zZ1gpS6&rm`VZ}yYQ&_RlSBT0g8|W)U#YSHtDmLd$;V3reP2ngu$5Y`bt95WZ6^>#v z$rXlTGszW(Vlz(^hGL_qFccd-g`wE!>8%S{6$Cwnqu883g`?Q$D;&i}U*RY=`U*#} z(N{Q%jlRNBZ1fe1vKk4;PoXF_$4{XsHs?>FC^qL$p(r-zPoXF_=TD(1tDMZ8wr@q= zH$5!Z-ulAojXIkLc4~QPbpZp3K|OtRaZNtOZbqiqlV2K4?U$vPrsBrx3ZGzZDDdPH z%nb#etgOP=6nJ7YHU*y82rKBsW-JO2S&4=3D=@@n>iBD9A=5bl;`rgamsUdv^rjS4h>t!Tb6UDUU*=2;o9|$RsDlz9JbVq zLt33gC2q6SdZO%ac3i(GuMEqQV+(6*d{+-bsac48W_aplxBc;U_NcsMyl-{s==zeZ zXE$-krB)Vgskw=?dgw~cNyMfHnv;mF)40UlmblvzcU$6aOWbXVyDe?IeQ|AF)`45c zy_Y!LQnM0UYE~kxUPz^8C1N{yopxI{gAAEr`u~g4lG@Fe0z3HSbBs% z@I7W79=OB*izFNY3YxqF=EpnJavhuF7ebQp1QubF7ezYp1Z_zmw4_H&t2lVOFVap=VmcDTjIG(Ja>ubF7ezY zp1Tb5+ZR?>SFT@PJg~m4+uArf)3vLUbD)3RzjFN%-P$WBRkt>d?&m7Q370tG5+_{Z zgiD-oi4!hy!lh;=w$#i-T27&6CbrbfL|SI8W+q~D2sJYin<+JDW*NZ#BYW2t^*rOJ zOHEJY!+0-EPsGN1;jK%&b&0nw@zy2Yy2M+TL$^~F6_%*k3lJ+c%aQ%`OS2qXYL+7{o=3ABvGHu0<%o@E(=119E_2Ot#71AU9I?^Y zEJtk4i)J}ub6&JoXiI&@T3XJFW<6qaUbI>$Hs?jNAF(+vn*E5)dC}}gY|e{jKVmcf zl(q}mCW*v?hTxKQ>{z@(*4B`su!j@B|gekWTj;wE!g*FaP7HHKq zHzu3iDUtx?)U}O$;%*m??@(>le6y_iW?Ab^T0O=Vep~o0K67?K`mwsScCC<5CxAF2 zRnan{d|3~$%rxQk%F&h839T2FXJq5hWVy_R<=(=PgUfpL%E$HFT1>PSa9hA_0k^gF z%<{^?rF{#NbyBypxw1ODbVT|ism?^CCkKwezyfYdo@B|BEZDYS+k$Niwry2ymt`te z7Y|5cr#&NQvY^|7ZVS3C=(eES3cA;p4lgY)tnz)GU>0;+&}~7t1>F{OTQVr?+;&Oe z4z6x&o=4zq$)zkglqH94TXHB%4rR%qEJU{u-I7CDh;AXe zC5N))P?j9Zl0#W?DC^UX#m8?fT_^F-k$oIp=xw35h1M2YTWD>ewT0FeT3cvsp|yq9 z7Ft_qZK1V=))rb@XlewT0FeT3cvsp|yq97Ft{KELpRyyBcJ!ZV0*7 zcTO&ii81-l;`(;EWc3d^XM&%VDJW|&^XcP;ewxp4-I0M=GB8U9X34-T8JHylvs#|C zmQ0M*+{9J~XUW85HMg0`inS8EE^lavCkwjm)Ln-+me-e#F5jp`H~A%Xb*$?q zHtvRSfOXwuzq(pWIA93}Ea3p_x>;G*?KBzq(Z$IE$s3#36+r>3yUC|G9>fEz?k4;3 zN5liH?k4-y;acJWOFUqS2Uy+BvbvkJ>hM|JO>A}etnMZ@`UC>3?k4-uClFwDH`$Lq zfdH$!iQ~c}5(u!mo9uVnq-u1+?-B@D0s&Tglg}yeSnW-0^a%u5?M?QhujNZ|l$uJg z+MC$S2Q6QU&G-R6tG&s71+E477T{ZeZvnmq_!i)^I-Go;Spe`^9ZnoJ`T(ER;bgx8 z-vWFK@GZb+bvXGPvk>63TAb|19|L>~@GZc%0N(<9R+AHOFn)k<0lus)}<3$&%Ufncbb$f;i-6`ZY-=$CvfCfVLPkK$$mYCtS%>ZnwfxDB9Z0wqnn$1 z`88P1a&m%N`c4wga&od?XDZ9b31~G8VVN?q^~|#@nb`D#np8#Ys3Hxi@H-WLry>oh z@H-WLr^4@4_??P0q#_NeNJA<-PNg?U1o#{sJWfRhQsHqbJWfRhQsHqbuDpsXk7cMN zKwx~#WL`s)z(9`!uP<3%Uy@d@5MEyrTW2V*FNv+knb()Z*8X;{FCE>xyt41w?rih; zvS3|*Z}J+tPbO8%<-h49_Dz?z31F}&b{Z{`}wr}z>;J<`}eNg zFnxi9zDzQnk(O9S4>r$8i%kbO`8*>n`}JVTGt$!+NUrUwuJMz529uv(m5@}AE@z*I zq~(k1?|5lnf~IoY`XtNTII5o~|Kz28`8yqeH@vhj`{{u2ru+UXdcvE|CVA(jefhjz z@w~JzL7Ms-UfLI%voDEf_x#seEx3Xq7H!vJhp zDM0q?rR;%?2R0tqcwpm!jR!U!*mz*$fsF??9@x~trlw?EQ!=i>O$}~pO2##~sVN!P z;HCyQHMprM9oOKd<{n!OZffqa)!bvN^;s2LQ#r25JZmz~n#{ANa$M_^sPcK8{54>z zsT$WLpS3=_BA-*|Q|ptcV(S#BsTbFzpEc=cjjOFeR!#a@gRB~4)zpn^>c%y7;~Iq3 zq@OkEXHEK9lYZ8upEc=cP5N1Lnbh2{t4Tgm6EL5NEo7X+drt?Psq#y&8np_56;*8*7tt#H84= zbIbPeJEt|7X-#IzOD~e(G6l&@dFe$GUiCt}^dh#p0A6|#TRmY-W?GY()?}tNnQ2XC zT9cX9L`gN7X-#HYlbP1kk!$E*Q%A0;BiGcCYwiHnL|Zj?0BiEkn*6gS|E$SBYx2*U z{Ie$itjRxX?gZB4pEdbsO*B^%0n|hQH4#8f1W*$J)I(i>cQgG+C4=?$*D!Id|-@&;Gl;JO=JcZ2J0aNP~AyTNrg zxb6nm-Qc<#Tz7-(ZgAZVuDii?H@NNw*WKW{8(epT>uzw}4X(SvbvL-~2G`x-x*J?~ zgX?Z^-3>0g!DTnN>;{+J;IbQBc7w}qaM=wmyTN5QxadF zVZ*JyhFg6N{<^_mH`EIo>V*yU!iIWbL%p!UXE*rlhH7C$wXnfwH~8!ZpWWcI8+>(x zk8beM4L-WTM>qK51|QtugByHsgAZ=-!3{pR!3Q^Z-G=O?q4L*|y)@jnYsg+2DuE5I zx1kc)Pzh|P1UC5F27lX732gAU4gR*F64>Bx8xnv9f7_5{Hu&2Hf7{@18~km9zisfh z4gR*l-!}N$27lY&ZyWq=gTHO?w+;Tb!QVFc+XjEz;BOoJZG*pU@V5>Aw!z;v_}d15 z+u&~-{B483ZSc1Z{k=)TnTU`z?A@30$d4jCBT&cR{~rKa3#Q%09OKB32-IA zl>k=)TnTU`z?A@30$d4jC6E#X_!8htfG+{Q1o#r*OMou{z6AIZ;7fon0lozI65vaK zF9E&;_!8htfG+{Q1o#r*OMou{z6AIZ;7fon0lozI65vaKF9E&;_!8htfG>fZAi$YG zP7vTtfHwi&1b7q338ci*h2nvnAi$wOP7vTxfJXry1$Y$TQGiDQ9tEE43p`g6;8TE4 z0X_xz6yQ^UPXRs!_!Qt%fKLHF1^5);Q-DtaJ_Yy`;8TE40X_xz6yQ^UPXRs!_!Qt% zfKLHF1^5);Q-DtaJ_Yy`;8TE40X_xz6yQ^UPXRs!_!Qt%fKLHF1^5);Q-DtaJ_Yy` z;8TE40X_xz6vzhx`9L5a2yiRFtpK+I+zN0jz^wqc0^AC4E5NM)w*uS>a4W#A0Jj3% z3UDjHtpK+I+zN0jz^wqc0^ADZ2?2fu_!Zz+fL{TA1^5-!xc?Nm{}j0Y6sQUY?mq>pf`O`F;DM7sRWQKqzyl|Nd@4{C z3_NfWsL}`c9^iX`?*YCC_#WVUpd=V52?k1nfs$Z={{j97_#fbZfd2vh2lyZ0e}Ml1 z{s;IU;D3Ps0saU0AK?EyJfDZ>^YD8fe$T^)dH67oUzo=)%yT~HIiK^K&w0-0Jm+(s z^EuD?oacPbbDZYs_dNX`5SI*yO9sRx1LBDR@x*|5Vn94GAf6ZyPYj4B2E-Es;)wzA z#DI8WKs+%Zo){2M42UNN#1jMJi2?i`;8zFu)d7BWfL|TpR|ojj0mpB^@f+Y*2l&+i zeszFf9pG07_|*Y^b%0+T;8zFu)d7BWfL|TpR|ojj0e*FWUmf6A2l&+ieszFf9pG07 z_|*Y^b%0+T;8zFu)d7BWfL|Tp?*{n00sd})zZ>B12Kc)H{%(N38{qE-_`3oAZh*fV z;O_>^{{i!8$ov^He}>GTA#v@HxOPZfJLEbTavcnbYlp z;gESaWF8KghePJ!ka;*{9uAp@L+0U-c{pSq4w;8T;?^N?>yWs0NZdLkZXFW04vC|N z#8D&Soe}ZQhS{h<8TBJ0s$q5%JE5cxObsGa}v@5$}wMcSgiJBjTMA z@y>{NXGFX+BHkGh?~I6dM#MWK;+zq2&WJc?M4U6?dK_^*j<_CK#6lh~(0VJ2Pl&DY zC5ump-Q6#fHRiheWYTuGYNYMHCv8_Nm$v(!wB3C=X}dbDv|Y(q+OAeEZFj3k+U~go zX}i1K(sp;Nr0s51NPAqjs}sxGcIc}g6&ro^qhh14epGDqm5XAduUr%xedVIq=qne+ zMqjxo|CR#!%0;o!S1yW;zH(7)^p%TZqpw^P8-4ZnVxzBI6dQfzqO9eIzH(7)^p%TZ zqpw^P8-3-X*yyWY5F35vi`eKZ7sW6pR{~m^A@rBzFv2OTCY24`Mh3tVxycnDq*NwC~ zPU^&B>o}>3J4lK5ggF5hly05hSo?gFV>v5*;E4CizM)PyA8IR`YVly7izX#NJ zrS0aKwEVv2-(vIontzMU?`!@oHovd=x7f#jpYdq^E&Cad=HCPAwbJr?noo<(?`b|Q zHovF&v)CMO&7TLi5Ow_%iRPw+^VcO3UAwXVfbP)GMXs_cU%1n|^6LA~yYE zUQvgX{ftxNkOB2a36FH%QlAo=xTWo;lf0~rj)oOtcc))kepfFyvH4vshl$Pa>g6VOH%+ANPPeq(G?BJD z-O{43xD^|Hy&UCb@y>lni@sitVl!^N9K~kbdO3>Sxk+i!*UM3C^tBu&Hu`!wijBUe zJMxk``dSVXoAGNoOl-!lSP+}>>*Xsp`g-|_jlN<-Z1nYV7F+dMD@uT;HK^-9$%Rj*V%t3p74w(h0F9 zoseeI327#skY>^eX(pYJX3`01CY_LG(g|rMoseeI327#SmgN~$uN$;js@Dx#EY<4< zEtcwagBDBmxx7udS3N> zrzii=)TA%6zOXi(f~+d6R;M6q3U`(cMOGA6tNZE6!-|uyyY8oD6=Aiy?#f!hYUz(@ zcjX_7(w$v*Wtrg4(tgT64yBg$SUHg}e%R74q6^uR>mhY89%r z^R;%qR=ryF>h8G6iol&-t$MZU)v8ykUft={dX(g;sL2=Pp(t%Sy;={JJQCII)bn2J z!ICsUcXoP`1gO>N$>UIJb$aqJlv=8%=UuV`-Klzd-X&G&cItVThoIEz#wTfmTB@hV zQ*s8~sd{=m<>4pYsd{=m<;f@Asd{=mYdxOw+*9{AJ)V+xsHJ*(JSFMSovNqDQ!)BcAbo7L*{n)z;g&3vcV%y)Wn3tB(Y>B$Xf zwYu@i?Ps+*J-PX;mg)^uZ=iYu)f=eZK=lTyC-3}EdNxqKf$GVlyxmUK8>rqu^#-ap zP`!cb4OMTbdPCJ4s@_obhN?GIy`kz2Rd1+zL)9Cq-ca?1sy9@Wx%Sp46R;uT`tXQuS8VTUBpWy;b#A)uXD%iMlLmHnF6^n)F4iNnfOy z^hKIUU!#j|)RIj@>Wsx@3>#j|)RL|@9x@%K*>iD{AQ!E`{ z=j+7M@padxSUSG$+7wI2*ZDfJbbQ^lDQm*%@$9Zmu~e_~bz-SrcWsKLdfl}tmg;rB zPAt{yu1&F2uh#K(*QP8wr{il>uhH=}s@Lf8Y*eq&IKycsuxr*s9sRLpn5^|g6aj;3#u1Xuk$^!mY(X(t6t}O zWMMt+OXnxV(!X_nLM-h|=O@I{zI1*}u{JfPlLT|_M_<*85?N{gjJT?{Rj{&W{Li={u-h09{;k9Bdf zth1-R?&4&zwAWpLESCOC7ZQu59qdA4v9xFEY2{Jzu4i5JD{J=Yuc(Wa$HVn+I%svV z@@%;7)ZbJWtKpA)ouAfzs*9EIXZ!x;i`Qkc*v@9>` zoWHto-QvthUJKngJb68}H=2C5H=L||wY^(JLos@6n<+9!T7S^XgD^0NKnwZ{+R4^H0B&6i{z+;*2)J+yM$J+qfA z9A13r;%=#m%lagjEy;Y@yK>#)#vhR(v?~b$YjI(c#vu};FZ+>HE@0;W78#}YFf9n{Zpyy;m1p<9I?lfOnW?XQ`KsPmo}GQ==BY1#>0Z4rUzL4%&(xRhm3?uXec@R4 z`EmBSW7%hCv(Mf<^_g+@>0{ZaZpuFS;OrCQ?BgFhxA*aJ_OWxbkB+mCeE9s{M{deK ze17(!W7!AC*$2ki`^VY)Zq431&farQ_U>`^u6NG#-ZjqNIg`C}&(u5KKGS=L&E7tf zz3o``)~n9!y>*~*g_tM|J7*=x_rUUTT2-fQ+} zuio>ESMBP(`dId=UD+$;!>>G+z2fC(^j>jh_VSnYdoMpDds#nw=}UI>UV7K;B|EZP zUc9S!%dzam^1&DH%3k!sGkPz&SN6geW3k-Z?#o-g~Kf9LFX&d8qk+*^Ck8)wgb z&egr=-kLr4=BejAdspu{S7*=JGxh9U*>8`t-`bx&>k<9lv&PwP-YI+LGtTQh^H}zb z^|O1=I4^tp)9%=Ny3L;URMUIf9kZuC<@DZDP4<*0&-R{jdiLbm>}Cvm@i|@JzPn7t7=9+G}?9t{rFB?98s&Gqog#X6aaVNWO9Coa~@92ajb39zEMT zaHni>obBItYj6KJ+qd`X-o9J2eK$|-y>eG?@73AfJyQ$g>~W9X-Fw_Pd+hG)G4jR7 zoReKGU%dLR*`sH(N6C&yU6eginn#Yat7Q0BotZtNpIx~t`?Ya)#W=fsoIQM;T{g~s zb(}ry(p|lW-I86pE4!qhJ#?I1JkBl}XAe1+U3e_JV0(7Ko~aby+)LvuzBy}0XZPA; z+34(Sv}bC#KO63u8r+oa8E3!p;B$KqJ~#X2W7&ho*#pPfdE;!}&GzPP7RFg)v)a$} z>OH?0XMQI0d!}49({r;~HIvzKR!*5-c~ds`fU|pZ`?Cj#^?!# zFUsyO`|f{-?0(YR@1pF!_u1LI?^)S>?mg4H&(7@LGugfR*{*x;?CrAIJ$GjJxO=~M zk2A8n_p`g5zN>e)W7%C#p6T7yW_LL&yUU)bbM8FTJLmN5&NJDawr6+RGj(=;UhnK% zvOCI0@3=p^!#F!@e|GzEcING}+nuqqcRQ1vu`?^=GsP`gE}zNI%gi|IOF#PK>~v{P z-<9o@X6HrOX=i1#<7~$`o7q0oo4F<1K9g zs;VlwXq9Re)di`xs=7QLOYU?3zBA{J+`7Ea@_XOs{r^9o-#yOcI&)^d=9+81*UX%Q zP(p|kJWe_!BxDW9`!(YtA+#$(Jrd*lCRF$o3Xijbt9$l%Dp%NpW-hbHWiBqm0+!lxXFhV?Uj;t6zruloW#|ZtrC1E$?MvW~i zasGbPbi&_BBc%D=(Ir!=njWX&gkL~?i1(P1(G?--6IbAV7$LrHRbwYiocH0%Y{Ku? z5)!|-YJ5di7voQas6FiAAr2ATBPTv?|E&1?&QeG3hkwPB=D3!M5W`(3#L=jIF!EfR`x@7!F;y!xh=#j)%J`vCL z^m^%>G$D?}odgqud>%+t@t4)g{JGLqS0p)UaeMS*HgPZxG7ch+ z#ys??lk81*#N&{mhIo#$zx8Krh!;3kgKIXf1-OLlt;Dqs*Ct%saP7pk57!}FM{%9N z^**k%xGvzjg6kTt?{MA5bq80y=pI})xFFNi8J9aQZ(M=6FxqH@Xg8nsJAaqt2l^je z`4j&SQvE(38S)1?NPg=%=v=p^|CxRe@rgI&k&+llm>4PYVq3HfP?Wp~o-1;!5{%M( z!sPfg$kE*y-06uc0apsH3|vB27UC+$1>Hufa81HB9oI};^8_z2rv96KjEWf4HU(`^ zaXFHfqz&;$$MrKns@Y=UQ&&k>OMi>-5%(=}p8P;t&~~_EkS*vE)UpXKdr`;6-a#v% zozRYEcW-h5w$OA)X@76!HW4h2H1m_;|Ic+RWJ5 zSb}g0%_y{~0kv@xF^vZG7JLuX<1n2{Yw29Nh%Te6>3X`EZl}BGetMW5qo?Qx^kaIF zeo5=-P5LvvOEtz>6K2m`nFsS_!K^)tVx7_A1eU@wpoa@tIUB*M*d#Wc&1Cb~Q*1d~ z!#1)l>?O8`9b`w?arQ1d!#-h`+1Km_yTyKG_Z6ZTlxB*f(o$)o_$whw2PFnNthbV+ zq$*j;V5L~8R7NS|l_^S%GFw@oELB!2>y%B(Hf5)>PdTI>9k0WMWs!R|*`*er^_bGvYjRG;nJ0ZI z$@EvNIE6BmUh`5JUfdXy={cMc;SD9qIP+y3{i$ACz2-WH=g2sFgm2+Vt)OYFNM)&^ zm?bFF%Q~W$D1DiO&U5NzRf?=RP>e{Wb4D+5vCLWL=UN$mt&Ai2#&o}@jHBl^LdMbk zPxSnyueU;KUrS4CWhz(kRIhV`FXQVRu=paTg;&v%w)i3@^^oyPBt1($eNE=P*UFci zp$lcq<}&85lGZsaHI*fQy}uG=K9Xi`GG>VkdBJ=KHQ6CU#Ed|h?04mXp!qoAD~aN% z;w^ldBtoc^9QLA2rTaCK)_Ef9pz{PcQRJ!1b9b3`w+xZtmhqx%V=H~D$gx0g$e8P; zkNF(=v=F{!H0h&5jyv{(d@9RTM#(r#)<@@dD-j~V8`6Fx{T0He%Y?6v5k7a4A(x~t z`(4r7qK|snJ9@c#o%#DRrp{*}0}L~a6XqJ=d(sVaL_Em`HHZ{ow%Y^OjeHB&9W%!d zqzCy0t|zslcBB_(v=*c{ZHIZS5A99+ka(Iv6G#G0rD-IQX3z}Mj}D_0`*>>_Ydxh;L%h+DF zm#knvv!BUI#X)f(tDvtV$ZFn$_aM)T`HZX)Ga6Z^c2m2P^@b-6Pm+y>MTW)Xc|)Dy zTk?Y8d&Bo+tC0hBZZifLgUE}t#uChjhk)lR$ZP-qz$8uI zZ2}C@w2m~RJ^$Z~`d`ne>euQG^_Kdpdfz|{217H0qoJjtjltg#V(4IqF?2QbHY6ER z4Oy@Piw%{AQHJq`DTW%uY{LS>Qo~BaI>RQzHp5QCKEolyQNszt`-ZcI3x+F(YliO( zw+(j;^+sm2F*Y|k8{LiG#z143F~S&U>~4%V_A{m#bBy`MQsXe=7~@3aRAa4iu5poZ znQ^soy>YW~yK$Fszwxl~nDLbH1LMcWi^eaFb;g^98YZMN9FWV6TSpv@7R z<2LWwoU!@D=CaM#HaBc;+5BpA-RNE}u z!M4S=mA0d7$J6->v3T(ZkrLW`*T4BPc;nHv4_>_jorxRqz-_)-W zGpO;Yg{~Ii>=_w8LDIJ*t(W^Z_3wCkT8505^btvC35-r%CA~$^ysxAe%kVCe9?=+w zdKtnIU-xBw^t8&iA`Y7`{c7pol>S)hy9uAV%iQ#*g(5@=;xmz|RK_Wmw2WzKk*p7^ z7OC`7Xu3}G=?!H8<%)7;o|abV+@2$1TDZMO(vpX)R?s@_Y z%X(j1_jshtGg6kK(|XNyze?u$f%NxU`LY-25}CHS47Zk(88X~jW)h{G6v|TcoJ(Y! z7l4d_nq&^4GGwfXqdX8k=20PUi891n_%uoSy5zqo7PZoWfaH|i~Q>&Lig8;+<35To!-VFe|)N#7N|qDp#~^mWcWCuyByx*sA# zo1-vdfWB*{xZZ<_|!%ECuN9_@R?rEwUQ2!Pp$Nua$m-jzJ;q&x)c|6 zJ4)%OmV=X0R+S1FQ`Zc7{dG;N*X;|*H@&^GrF1uc9BFmkrE5Z|x9N>W-YPLNmF`PT zt7{2;j$pdH=`tgE#rKN%yqTy8e@FIUk*t;M9Yt^N*CK>jaa)%tWt2#(j*&Sy$vBeF zmib5@BdtWZDy2gCNYMJMM3?$XTor5pqspN)z(2SSuo*E6z$=a!qNkbRhSY z2ql`Bluk+~N|i23SIU$GC6RI^TgjmYrCO<_Hdr~DO`8d;g4*#I9z&Z8+k&=+Mw-WZFHqkVh@3K5!MFnLG)E;*!*&J+C{E9yUG=5AGyl^pI>bzG!Et^EMFRr zs~@hkM^`JYS1$iY=mpAHS>kvrA0z6&sVvsEQ0#{|Yi$?_C)hLlU--#V&6o9(8~$QH z2qF5N8EYNpYBN@l1SNjv%hHJzp@%;`OuseHGrx>jk6B`#BjIL6yZbQee}FJAHE$Mm zu>Li)t>Lezo&Ma?&Nt0yk!a_?^OG%J3NF0)ucmIO#lM;k@dI@ZiCp9rp_{2tC)B!#|?*ykvfB z{!!dNelA=1u#JBl=f5k|!p8$i&aJfUH6B-#uBtT^BS|4kQeQCW7OaBrt!Xk(j^S# zKtfG*nnhpf_l^1d86{Hbn(ohH{BgMXWu)w6jyGS{`uwwH{c%qJH=!2Z{!>}#W6Hc) zL~h`^CG4_(FQlV^t0I;rdheWe06Ir%9TD~)_;o^mTyE3=x=wG9uRkhZ*CSFJOIfpS zX=8l7<>J1964H(_@ur^AJQAhqS`w}O&;ImT)(p+}XFuzH5plGaHT0yo#IIon((ko% zc#6@hVK$U~XeY*%c31EPdH^HrU;X{I^nW$||4#fr8y$b%8cRP|bV!2?Heeud5BNs> zgl+^s^UU+KI(fg;oT~p7{=f3m>)6oq4@;DiAmsGnNELd@MW8H!s^mzun$a7yZez)f zZU5ueHjIJB6n{oRE1!e515fnPVd0Tg>3Yh>x#PDv={#!C>J2SwxEJkeOre!%x6O94 zjY}~i#ZK3M;3xU{i0=EJEEMe$sPo?$hYx4B|H=9_GOZ_(` z2Y5s8OA-hSaNu7l@%MF;R*RVN8f+JVZh-QwV+uWv7(j96YRs59^6p=doQCg%|Ct(tt0>V7JD{--{+*I!jiqEXrfwL8jUoR#ly+I5Mon6)4RZFM zsEM@apq=%f#C45Q+aICg+!K+jOX5z>H3B1G=9v}q0r*zh*jn;L3X!M9cQJPb{X1M?$?vXKEiG6`g8o-nmlg^b zzOimPmTC;qb8mQVtyA>!8*0%IL;Mw~MLKys!Q#DMu7moKWsRsg3_(iNCADe{(<}qz)Xi#7Xsh)Os{rJ5mi7hLgZgqFwXg7?}^padv$f z+O-@f*qdQ5WDWeaILq!tHp01+=i%Dp6!%utWE-3Z&bYq}Uz~voCVSz$ajyFyYVsO6 zf;zkj7liZg$56^!aIML4I7;4zYmHOiCqSQsYmF1~r%?L4a2zMW--rJJ94BYsRGbSx z3;#Tv2l*7vgM0?(K`z00kk8>f$Q3vv`4Y}ZzJ@d61o<`ib#ON12AmDfk>5e@+=XjG z?!mPo58#>-6I@fuC?j6fKn=v3+TfhIH*G?jz!xXEylHdV94Cmxc`hGnPwhcFPzTVC z)Dg53bpkDRg*>P$PSDv?H|j=wX-nD?bSv5lv^&nL+tb#xHE0j&K^$ls+6KNi^@i_D zec}64f8t03aiZOkhR_ha6%$HBi60H4VW7o1GC$g$;xrl!$5}N$+JSZe-H~<#9f9-j zPBfB6f{vn5pvC@_AB~|g#FfUGPmB(M_Ot&>cwo5`772U#2f3?M}KAXO8&CJpJ$Sm8 z?ghP%?gPD_?nj)1^dS7#>FbDjgdRa|Z_qbDAEie@ze(RjUmv5#(ARI#w?H4K$3eeM z-$q+b&=Y9ONqQ3WDS8U@JM6d^8bW> zg8VgHhTos}C!7!91Bl88@`3Qvc{=<| zo(VsjXT#6sxx|AH=7Ztq^L+S)ybyjdFNR;jONaqy#!HDOFXLr+xut?v5F0*}4~0LR z4~IXJkAy#(kA^>iPasWjx_lyO!yn_1fu6)Cfu77KgPy{tfPNhN-%WWnuZBN^&wxLV z&m-P^0bc-r5nlxVDgG4vC432K#+UM?#D_o4p9Z~*F9ZDye+Kk&z8v%lz5?`0z7q5* zzKS&G&+=#CujOlrJzvMyflJTv=RmLL>p^ee8$fU58$mzMp9j5(Zvy=Se}Opgzwp1n z-^#bbf04fke+S2JqATG;zcE{SQbW|B!zO`V2n< z`Xl}kY01y>vm}V0s>p*|QzX5%N z-vIqB{}%Lj{5#O!^Y205 zrM3d?uDXM6t+od3p?ZM!R6U8E>ZN+Y_fdV|`>B5L1JnTcL23|j!ut@x#7}Ljwgnxc zhJX%LLy5E6PHhK2Tn&fcQSAsnQjLTktwxiUYK$5~g49?w7Id5%2fCBm33O+*Gw3dA z7tmeRt|Z71XXr}W8hRRfl2DxG>`g)p@rHQN35EpFgA9X6J43D^mxLMpjDA2Sj9vp) zu?L26fa?I%;Ym9Fmw3o1@sN$gL$*K~?J(C0Jk(U;p=J^f+5OXa$XVhc7m0^lB_48< zc&MesL+*IvCjsao5za$mBTtEq+Th*1es~kDKb$w-=t%)083^Y~(%}3gX7ZPqDS%|b z1xn-;44XO!h;9&EkVH`-5=Dhd6cr{>R6B{H+DjA_D^XO;pP(p%L{WAUMcG-Qs8$k1 z#Q{Za1ELaVORfW%TE5=*tW!cy*5SjycBOSxOH)H~!I z*d zl!F%7&R=3Xe~In?F1ekl4;nV!Hr|?Eh(v)d5(S1y6zC>VV0(!I-Kao;EhP$UDN$fci2~cuB)k*S8YnOs z$Zr500DLU4pq<2mP3T}c7+e)7&>tvJ;J@K?IO;r-j)X5zpc5TK$B+>DUPF8OIGqYK zSwm}(N}xl3D|F~i=g>JoCjukdNsJgEF=B`nMhvmSh#^)OF~kZZhDeMUV1*IgtuUgy z6-IQI7}18Vp=;1CffQ}%I=T+Dz>9VgF9t}wXeaSvfE8YJx5A6=5--|W;YD{Vyy!0R zqNl`*p7ansgf=47kG#Mb#q?<&O z?diAlTM{TSWq`z#0rUrY3kX#pOHcYM{Tq0Am)=9U_vr())I?3hm%+#+eiC>3OWYYC zac3}dVooH8c`+|wi$)CU{-+o;g{NRf*O6!{PsO~hRl_=R+qU2DCl3gT94wER^MWW;|iIQC;N)D4K*+rt{ zFo}{~BuWmGDA`q_~4ja-K`L_yA@(~w?fSBR*2c%3NgD|A!c_g#Oy8+v!_JNo)R&8 zO2q6b5woX6%$^c4drHLYsW!u#Wj<c9Yn;y~NgT5?i;I*g8UD>u8Cs zBPF(uHuN?0B~cP#M@obpD-kx{lgAo_J+O2D@MjQkX9zHJJ0Rt7VB|=w6h>o(FcvF= zoq&P60Q+_W=1l^=O$C0<0AkGrIvosDnh!Ku4HP;H-&~l3FHk&*^}P95$6HQT;L8iE zu$H$5_;Ve34l8*Zfj&2p7w~n8zmP3h$J++%xr4lfRlGgGocqXM@x_V*SiyS@->rBZ zYj|%0alQql`8E*dNg&I2fg(QuVmu3U_$g4~C7{78z<*x@>(v3*-2qCw2aIN-3~0*+ zD9aA$ss&J$1JINcP?RfH##&-U%pEIX9>7Q5z(W4OJt0`>3Zw0SYr=tNIs(T;0>4B9 zx5NUkbOKK40({Z~xTKF*l>!b)$68b#&MGv@`&m=`fqUd9Z01#{v}F$-dr<6?Hhd=`&+ zED>uc{V`(=#O#!bnJ5=?Pd?_HV$3zAm}4q1pA5&^$7swD6EQzb!t5{wb3-+B|2*jS zMbPO>pv#|z4u1x^dj)j%Dy&Vcjjkfz<)elVC4ultuyU@KDST13h%0=2KLxA&u2@$N#5j(zgmyrvc-mW* zMU_Cy-zq(=vflFd4F1C6MoXGQH(+f9@7Rhw<1xY+auwETj##|Fmm&5cM-YgcLI!{m zHWLHdx{t4fh_Cx_c}Bh!`w;I7xZ`UO9Y|}O@Q(oY5qQK?>ghH}KLq-x8|v8?PLX!B zA}we|+Rlp1okHUb#8Y7xE6_8m;je)nQKU7hNIO)K7N{a^PeodtinKQsX=y6b##E$r zsgRH16!Hn2g0Ho1FIrB? z&u|L)6;6@Xq9UzDg*>1tRjA$PR^Ao)hPXo0@GgNOSKAeuMe)5RX)7soHtZvX&ZG0-i}h|rS}TgQ zQxs_nDAEd0B$8JoZdasaP$?Nqenp1kD>9W9DPdAdsFV^arG!c;p;AhOY}-Kk#D1%g zc7_Wdo|1QBBw62M#8`ziq!T&lqlCz({E>S-jdcu)wHqPXaVVu3amGpnzVTuNXCRpa zjXmYx6r*?_WT3G-{1jt1_{q2oq#5Fg@SY-E);1YWDMq8n(L;}8z*nn?uL0k&lJ!9< zLxrFXgNn}Z^ zAM1~AxC~_JNZAtmOux`C@cv2({X$Zu;%it4731|MdY^p=en;>s;3e>t+hOE@r_g%% zrU-4L|5ZLEmCTV4)|4rV4ab~v4O`i1giNy`J-v~Rq*eAU#~*LA$>6Lxec6de?QH%#(ZCdN%cR_H^@f_w@A)_6+r$+~$Fo ziyp=xUcY*2-ag)e-W|PrdMA5ld6#>S^PcEE z+xsQ&-QKVIC_c76EqvU3f_y@K+WSQKMEUgh$?}=wGvDV~pLczUui|U;b@XlN8|&NE zZ>QgfZNCo*4;vdcIc#eCmhA)Dx8IVuC4I}FEn~JU-m+q=>sGI=L0coY_Sl-Zb>P+~ zwl3akzVr42{-CYa!fcY?G((?}jle4FfIp7X+w?AL!~9t+_?-kPO2Zf(f-gLku?p~e zESmy;KWX9jdhmM--VEExUIV{Ruy@#Lc7a`&{3hVHpAu%_cRu)CrA)~DiDEWDLdDVLD_d4PAiPz^|KYQKrCf@$u!QP#`dwciy zF7h4$e%E^M0KX4PemD1V^$GL|dC2b!pCa&ksn2oAZv*)4;u~ef?=fMINq+l+-|<`0 zwq$K7-Lh!Q@~t*oTW|H<+F@(=tqEIGx7Kc5xb;5xO~7xW^V@vYe9U~*{D%36`LE`^ z=H2F3%sb56%+HzE;*`m1^D6U7^K$bu=4IIZUt(TtUSwWqUSOVSt~JlV*{*5kspcu> z(dJR+3Uj%+%sj-LW$tfIGWRrhGsl=C&F#!>%&ul9v%Q&_iS|Iduiew`YQJbdYqzz_ z+C}X%?L%#k_L8r>aGu3KG~x=wYmbuo3(by0PZbsg(E)P>iz zs|%|OscTyoTo+guP}io;v(BT=vCggzAHBGK@%ks%&s=}<`poM!*QZ<`aedhJ%Ijs< zORuL~Pq^OodZ+7=*KMzTeC_PDGuKXBJAUoOYk#>Kb=CRuz03PAPPsVY;dTQaa0#>R6kf{^q zVizC*H_UFWuy@fKvx+C?NH6Fz@dl>fLt8f3V$FtG?AZ?3Gx{@|wmZI<)06Z9I>y&= zfI<_1LWPyv4+vDul>&RFNsBiVJ2lxrz=NzT-vWFMu80(q60}BGzVpdK@(d8_df2#| zVC8Osox2r#EIVN53M=;&?6T~_KFeNMy8B@39)z`f7}hRqT|*L1qLq^hG8}nL0luvw z;@r|CG6McQAYMWy;38xwnJoVjb`XC@k?HJt*wKf`6QoScq%?yN!zaQfH>BX(kTYSE zuL8Psk(Nt5Rs(t(dXZO=@=e;=P-2)Xt(fk{9)@J{IP97PLpJRAMX=@L_sdK%X21RAMq!pyt{S109dV3l_u4F`dECXhqQw@RdP81`>-@`Z9**-oyb z6k&P2hgNMS(@+;@I+n~}(^v*VPO7KD<27U~o}b27^vnLryF47-f~%C5KcxlLPo5 zAy*hBVczz;SU__5uAb?+-ly_>+J*h**4y6by^EynvU}Y7pxK<3%Ui2?yHt-|N`TES z9^m)YpFRAlU0DCLT<=|`zVVh^`xeI|EHf7c;GYOaX?+o<2PE%O1Mn}oc$atCFz*HS z3;a4Su&?Oc4o!t-vLOseNC8!;t>l&JX3$1_2H3&JA;8DMr;?NUBBf9L>)J|V^SeLy zH;6IED8?dvPd$&gwuA&ky7)OnIso#}5hW!h&T%fawd#4(IBhKzc>ad6ogI^LkuP=d zL(YBGhi{M>+|(n;6K`-(0F$QF$0<_raRG_T&q-dR^*uuU9DIWUgQ8vCTw@&qg94+YVq;>XBV8igT-{u7 z@8^IgF3xyuUU4uO4KB_IcZi9NiH-^iWIOT`X4I4ppFF?YN5w@$hrKyuz?7`ioQ$&k zpGJvs%&pG_@OzX5f2~gbq$E5eohhA5!AC~adA~;B~@{8Ws5R0Gcy-Hm64H| zQ9n-x7k7$_>!fraR-ZqNFWQ`8dC1-zl(TmA&Yi2D%^fsw%ouIKn9-xhymol>81}S$ zFldl`a_<*|-Q~uIQu210ui`6`w=uhkH}@^9jEw-dZ7KK}8;Kwz^$WruKW|GvH1x;A z&X5gub7ktN{&B@4-y4^{u!rW%g8Z_&sulLW9VS!bj1v<|XVz%HJ~kmG`k8=0|NP=z z83R|k6=h`is7NgH3{`RqW)#-$8eFbMWe#H1ruRdZ4&A)EVBR9_#+hjydo7y3;knwp zr`pE%=)E_02=(snSk~FkzisT^$S8bh02L?SDBEeGly52BG|?i~;@Owl&nyM9g>UMK z7TQBr{A3#(V_C}FUcGwvnv=I6zVEz+2Isn~Uuh9vU%meQ)vI5AL66^(c{ilD$B2w< zkUKwc$37_V%e;m0@qObL;jJ+ zaAQY}0T_8|P&*o{V!Q?@JGB}*+fAF^L91y==V;X}X>A8OlWSML2>D9Opf7zM^yQV{ zD|DNddj)xY2D|l=%7I7FPK-z~lB0bbltpZyX?KNb4@*_KX|%uV1La@4{K(tLyjdH5KpOvu7{cxOY#+uHE(fcJJD?TS?iy3uS+WrITQk z4Xg+4s741w3Qk~wsh>8KuBxQ{Og0&6(B}Nj_p8we3dBHoKh(#EkXS^-GJ0%xDl~;3 z>Sl}?$W>mj9bB1qlPOG`;>BH%)MU%%) zEq{4yD)y-@DYc1?tghmeqqtBj3eVGlvm_kA3dgXoD$$!Ub^)2 zpFP`jADtW+P+D?mb#_ix--Oxgva&jN8`jaS6&p5u&*Z^_&>vV8;S<0w1}%k6a33Yo zK};4xa+EmJayBY;-}&>ErZ9DVeRt(vy)jLjNEZ#$W#?VAClYD>(H#nzlPI$SJTzh_h!Agsy{mVOy^~b?-ipELVHKFDfdk~o z2Q^aqXvYp6qTLU9BqSvE)jpXV!y{8G)*Y^%{_F7{s;57@nzFu$2}*+y=fyq3u|)#<-w<)MuNr$n^CH z=2ic>dOqj=6Y4C)Q^=dBZ?=^8Q0!4PNW8a2!%I!`kZDGX{;=p$X5TO}{CwHMt;Iz} z#Wc0Jq_|jns-%0bYbQ>Q8{ezXkg9~_Nt3mN$&-@Powu)9Jt!w<(CRhpMt*^IIKQBv z;Q37j`H}wFd9{1b3>&t0PSzmbfa08W0>FJ_fj5P4q8|TzX zfS6+=y`5qdq2evGl;~my%vwTr9l`uSbOLn}jHMxsjGa2|EpT@Avzi9Z&Ijucp$ohO zUunP`+TFs}g$qxdgn2*a&}%JPuqv?rBDz4-gJKnxE>gsrH!z8gU!Y+EEAgwXRW1P5 zGHg;fTH*lXP>8LfYp|e-3R;ocJqXcE!QoPoAy1(nXRDWRf&hJH%UrN!re1nb!)M;t zRK`8Da&348{V0oyZ=*8u89k_8Qd0Eth2|3ufL}zuuPG@Rx1|oW&eJIxyLQo3M#A|6 zk3uaxOAD{S(lhc~3t^ZAIZ(u&h-i0{hO4l|)52e>=Xdz}JIAYBY zZB;P1tE>C$an-$sr?`}-4j#X-YOKF+er}kXlZ`=9YHH}yYjRV&4$12p9Nw{JooD+& zqqE#vmy~Qs>DzN~PNCZaECM6ba zC@Vj;z9=avCja%!oB*GcmD-8N#tkdWUz(8~9aT|0qh@Js_4Hu@mEOH^`vKa9DQ!hi~ZULEncGCW36_cC@*_?dwE59xfU`Yz<+u*U3xztFlAQ#-Ifz3 zot`|rxb*cZf4}5$uO7UxVfFIK1UdupMcS@pCkld~-w&nd zwNUhGJ@mmIq-z2bBLG}=@Ubw}Pmof#`vv$!=rf5N=LSC?T1+P&$;a=AHlG&0v@I*^ zC9OOC==7CNJ@TIDmHhJ;T5ER0G(02y#qDY7Y^~|Q(v{C7CTASoy(}rs(|1Va>Qfhm zTyFQ<~=xq`aSoH(I!#N30Aa5nSVUv|04ak+rqUw8Q%k z9N16e=T4qdUNK>OjdpGoeze`RlHwVxX@+S+w0moI`h9Gwk2(E*YtOinI8Toq+tKJ3 zU*759sJ9EdyL!6-MS$w0d3CQs=~Gcr|2is)8ZW&c%6>JWvJ|^%GQ*Ajde3+NBL4t*t==( z?fUf6rBBoEmM&SMO{2a$@zbtopTDwm=PT-_*Iv_J*WP#yKXEGJHEMhI9F~_ioIQ8; zEIWSgtSC#gJ6rP04OML%y%@7P{PP2x#tDkZtwZwjhiuh`(^X$g7(af(7uxA^b*3pJ zFK^2WgYz;+jr!>9s8OaGz5d!=OZ|b69<9IPB+Mq?hf*k-1B>;Mc08-qTn%aM>#Mf{ zTt=&khpQW2JER@a-Z=EyYlqO9-iICpX+PYtVf5TtT0%?FB+<4v#Q(?worE(3=dltg z>~$y|Hzz*@dRjCEEtI;*qMZW$l(O!f+opUp@_c4W>KyH-a=POB*InXF(`dhqn>TM{ zhh3ARmTAN2n&+dUOazAp<9c~{*_F@B%FAcZ(#)DRYqom6{xR)Z^>j=?9?HV{eC_fI{HW-1X`@5mm(Y!@zxND9xr>HQ3|M8meLP z+pis1j+D=TSzM zd0vRG>tJC5L{py$e8q$JdH)C9c*KM20QC1i$VkVzF;Tx8u(i9v*4Fy~D^e~#H)!@x zKWRG*&cp7l!3PT;u^pXI_XW%b#-p$uvFiAnJRrKjCw|eao3`VppA61-uVfi2@jw0G zyNuh^eW;hfd6I!tS;4&KXrWrWxeOIHoujX4=~&t&)O=I(HYb&z&D!&_<@F z%Cg?)w^=#%!0}A*5of8~Gqgj7N^Jqfe-XpTHuF`*jJ3_C0@G1nePJgyrW=g~<1DyH zSRj#)*pmW3vu#(7ZyI|R0DZ`S85QMQi;JrvJ=e0cjun^ptjrrwHS|O+b~D$nUOs)# zp6B`+O;6AcUv%r3H<;!R8}7KGxY*w_m zX{iHK2V`WX-+3CpJ86Rl^N`X=N6)*ONqcbD)g`pR-_dc-TsCv=95?*83XN@Ykh)9E z715HTXo|>~H!d5XvD|I&VA&AuF0~O2F-@>)q*BcG-MguwDKwth)A-DoJ+gI=$(Ew5 zP2gWT+Jkpbr4(55j&*5H8=#XY)7Y>oz|-q@4xf0vYgu_|*_m#dY1UIS=lpQFYHY!X zyl1zL8|K0aJ8M6Wn&R#rRT2`mXa)7Aq0c<~^y)8fjw&uM_`A--0yOenFcd?Nx`_Vr z6ypbS;};Ea0r%LuGb>|yldwyuRbb*I$2e$Lsmp zo%c&}a?;b+XKcOQHfhZK^S5rDpI4d^kL4p0>;BQ*{f4<5VNzF_t!=CBmvPxPXvGgzUAL{AJ6xpUBVm&M4ip1=iZ25hD}ft7jjgN+8~8mx+6(sF2j z#IX~rXVBJ|KpWOiMC>2)`zCBi=vdXclT5VeT3%jiM8q{iFxIGOU(~f2X@7%{`WCQu zHKx~D&ScZ81qSE(fz)LB(X^X&HyzXa4Q-_HvRA3ihuguVzu9E>~6 z>8-F^>`wXqr z?g%#B*jzO9d()F_{g*El5B<*cBriTYre}}dm~bER9%W5bGTu z;ie?H2Kq*AugV=fxLtbH>LAZH9^9d+jiILUu4xbYc5wG>1rw#{+cnU)tC5#jHOyph#8z&QdVQcVSg@6@gG)9QC?YLST-o>tXc@)C>)VdUX*REihWBG6x(%hSls7KXdt#`A6r@Ro83B zQcXp*kyWW1KVr|PLKL7k%-8Xi0zjjQYpIZ@dq2v zT0|Fl&BVCwjJz=SOAJK)W){=wbXtj4G>I42tIC518wF1hPyGP#ev7qc7U2-2`WQSz zk#?z8(=>Ap(zz>j^)AZy4>l^F)Q5=l<55mOqzBfrWddeNyvD<{k#z4EZMIfBhVIwK zkA|U()61qh(;=#93@6`QwQ#I3Q8GrW#!hju&|E51vqf+9pc3`5(yo0A^5#F59GlqQ zN9$E8PG^@4ThVDiYIwIvnR<1Q2bS=aOUUC9{54J)QU8e&QeUmKt-sBSN7U!0Rw_G$ z9MK`#9!2b<0j;R$p`gHSv~kH9bZm_5IU%WH_e`u(i0+J3CbWGzu2Wy%uKoIjMD^_y z_jKEKMV=mBZTj`|YUANqbT_A8zt2rOlKpf2!{5?APwtl;9==-p;O$ z>*F^1qxeEkjGaG<@1~u$v|JTyR}=}5p5hD zjoNMM{qh=MXGSAj@jr-t<$@h8@aGB0x%giQgaz54dvvIR!5$63f>v0-9#2h)?~?G> z+>Z2htq&`!_oBWg(_<4ibW7>49vohX#C^a5>P)lhW2sexD_L9vs>~bx8M4LxyC|n39*r zSV7LTN%?uofh)E8340YH3 zI-_6^%gcUpdQmRJHVXJu13s;W&CwD!0>*(i;S`>3#er8w7au-EE343o@jgYKwvV>a zULK3%8|%htJHYS14#D!tNv#t-nUTIF1GX7w^`^xcTX05}`f8i#T*!gMLSlAz!bRtn zmzUGkrY7tTC&JfdrpTP3JdOTpAx^uCnN6Q^M)2?B*>z|NM~{ z8#F;(%?{(Vh|UwBJ+Y?F3JVK00mbm*WjtYYX%upZ&c$>OO~D=VV#tEikhb@7sE zQ!C3OA|fKoDyL47&Cg$R-+1eS9F)^bq&SHtZd-dvjc<9g(Bae0M)vb4* z_`V4js%vVhFC@=X*F;2CR!pm2v=A9pL`FqLR+LYhx_IfdspXZC5s|U67q$CqR?nJw zF&4jzGiR+{Lk$;WwM$t+j!qSo`(Lf7aB>J9Xm)&N!jKn^Y(lAM>D_sW@`y=Qix z7oVJ*)OUMU=B>T`Q+#4>_e*AJ8ElEx^Mhe=-3`WwZjUeP+n1L{$Fyx*=;z>&n|m}Q zw5Y&4HZN}(R!JC6EA8e<932HD4=rOWwo#n)KRii$nPzICe)=Cyrr|rd=cdw4P3fkG zBodKNskeFv?`?>6OF8~NNb1KieJPU5-DYG zu~(6|z~|_0(e1xO#{yY#6|Oz72XMs8tM zr_Novjti=+Pfg&rl&1RHl~_e&3v0DQ8Cbf){{TZS!|wVCxDlvA;%%YPfVhCXExOGO z3m>B2peW^Ehs*i1v(~I$G`OjMh+E45$0lA;L2bi3xU^00F?>SFh~8R`p@}JJ%hc3u zKe5I2o5naN*|xAvc5@95>e@BTFEVbb=_$ddm(5+cH|EIZxDjJiIDL9ykJGI~Zs*?^ zKfWGoeU*lO_x39j?T3%p^;ev0q4sP%ox+6PB4U@9+7BDXZezm5E#}4=_97_EyFL$j z9~cx1`k^$k-cjzY;yR5D%V^8|gM%Y`di%6=>(DJSGJH_Gux3pQoNR4cw~q4d&=HFQ z$dk-xUoz}?h_wOO_{Qj1aVElN-Ibr}hW=>!RB6u!^%~UKl!rw^h15c)#!H>rLac`g z*>Z&84-45_Obr2#jEq33K=;uk%u|Kh!6QXfnUt82lOH^Jk>d5xXj>}2wShlxiY-Ve$(Qk3riJ1}D{QJ2PQ?mMyJ?Li z&JoVXnY1$XwtbMH1g9v8eV{mHiQ3NKb4_h5&wGgHWFlW^Dt{QyAmZV9>F?4%)|ejk zTnk%umU<3rAYwf#Qj7(;l`Rjw0lYQr7mI0AZhnj7HrNY~q~?FH$8EqiIPd)@d))E8 zu*cn|bt{*yQS_-A)Kl)`8b>+?iqk3fMq@5NOdtD$@SI1&N9*w&jK(|>F2vzsnzV<{ z2L0|?>ceN*4bLDOdL0TdtBJRlu{wvLug|6!Z$|1P76!lu=mCMl^nGS!U~bP|pv+;7V4@BGK!`?LYU_aNtXqtR{6dTu1Tg9*wmti_4 z_E|+nxT)W)x}O<-md!eX4}Za6C+w~HDXg+*g8%+4;yy8@6oYz)ltjV_K!bS(k0rs#+`5V ze8UDeJD$cynU<%S7H@o>=8C;=1_{qC9IgZ?bL;Td#mG8wCmgk2`rIE=P5$d=;dr#e!L zrSBwY(OPr@J*CAZP<%^;r{F#|nZBn*C*$49_mZ_}e4-Cy;BoVD^;3f_)>&GK^G~*7 zf)t9`L0}{}F(Smg<7N~yf!HmWY4mdw`Pn7(r5Z+>*TiZFmm1 z4i~&fd@0WexA0z1BlxR7%NA)Y&)TE^_sVj*%5rk>p1@;}KQRV!F>dYTiWqj`!4k3L zia8VV7a`6{`rR8!JAQ#fT;speJ{$^q>w&@f+tl;g=OagIg}B!7Qd8z$nv@GT3sI-` z*yC7>wIAptvCtz|H7s_JzKrPl8_*&;r*Vtc(oocws;WS3*2CWaoqg6{J7jGP?J;+JycEeB7zgVDhFBTUI<7`~|B#s=^y=_rMWUp?SQ~LMv+|{|?km9Wmu;+*Vko#oa({6mQ;u zpO)n!1%{+xEY?SUvxU@vq=bC`emBs1>(KCvWfRHIBY5sjY$`pn)uhet@1M4C^a!zG zSVLP|Zy3J)M3i>Tva86(i>;>oyVTgV-I`^qf9&RkkM-7~GwR^)x;_{M* z8;KpYEpoSU?>c}W@OF__Blh^v_5>lDWGddO5aDvKO!h^R4DW;Yi2f*i(jSF881Wtf z;)~zIyaeBomxB@SbUb`!{uX?F!cYku(#MQl2uB0Hb0*R(g-#Ea;ghVx@q}P+8Sz=D zbvWKMBJ?wZJ@OgR7>+UaJjO#$j0bz1%O`jXU7wl7#+kI<9zsd1tu+i6e0VS*DAFy! zO;w_MjA^#7y!`O${TKbCayEqam@(snk85hHt4}(*yN9gTUT;l(Uwv#nUG1*TQ$BNc zs;&Lz3+)~?e(_q;h%2uY%sXISw|4D1V!pq29hM5;9NoY4+`f4!0=L}2*pI;roq>3h z3w+1hORFus!k&!edj`TW1~7r?JbW~K(jSFm=`i$>aFIXqL3r#V;i4~OI2j?rA?u%# zmFi`DpGmB~p&eEv! zC1<53!Aj;sm9K9|HfVf#ZWjt)*=jl&-lI=8_LZFM(;|BH7_j|R)8^j2!d;#2e_A?l zK>xODxe}D z`XHi+Vgm(4L{tQnWbf?vKQs4kHUZ!F{eHji<9Sf;?36PzXU?2CbIyMz(T!8Hz#i{* z`EUR9oZ0*qKNi%i&)c2F_=&p*F|H%zxI)dPajl+S{IGNy*DC2Wey9gBs=!DWc79Pm zyd^Mi#hEm&#(fm{@Bf>-FOMVo;D5RMLSG~eL>p)z+K2|EOZ~J1*2Xl;JFJT@F#m`+ z@tcsj)_XV~Oq*%JFOa-$WlFKmA}wdwzz56NntFvOktG-0%Rp~DV?B>DG0GLOmeCH{ z-^J%^comt_*-ep-R*)|I8O6RR^h}Ro*0y5*6@CX|ETv2;MigUZ{z+b;(0T^58E6^h z40??+Bo`3tMsfsYU2Ui+lR;&WjxtCW`K>3BKk6a*X^%%f?D6SDQ`I)`8|ucIZDY`d zecU?VV-dzMl+r!YwVUh-v;lt&>rR^=^7j*UrCEhzg=pW ztc*w}T7>_TKZN=ze}fH3-@5gG^on3#Bs}?KLis1|o)P=?OU2~)K|UaY9;uH<3Le?c zx?!B4m!l729{_(4?`(pWY$F+NjE5{k^I_Mvi}^qq<2Si~^vC!{{!2MACseLlTXIg& z7ShocXt)plflrsPb>Ovw`Mwj!!KydMN<^gQ`AeWjx2$6;zgU$4@LAN z%q12G_~SYO_(95sQlVLdUU zNVG!fE3#pOoz3Qt2d3n_?($iX9wXK$;$NOIG@iUh&_@jmCe+@75p~LCiwh;_D;fPl_>evnJf4c?ScNiNRP7l5kEUI&zQTxA{}$UvOHAq4f26+ zGhAm?CjDe!%Oe{t?i1l5L;f+M&z67q2K6wtV`-~M$?xiy4e8f0*3FIdbXJTx8Y0N0-^$TG{Fz1j&xrPAnO!`9;Vzug)c{Ma zs%5Ah>jkuvrab5Tph`QR*y@S&P8J1Y=GKlVLt{N#>0p^zrA(q2=h?t~nG`33G&g^LF6a{Q`%zHs19F?WW&L5!dFp%^FF9q5l7L+G88 zuvZoL^1x_7`xNQ_VEo{-E#?*2VdxjiP=2Jx2pMbF)`@hKKstC8HjUBXRpbM&rfYZE zxGHVXISzTfX`ft8zfd`#Pg$%h1+ONvq2Mf=(&|z039HLDXkX(j?1K;CGj6!O!;}bq zVRgxSd}-;8@AJbN)Y3gnCvx(GPisHix(%-6~&27Q8S2o4hHZJ0GgUOMbp_;|g11tK|y8IDHyE$-_VTBw2lJA3x2{ z9C!^92vP`r_1GxR#vOoEQF%7D`v2RR*mOxW4$r~lz-Zh9@MTGOKw$K;-+q`hrTmB8r-VaV4$I9^3U5rNldzxr5x9pv zDbD4JRu-2ytlQJ2PkxRQ1No~hzpkoRR<58ib$};>q+HQ93V9PP#`*?2nrN;S%mDaR zq&px3;cqY2ikDauGXHiSK)zr?)-(|5DB-G~)(Y~8wKC7OR;Z2sLf1uJtcEsN4OB+> z*;k<{Mx+ZLF*llq88pfKLVwYo6g-Cf#&5EW&|iXy$6RHgKf#wDbRn-e`>&L3z$O4c zG^8UZG}Jjz2`XtK-5B{rKUTVQW1|gO#vA=G%Ct3fw-C#mB--g<8x(bo#U2QMGOU$3 zmnnU?k&YcmJ0#=^a*8&lyT)oP82z+uDcV48{Fa7O^HeH_wJ*wn{~v*zB<+I!%8Ntk z|IfPf_wp!2P{aY~SxNdN<;f(ajLK5IBKHyDv|2F6?hL78iKf1i!3_myi zN+NekS2xBISqgc((RfLlpwLsu8t7{y+aUeHZ}QwJ^b{bQ(5#Gb{U*!F^V%&TW2%*t zdWvO<&{L|Hllu6>+mrhE!`sWixS}1%>u4a22(y5T&R6go+QGa=mmGKNn~+b`H_RZ) z8u>dK^651ppHPm*f={M+3)u$ri5N?{^AF08Go!bbCF`ejB~;{JLopH_MP78)yUR*^ zZNPjLe^6#I*6SIp0i5;V-%GogFn)@1($*@ky}D(12d4-?**A45KcQ-v)i%BSYK8vN0}h`K5j@Mx{!Aad&}y z;_P@toFQcWw1*<6DHp)2_!9o)-WE%c%Zc1{=VJxZhkPNqlpF5j0OMF_KbIVaMcjXHC;O7 zAO>ZL5k9HsxgsimbC0C7E{==X+_Ue&lw_Jm(#=2@M)+6ISs9N|mplcljFSg}pU6`S ztcl{j9QHBy5jvx$>y~PxRAqRS(FyvNDno=es>F4Qz;JqA*W>jlw*wBL@eEoc)w<=3CBw+M-4O*%|HI?cc9Fzi(f= zwu0$Id$ukfo^;BP{!VcH21h(Jj+9*RO!l&d<`vCY^zSjH@!hqah9^FvOYQC25rD&i zD$%9m&YlhNZ+0e4c<58#VTaKwtjB=)Vu>;Q3*DM*B7Lf>hn=iiPoX72O|0FG<{peb zxg|nOYScQOESh>S1_g6p3u_zkt)>me`HcKVdQ-un=Ivi_<<+1YLsk!cb=?mdd`JPX z#wDOD0M?E7z-ta;O?blUV`1Ugw4(7B9@XG?E6ui0kb;!|vPF7{a-Bc=!|mC#l`Q^* zj3s6>)y~R*l=85Pr#>hsNKQ`L{ZcZN!3TI)-de~d5066WYYi3_cSC4XtLL`L&r~%f zb=LvDDXc`r!eV5dP&LA)R2i2b*3DL)3S4KrYDGIS)Vjdvs9@u!kJ^!r#{OQo<|A<< zU2>##xZd4mXW=sZ$*H_qB_&^fGk;!T=P3vI#P4RY^LhQVv$9{>`N4$j<=MYZeJ8I+ z>qT3>U^TaH+qRYe_U)#@;X{h}A0ye;#-kVfe09-cUVh=ugv>_1#8<*L1$l#W6C@0c ztN5!8cRa8BL!oVYBZSt4B`Yr^E8SAj1&o`}?cw9mNccK|%-|L>2!a9v)u3n}j3kx{ zZuEWX*8_8~dfgHpgDY*oJ~ImSWkuV-)~&nC@2!aMq&2Jf)@Lros?N1GkB!dIv@gwY z)UzzZgY|mn?I|&x_5X6c?CrP9K(jk;2#puJn8Dlyxi%9M^auJooOGn_s}cv6pWu%_*H&xZdyTZPA30_$M;c#1Ba*2+&4a7 zX;{BQez(qPXJ7m?7}>F@A>V@*tOHn!Boz-{TiAS&N9_QW^Oj-z{E> zlaB16A>dJuKB@o_cA^LY_iA`}2qa7R4_Q?s!HJI!^AzoxbpX!${=|yjN>E_5ml5Y_ z@%9tkWMy3$;4kO0E<7-w?PYr=>c8;c5ogt;MlEGFuYrlWev?gQA1UYb`O0F)S9}mZ z{nUAg3=w~2yN+>1zk_HWBIo()Ay~qrzYC+S6|KAO!zZxL zV5g8V9b&{oL;fE3*bChgJ|1OP6!mjQ+rQpTnKOrIhqXX~uZdyLkQPQT!9V#Qf1H2v zBrG7KlJr33QWElt*!C;P3#&O|FUX7t9URNDDf6IPYn5{!8Q`A7%6CqkHnBseW`hS0 z)_&#fWu!Z5o5#M}TB~MJRCJ4!8a1f>Ymm7NW7hy5{;qg=?$_Frti8vVBpXe8?)4_)8 z9Yr2j#=}(pmn$+x{Wx-3LFu~m$^f#>vk*WQF;)bS-C5QT@nfu(*0AC?5kIEhs`yRB zkEyrH!_G~ObH$HgJ&V|UaAvG`7sZIq2NlMW{71=cCj<5C#PnSQxPh={-qz!l5&Jub zO-W6|fnVtQ@Gm6WkWG0N3F5w7#KF^k2JMNNdW;dfPs`5_E}34TzJ>r*L#sycD-9^T zUu(T~Ri)(oqiPI)BKdY`st3aR^_L9ENwmNp&DIvnJ5(8A-N{O@r$^kO^qtP{$+v~l zwX38_TT)pUQn@0D`NeZI{t8( zJkTELGy?CS5usxER;n*eS+qOifj7+irW$@f3wv^GBi zZ;~z8rhrR9>saUuWQPgFhtM^o4W?3G=mz(V2jUG$VIV$518xJ5WqydYH05gDs_f+ivF}VVi?Cu&cA`1OLrV2tlzNtkZ~O={E&XbdDXgE%08=)kbNT*>cm$iWu6Gb|-cdfW(2&81hzFx{54r8(n|!UUD_(z{|IDxNd;Q>l`Dms0XTRVM=iAcK z8HL{{1Ng|#GSih^{G*enPMu&KFR@`eQj@0g1vmI*{^H(OS(B?DzBe@~b=$r@atxs_ zSbL(Mjj{Kc?tx-S5FsS>jGa(9aSJW<%$_|pF8%d`{8v&Xpi-o~@(K&Ma$-{I#Ns`d z(CEi=<}gpGV95Gm|FOP}`saIDxGrBZSgG^R3?I07?9V@Gc^jjtdA(9o;#s zRdS!2wFYT#@<-@spnB>_?BtQ4T0KL1HjV{=F2)SDBWo_?HgwsV6mDf~mokvES_9|! zIy0`bZ+j!IGho=L4&A%;@71_nuZU)i2B~cw6GWV6*O?;DQ~CVs*nq|j26#8DgIPg) z!j9zP2Vyt+3)~Hani2K}uC@B`Ir{H}z@d2a9c&xBByc$Nmy`6ulw@UX5>SLIV@D-l z!L7%=9>kFH*MH~#<>M)klr7>8){o_ha8h29$Xh3lWk(X}@dRe6Kn(sE(4&GsasTMZ z&9$EYXAwvRpW!#~#DgDir z|6-G&vOSf?#|_onC|?X^Thc`R9OXxgbGo*H+QZqd)>*o@WZkW=3%-U;OQzR+jckvs z2U?}QUZ%qjqsDrf4sRt&?G1(pImI-CV z9hN8qQv%uX(NStg+N3LeU(>aFF50U2P*pEeBN8^uj?{aPu`v8mT_V4Sv~S}81RLp* z$~J1Gdxdz6kD)sOlyb`tTe-)0=MjDizrZ?b(j@Xv4u5$5$v@b)?ZMi ze&NGH`YroIv?u1LMkLB(CqQ}3l1LYGWArCQ^ykHD`STylZ@Yv3-7;t&V*b%sf-}fLEYzk>ATHq1)o_#vP-? z7la9eX*7Y9K;sCG4nmlrNOglMfsqKnjxM~C9zp$=xd2OM^$gIvD4*AE)qm0o7jB8? z?kdP7y!GNP6D4#>ztBmnPyYDB?bRRSVo&aR3^~73niQMEz=Lj5v-vMT!}_X|P4wWp}x;Ag^+5#s|s z7UT1r7$2Em)NgGp>UYmi^~?Op+Ga5hSFyf=jPb#%$QaLPk^UcXKThL=l_u&B7WBgq zhWv7T7K-|1{u{`jDd?B^lQr0*G5&J@lJxtF`oU31mwOk@?+By*F9iKEzpVeJsNX$5 z(J%8SYfx-a&mrzdcj;Kyb`4u5=#LTUPjf%IOBd-FVWbZe>1~l;`ZU_LRFMvuiF(EY zG@b6nsUEB>UYhN1iS)+x*3O0=lF7 zDasAMO`M+cdv&VV;=*y0C#SGqy-Yl}5zylZf8<~5GO$R@x*T7-FiFh1`~)@$`X|?o z2j~S~VLqcQ$5{`gOF!g~kS^Cv6khzG_YlbU6L_IW2mcEnh3Cb1Jdbo>c_E$F0elqZ zN;xF>PVUj!GlC*Q{_-{_9dXT#^zn~|-;DP$x>0uW|e(WlU6_UD9p`f#?NEdh4av#WaqJEqY z@Q2Ypzy@J%>I%KQa+0GfQL*4CXkubf8I}B!J)RZznYM()VX1<@WUYQdR28f#w5mPF zqnjIolD@0j<&pd}ftB;d>H_1@apnO)K3}42&E(R7wB>r zW9u@Ev0=ljdWR??$PGh(bd|xca+g??-l_A{4)M?R?IUb>CTL%k3q|D(oGn*fiHJxX zIr0kgaT`(5FL6gpHoQi{T2al0hk<#h6;I%s8dkj9x2qzY@hye_0?sASZ(TbE>4`NC3EAF9Tz>;LwTv(FI0)AFt zN%9^4h9wC){sni@r;1E?0CzFY?Z#Nm!VH$VFJK(rE3qYsm&o_T)t2aFr3Zy~q>sBd ziU*6YV(=xX$|{YyS$Ru2T!$~YFD=-fsVyPfs@t9)^mB1H*tz?0RQGhjauJs3D#quk zt}fbqmoZQHG?=)V*s_e14_KG*8NDPs8HiKr&+FIUOHNHm0BU9u!DkN5h)G44lkTlo zr|R<`Tjt}_A|uSd-apLB)PI`zL}s_BSAUsneOC7K|Ht(SP|dIYeSK1l%d&r?qxx1- zIp9^~M0KA7bG)kv3iW)&Vs|Dhg&j};JxV!YoYf)ynnC`dA>nmEM#W|@WQxIuRWm3y z$XL+NPnr7dZ_5_1S;F;hXLGW1bGlwF8t-@|L;2G`f7;G1BMX$wJDb;Ud6J*!mo~0y z(|Sx)qeinPGS9@nGjg*gKCI2?AY;vVL<980xcj10Z>;I&`n;M_2`9?b2jE04otbAP zoG8D<&%42iLdSrQr+P}m-IlUf>>;ji)f)r}T>#I3NbR$Fk ztcXrkVMr$_-Pjj%=KgSf(ZYp`_@1XW;SO9~yY8(-+^%=M=onKCjg(%b6=!txGk`1~ z6gV!a0zg?6C{$r!@U7AXCEuVXzZw|o#P8f_HfeB#xi>y27sdp4Vln0lQ*qZ%@eSr( zzn@hLHShWrZ!G!fDAmU5^OL-cv4%XqfMv7n0v>gpUHcPIfxS4tu35igP1s>2SHG$F z>3#VserMT!;Gw`blI~X@hLb*ExR5KIwz-K*Rm7>`RR306xHZL}`IGYYVSm$??J`lJuv0&~xmUFH@WhvH7=3 zi$wML`C{GRjHtBHvapU`7qrj7_fm{=ZAcE>c~IahAx_Uw9yxbT|MN0AQaZXOCaTBL zPv}KT8?;%6R)^aK5Q}dBKZ=R-Mgk@_eMYNxgO_ixiI@cERba(tktLe$`f=6rf4J%g zRxJPaU$A2D2&h0#Br2w9trkya{Q@eP8I+ z=Ye38dwPGd>tdDCWZ56nw}HnUn(6>*DRyH^tu+9*D1?<50Xw`P|Rzae$&09{x8 z=l(rWiDJbZSzyB`0xbb_?y6>vHXyN#1C62)PA}DC)Z4|FBEM@yl48vg)q}=WKStr$ zk|F1Zj}T`D&}gCzfWKW_4H)3+RBGO$9!D)(4US}Q6Q0Pa}%TE*6A%0 z6P1&14Tsr^${$1d!?L_DsaXDIacH1H$M}Y{p+~vpO0P~i2-BQ9Z1`JxClvp7U0gKe zbq>ms9jU(XeW^Ul3BWwl8wI>=I-)4kS~hMM^ZwZVeS7qr@R^;Z9<^t72-p9-y(JEy zr>m64UO_QgK-KIzFSMop4=&e-Je%7uo_)*XJ9L^cxg!i}4{1}Nwgu7Ym@XpltR)Yr?VnBP*`x3NvG2#UYs^D#uR@b?TW%}yjpF;|K05@MzWP5c zL+7!sd{0(PkX|0!aq^5#ka!rQr@?E4R|f?kHXVpLY)~eS9H}G1<+rglK<+8wLp+sol_8 zq;11=TT>7z-W`<+%R@eEvon2N_R{5<#CCxUv=5Je+DgeNXJy6DdOyQ9pCWuz&BO| zd|N$vqSi{wA^R5WmjYHCl22=up?^MK>8iRwOpiTfyt`uhrm3DM@nJbew> zV#SB>sjxUlDGT%vZEnTqiQrMP+Z}~|+K}vJQuA}!MWdwJPnws-s~%<+2i9g<{VK+} z?#s&-PMSI`U61-%r^iF|>SykKiP_igf2IARU;0(zM-W}Ar3^OZ^=P*)?E0ZdsbbTi zM^42+2FYb&P!#J8=Xp1isxl(o05$Jgg{Cd4m)hM8uwtlkfDb0Xb9dUBIttY_L<_U5 zhE3uZ_>uL)2i<{(8i&|w^4H}{CdN^+yGu{0CWx*39}ccB!0t0l===Y>IIh>UmEo7> z!pVP_SXRg&QR}JHt!3%6XK|>UcCs6?4E2%Ei{_l3@;HKG=pHDUC z{;P%60BJ(n_v0z zhfN-M5pQl|-M<1lYZxByavAt~v+H()*E`!)FPooaXw6%4vCvnwY?KQ`|J>Zc&7+#J zg<=oH6tJleIa91p>%-nRUQQrOfZSx1_r>ly;0~%Ko!DB8Hd>e=rLkMkLgK6h9s%KcZ(a*qx*<%aY;k2B_*LxKLQUo5O}yY^eNJ}d2Q@A7lz&$ z^6A+m0>yQ}nX<#GchH)Bwn|QnUE*8HVZ%5&~ zx6IESYM3((HdjKTYtz<=uCoZ z@%FYS3k*3qq;BUf`QxU04XO1k|NdE9|GbFEoN;T{trLA==dAHcJL^eEVe}a>iRbKg z>&Yebn}U!4UAbqwfjV(7WS&k*JVeCNnH+C4>Y92f9-1EUfilq*$lM*7d5@A~>b6dz`0NQ{$tcS8q>nl^C0w>T-dd z>_H=^f)DVw#=@H^i}BZ%3x1gcAZ7ev!1S;v<<=3j@4}5SI>=ku2;hzuRxPc3m;3Li zN&X%waZe0l6f#xT@n9b1nW0Ml|B{DA4OKs_k_WT|)6N>LY|PWYO|xp{yV8ia zYVn46CcuWJui$&U0N^_jn{@~g0Ap&1kaO$ShsZY~xIctiv zVl&Ng326b8ri8iD&RHX!p}^TeeXg{xtwJ7~m2ueOc*FAVJ;BI>Q7 z>HLoE2HJ`?Y1ciqo6c3Dj~z|g9oNwB79y>UOhfx$Xg7Hq+b*%zu*LBFxxBz95+k!-58_Q zs4EI>pQs!w3p2-$jSW9+Jz0LVYp#lSTb<8pPg{mTenTeFs`AX8I2fDUV`BbK z>p$>p=TOOa|NJiIWSah+v!+M`-%%Rs(C}W%W7UEL=c2VUVZNE`aU@(Pb}+f%^H=lBq3s51_AVSP&(;`o|7ob73E zQ^L(PQh|3BEqGTEeduM; z2zydY>Y%kl(x=s{oiHwP$m#)!rK!=m1MBz~W%PYQIXb3GY-BAhs6m(RW4gxFYig|( z3uhwYNnj5+mnqW)U&F&3-;d~jDur;tVdXcKKuo9WxAL1-KctD@DvF%Do%`VRh`CYg zv(SzG9JTsshq_dRcNX=QH+LR)E(E4Aeh&g_Q+ac1{l4WlY&GKUm(v_n+|)V?*%m5g zo0M_>-@+Z-@3Lk&H!{J^||e%-$2T3?uoj};Db~K zKP-$>u-e?0m2DsWW`FLs26NR!~o*_JgT z-FQPDo>Kv$-G6;I0sCiP>t?mK$2s_x6$roi1t4@HO3}Cr|26Chp>VIbh!$+h3Q9NM zED&1;`rXsWS0vW+8k#fl8$2tmH;msFir?1Jej$GQ4ct1=_-&5(t<+WSHqN#G zHGTt4XnS)@YU?tv`!bC5$)e0Qw%e%h8?^O3ehX2y$BRgTI~W&x-jYd<=ZU8ilzA=W7Mv8|WVL*j%nob=(15RQY`Tu8_^scvl@7 zINnva0?kW#2Z6djRIFDzFI75Orv^>?%HqUXZUrBo=L3-vqtALG$+^cimeuf^b@>;Uu=?`xxMxacS9rnp>u zlMPuFv2oeRYU1&tp8|gb|7H>NQ2Kavi({Pl+dEOYlvsW;QPg9M59)~!-?aYlRxsul zBaJ@L{Nep;{2qyRm>Gjdaw8aZIg@i;;;XzzUDZp1SKV9DTkFoQ?qnz zSX572)C2!j)B}AI-xvXUQyAY}1^wVZ>uaFjAL}g?4MqBEI6Gp~#*1`hP!x8{h7;pW;D78{-p=*g6V=CQJvMAutS2 zzWzFE$Qn>+9ow$I``Iu2JKjQs*6DAsod~T1;AG6HlP6E|k1q4wFQg?+V+(JvrYwE$ zEBwc+A0C^Ql(u!>9`toO`h<55;Fl_1IPkS8rJx6Y%(;=jY10UYO4;W6ZHMz`?Ks8z z(CaFYC<`XbGQzh+r0qBHGnvLoaC!%2fr5yv<)44Si^XA$`EO9SOxxbR;A%k63j|WbEnn$s>o4 zShX#ANYtt^|83bYq)AL%Vs@8+wxQGdPxvfv{A1Z~C^cCv7Fg3ZclB@FF=s)An#g;y z9s2ffmbYy-B)R41+h-4E>c*|ikNNCh${@FH!Ok`u`l_dhO!N-*_6iF0_3_YreS(^) z_3CQ?(Tk>kwD4vF?FhCTr?78W7e(O-j;v8SOXrA|=D+ff3-v1=)(Z9xyf}WFo6L{# zY}VWGXDqlf^z$}4iGfB&$cXDbfxYUIm7}p}O>9Ed-0a=y9yNu$m zHIEye`M7%8@vizcyzGXt-Rgnd{#0HOcp-ft3kBv11HJ`bHo~y^LvbMeio7pk@zw%v z*35Ng!k&kyH$<|4pbX%vYkWFt3q3*Fari zHWPJ)`egVdkrX4}Nhr#s+=)me!wPGdE9>>0$VveBK-YBgLh|-NlNbbewVgG z5+2*S`I+PqsVT=t6sCozrwuK6?_9?i#a^#>kBrB5v_PCfr%UYkI^(b&+55q2agZJGyqd%>n3R>wO2P?T8KqxabSxMVG$Yj|*Uuh=Ne)g|^>LIStzfAJP_E~T%| z|I2rIEB0yqD={VwUmX>g^}lF+Y%L&@C4O#%kGQd?NU8c5L^Vi(0mO&&<=7ZsW%}3u z{PXq2zyH4YdTy3gxnmohr(dvT=Dz+~9v*CH!AJ5Hd?g>wUP5qYG21!t*dhKQ>vHIr z&iE$>-h1x=gH;#fbOQ_ppO}C5Yr#DW-S5D!MU5vp0C^t=+%}u)C(1)?h`SePbu3(5 zxZp`Wy5$olN+p}!9K)ya!fbXls9nF<0W+Q$nbAi(Rnd`dU9_y!;%@B|6FQ+@GsWxoBibVdC*ue;+UETLpeN4}J*wH+~4lP7q8y0lZABKfp7Ui*q`;F~&ZY$iWos zP2NuR*K_fZW+#13Z0(q;EW!@5#1V0)F1?VDu-19hFR>mk;2)9vH2gBKPo@ZZ2EvZL z8U1U3{eoPNglVoj6GtT2U4~_34?9rw*Y9-gH zlf6V8NXBuJ3B-p}aX;imHA?R;A9D8y359rxvUn+hikD9y>(YB{PU*qRmk+Ky)yuB7 zImTZ*c8n#do9E)tFW!M)zDgghe)=u%4l(x#|C0yv+ph7$dl3S=53Dfrh4>cP(O&ZH_!4Za)W82=yk6ACU~M!+|IA0w zqob5y#HzcNNu)CU<&!7&?m2mqE$3gHxOd^JyLZ3Re7Jt;H#~sqee-)}9g?__zs`T- zCs`-v3;fg8R6iq~K^rdljpFd5s{%p#2hCD{;JvJdub0MqX<2wW+$I->at}6j)FJjf z)IoZNoKOg2;#>0)l^)BB#*22{qe|Zy*U!@y5HPi2U z)!tre>tXX2PABh%7{K&tYRQc6GOtfBW;4@QH!kcog(*b^TeW7dIo_RL$R5#`Pf1#{ znt#pz+`gGlX6v^=?z5n^6PpZfl=8&=dn@Ow@wkU%mM-8mEH%30x2iC-tF+wFpf47x zFYVsI=<)e4Uz^YN{T#QtL*I}49B1RQc-GA>>pJv3SOtBF`09w-nKs)JQHSq zrH6i;-uX`+T^P-8h>+)r{I>$C)N-8^*6U8;$(T>x%FwPuN zIlQC(3Jc?;#1dyaG(fc^Akz%1-)|;ZdDtQccj~Y^U4_2}1_+qj9(!;~>_(}~9}WnP_LJge|ZX364WHoag=dyUPX&i|}fKHqwgPuaW$AXn}z z_DIA?}fni3B^2l(Yf6Ul`OV7xo8^m!-CwWP0Ut}t}CnuS9Gl* zCrJr$1ov}IUK1sS4Ox?zxQ4$jXGv@S7(lqp>9eD~oqUAAFp_Z*h8H)1Zi5NYUCqD{ zlhA+$e$jJ0pFj7?E3ZoUqIHD$wsx)61TH$}&8M@~-bc?V$3H(O;EVXtxABMd1cs65 zLH#bL{D}D3I);_{# zvE^Q?pM!Rb7g3T8z~dD+3GSHq24_IRbi*D58G=5WdxpP2>&NC&4BEyi0k#VfzlJw5Z1j#Xc+WiFd%|xKY+mg& zPs2~@k8hA49To&o$wNV;=K5$YeCDjJ_)^Y>YcdQhro^|)xX#ovUR$%8vjK|+S5Sy*jm*QF|X?Kl7CBVF?Sp-4(7th%8_`x^b7# zK@s(}x@a&VF>%1aL5cltj~}O?xtn!HjlZ2VB0Qz@@Zkf^z>(T@>ZLZUQ>SFMp7_~> z60e#~hWpp`M2j^4umsS%V;J)?@eQ95ikZRpG4Z_{vXS2Zlkcl2mZ64D;XxJ`mkQy| zCj{()b3MglMQMJ9HlhFQrewgg{iglNCs~h5eL@}Urfu*61Ix+=Dp$V+eMbAhT@XBC zenbA9Cpib?eb_GC@&Suq+_%`23$FeRr*~x(+#?`Xb_5|58~q;c(cVbM&5H9l%O?vh z%V+tRi#EUmnGLxKam=s^tM~^KKoq0^DTYDbn#W6Ha}bUfF}`)!`t^Kp9)bXZ^;>G6 ziMikKGlWS$;yi11@PJ;|x;Pb(h-h2b%>+%b@KOA__KJwpHTnu}xA=HjU@q_v2@153 zsfTcQ{B1#jyFp!NR`<+lUcs;N?`?ob-^YTLfHPmfAL;~KtejzGPfdT5zsNsH&`3JLSD6i(Sz#nGMzWoEgl&k1(%qmv5 zv3dq}?~TSI+TTMrqFEz7j};VraO$FUF@kL#4!8AW7d z5J2mywG3oHSHt)7l*=qfVF9w;AM=>rG*5k*`N?Ln;Z0T6nGGs;^g7CQ6D62B4<5iS zLp*@x{6{HV1i=z)C>FH=(g>2Gu87Oy*2?KPGU1PodET4y3dSBkYu2UEpT0Xks6g)V>|p(wal;GWr<6Yd$J(Sj<};kqYV^uuk;(*id0 z$eV8-;ZM-hpl_W2@WjQG7g)-6qdzV?Funyp3%mX*(asLgS&DW%NE-}BBVY&{2$swO zqUkznjmaBTNN~t)MWR2uU^xyfW?z|&gAGdc?lHHp6C+w ziR6{bMvO6m$Arf>Xv-Hpf_oqhi+osw_RLULtYqkimnm0sl&j11!%D^y{p$-k7xb^y z#Y(DPTe&O#?sd#pBfrsiDI>md{1rL+VtqHr>&D?f31HSYdoR2K{gHV?Xe zq`0!JX{TPj@YC1FZrphJ*lXWSK2n(TT_IDxE1a}w1?PXga?(C&z@QHfZ{Cx(a_QDx zoxA0??)2$_nXd;nKDq9@+g;G6;05%fCd~}>0pv4BuG(nBSjUf;);-ptFd1i-KQG50 zd?T>ktyYt7WF6Wq)B*mGb&%7fhqog~`F)xGjxu_Qe&Hu@JyV?etBw*i`e%Kg;B%~L zs|U(GVzHPjT1*j^F|A$IcPuT~%0&u7T+0)4@__vsb5v=k2fbD7&_-WjhX#KT7mB7F zS{*zjB+TMV%S#NNa@nTwU1cA_H>6Re%^7uyHG?|6adsArfb))+GJ>&7pTPF8JrneE z9fl8`kU4nNfQSxJxYP1ge=ENn24d&^N$gw&tkA3QIN4YZfmp$U6|)COy9u zsNoCS8hlGyc(n+^JIr-h9e#(eVf|T5K8s=f`J4Q7K0nQ#HGa9H-s7I<)o1m(N?(if z&>^ROSpV+3l=JNN1<;SPrL@Hx_ULkB%@}h>OPg4rJWuVFw~Fpaa9LMAk56JfK^Xdb z3;kau=gb#5aT!fTu&|ni+=57A2lDcGr#&aN4r~XXxaWZKS9zGS_A6Ny>(ygD%DS~h zh0Dh(`}33oBt%NAm<9X|6K#RE8ck$dL>1+A(PxwqB$}lpnF{#`TCbs8U15JPcL?Dz z<6kMJHGe6e8*!_W1(}1Wbo&vtv$+qX>Uk-qSjM=___}NeYlfw3$9d#CwDXb;mWdZw5QDWJP{zx~*q%eN`shJlz-5!kp&9IEs=wdpJ|!u|3uFU%{+I`J~BHG6iSQre$kVZ|pWCjpyww11Nllx^l8v!GRL zVdeP2&Q`wqPFCi$lK&n_oKZY)a^m<2qW1@9Yi%@}tw`U@X<+xuweU-rJmh<+Kk zSQ%(n1}^3U*|$@9>UsNlo~rC%@93{6DfE}eBX%?UD_+c2e5F5&I^Avd#)>8P40o3s zL#)yjoji^Rrwy{ED}RlP>3HtFlA&qo;c0~+>%VM5d|YC5Oqx9|$6B zV)95Ubulp3th!B0;g=A&86+(I5UU7Zlcy|+HQ?P(3CAI$O3s4oIOIw5L^*l+(* z{{Vf8o2-TOaY(-Vfed9zjPx7_|z(f24r>mI+oe#^4G_gFLj{k?5osU7bAnfU#+ znBn34u0EgNCAzM`Uh#vr5H|6~sJ?Q$VW2EB#09G?|Jo>RZTID61p$|BUSpk_5$vknA6Zkqrc zyx!?nNH5HNWxDmGPY9*p_B`rEXg;u145Z&NhH0?L48XdB#nx9wqG7!Xp$zo`$_o}5 zmY@i-PTOE7u@QLiz@ZcTud{3ZDt&3!3A^T-fIzXq^seT{-}xK-55BN#VhoGJy?Nw; zQ@`+CnlI5O_B|WUrD|Ql3&obl(EloP7$cq%@u%jS)St5~ypdzWolfBSe{ zWhkcd)7x9tZ`^hd1~FDUe0a>Y?-T#L+aZ-q3}{EZA0}keF!7DG!+Hsu)L`+QgKxa= z4WF#P$X+2|`KFj^5P5>H3<*L*DBe=^2tgClY_s?n?RP zTUvhL%*agIbzw8ZA7=Rt@^v)E0ehe!U&THWbjz;1Y3IfGzbU{H`Bf6Js7u^qkWZlU z9_mm8hQui7upXp0n`R0UXBbx0Mv=l$^WlPD(==D`rmQ57mGGr((f4!6;M7QH_-uVD ztI7XPfYuLp6Hz~I60|)SLvL}12phLJo|u)_V-TJsM72G!UaKJXJl zpFEm~=aqimw8%#((=#@0Vh!m*r}49jm+}*M?&(;5KI`qb?I7#)Sn*8bfu*PUpNTdb zf33@ARyiy?Dyx+8osG)e2h<(Tmh({_l8yTohuzdaXK zGjTW7f2eBWUaQ;{C>yNq%w-R^bT4Hc4ZUR-_7?bH!5&s7=H9sH!}l@qZP*PECpk&b zjdLsBf~`S1iCk1c-sQ^Y`FbnsdC2Fv<@3-tA)~C%xaYa247QVcj^|Zo3f*Tb@B(4q zft;PwiTs@YMD4_Thw#=RVd{hsh7RuH=A5A)7@eMMcp-@VrpZI3(!iv&)Nd&>+^j1( z)+H$q+E*aftnIN5sC;E%Fq#tWrh(ddS~Vq9Yl9Os+J`-*hPP}V954AqaKEO%0I2NgfL4x=t=d^ z)zB(0^6jt)7e@GI~{Z zqS;pH$u<=f&^+U=)`rTVQ5o{md|XL5f857R=PfPG8J0f`(=O+_e5i!}JFP>=QXO=E zM`s6Uf2Q7uUB^7KVPM56!VJ4~9VSdrNX1;6!glOYD$Y`8*g$Wai13pA7UzFkQ3 z7kq7MEovJ5l4TN+4$h-{1fb#0Fn*I|uxC?lZ`^Y)kYzezjQR^3^>R@M*1SiOR)RAH zm;-f!_wjzauyty{S_U1zQ;p&`iI?m4uDsNk%z6aovW>~PFwV{{{B9vz;0GC^jwW5k zW2iOIz&!s+OGcbgh@~KnI6TW}OU|Y6skAkIU@pC|CJGpOAm_->r>K6&7#OH51)XJI9FP&79un)boOMC|+oB)DV;R8u1m3r0r4u1VwCkcCnP1SO z{UPdi%a8g&54|++%J1s00%eothA`fZzDfHH%}oP2H`66eF8QmRHO5<&~T*t9Cn=ph3t8@qlouon|Ug`H=VcPt*5hcp24<26s%UJ>r<0)g>^*lrQAs- z0+FuoW>51qN+IAV+Oy9DBn6Pk z6o6Df7yB6XEe3tU#@b4pbz&i@RkA92A;^3&Z$vjoY!PhFPte`bMYi$_raV(#qCB;o z?|p&vxjn`ix&}!(ywoNGsqn&~a1W*0iuebcpW5&Y+rme`{n4ifSs!~MJ6|}rxG?eQ zXW?~9%O7)UypIPI^d#|Z*sZ{udqv;#Axr5_103zT({O`$5_gpHa${*}?yzxf!m3?y zkX%hm{?B&rBkX&IvP!&Xzmng${|G#Jpk9jWdsj&bo@mup!zG5T!f49 zz&Xfc5oo7&3|p3aJCbs;X|0w#F@fzj_~8)W&9zD^7x9IDO+PHyVjvxbgvE>IWGCKO zBAk00S^n{D*qHE*lM24qK-NQ7!#9K;zOfGy#s|LB1&vpo$F0XO7NKC?09GHSBbZm{ zimkp!I~IylWIIJ91t?@EK$7})%gm@gxgFYfU(~Bb|24f={JrS(ivGDVlU|%UZd+{U zyw>dHn9*(KUshK-?6Z&bZ#$^T$e`4S#|Lfvwp88Wn6c*cqOOr0!^g#9Zee1z`dDv^ zn+iNK+fHfbso;_VM-06FWeEzjcx(4^!^f6=|J>Mc^&>}YE}?J&e8fYY5J>fOU37X4 z|2b8^tnR?wP%8}ncj%L1*@SxEM!kM?{$!-mpchebN??Gf-r|SO1bK`0n6@*Q+ZTPX zq*t#cA28+pCB2wmMfVP4pPRyVgpYj=Eh_=~k4nJcrTfq9Upg578pjLLl&(8AOzFwy zje4%Acdw~p9Lvz=*Rn6Zf_7Zdi;l={;gO><<^kGO^r0pH3f+3{`?9g&xgfnc{M9ZX z1o8~^WTn}$KvYX(gmZ(BTvN=bS00qmiHJDBAx3KV;D^Au&MR_hkj#pe4!FlS4>X)$ zbq8OW%DcH&%q-_XZ$9XS2U2XLe`K7M#=kixKs?73huOwp`6-@^PA2DaOGcl3ch~#@ zu`}OZGV8$XuDOXDzgn^6;@08zmu{|83Mv+TztY-y?7BC!RW}eJ; zj^FHExaH+7(|h-xzGWEeF=W-z?~kk+k~?PCk4*XTr7`-WF(Zpgibh8BW4&e!S8k>8 zGvl5d-L~!MC(qzt+su)7%usi%|8C=;K^wnYe~5pwW5&SdO$IH>WeuAR#9S+c;bNun zc~qQU>0~PC)S9)^qNC!pNN1uA|*PCe_=60I6?ZnoJ2(8lJn>?G= zUnkeX)S-`J&c*o=bzwIq{n|gMJXg8kKrhSZrHHm5Bd3Ty8@e+sPSH=miINP!I`Y1n ztIP&pPn`lmkPB{iatE)_e>B^}xJ`QCyTS zdJ`F^iin7IYI9tbMMh}kP2efV*e6z%^B&cXwFqPI8Oc4+{ppvFW(#EhNerdprl(qo@ zV;eU0vCW^9vGeNk!5bbg8X6uxwCM4TgElkoBK@an@2ws(Wc7PLo+wS5%5TzmT*27i zm17^&+#7+qGy)LGuGM}wH}2D?u-@;Rk}+55G;RV5W6hO7{k}OErBv4_#1?tto69gllk5C@skt7B1SD7GVj*-4#}OG_L#fBXx1C^y5E|2ZOrI1V|$E_3uqWQ zNZl#qkG<^6IinBm-qNen(*6UAg&%w4x)+2gT2LW<-Kx z&4kRpiI0Z&Xwj^DI8;^|zcNFnV;#85bh!+wN%SI9?p6wP$E&IC;#{G~RO{c?n^@m1 zQ9Zip0YN0jA|^JDVKRKdo6HmZNE;OX!x|egcX{amp~v~tX!cd&cg zxRyTZl`(QnVo$LJfG?nzh)v41uTZtB{$s1u@PQGI^LXCA?+~u?}z}+8j-N+n>9;LuTH8t zwno>fI}7K%F|%{eIeRD34MggSoS4`#O9%I#Kc;7`v9(ecJfCjgwO~-lkdk42i!=L% z*Jm$gzc@R-+k_3n`xOsuACt8tA$h@w_GwsX@o@zSVUKnm)iYsMYFJG6@{~@+x&3N3 z>oPcX7-)`wyqzG|nz^@x`13(MnihYuX;{Zu?<}2lU>3I64PUL; zdU<`{F)w~U?`+%r?hB^(TOOmlrPVI8c?{k9?c+rsZy8a!(~f)Pr;@GZuZ~u-{k@ZY z8}ei5AM`88angf;DJS(EC_oSDR+V~{OZ%X$%1x(YmILTlf7C^KBDvri(~9mrpfFhd z85{pu*Uoc4-I&&O_FMB@z1i^nhJho?et3)}>+RTzF?DiZ`E5nPTTdib_9FASFJ^4y z&i7|{JTrIx_>t>7!NM*xf7p^ZGKK0nDAw6ciI5u`<_hxNJZx{zg6LV|p4Z3mG zddS?u8#t&^cXrJ$OW^w}MUwj*FG$7N0CIu$eb|9IiZ;qHHW$ImXoF&tVV>bDna*t$cYY+6WAs(b@cwK=o*7j@ER_L-8FW88NJ*1x69r< zVfdVc=3YV31GBny&mI&LQs3i|-eVt2?X!Gh@9yJQ2)fo-Pr?5(`m`cZS@3K@^oh>7 zj}0EUEU# zWaOOE*en8{V2XwP6RZNQzN6!m(CMLxfw#)QOSpG{t>D>vGzM7L)^zZ1BY~@D=-p!D zK%^Wo8^PCEj4sQ4iLsFXhq3Pfi1KLuzJ1CaN}_b^(yF;22Z!kU|6<^{+1c6I+1c6IHrs8% z+d?rWYxCB9(_TGY-X?dA)|uvOV|NrpMi%TC3m;L8Ql1!X%+_eq_DH6jlOnH++9}H5 zed{N6iyyz?xeXKIFmVH4=6V}+J_40dEe9Qc@V)s!c#JXBI?zo|(_iT*JR8A>GEKPf zjH4z|ofckr_LzNS!kE1XvNd{L#=2$SZyTJp|Hih*|JpNHdA{i7dA)kgJN8Z5{2?t` z44I#%)XzIm+TW&rT@SswM`{~SxxzYZ>**OYKiN1qb>pYg#ed~Zt$j-metL9ql33;* z*g2wg$KZ#-uNk+^%WCb)dKsi=iC3*(fOD)j1q<=2d^K6rvwlIR(!jn&*E5v&@LnRV zZ_}8IaVN4CTwkkA7j06f^z2=n)Kc^kEt87-Y~G{l8S&!>w(^S}(zV;T0nNsipa_)d zju+_mTF+oLu)8DPGLFj)&{LEjtaoTUV7kUwUfF+f_{&gNTY%ne{9|d+1<4WhBKx#% z*fFYE&3@LpjRR}<=n&MtfAfAN>5+<_p0{;OOoNV@@uA(?HmDugHrS)CXN~xX=G|KQ zwN9Uxf+A5DL~Ky5>bIz_q$0{yyO(}zsKF!N5u~>5 zA=20IKM-v^q-R0*U6YEG8}?e6nT^u&3p*w+&W=*{{qo&}O~adJkGf_*i&(nWnrAv^ zbZ8JW`3Q6u*TD60p#3n_J`{r?NAe{49@x`h-Ni{*l7$D^F1j`+rc}OMRIG;K?bze| z@KMfzl3u+^4&>w(_Kkmf%9LUyq%3A~~RL z`s+sBaO)C1g+)!Zqlnk0XXUBCE~h(d=Tfsokkt~Lbz6cc?PkSF><5T8V(ij81vK6| zXQ1R2#^Sw5><&ef?zB>{p#gb?^c>w|XJHW&FX}*I6R&AQW&cF`p$VI_nr4sud#`=! znYeUUxs3(i{uIl^h>hwZBAy+JD$-Oxp*WMKY82xW^L)b%fkYCP1-fKOFj8#@}!I)_P9QU zDeZ%6x5$5D#@+A1RM%nc>iV|qowp#lN8(FUNAw5@?J=Um^~Rlv$6a`{dK~2BMROEy ztTV8yN6R2M4{Dk|(rVf*4D>Dc3hS6u&}G=-p)KTAQUJAOm#I(Wq|Pp|1u$6yjoz2-Km=OTMkD6qBg zwjlV>J`?*4UYZ@1nd#Xjd;SxPN1&^c)W>fc-mG=O{wa6Ax4mwk-8!{PSf^=+jP_K% z*0O2+f#*7rqK9})dg7Qbn#V}D=Aym`yW^_Ga4RUK7mcdq-o78Tdmar*j)lj|Tt=0!_D$0Pk z6$=YPW}e$KV#MBae}A$uRd)L7)#ZbdSG-!#ZtmO}ZF|jyDmwKX^@gmepS#u^PPNg; zD{DL?zp$cz-+iv4z7*FqE~7(zGK&}|%sz&(6n+iry$QC&3uUw--x||d8){rBSegQn zlM^o@VY-+ByynfHIQQ9EkQ{2MYFJR0#wkliL}fP07*pI~;F<~DIv4KAiyzrNs98vU zRMWuN-eDc1Q|zBaq!z{xTHC%TBBP{l^3stp+S7i`{Uc_s-ZRYp>ltD)a?HNM@ozo9 zH&JQYHKk=jxAy(x+J(ips@FK8eD{b&Y2j_!jQl$?ebbyVExNAReZ-WJJ_r4kYyrCe z{jKaAIm{eFT#PKV>;5*joaC|+a_Mg!gwdltq)&3d#l1L{19M$dtYs=ndqX9c(lT)jZC`~G4Q|F=8%W!O{WF1*aCY?;--mQ7+G9f zIGx!uoEKXy@k3y1Wx9QA@BT5vro@X8d#Cq!`{l4f0}>kc?)gS>!GRgwy3KiI`rK9W z=a9OIy*o7>@kn9Ep*y$iNPB#Td;JyxQN4Ob=B&-i*!R@SSH$(S7-deiP0et%~juw7YT0IulMfXG$Ciof*$_Od=e%nHE$8q zGp19MMooK;c?n@ATOC$DzH8^^?wW>W-I(?>qkBYlYBID<`{d}lwIh4) zdFrVx3y3e{eH!>n*vExVPKH;Yv#e-lRz+HIxVnJ8$P*Ihd{_aC9L*N?*~ibHOqtad zrwXf6fK7X4MZ4Dsitf^|UUakigXZl?t`wiL=k1r1=4G_$*(Rn>3vV}D){f$CChx&X zLq|k3jHwqrGJQ};;~ohEnx@Vh(%eO=>V?O5G))-UuFK@uxJQQe3-E91m5LBGEL*Za zr_o=@yFlm&YGm?3?{SQ1I;EYK4LcPKXc0MN8aaQ?p1Yx_dqh%xRAOREr^S!$9CAM= zDf8Ja3)+zU$WP*P&E$X@KG`FN9^Ye6$#b~ZqKZga2w&6bG*#&&x7Q@Xs+vxdLECZ3 z)&%uxOLKj*PgLoMPRGPt7~v{otTYUQOV=b<#VFJ17&<$QYd=+HR6r~InNioAV+Qze z9iOWTx6(6maSDwA+7u=`AkJP2IT~+?(Y=CLh6w4Mmd!A}X_@1WT%0!c;PftC zrXL)exmmcMoLqit*vjE;+YVnjO!;oi;onMU|8_)aJM{6=k==uFH){WYb)PNh(P`%K z(yr=x{|-5uN4E2o{rjystp<2DOPG|<%)_4c_py>L zuhe6jaJY^DR}-D{4cw8$>3OkIJqO*Q1$|-36$h0$N(SBW@TPf&5#%R4chRCH%X=>F z*?m!WC1d#T z8#Ks>>=e}^vRNblC^0T}K-&qktusfcwcNcPY8DEcO+(z9=t%I{P-wUzj^HYR0U)|m&K3FM@zt46 z%n+S(1kT9+g6)4VrI!7M@~}AHdj0eU^-rv*-+sxKp0cwzD&!yuACAh9L)5o4f1Jk% zgq0uyj>tgKv$<>`z7%hJjNb6!iFQrewVotu2qAB7o9Z(Nw?MFWDd(YRE<0OahO!&e zyjzcn4M%h+93hO1LChE>Fu>a*So8GKHUHqS&>)*p|G)sD_IpFfpCEz;!Sb#=PU9d`(35BSSb)+(EZrR za~B_4td0^Jmf>s7%s~uj_f&puNW>QW<{(cC})`F$F(Mj zn>s>qL1+WP&zpcoarnc>=IiIH4wD;XakqgjMH6BBXY}YR0-L6G5!oJs5IJYQ9V(v} zGsg}L>5_(1HjZ7ldcg*Wdh+g&m|m%+B3-V&l;G3l99CLLr|7&poz+H*3lAMakBz3V zc3c!%S`R_69w=-$g_4Xx$qVG-4?h$k!n06B=E_U*Pc*x)sQb#RCto=s?npO$y)C+C z`gHh5be5m*f5az94i`%ymm=5>ZR%}B`S&**P{DuDH%GbtIAm`hAYBLAaJs5lssg(n27^jJ?*#g zw2OZCuCU+0vRRt!#BJ)hf;RP|^IO8h7LEsFi8z{)gsf(M-u!WSS^l=M)yG1Vh*?UY z9K5Xk(>S=g8zCAq@>sc0!QabAWg599X1Hj(+8{72--x9z(4 zO%9N~1nCU+S=CAUUDjE)s&$1zfpmg=aUID&1h$EkC_tSg=b@gkHpOz~Q;o)~5p#0o z1^E}Qw>DHBw*Mn8sqVr(>4;puK?wVQ;swO@mlH|ej$8U_=mvE)BxZry9%kvA3LF4u{ovpsy$-WLMKPgp0r9SIewD|BBC zjS(FX9upcJs%9#gmizJz?Okh>N;U3(}ukETHEtE1Xe~nNS?G@^;ss6DM-jQCB0s3BCB&n^)E0^5|yDPuR zAJGezey~$nT+d#5y!PHxi9Ulq79~omtUV!PH17USkdI!yiu06D$mFpZ6VRnaeNku6 zpcQhnR|LgLBOa!+PF&|3dT4t(Q$aQa;^Us_qd^;1%90!*0$@Vyed1dRcX3U6Dyn+5 z+)E~jt?!=7n%b#Z+m!Y=l1k%Xy4F$efIDx#@FqM$5oBL81|d-Oz~chmTCO-#JFT|( zM3MER=P0pEtdWn_POT-^h!|yAGm#_@hS>}4O_lHMla*CUY-ijH=+8DNNT#dl&@b3q zYKscnQJ4HkRy5u>M(>6)tLXx*vTAa_3{e}rAK6^9PmMPwj5*rYCvGL8BKXTmV$D;N zBZn`QZ()47`K!GA(MO_A%9gEYxRaz~To-*f%4_h%`~~)ZoFdDL?-t;ad3W<1>;4Fea<*z}`H-jug|c zzmz*DA6BHNSfS*xequeH`ZHEMtJu#FR9laZaqZq7y5_H=_~4c4SP;5J>TsW zsUlzfXyd&aoOcj?z(9@kCyNlRo;Yv;F188UT0kXXfX@*SAhZbeq8yv)&_`x;` z7Rv6FN<}LO$d@UflA{zcZU0!GgIh;#OUs@a@6%zau#JL@VJb!Eo7_vt8oww;|My2= z@a0BDKmI6Rw1@mjFNo@1UVp4Rq@E8=W)x`{s%JB=22@XP!jERg<=3IY2 z`&}V#$nQr95i8om4LbjIquzH1X?m_aAs65Fxh5vU1j%Lg7qtUojQqBEiEPzGXFGX&aGOvx zN3)fJe7&jX6JgIt`h}nA|Lkq=(`9D*z}-Wh+b*H`K ze1m;z3qMWxMEc>;moRmhz!~<1sof%Q0Uze(oI3u}^^wW*#IX~TAhkC3*?YhL@|h4h zTM?@Z3Sv?Q$WMiceEO?5y|3D9D4P9;UgHx|y9R9iRT+LzJo7BYf_BC(#5Zy;1hlVtOtb=(3=CV$8lNl!w)e_62B7{QWYbLraWqM&F|G?Q0sdD{KiF zHP5h+@aWKJdLd8u4fVx?DcCKR%W~u6g`cRe$Y%tZjWm%fw~5?Fa+-K-e`@5=iEzf+ ze}CoQ2`h8gLkDL)Hg-$D59MWZye5AcQe*>((-I2Yji_*p))CP$tbMUjp)@Dc>2fLz zDgA=iyhP5&$m$~+o?Nx+b@9fk6)y^T>-RCj^5?p38+V9ojN7|#$o~Z)+&>qCwr@;+ za&181`rMFur&hN1iCI?K!3XcYa63MY@;jS0#KSvAjr3A+g(WZ`oVmcxEOQYZWn-Q& zsYPGFCMBFvmtX4BG_G`sjVTy07zddIA}9na$Fj4Jy)NR95AtcU^LQhl zu$R}h@##SN=fFG(Hkjk)`bWe3|5E*EWDqmS>oZ*MQPrYufP#r*9_mJ8Wdo<(r`V;6=xYP5$=Zj^U8 z!s2^|!n)IJ4ej4J1BaOW;RAm>e7K0v6#I=V4VFtn63J1zG@a`Obc@{H~FQw z7_sG-JSyjlQu(W>v-5jcLQ#v$qyl3_?IG@p_h40Y74ruRdG^1LFtAQ}#3v4CDvY_> zr)YcfOhcf5tlu6KOqr$WORojtCosSl3<;m6Sl1;#8w(7Giyk04QE4}`chcQo2P`(#p08SMix|{NS%5~`w?rP4RyLYL7k^Mm2PPAV`itH>f zK8FXR_-L}dG<*fZ%X7L9F#SQEz8>)N_A7FJQL&F)CcOWYzae&eMP*8=`u>DizmgP^QTUW zZ`=8H6&>X1i1fBp-zLNHA6#Q%X(6>P~=)n;~FfLvg?PBl5d%!=lN0 zaduO`cm)4ABh=@zcB}~&`i#QH`M!;c;pn{7&i;I7alWzKx%Y>#W?Tm8X@qi3y#S51 z@md^oQa68c5eED7S6`K_Pn=LM96Isb<>yGZlz)|)(CgZKVl_hbu)$l1!iX4(5z(I> z9)oN|$J65M=db)JWv{YYUJzK;>i=T0lC*%l>bCxCAlg=`bpriya>+) z7pDY%C<`;tjVz3BTLOHRmlMBg9?Et*uQHoi8t1Li8+ln?u6e8F2Z`@*?XOD0$u!e( zuK_wNuY2j-j}~!s^FnoUPLig6c{t^O*Uup@JlO=9{aKcCN1T8u5Ees8R}-#C+FCM>!Y= ztCmxhe=6&~<=wx~`;}a+bl1ANHvkXt$Ex#ie?A_}%l}~LL0sLJGpBqkDcE!EUfCxM zJ7V-7>V_~m;xpMcS+*63Z{@gRNzqRNzlvVF*dFS4xtZce8JH;%Cd=Gs&{6O*4QSOsU|(#SfD{gR2I7LM_(cSW zz`Gxa#UgPbJhR1emOQi&jo!9cw0mo;eaB+2Gae_6dgJubK&oN1>%T}G2ypqK1M-#sNVc@w zOh5Vq{zk8a%ZqIk<0n(V*c<;>z>tQ~#1^tffjMRQ{&AE3gG;^c83m@}cPEl0a(Fm(<(kZXfD9%SMWjWU(h1zG|T*PYc#s zQ(O=M1q!c$HqwG+f7u=HG0DuX;x&kzzleQZWlzv1JClc4i=0Qr!;3Z0%7H#u-g&L7 z%p|PtvcFO+j^i5 zN!Oz3ge-zJ1_s~rBoXGNe2g|cOds^ayL%>{$;>K$ZcO^)PZk#VA{=P)BgL0G<>Zda zIo(+(3;TtLsN>es5k>g9c3&U-@p*MDg2>&Ff2! z9NpH_dSzU8Zsu(t1oj?3y}D-i4xFn0*tu1h}Zg&*&+VDa$@}hr?*Y- z)N;$Z&8Q~!+Rd1K*q%a{LJ$2F!3?|MXactbZeq~M!AQ}K0;+1+cdnFDo{Kn_vW@Rt zmk|wToI=DP@T)i@gm{bi?#17CJHAD1!5Jtc*&c9X^JF#r(<*Q4VEn9x&((-Tlfr7tw?%HWSO&}JCw4B_WoM#T^LN#cC9R2O22CmUe7Zq?hqf%xyp4 z=2;!?2D1=s^U_9#l_qth7y-0)k6qwcgx2ZbDIgGa%uVUOtW%=~cyS@I`_Ntk2j&kO zPfsue1#~&l@sos%oEezPy%`wP^LU3crG4x8?y0D_x5uD}uJHp7oN})f(6zOnciGpY z1`g=3HQ_)@|9WL-a|R{FJT!fuMFdYD zYA}mqOy=(AW97u>Mz?6cGsUw>87rcprjqQ8C|KT!`f-4UFHlYlpmoCDgZf#V4l4J-&AR7sBh;t4o(JU;3M-UR;g~EyA)# zX-zuDF?@ofj8js-0YH4@k~jn()yC{ffk9{+jj2S&3U1p-IXxP z>m5nq{?JU3=)q9CJr!ByU}O!uB(ET=yl!NLE-yu+BZePz9XHRR%jS1jG2Bvf#`L4n zj>c_{>?bN?`c1hW@)0K%eJhL8Y2gHMWx)?dMWk2cSK#&I`(@BWY#*f8YvrKq45Hg@uCPH3G#BD0%AibM5d_u@yN8aq@*3mPySsuVBPjz z>(;Jaw`=>lfV#@$V!RntTug`EWubajWSy&3yU`;pnyr?n`gw&lT)1$d{7`;`kA`7N zsr?F;Zi*Bi{35xF}<+7X*Td_U|B zAZ|*Q_N%DdatXz?2c2|nKgHmoe1s1;-m+l$7KS4q z()9jfD(G-LEPA8IGPOHlKaEx(`gh={ zl-d;FhnxJ{MKSSH!GCXqe_b;FcjOYi6nEWBeAMDOSN;Jv@YA)K27Osh_^4MK(g~D| za)`b(_zzRs3?wLWnfP-VAMwtHDF(KQU&{3b{8m+bpDO$`w>)ttjOqLE+aOMUnp=i5 z9QD;Cld1V*Sb14l&$`zt_Z%w;W~pfFs7=YvRXS&_iA5ml`pq5ZCN= zz{98p(7Q|x5vMp`DPlq;pq*#-!w`qFX-k~BnJ$JX^%}P~>S zm$eK>KE^LM@!JSka+K@DFK2x8+jHuGNwI%FTi=p;7UFw( zXSizgb5$-y97Mcn!}!G2Ye*xbt2d~RpHc@|fIHZr#*#*D3qaneKcOY1P z7=NIrY5HWAEA-TQo!*1BOcm?7+(AUwsx;AiR6xZf~7#k;it5A}+|0}70fcG$sk zVtnW|S{r;quW{cF?|hs1>H4n>zm4{Mm-|gy<|j*&mHme4CmHm~+Jnw*v;*E<1|7zS zT&0sf-NORhz<2hW+mI*WlO6t#>xF#GPdVcgd?mw?kLmjmKI&!AZ*GxnKQBYhpbxk~ zzqw@t!}&fa+ttE+YOM%UU-*oz?IGxOq2q`=f)p%lg1&*D20J`)Ty^}~z#pO&AuKn= zhMQ=ie(Rc#?f01K`GzCkILC_)jpqQBE(+XZqCsm$>~=4%%n1ENA+FJFxv=a0EEN&&1s?A#aSvD{ZS$ zAL38{fao`aAEG^B(r=0Oeu?WJYvLC%em?B?yEdKZJAy?VI2ywATcZAWZyf!R@lnr0 zhUdfXy{qp49C+M*uq5E8CHg7jD{V%R)RD`?FIOAuJ5Vpew<>LJ8t|6rkH81qpx@k5 z#QiZ}`lxOd_^^kL%M8CHzvWm3VHB$X7C5f?HGt{^$r7eCtgo|F+SNQ}Rvl6Nmm5Z7V>zv6jC?FYwu( z>GOQW8ie+Z9Z%e+gAA1$hyG)XJL&NM!I2Xm?MU+@8o`D$965lGvB}odR)lgpklbuT z^?wDu2?YB3r&b#GG6-(zE^1&!usVKP6@0`iH}R(m#4E4BC%=a2BXZ}z?1vllDXzFd ze~d8ve}fMpf5`m;`9PoXjX0D%UO4g5{Mu2b z-^rvuiRl}0G}%5fex^wupL%0@e~eCUK>q34>+A|Fxv4Clp8I&F?~bMMx1hnTjntwH3dJ2O{oZM*9)4r(#w1EXU+{Lun5;vGlq0YE zMi^9sJw*fgwa~m06B{*1Op5@~;C6{#-VhMZ}S%^eayUh zW4g=#zIfq-*E_V|FsaALxY!mk34LRh?DYNIey)6}x>gza-ig^GT6S;QGH&q7%zYn> zFxraZb>e+`SlMS-=A8|j038b<9fO9vY_tV*25SO1-%6!Z!M+lj9&wZ4Zjg6Z3e9GfKK>Kd_&8GrJ<_y&F3WXF2B z61EHZD)65G{TcV-YgyzgnDl2jHoDLs4Se{lRrvw^8x{D)PJEIN_rZmx9G*A$C;8A= z4T%LYrF|~^kWV(XI(?f~L4T@atvpb{KjBaNpZL=p>s;`^0zRzIz5LteR?wdgDOJ+% z2mC43@vZ;D3z8pUF~>FM`01wi)r8@D05{eI z(zO+kT*Vp!Y~T=6e|E6`nE24kBvXG@G5rLCKH<}x7(R1#{2=Hj@SvZuw1NbA-U0q~ z7kvYDgCEd;i}j81p>L;I9|(Vlp>NgKOu&zG&15q0SDN%+bYp$1hQA5=7H*qCl<%o8 z>)RhBHCKL;SlwBK(nb0h7@G5j zT-9KfYYT>>FN$}qG&c6ZY9_7u{ljp~vFPnlDo2G~0>1|SuYmV6=F(=*cOPE5Y=<`MIY9t(J~fe)Lv-{40_glm**;yVz#+HB|9Tt8QQwiDInOiyyV z0S{wfk>e$nlQG94{K?hlO5AP+{$$6C+-?Rww_7#**=#2a{25i~bGzkHD@0W25%EuU z!oV+f;*)%gb|d*9$Hq$e7-RKhc=Wml)dFn`S#kPS#NBI2YX|}c8uh~~;XKAa>G(k( zOYew_Y?kU&$^d!ai$C-M_}yLcUE6`m0Ud+BVXwIzsGJJ=gDUtLQiVSHo57C~>!go4 ze@iQ#XE*c$W3x#g@))aaaOwr%2K`IWZ^MU9*Z$?2wc~PmP0aLBW-%OI4)`&AVq?6y z%6eqtlMh`*j|}{u9RFEIvOLEd@-*KW{sXZKHnTh@81h6RME_oV=exxB;&*q&H|-bm zBTx?L82GO8L^&1oNuCBjL#psY@+5x9e$6%TAy2~xV);OBCVj|rvnfxo0=PlH73|kh zTM_KeP()3qc>SH2j^ShR8%BY6BZglFBYs*z{`5vf7~!!dVw?h;@p+B}UyR`9nhw)< z>xOphb07MjFg%;yrlAsuKJ$b68uV$UgZ0_qhwL@cw<@t1?#SONgMUDAw`y?dMxG*6GfN4uOUI%R(KRi=D5^VBJ;&ts20 zHlXZdJ&Jw?FmL-1`}AGwWc0#olZXfBK0yWC8lG@Jc(`6}S*>x|z?Kt?6Q>&FraI1R{S2+7p;6Gfy=D-Xew{~{Ko}e2kU)r zF@CwD1aOMVb&T;D^gI0dT5UeoX74+G4fcRGxG!?Pbj5XYdR*HX_#R% zy-?)K2hZWUbkOP|eiNn|TrUqG z>eb-Z8lm@v>-K^7g%`!`L0>8W&~evYo>t@>r59twkc}_W(rJ`+Gc}`E>qg0W*X$8wBYitIk4J?Iv?gdke~s#hCAFV z;f{9zU(fjE4)&)Ee8)M!_b_iY9GxohDc+{CgYoTV|6=+M^grcE#;@ss9dMTG_#N;# zvmP$|I4%O--mC-pB2GRbFQpdKck2H-*S1jni#N_|ocdK4;skQ;wN3fsNrb zXWMX!VPjOI?#{MZhc)C18RHEPSN&h7Ofu8ZHp;asZL_XI{%9NJR+Y9{C*Xl`8}K?k zXu{S^ry661TNQ2%pKxEeUY>VfxU~koNmGqZIPCsXmMKa=J)PyEFI(2S!0W*`KE*OK zWNlS82NQlMe8C{DyCG-5XA``R_;sg5ViJQZ+jczstm^w`8N4|jzlp8>bl z2y}&4(9!ML_k~+)4ygu5yJC!NcVD>Gy^brK`Y+ks@CsYKo%R_GS)t#5M0GRm@pgJ= z2X!WU@Ou?`Y*#B}1$vGudbM4_jEM8`8+nvZzb0U#A+5Kn!mZ%~^RMb~y%Ed?7J_1O~G?(*K&>iA#(1;H|kJ@KH1}22LEi2t;+61)zAceiew z$El0El`WO>bxTB=Q@*nS<@=*vRhzm<}|}U%LgCzi%I%b{k(iYAWiUP_!^AI{kf`7L3sNa&lq2UN8>Hd zG}X79tOBi4v9&19@`tkzH-xvd4fo)2{9MGyf$@vVsK=fcIJgnCG=G?*ww<_o* z6@8KUYeV&@+82r5dyHr3A(u-5vH^G1L&7uo-G_ZU_J5U`^bOzlswiOmehd!+KKs4;Rnkq+G1f#vfp7S{S1o@s9MT6J;2S~cOdjK4Br2FD$Jpc~tb6`Hv|p+3WdJ8Ru`BS z1~Ghh1wPwm;KM%#K3W;{4ZDo_~5{L1?tQAZ1?9G-=TlJ|Einz%b355$F-BnVCbb)zeafCc|@HX z?brti&E)USbeoc*o^crSn=kc9wJG*^v68~HztlIYO>J|rz5-qMu;H~^ix>_bjJ}Vt zp`wo)V-Ul6-PW{4=3KHGzBz^)V<5?j$3W0u!{r+IK`!*Ms)uq(Ca<9G;mT_Azi8AX zsZg5ZH>7oCxh!zvT8kNXjj{f;A5M1QXNly+gcyH z(IkOu4%KYW_mMULX<^ndY9FMuVp?AUZs;jV>v5<29kAs}mhmpABZSK^=2{m3Zx1~U z$4RbQF7PtITiDK^?7Bo5JQ?GDG2k5mw<^oHJO$r}pv}VdzpLPBfTv^cCS1SnXj7Tr z0ZA&OSr69%3O!U?u^tlsFj})#7!GdQIQ3BZoaMMq6jBZsIsSz_eOZo+m=}^)z9}#8 z1>A6X+mzQ)q|y8s@*2S@j@tK^7uFl7t>0x|pZj%{IRL|rejP$mIbqUgIOGy$ty^U- z;e=ZiSS!#aots2FqF)?mxxkZhg`<2(8k7yV!3X#A>U_}Nn0~#UD<5bptesLn-%b)h zKcC9-HQ*#)hNGX)b;{TJ7|VCN_=#m!snb8hSIuJiE@2)+LEFyqb^6d-=p|K7`&i$s zykV*NIw;mjxKqI2Q~FKn%fjeSJbsAD+Evw^@Nhl`^%MJGA4fozHf6Bp zL-r4A!MTbX$8AI(r<+c>N`3n!B?A@)@-Wlz9s;~916Mn$WZ-6rfvXL?dzf*JGo_eK7;q6RVk)n4P3|f;AmVx6$A4I#x+q9>9C7@6EyF^iS)&FRN+N9`q@ns z1j58|cw!#^7tslI!TD>GJdP7I2#=#mho4!FuXnH-Ew46-8)%Y%t3t8^FRCw{>9T?- ztU?#^^h|hdhIeInSFzcEJ8I*G(qF*mI$67kt-w~wuUC}i4)(dUz{)b^CoTnZ4K|^U z?HwJ}_rV|K;9KLgwjUiRKFt&B<+wbGdWY9TQj_oIXxr%?n-kv~_2rxPbaN3uM&3a6 zeKQkfWD;WiuQF8}OjdR!i-RC!&qk#Yn(WMYN#-jhPMBIl7_Wqv;&P0eaR^+RwpN?B-_W{AFLIWXBJrRo2G4K@W@H++U2ZFPDwE-DQ^u)+q(I= zAwxDlK6J>y@8t3c~XJ(7aLteL<`>?Kzdf3Jv<8`1Y6FO!=ZW5 z-ZG1(zo_?zeSX~152L-O-aii$eO&nIZV$#Hrpv<8y{Jq_*s+ymlpIs*~qmy5~g@w8%)^2Ij@-=0!4G#c} zAM9U$nCUEfBHqGVC2+PpzvdZ#9>+m>##?`NB&muNovhu|6g*9Loq zyPo@Hee3&`yMb?pk4kT^?e&$ZPcA&i{&vY!}7gy4B_>fIBoj(xb$^EZ8C|{TRqLzPp>7VolW4t)`+v|&qy<50KEt5{x~~B@v_s|bfb>RhNM|Z4^d?AP zrbl(K{O9PX(VKA?7exf$r?kNu(m!R#>GGnY%b9-<)6f3!;-N8*c$BZS_Pz6x6@$eb^|mtTV99LkY8h>#9#Y48p)IIwz^ekVmsqIZD&6Zx|=H-XS z4b+0?%qbt+qRvT)~&zd z;a1cC_mvC3TfgJib%)N>a(l@4_mvC2QfrMI*rTI{9gnyHDI*8=?4&8G9@n4w_CmiX zg@p#+x1rsr`#9wt9y^v)Y0>SlcW5ke6RnAzaTHf0#Fed4Pl+2s?m6u{ETSTV(F44neq{RzRVVOsV2Vg zLI%lu9Qw(pst4*b8*LfDa>h(Wc~AKlvPavRu;C87@&e(}4IdLW3VB~)*pv!b4)T7l zI6x0=X5#I^nbG(7?#vg|S~!Wn9Q6{GSe(b&0J*g#jiHN?uzrEIKr8MJXYX41i$T(6K;Yfxj_~mx)b3 zPEM$w)}&FZu3dZ58Q_fOlcho<^SL_`>q^C$aKXY3c>={+MgLz=?4tIxsenzs71$Ly#V| z2G$XMLlL^QW4rlr9a<)QKKAV3eu;|^uCvRoefCE}l}Ef{lXuByLs95M5BHms?CrC3 zR91*zLi<&+Ky29)8I|(H9yhn-jM(I4=-FS`qcZME6mgFYQ+u(l{RMk@gM3OlF%9i% zs={J}_d(!23O2ePzQEIE|Ajg+4z@+A6{DsWv>@(zJfldV@A>v=#~44M987hV#K{oWT8N47^;BQH-}O zJXXxfY$1Mkx8Lp3_H&WmueB$Y_9vJ1=Z_DSTYWBV?Y~#Pl(v3azY|004S=kqAE-F( zwO;*b@JGEdpLRRV_Ps=3i5gl-+uREJob{;Dodv|LFR+VWOND-3<#C z65x+O>}Wi^mxCMCcyS&6p;t^S&JH_0M}HsKY|;tz4$G>UGxPJJ@Lyj3%$chmoi#H* zHzFb;GADoLEQA=EYUZk7SBk%U9`J zA|mtiX3bu?0@?E-qoN}7a%at4wPx1L-2BLh$k^EPvTV!d1@q6x;=l9r7i``ltmk9p z>+*0|=&;Q2u%~9sl3Uclb0G&<2%hI*e~INX1@DGFrGJHc4-@G-tq<`%J@bB^v2JF| zg1j)7hW^iX{ANwpTS6b2!b69I;D^LULS6wOcu3X@x2rWTisT&a6B!s0?a3w|;uLGT zXKfUHH;)-Gam4DQa;DsR@&hsY^%G+Bhj;sWd#h`FdX3n;bJyk(JuVK296Y#F_VnHv zM@84?4~d@7JtvPJ^6um9EhY_$OiqfT2IaF#>NWH!jB<#RXU;X$Yj$^Kjs1`^C@)3n zoTS_YDtI2__*ET%`|SQ?Lj+i&f7HfC3*(IdD6-%o30@!I6g?q4ES91d#3+~D;#&2r zSATt46E7dP8u6_X>eXK}7=KH9i||nid7^f`-V^t*y#009--qZHiQ#R6 zKhnb*?2A%t2a4Q+k4Q71gAI~r147SOkUQwqJ?)Wk{n}-Z{irZ$MZCCT|0Z~FCq2(2 zsLeEaXU@sVqvn^2ho(&KAN^QpSV(5}q2z%Z{YNCH#^?3UY1mwul{IJh+(Q|;dQ{2~ z`vP1@S~Ggz=B%YFMV-^L+IC&JZ0Gj5>8qRei0^iE=r9ow=athTIHYOp(a0#cP}Ikk zVa~OheJhMtSalewM$@NdmbSv4OCy`@O?$3^XX{Z7&t{oIct{_PJ#ix)V_XHD%5;>Y z|5}mXW|V_`=;M5j)_Hyw-<6we(^`Oz&C-HyS{iuT(h7LE0jG5Mux7fgQAN7V(q8<| zaI_Au89VRl;JY=C@!A{ob`1yBquoE9TI|2fiyf6NoVc-%(C~fjNKy*MchG z;Rc-2m7kpHI*fQlzI5?6!{>v)dt*f`X1sKRzJ}E-&)RP`n8^n|4Y=*$3OMm$rt2SZ`en$g z2hy!{rx^HEV%6X~$3ozAcp3N(e7?hLrBN6j2il{?cG$d{u)d+NzMg@Y#NqJ+zd-*0 z3qnxGG^OFw6VHW*2Er`kAaGbyq1VAn;m>W~v17YPZY;;hxo^BFHYwA^rZ?X}WYIB* zGucEWQ?h(co=ehO@7#r;uutvYl_bW9`C{%1FTVH!@Ji*zq+PqkP%&iJPA4y<8?e7# zq%GcoM#)WuH-e}}`x@+fZdlz}zS-iBr{n_bv&;%9o@J6hMj<{Pwqc>KZxF`(3&f-O2aG+B@ktUzG zp2TlE24a26DMSp}L9_tWQQ-dgrc3NeHYH6@66n zs;WaAdq`LgU>z5In9kAQAxb#Is2yntyx~~5Bs93eizj6vUs?~(E1oh>{<>k~#tow0 z{Nl;^1s&t2E|e!4KzxS(RDlkLyKc)ux%ASuL|j z;Za#PZG9z^Rch%{fKgw^HLfq{g*w?Vt6hZ~7XfU&e=&yq+QPyu(e_fkLdhSE#Z*P; zUCPt)8Y<0Yu6kgAdH})GTQtZmPbGP~;zMfDf&R!OruSA4GFIMzUh2VI#D){wtI@9^ zu+nRz1!6H>J&?yp<*C}9@-(sC{$&G{Rh2$zfNx+pGU;7<18JN6Y{NWl5B|(;ptO*f zy}~cbb-ZF7r1t~=-e9jnbMTkhuJ`ItSxnW27I>JjLZ_6WRpqT%);d;NgZ1eq{fd?s z6}qM!bID?V%7vIdx~f9lTXJ>&E48t*Cim#2{$W+3>Q4_Up5+hu9J9vb)~qM&FZU_m zK!3Ut$-0r=s3lEIhJ|DprKV@Wrt*{n(T&nF%+`Xe!BR-0(K@D<4Y zGSV}a0^M`}P`XvmbN^~{dvwO2fjxg{R!!;=6s|GS8^KzYlp-wO;Ks+dI8}`qxWLs4{o69B zJd>QvbORjSly&TbdC_-qz_CtiU=4*A6EBvNpMbJIwmh%3)lva_*fLM%G2R3*UR|%Q z2dv04&whsS>RJ9%7in|g8P0Ijl#A%ovO+uxoEgf)a*>I1TV3qLK^o)8#f(#nPW+<0 z`iS(gK%2{S+(8HV9qwX{nRZ)UV&->8KIBIl)4|(aMp?DxV#r8X_9;EI$!Zd>2mH@9 zLv8Y)rF{oXb<=eBsR`W|^u@P+)7>;{&8Z1p=c!4?njsbntF9S}pRgC$1$%+m1+>8P z<92x!dVf}X*Ju}x-su@=J$vVp`mkE-&LwMoWtS3ix0AqBLRhRaSiNeULhVvR6=mY4 zd`LcIopSfvyI;`Tsql{{@;xgn_9}oc`pESZn}s5$iO3q*Mx%8BJTri&S<(8Q!J^L! zu~Y0`zHnXV)&*&D?s7RVUq5^ISuLgPv0Fc+JoSzCaygd4%6?g+@R$e($WPi^^dCRckWa{s3@PSoJ_(xc$@C?*;m!HVXQ@blS?GNc^?UNYq4>*~3 zv}{*Agzg)VnW-FALhRpZ*%CSjUY@|+o!z)KSCe9F3B1|_=Yp27!r@VPd%?r7VOHv? zz~jK11w6@)^z=}hr6F3HPztkRrcRlnsU=gsAAWiAR52}MRfD2#6NOSdW}6mtsQg4} zk*IB7I&skIRq`8oefMVZ_%^)w6!_@4hW+a$FS~PVMXB0@j+=12KMnUC!7slXP)`JS zc_;yj9z(x9{KMh|oX#-JJp3YJqV|-DXYZ8Blsn1~`R~hvr$&dI_+{^#PZkwDIa%#2 z;^Z6li&z$q%ULeY;7N|FGJM&_*Oa}50hbD&EG*iOdSm|xF+mpSUsUWLMPdf-Pj5C^Pv4BvAVSUY{mYOf{6z9NYoCz zpQ4jLPPegWCk2mZ7uexDR!tXJkcI+&gN>71{h0zgTzGSjMSM(q)`<5GPg?ZHE==yL zgO&3}e%h}w(s>Uil6PNn<&D7#Iy&2^Y{P2@JX_xB8|U8_mvhj#}jw?dlcsI@kpmx^N*P2SyheUgJCZy-e9=pA01;Q z;Fvq2?ueIQ>kYr#i&jblvG%7}0%_7gzr7(!Y`_K3kF9rseBX*G)(?0TXCJ}~VvAc0 zd{}fSu>UK6l!yz%Ee!UfHfl%SK`^2xBhs;9NwCME z6)aFX79FwoK0HQv%f7P+jtSatV;aY0{Oi&?5rWzeew-AFVvUbRJ33|8x!kQm)unt zPBg41nlljg%(^eBuz9YvVfoFK$#-AcrMlZ+Ug$615NqR>i+Ckh)JrM*3{OUMC6FE| zU$X@mR}SfeVKUos^g=g zAC1j156=}r?>d8r`{b{)4)5J$Dc{%H?DCJ)XfUAOEWdzQ`fjiRe9xTM z2_w)`;gyJAED?b7*?u~22}mo)LafImqt2RTGU}X%K1}<2p2n_(Z!n!gp{~n2=IFrT zVMY{I?4RWq6o`EV1u_Oxi<~2e?N1#(qW*60fBLh}PAf0qw@OCKzDi7079Gcb_F1yi znKR0}Uz|Dfg}u`m6p1nm(HFX-FHo7@{E8sTqcYVX3tl^ljIcyUS;C!`1olK+N2vt` z1#|Am>!S9Z+rmTseOm;;*?1Z6!u%+Y;USn}l&eI^Ti5@V{|fiNuZx;V@)SbO{w3cR z?J=18h<0QnA)lJYN^{ZXmH&y=fbfh94J$Ud@ zCE{t(DAl)iZNF5}@L-gZRVu@&G0v7MU*c0XDHR1<<@K#w@qXg&lfaSuT4_3<-Lf1J7K;77Uj8#b()|KT%>GCw@{%*Ppv4t|_huVKS_c^@BKl)?QM zE65bDi_U$}E~O`ywI~ozco-~MOKekKTf8@Zz(>O}?bt*~E}!$yiR78H#KY=5G#5qA z)*7MTQC_x77^pdSShQy^^_=Wlr@_$7akJAk&w&H&wkb_p^=pDu_ueJUl|QZq=@&AX6EFqT`T+N_3X7Xp~a*Qv0A*mIj;C)IYUf)@dbN; z7Jq4IdSV1rk8~Alp&akXO0GD@kgxEoOdra+M>o)6RU$pVTDelZk*5zWxa*-0Eqm(! zz|&e5lz069z*E%%JBa?D^u)FT`SE@6Vp;1wgAM-j3JMIYYW#6efq$+{Sh-SulIN_+ z|B0uC6qNUXFz%Jhz4XkQ{GWJcO{(Eh4~B13!5>uwZSHIf_>JWGU;(0Io)RLv>OgZ515wLaznDhwUiduz!~~creKaYZJ;g zrBuIQto31QITFFjJw?XLE&r?cU(1(~_}kv_@4gG)Ysb)U;BN;0PX<07B@4#W37%q$ ziLd`;ud}boci%PHr$9kTUKf>ZA`tj|{)Y4tYKcr2J9qBJlmFUC!*GkW`Y+Z4Q|<{R+s z{1GdZukCBq(l^1G=cdnO=Oid=G<9XX@3YbF3T}wH+W>F2M-X4jGBbD zQrS3Rzt?#4FD6<&zi$13lbM+T$vKCg$jO0O>eY5qhxW>jb1yj0E~NHInl}BiJ@aBZ zEK|fq_&9YiF)W4rP#<=1Naun@9VOp>i#%UEGLR@&CEA~-HmsO~a1=?E=JYk*LH)?D z_CO)SDxybo758oMBd@7)?>gVPJAt%2&^H#w6mGS~b9Q#XJs(Uqr6r&~=o z9dzC4sL!tEq6hgK&p%YU>h{(V9$poA@yc|kUv6`{@OoF%l^2;+AAxAxW+=S{;o{4S zs0nZUKi1v^%!=yH`>*P*dud7B5EM~kR9XT`w|0Zri;0s#BUxHy#05LJ#y2wtCn3w2 zNjj6<+FW8p>@6)SA}X@Du{7h3yU{GTqv)8pposg1h~5A1_tV`-c;h7R^ZfgH>U)2E z>eQ)IzjNwymO8iYVLNW$-_^JOH$OWmTTPp?`T1K}i|cWyUQZ!VdAKY!&1jPCI4G<> zy}j(oP4~8|c1^3=^!DVkja7=fhwhs}s#oF_aW!2U?$P|4=HF7lJ#x~|es+?&o;{cKT>i+Tk4*dd z&!(v->h5UMEw|{WTkmimRX<$#&;Iwn-&}OGYSXp@r6%+PT{~W=$}toKaCZQ(Jw~y{Yu7* z=bxtskv$*yhaxWj%27vsdGn8D%=yZZM}6h;qqmHy`~Og7UgJ>DX}E0~zgPLsPXA$ej4P1Vx=xq59t0JKGb)-%DH@>^6=kI8G5i* z<$v-6|7eWT2!pld3&O7{j^}H2M}=S0%e+2$T(5>!oqMCNKQyFR9#ZFC*8IU4dbdwe z{d*s)g`eef`szh?B)2jHOe6`{Z_Aj1=dueb?8SJ%_ z59}L1A5>fZwT+^?+kz3)A; z>U-bw`3IiqYwd}iv1x*;*8M1unf5-g>Gz2IlSH-UZ-tY75l#+| z`9D1uT-dX`r~4Or^t|Z*gg?CS%0kV?YYWF|8oXxXAN1)(b1I|$_athTL%rHik2Htr zw^`M*)EL=4TK6j_?5jqnW|vQYorE9q7`1Qt`t(mdkA>qN_|Dls|M}`?e$g_c{@<5} zZO@+Fv)^|nopSQ2*Isk?nWvs}YN6`;w|?i)F~9olV?7_vzVuQ}IId~`<^f0kDBR(M zp3`?f>A%*#^s7=>eDb|Br;X5~C|}>V#ftyb{Xa_o@Pf-dG$ru1=*I)psrZ=?2uQfy{ehr88dG zai8+rd(QLwI-O2d- z7;sWFa`R=xI*`Q-SM z=QoAOZG*;7x}WwMwz{n8J7q`eTS;Zde=>iv?wBw19#gUNpl{0ZuVZPpv{tjFgl$AesMzL5ibZ4eZzyI%_PM6Lo?Yi?JQ=3QZ)lj}^ zQ?x14nA5YSjel>_v~Y`Kmv3_Zd!LWGf{Rst+}Gv%9B|qh-zpB}8BN(I6ALHz++0|# zeYAXiqxzm{&CNY8Pn%X){nMZR)O8^I0eLjv4qe!Gc(0r`RPS(G$1_(?YQ#}+wMDLNZCo@{`-Av-!E>{c))hM zDrDq9z+NK@=L{Y^Xx9<-r%o9E`Do-9w)tGexVlphI%wM=J3B8m%FB2A^P=zOz!h(?0sav`-$N^4^hu{L@i|4Lu)Rd#&@lWt?*Th+1v= zCy&2>)Sv!%IF+~8}k?fIZDt@{hb-a4h_=cof$;N^r&Wp28E@R3K&yzr=_2A?qG z;De`~R9C-Up?LNohkW^v|2S&Ys4-){{(q-YyS0Nh-G9P%^>rsrJNV!sCk#I7s0(Kv zb!1_~*T;+*HR`DUP(p|3dLJol*HcyaO`q?F?eoba&CP}1{L*QceNv%oJqKT?{PeAj zeY~wx;bi><6jrE^$~JvZK6_^%UMR2Wck;?NJtxnFcWri`U8pv0agS!3G$+2V-)E_L zv4i{z72?W|b;2Y%x&PY_9t#1(@Yv=@9%=sbpZz?k>60~OBb&6IpWm_Yym}eGV4*oV zrKPla2j&)OpWruP>gOCPqP=?FD{iN=jsLjE-wf9I_+GTmr~fLw(8W!n?!Nx7bjjMm zFZ9)VNx%44Q<~*ZA9&PHE>u^)`Pb)M{(~9KJs%AG)X$YaKl_n04m$b=-~T`hm`{EB zrjt*3tL&$n_UpN_{}+C~c37y+obnOQDlRL3rJ`2v{F|b8@cNnS4}#mu4(Z=_srHTQ z+gEmC-#$OO;<#yj$Mwb6xbE9J{wVL$BjRP{|IKfA^rxw}((Bu&9Cy3+{p7Fq9UuL= zf8VU4&!^w~aGHVE{%>*I|GjU^iosnM-vr?RiT_}%iC zDvs6l5ntz1e%+VmxYKmpVC~a&mHk}%bX=$!p?x|o+J-a-jytw+X#X|LE}q6aV@C}- zw)mwok9YNc^#0?#@9TO$?5Msl?K{5km$HfdX`ZIM=)L>SOWCjg>bSUgZ29{Y`t}(6 zzOQ}F1HKOX_W5^G@bPEt!&iS}-xE5Hv{Vl#MGMO`67ReA=zhJIc5^<;`of+oNWU+nj6YZSX>ds4kYH1xJy=j29eh;S zF8E08&BkJFu&@{fAC)x+8?=3{@RjgXy}^HDacwwB@66j!{AO@X^r-&VXW>E}KQve# zy%3C5JMxm!{PLhzm8YKtXDh5qpUt|CSDa^m7MF%$6!fmwbv+!dRX&FX>!LG)U-P+M zzqPh1__q9XRbhyZsS92%tJ5#2%?%He{mP(+f>#_Ky%fxKd~f>B*t%%Hpi6H?IfH$- z2BqTpK}m1&pP}uns5UshuuFKN{II`2`+bS;<)8o2_A6~a)AkF+*<1NKDGI{FD}r#h z@_U2xb*_~<=1KeBVcP$=w$~k|HPzF!om&2E_(L7PM%!YQ&kj0%Z-t+$e{IbpYcf@Rhe`BLsbV{UzOLt_v!lVI`x^Ks_TUzy&nuZCfK0* zJX1c7bgggevs|C=lr{Ihug@3t|NXlD#roW!&zGYW!G>st>ZtA!?SF>*M0GWq8@%ZI zMR8u~|D5knb-?=mzg3_A)w`+e@Zj?i3`CgMUeJyWpBZ9lBq3lFugS97BUw?JIru`DeS} z!G3?#4ESYGMeuyFL3M7A;Kzk~f)5K91y#lGs}A>Hm(Kff`CHl+1qYXXJLvh`$-zg1 zPY*uYrcuXSFGhYt<$jIW^}}Gppwq?9Q{>nFdaq-*S6;(`a{WjBO`YHB-Z49T|88B! z3ttI-rTRE!;2Z;=uCITU*ZzBCbA9Yje{;HG3itI^=iU0=)4g)9()K-3@I5ndzJX8q z`z6)Yt2Wost?O8SSq#)kw?it!aKPUKz8g62K)Rpx>AL7T>Fcfdr(m5orSWCuZ?MCt ze-{RWm8Tt|SA!+|?>ecvG0-j*R;eBiF!5hhSG1MQ*0H{+J4y=&vAP+WBADf+GeUJcbUTb)9qC@yrPnHzNF9dv}tVn$!UtCv^cMhcN$xs z-+B1>*NXR(AlPVIz2lAh^ySSxHmAAitp4ra<+G0>^~Z`Yi5*p9PknH?wmG_YHWg}B z{x62tN8eF9>b6v$?tk_9Oz*NeFF3?~gu(`Wdv8PUyX6ymUoZZ$_nqQzd;eU#r1u%s zmmj%~yI;2Kx;5^6C|5vy^M|aA0JFY%Y zbarrF^b=jD`vI$huj_tzCAvxdxgo(-`u}XwR2^6R2G#YB;*wy6uhHQgqfdu%J&GrL z#=yPoz9{L*kG@w4Ur+z!Zu&9SGx%;r zv;3(zh0}vg#liC1^TAa4?_>P$wyD1iiU-LjDuarngP-V{XFIMpj*Eitx(sw2WuwnN z|GPc2|DEPvf;;g4LAsuw2X9oIA8f2xskY(TVBDbXbsnEf@hiSU|6>t-GyC%fjRW2Y zJ}8_Sw3$DHCaPcS@;XfStTvZJVUOTsy&rYB?{)i=d*1D)>)z?X;V!4*6G4YQXB5;| ziEa+=A2cO+dC;$dmkWOij?ue}*6O!y)++9=i@((VTZ3~3Sf`2lV|;$^gFp1g^}TwP zh1Q{*JZNumazbzn`EY(*C%&n^vC6ZkUnwmd8+>8VdAg>a;APi6%HMq%_l102@};k* z_;j#y@tR<4#qRRq+kO23^54&HwcTTjXRE&cJb2ypuuT0bmxcXdzjMu7wMzr-mdnl8 z(_eQse-0eKIS(#RT?6In&(G*{xt#Ea%GKBF^4;>&<%^G1uJ*0VUHfOKj31Jp7e?;G z_?lI3Tz1>&jW>hdRT=7hs-x=$`clPX)%V&Eyi`0oXfK{2w%BgaFWDd67d|M`|A#0% z4qno4f^XFIyi|NHc(3qo@S?s)aboen;C3HZJW(r&j?yuY1XmP47u4wb9-*J{YOr+B z9!mSTU`=tM_NyH(PF8v^sSR|StoYH76n2=>*jw?;mW9DWw-4b%!QN&66BNQ_>WjS} ze6dVVR@}b1Yzmhtjko&kOM^Mld3|}gqj0J08nI)s z%UJEJo{Q@@`hMa4;KewqHPu4pO5mD`oBi$eomkJ z^o1*L--!;C{V&S%S^8YnyT1JG-t~o>de`fBp4M+Ou6O<5_qPhG?GM|ecy}mXN%0Qr zUH`d?E#iG&VKtw|D;9d!7mrlfmD+TC;XgDk-(LNR?R0$qSWx%c%hBV(i!erQoBVo( z?@clC2mRZj9)rMgGt2zw+xo`g8h=OQ#1QpQxKCB*3+^)w+^?R0Fvqw4^nIrDY##G@ zenRm+>;HlK{O^6bP4O6Hb3eJSfB6a=Q9bMbbUUzv>RmVxt~TQfs*@fQ{zyJKrEjb! z9(is=W4?h;v#sn~!Mpk_FZ)*SC;VU6`(FQNuiFaOI;6nL5z_Il#HU_qmy${Ty|_Md@rF ze`)_;jW1z^`o{fpKxervb$M$mqulomhpDd4-dz6%>f!(2pZ)F5->Z+GwO{q@-&D_z z(I;~a1Lgex`nh@BJ23wJjL)shabVp0_dW;8?6P9E?=IWW=EF>A3!O<+DDEH!1z= zgUX5zf)N$p4ffXW$5jrxSnb=g;5u#Bmo4kPN83}fhwJk#ZLey3v0UH$ zF6&X=h6cm6jf`dnBcg}(ZmV@cWx4Zf7XFQ``0qOJgF5eBIuF7MT*5JC2^}lUr>O6PoJl#6a-8#=jI?w$&_9Ufqnf%jV7WnhD zzA=Eug1R4cpLnEK=zpT}qke*xit{pTZ_=3lEZZ{Nnwzm6yjQskV zwimQ*lz)GutxQ|Q+@j_i%YPqy!DGSxW0v@st?Pj5*(=^Qhnt1kig)Xr8b6AKl{!x2 z^zd+h{w*I3$`x1R%|WN=Q{zpK2NhrAd%aIoBV7%=wN$O|v+PRE3CQ;Ma@0@enML?p z1w5?nZ~XCm;su^VoUSx9U(TlV!u>tx@4n-wThF;srP`~_+ord5Or5u~#o^wC^4|tG`dXY$c>m_p|3ikJ1AI?! zZ~jkxo@QIyx!U@k8z@ZYovUqvwyU&#P1|=XHU+N_x|Few=h2Ve=ICI9pFOy&yfIc* zUDdd*#r>J`n}UDybECl@Y<|u#P4g4yy6w>1p^LoZ)@yz0bw(W zt-%cS!)GY|E0Oz#>VLS8Gx!LlqqO|VxJh#%{v5P2_@2t?bUh2YO`kvR|Lp%iJW&5{ zu{mCFQD6Mc_D>w<`_t{GugjalR{J?qVR*QpP!>E~C<{GDF~VEfuwXZRdYc#R7d}7e z!r}Qu{dQR!_uICd}4;QNM`3vfe>fJV- z^0WI{vE~^E_icl24ZiKo<@68TJpW6iigA9Idhee#H#bq6mbz_vLZ3DIe7=9vow`XI z^MSg3H+@g}UhFwp`thpU+E=0b>y^UU;jB-$vOxCjpZ?Fj+4{d-+m@dLcC7F%x7j+E z<~ohhjl#+3Ywy%U;kpmBHhg67qteRWZs{1U0p3BYvSvtY^!D2w^bI_ROz52`t?Sj# z&jt0pi=_>{UDC$hZKad-hL;_J6M7$%HutWPmPj*36EsCLG)G%WzYT3iJJ3$F3tdXe z%h2U$H@X5{$+_+#wR_O}(C5hW^XOmD7ts%VU3z=9t}EQ$DTKNv>5kY#uy?{9hK}@A zhx?)j`KrT%eZ66w&l}cbAIVWilkzm|lh7H&!4F|ZNKTrw(2JeVunpCFYh_=8UQWz8 z#JK`{F7`rVUQfu4*h|pc2)Ug&cVOR%{SbLxMV!Y8e}eEQv7f?Tjr}zCGuUgepXIuq zBme6NS#K?itkFL^&FC=KmgsBfB=j`rKf2KAL^Fwb5jNKwU5wpII3*snV=s0-qwCQd z(Iw~|u4&Pou2IoS?7Ohh_3QgM349?qBZCXlRR z&KRQ!nxeiJM(SOG)^jUS?(GIi|?Lx0b7oZE#Md)I5DY^_@j&`Ff(3RxpF3xxl zdLQ}#dmlu9hdzWpjQ$?|1NujF75XUpIQk^I8hr+R7WKU|QomMf{R{e{HQWx}9^C<@ zjKU$L!JUSJ13pg^u=h4a7r@BO<)37f@ zXQCIOcssfnn|mQ@!)`|x`--CLu&>9y0sBVmo3NK)a~DK+_%0SXbw7%nw(r8e+jShw0$4;{n!s+KZyN1?1!))#$HAGkJzgbJ{M7KzkrusLf4|NqOYN^qi>>bqwk{c zqaUIlp_{mh9%~^$%TUTi>t!8YfeuEuM|VKEgY^8`aVWvUP;Bm_!p_*cpu^E!(Glow z=_*$ggH7OK9a@hzppB?rR;RsR z4XULRu@BSl-;69Cu8>M7T^Wqg*(>#Jbn8KAUGGZS^{Pvi;`2=DbV6F#doJqwQyIAa zR0gg;mHIscYbV-;ntPRjiB}o;j;jp*fIf#lkD6MQfvHsqwJJksV#MwX3q=dR0lis-#|37F@3? z3$9m{s#i{J0$PVQSc`|EU)9}LS)7P{IQDVQVbQeNS9QQT9d#YpSDv@lqt9BSRaTwF zIsvUi8?2hW+gExVw$mJ?v4GWaMp4H`k^U&X)z={yW`!MxCM->kz#2y<( zDU1$w?CI9`SoYApKU&_KDD~YsS|cXwL_&^Gnxlhn_MR!7tXecWn1X#g;myP;p)s1E zDVm`huDj5?(RT=ktbR(Q5QSv=;SUIa+-xm1cMr_6%&w zD5Q+Slyl|e;auXJk6wUYh+c%wBF@F6(2BO9?Pw=Dhd6W5g@i0ZuR}dD8Xew*dVDlG zT#7Cy{T1lVEkGLZuYJN1;M@7x(H1uTj`^2At&U88vK8#wi z+tJzVy$qd$&PA{E6-DO!=*XNO9hvi^BXeeSv>0_OGdePJMn`7O=m<|ncrv<~JW$&s z>bXXd&iNYj1@uMqCG=%N%@117qc}mD0lrvB$>Zu_}3EbWnvis??92Dcg0UN~L^?^k8|oiXLp0TE;c9k5GwJ zsZF#Vk2b4jR>_ksQuh|B@L?4`tip#?_^=8eR%s5w>9?Y7Xgk`0cA{PAC7gXWdMSDt zI+wGU8&&$%Q>*Dw6BKyXnC5&HHNQ%2tFBse5ss6y_gwTm;-8QGYwQcKe}jD?_Dt-HuxFtclbXjw zRoqQgp~pm3p+`ei8h7|CbBK8b_FQbY6jk9O)Z^|djY=HT?M0PZVXN=NDz(B^N<5^j zHNWAQl&{7ww(lg(d&%2<*!N>UfbDsYD(>j2@DWmbjBxjtsxBl9T!+0LeG`4lstSa(YtSWLVP^ETRHAn5T)g-KnUPR5qs_13ZRIG|#LCwah$TLD!5V9)r zyigUKtkU=HY*}$pUAC5? zl!fLr98!S}Mz^*C+wlv!?1V8-UWL&_O93?uy@1W9eWS#J<+|;eb7pD zl>J=z5-~?(kHOv#dw=Y)*j3oo*au)Ah+TtSi#-neAeV(&e``J3XjS_%T3UzJqYY>y zdZ=2HDzz+Dw=7i}leTCs#B&asBhgl^cBET6q331k!8%v9MyY#B-N&d78hhT79zp!c zsK>L_nv3?{lD6s~MiVqeGc-rtx2z7@Q1>vagATM4?Lsf%ytC0u(aX>UoXgy(4$O_} z!2QhXz}TEk0TQzge)tU!Wo<(nmT!f8(L~n<;5>9Ow zy&Y$<^B-N0-iR(i-K(hCUV$g zWp24z9JY-o#bMhO=wNhv`$rshxMv%xnOm;bET8S6gnQ^;%F(0x!pbFVIpvd6?>pK&zy7;N{!stfyLyAM`fsKRz1th#Ujw)8^J~Qbc7y0$!~9_lW1<>*@-_72Yv{?>(37vBCtpKPzJ}3I z4WpqNMng5s9M&*%SVRA?hLKSXeYqM&Mm6-xYUq#E(2uHN=CFp|P7O1MHOw5=M89{g z^mN#|N-baweTJIIy@eV^Pc@95YUmr(&?~5+KTyNysfN*04Wp+TMo%@2o@$sytYH?h zhFQcKW)W+O2ir@a)?J&wQ2z$mG0QHQaVyO zua#FFGO>4_^a$0TTFomuNc@9FiC0yw~4iZ zNm8r2;hf*idGEo#7yCZ!`?1a2+Q6i(4b0fuz;vxu`)Ku3{#yOIq18|MYXd*!uMPZ^ zzc%nw{@TzqsMQ-wtfoP2xGicX=)G5{IZzv#0JY&R?A;aJ4fVZH8}5nvDUx2-hq{HW zrERUHRjs8xt)(Tcr46lBZFe60w5T@xHu2p`)`q`ADLajiRPLI4bR5q;)`o5?YeTn^ zwV~U`+R!ayEp1|LIEy$J+e=|9$F^a&V|SvSd#nvT_gJfY$}txaejR!vAva+!!Cs0@ z*{QAcQ8$yHTT#zF)~cC|)k-Rk<{oWRj-r9COJg5-Pwl4ms@=3Uqwb&7s@=4H z-|0j%&~uzZbRPO^^f%~CV&YroBx}`%`qK?$IICf7;Mmk;?gbf&9Nn{$Ij=8G9}EE7-4Mufu)~dp-8+*l%FJiTxJ#+t}}5 zzl;4I_WRf$V1J0c0sABDjo6#G-X5!3RcjfF=hdn@qyim`e%@E1Sx2jTr?t#F)~Y?V zy)!x-9f9tSe#zb_j6vNF*3tsj()QKT>ebTT)r!DQc>?OEuC*etRPCCT5VdQz`@*4U z@lZYgs@0sN@=%5LcQ=Se4{$D^Jt zA1|I;Ta?4`qPmZY(F9G=49!u`qKpsblIE4@JoGB`YV;a(KDvN&EksR&@fy)seeaJK zy{*g9Zgd5D3wkSh8+tpslHA@!PVOdsuR|EGnJ!?tlzJs9I>d8p{qeZVZVmG9{Y9dH?ZHtehd3;?02x=#eNU_ee4ggKg8aE{SmfXuJO?(uBgW< zmRieD{4AC_qyim`?tl(KhoU>9!_g7w?&z1$G3fqi6?y<#gN{ST+e;cR$V;NA?Srws zCUCrFavbhn{rEzoZE;n;6<4iLOI)?xh#u+^6bY?|`6#i}N4YP0kmhstm6p&LP0$q0 zP_LCeNOK_8d(iu=AxDK5W4ECT(Hqev=qjtm$krFom(aE7tLSU!>*$;4+vvOK`{;-0 zN74ym_(bWBT4Omu4EJwAd(M1jRKZN}-_V2O(fc;18$I&Oz)#x**ekeyCdyPE5j=qV$jlPS%Zw7Z`8;(V*(F4(1bUZqNqw4Gv{pO9& zdlum{2%)UQm^djp%!zX@an46CKrciuLT3@@VtX=d<=8gtcI-}c4sqt93)#Df@as^| z&rb+%!uBlvgm5V~r5sYe>eV~Xx1zU`&YkF8_~#z*D+;DqoILLTF& zC(x(Rr_nX&bNFE$_ImV9^euEFXaCq*7CEGB8=tpquvKl4&JuCosSVPd7=6=mqT|u2 zXfrwuJsJJJQ&SJ$I+GCmsbAsrvF+$=(!UIygU&^{%OdWth&wA<;A@QVEvpMAs4Y_s zQCnv9n0G?7-2RDHpf{u3H4*nqbPp-qhdzMf$>?G1N9>S7><_R%#NL4Y5%xyxP57$ES_sfGl#(hG zu`AHQ=;!TojRLGY5HbWEitdaKM@OK$qhGSe3S-dy(JJ%+v<4lA9%L^S4o2(IMypz@ ziBhlUnV{Cn+JJiQYl8a!8>C(XFhM4>N)v? zqbH^M9)N0Ko#tvbNcZSHLFySB%>c1?qWo5;{=C&QHg)RN+df|FMeFpO;z8;3-X^JA zfjYGUKGt(Jb(%4=dakBUGiFxL)zs;!x6j*#dKR}X=s-KsE_5zuxe}d+UWHzbUW3j@ z7ocWEot|P?{Y0;h`JB4I^Eq|;C3>spbLun}@ZM$Ua_3YtY59u7{T@sdq&ShY!5^CbKW#RW35IHL~GIUXq|JeXW2e>8hR3X7JFx~mr~Q{ zz$tr{rcTc_9N(>Wokj{y|9tcU^g{F^bQWrm+p{-y;=J`Xj=G)jJFxG>zKE6E_A%6VL7kpfJA`{7d=?RF=9?c}&Pl)RD{Msp8jE#p`8(gQ6 zh{Kor>NMi8-i%UvHR5o{BhIr%5LVB|)ahBXkMe9xot`z@_H0a@o;BO{Y)qY=HQV-V zOr4%J+xBcsot`z@_H0a@o;BO{Y)qY=HQV-VOr4%J+xBcsot`z@_H0a@o;BO{Y)qY= zHQU~V_Ef4*t=j4 z$M(!;U10>a=RfNTyJPQxy(j8f(7J+WLF)>Y=$GtI&FWb9N2|~S&>D0cdXT-Xk%+Y( zZM2H#BCU9Ctw$TsM)a$CZdE6eTaPnQHSU!=!sCX1)0A@QLzdy~ykk zleu1Gwmn57qk8eVTiUFg*E8!<&#X(m`0Qh2G(l6;Ygg*UXX{*2z7m~>UWHzbUW3j@ z7jVXf=puA6>KTA~*jo>K>tS!b*y|iFLzko7=nC`}@_Z}m=a}`HMYpcxD()h0cXQr* zu<<8g1TN@_1^2y8wt4ydkOYZY)U~ybskLAdWc%DnHh)p`#ANQ z5BIg-gWgAe9zgvxs$N9(Sso+i6X;Xu)94!XIj(&j_ImV9^exontcRTSBB#!%IdGj( zbKp`@RA&)Ibrw-ndo@>MZAPb|C!?llJru1MKOG0ZY2LQR<;6>X1jAe^J!>0{MB7{JezyGWJ^RSFm5jUWfe}_Im8svERUc6Za?Dw%h!2S?>1NKMQ8?iTWT|HJ&)LMq(Nm0}x73g5p6s?D%_2Q@Z4nc>aJEOzV z5$Nvdm+S}8&$>Tag&u&`pySYk>?P69>Swa`ntPEl_fpT?OFeTh^~}B0Gxt)jxoF36 zpSE5zFt**Nt!DC*MEGqY+!D)LHCQpJ-6AQXGYcweN=Q2>i%1U`W4p2J{RM`2F8O8 zj0YQ-@oR`Yb^btiNfx(m81x*NI&x+l69 zx(`}uRn1YktL9ki(FU{;JydOXL-DJs)eWjSwhvQ_*`TKw4)F|LqiW8!(jB!DpfT7( z>jxT{2Ww=lZ=>px<4jb`+o%~Z@BOA~a-(LzY#*A1Jts4(Lv~8_}igU4|}4yU`WsEnL^F=xylj=w0OhZq9fQ_PyBmVc(DKmA#Fu>}}NZ z4%=SY+Za4f%1@%J(PvPv5o*-f$6kFM^^?#>wZGPP(f6&a{%zEJm*TVfw^6fRw!Qkd zQFC9mhoSp9w`zZ_)#!m}Ejk`OlB2wWw~-aRjcSV>pAyvkl}cQ#u+QuMPh*&q^0~x0 zAH4v*5WNVUMI6s!HEI^iDYRj?V|SunquUtHA*R>pHimPtJxXm17ZK+=^m_JsUaL{_ zT29ULT8*05vQ4RJUh6H{Zj~CL`b6HO3G4?)A z%qOs)#C{5UHTKikUY*+*uEAc1u1DWQ-$FN%hmWnA-BR9|(Q4F;md?c*-A2u2IeaSG zj7~#OM!)Z4)lyq8^cgjy<@gt2<6(_=9NtPecaY||9A~+&PA#?dW|TUtmf9gN_^P89 z$%*Hh8l#u7*J8hd?YXALXdSlani`|^*q&=@)bGRiDm=1ljNZcbTvKE84z}l-8l(5H z-^cy{+jC8g(FSbKH8n;Xu{V+D9;@b>tYs*E(_E87D$v2`=j{`<&erYi0nIo$&W_ka zuy?{9iaiW_XY5_Dhhy)GJp$WnYa0u@V|#6FqrTT^_1fA-jd84ATidABT=Jn>dF%dY z6?y<#gO0O`$s($lZ1o#O8r7Ox{brR$wdP8V*1S!hW@%DpB;VA6UsCy}s^kmlhujrYmM+B3?hf(*CCzW~hIw`siy#c)mU5eg= z-iLZc%B1LbC@IiKoy7OtC(%=#q~~IaQ?Q38(G#0QPi&Ib5ByUwNnRZ$orrxn_Hn)z zmCl-=Nux`vS86qBTxmUC^Pf!`QQG$Ukfz{DbRK#YdNq0t>J=kR`tFJ2d$m=QdRf-R zsMk|9X(VWM-@7UBda98mPVy#9GL~GIUsJ~m(q*lXm%&R7i-E>{7V$v_h z5`I2<0eT^N5ju zO?pc1oIHSfRMMnAp~Ig*pF*ET*Pzd#UW3%c8l)!HAT_C%s1S{|q#9c(9rYD$PemzZ z^%WiB^+in@Pg%Jl)($nXcBn}-R(?cdtDn3yX%&!_@=~4jQRIa0I5hF?h90R?<_R&ZG|Sjr_jVV6q?ivb(%d^^+K&)!_%Z*sMTwDnpnfr zq+Y1)9nc}D*X=YFc1DMzBhcN^FFEI;pLKt<3OxX=LC2v75&vMc9&MB!Enb}|{i=Gu zM~hds4-@^47O&>%ZBu^t&Sddqjnt%?45=oIR4aqYkZLldnhdEXL#oM;YI0;!O^!^e z$q;Wcq?#;J=~$6Us?|P9U#oqr^{7TmvenO(I&YJew-%}MHd%S=mL9Huy8k>S_!{;R*k8x~26_~FG&-5R$6%kRnXV~NaY}G4;R{f|32KT6U|ozZA->my zOc4jH%h7Ih1^OWR5c+%ckLW6neH4A1kSEdA=rgES-%Sbrhd6&mUqD|%*P^dlSwA_2 z^^;RrKRJcd+~=udVM9@;?MmL`@ElDA{N-Hf74YVy1`>jx!Z)MyH`Cqo))94D`F`zoFkl z&q7ORf@bJB=y~X`(chpmNfS?sHa>4V`Ulr8)pqM@Vs0Y5$0{0F%TTUPG;l}-IvCvn z9fA%;cSeV!BhcNg>Y3<{P|w8b^;A>TGqHM|+Z6R}ln1?u;#le7*lsfXW$O5rW3`!gpf1>5djoIv|Kl{;}NM@{9ZsT?&`_wQ)^ z2EyT}<4-02iMm_Y1ShJ!UMZc7UQ5UV?1ktebTPUVU51+BC#wCmn&c-24|1&M98L^= zkNy#ToV`z?tI=oBXRW$ltUIDRp~KK4e5_hb@12FtLFb~JU3Y}{y45&QcZBsZ^a=DS z^l5Yrx(;2Bdey{Af%~h|gXht|pf92ySoJM#bi_ zf5UD%J>ltEqiEYL$aM9rtUpEn6YX$*c;C)+-nTP7TujJAr1>nzk_WxhPsi$=e%48- zTd3*Lw@^R#oE~wO=wGm>pr@gWotkF4tT&>b8=uZPz3F-zm5=pmz3F-zm2LMtr$_go z_oDZq_oH}BtN0uTziBO>ZM>%yeY#%th#a!Us@1;=p_e|r;PtfA3+}5=*LN{&Q(juV zX1h`0dMB0$)504sTPW+6z@@D3g`j@drJk+n$&qHtm1oVIp^X}IwNTgYiiL`X4^~9+t}-8$1R#`b*@$s{x~5| zqHb|oLO&61(b|6J%{8z^vmZ)F_0ak?)bAT?p$4`@Ni?LKWuYdEz+1zMJPQ(1|7rxc81?*z5fdaIz? z_Y!wdNwjpx;p{bGN@`)PF5glx8QXoN5;FrO-DT&<_WLADy32kn^;-%{`VOzv?~^PA zexGD1@cSf7yic+ObxYi9CCwE(HQ#F`?zIy4T8VqDq#m`y7oZE#Md)I5DY^_@j&`Ff zQ1?bkTAS+g`hAk6!0(eR!TAy`ehJ!_0#mCLxQ3Ky{Y$)QtrYx`kX5Mr-X*PdvHI>P zY20n~-BIGZy(QX+5^Y3@_eqv`Gg}E7l+;^LOqftopTV}tP*P9Z>KalKCFFl*R7zrn zZMSiya5QRelz5+HN!;*W_r6NvhHbx3vc&r&OE9DaJxb7{#5_zXJd8O1w|9q#0d>)2AviMkp~xC^1GT@jl5CV}z1=T#h*vbt_ZS9D?;^ z^i-D!@4G8OzmjGZyw?mYX>P%45|-2-v$mn!3!L6y1dFne$S_ zT_9TOF6MobCDGEh-zQmumL<_rcPO+hiI%oa%aUkm+q5i+mbOjHl4xn$GwLM~QeI`A ztt3v`_WLAD`p&P_?~^R)w-2p;pJXZW`y@+|-zQnp?+aSrMc+sLKFLz#_eqvCv*D}m zv8v~3Ekh|6^*kL?feuEwgEYV4aPA;I$+b-h7KUPTA8E$J;k%&2(OuCI=x*rlD4c}A zB?w$%4NR$E0+&Q!c|Zi#Rg1v3{XWT(2yEN$lhp4LVK>@VpH>7`pVnHB`g=?z^=Yks zpJb`{Rej&N#QP*m8V!}pK3pL&^p2r-%#1_~y|waQIfgc z^p2r-%sfU6y<_MdL+>~^hSZKjP45_b$Iv?#$+VWyscJL5W9S`2?-+W=&^w0SG4zh1 zcMQE_=p94v7<$LhJJyV-ufp_>H6LPiy^S>!Vl^vbjmWGfMyy`ekENz}483FM9YgOJ zddJW^hTbvsj-hu9y<_Md2c~x%Jc^nsG4zh1cMQE_=p94v7<$LhJBHpd^p2r-483FM z9YgOJddJW^hTbvsj-hu9y<_Md)9Z_&cMQE_=p94v7<$LhJBHpd^p2r-483FM9fziO z483FM9YgOJddK?Cg*?XFfMZ4zF{6o?K4A>KV|s=$^p5q81;@YMo`K#m^o~PH1bWBN zJBHpd^p2r-483FK^JC~8L+==R$Iv^5-ZAu!L(@Bk-Z8z(7<$LhJBHpd^o~Q*I}T0n zI5fTE(DaTqmuoe>W9S`2?-+W=&^w0SG4zh1cMQE_=p94v7<$LhJBHq|RtqRi=p94v zI5NFs=p94v7<$LhJBHpd^p2r-483EGshy7L9YgOJddJW^R{z%FrgyAfu5IoD=p94v z7<$LhJBHpd^p2r-483FM9YgOJddJW^hTbvsj-hu9y<_MdL+==R$Iv^5-ZAu!p?3_u zW9S`2?-+W=k?9>rrgsdzW9S`2?-+W=&^zXh4KehNp?9o#X0Ya9W8Dy%Xr2K<@;4 zC(t{A-U;+hpmzej6X=~l?*w`$&^v+N3G_~&cLKc==$%0C1bQdXJAvK_^iH660=*OH zoj~sddMD63f!+!9PM~)Jy%Xr2K<|XUcLKc==$%0C1bQdXJAvK_^iH660=*OHoj~sd zdMD63f!+!9PM~)Jy%Xr2K<@;4C(t{A-U;+hpmzej6X=~l?*w`$&^v+N3G_~&cLKc= z=$%0C1bQdXJAvK_^iH660=*OHoj~sddMD63f!+!9PM~)Jy%Xr2K<@;4C(t{A-U;+h zpmzej6X=~l?*w`$&^v+N3G_~&cLKc==$%0C1bQdXJAvK_^iH660=*OHoj~sddMD63 zf!+!9PM~)Jy%Xr2K<@;4C(t{A-U;+hpmzej6X=~l?*w`$&^v+N3G_~&cLKc==$%0C z1bQdXJAvK_^iH660=*OHoj~sddMD63f!+!9PM~)Jy%Xr2K<@;4C(t{A-U;+hpmzej z6X=~l?*w`$&^v+N3G_~&cLKc==$%0C1bQdXJAvK_^iH660=*OHoj~sddMD63f!+!9 zPM~)Jy%Xr2K<@;4C(t{A-U;+hpmzej6X=~l?*w`$&^v+N3G_~&cLKc==$%0C1bQdX zJAvK_^iH660=*OHoj~sddMD63f!+!9PM~)Jy%Xr2K<@;4C(t{A-U;+hpmzejQ|O&S z?-Y8c&|BYh6}?mFokH&vdZ*A^^BSUe3cXY4okH&vdZ*Akh2AOjPN8=Sy;JC&LhlrM zr_eiv-YN7>p?3p?3p?3p?3 zp?3p?3p?3nKJA>XC^wxZ|=$%3D40>nKJA>XC^vYLGKKDXV5!?-Wl}HpmzqnGw7W`?+kip&^v?P z8T8JecLu#P=$%3D40>nKJA>XC^vYLGKKD zXV5!?-Wl}HpmzqnGw7W`?+kip&^v?P8T8JecLu#P=$%3D40>nKJA>XC^vYLGKKDXV5!?-Wl}HpmzqnGw7W`?+kip&^v?P8T8Je zcLu#P=$%3D40>nKJA>XC^vYLGKKDXV5!? z-Wl}HpmzqnGw7W`?+kip&^v?P8T8JecLu#P=$%3D40>nKJA>XC^vYLGKKDXV5!?-Wl}HpmzqnGw7W`?+kip&^v?P8T8JecLu#P z=$%3D40>nKJA>XC^vYLGKKDXV5!?-Wl}H zpmzqnGw7W`?+kip&^v?P8T8JecLu#P=$%3D40>nKJA>XC^vYLGKKDXV5!?-Wl}HpmzqnGw7W`?+kip&^v?P8T8JecLu#P=$%3D z40>nKJA>XC^vz4c}p(L0CUIrPqy>sZDL+>1V=g>Qc-Z}Knp?40wbLgEz?;LvP&^w3T zIrPqy>sZDL+>1V z=g>Qc-Z}Knp?40wbLgEz?;LvP&^w3TIrPqy>sZDL+>1V=g>Qc-Z}Knp?40wbLgEz?;LvP&^w3TIrPq< zcMiRC=$%9F9D3)_JBQvm^vy>sZDL+>1V=g>Qc z-Z}Knp?40wbLgEz?;LvP&^w3TIrPqy>sZDL+>1V=g>Qc-Z}Knp?40wbLgEz?;LvP&^w3TIrPqy>sZDL+>1V=g>Qc-Z}Kn zp?40wbLgEz?;LvP&^w3TIrPqy>sZDL+>1V=g>Qc-Z}Knp?40wbLgEz?;LvP&^w3TIrPqy>sZDL+^8nhw4f3IYs~G$T?bN zZTm2-{XR!4HfILsip*=I)6o{I2w<&8pS7yIq{_2(0$PVQSc`tspTFpIYq&(dll+kT!kORI^j z@1pOcAEF;w(ahA$XD$hSE^?QkD$@8}T+h?=nd573zv+!6e@5XFZ3%fXI zrG;(9hx%P-#c9>5IjwucldX8N6(6<+_F-#aAGQYeVXIckS?$ACeAtQ)TX_p~D?V(+ zhpqUq6(6?Z!&a?B(^2@a6(6?Z!&ZFQiVs`yVJkjtowFkcbgZpGVe__+-~x8dhD{H&EUirI#r+wgN6es06hZTPtj zKeyrMHvHU%pWEW2y@pC(V)^C%`&+YiR9Y43@=XU(u zj-T7{b31-+$ItEfxg9^ZW2y@pC(VZpY8<__-ZFx8vt_{M?S8+wpTdes0Il z?fAJJKeyxOcKqCqpWE?sJAQ7*&+YiR9Y43@=XU(uj-T7{b31-+$ItEfxg9^ZW2y@pC(VZpY8<__-ZFx8vt_{M?S8+wpTde(u1}9r(EeKX>5g4*cAKpF8lgRxZo) z9r(EeKX>5g4*cAKpF8k#2Y&9r&mH)=13!1*=MMbbfuB3@a|eFzz|S4{xdT6U;O7qf z+<~7v@N)-#?!eC-__+f=ci`s^{M><`JMeP{e(u1}9r(EeKX>5g4*cAKpF8k#2Y&9r z&mH)=13!1*=MMbbfuB3@a|eFzz|S4{xdT6U;O7qf+=-t%@pC7B?!?cX__-55cjD(x z{M?D3JMnWTe(uE2o%p#EKX>BiPW;@7pF8n$Cw}h4&z<c8 z#Lu1hxf4Hk;^$8M+=-t%@pC7B?!?cX__-55cjD(x{M?D3JMnWTe(uE2o%p#EKX>Bi zPW;@7pF8n$Cw}h4&z<c8#LxQ8c|95L!p~j!xeGsc;b*;T zLG54{e(u80UHG{RKX>8hF8thupS$pL7k=)-&t3Sr3qN<^=Pvx*g`d0da~FQ@!p~j! zxeGsc;pZ;=+=ZXJ@N*Y_?!wPq__+%|cj4zQ{M?0~yYO=te(u80UHG{RKX>8hF8thu zpS$pL7k=)-&t3Sr3qN<^=Pvx*g`d0da~FQ@!p~j!xeGsc;pZ;=d|^nfHW77 z=0eicYBPCbA!#lo&4r}7kTe&P=0eh3NSX^tb0KLiB+Z4SxsWs$k>(=OTtu3SNOKWs zE+WlEq`8PR7m?;7(p*HEi%4@3X)Yp7y(LuNIbBSei%D}aX)Y$s#iY5IG#8WRV$xhp znu|$uF=;L)&Bdg7lWNPn;3n0UZs|m9*Or@9Te^cK+Iyzd-=bZjy|%q~iT2J5mQov+ zs;;h)?Yu1|Z%dW8mBCW-wv@arC2vc~+fwqjl)Nn^Z%fJBQu4M`dDF4Vo0NLKlzP6D zdcKr;zLa{tl)Nof-dYsXd0VQybxZv%+GXTz8F^bq-j>cPTrQ2x8>w*IeA-7-jYNSd0S52mXo*T>cPTrQ2 zx8>w*IeA-7-jn3mAR*<(9)o1C%#0C%tMT56iJfKb z=x{{;v$5V-7pBz4JcN?O0(o4jGJZ4(Dkq7h8XIVnB+0`xBMO9&C9zr|Fy>*vn4*dz z@qWLb{^uLN$eVfYx#ynzobUOae9Td|IqEh?-R7v<9Ce$cZgbRaj=IfJw>j!IN8RSA z+Z=V9qi%E5ZH~IlQMWnj_AAxoA6vgt$yQ$>`~X`XV9Nt+d5|p+vgJXxJj9lV*zyot z9#+ozQ0rmtOng}UzgDpw?8D>`9#%d?vGO5SXDS|6KE#>3p1_%L@SKFoOcFthBE zJa$RDl`8X)a=53;Z|K?R#GggaM$bik{kE=e)_GKt$1dePyyXf${X5im-<0IBOY+zy zdF-;~*?mbKyCjcYlE*H|W0&NyOY+zydF+xrc1a$)B#&K^$1YpWZXjwiad5n9=jxu zU6RKx$zzw~u}kvUC3)2gzfX1FI?FWONPMLA$80-!92xm*lZa^4KML?2jyn^QyJg-=ntXP+< z;CThlD|lYP^9r6<@VtWO6+Extc?HiacwWKt3Z7T+yn^QyJg?w+1<$LNd0w$DS+Ooz z!Sf29SMa=o=M_A!;CaQmWChPFcwWKt3Z7RgPfr79U9y7b6+Extc?HiacwWKt3Z7T+ zyn^QyJg?w+1%a^g69=Hui$wF&ntLd!Sf29SMa=o=M_A!;CThlD|lYP z^9r6<@VtWO6+Extc?HiacwWKt3Z7T+yn^QyJg?w+1%a^g69=Hui$wF z&ntLd!Sf29SMa=IU9y7b6+Extc?HiacwVtCS+Ooz!Sf29SMa=o=M_A!;CThlD|lYP z^9r6<@VtWO6+Extc?HiacwWKt3Z7T+yn^QyJg?w+1%a^g69=Hui$wF z&ntLd!Sf29SMa=o=M_A!;CThlD|lYP^9r6<@VtWO6+Extc?HiacwWKt3Z7T+yn^Qy zJg?w+1%a^g69=Hui$wF&ntLd!Sf29SMa=o=M_A!;CThlD|lYP^9r6< z@VtWO6+Extc?HiacwWKt3Z7T+yn^QyJg?w+1%a^g69=Hui$wF&ntLd z!Sf29SMa=o=M_A!;CaQmWW~B<#kyq0x@5(=WChPFcwWKt3Z7T+yn^S|fO%di<0P)a z^9r6<@VtWO6+Extc?HiacwWKt3Z7T+yn^QyJg?w+1Vmp4afahUYarui<$O&ue&I z!}A)R*YLcC=QTX9;du?uYj|G6^BSJl@VtiSH9W83c@58NcwWQv8lKniyoTpBJg?z- z4bN+MUc>Vmp4afahUYarui<$O&ue&I!}A)R*YLcC=QTX9;du?uYj|G6^BSJl@VtiS zH9W83c@58NcwWQv8lKniyoTpBJg?z-4bN+MUc>Vmp4afahUYarui<$O&ue&I!}A)R z*YLcC=QTX9;du?uYj|G6^BSJl@VtiSH9W83c@58NcwWQv8lKniyoTpBJg?z-4bN+M zUc>Vmp4afahUYarui<$O&ue&I!}A)R*YLcC=QTX9;du?uYj|G6^BSJl@VtiSH9W83 zc@58NcwWQv8lKniyoTpBJg?z-4bN+MUc>Vmp4afahUYarui<$O&ue&I!}A)R*YLcC z=QTX9;du?uYj|G6^BSJl@VtiSH9W83c@58NcwWQv8lKniyoTpBJg?z-4bN+MUc>Vm zp4afahUYarui<$O&ue&I!}A)R*YLcC=QTX9;du?uYj|G6^BSJl@VtiSH9W83c@58N zcwWQv8lKniyoTpBJg?z-4bN+MUc>Vmp4afahUYarui<$O&ue&I!}A)R*YLcC=QTX9 z;du?uYj|G6^BSJl@VtiSH9W83c@58NcwWQv8lKniyoTpBJg?z-4bN+MUc>Vmp4afa zhUYarui^P)@cc1&{un%eTr@t^dYrt?Wj;ljPf_Mml=&28K1G>NQRY*W`4nY7MVU`g=F^nS^wJ0`qy68zxJ~JwYTl-YWA}JwU_m; zy{v!jW&LX}>tB0W|JtjTQE6%!tFNostCo=}1Np4f*VXJ*2GX&wtJ$jzq_?=Y?4`x# zX|Z`)Y@QaIr^V)Jv3Xi-o)(*@#pY?Td0K3q7MrKV=4r8cT5O&co2SL*X|Z`)Y@QaI zr^V)Jv3Xi-o)(*@#pY?Td0K3q7MrKV=4r8cT5O&co2SL*X|Z`)Y@QaIr^V)Jv3Xi- zo)(*@#pY?Td0K3q7MrKV=4r8cT5O&co2SL*X|Z`)Y@Qa|M?QHU=kh+~lMl7_kx$-7 zK6xMc9(PpE3_n<^jq)K$!<9^8jTYpv(i5d4MtxQ04*3JV2QTDDwbi z9-z#FlzEUc4^rkq$~;J!2PyL)Wgeu=gOquYG7nPbLCQQxnFlHJFl8R5%)^vDOa==QNP{bMfD#k{pUsXpC=UijC)c2$9e@@ ze8#;<|2ab4j!?HF)a?j$J3`%#P`4x0?Fe-{Lfww&?6|Xagt{G}Zbzuw5$bk?x*efz zN2uEo^=<7>-HuSVBh>8(bvr`cj!?HF^z9?m?I?9SO5Ki9x1-eUD0MqZ-HuYXqtxvv zbvsJkj#9Uy)a@vBJ4)S-Qn#bj?I?9SO5Ki9x1-eUD0MqZ-HuYXqtxvvbvsJkj#0N` z)a@8`J4W4(QMY5%?HF}CM%|84w`0`p7!bvs7gj#0N`)a@8`J4W4( zQMY5%?HF}CM%|84w`0`p6=r0wX#YK}SG2$Na`cN@oqR?6?`gftKCiORtL*bC`@E_$ zA8x(MJ`0-P?P)E*5#g<#A^L4llGkaxJtxaxJtxaxK8&1vtC_hZo@R0_gkn zhu)f~Irw7B@9NUqW>msr>vA2nsG01Y(oN`<=+#;mTU1MaOX@aUqzxBo!$sO~kv3eU z4Hq?Ub@_e+$YRUyFId#P)%tzZZva`;yw$pcZ~p=M-_ReTGknXB(7Vtdqd!4^ivA3} zn;K^5J?OpY{pc^y-RK^44*eDS0Qw;M5c)8`w4~%m&O zuyr5h>_-ov2T_w}Q8Qfa6P!dmNW7BR@Ay~@RuQj8{rtB@osZVfx=r-Vc9(D(@#l$8 zCq9GtOyaYM&n7;H_*`Q1c2V)+JO*Wc*(gDh(1YyCQVeuF)~$v*toJoSB1 z^Iz|?g-`u%`o-V|_WvI7jl?$*-%NZ9@mAtniMOGNTQ9f`wf9>L{G6P{z}e|V&7J)% zJK5834_ORmh<(lQB2SE8JCe z{A)gal)BZ#j}iM__KPB(+uZYoMZMw6`W)N$aqRQN`-xv5K0y3i;)BG8h+m`)Un714 zeG7ftsyVe3Vl1{f?=+iM-8577_N&mV(Q)(|^cMEnN_;CZt*Y6vkG+lUoN<~RyBt4# zXi>zr`iVn}BDVDx{=IsFz4zHeOk1`8JMk~s{wre6k@kbcw4r9o>P4C(TOUK8Kt1{| zY8I^CrTMS*CAS_=zh8uhi#!8=5h^aWU*%I@3BSnm@E0NEB2UF%gp-Rr8-Ed6F7kx@ zMVPtBbMhA<=ORzbUxc5FJTre0iZ1fx{6$#0$n*0THIMf1{m80$v~>l_f1!D_w;Ye2 zfS%-5)jZnUR}v2q`z<7knn!#4YT}cL*ARDzyTl=JkN6Z~KMi|P^JuHzLb5pEw~#Cj zdcu_NPtDl6t zsPW}9(hJZSy%4LX(z*woL;ZG)rPc$e z-;S}w+cB1u!}Oje_EO8NUeX(Bt$sVklJbz&1L#5YuvHwku0&U%t5LrlV~Mw8ECqf$ z#!}$7V=M)JJH}Grw__}cqCVDd$5;x!Nqn8ZQH1n%za3*K@Y^w#0>2$&De&7dmIA*W zV@df#?_&loLBA#Fw{=poc^$5>MK&-w=H=h-eP<0loJq;P3TL~?u;%D=4KowrbAgNEoSsNasU z#M?2Jcss_@fZvX>G;k(*HhM0)f&GV3d#WX!YkOMD@?eLgr)tG{S?;Y%kp5COE1#%@RwOlSl0RFqnwXg*7@a6Cn(`M^gHPF=p?!Y^}nzz-(~fGu`J(Z z-HzUg?%;cWfc`i1hv?mWmq*)WRuGn1L0HyV=`FuNeTC05D+tT2IpSZT51_unWLamW z^4hMM78&B?8(0)r{qt!u>HH}4ea?n;v0!?BEFgU7GjU-%i@FUunkSzR$5=MPEn?> z`B~PQg3C8)m$jzgPd&?C)|!Ij0_8svCA^Q{C%ep=!m|92<6pD=QNGchb~$*A_;KRj z(4Nmw&U0)rMVDD+Sk@|o;}_U&qAs(_u&h-E$A{SNcit^)mBFp&=Ql31zOc-i!ZK?L z%OZ@nYaKy#W_4hh)q!PJ2bNhKSQcTt&n+&wy_NV@V%kTZ$JA>htQY!jW46WLw}FHj=qV$g}#Hni@t}xk1nAfQWHNTcbQdyW%121 zEh)Y^J|6W`7MHaOpf+I@U|H_P@etcR(k;uqcpr~<%i^BnHN+j_F0rrDS=K6m_c?{w zSI95Ry;%Pm{UrJ+^l#i^axXsWGsM2uae2Tqmt~RDv1cyJ;-_QJT$V*q$DX+?51dWx znalFPxy0wWJqI`|2hJxRcB>9tKnybnE+oFl+vRFhnp}<5`Tu3jnynY1f2;RkE^AG} z`o-pzRs)$E$lO5Y1~NC0xq-|LWNsjH1DPAh+(70AGB=R9(R%I~D$`_cS|)R&^<1mT z+-OF;N9w-XK;{NAH;}o}jM&>v=B8ybH!YL7X_?FoYr73=yA5P+Aaetm8_3+qFCEgJ zdrsp!2jn;gvCUe8OZNs{4!@6z5x@`lQ8_3*1<_0o1 zkhy`(4P13fy@nLZXk05nVZ05ZuGu0 z?`bkO@^y|)=0@wk{$7*0(fY5y@p)pCxq-}0U@|w5xq-|LWNreJxq-|LWNsjH1DPAh z+(70AGB=R9fy@nLZXk05nH$L5K<1`xGB>Q%Hjuf2%nf92Aaetm8_3*1=0^Ev{UXgq z^&25`1DPAh+(70=?oq$AZ8A5Ixq-|LWNsjH1DPAh+(70AGB;YW)xWQ`TC2(2K;{NA zH(H-nOKN@AYBD!kpS7CIjn-$aCUc|pS*yw1XnoddGB;YEwVKS0oTn5rH;}o3%nf92 zAagTdGB=R9fy@nLZXk1`^;xwcWNsjH1DPAh+{l;uSd+P7eYSzj4P{v%J%mEqxd-GORtsc&KjxiUXkj~8maEA36AH}K0TgKkLS}9 z`1AxmJ%LY8;L{WM^h7>Akxx(L(-ZmhL_YnP?xDCK_*hGK+)F?4=R?v{QH@ZFb*G_J zYpl|*vqd>K#hOb>zk^1m~+2r>OkA;v6l|XHc!K z1|M?{N~+aWsa98||LR)#PD80yTBR?s{blrbsPZ=2{yO?5`WE^Q`Y!q&`aZg3)f$0H z8_-ItR4c7gt+WOoJ8symble4Kj9!RdgzAoaeX4a>sqVO!e$l0=g}p_&?%*Wft0G-V ztb3yr>pEVk?u`mg@>-Zw??RR8U8uoHUJH}zU8qvMVNj|!3`%v~uTvoGfkEf-w7>hnpw~5|?gN9) z*Gb(62A!jmx(^IGFDG>$7<4W!7^Dvj(gz0V1B3K|LHfWTePB>6d_gd%7Ph(%42lnz zN!voGfkFDfAbnsZePAVhV5QeXgO&7wmGps?^nsQ1ftB=umGps?^nsQ1ftB=u zmGps?^nsQ1ftB=umGps?^nsQ1ftB=umGps?^nsQ1ftB=umGps?^noGzzz}_4h(0hx z9~hz!4ABRM=mSIafg$?95Pe{XJ}^Wd7@`jh(Fca;14HzIA^N}&ePD<_Fhn01q7Mww z2ZrbaL-c_m`oIu6vgWikYkNyJPjqX9`&|jespbw%Cp?XW5zPF?%k5IneaicAd66+l| ziXS7^`i|l!(WlU-(S4M&A3cB`L=Rgv-?6SlSD~xXQ{A>&p|gIDEuTlvK+i(YLC-@s zxF$M7)&82lsLnc19e;yQzsVL_TPtpANzGIIz28N@hu(zVg5HX5Lla8Y+d{Q}O00K= zD&CInWS@Y|o^sCkZhj_uE* zFQC6g521(oy)W`hUt`M~=v(O9R?R-7Vv*WP`DfKr>tg!XG!yamtI(^_ar7E=D@to< z-r+rONAGnF+p}nn7AU_?vkdR~OO$@4Ifb`ql~78*(wxFIc@%vNeFFUr`iy^(<`mxl z5c(3^k5TiNiC-c99r3HgzbDq)Y<1M@#CoT#;x~!^K>QZ5-f64t?-2iy_+8>Z5x+;g zK>R-OBJmRO2gD!pi$1byZem@5($1Qjc+2tV3Fsg?gnk@78SS7UdJ6h!^t0$`=;`R0 z=-KGG=y`4>%@ov1V!mVh)ssbj$9AnJi~o-8giqE?L2a&?f)#3Mrr`J@)L!dk=z6l~ zs-r}HA9ba8wMIPrmQ-(ZmfCNx(N+4-O8<^n?=Mz7Li|6W{~jGfH}UCzAlBQQwddEx z)it`h-bd+e&QiV2S?V)rjWRG+yQwwG!#LL4oTa-_z0Fzi9ICfDE7sebrFxsQRBv;Z z+Jmj}HSTS+aS|j+M+2^b1w^6;#S)Xo0?_|pl(4A~C=hrBYVdd9} z4~~D0dTd&w?1Z;GkG_EZ7CnUiTW#I{*C_vBwR>FSE6=5Ro3qqCe@*Zww%9|i2^LX% z$Tcfk=nAy$J$+qzu%`WG$G#R_%0KIC(G~Nb`dW0wSF+Dl=+&s+=B(}4p#PbD{tNoQ zq5nJjf1uw$?a$Y=Jv&>|wkKcH{wMSX^hWe%bSq`jlH!uT<#tqWb5^XkIZF?)=Z9?9 z+nj?nI!~>7o3oT(r}NbD@u=SBtXOY&ln$XEM^8pOXo#L-)!C#oLT8iJBhDI~O;$UB zHGZ43RBv;Z>TS-_uc*&=@D&|=MF(He!B=$f6&-v<2Vc>_S9I_d9ehOxU(vx=bnq1& zvjr0dAvTJ0-3^0!v|ijMrP)xM&Gujt?_I$BeHR$J^VIxYK(PRqWc z)A|`|U(wMSYPGNE=nS>qkJ?vsbZ%PhD>^zit@afiYBt>%9RU(spVS9IjG zT`T*Fj{LS``-+b4lyN=nD>^OvijJ-Yvf5X4bVgh4D>^!(t@afid_@Oe(a~AyE%p^1 zU5R(C)V`vFujnXW>h1Owoxr}LqwJ{FzM`YNsA__*=-?|l_=*m`q7&FxbOKr%U(vx= zbnq1&WjPj-*)g7oxr`fgRkfW_7$DLzM`Xr?fx5qJyvK;43=#ijMM}F3rB8qq&KXn&+tJ*#12F0%~8;2@aw5 z6&+)xM&m+@_V*z*lte z6&+nyqZ;BXI&J%kPTRhsqa3F9r(fYKI&JzDzM_M#=-?|l_=*m`qN7};eyMVmR{M&M zW?TA2_=*m`qNACYx7$~AH2-pJU(wMl%<-$l_7xqio_o7}MMrDsj_oTtT1j_oU(wNe zx?}r_j#kwj+gEh7w(i)zqN5dd$MzK+t+P9}ujpvC-SLO~Qu~SyzM_M#=!jR|Vqek0 zS9Fx~bZlSI5wEQF6&>X^t@afiXyt@afiKG_iWI`S9DwU72TFcpKi;(qAL>mQ;$Ji&HJ8^+E;Y(6o0S9C=ZZ?~`L;w!rNiY~sQi?8SgPqXK9?DIVO0%~8;6$h;L6eMPrzU(s#bS9II<72URdMYnBV(ZyGE@fBTsMYnBV z(QVsTbldh7U2(}J(~|g#F216x%z%0qzM_k-=;}Q6p7s@8d_@;u(ZyGE@fBTsMOWvk z_pz_&;w!p3PaWG=bakFu?JK%EPo?;ZF216Rujt|{y7-DNzM_k-=;AB7_=*r;5#lRC zd_{<_2=Nsmz9Pg|g!qaOUlHOfLVQJtuL$uKA-*ESSA_VA5ML4ED?)rlh_49o6(PPN z#8-s)iV$BB;wwUYMToBm@f9JyBGegrR}kVWLVQJtuLyN+db@o^sB_b5UlHouwAxpM z_=*r;5#lRCd_{<_2=Nsmz9Pg|g!qaOUlHOfLVQJtuL$uKA-*ESSA_VA5ML4ED?)rl zh_49o6(PPN#8-s)iV$BB;wwUYMToBm@f9JyBE(mO_=*r;5#lRCd_{<_2=Nsmz9Pg| zg!qaOUlHOfLVQJtuL$uKA-*CEZc{G`@fBfUUl9h|QTvJzUlHOfLVQJtuL$uKA-*D1 z4)b2^c|S+d{`iUzUlHOfLVQJtuL$uKA-*ESSA?3U_`9A*?JL5-z9Pg|gvyJ4OR;@L zh_49o6(PPN#8-s)iV$BB;wwUYMToBm@f9JyBE(mO_=*r;5#lRCd_{<_2=Nsmz9Pg| zg!qaOUlHOfLVQJtuL$uKA-*ESSA_VA5ML4ED?)rlh_49o6(PPN#8-s)iV$BB;wwUY zMToBm@fD$RylQ8BMToBm@f9JyBE(mO_=*r;5#lRCd_{<_2=Nsmz9Pg|g!qaOUlHOf zLVQJtuL#8}{R{Yt5ML4ED?)rlh_49o6(PPN#8-skm5;Ko2*oR_eMN|`2(|j@*uEmf zSA_VA5ML4ED?)rlh_49o6(PPN#8-s)iV$BB;wwUYMToBm@f9JyBE(mO_=*r;5#lRC zd_{<_2=Ns?d_@mm(Zg5t@D)9LMGs%m!&mh16+L`K4`0#4SM=}|J$ywEU(v%?^zaou zd_@mm(Zg5t@D)9=>)D`(ujq+gj_oUYVwcsvqKB{O;VXLhiXOhAhp*`2D|+~f9=@W7 zujt_`diaVSzM_Y(=;14R_=+CBqKB{O;VXLhiXOhAhp*`2D|+~f9=@W7ujt_`diaVS zzM_Y(=;14Rfqg{}U(v%?^zaoud_@mm(Zg5t@D)9LMUQ+%k9%SN4`0#4SM=}|J$ywEU(v%?^zaoud_@mm(Zg5t@D-=%3a%(PMOR^2^`>;G-nc8h z9-Tz>CK+wfbNHlsdXrSo{0L6b)j`$-P0k!|ZO>b#CRucOZEsPj7NypB4r zqt5H7^E&FhjykWS&g-c2I_kWRI!|ZO>b#yhucyxIsq=d3yq-F*r_SrC^LpyM zo;t6m&g-f3dg{EMI#6g4>b#yhucyxIsq=d3yq-F*r_SrC^LpyMo;t6m&g-f3 zdg{EMIx+6>){rR7y=ZkWuwl4ojPo!;Kp_T4aTVF!I ztQEjhTbqdg<44ab{!i?4r80Y`wyq++`Xlf2b;|#iyv?cd%r5yl^gHPF=p?!Y{Vv}- zLkT}Z??Qi!{sjFg`ZM&Osl(l9hTenvx{Fg=yQt?Z`g1f#@8{EBpu5pM=p6bhe#Ham zgXlx(!~CL>dOpIpSHzDJ*TjzzKhCdsg3_KO_SGP#%3Zrv|CRV@;{QRs58aO*Ko6pa z(buW-o9J8UJLtRUd)DA2?-{H_SD~xXHU4*kF4{vs;Ti^ih5j}AN%U0z*YfSw&-wQT zpGVI?&qB{Z&qL4Ws0-XC0lgyl2HU^M7XIttI`+Aq8g8LJ-({cgp*Nwoptqvi*e7vI z2Dfo+N_;!ZB)aP;ZNlN$)Eu&{7>Zp0PJjYSbqc5PpMGv7b(hjc?zk$AmzKwpsw=Y{)w7q4; zzw`I5IKe8PuWxB{-pS{y&$PenecD%|SD{y<CVqwZcf_v}|DO0Y;@64aAbykh55#W~zfJrO@gIrbCH@of zd&CRG?-MT)FA;x0{2^`ik#(Sju0Z*x296^>9z6m5OSk#J$IwBx451%KPewavh@OIe z+ATKlS@bmYbo5O0Z1h}ogIj4}7>&`3tnx6IOLhN2=YgeKZ5)bI@<%O`KZ5*G%jAzBf7CMhBgh}MO#TS+ zN6MD?yG(-!@<+;+I5znsWlO9kzuvi|ejc?<{-|a0M=kfssAcj;E%(f*W%5TY_s^(h z@<%O`KWdr$QOo3yS|)!4`J@i0$sZ|~@-?Z+A1RmO*yN9tOL1)S>*+rH3X?xlM#aC#w)H3;_mdPKrO#Y~4@<%O`KWdr$QOo3yS|)$gGWnyH$*-#dy(i?40+T-qO#Ub^ z`6I|51txzKnEVmsj{=iF3QYb;8Jj~=lRtv|5#)~olRpYf{wOf{qrl{k0+T-qO#TS+ zN02`XO#Vo@ny*Ps{wOf{qrl{k0+T-qO#Ub^`J=$(j{=iF3QVd<85oF!`gvz`Tl-&vDC`{1N1j0+T-qo<~joC@}e>z~qktlRpYf{wOf{qrl{k0+T-q zO#Ub^`6I|5LH-ExN02{){1N1jAb$k;qqfN(wN3u0ZSqHLlRs*k{1N1j+9rS0rad8l z)V`f9CV$j6`J=YUAGJ;XsLfdh`6I|5LH-ExN02{){1N1jlqphcK>i5wM{ScoYID{= z{s{6%ZIeH0oBUCmmW2FK+vJZRf26$7*A$!lk@7;0P5wxEA;%_vq`Z)0lRr{k$g#;E zwN3u0ZSqIT3pqCVBjtr0oBWaTLXJ)TNO>X0CV!;7kYkfSQeMch$se^%{-|y8N02`n zF!`ealRtv|(SXSx4Ve7VfXN?0{%FADj|NQsXu#x;22Msz{%FADj|NQsXu#x;Ab&Jq z@<#(Ee>7n7M*}8*G+^>a115h2`J(}oKN>LkBgh{?{s{6%kU!Gw^>Te`@<)(Ag8UKW zkCY4A8hqC8D+xa9_mxQhExyFD-&Z2thwhhtP8srl3_hp4pH)x44^HFQ(>V4tjy=uq zItfnW*wZ-nG{5U4_&mpco?}1Hv8QwF=^T4H$DYoyr*rJ-9D6#)p24waaO@czdnU)8 z$+2g0?3o;UCdZ!1v1fAZSsZ&7$DYNpXLIb?9D6p$p3SjmbL`n1dp5_O!?EXZ>^U5J zF2|nBvFCE^xg2{g$DYfv=W^_M9D5$ep2x8pG{W8+Y|se1TKWkwe}hKYtaFL2GZ2H}0aNlg1|4MP8&#x;NA7RvuF`+N_*3DupX z`c!u+Nw=|&o|~cgHjdSEGZf!WydB-iJ~L>>r}waZ7n-x>KH`G-eq#OwWg7i^e@T5F zKp$euuhEjGJT6yEA%bOF6vWd7p+&LQ)U>m#djo7NR5Evek5w;Ye2 zfc~Z1M`Mk3kS#;#$I+9~4jQ7Tpr3X-Xg$Ju8hScF@(VwF^dOx530^N=7LFdq4@w*;C zA4DHQJu4a3ti-M1S;??wC5}BS8P=@Cv7RC&)l;OTdWw`(Pmz-DqvZYQ0rViM`#1IJ z>(uH^^eyxq^j-8ltDiI_J<0p)UR}p4iHC?+5wAu+=h}+8)-%wv&~wo9&{2-k)1tJ` z-=p7PyXO?cnp5bvh`s(^k9xzJS@?Uu%Rb*jZ$fWDZ$-DUk7pLcnpwC6&n$*Dvv9l} zouagz>^V(5L+n|`ux1(Fa~C?xr=DvJYp&t#o@)$iuHl$}O>+&`$}AezT*LYxM?J)L zU-dn#d58C@so~?O=NH48U$~s-_;eq8K2N-#_yytv#J?rhlc2Q!A>!B2H_*4xx6u!% z!?IN~4t+1PjA6|(^j(@|s07U~y!|TlYIGdE2K@&gD?VFqVgIdczm=F4*4?-+=Qg%; z25H{mGI#seiO<$wqV!?$*<0-YhvolW6Z`*R`G3du|HJbCj_v=4<^LVq{}0RmJGTEH zmj8Eb|357M@7Vr-SpMI!{r|B1zhnFVVflZ@_W#53|Bmhdhvokre@LA_vdaHkSD>_; z{J*yxkDh@3rQ1YIww~k`&@90FtRx;HUPb(I;?=|_6R#oe5O;|~Vm-%6C7eQRW)ACq zTkBt=dXAG~J;zD9X%608$H)5hKs0TxHU#EL@z@1Zb5A~!-vIi$7cAj z7%qy6;nxNih{=bfD?hU84OUW<`~uwR1u9>$%C~y#xIkls)g#CSD*0LI6{tCX0pmgp z=VLe@!}%D_>%K?TA%^oYoR8srEVsNz+s*kH&c|>*hVwC;kKud_=VLe@!}%D_$8bJ| z^D&%{;d~6|*hVwC;kCkO|`R07AER)rokKuf*ER*YI&c|}sR&zd9mPrcdV>lnf`54Z}dM3kG zeQM6f$~#%j`54Z}a6S&q`B>NdSk3u3Fz4gIoR8srET`@5=6nq2V>lnf`54Z}a6Z;G zKi<=vj{|c)meaPHLNOVn7|zFVK8Eu#oR9Ss1%IPCAL}U!j?MX)Y*Gy8V>ln{i3*hVwC;kCj<+ndW>9=VLe@>*^ra)0~gtd<^GfJzc?jn)9)q zd*j%gj{|c)R%XeuIUmFMSeYenG3R4tmaOJ{tjv=CDRVxC^D&%{;d~6|V>lnf`B-@* z9i=>y)trx&N7AuyK8EwLvPs@<&d16rIX35GI3Me&3y#hC7|zFVK8EwLt{u|vh4V3- zkKud_=VLe@!}%D_$8bJ|^D&%{;d~6|V>lnf`54Z}a6X3fF`SR#d<^GfI3L6L7|zFV zK8Eu#oR5{~QO)6e4CiCzdA!A(kKuf*Jda~@K8Eu#oR8sr4CiCze7ui2A1m|Y*qo1* z|8Z>2#{=ektmi5?Hs@nKSHZD4AM3daj?MWP&c_4hd<^GfI3L6L7|zGKrbun8Yl^Jq zd@K(yh4V3-kKueQ4xgy)=6o!#t}@|#4CiAwAH(_BoNu+>yT28D`ki05S|^_Oli)(A ze<5_g5V~Io-7kdh7ee<7nE_lVFMlYwP^DUZ-~5I0^@oCsDdA#DxR??yri6HODN$IO1Oj)E}?`=DB%)HxP%fep@d5);Sx%?RP&E(gG)7P z?U8!?xm52+u{z6gsm2g*_l)FHT{S878$YCfgMJ1*ANBZlY4BgsYfgq77N7qXSJg#0k;1TuG&?$5p^;+d+;<5E#&?iu5H!t%$Or!_UgXm#@ zml&z-enW`#7W7s$L1~TlkBEPa{uKRZG(-QzEvfvURZlRLK8orIri%3hQ|WKeXZ(#~ ziM~q|vAXA6CURKUpk1_weggd~^smuRqVB7g=~_aUc0PImdZCpw{xbEGdllQ+U8Xa_ z@mE|!`pHIlu0z2_^$M%|!$$Q7$LQdhp1GD0YO801jcTjQrI!=yJq(Kd{Ev-lF&#^b zjnHBvwActOHbRSy&|)LB*a$5)LW_;G++rgwx7Y|RHbRSy$j5n$TWo|D8==KUXt5Dm zY=jmYp~XgMu@PEqL_Wetxy43ku@PEqgccj2#YSkc5skOnQzNa_EjB`njkMijBN|by zZm|)KqE@%qh(=DUTWo|D8==KUXt5DmY=jmYp~XgMu@O=CiC}~l8==KUXt7bAOED@A z-y4jI!-u5qb)&T5D9@!Br6osc$x+&Hlr|it4M%CiQQB~nHXNl5M`^=R+HjOM9Hk9M zX~R+4aFjM2r42`E!%^CBlr|it4M%CiQQB~nHXP--6r((sVwCnAr9DS!&r#ZQl=d8@ zJx6KJQQC8q_8g@>M`_Pd+H;il9Hl)+Y0pvGbCmWR<+&82JeOjW=TeOFT#8YiOEJoG zDMo4SQJzaN${06FYmd^}W136t3C7gIUz47yemmAO^T$}vAJfW%w|q%`W=wObYo(jS zqA{&JIQHt$n8rl!Gl5=*eh0lCokX{wGw6@dyU-t_KS6(r{tUgFlAYTg(>21@d(mBd zukV{5(+tV#yWGZf)v#;z3)K1DF4}OfRL@XU zT%&rDqGCJlFR9L0xNbdb4>Fj>rLn_s9pS+RwTSn!cn)ODSA7)9n}+pwU3?y&v68`E%$msm}wbGx1}(4%%9>r9!>_Gp1RQ)uZzmEA3-CEB%Y~Y)k2LeEK}c zzJUG~J%sAnpV~)H7nZ((zQz7;qaW}s%T}#UXdkUkI6lFu^IgZbIU}?>p*m=F!s>g7 z$8_zp^&0da*k8}8*Osj=M^`Re^_)fN?dT8q^oQt9bO!yAe^>j*sNKR?+iqd3?GbQ{ z)%7t}*T-00A7gcWOmiuJJ1wcXlw*3k=2DJn8Tmuk|0VPo`ZD?o`aASh^!Mm%=^iRPiW(u2_DQse;xrm%^b!Y02JFxaH` z0b1>*HZfD!6kJQ}nZhP!3Y(ZIY+|OciJ8Ktwr2{P+MX$F@*Cu&_6D2ub~vk@_NKO- z_NKO-_9kWuo0utVVy3W(nZhRhQhmxyVG}cjP0SQFY1CL9Y+|OcN#liM&lEN>I&apv za46WUabb_tBf@5l1rJNFCZ6F__vFpGgU#yxyt(xg)V+GM?qIXt&HfpB4|*?Zo^OWd zn{^k6WAl77Jl`yy`@4KS=4NHQtPi1j+PdOLDEU$JF?1i>_oI3OrS>_99=1Z}&5(IB zWZn#!H;b_#pbpoDJ_f0Ot+f1_4xpY=0g#4>t$q;pV_R+^l|OH4it#!_B&D#PQo!7`R!)(>IEE+9Kjv`IkjJ$Jd~y z+-4}Z8Om*ja+}2^)kj>i`YPJZ;*ypBOMTKuQ4>FHUGXdEtLSU!8|WXLTk z9LGD3;~mHGj^lX8alGR=-fLTk9LGD3;~mHGj;n<) z55{r4<2c@N9Pc=ex3BEbvq4|J_hIR&T37F@RlVhM{R@4V*5@jlerrrE+=p*{IbO&A z3B3~aoVTxk!6o=AkG}o|>-Fd)x&`%h2YubqYrPBoG5Qnqr|8d6^RTab7}Q z_MvVc>h^;*?B7M5$LI&1{q+OqG5Ue?82#Xr=;zSSqi3LJq359Ip~KW6M!(9IZ=l~s z`S0Y1^}omuySC7$HMjdZYxG}>-aa-ZzMXhGYKHd%`{BOMDevj$ zzVvmkur+7PeZ&Q^@7V4`^*&VZYn8zD@fA9K2;YbBefeS6twKH4_eFcF$NIj`R)5z# zrJ4MF-8*PC`TLN+5Bd8#qg}Ge--rBt$lr(jeXR`mQ(vdk=kCBhV?kejSl=Q)EENs( zT^b!!b4G_gqeGw3q0i{hXLRUml|bcamB9K>9D4(LBYHFH5v0!u(q{zeGlKNnKj70J zqB~K$i+kC=UpJJvb$mni*TP~Q%fzn`|Bm=o z;@=a$M*KRlpWxCL$Nby>K>QZ5pXSmR)4ctU#P1USiTFL@1>*OK7m1gMKOpwV)z_Vi zQbw*mBUhi1tIx>QXXNTLa`m;sp!Sp#wt5unGm7;Y#rlk5eMYf9qgbC&tnX(nYtPT3 zr=h2#XQF4L=c4CP^7-fm=!I70)vat%UfuD(ZHJ zk(yABdaLvzwp_ude}{ev-KbWY5YK(oe?VQI3BLthdX;ib6LPTsC{=mV>(K9@*Q1l@ z7SxoOAn!fVN{Q{_CR*P|?d2v~&U;U^{uy=uoDkcs?xhoAyY+tb7pVK~gy?N`@14-B z!SyNm#tPLN-?im&K79gx68#PO6#B2|)9C*|pFy8R_o4gI1E_P_6Qa8HMbz2&3BLth zYHv0{Hhx0fcI=$|gy?M@LRX=yQD1vC!AxgD`3lE>!}iahe%{`M--0e3=2KraJRwiw zJumftq&uoz@+dlv{yq9%(QDCfauolRR(-wy7IYh$xRrEgr1cKA>_DeblVn0Gx>oaK zLU&Jk&spM}xIpBBMSj=s+436t2KpxY2lOq}et1G;w$lFGy*;5jK2-*o`iYp9Pg|DDi`!|_YB(#z=Y(BGr4qi>>bq3@vYqVJ*aqf6+A z{GyMn;kR4T#9#dLUnsspTSQEibDjQ2tDjar$-HKgdCep|pJZMmlB#Z# z%xfl@*Gw|6nUtgUcF&_Hnb%CpQ9JfIKFPdhl6lP}^O{NKHIvM1CYjevGOw9rUNgzO zW|Dc$B=ed{<~5VdYbKf3Ofs*TWL`7Lyk?Sl%_Q@hN#-?^%xfl@*Gw|6nPgrw$-HKg zdCesAnn~t0lgw)-nb%A*ubE_CGs(PWl6lP}^O{NKHIvM1CYjevGOw9rUNgzOW|Dc$ zq(;okgGuH!lNvGA8q8}Znb&OL3Da8`H@EOaXN^*7|1CUWdJ9i<-og`|x9~*gEj-bA zOM6!LmuzYKN%LEHqVpF1yDj{8Tl9Q|hqZmLl_yMZ;R(}Qc*67+o-nTOx zN{OCcaDhIxQ%dyo0;`=;!W9AuPAS1DB`uE*2~H_#Z6~%TOx zN{QyV-o6{%gU+GuR|!rj(UTJVy>?0oPASooV|Q+tkEE%hv zQo^%j60Q3<_Sl_h{%iGko#2!boKn&{!WKKF1gDhXloFg$f>TOxN(oLW(QH?HYPM^& zQ%Z132~H`&DJ5ivlfX_X!6_v;r9}Bg{YIQpf>TOxN(oLW;cACO*T=bJJEeq7auV1n zCGv4<4V+SfQ%VAl-HB@L?RH8DPALiOloDP0X5ER}DJ3|i1gDhXloCB{!bjODC7Qi@ zAN~uRQlfdQxBLtGYt&9DA*Y?-loFg$qAS|G=kqA7jZ;c+N(oLW!6_v;r39yxD0}JO zWv7&ACTq1*N_YxR64)svn$=q0w&IkM6|_H2DZwcvIHd%ql;D&So_Uk-%$o$Kl;D&S zoKk{QN;J<^nVRQXuR-mU5}ZIM z=-E8})pkk=PAS1DC7R)Si=9$}Q%W?$b!?}U;FJ=aQi4-Ta7qbIDZwcvIHd%qlxWWD zqwJItoKk{QN^nXEPAS1DB{-!7r+5=P5i- z;du(rQ+S@j^Aw(^@H~a*DKp;`o~Q6Uh36?ePvLnA&r^7w!t<1wZ_3O!W#*g0^Aw(^ z@H~a*DLhZ%c?!={c%H)Z6rQK>JcZ{eJWt_y3eQt`p2G7Ko~Q6Uh36?V-xQvw@H~a* zDLhZ%c?!={c%H)Z6rQK>JcZ{eJWt_y3eQt`p2G7Ko~Q6Uh36?ePvLnA&r^7w!t)fK zr|>+5=P5i-;du(rQ+S@j^Aw(^@H~a*DLhY^`KItZh36?ePvLnA&r^7w!t)fKr|>+5 z=V@S`r_6j)c%H)Z6rQK>JcZ{eGv5@Rr|>+5=P5i-;du(rQ+S@j^Aw(^@H~a*DLhZ% zc?!={c%H)Z6rQK>JcZ{eJWt_y3eQt`p2G7Ko~Q6Uh36?ePvLnA&r@c;DLhZ%c?!={ zc%H)Z6rQK>JcZ|}@|J2Dc%H)Z6rQK>JcZ{eJWt_y3eQt`p2G7Ko~Q6Uh36?ePvLnA z&r^7w!t)fKr|>+5=P5i-;du(rQ+S@j^Aw(^@H~a*DLhZ%c?!={c%H)Z6rQK>JcZ{e zJWt_y3eQt`p2G7Ko~Q6Uh36?ePvLnA&r^7w!t)fKr|>+5=P5i-;du(rQ+S@j^Aw(^ z@H~a*DLhZ%c?!={c%H)Z6rQK>JcZ{eJWt_y3eQt`p2G7Ko~Q6Uh36?ePvLnA&r^7w z!t)fK-ww}jhv&D$^Y3d;bZ_u|&55>3FDL$@a-QGUoM>yXof*M)j@r(QU^_E{?aTy+dc8wy4J{R$sOHzLPuDKdsOBQ?;b^eDnhJLaTn`v(hi?sLEUyxw;j}N2X)&) z-F8s79n@_Hb=#qT_Re63{!=M++dEAh|Eq*V-lxn_J>QpHQJVlOTiX6ohIf^NA6jS6V zrpQrDk)xPWYhNBrk)xPWYwO$9+TP-xu#+6cP8`lo`u|S)|4wogJL&&B>HjHjyaBfob}{G<{&2J}^xmm~QzWoTd*<(+8$o?gP{Gfob}{G<{&2 zJ}^xmn5GX*(+8&M1Jm?@Y5Kr4ePEhCFijtrrVmWh2d3!*)AWI9`oJ`OV46NKO&^%1 z4@{G%nkG**O`d9+J}^xmn5GX*(+8&M1Jm?@Y5Kr4ePEhCFijtrrVmWh2d3!*)AWI9 z`oJ`OV46NKO&^$63tt{g(+8&M1Jm?@Y5KqnePD(@Fhd`hp%2W^2WIF4GxUKO`oIi* zV1_<0Lm!x-56sX9X6OSm^nn@rzzlt0hCVPuADE#J%+LpB=mRtKff@S141HjRK9J$S zGwPPn2QnPEo?xkeHp78uIPeSyp5ef?a-jZ`;lMNXkgqAeg8iLQ$#CEq4m`twXE^W- z2cF@;GaPt^1J7{a84f(dfoC}I3lHtHJ9C(HU z&v4)w4m`twXE^W-2cF@;GaPt^1J7{a84f(dfoC}I3|*rU#ptt((PtN<&n`xvU3|+f zzGW80OU78fy#iRS#4v$%*^T*NFcVzy-$F^h|s#YN1v>>_4y5wp06 zSzN>{E@BoJF^h|s#YN2GB4%+Bv$%*^T*NFcVip%Mi;I}WMa<$NW>tTEi|TK+lbppx z%;F+uaS^k)h*@03EG}Xe7cq;An8iiR;v!~o5wp06SzN>{E@BoJF^h|s#YN2GB4%+B zv$%*^T*NFcVip%Mi;I}mzjk>ri;I}mzovTPB4%+BIU{w>NS)KpIU}{6GOayxM(UiA zI%lNL8L7oq{nDI~I%lNL8L4w}WjP~t&PbgzQs<1+IU{w>NS!lM=Zw@jBX!P5oikGB zjMOYR}}XQa*YR}}XQa*YR}}XQa*< zsdGl^oRKYR}}XQa*NS!lM=Zw@jBX!P5oikGBjMONS!lM=Zw@jBX!P5oikGBjMO zNS!lM=Zw@jBX!P5oikGBjMONS!lM=Zw@j zBX!P5oikGBjMONS!lM=Zw@jBX!P5oikGB zjMONS!lM=Zw@jBX!P5oikGBjMONS!lM=Zw@jBX!P5oikGB10Jb!M(UiAI%lNL8L4wd z>YR}}XQa*&K0cwWGBtvib61w1d{c>&K0cwWHs0-hJ}ynyEgJTKsR0nZC~ zUcmDLo)_@Efae7~FW`9r&kJ~7!1Ds07x27*=LI}3;CTVh3wU0@^8%h1@VtQM1w1d{ zc>&K0cwWHs0-hJ}ynyEgJTKsR0nZC~UcmDLo)_@Efae7~FW`9r&kJ~7!1Ds07x27* z=LI}3;CTVh3wU0@^8%h1@VtQM1w1d{c>&K0cwWHs0-hJ}ynyEgJTKsR0nZC~UcmDL zo)_@Efae7~FW`9r&kJ~7!1Ds07x27*=LI}3;CTVh3wU0@^8%h1@VtQM1w1d{c>&K0 zcwWHs0-hJ}ynyEgJTKsR0nZC~UcmDLo)_@Efae7~FW`9r&kJ~7!1Ds07x27*=LI}3 z;CTVh3wU0@^8%h1@VtQM1w1d{c>&K0cwWHs0-hJ}ynyEgJTKsR0nZC~UcmDLo)_@E zfae7~FW`9r&kJ~7!1Ds07x27*=LI}3;CTVh3wU0@^8%h1@VtQM1w1d{c>&K0cwWHs z0-hJ}ynyEgJTKsR0nZC~UcmDLo)_@Efae7~FW`9r&kJ~7!1Ds07x27*=LI}3;CTVh z3wU0@^8%h1@VtQM1w1d{c>&K0cwWHs0-hJ}ynyEgJTKsR0nZC~UcmDLo)_@Efae7~ zFW`9r&kJ~7!1Ds07x27*=LI}3;CTVh3wU0@^8%h1@VtQM1w1d{c>&K0cwWHs0-hJ} zynyEgJTKsR0nhJ;=l8?&`{DU+=2pAezMHw#Zsu0InOp56RR(Vp%?Ij4_wX4(k~{hVL&M--x-4o0=L{ z)6?|y;LvDvC3|*Q#$#fG?yRi-BO_zM=EE3EtyXtAt**+-!a@ky?0~`Yf?KWXEZb;u zVWO~FtyXt=XP0jwBN;H@Szph6o*(}_@kUlw_UTjadFppgp2}B8yz;-yd~KQe+A{OC zW#((k%-5Dnp06!4Ut4Crw#^R;E>Ys<{nmYJ_DGhbUSd+lzS`Pwq`wPogO z%goo7nXfG~Ut3oDb*9>H^?Yra`Pwq`wPogO%goo7nXfG~Ut4Crw#^R;E> zYs<{nmYJ_DGhbU)&g?HQD_g8y`Cn$fw#^R;E>Ys<{nmYJ_DGhbU~zP7B~ zP&=8gEnnu9{}ZhGp5Xia1fSyxKF1TR`kvr(Ji+I9g3s{;pW_KW#}j;xC-@vs@Hw8~ zb3DPS?+I3YPq6BHf>qxWtooi{)%OIez9+N}aBKO5S{O;a@_#}tJTCRh{|Y&nYq;(f8D z|CZ~`_VsH)>wV~9)OE%CCD#@2mt0r8FShjGbzSkk*wX5{;(f8D)%8F7VoR&*fA+hZc)#qr;{CGgiuXm2 zR@W8pmtFs}uTkmP^*{UNdr&_^x?lEhIr|!|e)WEi`?r~Wja(o38nNqt_RFqh*cVCq ze0p9C>G&l282WA0b;bJ{?|#?!c-Lu;pFz)}uK(E=F!voB)w|L)(W^~H)-*A?%J z52fNmseD7%tdON5Lw!b~J|EwS?m~B?d(izTy&d8Oak`G}ur*w;9<=CtHd)OE%CA~&n+iudJU`j13wK649oUGYBkKl}1D$F3{h zm$Nx`UGcvB&9Un$_vLbqFA%$~c%S;8eL0@vOB{ci_!q>kE8eI6XI~!Z_}3hFUGYBk zKl}1S$Nnv3U%co4=y|Jn&$4v}5lp=*z1ed#^%YM5p$P=&ZPwh|cj1 zsJ|2YIALE-sCUVw{Vwm;Sd||}(wArrc9rkMRn4rQQ0#k}t8zTYe@gs8^v}@=^h3P* z7sReBzA7g?EVK}5ykBCK`k$-R|6Ha1=W6*fALlpAt7Y#*T`j*5 zeUYyq2eZBmy#l2-$~!pcuhIX4x~}-Dyv6Ffv8&}J)OE#I8NiS9yOSA13TN9*7Cnw7sr{}cLm=-;CsLw)aK zwc`CVtCdfopF!_L??UfJ_j65pQoiKtFQTq1zN&A3>jq~&$8pycU)4CZZbSL+G){fw za@2LjS2a$pFGXLDUWs0XUX5O3)o9X)&}g#y8)sFc$!Zc<)h}MvhReoEe<}R{@rRZ3 zIb4y$6**jy!xcGPk;4@^T#>^SIb4y$6**jy!xg!nuX3NRX0FKLiX5)U;ffrt$l;0{ zuE^nv9InXWiX5)U;ffrt$n{i~Cv-J)MGjZwa77MRQ^SIb4y$6**jy!xcGPk;4@^T#>^SIb4y$6**jyYc)yN)M}E|T#;+-$ZD?0;ffrt z$hA_W7Qz)dT#>^SIb4y$6**jySIiYTT#>^SIb4y$6}eW2^gn7{$ZD?0;ffrt$l;0{ zuE;e@@~b~^AHo$mT#>^SIb4y$6**jy!xcGPkyp$WIb4y$6**jyYd+=Uzu=nYiX5)U z;ffrt$Th?A@!xWexgv)va=0RgD{{CZhbwZeBkBKzD{{CZ*E*7qm@9I)BHwPV$hVs- z^6ln|Tx&#Db45;F@m#<3cWkc6sVknt6**jy!xgz^e34!?SLAR-4p-!GMGjZwa77MR z8x zO6H1zobU;$xniI><0+}RVgOeR`z!d|yVgOeRw4(0g z=86GaF({cU2CSbC;EDlUF@P%uav{HJt{BLLtp9^n{ZG_fF@P%uaK!+w7{C<+xMBcT z4B(1^986b$D+X}IKn~_3=86GaF({iW2GkWF$a#F+--ZLYVgOeRxN;EDlU zF@P%uaK!+w7{C<+xMHBubiDj1zeRnN-=aQR{=fCVKgw@WAFVv$nBSs4T3J`D-#}`= z&13RRtA8W;IPZO&_dd>hALqS~^WMjK@8i7p+r0PNy!YF@_mu9+U0Xh-J7v~SqPL@W zpso#mN_WbvtLOlAJ@Zq#Yh%^#Q>CsAeoFUWtga1yN_SqYt_^-l_cE;CM}LU^7aDH~eoAZgR@VkEY9oLl}iiNi*W49rG@H6SY5fapmJ$J<dK{sszz8{xwN2iX+h=Eg36@@l}iiJ+Frft z%B6*9&9N(&7NRxBu3TDZ70CaEE0-2xHpi}9T8P{nyJmGEesk=~r3IBs3o4fuR4y&3 zTv|}Mv?#f9X+h=Eg36^u$(2hBDwh@|S1v8eu3TD_U9-9R~FE7OH6B*p*8Q zDwh`9UAeT-^QNq>Tv|}Mv{3yD$F5vjsAh%Ll}igMmljkmEvQ^tP`R|Aa%n;3(t^sR z1(iz+Dwh^iE-k2BT2Q&P(D&nwZd3SMXioatwVO64B2@yWar6HGx|Ws{oDK@ zJ5Pq}JQ=d{WXR5wAv;fo>^vEk4sspeHyoDyOT%Hwd;W(d?<5?Syvj5b4_m*C9z*X( zo#8`~u=N}0L+EkzVbp{$War6{ohL(fo($P}GGyn;P;T!l*eix|d+T>lv*l3aZ1sxV z5ON-hoE@7+h9YOHpQ12i=gE+rC&SV|bL4-aKd`d%WGFUv{9@Ff=8&ByLvga>D^P!% z57~J#l(#$neU85#^}J@t&Xb{L_kPtxG}P?gvG@EB*?BT7k8{3%(LZG8$*}xU;#*Na zMPbO!lVRDbRYP&O)lX3vvh!rf&XXZKPloI~8M5L@%`VS7~blqC=A(oGE^`6I;S~KKeO{>$j+0Y*xu*U=OTQ^^t?FV zvG@EB*?BUA`G;bDAHRS;h5j79i25lCL-D+o{)g&^>^vFD!*yJQZ~ZgWbGIRcKZNjy z5dKhv@8dgBKSg24&Xb`C-?5*fFl6V+kew$(QM!-Mq4YL8Plh6PA74Nj3-WONN9;Tq z%E=x71F!lUbI8taSc{0?>gJVB$YRJx$Av;fo>^vE=^JK`*lOa1# zhU`2Uvh!rf&XXZKPloI~8M5Lpi)0SPpN!9`zFihjMtUpEosR=gE+rCqudY|Dhv(io*Bg!+Xo$ z)8}aQ6LL;-XZbY8PqRzpGj(h_BBzimQT_S6m1z7DHYwQqM z6J0xg%*qadHFgNBi7kC(9(9JVu|r^u9Rh3Y5LgqZ`M7@{x+a=ZtoB>`sCS91u|r@@ zIq7q}F0sZAfi-prtg%C2jU57OVhq3Pk-o+bfi-prtg%C2jU57O>=0OEhrpUXSzVJI z0&DCLSYwC48ao8m*degS4uLgx2&}O~U`^k`H*T;X zIj~L+tdj%lx99Sm@*2#f&a$ubtSSJV8$$@opV4WOTCkNKafpv0V zog7#v2iD1fb#h>x99Sm@*2#f&a$ubtSSJV8$$@opV4WOTCkNKafpv1=EIDwN95_o3 zoFxa&k^^VSfwSbmS#sbkIdGO7I7<$kB?r!u182#Bv*f^8a^NgEaF!f6OAeeR2hNfM zXUT!H$boa@z&Uc@964}~95_b~oFfO$kpt(*fpg@*Idb3}IdF~~I7begBL_CgflYE? zlN{J22R6xpO>$t99M~iWHpziaa$u7j*dzxw$$?FBV3Qo!BnLLhflYE?lN{J22R6xp zO>$t99M~iWHpziaa$u7j*dzxw$$?FBV3Qo!BnLLhflYE?lN{J22R6xpO>$t99M~iW zHpziaa$u7j*dzxw$$?FBV3Qo!BnLLhflYE?lN{J22R6xpO>$t99M~iWHpziaa$u7j z*dzzG$bl_#V2d2sA_um}fh}@iiyY7#UGvQ?a$t)b*dhnE$bl_#V2d2sA_um}fh}@i ziyYV@2e!z8EplLs9M~cUw#b1ka$t)b7-`Pv!oCyq2*w7OdI zh&r?*ttB2;>^ig~>d=mq8?RC9dgCKyh~Miq!;vz?>NUfWGQ{dN!;xlxzNYJqk4g*Z zBHBXlLGML-{9V_f9Z`pNL><}@b!bP_p&e0&c0?W85p`%s)S(?whjyeDMYq;Z0vTyV z(dy@cjI^TY_PY-4NGpm~*P$J0MbYXyv?JaBwYm=Nh&r?*<+j`JdgCKyxMSBFA1Tir zKThnLJ|oR5t*$pd(#oNAjVrqj?T9+GBkItOs6#u_nxR|u6zaMaqter;>(Gw0W+>Gx zQr9WF-uOtfNXM=>KGH1GvFp%|s6#u_Jz}+)I}Os65WQTd=n#O9!9nI2FbocBFZwu0S2y z5p`%s)S(?whjv6A+7WeVM_Lus6*On``L07ds{YvwR_)Y#a!bdqH$IYQI(EJBk(|@9>y3}(pN?H`d?Xij?0VxP zd8uR98z0G09lPH6NWSXW^~OhXSI4e5K9a{ecD?bDoYt}HjgP29JE9Klh&r?*>d=m; zLp!1l?T9+GBkItOv}&h5(W;&GMeYIW(2g_{bnH5`qwTIkJJLFy<12_=hjyfyppUx_ z?MS~taO^s?qwTLEb{*Q0euLoSuR&jnx(@AVyX%dQs6#uV4(&+ypw*w$p&e0&cBFgI zKH@sGBh3NjsG0*>U2lA(RX(fh(2nHBx*BVJBe}6-ul0@eO(7T6THmeZC*{doQr8=Q zQs2uy;Aplugu+XdQofwoX7=OXR7NP8~Qo{MUa-mCU(l`nD4OI-63*Sy3vFLBLFT=Npw zyu>vxam`Cy^Agv*#5FH*%}c)Kwr&0|q^d+9)r?Q7iagQ}=t#vqEY+Hc^gYk}i2ft# zU;V50*ZQwZuSG>5+baI+Qaw>wswXN-A4Ih}p;)UEQq4xCnvHI&xQC_Jp{il8_tpDERfgjD-8rCNWMYUhCTPl>fIr})p&2~_(ibmT9H zwU0uv_EAW+KU1oG6jJS@kZK==RQo8T4|2ZtQ7G0v3h6_r_Gc=77}Y)s#o9+9)&5MW z_EAW+QXzc;UE_%MXX=RdQAo9qLaKcfQthLVY9EDE>lM-;qCZBpGhy2cypKYvH7=>v zxTG&cwU0uv_Ge19KU1oG6jFMlyn}Q88vQS*_EG3n-Tjx|%aJ8i`zUlo`zWORk6Mp) zd;--z3dPDy>1pCK=vh?zD0F-a{atI%6Kj8_j%$rY`g8OmM=qhi;>a`TZ_#J1-bW$T z`kquf4WwFg+x7yjvMTl}tCUaHtE`IoOufpg_$JQTiS9zRk3z?_k3#x4ob$J+_EG4_ z-=Tkxehk$LhK_6PLaLQ3>1WV8(Yw&QQSGD9tMsJzQ7B$SwU0uv_Gd~rIP*Dv{I&zIw4zCd*hqr2frc~>4 zQti)_YJa9w`!l85pDEQoifvWKQI&C2WgJx*M^(mAm2p&M996v^N$0z_t0j-4s`n#F z-RD(#!YQf8QI&C2WgJx*M^(mAm2p&M996v^NoRT-RT)QB??+PXOsjf7lGNj<$~dYr zj;f5KD&wf?{YZM%!sLD91GLEW@qpJ5K>3nBqm2p&M990=dRmM@( z`;qjj$5EAWRAn4h8AnydQPumA^s2{E)%%g8{`9MiqpJ5KDfT$3GLEW@qblR5$~da( zUWQ-&E@yfiRlOfc>Ty&pdmL36M^)dOQ0#G3)x8O;$5EAWRP}x&#U4jh??;k)996v^ zN$PP_WgJx*M^(mAm2p&M990=dRmM@3aa3g-RT)QB#!=P#k+xO6A4%$QRAn4h8Any` zN750GqblR5>itNHJ&vm0k0kXtsxpqMjH9aeBk738QPumAq#j3A#!;1VRAn4h^{t`o zVjNW&M^*1f(h-lND&wfiII1#^s*Iy5bp{^?<48!O4muRC4K|?cJ!U7?hEKu zjaI4dqDplaRr)wh`9KS6aDRk8d{s<9>&p-J^Dda0`RNOc!gs=KIC)u52-S@cpp zi(aZ{(M$C#dg*6*??F^+syd=ON75F0532719XX1A89j#Hk3N8Y9sLIS5PBSa7}Z@= zU162KsAthD);=uhw|Vsx`j2RV{&(~{s78d&{3lf3n~L?lDP2R?QF*D3=w6<5gg%M> zGy1>KA6R`CRjPYH(ifwAM!t)xBQHa*K(&IQBmbUQcTpApKJn{O-9^_ zQKhc}$Uf)O=mAvEqSp~U(^{HvPQPr~4?@Ga;mWB61sFe;L(XRK+XkNmO@Hb%dVxT~x)VIZi+OE~<{u z+j1nw^tpV=F+DGLa;&?kQaw3M`csaaM=zjqDjokhdJ(;3^<7jc{ckU-{INbswZV5$ zrT+o_GgRL=Izs;2mlXdcdK0=6-G$QUzKg1JbQe{63-La5KRSof+rEpca~KQ0i>i1L z)m>D@Um@0ARK@>5tW^cYUnAD4f?`I2=vt%LcTuIfiz?M!RH>dtFV$UCsjBu!wcB5+ zsy$NOMV0C-HAD>gpjd>hj$jn$bpMy8EzcczVPcczVb4PUDJxl;Y2 zR{B1xX2;g|Ydnr=2I}|taJgJcc~T=!YL_`rYUD|sJgJi>b@HT6p47>cI(bqjPwM1Jojj?NCw20q zPM*}slR9})Cr|3+Nu4~YlP7iZq)wjH$&)&HQYTO9f}kCJgJi>b@HT6p47>cI(bqjPwM1Jojj?NCw20qPM*}slR9})Cr|3+Nu4~YlP7iZ zq)wjH$&)&HQYTO9f}kCJgJi>b@HT6p47>cI(bqj zPwM1Jojj?NCw20qPM*}slR9})Cr|3+Nu4~YlP7iZq)wjH$&)&HQYTO9wD1a(Dzw2H@Q~&VPbpK4&R@Z`kWo) z*bc70gX`}oeS+hkL~lp$KuxDRe1BHDiVo1ntmMNE@?l4rE0j%BJIZ#m9lk#+{VMt( z>NfA-lilI_vy~nCbgX^U<8+7b$x45S{uuo!`ZLrdxubFseH#5G`V9IT^jRzYzk~kY zLI3Zd|97bWpQ!9m|KBLRk$CK1Pbt<89I1P32cNB(HcpR?>we`{ zWxV7b8!x%X#!K$8ae8c=9vk-^Z5?rsjniY}^w>B(HcpR?(_`cG*f>2l?mOB#-#s=? zkB!q~#_6$f-^Et!9vk;vY^i%}+;_1n zB(HcpR?U*;Ygr^m+Wv2l8Af*zZo$0q2p33_aT9-E-YCg`yV zdTfFoo1n)g=&=cUY=Rz}pvNZYu?c!?f*zZo$0q2p33_aT9-E-YCg`yVdTfFoo1n)g z=&=cUY=Rz}pvNZYu?c!?f*zZo$0q2p33_aT9-E-YCg`yVdTfFoo1n)g=&=cUY=Rz} zpvNZYu?c!?f*zZo$0q2pNqTIO9-E}cCh4(BdTf#&o217k>9I+AY?29I+AY?29I+AY?2n!Y>FP6qQ|D_u_=0NiXNMy$EN79DSB**9-E@ars%OLdTfdw zo1(|2=&>n!Y>FP6qQ|D_u_=0NiXNMy$EN79DSB**9-E@ars%OLdTfdwo1(|2=&>n! zY>FP6qQ|D_u_=0NiXNMy$EN79DSB**9-E@ars%OLdTfdwyUBNLDmSUe_DcUsBmE}d zwUO$sjZ}ASDmVGAjZ}ASq`GS()mF0Q$YYwqHj zySU~quDOeA?&6xex#n)JxtnY5=9;^?=5DUJn``don!CB?ZmzkTYwqTnySe6WuDOS6 z?%|qyxaJH1|9QhM{Kkn5onp>qG64~x8O%dx?9*TEy&L_}MqPL@Wpr1lNjrPzlp!cDN z(J!J$&@Z81=E}#=`_Tu`ukd&EBpm(Se?av-9K~O!Ro_4#LXV>lqu=7akD%IXq4Q6m zeg4)enxg~sQS>qNaa4OP^e*kPkZOO0R68rAo_p@qP8hf0DfA-xH2O>Q8LQR+)o)tW zx4sO$0(}Lqz7l;E>Y4RkNO&(KycZJQ>tE05__gR8{dcun#`+fYZRk5t&nWk5g;1Yn z`D4T%C+0KK^Amjh4*u4sX@hn*>B#5M&!gJKp(AtX0nVA{T?f$xbP>G=?Q%{JJ;ssy z(XXIiMZbnVh<+V?i0eO$ev|e*f}Y?yC(%`o4A93oQ@fSawo~*&feyLa_t4Y4dWQF& zMbDvI=#!jtp7;WKk@GL1|H5DS-&U;<>XX{`0^+Jweye_~Fd}qULT%7p39Ft8BGs-W z=^peybNi2F^{nD+nmv6njy8rSS z#isYYy8rT-%FVjxa;x;!`YShcXXIwx6WLO{3)LM-#hyvstS7NZS>eB#wf&p@Y+fC) z)84GnYW*mBEBbNNt8+JNeOt*%Cobyr6xs`Kn<(ykN=T^?Sm2+<8 zoZC3(HqNmqv1f?WCC?D2VbN*tXjQBotmN_Urm?pLl2{0M7?e{UHTIGWme>xo8Ie^X3rRm!S;ty1l4m9BA}b#w#WM4g}0TAR{2 z`o4CoJ*(1}5Npq>;+GL$f%=}^w6fj$2KR|}vHD$aBK||-Hxs{w_^rfmBYr#aJBZ&& z?988Ly=z)-pii?r&R_I5%d}RythaII$2im9FVoB#ruCh!|5xi^KIhZCs;5~hzLWDm zM|>CY=ZWto-bcKjc#il0I?vU-K0M7#WV-D82-D?zQ0<0Q+~rK|hE?1nKE|u}qrQ7J zt(7;w>hGy(JwwUrZ>#C@*HJ$4GM}|p=X@rguh!@spX8d4(zeHlA1BsRs`RSw9!@hG zn%1+Ge9hAwH>XYO?xD{ytxfChp<^@KwC)}{Hn~mf?xEu+>BIBH7to97C94=f$~3*M&`+ncF{Lt!q zeADtn>o@%W>YLr?94Dr)D*ui6n;icZF=M2%OiUlL-Z;&A<237y)2ug6v)(wZ?*e6x zc)KdLon6>p#SGB8Fs$I2G?W&dj zzWZ5wYyB5rPy7brHxj>z_z#KSO#Bw&w-UdN`0d2+AbuzDyZu?{yV!a?dV^JW6<;sC z4!s_IA9@4&NBTya*0+h(-)__T9*in8d`HaaJL0%v&(~)39nqKWBDQbOl$mt@diI6lW%LBv z=T$rQ3|>8hOV7xS{jPO%1KmVNR{5~i^QIYjuhsLW89A-4uNjc_E$G|OccAY=uj9;* z5r3T6J~<j+j6BNf*~*OE$?Dn4Oxd%Q8SS>RUb4!a zr1;W|9Le!cluudn5g*xudJZzf9At($$c&uFM;>xZG;6Txi6v4#HO(3ve~)u$iJsV| z*6LYpR(rw>ZZLxn%-{esjQtr#{S4!MhLJwQ7@uKu&uDb}?>=wU=(cV{`Cl};edKbq zikk3eAp98!e@6HBedH?Cgg>KwQ`SFlo3+>7`X=9KU@QlW<$$pq zXe{5WGtFRu_Cs3DV1dT6)eIJBEL+WBfyT1c3>K99{Ss&_TmAhKXfEUb)C?BDU;(R| z0pmJ=!2(8i0D}cESO9|sFjxSC1se6fni(w6ii*_?7QkQu3>Ls(0Sp%CUZHve1`Ff^ zKGO^qz+eFk7QkQu3>L^Ae2y6`kV`l=g9T+XSWq^D1!Xf>P&R`FWiwa+g9R{H0D}d( z+vvY*1`A-YKL^?e2y6`(CUg~GgzQsAvrdK1!Xf>P&R`F zT5oY|S_oJN4)C7<1`BYZ02c~$f75@(3>N4vr(-jiD*O2p!IuJjDS*KO7%ae}0vIg7 zsRB8b-^FJQg9R{H0D}cESWq^D>FH&hX$A}QizL6x45sG?@E7f70Sp%ScS(xRaE=)) zfWZP7EP%lR7%YIn0vIfi%lVpSus|+nHG>5(nD*EB`gmOcg9R{H0D}cufzg?AJgXTj z&>dU-T^KBY!2%d8fWZP7EYLk%pR>sMX0QMT3t+GS1`A-Y00s+Sut09<>zly>d8T7C zSRm(gYz7PDpN_qUB!IyJ7%YIn0vIfiyDD>FumA=N@YsNL`v9j6SiKMM+kiFv0M`v* zumJB3V6XrO4q&hV9}Zx!05=X`umDdEV6XsZ4q&hVe-2=<0GAG6us|-Y{{jXJV6b4j z87z=XTg_m>b~9L@JJ;$-7%YIn0y(yio52G4wqr9`Aoq4`1`Fijj?G{J3>N6_wqr9` zpnKeo&0qlx7QkQu3>Ls(0Sp$vV1b<9?=pi0@_)x>ut2|fa%=_*^t&g=X0SlNesXLE z3$~lV0pNu0Sp#sXV>d>#0(Z_XP4Cs7QkQu3>Ls(4Zb59Fjzz1 z5yvYH7_0$SVKQA zHDIs?4A#Kw8hBj;e{0}u4H&EegEe5V1`O7K!5VTfU*E3PfWaCtSVKj(iLE^1`O7a7x@VP5e(LV!5T1F0|slrU=0|o z0fRN<5`NbfY6ffI3=KS?fg3dNfd&rHVC**-^$o^*gOT1~j5iqF4H&EegEe5VhDNvk zibl894Ay|b8XDb>&0q}}tf8^&*bLUt__dnB8ZcM`25Z1z4H&GU(WidaxU-tU8X9X> zGgw1o&1wc~XsjKtgfLhLgM~0y2!n+%SO|lKFj&a=3SqENLy* zAq*D6U?B_^!eAi`7M8pY7Q$d*$qW|4U}4D&7Q$d53>Ly*Aq*D6U?F2UWGsh_<&d!) zGL}Qea>!T?HJ05@Ggt_Ng)msCvFsyeuux;!Y6c56maS&65C#ijun-0dVXzPe3mMTN z3>Gr3Ll`V%bcZll2!n+%SO|lKFjxqKg)mqMgM~0y2!n+%SO|lKFjxqKg)mqMgM~0y z2!n+%SO|lKFjxqKg)mqMgM~0y2!n+%SO|lKFjxqKg)mqMgM~0y2!n+%SO|lKFjy#8 z(I;O1ghoe*w}fRgSO|lKFj!bNgM~0y2!n+%SO|lKFjxqKg)mqMgM~0yi2sBzScnUS zxKId#g)mqMgM~0y2!nwLKrNB!9o}; zgu%kH87zdsLKrNB!9v_Dguy}>EQG;A*1EQG;A z7%YUrLcA`7!9o};guy}>EQG;A7%YUrLKrNB!9o};guy}>EQG;A7%XHREQG;A7%YUr zLKrNB!9o};guy}>EQG;A7%YUrLKrNB!9o};guy}>EQG;A7%Y^#Dsy145C#ijun-0d zaoP|D3-Q|!1`BcB5C#kJ-Vg>0ao`XJ3-RF)1`BcH5C#kJEQG;A7%YUrLKrNRZ~GiGSSa^)Yz7PE;f~E< zAq*D6U?B_^!eAi`7Q$d53>Ly*Aq*D6U?B_^!eAi`7Q$d53>Ly*Aq*D6U?B_^!eAi` z7V3M!Eir?I`d+Yl9V~>wLKrNB!9o};guy}>EQG;A7%YUrLKv*ccSI8gYwA1Vc%=!0 zHDRzOzTL#PoA`DU-)`dDO?DFjx}?Yr zn!%bdSW{!!u^FtX@oP1MHDRzO4Az9fnlM-s25Z7#O&F}Hv8K$_So6EgU`-gT34_gw z!L};1`u*Trq;J=&v)Xs`Bk6lJLT9!6=rvN`8J{iP@cbp|pK$(%Q1AGi)%fzOpWq6g zL~lp$KtF|k8a>GM7tlqth2DeSiyq?dE}?C-gMOL6o(-)O(?4#YpNOjZMe?jAk`L9lwPpXs^ktj4cn&sAqNiXD5dI;*kl*mKocjcCXA$ytqS$KI+ay%pUD&?%6Ht$z`-+xxmTy^{)%4Z~(@Hxx8$|oZJ@tG$%{wROZ z_jYH+Kkk8V6BqR7kn5c0$QtiDL+pDBv+@(a%d^^9xr$@YZD-{zjz{#E_XW+$VSL2* zwr1rpR^QK>mBUE&3qiG64&!(yx(nTn?m_qY%JLbXGe=DShJvp5b^v|M#Ox zgfmAtbA&TTICF$EM>unYGeuwKGSW5nJudk$A~!XO3{@2xpFP=19Ec<96mq zykxaAN8%-`ojDROS?$ab&K%*)k$%nX7TTF3@sicf9Eq2#cIF6Yj&SA(XO3{@2xpE& zP(H`b9BB`&`W9!7aOMbSj&SA(XO3{@2xpFP<_KqwaOMbSj&SA(XO3{@2xpFP<_Kqw zG?P`oX(ns6GeBk`MKJ9C6HM>unYGe_b#zsjeBGpl|tN9@cI&KzlG z>c41bj&SA(XO6TR*}ZCKjzo8U)y}MEyAs=(Bb+(HnIoJz!kHtSIl`GEv7h_I&K%*) z5zZXp%z8GDkK@b{&K%*)k=W12ccXUZNV8G>MVvXpnImzakK36eoH@doBb+(XK5Dfe zXO3{@Nc*UL#LgVy%n{BU;mi@v9El!%O*?ahGeunYGeunYGe`R6wR%;*ytdkzBR#*`YG;o0%WJEhInpn$t#;-}zr40SM+@!D z5zZXp%#p~`N9@cI&K!w69ov~BoH@doBb+(HnIoJz!kHrxsn54FN8(b)cIHTQ>e$X4 ziBTQfnIoJz!kHt@D}BVy9BE#u-ou$AoH-KB`dxPBNKEV4&K%*)5zZXp%n{BU;mi@v z9O29n&K%*)5zZWmdzDu>b0qq8Y-f(dz>0C^2xpFP=1B8R{au_n!kHtSIl9cw9OKL} z&K%>+G0q(0%rVX!+G0q(0%rVX!+G0q(0%rVX! z+G0q(0%rVX!+G0q(0%rVX!+ zG0q(0%rVX!+G0q(0%rVX!+G0q(0%rVX!+G0q(0%rVX!+G0q(0%rVX!+G0q(0 z%rVX!+G0q(0%rVX!+G0q(0%rVX!+G0q&r%rVX!+G0q(0%rVX!+ zG0q(0%rVX!+G0q(0%rVX!+G0q(0%rVX!+G0q(0%rVX!+G0q(0%rVX!kT@#fOA0H?Q8!tNZly!s{ygN~&2P zeYHN*ecaXBr|$yCdN!K$2DN0L?p67S?_ccWUe&(R?Znwy&ioZdIS1L&;PMreZRhu_vtfrJm!|DhkfM3iud~|kr|kppw&z#KU+M-I%9 z19K(kz#KU+$NkDVa$t@em?H<~$bmU>V2&J^BM0WlfjRC*&5;9hW#_;gcZ=ru4e1;? zFh>r|kppw&z#KU+$L~q!xHB@xJ&`$bV2&J^BM0WlfjM$ujvSaH2j<9uIdWi*9GD{q z=E#9Leos2L-8nEv4$P4QbLwIBn0nai9GLU7%B9YMIdWi*9GD{q=E#8q>gQ`K2grc~ z{6_KsIdFg+I6w{@AO{YR0|&@~1LVK~a^L_taDW^*Kn@%r2M&+}2grc~LqA~~=~4lI%bi{!u} zIj~3$ERq9@sM&ce?|WR{VMA3k(TC+KIa?gL+EkzVbrU6E#{0Z=8P@o zj4kD@Tb}cG2gHvOKSumGu~&*(+zD-QC$z<#&=z+>Tcw}ThNn%&1|i*pV`$azZU&H^o{5rqP|np zD!&bV2l_75&w^`dBwGKPBVONY`FX8UK0Dok)u&UwgLC|Qgcftj7PH6}^T!r5#};$O zmgbB;XWqS3KFE6)h!=_PLH*l=R@uKzXlcCr%=Q&7vt=@6h;%;wC^Ge76+1IIj z9Q};1P`MMm3%wiluDq7!n^v!Qw=~DJF7avy^?GTm(nIe;7PHP4 z^UYS}5ssfghqUDTwEqY0D|xB^mmd-TnD{5eKP5g-{4?SU#7`0bocJQ~CE}-ve?k09 z;$IOzL;P#v-w^+n_*vqAA%2ek*T2YUaVNU9-FKo}+=*^!*6G-HqFb7ETK|pzi|zjw z^&QWaW}ViTqgSF=p;x2VpuW%2Vz$^~p4eiB*kW$jVpiBDxi7 zd7qUdn)f;W-Emx0zgfOkN8YbzS+w+LQIANtO!GRMTIKhDveMd)n)efBKJKAaoPD*y*1P4w^cHl%iOssa` zq+|z9N_OBx>vG4XcHjgDPH^A^2Tn?M;G|>+PD*y*q+|z9aNq<7PPA(0_u7FIt=d`b zzzGhV;J^tEoZ!F-4xES|+)g`iB8qTq2Ts_FlHkAz4xHe?2@ag#z=@uB;g;Be6C5~E zwP?q7-~ ze+lb;2@agF)|ar#mxzVj2IonF11DuWaDoFTIB(6C60fffF1!!GRMTIKhDv95}&&6F+lX z@3jLb6+3WJu>&Vs_fxBI-~;G|*)PAYcbq+$n7 zaNq<7PH^A^2ToY!OT@AIzr?ZXEA8Y_U*W(B4xET-ecTS5h-@9(ffMnqV>@sn%5`i9 zPQ<#7?ZAnM*RdTq5%)T_11F+i$9CXE4D8qroQQ-S+kq4I0wwGPN^sx=2TpL{1P4xV z-~MdgTb@V(tEU)a!AC!UwS>qRXaejpZ0J_{(PVGL+DMYpSyBMZfuS8-yM=C`)Z#= zZ%6MyKZSl8^>4Bc$(eo4FQE6KhtV&hN6;^!U*>NeLrqhMqF>q^kMW{ z=p*PddIIg!+ErSTbA3Ob`H&pg?eX)O56OWY`!`mHO8 z{L_E;v*_p0&!hX$IrIQJ&y^4It_5P%s?dAyLA#ve@6AKhFj{x^v+(x6to%{0FrBhr~Z3{xR`S zh<{3~>JNI?&xln6Lh)0?KPSFOe2MsJ;$IN|lK5A|&k+Bb_&3DAC4QFJPF~ ztDMlf4W*yugg$aPT18)sz7%~qdL?=ldNq0t`UmJ6&^MuPM&F9Q9epSIF87k|N2r(N zfsWrx>{L)t#FskY&idFqYswzU#e?o`6_X%{3BdUI)S2xg2)O4}r z>L=3wiTV!0QptA^mP$WH{WOUs_;3k6T!Igm;KL<3n64lPv#N@a^a_;TDDU9Co>MQu za!Ya^pK}1cm*bwhEs4Z@+&;e~f3Wi3$sZi6`ib_PvA_x>&VpU}TU{~rAq`U&)Q^i!xwYzY!ug2a{}u_ck1uS`$M zmmDvm-*t9r1Qf}Ia)TjGSjV7x}V9C`_q^cq$RTUxWhn4efxS|bLwBd?2T+xOr+Hgf1u4uy*ZO!{4 zy~~c>hAY}|MO*W``*g%y(S|G9a77!gXu}n4&GjD8tLBQf=6Y6hMZ09KXu}n4xT38Y zpRaGOXlur2HCMDX6>Yep4Og^F=8Cp{3uZM}v^C?ink(9x@mb9kZMdQh zSF|-MeZ*YR)-S(qm6|Ksa7A15G9Ncrv^6iYnk(9xms!mfZMdQhSG3`ZHeAszn=9I7 zb444jXu}n4xT39jnXh23Xlq_(HCMDX_O0fMcG-E`*1XKIv$qXbwB-gq$6V2dE81{H zTk|rXW3Fh!6>ZJS9DkkT{^o7N6>Yep4Og_`iniuoe$`yj*8I!w`X28xSF|<%vYtiF z6>ZJGtmcZg_D=XeHCMFZiZ)!)mXqiRT+xOr+Hgf1u4uy*ZMdSX*_O`KY|Cn{Xlwjh z=?%D|4Og`FyDGI1u4uy*ZMdSXxsuN(ui%Qd=1M+7M!^+rxS|bLw6!Bb|D$$9Sj`n} z?TE0NE81{H8?I<;hUMcwaBpaa<=9-&)(p$>Pl(MGZOyQJ++5Mt49l^(qOBR0V{=7Y zGc3pEineB0j?EQq&9EGsE83c2IW||cHN$dju4rq9<@h=NFLOm3u4uy*ZTXdtm@C?F zMO!m0$L5N*W>r>mMO(8f>s6?^qODn#)m+imtjcPxXlqtwHCMDXtFoFa+L~3Vm*9#v zT+xOr+L~ecxVfSYSG3`ZHeAt$E81{H8?I=>6>aV{wBd?2T+xOr+Hge&uIRuO9k`+c zS9IWtjvViaN(Zj!l*|>KlD~aAta^3eiVj@S(S4IsI&QA$z!e?1q9fPx70eYKxS|7B zbl{2(T+xwt`Big82d?P2s+wYRMF+0vz!e==Rnrl3MMo~=SIre2xS}H$a%`^Xz!e?1 zqEj+gbl{2(T+u1{o4Ny6bl{2(T+x9mI&eh?uIRuO9k`-XrZ?b<4l6|+xS|7Bbl{3k z*<8^nn=3kSMF+0vz!e?1q61fS;EE1h(a}1L+AJTinkzbGb45o!VEtWdo&O!Uq61fS z%I1oW+`z}3`5m~TQ#Mz0%I1nr*<8_qD>`sR2d?PA6&<*u16Oq5iVj@Sfh#(2MF+0v zz!e=iiT;Y5#A>eSRLm8fin*dwF;{e4RZVKH=(wty)LhZ2m@7IJb47<0o(^2mfh#(2 zMF+0vz!e?1q61fSbZ1T31y^+7ijKyq|GK%N16Oq5iVj@Sfh#(2MMvY*=a?%x8mHEm zqgSHlijG!4tmcXiT+x9mI&eh?uIRuO9k`+cS9IWt4qTDK6)9Yi!WAi8k-`-zT#>>R zDO{1l6)9Yi!WAi8k-`-zT#>>RDO{1l6)9Yi!WAi8k-`-zT#>>RDO{1l6)9Yi!WAi8 zk-`-zT#>>RDO{1l6)9YiYHZ$DN#TkVu1MjE6s}0&iWII$;ffTlNa2bUu1MjE6s}0& ziWII$;ffTlNa2bUu1MjE6s}0&iWII$;ffTlNa2bUu1MjE6s}0&iWII$;ffTlNa2bU zu1MjE6s}0&iWII$;ffTlNa2bUu1MjE6s}0&iWII$;ffTlNa2bUu1MjE6s}0i2bD!B zT#>>RDO{1l6)9Yi!WAi8k-`-zT#>>RDO{1l6{&nfp9Nfz!WAi8k-`-zT#>>RDO{1l z6{-Bh?=n}Ua78LValD0^D^j>3g)36HB84kbxFUrsQn(_8D^j>3g)36HB84kbxFUrs zQn(_8D^j>3g)36HB84kbxFUrsQn(_8D^j>3g)36HB84kbxFUrsQn(_8D^j>3g)36H zB84kbxFUrsQn(_8D^j>3g)36HBGt<61CAo(O;s^pua(%l^&+ehiUU+ z{R-Ac+~&h2xB0Ms1#5Mi59?Q_R=4@EeswCP&4+38Vg0JoN8IMa`rV|}Z9c4DJxXcw zVcL9HzuWT>xB0Msw`X;m59@b(R=4@Eez#|Jn-A-Edseskuzt69ZRH4UK0=$1(B>nw z`3P-3LYt4!<|DNE2yH$>n~%`uBeeMlZ9YPqkI?2LwD|~aK0=$1(B>nw`3P-3LYt4! z<|DNE2yH$>n~%`uBeeMlZ9YPqkJ9F&wD~A)K1!R9(&nSI`6z8ZN}G?;=A*RvC~ZDU zn~&1wqqO-bZ9YnykJ9F&wD~A)K1!R9(&nSI`6z8ZN}G?;=A*RvC~ZDUn~&1wqqO-L zZ9YbukJ091wD}lqK1Q35(dJ{c`50|JMw^e(=3}(^7;QdAn~%}vW3>4gZ9YbukJ091 zwD}lqK1Q35(dJ{c`50~f|4F*vSXuJ3KJe#E&Kb>)5_#@DbMCok&R8f4AsATx+dVz) zC@e83E1_hyQWnQ+Ie7QgDoPX~pB!Kj*!+`MtLJy|($iw)wrb z`Kfp>d&9|7@m}_KB3~UHS)Ph>`}i+Tac=)Jk+ZmN`qa@IUU@3=2jkmmPaXXe`9pDU z)Kf?QtMNa7<+CyV-#q4x@i)(>j^1Sa=J+PTQ}OPW^Z!`<_28*E&(E2ET>gaoN%>Rq zr{&Lj-glYdH{`qJZ_3}2|3&_`{I9m*J@UQscVzz8zNg~u)ZB)p{5@I7_xb7jE3W@5;X?zcF9y z_^grnt@-;N|Bv!J`n{&A1_Nn7~Sw&!O(=I7+k z%U_VcD1XUg-ky8%_?NBwE5`3Iey99(k9n7Tub=*o<-aTQ|C2m*{QJiFUrL@jexI>d z`Pl1woc~GSspITD{M7Ns&GQNQwEgppeAf0nCqHS1ojvn{IX`2`A6n~=ewf&6@c(OYF~+Up9V+{14{;kMh^$yQHJ+#PN0F$U1pX{*EX1ZG6Uws))}x znT5>zbe=l-K<=ND56KTpN6m@j<>VPNJS(4*_TQ({BHTZ@^!hFPM?rZ z%GYPcdDj~vv$NV$ao&}=kl7>TsW|WYO5_j3dD>HP-j(AYw)~Bu@sj*Y@-NB1B>$59 zOY$$tza;;X{LA?M!7A2G`Ikp2|C0R6qm+M1{^e21za;;X{7dpL$-j&%Ja3Jkru@se z!jqZuFXIZ&&qSvD%cGQkd6YG|JWBbOM_HN6qm+Mnl=ZnhO8J*ZDgW{)HQFM=AgEDCJ)s zrTojIlz(}Y@-O3i4Eek%|1!SEkeTu?<9iI5DgToEOY$#|Q~u>~%D+5L`IqEh9;f`v zZ zm&Ymp@;K#R9;f`vxXP42O`Vp$59OY$$tzl^I} zu{X%SB>(ax{HIZpYP zaV;yyDgQFAW#u^KU!J7=%afFUN&e+&%D+5K`IqEho~HcE)0BUCn({Bnza;$59%ea0OJtfFrkiQ^*LH_s@8ZH&&FUVhzzaW1> z{(}4k`3v$FgL1^El|7vwL{(}4k`3v$FgL1^El|7vwL{(}4k`3v$FgL z1^El|7vwL{(}4k z`3v$FgL1^El|7vwL{(}4k`HSO}zaW1>{(}4k`3v$FgL1^El|7vwL< zUy#2be?k6&`~~?7@)zVU$X}4ZAb&yrg8aov%3qMbAb&yrg8T*f3-TA_FUVhzzaW1> z{(}4k`3v$FgL1^El|7vwL{(}4k`3v$FgL1^El|7vwL{(}4k`3v$F zN&b@jCHYJ8m*g+W zUy{Ehe@Xt5{3ZEI@|WZ<$zPJcB!5Z%lKdt4OY)cGFUen$za)Q2{*wG9`AhPbN&b@jCHYJ8m*g+WUy{Ehe@Xt5{3ZEI@|WZ<$zPJcB!5Z%lKdt4OY)cGFUen$ zza)Q2{*wG9`AhPbN&b@jCHYJ8m*g+WUy{Ehe@Xt5{3ZEI@|WZ<$zPJc zB!5Z%lKdt4OY)cGFUen$za)Q2{*wG9`AhPbN&b@jCHYJ8m*g+WUy{Eh ze@Xt5{3ZEI@|WZ<$zPJcB!5Z%lKdt4OY)cGFUen$za)Q2{*wG9`AhPb zN&b@jCHYJ8m*g+WUy{Ehe@Xt5{3ZEI@|WZ<$zPJcB!5Z%lKdt4OY)cGFUen$za)Q2 z{*wG9`AhPbN&b@jCHYJ8m*g+WUy{Ehe@Xt5{3ZEI@|WZ<$zPJcB!5Z% zlKdt4OY)cGFUen$za)Q2{*wG9`AhPbN&b@jCHYJ8m*g+WUy{Ehe@Xt5 z{3ZEI@|WZ<$zPJcB!5Z%lKdt4OY)cGFUen$za)Q2{*wG9`AhPbN&b@j zCHYJ8m*g+WUy{Ehe@Xt5{3ZEI@|WZ<$zPJcB>(%5{$YG-d;jr5{`c`e%JE6w)&BmI z7v)QlABa17;{OT8{Rx??$PZfggVz1vajyHp<6QTH*8QM$KX{Vse#p8XvhIhh`v=zj z1MB{Qb^pM+e_-7|uX5Eij_hZ)mm~}s9-H%!KEcpuDlvlG&tcpuEn zJ{))AeK0foaNIfiWi$VZe24s1`A(U4_un~smuLA6`EL1}^0(xFk-sh9Bl8N$ow$o2 zGyi+!op^uDtzF9Bli91|PTW_JKYhRafc&8Rko<_>>!b2x^5b&lH_dKIcaH9QWcKQ~ z6Zb^rY}u>hPTUif;}_*i^7HZw@=s)K8?sl&9lbj4#QR;2vscF*y*lnhN8Z>2$FIuA zM@QZq-!Q&ud}e$uzcsfl?vl#<4*6a3d*o~7Jh%M#pIP@U@?Xk-dx_JEdN894%~@*Dsr|wqVF7k&N#nSdFS|#jlW?0vhknVS6?*#lFaKc zcjC^9%&*##?A386?x2Vz@lF@d824P|_>J;S^3C!s@<-&q&9&m)E%O)h8BgA3`7avV z!zXVywues~J8|bj&isM=?c&a>%nwV|8+TsilF#He$DLG}*=gfW+)0&dWv`<AfVB7G4vk#$kbGGF?c6`{PL%no z+#7MvMn2|-@lE41<429pjc*xW7~eL&G=9uDd)wTJ`#N%-R~vtW%pPNRPP4?^9TsJ^25is~z> zuc*GF`ikl+s;{WNqWX&JE2^)kzM}ey>MN?RsJ^25it4MQtjyI>s=hi()mKNU`syfE zUr~J(ceK7W#_yJ?`syfEU&S4*nW_3J?hVUK)mKzsQGG@A71dYqspqrt(^P#$^%d1u zakp5mm8!4eZn4Z%eRY(_#VYP}&CH`?6?eLBBUAMi)mQPUC&#J!is~z>uc*F?d&zQn zs=kVQ$ud**ReXxcZAjHuR9{hjMfDZcS5#k7eMR*Z)mPDHJ@!o8MHchKU1XW5`ikl+ zs;`by^;O*anwhGv;(piIa;mS6Q}tDJNzY8xSI4RPDn6&g??Uwz)mKzsQGG@ARon-g zk5AQC$Eo`2I8|T8y=u87srriQtN65%<1}YQ^;L99&u2{4SJ5Rs$Eo^?>MN?RsJ^25 zis~z>uj2Dd&h|c!_j*x%MfFvDeu+I9oz!#ARDBhl)N`Dwui}o`+`?3S6`xshp3hkR zhcZ=PQGG@A71dYAsrriQtK(FCb)2fN;_lhpS1I1=IIUa7{c@S<+luO|_$(9KL-iHa zS5#k7eRYzmuj0MN?Rs2=@`El<@~aSvNQCRJa>ooqRF>`;A0^%d1u zRA0sYwDJ2=eMR*Z)mKzsQGG@A71dW%Ur~KU^%d1uR9{hjMfDZcS5#k7eMR+E+#j1; zm8!3(zM}ey>MN?RsJ^25is~z>uj0PDSeNQ6s;}a{yIhj0uc*F?`|fg_s;{WNqWX&J zE2^*Je!P54s=hi+)mNvf`YP_t%WMN?RsJ@CG>bWFUUr~KU z^;O(+8+(=NE2^*Jp4(iKs;}an+sssb6?fZ4olt#snyRl(Q}q?qS5#k7eHEWmekPWu z>Z?%t&m&Xy71dW%f12t~Q~hbGKTY+gss1$8pQifLRDU|wdimsTsQy&sjjx|azB=Z= z8>+u8@(uAC-3`xkNuH(O4bOA@&*SdmyP^6ABj0R>?9X)9bKMQqbNu7-C*)7c{C}-? zL-ovenfW*5yX9}n-;)1D{F-$nyRxw4_l-;A z_ZfQ?!r|P8JiETj;kzMlF8PFf+VA^}eAf0nC$m5O-EcU!=MO#dkL2g%AIq2JpZeXu zX#6GF$}h`2i@wX-yWwp-Z}hs0z5PIT0=OIY#gG>x%17lbd0RdvAD7>p`ytHC{5JXR@;l{s%kP!1%e@q4 zWTCnK1ATC(rQn z8Gb&)v}Ydt{;$90zxo&34xsG$)%#?E-=en6G z=Q_@HGgHnrIoIS|lXFeZH96ODuA7fcIoENno0)R1<6Jj0*ltloa;E( z&2h@Pj&t1{r=06J*UfoS&UKvYW~Q9$IM>ZgIoIS|lXFeZH96PhT$6K6&NVsLab_Fq z9;cjZa;~GRXpU3PH96PhTpy>L>p0iVOgYzauKRLi%DE=z`Z(oWlXFeZH96PhT*o@T$6K6&NVsL(J?fC-;{G5XRx_FDd#%QU~`_7b4|{5oV(_;r=06J zU(HN8*Kwwr`yu6A$C+wo%DIj+)y$N0P0lqr*W_H2b4|`QIoIS|lXFeZb)2=v3~|<) znR2elxhChDoNIEf$+?bhpz&KoH_*(Kb4|`QIoIS|lXD$st?@gOb4|`QIoIS|$60Iq z)^XMvdmzqQbDVOnbDVOnz*=Fnwa<0j_jDglXD$s zo3VtPYjUp1xhChDoNIEf$+;%yI?f@#5^JTLYZ5+7&S%N_EIFTL+Oy<*mYmNz=X}=V zH{{%qb3@JzIXC3okaI)M4LLXD+>moa&J8&?o@GPM4LLXD+>moa&J8&?moa&J8&?moa&J8&?moa&J8&?moa&J8&?moa&J8&?moa&J8&? zmoa&J8&?moa&J8&?moa z&J8&?moa&J8&?moa&J8&?moa&J8&?&!k&Mi5&&!k&Mi5& z&!k&Mi5&&!k&Mi5&&!k z&Mi5&B>W^fKS|C{lJk>H`y@F(NzPA_^OGLGBj=8sJ96&Gxg+O}oI7&v$hjluj+{Gk z?#Q|GEIV@U$hjluj+{Gk?#Q_#=Z>5^a_-2vBj=8sJ96&Gxg+O}oI7&v$hjluj+{Gk z?#Q_#=Z>5^a_-2vBj=8sJ96&Gxg+O}oI7&v$hjluj+{Gk?#Q_#=Z>5^a_-2vBj=8s zJ96&Gxg+O}oI7&v$hjluj+{Gk?#Q_#=Z>5^a_-2vBj=8sJ96&Gxg+O}oI7&v$hjlu zj+{Gk?#Q_#=Z>5^a_-2vBj=8sJ96&Gxg+O}oI7&v$hjluj+{Gk?#Q_#=Z>5^a_-2v zBj=8sJ96&Gxg+O}oI7&v$hjluj+{Gk?#Q_#=Z>5^a_-2vBj=8sJ96&Gxg+O}oI7&v z$hjluj+{Gk?#Q_#=Z>5^a_-2vBj=8sJ96&Gxg+O}oI7&v$hmXQxg+O}oI7&v$hjlu zj+{Gk?#Q_#=Z>5^a_-2vBj=8sJ96&Gxg+O}oI7&v$hjluj+{Gk?#Q_#=Z>5^a_-2v zBj=8sJ96&Gxg+O}oI7&v$hjluj+{Gk?#Q_#=Z>5^a_-2vBj=8sJ96&Gxg+O}oI7&v z$hjluj+{Gk?#Q_#=Z>5^a_-2vBj=8sJ96&Gxg+O}oI7&v$hjluj+{FZeu|u*BIl>b z`6;G-ikzP!=cmZ|DUW|XxnODG`Kl)Xf*TJ4Y`Zf6;Yh_pL=fk?pr{r^H_@w-l{Iq=0PqSU`FZ&Tng1{1`8Wn6rJ`S&xU(&BZGO3QpwF68Uw_r+gDpO2dPY~&k^e;}^3KOgmzOY-W_r=zRS z%aQ*izTx%hcvsE*ua>;W_`ULXgCekh+YY9q&Ql5du8kv}5eCT&l6n~!{l{F;0vGio670cqx_fn4&Cd{{mr zZ^}pIEqPl$CLfQyc647my00DG*N*OMNB6a(``Xcc?dZOCbYDBVuN~djM|pH#JG!sq zOy=D&&ZGO<(S7aczK%Qm|5Yr>qx1`ZSO3Ye)CBqx;&?eI4&3zZT2$ z=)R8kk+(+X(S7aczJ4%|?rTT)wWIrF-)WGWGUerKl9^Ln%1~T*L zz87b$nR$HOi?i0uJj(7x_pO&B^A)-0=)ULZz84jeKh2~2UQ|eC9^Ln%LLwdA_Z;2# z;yg2#3JR9_u>pKm*mlXFV4O)KPU6(z87a- znR#^Ii}S9`Ji6~Wy6-uV~fIlAvTy6;78#ABj1GV|!Z7iUwMd34`%bl-Dy--{Z^ zC3$q;b9CQxbl-~_$R&An-*a@|iyFvr9^Loid?PcD?t5{*k(o#Ly*S^<%%l5-IJ*B% z*hVZFT|&w%%7A$CG*bS7s861^Ot4bMessck@>6go$}Y@yFBl2$al-% zl)okai~Mc*9^3O?`8)C{`Mb7uDSuBE@_l~#e)$3ULHQy15x>_*<;Ud5<aZewX|n`C9qUto0W8FXg|n+$$L0Gm2L{J~!p_=HHiJh;JL^^Zu;I z{G9xG`3v$F8`9gg2DA)R3x%AV* z^53_lG=874S1rDOlv|beOS}-Dr!qfgt&dxt{}=0p_%2dD=2=_#oP5DNpE1uL`ss@v z`A5bt8Gp|B^TvN{`~~BejlU?rBwP7q`BmHS-!kJ{Nb$V!sVaW2_~udkUh(b_+Y{e8 z%H?m8ZwrP())4FljHw6YW04c`Q$kNOWXaU zeBS#<|04b_fB)!BalUjvt{ncm$bat{e_Z~A{7Ly!@~7p`S~tJPbl)BC_v3vt$Ge9lkv9PECa zrDx`u*!?(H&&*F-_v4H`Ge2|P*Aw-=o~ZZZ3@w+uBtI|nUg-OAhL)LknA|`5f93xt z|18tJ>-XdQEysC8+>f)k%$qXr&b=S!a+!I?a{oBLF>yc6{B!&dj9(-3|M=ZMp5@+- zzRmg5{Qlkj=-Zs*|0!Q1XM^|S^Fq#$cedYmXZ!u*|I7Ga$se_rS1R5U^D#dye@VVQ z_fqr~%>2JC`F~{IuYNzyEi?0e_4~)~lJE7%rEy_gO0P(qdFCVYUiABM{+XHgqTi3R z(9E4Jx96i{VLsy@T5dnb*=at;-ah`Ev3-90$Hw;jao$OIKRP+*9{5wgS7pf;<(Fh5 z^MBFYkF(j#FK5QtY^MFMU+ewoml)d+?{2Z&S?>Lle`@@{NcFFG>wUdj@5ecCKJrcS z&C))PbKqS5f8;B2@_!otf_$6IJJ|2XxpC&(rDGvJJ>?R|LVSjb-{|CbEm<1>o^hT< z+&}q!<2;MFf8r>J?@5}jvYtw86n3P^0vH`kI5_fxa6e!+waGFWv-Rq zTDpJg7(9J#?t#GK`INZ*BQZD4{<@d$=?|HuGdGvUVE!-b{i~Mf+y)w5jUX^(D z_dMV8eDBlip67d>?|HuG`JU%{p6_|S=lP!Jd!Fy3L+L!`Owaexp)@l+-$#ei%%An_ zS;Kpt?|HuG`Tppgmj9akukt-IJ>SQt=FIeb&+~nJYR+-$v5!y9nIDqr`JU%{p6{a@ zYCd~?i96>>RrWmJ^L)?q{ZV?pKT6N{ zJm2$t&+|Rc_dMUnXY+ha*5RJ#d!FxkzUTS=_%(i-p6_|S=lP!Jd!FxkzUTR#=X;*- zdA{fQ{y06~AE)R0=n5NqgXepm@8fDf{xm(`^L)?q{c(D}k84Mn>G_`Ld!Fy3mux;h zJ>N%1*&L_m`(v*N&-Xmv^L)?qJ`?%tfOMXSZL#F3@p6}zz zSdP>4eOw>Q@$Va_=X;*-dA{fQp67d>@1y^J)C|w}Jm2$t&+|Rc_b2K3{v@8jA|E=kY#Jm1H)ogAm<`?$iBnV#=?zUTR#=X;*-dA{fQKCb-a zBh&MJT>r^T&-ZZ^C^J3Z^L)?qJ|JXC}x2M=M(fL2e>G_`L zd!FxkzK`?p&&KlfeE(p2zUTR#=leLr|68#nJ^yo_|2fa&+eG{F=`N8@5f#(OFA9#M?`GMyLo*#IA zh`-VQyI42R&ksC5@ch8@1J4gUKk)p(^8?QhJU{UK!1Dvo4?I8c{J`@A&ksC5@ch8@ z1J4gUKk)p(^8?QhJU{UK!1Dvo4?I8c{J`@A&ksC59H-|8o*#IA;Q4{)2c92ze&G3m z=Leo2cz)pdf#(OFA9#M?`GMyLo*#IA;Q4{)2c92ze&G3m=Leo2cz)pdf#(OFA9#M? z`GMyLo*#IA;Q4{)2c92ze&G3m=LhHK2c92ze&G3m=Leo2cz)pdf#(OFA9#M?`GMyL zo*#IA;Q4{)2c92ze&G3m=Leo2cz)pdf#(OFA9#M?`GMyLo*#IA;Q4{)2c92ze&G3m z=Leo2cz)pd!TI^Y`T2q82c92ze&G3m=ZE;KM;yOAKk)p(^8?QhJU{UK!1Dvo4?I8c z{J`@A&ksC5@ch8@1J4gUKk)p(^8?QhJU_&-6~`CP4?I8c{J`@A&ksC5@ch8@1J4gU zKk)p(^8?QhJU{UK!1Dvo4?I8c{J`@A&ksC5@ch8@1J4gUKk)p(^8?QhJU{UK!1Dvo z4?I8c{J`@A&ksC5@ch8@1J4gUKk)p(^8?QhJU{UK!1Dvo4?I8c{J`@A&ksER3!eW4 z&;Nqw70)Z4S3IwH9{+bCRIGSj@x0=B#q)S)4bLl{S3IwHUh%x*dByXJ=M~Q@o>x4t zcwX_m;(5jMisu#2E1p+8uXtYZyyAJq^NQyc&nuo+Jg<0O@x0=B#q)~i70)Z4S3IwH zUh%x*dByXJ=M~Q@o>x4tcwX_m;(5jMisu#2E1p+8uXtYZyyAJq^NQyc&nuo+Jg<0O z@x0=B#q)~i70)Z4S3IwHUh%x*dByXJ=M~Q@o>x4tcwX_m;(5jMisu#2E1p+8uXtYZ zyyAJq^NQyc&nuo+Jg<0O@x0=B#q)~i70)Z4S3IwHUh%x*dByXJ=M~Q@o>x4tcwX_m z;(5jMisu#2E1p+8uXtYZyyAJq^NQyc&nuo+Jg<0O@x0=B#q)~i70)Z4S3IwHUh%x* zdByXJ=M~Q@o>x4tcwX_m;(5jMisu#2E1p+8uXtYZyyAJq^NQyc&nuo+Jg<0O@x0=B z#q)~i70)Z4S3IwHUh%x*dByXJ=M~Q@o>x4tcwX_m;(5jMisu#2E1p+8uXtYZyyAJq z^NQyc&nuo+Jg<0O@x0=B#q)~i70)Z4S3IwHUh%x*dByXJ=M~Q@o>x4tcwX_m;(5jM zisu#2E1p+8uXtYZyyAJq^NQyc&nuo+Jg<0O@x0=B#q)~i70)Z4S3IwHUh%x*dByXJ z=M~Q@o>x4tc>YD6f05^3dCl{h=QYo3p4U9Dd0z9p=6TKYn&&moYo6CUuX$ecyykh$^P1;1&ugC7Jg<3P z^StJH&GVY)HP36F*F3LzUh}->dCl{h=QYo3p4U9Dd0z9p=6TKYn&&moYo6CUuX$ec zyykh$^P1;1&ugC7Jg<3P^StJH&GVY)HP36F*F3LzUh}->dCl{h=QYo3p4U9Dd0z9p z=6TKYn&&moYo6CUuX$ecyykh$^P1;1&ugC7Jg<3P^StJH&GVY)HP36F*F3LzUh}-> zdCl{h=QYo3p4U9Dd0z9p=6TKYn&&moYo6CUuX$ecyykh$^P1;1&ugC7Jg<3P^StJH z&GVY)HP36F*F3LzUh}->dCl{h=QYo3p4U9Dd0z9p=6TKYn&&moYo6CUuX$ecyykh$ z^P1;1&ugC7Jg<3P^StJH&GVY)HP36F*F3LzUh}->dCl{h=QYo3p4U9Dd0z9p=6TKY zn&&moYo6CUuX$ecyykh$^P1;1&ugC7Jg<3P^StJH&GVY)HP36F*F3LzUh}->dCl{h z=QYo3p4U9Dd0z9p=6TKYn&&moYo6CUuX$ecyykh$^P1;1&ugC7Jg<3P^StJH&GVY) zHP36F*F3LzUh}->dCl{h=QYo3p4UA863@TH^Dptd;d#UJhUX2>8=f~jZ+PDD zyy1Dn^M>aQ&l{dMJa2g3@Vw!9!}Esc4bK~%H#~26-tfHPdBgLD=MB#ro;N⁣4{5 z;d#UJhUX2>8=f~jZ+PDDyy1Dn^M>aQ&l{dMJa2g3@Vw!9!}Esc4bK~%H#~26-tfHP zdBgLD=MB#ro;N⁣4{5;d#UJhUX2>8=f~jZ+PDDyy1Dn^M>aQ&l{dMJa2g3@Vw!9 z!}Esc4bK~%H#~26-tfHPdBgLD=MB#ro;N⁣4{5;d#UJhUX2>8=f~jZ+PDDyy1Dn z^M>aQ&l{dMJa2g3@Vw!9!}Esc4bK~%H#~26-tfHPdBgLD=MB#ro;N⁣4{5;d#UJ zhUX2>8=f~jZ+PDDyy1Dn^M>aQ&l{dMJa2g3@Vw!9!}Esc4bK~%H#~26-tfHPdBgLD z=MB#ro;N⁣4{5;d#UJhUX2>8=f~jZ+PDDyy1Dn^M>aQ&l{dMJa2g3@Vw!9!}Esc z4bK~%H#~26-tfHPdBgLD=MB#ro;N⁣4{5;d#UJhUX2>8=f~jZ+PDDyy1Dn^M>aQ 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 tmLV@O}n%Z20o+uha4N?vC*qhNz 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⪙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%0DsdeRzC3Xan@SSEo4RQ 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 G{r(?!{m)YX diff --git a/sources/include/tfpdf/font/unifont/DejaVuSans.ttf b/sources/include/tfpdf/font/unifont/DejaVuSans.ttf deleted file mode 100644 index 27cff476ef317e4666f7ffb77e82b9398a90825a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 720012 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�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�@_$#aU@6laZ58j-; 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 diff --git a/sources/include/tfpdf/font/unifont/DejaVuSansCondensed-Bold.ttf b/sources/include/tfpdf/font/unifont/DejaVuSansCondensed-Bold.ttf deleted file mode 100644 index 9edd89c3dcc333569ad86607f37c26f5e52d1836..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 631992 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 z z!yniRuU&AvU8-D+paQXi5(T~4&^3nU@@dqwV9)E3k%~tq*TjBSv!tZ$?eAG)W zOg`$d@amU`OOJ(Dy;2?UnpZs*UU?zB;@H{AEB3=jo(~^+^~B3BhL2bak3AM%_UJ>C zmt6{vp1*(c=tJSrZ$EzQ>N`(7ayC5t(3>U?KNlX7(TCm?Ub+e|xey+dwFmdZ1FC!A zQnYcOu;Y=G&t7)en45yzz zv354BT|IGX74BVydsgA(WNmVC6((z8a`nWC{Sdaoi}a}%t-^6V@9_)a*x7LW+mCO3 Y{udvA&F_x?j{WXv#{ah!FFW@C02~XV&;S4c diff --git a/sources/include/tfpdf/font/unifont/DejaVuSansCondensed-BoldOblique.ttf b/sources/include/tfpdf/font/unifont/DejaVuSansCondensed-BoldOblique.ttf deleted file mode 100644 index e2db5ce0c15965906b0516ccfbcc4e76d0b09b11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580168 zcmeFad3+Q_6F1)7bM4Mw{amSz6Qd>i1Q748OYpwl!%1*`}xds1!dnj|vC}!Yc<7VNv`=McvW<9U&?}^`wnEu?>K?5@f z{BG`A#tb*&W3>i>;i*$H3BRTP_(8+RPI&Hbl^fvqTE^Oq9XfFIh-cKZKaby|7;D&I)W|Vo51!5| z!5mTR8T%+{)aZeuCgrVK%p8Y~Go}qi7+HI4_n|5;NcXb^5rIEk`NjhenuFa=2{Tv0)5iUwL&bkK%kfOaTO(57O7b}4SqVQMtvYB9AGQ`FL$n{h2n3u8j_ zXyKr}T5+amCA5;DOKD|5m(|LGj?rR32ef$5<+bvl6SV%I2WSI857e?iKctNSJyLrF z^f>J?(31>{aUHGZl;2+Va@ys19VScPp0^K`CbCO z+_xO`%f6REukft^{fhrZ#{J76rHVht|0U=H{sW-D@*hWQLYC21@}F!!lW!AcS!7yz z>&|Rq=IG3RY)0nj;Un0>exox7v*rCWM~q=>`VSg7nr-U;=;&c=$3p{0j%MFIGvPbXJ2oT6Ag?U^QA1ZcVsNyVl^eCAwof`LLeA_SNLTkzJyqwsK7&&^w0NZth zT&G3(=VqGix+ajTg_ZQx@NJA>u}vsVUgx;&ws9bq(hPl=#WVC?8CyZCg4Hr^^grZK z8>$T>zp_MLye*J9D!54bYRekJPd9|rp_?LENt7XhCFA{v2Ks!#Dq|_|8e;?So5pP5 zwZ<}Fddqb5_lLAW+F)&nHXLc#{hU!5OCtUNAOVmJNCDJA$Oh`?z$xlR;7aNi;AC|Y za8-2*a6|PL@^gS?17Aa~{HW0?kf3_3G4y3?)M_`@hYdi@j$-53BsP`JV)NM|#x186 z3G5(j680Ct^tRv$3!1@V1;>z5Z)+sz2n(eImSG7OT(PDX`my}OD;dOXJp2l19_Ph)4#rtvSK0cODG z^G$p!VAwe74F~3iKCB6mNMNmy<(rVUEa70nP(10j>dV zNc9SUUgd5;1fV#eEFd0`1gHk61;8AZqnB~?GLBxx(aSh`8P5QqmvQtmj$X#m%Q$)& zM=#^(WgNYXqnGhzfR%vNfOUY4fGvRSfZc$7fUf~Z0p9_B1Y7`I2IK=UrxgO=0C)hA zfRca!AOQfq8*HsUb{Foh9s;MAn)?UttU~tS6a6vRM?DE`_A7;Y;GVGe#%6~lY^A7> zpMswyz9U^q(ORKFqgyWZC~%m>1qCwxf*|2blvZ8or{Jojttc7Ky*Lz#!dj&$P8&xP zP1r7ljV+u1G{yN};9yf317u`3@C|6KVyqgg#p*-PHiwSw4E>q`-8$?qbr~1K*xTs8 z8wF;kJcaNgiNzj?*$BcDiIYe4>jEvspOkb_tV9zh?6yy_L;QdlxJLXIkQFYr61`4% zK`(>!6{eD`1ki^J%&(KN!l?QK5HIEg+`%khIY%gqF+UA6l=iF(>xG%gAU1-HWfR#GYzCXl7P2L5Ia|fnu=Q*c z+sbyZJ#0Ta#E!9(>@2&8d_nqwV@L%n%5pBAC{wMZ>Wi`I&1 z#pTKdYZy1)rvT~z8UoS)EdlKTT>!lR0|3JS&=ME{xyXV0XShg>kRKt+z^97#kgns8 z{1yoh=}bWW>L4Eqe8|}t7tgDG3bCT7eeqt=61D1Rb2+n%!MXeP2;h)Go+* zd$k{MxQh9>cwb!(+M^BwZmcc@j+Izkl=EWo6LA_6uB2i`tvJ-DfHidoy#-dLsH=ec zX^nu#s+g@RQ?%ZwfdsV|=!#ko;A-kl-~@{KGR2mlehqz$VqO2Q^qYRD*Fk_0fU&6a zbXDTAvR(>G5-v*HZ>y-|@wS2rU04txoJ81ODFoEcD8nsf21>3X4{oFB12?}VPdqH zAf||EVvblK7K>$KrC2T2iH%~5*bW=dKG<`PVukP{RtT42x4ESV%&0s{q*77|C<#ik zlA_d68Y*c@OQpTiMd_vVQwAv`6x0@XYM1{X{$JDp+xy?vBzr@~z-AJjPWUy#s|l|s zyn(Ro)8@Zfgl~r>{$I6hD1JL^5&z7NXCK98^Pl_+`rfd%f2slY`R!2uBoB5d8~48} zl)x%Io;5(vPGh~HQ4g@MSPgzZzn|4Ijv7ZK(?Kct?6iu{7^E?>Lt3 zo#=gxHS_-Ny~SGixX;bn_`-d~S$AJ)Uuo9g7wd~<1AKA5cs9^i$(PI?@>TJru)+T0 zu**S{!n(KIx1#9ySF{Y6*R+M7A!P(Gy~+~fLvE8?-)aYJ(A|%ODuxK z58QsM9+6fL#PJErmCOFl!+B+t2cs><^0&o?qUjf%L&IWG1%4VMeHG)g7Zw_+MUSAC zLYR-0w2k4XHTy**`Jsi83(U3gPKVz6T>1%H?K%v6in;lt;+nVtbCj;Ql?bJ{QdWsq zl9XynEv3HFL}{+HRXQs@lnf0AoqAnxfWG8>(q)OSQe)MeU{bQwOOd)UoPB z^$B%`I#*q&E>V}OtJF2>dUcb!Ro$WPQTMBd)MM&N^{jePy{cYUElt%-%($Yp(povK z0_LwZw0c@&EnRD^b=10PeK4vF(MDlBnWRnCW@+=aMcPtrg_fx9Kd*~T@mOe}$txwRW z=+pE$`T~8izD!@Kuh!S;8}%*vc73-qXELl_RjV?-JyjewD0 zBpWG49iyRNy%a(jBcG9Ua{qeH;TELmZC9?Ck8}%y4EohdD<(Cpf1#r#a_17dRI?mpNBDS3B1^ zH#)aCw>x(`_c_0I9(8`_{Ly*AdD)royk!d0VS3C+v!oe-T|U`NG3%HO%`~&6+1~78 z_A>jKgUk`;SaYKJggL{UYc4dGz$(AWTw|^`HXfL-;Mia(>U{x*WaiAaQmOew;X8%YMh!SRD}x zYkpukU*w99=tYF*N*oINs-$@VVXW~%Uy)eQw;<6>(u!OyaM6Ttal*xd*T9L8H2;}6 z)d`z~t4NF$mwfw^%nARAIJWk9nm8AUvsq##Lt-Iy1{Zex8s(obJ1qJ91BqdglYWwk z^Bd8WTRRVYAH}>$@|7O+)*#NWMB6dfA)4}OYcsnP3e}aJXF>HNXkKp9d@tpP)(KdT z%bZ*#{4VkB)+thBcIybc9%f2Ej7lx+{7`L&Qm0(mIk$6C6o<-{M0vhXVt$%ZwCg#H z`1fGGf_%P0Zx=|+D4+aO8J1t7806}K+vVa^7NOExYL}2t((tf^N}n$hw%4}PD9-s5 z&k>200g|KCC;C2$=Xeo(PQJBUR@u9@uE-~zYGIf=3MT)1W{xQ+El-gLXwm7$I z#-?{u%p@nF{2aOMN7}@YH@n3<6Q5*~pQ0QViA@hy40F>J%~CKCrL8DD8Fp*ZG`hJtO@xZ!XL@6 z9DJ8G2Kbcx%E32EtWXVeYBeQQ#-rXZu`-QnGKFHMniQn*ly>x%G@&>s{fN`V2`4;{ zFs;l(dXn-iHdAab)7!xkhw6>Anev$AV9g2)E3?G5E zs{=w^rx?0QZ1;V|OPnW(v%`WFfK&Ub-DD``VZuKUepF(6oKoz!!-+$+p%kU5EyQFQ zr}8)Hhs!lJ7hQ?At!Nmk@e1kMhTAL>COQ_{*r$|3pWCn%qGk06;8jPkr$ zVo{5H+NpC2JA`68PMBK3Zg+eGLT`daLFS5joS?QA9f>nuVx=jCdW~>@DvK@2ByY-g z@)Itxm_T?M;ah}vNvxc?O^Y{(9!uCBamG?^Z4R}X7(j1rJWC&o=t%KANMWD+_i$)dZ;u*NNyBWWbV;81kBC{YHdr^623M|~Oj>I2pkK$1*oz_>)cn98rHRnC>6{7{u*0Sf}Jr}n`_uv^G)+DmS=7-H?WK5yXF@5ck^TOWA=-=%iP7TnV*?^ z*{|k4b3gmdJYXJRH_Wfi!|bN{jd>g&;!m0T#@n#Xi+Ea-(j?KN5vQ6BjCv0I$^N({GAmS*ToH1T3Fbp z6N4|q3X7$^IptU!q(F`nvWH21wE~b0SPPIkOUlkRz)rwkzyZKvfb4�OtXh0M`IF zAjWY1i|=9Fq7fm4Gh}3zjY)4VaFCa*v8tB6th92E{;{ zDn!#*VAN0hux>{YQZdA9Z+tuCbKJ{z$sQR7yqk2KTtmdn?G@&`L6Dm?GiM>wv0;8p9 zb+m?Bn$}WluXWLSY5lPKVT3jocF-qaDV?h=)Rt(=wN=_0ZN0Wh+p6u*_GtUHL)tOz zq;^)js9n{rYnHC+rta0F_0oDdy@Fmvuc6n|8|&$MYrUi1P4A-*(1+-w^l|zmeX2f7 zpRX^{m+C9@Y<;c1LEo%z(|787^#l50{kVQgKd)cXujx0iNlrK1Mubt^C~L$UNk%oJ zmQmkmVl+3}8l8#=tTQ$mTa4|-ZeySEH7qvY z89y2qjLSy8amyhb4u{7P=_u(4I1(Jmjub~7M?*)Nqot$0ql=@Lqn~4tV}xU@W1`~; z#|+0@$3n*v$8yIi#~R0a$0o;C#}3CH$9~5l$1%rA$63ck$5qF5hvihArqk<;c9wRQ zb5?Lxan^9wb2fISJ6k(DI=eahI0ra~I7d0hIVU-%I%hfOI~O^ZI#)Qeook&NoSU87 zoI9O+od=wUoyVQ0oaddFoY$N;OlIn)+l(-an`O;-Gs&!G)-vmxP0Z$ITeGv-!^|+V z%wgtebAma=oMz537nqC9W#&rgr*-B=bBnp%+zk!%HTIBwXZ~njFfW_=<}H_SIb0rB zq^qPW;7V{MyHZ?rTn$}mu9mL$t}d=#u70jTt`V-Wu8FQETr*sAT?<`HT+3anTx(qG zU7K86T{~QRT>D*zT*q7|U1wbvT~}S#U6xyQn{KZ=+FjaR&RxM>#a+W)&)wLa?r!bw z=YnAE?_T6y>R#c_cCU4BaBp^RbMJKTbsumab{}`2a-Vl! za$j@b2xDP-m^&;Ytaw=2u=uc~uxeqo!s>@L32PqKHmq}4kFboetgvBWqr)bIO$nP8 zHYaRB*y6BdVJpK{hph|S7`7#Bd)V%VU|btxIGb`;+}vf z!ISJs@zn7&^rU%OdfI!sczSvIc?Nk#c*c4rdYpIK$AwP{pBg?Ze17<%@TK7^!n4EIhHnVp9KJ1lXZYUm1L23mkB6TMKOcT6 z{95=8FZ1eNw>QFD+*{Tg?@jVn^Vag#_crl1_qO$R_V(~*c(c62yraDnyi>f>ymPz@ zyoFen0=Ii4d;2Yu_U}9J|VGM zia2%*i;3<=cpc$b!c1aulju=|+e@rY(SAc7+7gZOZdA0_;S#7c?VSS%y{EQyPzB|aiQln3!1`8hy1gZS^s z_|-U~OA_Cr{QMwkJD;juhnbX<73Aj_z3odh<)81AZf_IaY05Pd@WvH40f;@E9r z*DbZ0FvwTtaOt!|4d?~G^NhzEtS+R zulRu87AK!}t)8d&XOX16LjHRZo^M&TiCoMZc9FYE`rw+{R6#iO!RSy z75WOKv?F>5#XN@IzIq!g^(D=3631>w8?Pq*Im)NqUcZo^)5MugwB6#{iKc!bXxB|h z^0yG*mY-*cevR+)5p9nGw#?WuUzYrkW+v?&>icuZzpbB1V~2EdJMv$g z-rCyO&ci_B|8^TIEr_m9KJ8pBBbww*=_qNtpDJNQzfHCDFqNA026iRLwzF%MBwSn| zKiA05P{Lh_L;XV7@=3I4wdqkiy#U5GI2~B`Y7=?HTDQ&4|g%S=d&&AM)pxFJzr@@{s zHWA(|Lnt(lQU+7#H`Fw|{fYRGNv!rFzOBJtl{BXrm$2zBdUeE5Q>LlJQ_62qSkl01 z@@@Z|G`SsC=|+BNe78qco=2S5$iF?}Z!JPMlC&UgsS=IZn&f;aQ&cBPTCw}xX37a^ zn~>De2&K^YWphL`@>7vQQ9M`&BL+2A^0gOT-?s`AjU7KJJ%UA3HSl04jca_%Hbh5rSBkOB(SYIE2#kDza2`eie z){eL19a($cnLo%nV~1I9)`j=weOWKE%J$}2*k9g<59UKyUp}0VVwpJWFo6x^kMYOY z5bQcz%Z8H8b{N@ghm*~A1lepyk*#;z-`Dr?#A*a5N+%5T4NnwL|~D?jl% z$~EOCudi52kf&jcck*IU^4-d}xJeU}fE)?=P!JZy~T4@v7WA0e&Be5AA<^KsI8 z%qK|eF@MZ>-gur*GCnmv=aY?GBbQH=_GJE)!{;c@r%QV>pC|3f{Ap=V<_n}fnLjJ- z$$YW2C-di}J(<5G?a6$(v?ueIr9GLyBJIh1m9!`G*T|l{hV04fU{4;*-y$3GR@jio z^KE23-s9cl{etiHe(C*^AMk$V{fd9(J>>m{e@#~9qhwV+PFCgb$f|sStjgDY6=7Ar zC9TRrmsVxrkXB_;Qd*ToX=zm!Wu#SE1f*42l#^CvQ9)XjMUu2Ci>f$z_`0Yjt;!>C3$v)>-{=2Q)RlH-(ExJnqBEoN>_*{9jWTqKqAZ=Fh^12$adf6L zp3YKKq_Y%N=`2MpI!kdscERJoB)|)Z2H;BsF9)aqr~-h6mDd9_2BZU81Mn4xcLVeR z;A;w`nL(BrzBn+sYnx96%mToc%@+Y+%jPQpuw_HS8HX*K!E5)c~~s^#M%)%>iuzodG=n8GtOn zFu-WQ1i%!)G{79dg1gQ>+HeFW>{Sq1*8;DTTj za;dOE5^jgRlM22`aUq@m_>^$(Kbf-qFZgfD z)$NdlF%-IJd-@lgjQjwAQMbX*Y%cw#7A$N>k_Pmw;Aekupf7L#E7CHy%-()QlzeYN zrmV9;gtP9D+M-@%zHY}=NZI|VFl7sV3NFh~!GkOTaMwQ>D)^r41^U^$o_3M?!2VZQwjjn{l$0=BNInT)=CDMWK-O2lJQ~KxOgMT{5`{&{A^&$HJwAXu> z`(Vua59dCJL;jQ6tWcxboc{&>XZqrQHxB-FOf+8Io>$oOp;mugy8o^gXtw>P93?{Y zufI;{t~Y-^N5Ab!=IfqP{)5?F(fP*hSpJj}tQpRPd9hV59*U!g{(CXX{?XodI6PJiqM-h)TQUdFw^`|zl^V_-k<0X!P^u z?Tuz(ycjRWO5j$RlAufRQlJAoz&tqhTMjsZC$Mmy$P-yCug0sfaySKCk45rEyb*3V znJgx=IOh%L4H&|NDOjATnktLOJ~Ew^$5|)`i}(KK{SEagaMMsY9^B-E2Y097QBWIY zkz?6@8nv9xD&sMzg&fo#PHGR6+QUWd;imQoqxSGndxTRJVi>o(ptZWq}vS}tm>aJ1HHl<9Rm zKHT~6Ceq!A{ie}m1&_h0iEW7g?zRlzG~_2NmRdBxcHxPob`7vk@x)T=>g+Q-KD6)` zD3NSkoqdVNN0#*n?9@L9elDJJICpUb_!~Us*tdAfu@iXwxG~7XB5>j|94+UCr80uU z^a?tHM}YQoKj=uD){i5rd^AZzF} z<3Pvrc$UD+^YV}$DKU^2NK6Ty#FJPBUWr#?6>(!xGU&>@GUzI>k5=GSc~#I-s*-qh zUY(W1okl6(r}9+rYw#MNYx0_)Yw=pF60gl`gHwmsVadEMugfZvEQa&f_-l|(`2`?? zzscW3iPqt6nF#(Ce+%?6ehfK34(n(FKfzBRSC{!^yuE@`X60}y{TgEX6=xPIJEl9P zvr5>5IfGSj%yi5IJz0WjU{6T=5&qGfvg@#zhUV@f*84~v@?iYCtJDhVMSsz0;?1c2}fu!t%lpH|c zKZ!mco z04v+6Z5r@{9VJE`U_Z9>Nv^B|Sx0slqmGH;Sv4&4VRQ`A7XO|FCe^l zkmM`_%492X1L-ifn((?YGPaF`w-DZr+QZEogiXRI4@o3GT!6AcN~q*I3G0Ln!Vbb{ zBfOO@K@tEgSNZbBLWw;XMQWfgr{P|`ES#$!hkM;-;55Qw^wn&f=h=i2U^n{ZVch3- z7N-pIak~Z%U?ZeFp-QRoa^#xWSAQJmyXR^@;xzUYeK$^1G>0FWIhB-j##+o#jHmJBQpEA$M!Y#VKO)7mCMu zDD?Yy$o&y69%nx4G6JJ(0FR8hi427=@^yeECF@+HTTumW4Jw5@c*@{bR6%#33Y-m) z{t9c^ZWn=ng9;e{s*&&2Fj7Py)SlnX^xj6=W z9FGF2`VROc9tCGvP67XjM}e$e0KSMvfz(|BzKlm+fA9Qox9JnLCr7GAh z&>6T3?*jZZe;W81{tWQ5IA^Hv=Wx50f;$jb0n7P;LNfz}<^&4O2^5+QC^QdHAW1Il zbV$NiQ4Wdf3oLII7IY>_#hIiZnM&u7RQhf#=+V-FUdY( zkF-Aeg%S0R-%`Wg<`jmLF%wzkkXaC zSAdfP{%Y`Lo}|u~`I8T>qz1m5^RL7!?*Nl?4_Qw6+#L&UhP*3YKYac3{1(Pr81vn+ zMBWo`9 z;(1-Xj(8ei1}HECy#GIl2epFytPyJvPZP``1?G?>qm*Bn=f5h~oi!unHdMd9W|)Qk zqnhDN55tZ!^w?d%dc=#8hK}U8*-l{fUI$X^#wxQk)?5{Q&`B5#+W9(=+uGM2e%krk z0k`(G1#SV*nH&Bjzk}o>Ch+l=W2{sVS2W^8N$3u72TEjOH4)89%iFlsUwmDGulTwE z|KxiR80P~qyY3dE6!jx}rjg5p^97Ug#;mx0-bRm(YSS-(oxM1K~*E(HoUKZHIVd+ zyTg$;*=o2i8MlzjU){`C$?XUqvc%=EYO+^KY4C|!ch?8To#}Vb0<~@^58DcMjS?Pgv{xx4-reUYhcH#Gb?1y$kt0u!1k%oO~vaOSl+X&Q8 zNvs6QK_hejUch$r5$GlV#{kTOD4bpx4m;P}NWCm``(O6Igd1I#`&as3#SWqa{#E{0 z{IB7LSIkWRn77z-7JJ6BUF<-}0A`uL@ZYhMDV9#m{!YKJr^&y|zZ+r0iq3!Rc?-=~ z?6E`l%taixwYTnh=C0q1@B01XUB6cp`7I!Wny+=?Q{;_oo$|;H&G6J1u@&vdv{dZ{ zR*RRFZm_9xgk{mrBbP(R9gHrao@1V1NA_#bj1R=3@3Qt;O$Wg05eVY;C@YdLHHP!k z8H|4<-_bug1DCoj8G!h8*=z96E9XCwN`{O1J@~2~fFhU%rh%0-?s^t^7_EO1zbWmM zPD(f2?bHwZ`=;Pdr@6{2n00p1`f4+^Ioc=Mr`iSWnx~Oxs%M&KmS>JvGI3?9l<8S!NSO&`9xF4s%=9uJmHDjf&6uc|GBHhK+Qf8?=^oQF zrgzNbn2j+zV-CiA8}oC_wHPZfAn!<9)_C6ZeBjxRR@mb?;5qJH;XMH3 zl{2zTWbMe-k)0#AM_!EbMm3J=7&SI(PSgr&h4knVWmuW$G6`j>mFZn(e5e&(EVHvL zi(xUvV*)YFW7>yWp>NC+F`Hs`#~hA15py*rKfnS*0%HRU0xJTW0|x?!1K*+*Sgea$ zp?&P^*adOL<4VWH$5o0O^G7SZ7`H#v3gzN6%0H2?B4ImPfhX#T?!<~{g?4C#Zi$(R zOA_Bs+=W&+n|QgRUeT=BxZ+b4_oEeVz+ml0D@;yWm-KrjRw<@Zr{s*}N6`x9&^kPCe-^t#aV zLgx#OF5GuPyTJ2;c?Eel^M22}p7&c`e%`NnzvNxbyOQ^F-le>Yc|YY{$UBpFI`358 z_jxDsKF#|iZ+qU>yybZ>~v9BF_2FdCrBMbDeXXGtTj|=g*!#`~BH( z&K^1Y>e+s0OPp2DF9NWSR;&g55`wqj{uYAu zb`Yf?%q5&AS6zr>2 zN&)7Epd8%!fL8!l_8=V(_Ks*R z;UXOgT5Gu2B_Tm;0~h<5JFF=oji!yq?0X+#W_EUIHfS!SQ z#0tPJ&?ti!esG^A)7IgFV-7Gte+w7Z!AP_TPBO8`GJu+(e}#)Sh(x({)NLfn9EmdN zXs<}@pN>S{^onqix5x{ipM`sou_(l;Z-eUvGz5JNZeu`uOk0pn6yk^)0=gvJv4H8I zQ{m15EC$^aF7g}&c{HTo?`$yo!TrGoqd#NO>40YNGXU-g0P4WVV)*a|hy*b6@dV+otZf}6h&!=$5115mZh5MKd#u2!aZ7`0)MSdk1sOvH^{70Zs z#xiK1GM|ACGHFt0WpCmtZ;fFj21GG@T!IVBcnmV=ECx3KKv|vm9n%~DIdVP#7xfg= z6?6-@kQ)h3^uL&%HaJlyG03w7C;DVeU%+J0Xp@*H02@J%fx8KSJULgx-3>Sh`aQUZ z0pEh&1@{EtXV9O+y$ZMn8ucBM53oR^zL8B9Kpi{L#sSn*;9=+(=!L*ozV){Xj#&j1VtjrJ@51U59G zp517-gcSh99d-lmcEBg-^M1IeZ15Cg_*e;0!AH3hb$}Bz%AM#2B!UjWtq4G!dg{Z4 z3`+1orV`r$AZwlsxLs`UKn@bS0s4SH5N;*_W%dk%y9DqS=oN5LUy0j5BY%mz0FXba zvl36*AoW(_S-?-=e+Kt5V-WoM@g``*ox}hFG-NypWlusKg#QY+stsPGnS}OCS^@otw3EbYa*&@K6wZq}$*Bft z1RD9sNe8sTx6N?4Z2>5!FA6T?AqVODWE_x*oQFV{f%^miZG*d+SM{p$`zkZ`GwSna^haMR!>ry0{Czfj;02&fU^&7}9{^c~MTp%*8aLa4?t%S0 z@M9rgK9ti60OCNugtY+L3pY+N-zyATK>%ez!ycgo0MZX^T?fHGh%)#-V>}lYsoc6S z?&5te>^!**LBsZw+Zcd0h=4^TH=Te*RD#&U>0JNch23+I^!2EOIqFni@ zp#KIJ`N?k#`e~*M^k2p}{g>1q|D;{e{#WS!@#-!Df$>k;^EKG14A{`*UtM#-mKcVw zli|#ZJtGm=mlBD6FwwB~7RMLMlGvS88WRDz3=Uu*k$0#S?pde+`&$w^vb2E7y$jV? z^}pP|(2zA^jd9Cf6P)!-!#A;Xd=qO9J7-IL4U^yJ|N}#*@S&I@8K`3e84_r+e{M{%K>a48*IAS1bl59#fF+6;cM&=*JW5Ym%7%m zF|KQ_U)e)!JZ_nK#r3k%+4TYb7Re-~0e0|gVNbIDY=mnK@9aA2TFi#C$)*?UfT`Gx z@jSkMML7$c7WPXR*f*iD_rns|$Go0d#r&HYXU6;5`P!Q<_9%8#ILwl48k>uK9P{wE zy`IKj_j(53g5@p_c{`ol!SN#QDW4^lvxmh}@uFD9CW@EEO9GkzA`pjNFBjRhH`m()aqI`UYH2m4S%^I4qvD9 zc?^El6g5RDehzzamawmIZ%h_ayUNBu#B%vl>}gR+%f$|+AF%J}4DvaIOBpSrRMv9w zTtCB#5df{;tT9;%9W{#Ug9yal%2qLy)D?$#MpGcPG5=} zLNCb@v#+SM?WweXV}Db1obYYUGt|}CGlPkO_AyjJtkF`BV2gQ6<0-kCVvk|Z)oPf3 zKeiwEaOh>wdKbA6lM8EueSv%A>#}87%PnKi^39OLF__t7;=M`NR7G%>9Pq9eDHayp_j@Bzus3{1#7cH#GJrO+C#pC=+tP;zo^QKwj&X>sKX$`Fp zwA_MEtUi2Y!9Hsl;(tq7qxcYp;^+9Y1M*RPx$i+F3UWmy2{K3Hv2I$f$!`KNQsR|V z7fj2`Fqz-yK+}m>smwZu5RUb`4pTzU4pD? zK_jaw=UtRR)+NB>{7LKaTq-8&gd;p6mp>_MLSfadgX(NO61q-)i$Kc$Dm>9& zmKTFtvqpR)o@(HS0j5$GHyx@*DSQTxij4Lv4e>rf6o01Xn4O)HyL>XN_J?bE*x3pT z5_-PgF1ha7p{d(9TUYXV$%G00z>O6B=FIUPc zU)8Wq#;=@l{DxCWwTXX4SK!JWj?RNa;4|CtR zjGvcZYumqe?Y8~vh(W8TckQ}*=7U{VzcKfub>Yo<-|?th2lcSEbHBGPtiiA1t6!hi zt^1l;ox71-qy|rG-y(kr@++ege}J%dtS$_HY@&z9m5Z-gqgHLI%hZ(UVoDXTWY!I; zMHHa662;xMJCx+b5}qD*)*9D($f1$PtzXu@TdX+u9_hHYXSKHTo3-sx>sa$vv$JXq zsiiz?&1tlL%v;u}QP#F0X%FOo`h3CY!HskC1C)C z{PF1|fA~BY=i}2ua)&Bp^R25&U-a`Z{D@5uHN6r3Sd;rABSgTuk)D3$EZ4r?U){Qz z%^NM}iJ}d!XzeX{#rkrwCG`vs?zgUrmkYy3M?`sr5?c~m;sg)lj;3j+&sf*L{<4}L zvC8^*g>|^#9qSmcB{F!*VlMj=_9%uJZJxL8&3T)6H*57K#PtdKPddKwxe%8xHYyfz#nz1V zDI@t|D+&MkVNET#cCp}^a9CH|E4rS&)d z2;!~Gw~8g=d-N3PC$^ucnOd+{d~cn=yUvK@1j2{jy};8Rus%Ro%!zOksfiLBs`peL zC)#~gz`oLQf0uvHv`O%^`Z46C7-kf#JVXEzL%j*20lBb6gGUNOSL4bFUyX>`wc=A# zB1B@-q46b>BEr4RTcr<;E0ydG_q7yf`*-hYS<8?A)UR7_7F_Y|-}8EPZ}iHD?u%=V z8r;3-{n`C`EUh_msJQg0HEaID=df2r+sPlD`|M&XkJ_LeY+*^rC+1uJSij~kk3uT3 zkMoq(*85d>Q{M70uU_R=CvGacnsdGR&6-v|h4UcXGL!*p6OI6WNIkluEP%fuhonbE z>IVN*v`D#CEmhptr{BPy4<4LWZ{o!Xet~PN;LP}QF!`92z-bW7hNp1gO-z9I)oHaXn z;k?(z3~#+Lv-*(z1Ajd8vQoa}@-f$~AIg{K6>HRed}#OX*GFfzZl9dQO9ld~v!DAE zBZ7r8Eks=i*(01h77dJm|5bkU~ihFuxnJBuN6&(oFO)eGLMSmD7+`}3?9to;uk8eDV0)_(Kf zm^!lcTZ6S+>&!WK*jMjc$E=*{DZFa)wAW^2JY1o z{X=@9#fuL;)uDOTw08V>^)?Gz~0{n+c)MeAiA%N_gpm>Ewm2v9k(E>nXjC)Qe+E#Pe|MC8|s1(8;^ z__W|DE%)1-x-`DZF{T3QP=|6nVYO`mt1b0)LQOPQN`x=e z{Sr8hF=#O;?bcP>J=0?Kmr+d@b$aa}ItOZQRMs%-_~r*!@GBJ&&k$T~s(Y3@PVs+0`1fTz{8PHunkT?$yJw^WbRLC}c}v~=}T*+xzgg>BG|dq<=dZ*{~iAB zh|^ya`{QeJ@`RlRU)->&U$m;CKLwtWv4Z= zw(^&(4~+1(&zhbNz9!M9sI91->2gjw%dNB_Rw zIxwVD7oK!s$bsJdr&+-#CZ6m*W$Li3X?%3qS=It8SM{ozj`8v9XF7NLY+;u^ z1-Y#{eVB8CH|gATdO@pbUh1Plf>duAP?m>({Z(Fy8R9^}PA)^&j@` z)&1wG)-G$D;82o6o>j%3mRv{=G`ExlsjlEEvkT5ox0Yc|G53uuhVtifCJXKH<$F>_jo!q zVN33Phc|d?X?E>8*5@tKtYy}(Yj?Jg`-o(@UZ-*uLy}5r3KB_(BG3jwXR*eEuJ;r+HGyIo>e#8dKlX<`8q86ns(@LZsF(F3loR;LjDoA zdJu8T`33dWP>-#wWTzHvtS*vj796cF`c}Wy6q@^lbpfyjlLRVzVOUx<*x}G#MMI9X zvI~P1%>1LimZH7_s4vLoU)Gl&s{-}>H0$h2>y-6=R@Nlm@tX<1j;}f5>mlc@<7-|_ z8JJq*P_igBvRPC905A3~YHr2yI<>9Oo26T;t*h_s4)q0R_nO+JCB?BWMQ6k1M%8Y&SNnwb303Y#C`nLTLq%2 zHQ1^@Tqad;PLwF9RKUc@0+1dJ4HbScB}8du*8M!r z1-CMP{Y}1`e}GcFx817p!TZ~-&06lQb4rODmDIMkzEY~*+)$*>sBO8dGCO-u@zi&D za|E7j?b|3r-pp4`gfwr;`4i0nHF<}hhkBr#If+mYXebSiq2Z^n+0_wG&)Rrx{^NsQ zsavbw8BCVb2lRc!+J3;gW_{2(nWdk*V1w^!+}*V)W0#|MDIt&Lvt%$Su{HMbNd$Uzsot(1LJwM79TzK zWUp>o?valkIoR&OHU&4-ZC2kWCU)q8C}ml!Tq;X3>Vc$d6Xm#0^HvnW%di;Yca~AC zH6x?5Hn!|PqJPF%-ta3~ChO9#`>jnpsz_N&ao(^&hnr8o$D2O+@{6)m=%|UqtS#!Y zq6N0|A^X|SD4RoSnL@4R5@-{9J}OtWv2uzeUK{sl=N?a|RT*GqLx-^wXErWP?-MuL z${AR;YbT}A#BnW~T2ET}1)poVo8Ni&g3tT-Q&u-VW~7`ua8?TQnZ0N`%p5{9F3b&L z3a6{_x2LOBp-V8*AbE9fovht`rasen!2EZzG4!6FY85@>mP$AS#b*|kYkXUKUqC8##2345{tUR^;C@W?U zvX9D1>Rk0ms&)TCEBl~zztko-+o~JL?_}uS4e%?qVyyDV!V}@p59PAi?uRcqoPGOD znGyRE@9|PS>wW9MrQe+f zzB8A%TqP>=fv^f9b2nG1y{P-c?=F1PybpfS&oG@1bv1>@?&9}X#2-j)k<6Fy?gbxO z6DnJ6tdR)&iP}H{y3EL%=*>tkxDsXl25~@#Kn)@c5QNd4SCO$MT*(@&$ZB!Cq&3eD^c*m4Z06H%q&jjII}3l8a#KipXHgRH-)!6v)_aYJWnN~)jN+PG)KHvL(w z5qWSQ;<&Fc4%_U*Zx(!=aO;uGDj zF56^>@iCqpY>$91nlABDSWo_ErestB%YM3%LEi{zaxVb;^ zlsC%^jt3lH0WU+jpUljXAV9JfPAQ}9$zc+%FWOO2uwX|Ct?{5QpyD&VC1-ct!B;cJ z6ur~gv`L)X_f~bw?Ux&;8iIDK>J>YRr;RJ6>PhKJJ0k$im%4H)vmN`DD63ce9j4KM#+*_WYdXkrDK=r{|5& z)}lnOeFmI-vJ8kbtp$Dn*??lQI(vbTj~&|l~&5A(HrPv5R- zW=jz+3FZG>-#ut4@?3bAWFhQQ#KbaW5;{8@zgZMH z=g0Zi`xN5~YKXA??VFbL6;UY7nYhYFP$j4|s_E0<`}iq5?6)h+eyyLk=(o26DrOFM z9bP!GqYbD8eN{p6{14V@$7Y8$HG&-_oIj`mY<=R@z^Btk4;w*jg6S`t>FLcoLw1bN zesEr8e=RPppij};Bi0c`{>dj9-h62$UQ(G43IHuKZBpi898H=yBUdwW;W*KZMnoa6 zr}l~0GE)lQ?rhx@;Yuj?c7l^9{-=2T>ak<+ppHoUs^q7 ze{U2nm-)&|OEj@DTlR~ppN}?9z43JObhfT|$ed$X7h;i&o%Ev);&gx-rG4}03ynjE zri`q=-))kS5-W~QzIU^QaL`aHWF-`6QZf%cYWS2<;iQSXAM|4SEXEc#U~Jhp4Qw%- z8A$po@(5A%lvH=S2g$*oGaL(j_B50CAByM}lL}0%Gk*y<7XRLP{WoWO^zl{28c5r8 z`RhloUAN$jgPEY?E-whOwv7apQvtmSlr(wr;Lz-vG;80O%3WWS+Tsyo}- zF7YZ4@a-WO<1YFcxAObliL!nM->Rcz5mtMuxVCv@apFtc>5adeKWU37d#$;#X=G*M zlMgBSt~b8{R{m3DbX=5&ul=ylP0L@p?CVRM6Gp~H`vy1+3+P^V>P=ROQ2;)7P`SfM zS732m-AV*+keL)?cy_|(IFb`ej}=K`+?dBg>8}qws#Hzb8N4e_xr3hXQ&4|vN6S#; zwX9j@mZBw>3C;_~o`H4!Al0$4ne)e7k?R-2v5PxNTBGIAUKZmgG33Sn(0Q;Rg68L%grYGdvKBPSi=$egjCo2 zn`m{rNA8P%REN;_PF=2t=zUPWh?@mMNfM2s2etGq`V78HMZCl)DsK0PLNA=Gn6K|B z=DUP3WL*wgoUGB2E%Xmk@CfYkS{g%~=+ist7r5IrN${aZNv`2b_#7tF9e`H>8Sp#4 z&p92l+f2+ZnJggT>k!{9H>{X?Y~xGX#)5KhcL4FXXmLCC;__>WImox@`vvpIpyyM;2l zdHUB27dnm#IOh@PSf2Ie>_^@{_te*A_wDb#-`Sxu&m%2he`vT(S~P>_C+bd~M;w;v zb1b%V>@Ai1-%Pv3@5Tex8W~m%L;wSgN1+Bm%%r^$zyY{}$h_nw)z0p&)0(ofEB%I;lim5)+Y+?=3~UE1m5t^MGYm!?;2*uQO~i(O^DQ+mk$z)0KlsIM0+bW8Gn z+as0%Kj)FN=Z^6GhJW!H_!o;fM|5D^LkDl0jt2~47~|47vOj=SnNho|tZw-*3)S#@ ziwn0_OzJ7ETW+ONS*P>-_<&q5aM)k8ZI(4aT=Lc)f%;qGxj)hU9{`e+LO*M zZZ4)LNiH z+CZCf=;Jwbh7Z{|+=Xt|64f~}?kQ45rqS8NLQ6Nr*pNp_53M6T=W}z<3a%73pW)lH zxw&j_f1x#;P)>gCV` z_XNjzfLNKnBFhdrv>OWvVx%3ezliti#xIY{DhZAnzoTRQ%II+VVeamdpz4ir8D&9Z z=TEC&xil=~pV!81qvNyk${x%rXjC4%8sMK4=@IFo&)+G2L&t8}4za7@bs_;#w7-RHG1xMwuus!W$6sI-}G+e)ylHeiZy6 z+4y1bhpLD_|HLXqmiVTMQN9iN5rJGJ*np;0G98g0O2*Q#79Ed6V)-C9_B*~PxO5O{ z*C5UdPbw!9qq}@Gksgbl65Tj!R^!N~z{Jk@7ry=Wh2)Nprk^UvXaAj^KI3G5enCNg z!KrC$ZcLs$Y0~7$H`c5*eUchK_VZabt7D0;&m~9APv>9y(c$^Bva*W{=3gu;EiJ*P z`3o+Vm6vXvF?~9{wRH=oK z;3-K+dR=%qAu~9-z1*>wrYz3QoLRqZyS-#NG&t19=ct?8vIU+O=4qpP&(!TiHYZ%Nnt?H6B?_LHQ;_yJ!6-}D6E+#tuOSx_6{ zmJfQziyI6NAcf=q7N3^-_ge!WW3(|Qf}Q*KzKT8$GEwtX3P$ao#0UEw#Kp@0*mQC0 zT{gJK(=#(G(|^bI+ETw{*D3GRc}KepJxlEFvhT{MyX`Xl^kPhObmY3Z^Gn-o91BNY zxs*SKb|Wn$?*Fp=3PRkK<>Fj!D=8TFz->NpTEpuq`_tHm9EOIj4F^-d z5!6qgYO;h(@G$hak?gF@k+n80U z>mO;9>W0_ku6@W!^Q5m|Zdz>A+L5vT{w}WjZEWjn#>3htWViIQ_>Iw*q=mQjGh#vK zJja|#94_RI6iXjK_wvWVy+e=f*J+I$M&>hOBr{%SiBeup^)!bLl75dUIk}ARu?>l; z2q>tqjbBrcR%};Bi&eu6a~uL}vh&;K2SpQfs_wo- z3Epfu?*-x*e|WYNZto`_(odcs!w=G5AAe}`UgC_5jYgIFpMS)B`{NINOdR<4w+br3 zS6mBT!>nxWmpoi6uH`Y;06G)*Y2gsD9t|@~iVsx*1*+6NDkr zJrRb=?Tq&ogZJIQJ~O+Y=@E>hA-oA@uHa|E%mNj<_MN4FUEcdL8Ajg{{^M?$OKi_vbf%N=EeNy)M3YVnc4>@%zS&2TX#ZMbRaVHt{krR9zf2qd5Lg zOE8K3&Yvvs%m^VdKLp@I7X>Gy8&1*<#t#?*`F4%SgC_7I|qKRm@QQq>hXKt55F(%|Nfle|N1^)Oz-;^?=!L73oWpq1qqq7ZQZkXkvyc5vh2tMF zV&DLr0o4=>2wZGv$4}A+9LL~f9LHN2j{nuZUAlXF&;Mxe9%vWV@bQD?@x?OJ_~J;j z_U&fvL1yheX6<2S?cJ;$zM5Xhhc|$;VcciUbBgXBn`X`dVOG?YkS~%K{Z8CYK93kR z^cy3Fl; zK|O@%hLE@+MCncEldjElK3%YdbkX@+$ZFChMbUg(cz_(?f01Vn(0um9i`e&g-!rP& zsvz*i0NfZT`-c!U)r326T9?!0kl-PkGjjTzzfP?~WX`0;!se8seW&Lf`%R>u`TNPS z$JOr@{!sm+K0uDCuKIAo)hZ#;XGSKAwvJK}A~h$(({1#oW3-C?oU^@GfAAh^l&FGDt3((9ZNCR1;ka+;u;T=(4QmOmmgPR38g&7t zuBd`!{1SoQ_X8Ik?w0gyYA{OX{e;59zx1eJ|O4+fD!~yq##u)w_tYMf;q<(cq z)ZX?dj(=YGP$^lh>8Z9*#^q+-dV6eFT5x22SWabNM%<{_ecK4h8C%tAcaFXwRetr^ zk%RW(uGz|(thg+d6qLBW>fA5RPJg(%NjgwTbtTZ#ejBj zO2DIL@0VFBQcwY+FtbZ!H@L=Rg}~+=9GCIeaRms8*ygb{Wj{g(f@^em%Nr9{ABie` zvGettLxv1DSR-yz|MlYV&TI3#FD15ovG~y^5p{Dvt`f-1X-y|flzLGt%dTCm?T@<& zId1ORd3o7?yb)3zCI@xW(pgZaskxu2d#8-oMsvK;I01l!)EQBxZjP9!*XKH`eP5w+ZnFqaaxV-I8nkFKF;qLU!_P} zF7G|s#VKa(odfMc??Ah-#;o1I_fj6Gm9^sxF?g}0Rb)>z>?Up{>7wC49`NI{ zbU{arPO07 zJd96j#@C4!7}VL9&I>-(y2t8ysMOZ4Tjpiu7T zm-Q9d5Hay^IaXrE!^Keh(fTD@hS2}|_>3>8{AXLuwxmPl`~3V6JL!FN^7f>|W#lW( z=)k30Rbq~l^DiIKzZ2KyF8QT?&fL(@12cCgt}8$+W%h!I$S2znRd)OPQ{a#L)j9sk zjrf!CdS`p55#M*T1ApfI8J^^ET8-`8SIx(-=Hqv=%n4Hr2Q)Si!?`1V-OnlDZ<1p; zm3M@&&0{#~Gv*O&^B@k^D8s;DlVNCOF!bxG1!(8`tD+sZA10!|%tKw!&UmOw(Y{b+ z)_;+;4z*K(B-U2NzSrMBgtaU7_I;0be2(z(T;oq)=oC^cHUpk z6XY@tQVcS4yK*F#nJgB+kK<70Gp4=Zd4=k!);hZ$))V97dw_@aAFXP{_@tIA(*QiERFi1{vnwCx@a&TQ!{O1H=2g9~vIjoL z@^x)fPrzL>eJ0%y7=FOSca-0NCU|c59XSDTk!sa&?G2<{{5v-wns#eRy*)N1)Bb**&{_Ki&nGd(4-ca4&pW%Nu)24wp zd{4$R_<1Jqxs`EjwBvh&`tP|*e;NNzar_(mgHDil$?4=1K8|sGv?HH^x6AZ1XnYg= zcDtk#CjEAhd@=18qlc|V`pM+*2XZ)hj)9SWUgPsZa?9&t{V_iJfj)OjfAaC={+Vb; zKk(+QxUt-iq2kEd5g|KY#x8X|R7(aVnI~pk2U3Fc>mQ zVxmn!9(iy~#)2F84U70V*efmP($iJW5>XF#cMELTeTb}(&W&vxw-SwW!e(6)zg9N9nA6qjv%{b zT!^l!1Z#g`$8tuAko3GAa6)u3T1P+ViS2!BIjsYC!gnf0>r5wL?K4fZE~asu?*7;K z_MmltVe8=W=}eaMY8+oBY`-DT8;^G6b)f(D9~eBj1Mmp0>6x zRS5eI%OMdRK==N_nyrA1{9_!;pH5(TxSTFmDdGTisBw-7EMJ7Thw%1%e1pTR)B|Qq z4znq5*FaLU$SKlkIEgfp`Sgtm8G1Lr|2eXluaG};KJH=&Cw-tiF`LT)1)Mi=Yz#iaOp;!`rILQt zMNhXZE+Y~WhI;caZ0e;#Y5E2BUHKec2NC)PNUyB&VSX zEbp7|VLr!`u|M#7jPux!B^1dF^p|-K=okz zvGX(@uMaR9NdWCW48NrpGFV`(8&ksVVxwh+us^9q<7lszZb#qSL$8mGik-IJvDV+a zI(fqzKFjEH@Q&o`7JhfnTLobbo9M^$))Aj|O9byvmuE+R_ol&LdFg7`+#R*Q&u8;h zBWHlUgbE2lM3q`)%#H%1iZ(GSwK3nMpF>G+&eqNAJZ=bhq`KIt+*t`m<*skY&PLkN znU_hbJL6AJWd?&kwSGCj^ICNm`Eyg8)i7VirOHYfo2uK(In>+%{pJeiIgv7NA*ucH z^$6!VvX0#j9h=ElCZFK10Zr~^o)qi>z9+X!M~w0n+Bn+ry+Qr={;U6KF3)x{?OpB< zJ0}l$xh#KlDEA_=d>ih9Pecl$$*U)7eUQX0XLCz)CN4RZ(YWx_ZznAm|B5y|A0-4v zGY4N?)a~mL^a;B5(y0#Oc3gTUEF$Mt*Yk(qsTy$fA(8VpvTZ?jCbl2k3~N(w!F~)e zMqT^OTF9Wg*}=S&mfOnx7PGmAtSW*yJi{KezB3 zO2_9_^=?~oY-GvX3*Wdo^tR5JdL_UxP)d(AT$^NWh|4WBRlb;_K%^YNLk zfqv|qNe^;egNTD;IxGmL=eo1BiPP3V{~@vr zXknDXyg$4@bS~t*10M9lIbMJp+WGisN4^!>(G!~Nf^uVj%=;#nXS_e)m;JL09)Au$ z?=P%1_AiJ37ir_*PYZC%0h<|~Ccs%hXR@3s$gu@EthLMt55A_H!pBEHj-Pute!%6W z8GL;7MEf@BXMBU;ehr0kGWUydIf|ePRB5L3u-y5NB57*H7uqi>=>Bs2Qz_@rQ}tP@ zCjXp;93*{zfoL}%w@b_T2aX5R#ns58)j0C}E*+u^$%LhB@EouC@gz5d9(CI1z28Y` z`!ib({a8ERUQqS-mv#4lk1y-)uxjoY ze+uU9CccUZcfiwY8XtbI<9*i$jlcIU@H5+NC$pLc#;3KcPQe7fuw8Mn?=nHvo z{o`*JHt_ZGngaDKwDUNUU60CvEJFVtmY*i;?gSn+N3K10>}@NijWN%-|6FU_>aZaXu|^X$UBoM8*LYoj<(Rb_n3fpWw^K zs#I7fz~Fy;STFV`O6#R@WKCjXQAC8*a37zdvvCzI3v6sdf?6(Q2vb|jo%}aHO#d*P z`#4n@XssP8DZjJQ#5s5uEDcQ*EQr(e>ArTO62%7t0`l_$^sJz9@{~#85v-!o_xy%W zT3e-yM6&jdw9@9S8{_1jJX|?(;>GECxu6xu0;Ml_mrC5%kJFcdQ%9!V5C$C#9y6Rm zsnh;{V3UjxcSalbX8vzHBK7;q?LW=1C@5wE4qJ{xr@pG#Tup$$vCZf0|g%p{!VxjEjgwDbvko=}WAT6tW=^vE_T!^~~D#0}1(f>HO^wP|`+futqJe0RXv; zAUtD{kr+!=1kFjKTc%BKqeph`N>2Xq2T~9cFtTYEamb90otB#J7&xJl9smOMz**2%9THSzjCFwH?pz-O9XU2f80d` znvyfo%w}YIs|h$ifF|c{iiUuMMPs|FD&1U1jp`bgm7N+jzHod2y}5Krc=&TiiB<4~ z&f`6S@l_?F;Xje#W#!wqmzOy^vyv3+5!<@iJ7?WnNmtR_Yt`UOy`Uk)D@{HrelA(9 z@epS7F(P88&ELoG?kAAtaq@!+NKtNkxM$Iat5*5zj$NXm|2}mHZ$@s|P@dodBzPDFyfL`#bu9hW*mCdX3`)lL>i#_|O+Vow__c?5U?P zKAAs1!uP4T< z{?rw>o>q)lF4hwVCKKKw(A;ED{MBd)w_6;Mf#VK4=y&?SiKR86A%Dk2H%@7Fb&I7R``Oxc%>Lrx zNp%c9`WtPO{sO-3*o_q?^Gq-r&T+Bz*Tu)849}t#9Vr*3;k$Ox>nN(8mX@|jnQk<~ zoam41U?Hb5!B22+NvX(qIVwn4);eQwY*dgHw~VnWu1sKYQQ}vD&!l^K4I57ELg z+No2|{-u95-BUYk&#sUjE3au&&!SYz)h#_AwOZBBmzA^6;$A2k_>AE>fBn(KUnQA? zA#kR_;Qic{nf>ha+HwwqxwX>!_tDQElKCsH>Zux^o6x$8*t2CZ{#yTj+r`yg`oJe% ziwz48i25)@aGRN#$vJEb*NVddu*iLoXu%;9htPK zZMcKIUD7CTFHwlM6eEQ_y>8VPr%Wk#d9-N!_>r~#t+y^#i~qTGZmT}Y#@fxz)6+>4 zsDG3(F4$;PZH>KvCX1l3>@@{6%m-p}myRHyz+{tFq>BT<@*fVhS_O&~Jzdm8;Gqa? z$jWBERANn1Ti~LoKb$c(Aiz!K7HHR6RqSNv>6q-fD9d_pAQHaSxmUk_8K<{&#cFy5RHzXT%6={ZWvX)g(0JVr z%qJ2@s-`{{^4xT~Z~BuVPr^smO?wRw3eyQZQEWb6@cln_H+0TVjZpf3Vy_%#@8~D3r1$myEaV!FVu~-xmo+t+ zm7dy9+C6MNCJu_`z=sxU0&7gJnJq1Pib9`@vLg9leTTDS` zJKRP$o?O?`_l6Rk7fH1y2}9@yAJH=tsMz~n!}3XQHcVMQ>DIe~U_cf)@Ym4yt$H@_ zj%WebcbK>YPeHu{h)h0z-~|02aeIpuPN%={ePPYShCSo6f{v5)$0ViF-a(UDJto;> zH-6OG+2>S`Np;0%dYhhhV+Ov$+I_YxSPw|*qGwto#M9Mw3D$hB_-Wr z_pKmQ2PZW$R zdN=*n>E$dlI_TzAkfX1|zoHUZ421ig_Q!dMeC8EfVqV$gdMZ;R;3O3jG5tk zC8Q`^zeamk2$xsf)`F{BqoL)>8 z9M8+uofQ|Bl+rV$B_-tNl3N#~+^%YaWp{VC5YXN2+Bx@Ymfa(8T@<%V0S9`_Z`4Jh z`1}uLR3;vnT1T>9Y)BbnV;dUMVEFOhdZ>_06dkhz1A2DiI;<*WDdK_)NYwh+SerXk z(4|X$y0&zQ;TB-I0lGptKQb_xM_J9}B$nK7~1RpS%QZfpf{}tT{7#yhy-Kq zt@=(yiHTKoVdeu6q9(%1dGlxfK5e?r>&y4=U0OSQcx!vx(xn>`)~;T?jQ%!rW{~&S zKWv>I5;}Cm)I~KjX3kUY_p`H|H}A`5-VfJ$0RV*xFQ9KKn#rq0f+^8ck4)i?fpxtQY2EVmdU7Z>#t{tAZk#ri)+W zPDOW4QygYT=BEU_T;wn|t@E|B^^1v;Pd%0r6-l0GIFXxT)g0-!`NS}dW5zT3zs}|6 zc^yARuZ4snNOZ4g?NY5P9WrdRXF}JdxQD7o zG9HQhMGyx(3STGF4S67d17NNjG7XvOhjzlwIPU43V5QMa*dG$u)_G#5KE66I!12+z z6u+XLke+yBS*u^ZEBu`A&w?BbnroR?@u9J_74xM+&fX9DwZVK^HX$rI=%d`Z6D7PV zyb(pyaJ9+%!ny`Ki~o9fHPoLo-EorJ67lqNMdLXwvYKD<2+kzeY1u$B+^~^kXc_Gp zWw(%SMRJ4b(PC_s?42Ex;#b@g++)R$V!*Rdc%{QoXsHZ$xeRZMLxLFELn=ip%Wi1Faun2PCoJs?JAK%CM zy()mLL3;~qq?23@l;4)+gBRbMT(nK->+E{>%Oy#-U<?Mx#S*~`;%2j(W%$_r6_Jw^b?|~WD$7lqqjB**)?~YmrS=+$9!__J%WI>=PRIjdJ)n7F%k(^~q=!lQ}Z&)dW-3EGw8kKq2;OkJ{iWeyhzE9 z78=$IbHqBsbyE7Ntm9>P*aC1iehA{^*T5&3E&zfHWnzsnC;VkJgp&ERm=hW|IH~fT z%a$rD-w4#8sE5$($#qlKpVZeE1?hdP{!3EV5v$fes@8hisfE>}v7da1UI_8 zCwv!md%B*~_k@rsL}y4>Uiy))f+#&kul$JD-6XtO$i}+~o{}ilv9n}{I!e@zu!2$+ znn1S41+gvoeu&zlG#UI&<{<{ zSJ>eUK5lg|46#F{vvZV$<_-I7ZBx@8cs!UC7$!$aI8~LM8PgJCT>K9mrYF~TtzHtj zj0}0HbxLD&%zw#5xK?QXPzP;W)BRt}?(pzTBHlShU$!mg-C&y6H;%Js5I3VJ{2{zR zl-sHhEyA?b#CL1-0}pIkPfx5`rE{*B)S174{u(UhMj0l36nx-;;u2e%WiRFC&@Yla zJzz=S-_)jc7)qYG1$%h+f4QBFwOZ0F>2ctT#dS<$a~1e*vx{qj4m>!4jk~s{p!<`z9fKL|zK7*&Scp-`K9z48i0$Jba(7L4SzD zya||BCM+OT7Ekv5RwqNWY?3kz7)2BdR|gTk9m2^;qsOY8CRTkIH_6M#!dqWCrM`Z$ zZeDG3-Ic~dmGi^`LtM41kD7Stzq~5gQz-=S3Enp0@l9^pb!lT<)x&J<0xZ;i_D+rt zLEm@|w;Gq&>gKs2Ey2%XxRtHHh1%QNfxQKKi^0t7J82WnBGdjrRJbh7PRsX37U;}0 zG6`BWBjgu_LRHKp^R*=TAv-5)mEp`qRPDwVuJ?Mkk2-qt-*$Kj?lO;Rjf>7HXS+YOZ zh#v`V6Hi4Mb|$^@-GbfnT|**YWD9usQ+D=cReF)CnQ$339Pjul@_ zY30Pq_vsDLhnGwr$*@Xrn9Sys&j8aV_@q8-g4%^%9nH*9eO9?TOrG;{b3=V?R7F)~ z%{qQi9{dRtUZK@tna!B0W45gwZl#TNb;FdX+2V7))Ax<|IOH$vT!eHGQj$Dw=2%?j|p@2k)DWMn4Cj809@+BH4JW|)7%OSo)0 z>ik0woloH&3#gF!{e%B(ZLpFy}yy~+*B^Q_QC^UE9qw{%Y8Hbg4?QV^Z~Tw z6_UT#-)l_pmyg}{p#(XWEoT-Iz3QXfz+$WEtQuA>lOygKQ zB#$$w9pk7E$?Zxn-XF>l{QAfekZ$pKIjD-q%XzID&-In#<>{;)c{{u0@u5pKo8_bJ z!V3hf?h3IvF^9(?d48O*wr?@-Z_HIe+!7dN<13Moi2i6tt_rKiC^C+Jj`zQ_4rZ5h zh4;TRzj`funE>PP{uV{Zg*iw7DdMz%1ns;(`X#z%bnS04A4`_DoDLqy&e^Zq5Q zU2%wh1w5CVjo*p(XNZh9^Zuo*{Vx64_=oS(pN)TbQ2%`3VJ-7R2&mFD?T2waZ~|gI z*cYsa=U(&m>^H9GMYbM!|9Jl=31VS``p;Dl$9zvJj?+_U2X@fEjn(S$aj^3YFT(d6 zFT5T_WrO`VAh(mR@a~O#M=QH?6jTalf*fbEiIzn#Q+-6J{65}@x5<3RlDiZN;tytDoZIlTz5&)Y+Pq&94Tt z)o!%k7nA=4?guL^!v$e^xrN;&^d5V0?%cUY8)ITS=ROVJR&ULi>b%L-3l@IZKC8Wc zeoAs^D7!JNrL6WQ-*&|w zQ#*3YkS{`>G}3`F7mf8-Azy?XlG~9n#_~nDPRMi7ct!%UL+5ikdkXS#l&S*xeZ`-F z`w43s!51J)ST1RmstI-0_DmCHBxMRLuoo_H6Ejj-&+FUU`K@F@dJXyOr@cEiTz(q4 ztw*o5&w}l`M!HPqUA>CoFhB4y6uD~Pr%8kOFWN05d3(*Ec9}1;{LC7qIbW9dLC%kq z^R^HJ!1(e$OaY#Nf1H<2#eMu-==-i(!2iMG&k+A+UQu>`rUc82X{C@vl5ah!+U^yg zU$`he!>bCpp7Hca+~0m>&g^&<%b?~y=z6hRNa$UDqM)#_;Dlgl_>;aw-z44JNRp4C z3&QC&j=RgWl;=iTvx;s%lN^?f9(ZyF#4zceNVk(hGTEzXQtKi!4U_W1KEz{=@OC3gh{47y&ad$CWqG_$+13xgxja5A-ecCE!7umU zuMFykAGxMzm*w|)5qg+$y}$7BV~qHD%mlx9gUkC8zTUGUzSrNMjW74#FU{zO{{|ml z?tk9cU)B#8{;@){{k>B^I4eHN$CvxF@#X%e{gwMO_{%vw=fy3&zbkcP`HaBx$KpF& zp2qTaTeKsek+*{rfFGCg_Hybb=O?270^SZcBi2kc4VA6T7O5@e^$@68Q%967UPQFB>%d16@X>43L# zW+wR!^+||#Uveqny)O%wjgQrcP4mARV;i5A;^XQ{o6ml$9O3C7IXb;4Fe$@6A-=(-yj-`(;YU^C_*3Q@;=qcgZV-vD{LS0-s zI*iHVBa`UM^n+U$al{k}eT~Y;;ajvoRu@tR{NU&E@g6}O*#}#BK14%g*A(|4dFxba zU2L2`{^2&fDOp5=$o2#Ct(4AbVR~!Bf#!^iIDdUpQ~KDrfB@l0No|R5h`ZakvWJUC zg$8uFCJnWSNiVy4s*f892I6wii=4~G5(`x@yWG1K4WW7SqpK= zDa?v%x3W$53GUA=37sr}{FyEl0=}?L`3qjZD+IQXN7b)P$;O>sT)#I$-T#Rh*GBCM zYM}hdPwmgvX;Q`HZwps8J!3D$rf+YsQZE?l%bIGcF5HpCTMlGy0Y^CpdVkRnG5-JLU>9P&dF6GzT)*5rnc6!sso zs3=(H?Z337L?2k2UhAv-Vpe;5MR!p6#)-9o9;G>H)+46XXAIdY_{EPJY8j{Z9~nN^ z$syZ6oUfU^L2^++QSO9Mg0M2p-jIC!mMDJinGaLmtJzBJa) zLigyS2u$8;FR^qfDcjf)rd8V~kl;Y%3HVMJ-)tlOJt;Za7IJw~-RLBHm788V-x8jv z3tm!MqSx1@l<7m+ib^&`#Sq?Tgyp$9#(Ia>Rk&z^4gVx2&hT+h31E2f z^+*X|tflWS*o_OJpFqpf!WnGRvEV`E{yMF+F6OcNbq4(-)q(y_y-(}K1%|X}sU@Iy zmGCY7WBM3)<2!#8-yl9e_JW}ig$8vJlcl=WB%(Zp8v}27SuG&Wib()eJ)3l4Sq;r z!Q`1-^M`gWN6~(O^ItCKjCRx<&VM1lSbt`Ba{K2v;}x(AKjrq%K>w!+BqiW6?_Y@V zpYQKKN*)JtbQ;>x4?Jg&^f~D?jc<5D(B=a5I5=wqH@fqjh zx_rNAPuFo}j}#?_>bqP=k54{KQjL7XtvWn?&#v-jnRB#}7V%qtZqmT>-h*riW-@z# zwe?TI9DeWu%icfcgE56cAWC5AALRyxXAk}U69N|T|p zUocG4q=oBk1fe=G^@&5})iO|XNz&@nxc>YUV`0tQt8|o9;w;33Su@_2+*dDdgWt@8 z(GE+HO-d5Am_H)HOMxf#+Yh9~Mm z1`@eL>UQp)QvEOaA}Z$4QuTh&%m_rrGe9+*aSr$@z3?;7Ws>7W$P|+A6E*`sP8(&S zBhxB{cbn2P+}!oLrlyPxcQ**i>lZT<-0g;I^%pZT+}w23y-A>Fnu_^Cu(*d#wq|FA zdyrJYovj$D>cOErRXt0bTU^}J!=xtryM!;Ug#TbzWO!c4?O)U$X3Osyv}Wi5eXV`R zR63O>e5CfqHx+!;I-eL^i3NYS1|}kj(}`N0xZ3c|s*eg|iEE{BoNNyx_ZHDnd+A>K zz|U?+iR8|%Sjx#E{u7i{^i$H_L91{7ExdN+1H<8uxSa0Gz&s-6@n$-ZT1Wiju)Qp+ zLKCN9xyUSNz}(Kvu=eo^BSVOM3{}lVBxp?VXk;W8woS>)*jV(ji@(1?JiRRa* z$F|Bj%NB}0VNGV?i51HOhUK&q$7gP_yks{=|E`YLw`iRVNq(Ly)3fOXmb7e1o)oI= zk*1suyMANeZs}R+oC&VDyTb)X3-Twd9l0e&NTSBi4o4;i2t?d);&a)WTwD zk||{wC09#-AWN*RyDF<(kz9Xi{Y7LZZyRB0)7G$im$xGwVQ<@?x4fEc#$CV2WyZV2 zec!`YLk*~Wr<XAeoE>&3HPQ(C659O!)!uJOUaKivSUP zljyLI@F;6YoR2cYp_R67qWkj<9~B9ECepM>XV1tIHz3n&Hp(J= zayn?+BW(YOVidKPqHqpad`I@3F`a|mm4l7r>W49?A4YJUsJT0z-JHW5S@60^QQ@`K z)umMtkrqQdJd5Lh9h>Fh*|qq?Z5f&80#0t3bL7qFA>n0{CNz7DuC_yFew>VH>kXjvf^%Wvj+dxBdg39$7ZDyY95?uzn^ z{AHnuWZpo6jt3HS){_Yh#(W;>46*kMLrumuxhBJup(DD>89aPVji8Tk?1dBHFwNtw z*4iqO8^g8&sjqhAgZk7ITbq#3hPf{E^8&m`;ytG$Ah2gT`xPU~4%C6E=lDhnxS?#=YP#{W2V(d(1kUih=)*YpBnOGY{zH{AQ# zkU2Bx-lcXKB*tSDFo2v#_Ab_A*c+TR>g1WRgwNqA}ug z-ls}PYRPHu)7iRCREX%~s!N$kB{b-hfU6 z9iC?faD1s8mCOMzApMX<3Yg~|JVW#WeF<-EdoM6(UN`%DJ|4RNaowLc6GxFX|6TWD zs*Yq|*OX7oiW*C=e-&|y{`woGzx_(xR?H_)lVVarjx1Py_10;YF-+`<2J?5q)|rHJ zJY0S|b&%ohCHkA<01%X14>AIx7HXR^GvWgRnDP)Gpc7K*4ed~Cx8fr$Fsmyce&}Qi zoc``4{hTJc`eFU|=2o?#R?#=1nQJ))a~x`!laqg*=8$99^5ZiiqwqjE-)nfoly8AHnVthlpfTPRLNE#LQ;t&l zXxhlaTypQdWYPT%-k;D7Gw_7c8=rbN3LS@&vQQ5o69;)bSb>R9TtA)z%pe zBjc@xdHZBnjvHsErhD2*hR1}8%Guq8g>F7;*VEf)B_5(CY1i-W;J5&JkW6wVEYBI+43D^0R*04 z&2wiN<(kzK-3PjSg`ReoRrE?$NtBf}sFG;!?H)7w?0v(eyMrIx#5@~J^Z22bQ+`WB z;|NCqn4dq~KLS%C5$q{)r>F74iF@%8mYj-1ajH2xi+DGqSgE-YwVb>6N_Bi1!!33U z#5h)_#HM0=!Bj&!gvH8zjrNM5G3A4pw0IpLfE?uN1Tw6C?yqf3H0tQ)<)mi<*v$)Y zTNFESbA%_n3ip`nWm(J@z`F*({%@Cgr>R$310 z97irjvEn^wypCQAA0b2+MgLE!32GZ*BH`@xAMj1zuh?+QTg zU08TT`6J!}BC|+Yx_@@J5C~NnRxpFD26vnYnobWUd7UxIL8c-1J<>m%z$ODYn`Fgm#l>b!(pbvI+>N&sCO*k*TU7zKZJAxp z=z|x_aV^(K4gE);A1p^RE0&ye37Xw`f_a@vH0MxVFbFKa5TAaFRk*b7>KrDsZlC1j zY6M6#CIWatERV(DAsw}#5GE$PY#DJHbJ=8rO6#YEQ-ftF7luA@@Mog@Jv`#sXXq~- zGpDzPH{ib|yS)t~fcD+W@bHPHV^V}DV!3lC?q~g({K%&<1{{ukPIWVB_dyI0)Ii8NhoB*30hLP!J`z z7@=kp)D7ZLz;n|tJxrizl6egX-xT;q!~|NVvXG}EGbI}%5TmU{VVFzeAPDWOKY!NU z)5&?F&Z~4^RFJ#i_TOPc86YHhd>x0Zw3D3DyCwHStZ`i-JaHsG?&!>_{UBTT!XlBg zeTLU+@LJfuJ$*lk2LV5W-e@&(u$hb6l>B6JcpCRiZM2-&5fqlJN=|XK-?4-KSy5G0 z7nogD-Poj^Ji=;xOvpa}mWiVZhYiWp&lKwOmg(CkO`7n@Hy+mcMAQM zx9i?Ewj-P?3cMUHJ9%V8_&W_7;(6U^*svXk%2HDRGk6YQR6Yq9Q~#e~gn}>_+sc^# zCy?7FPcHhTJ=NyYvmPE!PPH8Gfo}A*l>a{~CL^)0!EI~`F-W#9USQEL+Xp3Jy=us?KaNLvc_(n zl#=Z1v9ayYVc>Zr-Z#4d-2vK&csH%qN_(o5q?VrYKEwU!9h$752t*xA z2j`E>ugPK{^3k_L2^5oyoQAYf{jv(F=rWsN8Lx6z;c)%EuC97rbHlwZaq}THkJnTO z>mGjS1j!Xx61+hVR^{X`tO^6~xKjH>ab!+j-uRt|-Nm_kAK6+^xc6Z)(lB;%_3mA_ zzS-6D7P8{2yFNFl>2LSn$KRTBaoxI?@5y-Za!0J&o$I`2@af5&Fp1_X2?dJ;OhEw; zKYX0zlJp}Ckk2PRF(G1HZf+3($(ypl)g>SR3viCdi+3_0y*7g&5LNxa0#S+r(1({) z%kn=>bz}YPn!lRD$b+9uo^LE}ZER_o`rE9Iu<(NiZ%ryG$qLNgJpQ3cbsk=eHtM{+ z-QE5UCf{X6x;SrsgxCViOZm{3@a))H#f>6&0jOmO}BJ5u5pHe#4|)KF_-4f(_%(RaJ)agx19jawnb^{84EfTg=Chj_=T)NeQkd#w;V(I?#=wBZhh> zT8;=NS&Lp4B>D*nF!a8>D61?nD<@$B@U)xeD6OT5EPDf9cs0{1aoA;+#nQT2Whv_E z_RJ;ec3I9!ama8FT!5FI?D~wYeUTb{(8an;wia`Mm|*Ki7qF6b1bZ@G%cO zR?;%iF-|Yjn;8=~cgLI2FFrDN(o)>GcgKwMjHzg`s>I2uq5|cj>)C~SGs&X^6XPZ; zqoTEDQV5%!-QSfdF==W<~co%2EcGW~ob;}gsf;<)YVqe2B}V>q)^SlUlAE|gG# zH{2%a9Zs$uW%hcM%@zbmb%tqOp>acmYsPX|;3gjPKZoyPc0c&%nNf!S;nwyMMVG*% z^vpT^`Sx@Ab0qC(;L-ML*RBccu3a;9@_CozyDI^^Glv|Q#S0K17d7lI`~yyerZ{qq zq^)+aaj_Kc*QBM?%%EphIomp0l8sKOW9m>hDp}ZjC0MM<$r21*!Y#FweB=G#M!c}9BIpNduJj`>2IEp0HMU?s!&a@mh@u-Ly zoG%#;2<5zbC_x~xAA6^cE9USgf=_S4_`n;ECGcj_CCE5bhW?>(c7gI}I61DsS7m=o zu{tdDTIc)=oSw3j$Xn%g7;MLwz?Yq8gS0acI0%gGDRX1wi8F%fsEygEHgMJ*Iz&Hf zYG|m9F0ZOWuC+ln+imgdWb)Cc><2&u1 zS5i{lGB)!#QU`y&ic@x6u8KXdQ}8z&XGO8a+xg>swc+9MAR?d;yrft?(;Oy{pczmy zC<9P|xiA^wFZvcvoLGN2Gm`@)sw4+qtDE8uNE*Ft0o9l>3@X&!o^BlXL{0Ms1{CVO z2cSZ&t~pqExiOy?>k>sJa*XxR6Ob|1fA&F~^2rAqV(K%eSpG>S-hPu?daPh#O~c`P z17_*w&5`A#U5A4sDv6hS)BzY%A@L;HAO*^5n#X2}`#H{x7wvTj>*vPC9N202OvsYa z#_!sb(MISe;7xA=KIV7+7hg1IQt&pKJOR?1^XO^&Ec4JL0y+9woIO>RYjj)tFZ|1p z`Qx@t{fwEuVd6`li*5YMzqxGhaOa@19&kWjvRf_~TJAswWW&G-5!a}O5A*QU)r=pD zH%|EtgEeIp^@qo1=w>^)xKux)H=M|w;3K>r>FMoYS2k`hUvzzN*xY&F7+U#JTJ|!g z>cd}BEBMb4#=9VaL==c?*OGho%p%#Z(8YUZ(c@rScqQj{4_?Ya)Eu0W$IAh$sV@3o zua(*{eNe887PZE;2yfrKu=SZ=>zPq~G!(()EcYUpJ zOGnrGk{TV|6HHe7_x?3xg!K^m5&b8YzoPL$q!g)eG-nzMt z{dK_p4(JsF3`y6f3kV2WR8-_%Nzz`XXPCpUjXC^C1RQ?l75fC~c2B>v4|+u3x00R8 z;g0c8_HSIJZk(S!AaK!yB9HxCL3u$tzLI$mZH)t#?-x(}bImlMeAi|z;6p^o96s)4 zVAxA$9zXU$_mEDn3tBW`yhkNTebFhV>XAUh@w_~p`&|HLZr9HL!`pucMpb(EgDWsQ8LP#f_77_?O^cJM|UZhFyM4B{FKoGDYML@+02qL1WfE^IKQnItZ z*O|K;Kz)Cn?_ZCYP43-$XU?2CbNZZ_^wqWon~#!d+^`qK1vCphG+VL|49#oWN4^{t zV~m|rQysh$yH#A^`UK!3-2k|7eb#l}-Bhh}umLV`+Y7wI4Q&GUhix`P4%Ta97(Vh9 zU^#Xguv|xu<7hzMF6tyJ7T9)kx4Kt>ZSJaqu2ePmByNgM)N zg1J2ASUJi`kkg}AbW87Ys0r*@QAQ$pF7GN}eHjaPz1jvfAVeei5A~4hhHI}>`uO|y zS`$NX87q&WMKmxsnFQ`vyz4E{Joto+<6W&a1!#SXHe^yZnvFY>!w@*M;@Po|F)>a~ zA;Hz93C1$wP{%ISb_w*%&mW!<85z`zAF1{-gcnQWLqp5ULWB9QU+_UneMRNg5oM(Y z=cL3w{1o#p4T5`4^euRlTF(HHAZzzV@drs-Ai}BvgaaJ5y)>cJ+WlxlaYD<4L#*^% zUV3_~zQ!oefRUp<=0&K<%5L&sgG0;8Lqop^2`WV>=v1G?Bxgfu*@&%`6&R|(TN>t= z&USB&Ier+MeHfYrX+C7jd9rPZ0XY-}Rn0@7SxHFj-J@r1kE9fPeXGtUH8?x(c1ntq zw@`9kt7;deggbTVQ$M5^#b*P9>P;6*%Y#CuO}o*pzV{;$+5}sGwwuy7N=%T~nQ~iz z*2l>%xMN3((7HgO1jrWTXvs&RD|zEW-Lpv8Y8JoH#^s|i2a63MEiOcigDo7L2^IQm zNOPT@2h|^nxQ^0D1$vkz2kl))dtsmlwSpy)LNhh~BYxx*{(3YvO1p#%Yd{?!(M`W2 zVMp4=j2i!{+7+4IKd9w@ZUqDtncst6O&h;aAa@%;)-<8NnZQ56uhQ!y3rvt8ixhj< z=VM`I#%y`5s%`jFExfU{U73Pi>rEC~PZK_ry|9g)XsInPR$c}Cp`^K?_*Zy3l3^l+ zJ@m*RNcI9rNghHB3x{pn06*=6^i<|`^fkf`jRtj&UR@WNIw+>^_}2zrou1Xx)uB4N zN31_DmY5$4U>-OUDA-!#=)sMPY*WASY&@&X)+ZpQ0bE|-r{n|>8h8>UFM=FmJnC{1 zA-?Z2`Qdn0W!*5(JWu53M|OH9{uvV%M=sN_&#_M)TkyMn%ppkR%yYtZA1mKfg%LqMt6)78(- zo{g$yMV+xzd5grfj!xOJ{mY}IiI{mRa%S-Gi-m597}Ln^3;U#s=%SZPPC$56XNX%G zV~l0Jau+Zmhnl1VSW5Z^Aw= zNsbAKfB6;eGh=34P}{m*SHjp&a+|7-V}>oQ>(WK7V#EU9YW1Y3V605AKx;|ml};u zi@&hxLI$@~ITqbg14Z`z8!@v;!mr)AruTWEAdF$n64cTda#=S3)MT*_O zWRWh!A(;h5t9G-m*eqnn{x4gU)@Qu6UwchFqOe$$dYzzp!Ai(S^$-$RGcL>oZORl5 z6W)*_wGVuDu4{`mUDG1xvNUuT_iw126kVgFoxV+$_=?Ol)^6vt0()I;mLhpLe^L>f z25a~+`0OL2buC!9sfS?58~OC&20XjapPl$g{E6+=)W?sR&yPeBXU z=r-HRDk|EhRa8}N|8#wQRP@f_FLVLXT^n6hT3_~hm9SM&xA{#z6*?AT}-i7u&M=rhb>GqP6ytI6==Q&U8d6ur3L)kCt zhUbe6JD&L`4|hD%9KVgRJfrqQmXdXP5wWxRdac82n#Bqq>n1(V)=gygX*pH8#$6xj z=FyGSgfrx6cUFd=AK^Q-`T|L6hwH%72yc%MjitC6OP(pKtZ0{RL)*HjrPr@)r%l~? zg+1R`6%mFHaxTLpQAf(% zlp)EX*hr)?gpz$FZLp7xNlpw3uy^R#Cot#}YbhxzDD?y@W>I;0yzF5qDe1>_BmPUz zsEUe`qSR7SOu2O%H7R^}f4&A0*8a9)Qo^2rYeOkf>S50S`=EC^Tkc)x18UsCTgAAV zFJ@&KszC4wi^3666i1~;sIn2jm!c>2?hzE)x@>Z1Q~;2+y@^J`~Cl{~{S4*}5Iu zx^^XR_!k0qX~5kvfxC}@I~n!uilxPXPX_jAexV)+Zzl*#XggjubtqMjI5fC00Z6_x z?B9nEbkDlTl)=z-ULEM`-Qq!d8dRa!>6yJ;96K3%#Q6)iXj9S!wz=PUNn-v&|GCJj zvh)doz|A~fr5y);jO-&YC1xP^Ja)GX;Kx_-623?(;a%7~mRSv>u}W^w2S}3Ci^sEz zcwG2Mhu~dgo2V*{nU$WblQcYbQ z@|k;x9Ot3SlY=B^rq<52-+<%E-$v=7D1(o$RQh5eU>m&RR{W5aW zs;xKE{(tbnHfT2h&HrHdF+k;qU>E=9hkQJB()h3j#G@Qh}r$IUNG*ntN+sODvMJq1j8{{hkeA(Mrp*qU2o16FF)oE*=NSRv)DmRAhRh7b7# zY}vK>kb5kG#4aiz5xR`));*eaKq+Ho{~W;olIX&_{Mg8_gf$tK<#xFklOv+r*<^`| zjbvaWI@(62;+iNtHAR-x$KaD%gJV2t_vAgTV5v<~T#bza7q_FyaGvCK?n z%6x1bO50U{?_=fJ-b7MC!(lPD`1Hg|L-B}I30a}SHQ*7qWFX?9F- z=isL8SvLDyO^^-`6_vmQJ+?#qxD0a_LFXIijZ~MisK>J_F?=Z)F$)pMAg%%jxN>IRqb|c z*lLFML0_rf2A8bKwT#j21pd=eCjl!5kP&vprh(?k@PXXaLt#X261*JNw4_Jp1UfDX zHi%><0W+dO&<^Hiu&S^?gPMs{YRg%2cb~eRDZWf%avFcTryexs=2Vp)>0`vyMf4&*WcJyZHKaS{EG>LL+-UBoJ9kA=aFxex)z{$rL9Sm_S)stXFAd zenQr_569ZuOUbHacg1*T9C%UXlU)&u2*X^^W;o#sK{9u0vy<-ObYuu6>oF%h)Ji1V z3RObBt~xTDnXAn50@Q=Y+C-0uo?r{*ck$DTO-mG~rSpH*@n6>C)8+`V7C=^g|6f0P z9*`|~YrZ1aH*J;cRlkU!Bjn9#I|w?;pxJ8HBL1~tn6(bDH~W_}O4~s=q58$9*y&r< zn*J&-4aWMo)qn87!8+mdEE*nNCRW7{t!sPN(@p_LyP&}O%#X^VY#ykPq<^di1o)PB zNbVfW)A`O+zlZw-I>rjP5qH+k0^AO2l&@JVfDfU_cVSz3a2#z1jBi>W%&)R51ElUE z{6-ueRoIS7*hfM!Yh|%E6n3p2N!9>H|FdvM|$*6$cz z-D`M_uEJiqE{)+Ga8Ps&+iPCJ_VbR~(8sR{R_OOHO4rbjo}#fhoW&sH2lFm|m(FT0 zb!tB|mA}wtRy(OvyIE;`|BLJt&t)+vsV077Vk}?r3gsro8wN--DE?@5TB$azNY|#Q zzBM`Hjz}XWKXz1YfQ*PX9U8UL8rwfMwCl@#_m{LWDkbE^8uvAK-4riKhEE(xW(K*LxwYPwL(OZLeWyQE{-u12g z16nv|W}@H3_zA}B}#th003}mv3kCxIBX^PfGWMSJxBtQ$dYBk0x zLxu=aNb8OMVM=o{J>d+W7n3oL7&16gxu;sBG(nYlOSX>6fZ1&4oGw8#N zz5M}W`?NIIl(WN}+}*P4eYTBHN%MA183kaSywSb@7VWRE^7EftSUjzJ>r8+wS#Dtb z@1qa37Hzm5)G11u6P1ck8bpuP$c9@#l{v-x$EW!PxOjP1dbSJ-3>@*%45J||GB?1_ z(Y2&>0ss1mv+@h;T-~eP+^4#`Mn8QpBf#Iz!x)p>EjC6PqvEJu+Ng9upYV}A#ysi; z^LX_PF^^ZSYhC`u9zfGEY=@kMcg2ho3le4%Rycv%{cOK4&++MD=v$B$;O}LR zR=Tj~%+*6;W9PcM#kx^^Zn-j+twaqloea*XUduS+$~B6vUG=g%TP^T^POg*ABBvfU z57|qpvLx}dY0Tlo2Dy#}v3kB$9nU;GH{14{433BrFDWVfuQ%4C?CIBhE2|gJvEj-c zX@>4I(ViahCX+NH*zNi5!Me}(@;6xiUUb9K<yQVvAKt7^3e8+Xq)yxfce;b0%RBI zn*}K}F7`*++2kR~RX$$bmMj_)-!eKdHa0GCP;s=qoqyCcB@?a*Z@2W0vnExHcX04{ z7RjCYkr~Fgd^F2CDPeLK-3jv1vPiuX(?=rh_nTmTg4qT0(c1U^d~V0iJ%6fm5shc# ztk3GTrg&zO<3e~~Fe~79gSGD+`g70D9nS$L-z!t)0^LB-rU!{TCcXaTy6$H;FjSZ0 z-pI%}%5I|X)_886^*LF{Mt1tib=}Tw;AfSoh;kiaCEOeBomTG1Q>@P+%?LZ1*v;EJ zwl2PM5X~*Pex1hQjb}czK7&XbOlN85&7Gpy(jB$J64R`fzh_%fdl+no@X5CJ+0$3& zZoVWTqyn18QI&P_1d2gpCq1>f4Q<{)oAkT^-oek99Uu1+^(pY7`4zOe*ZMsI&+M0@ zFY>?WYc`SI*Q~a5XIt64$NFRQn)|cd;!jF#ECsY9o}ax3?+f1fmHSD1Ei339ZF8F= ztW6S3+)ut?{r(|LcmRCqS11EU_!}g#S`Z~hNU`O3Hj2MJfiIQ5VN=b4d@lMJhrhoQ z&uNfjcneR^m*^hr`bQ~B3WV=PFU_Du|3Z;<-1h&!NU+IN{wfl&w*p`|I#w{u^^fdo`Lrq&@Ob z+Di`IL!3MZf3Jz<8n+qW3w~dGN(--FKaBqgPc`h4WRH4cVs5ar?j|1=%+|0=htX$> zHb`EjD?^s(|1)7uTZP1*CfV~#Z^W*-z|VR2Y%L(vz_KW$kw(h}DDNMp0R9e#7p;nsDB z-<+-7>C)x(W1Tx6dtJb%DPV`?Dy=Vc8PY`HrP3;}bj0E(5l8Y(N|+htjSVj6ybWI- z{=DC_S9s@V>>VeMcXE-xyL@@JB+ox_hov4l!aE_4tfZTOh4eEv9efwGMQX@_vm4Io z5PlnFQQc@{Yzk6ZeWFm7q7e{Ob;sTE8^#S_N?H6|vxxz%=F zmtRm+?4OmJTbOGI)oDH4bHnE+CAzt_Z?_^lCs%3O5a8_O>=NYb1f9e)zGZ#?)D#DM z&-FphF0O7N0Zz_(#VsMeNB^WGJ3Gw9=h8;m1M;45sbWKAn)-uR`tSOjUqAZU6Nf&N zzhEgC_c?z2?YA+m|9{9D(7QZ9yO_9>fr^>R?DSoR5^ct>`}o7{mr+fv6fH38|U+@_eKhtp;JDU7wcBL z8zD2iG&4~PWz@}?;G^^9I%P0wyyzSNA+C3GPw6>LTfDo`QhN`+F!Z^N=g6fN!~f6q z%YJN$oxIKKx3xiCzYf#H`sG7|B*oX1G<>|bZ&(YbjO5|tp^~9b9;V!}d;uK|74FQ* zxJCCqRqilfac{gC7CGHB-@*BzyXc;@z}(XMT%aA= znYNW?pDr0~4^`XNFmr#v9}Rs2HYpQ(>K{44z^Y+cUDKpx@$ReawE-Sk1}}GiMIRZ` zDzsCLXH|X6@uOVq`~y=AA&&Nvawj<`(m&46)x+OA%FV?+e5|*7udWFZ#t761XyF9> zEK@FPmLr!A^JLDkjwcs5D;D_KV#67)!aYUYTWA}j#YMTTvD57qd;@Y$-}d>oy4}2( z9YwnX@ZCY(Zq!^mu6dp`X6d-4Gqtag%pCZiZR4{6*oYAhMb~Tis?Bp|ZaQS+v7}R= zox$30&AWORwDYvNr{+s5j-kB)$B=s(tK9Pl7q!i7@&LPam(OflR^H2RVaTgXAojFD zkBU9K>nGP)PARhqcKD1^Ph*GlK4|Q4hA{I9<&?!$camb`2m(lYQ;I2^`~4M{@VDP^ z@8P0EGynAPSs9f{Q}w7G`D@&8&j!E065{aa?T;#y$B?oF+~Z3ZV%T z__g_?O(B~C8fzQ*3ws(l0^9W5%iPmqRG-sY)eG*}7_c!IPdYX3X~Z*7cZ)Rh^-mCg z0s}C};l=!A1N)=T^ST$0nJY#VLr6*Fc^24L9?m^WH(YMi0t(S8>1R9GGq_Dkin!_)P; zh%o=IecjwvcH5m28I`hTVZXkla5A$m#*lz&Q#4i@DzqfCpJ8Xn^C3G7-1FEguN+gy znu6!btj{5f1c8-s^W_~FN!X6i=lT1`j=iEjSAyrffD@7v0(Yv~W&Y@?kf#C~0~Q72 zlW-`|gZ{tdeR1YUh*-mD*8C-!H1NL1j%ip^6)&;mYJMU6)QH7s&D6?cr;OsfDB3FI zWBlc+dWJYn9ol=7mq3#e??fVbqS?1&zQu~8umf{#ERuZM;jM@M8M8fa%i}FY0tUd$ zHPFv^TM!gz<|E$Ll3^(#9`fMGJz|0qj+gSZXn|`-(h;*}IC=NJfN4DF`Ld<8(6|4^clgJ|c$)QX?)eDg z0iG6dgC)t5hxRrpPZ^|F!;s&1O2h7bkMBl5{O;Zl2JH~*clW=wY}44GP7u+Ak@-Bx zu2DYf*sGUva)4;}-YUz>nhvPDWBvZ#x7E5~9VS9Xws1e?*)DPEnJft83Cn};Qf>PfmW6YJ^-&9F}RRU1!N580scc}S0>~NS94`tW*-gn*+ZT7>wmaBAS^*X9K z6yX^ZQP*34HT933*i2Yb)pQFVfRX@nfIXb=ii6I8)15evZ*fH#ES@IxUM z=hc(F^r?9$RikwX@z$$1?9y|zvX{)XmyKTj0oB!$g999$U0f0jegOg1ohAncc!XQVeZbS9hZMAhgwsV(z7(sT3|T#a%-(>2yW zysGI5npS*Q&pY!x%MN(cyqkv8JoFn_kjRebW4wcXaDP01XFbzN-Psy?fQ#DtqJ+&t)5@o_c) zAN71JTg*uvC!U38Q!Ss6OeDVNVKC2O2ik8-hYOf)WD8>x zS1wB@UmAIXm^$ot_6OIFe^adEVdOm0lpW123OghP<7cc(s zL;4|{*MKiHS#}70E8L{dV?KH#uN-IC9`OCnfU(^3=-iD*k8YeR=I2EP=D0pU_%FqB zP^D;8E^Ed32Xacay+dZQ93T&!6mw{ptee#~!&KGy?CocXu2YmtnpIX^Qe$ZZzdeOE z-xckaV%`J6Q%N^?bj=1$>pHE|tlFt{(`sh(h2tiT9XE08*oouDP6FIB0L#l(Sg=^V zn=1l>rJ3IePyoZ>p-O;~)XBl#l&qUYa5Pq#GTOpE(x6s+BLI&>a3_~Vg*h{C4H|~n3&R+3zN)+RuK8ewQ)E%Pa|FBGH*D4Z#IpVP^+IxKuE{B~ zINd3NKbKmbno^m<3KqPzFfVW6TMLlkbwa&|IeeN2$T~}JtoxWIq3U5hT6Dvdq5A!F zk7wI;00hkZgRWi~s}Cfe&X9$~9dtts_txqINro@rPs*NF`Ht_Jo~Q5Doj6MGeXnzp z+v|;#8|R_YrQoXS0ujywa#uip3z;6ZU`hwasL*y96%Km?M~^ztKf`Cxl=eMo-;sT%w_@e;-P{1F{vvCV>G{x{}iD;5^ zd6OWnSO{${Km8Xw+Kl#^ zsMEFAHV);Y$S?aqjN^B_djads9>9f%i3m9UeW?Ede~$!r-uabv8wLxUh%@(4 ze+B&9TeL;z#bciZYVc2D)fU7@G$nMu`8nLTT%!Bx^Oh5+%2%V*!%q-QeY2%jzqOzz z_?XXXEPOPImkS>=e9}JJR!W}!0&1iVC8;C_XhyLHw0{U=iiG_MIl}+OH##{gj^?OQ z(n%5WLbN|gzy||P+hl!iqi7+P#h_<;HXZZlZ~bnU_^u_(vVNC{1$ff>9ege5IidMG z%7F=eQVFLwj)@X}hMgx$*q7=s~j8V#ECFC<~k+SS@Sy_h(3dvrXnM zlJiI^o+j5czf1LZb(HytzRsiVT5;Xl_C3)HzK29Zi#W$r`w8+(-2e;TplXju%2X>Q zyHmZL2#o=Wnp9OBg;tQik8*2~SP)7Hj!eB8<7!lYH6_rIq^x+=AdkGyzrZ1-M^_K> zz+pZgr1CVS%WNc-cJJG#{cNO__UO~Mifuf*{EObh`P#E*>5qm($QM-cAT1EELGY{B zI@F*8thC91HRAzTfPalb_VS*M=8ySyLc~wXga-@hta3c6zN^PsQ+PMYc5NLud5dJK z2CR(3Iwk$lw#G3m`o~hGnW^TPCb@M=)9I~p>(r*x@<#rJ+=GA7GzyT4_C%dvoY!Hi zKTLBd@G66Pt#g_n`X|K}Iqc{U^U~axJ*5;G7+WLFKxs>pq~Yr`WE=s$gN>s@22mRD z3Y*W;P$I8Ev{#4r`-%2U;u*0?x$ot)KlW?hFrST8<^Z@zGW zzlZKXKj4tsPeJR%BdjzHy-yUivQ?I{(!LMw8dN+<9i@4zhr8zR`^+oNyxtTQa-^kW zZ2p!lpNBd2@Cq@R*QGJfEl#GZ+F#DDJ6qL>@7RLr%k&D`-&9!JxfZ1VMq$q0SwUX> z9Tq<2R!Mu7aaN@dxwSZtWurWR>T1iNaoiX4s@_*ti2LALxL;!VUIDLjkCNL6?h~My zE$*Y{j^YL06D0?f5r+}_1)dk@CaXM2b5QV}O7VO<@T73jPFuAd^3>t^ewN$HNtIVo z%V?=9uq3JdDwB{i0<1x*Lco!idl?eW=d(Vk(ly@5pj)xv|Hx zRxRX=q~!PiD2w$@owB9r-8oE}kW)|);_4c@uvq@1!F*!F&g(TE4y}z*8|rROWlwih3)~}Ts;)t zO6BBBkmcD^`lh4=v~}=_9y}&1Q?D&c-V(Deu*^~0H000ZHB*NSDXucBwzxPZByeC+obrudM3>yqdzZ8mncuPrhA=sFR@Tab z9zA;6MR)JE==Sq-PM8s|L(Rp`TF69Eoz}Ybh7!fBNk~#f37g4^&08z^@ydCwesQ6> zF{@fnO_yDH2U+uAD}?v+(l2$cLANSGF&&tXK+N|FT?DKENH`Wnd#b^#6}N}{*%hM~ zq>IEs3KfYN5ek@!r6^@kUw(aq8#~HYJ0-nvfLl19)a8aLua7R1UA;5b{9_|Cj?{_Dm~n?~+s>E}{H^T!1Qv*Hr-O7F}rn_AD# zsO#EoZAxBla+M?YNZIN^i5&b;aTpcB1>-iw$69U%p+V~oKM^E^M}S@Bo$K3--mLY% z`O&70u_>$Clw{_&!=8YlV+-2WciFeT<=!CXv8i8KaNOE}pmocVehvr?kBN(GbuB8s zG@-m*6E-IRF`8`9%aicQhv7oyazw81?g}J?6FBY=AO=LjfIw->$o!UefxUXIHRc6` zyL+UYZ#mXTW6YQ1<*_Zz3%lx=M(I`9CnjlAm%8ggsPz>T#AccD*)^8KG}z{Mh1&=E zB67!U=as8DR`5!Q~)l8@H$;j3HQ8@uRAbt<6fmua1=H5dcA@%6qEV&`LT`}OL&hA+q z+Bf9Kw$!=C_3YInH!4u-UY8n>|Lkt_;hrY{e5tWlWkvkTm0jLtn*27!Su0oec}80F z+4S`r8u^NkFI}3(lGdW`K9V3US0t*B4o@T#96JS*N8UQjFhcW(ob+xfslkSvH*!q< zT5M#6Y-mN9bEtCE&m(+zOfenmqwb;p25pf1CFDS+V+(@J-o|PGF0xQJcp%SYS$x)c z_5#jhsYm8U0Uu|MW8csmTlNDH=P}0=3n#n7x~P0aOYD1pr@+A40Wn8*l(h>!!;kev ziMQi&)9$tbSWO*Xevl(oVTF=hI?HQFXND{XSb%FfWc6Xd<%$b$tSnkYBqua(X+|Y- zsV;28JG1%bcUa+MR*J2272FaX_U8U?#$wan8Emp}e5*ap5z{1DX)qoapvdBEx~ZIIZkgP#-G@G%QRID65H0WCJ=V&jp5Viem&4_`J1F1jbq|V4P>UqNTlo z0kGZR1EIwL@%z|hV&vh6l)LdS*0s>PrlbWKTG6CBj^KCJ@nh=_DD_wX4i%9RPR-LR zO`uF!v@g*ff32M|9r;!w2-)4Rb=4Z<;YkM?y=)=uy@<+8bTZl`eAbcUZ z#~i?RQpy#zmPk}6O(hNR-!q_UwvZf{9>r@U{|O}>?Z29u*U~j!DLMTAFTrb1=;8)L+voROFz-D|q%8ypf4I4>Xl zNt(r=9e63=AA$A^e~3U9&NcNA%Y|~;C^Cil^l%rLrNb4Js0D*-UApk}3Vx!JuXIV; zzkHq1J3TGDU7H#MTG!9PphTBz`kh;tul4`;RJzsp@RlKV%m-BDf^ zZfE9uBz?I{P*5CL(fF#W29r)sO0Nhd$PhFE!wSP`JnlqB`5Q3^B>mHjcD6l z@-+WmgptYhXj0SK@~sYMM$?L9l0k?<4+BmsAhN_C^qJvmGzfGXLetZvU#cPD-u90F zhIwu_xpf^_#R{XcW|+KNGS40@2JtbdW3A=a*tot^nTAD!6nhsovNIpvXRYQi--VyO zSyF7?X9kxhy%ciejxHH`ENo%&5L-q!>z_NsedwKZU$gunzf$$vk))M&A{1Hm)g4y- z_9dIXiu+=0Lci^)>bH#EV46zoMZ-CR6vHDCW3ZRP?P>OKZf$R=6I+RG*ZExYJ?p{a z29sCE{FP)dw{E%v0vRXGB0(W*`a|Y+g3Pr?&O5EL>qkj@SNm^Ds2Sv2XmyXMf1wR^IKo74HWC3R&j$F6y~faZ{BbOP3&Cqd@ns_trNUTr2U zNz?}*LG^Gsrl+-@*`uZQ$CjO))deSsC8^9bn=-t79#A*|Tro znvMT%-JU)BK?v`~w#6?#%Z9RHXV0p8ozE@?ek9Fk@cc8-8(cJ@pq~HLzs8_eAeJr< zgUk+!MZv7HlEA>2m=5T^VsXWUq$Ji83thRBl=Q+dc?#t9Go5SI&!$^HB&yJ3%X+L9RPI0hb zzi#WI^ZWyy+vQThZ7r%~54(K}t%O5PcUx^|uAccI(kzS#LC zVr^Ed5n*uXO_CeU3-SC>(8aG<69$4Q9Bw_246WjU64=ZD?NoSQWJ8h%JbU19Qe*c&I)0{0 zzRtR`-KXE^)0Q9N-!N@`Wt!4Z7}<}%)IaX{kwQz5a@Ks8of{g=JTKeX^UM4*I8=-I zuG>;9+cCXE$_4Y=Qu^P^7SHvP2xiN-e7XFzGLi6t+L-7FnX~8(Y{ADHpip^BY4^JC zSZAjeyx(_{F?f32P!v&r`MLbc#h>`vJ0N*_W6L=1B(19M)XMcwhlAT75!djLMe~;l zoaFFI{Sx3EUM?-oE@d7G{;X;X{T$`|Gc@i_(V- zN0IMw!&+ytf|7ab4=k-NQU8+m_4%QC*9J6~Oy%fFktDml(!k!w^Jf#+h- z68Zf@iIxPDA-jk)8fduI3b!_+MDCxwpuRrVBQS-z*Y}B?!@BVUeAlQhGlwkvabST@ z&Wo>Tf8jsOnEu39UGY!@veG)(LslXP#(E|rB3hawb6~FSMgKKfNLATZ}@oUziBw^F;t%d28DK)#d zO35f~N#}kIUtiUk$vbw6z9M<0E){e{UQ5*rLWs2?my`jU%NIAH2Z|k3`x2^Xba$31i<`H$S5=K-Z?j!2=V<8QSw*VCLP14IDd8nR00DaZ~pBO$TSLYLnjL z8~3=1K|Sjlwg&|c={IWluwy(II%MPg!Xo%Cufqmxr!>MA!@9Sfr$w-UT2JGqLZr(Ulo5)D383AH01ze`|fe%B<49rmX|#)fM)7 zx<{3ZP7WL3qW5<5a`*NMbZMbgoLqx_b{1zwx3G^0Y9ATr>t9e%lvW&-w6tw~|FvV5 zElf;2*tj4eyx?3_LU`Bmx}d;Z@QC+7TglqL$SiiBS(WnfT?m zF~8m9moKn;ETG0kicP8?RN@)HFSY5srs?Lmp89|V{Fma%OK&Y>PvC?b_l~u0t~m)A zC0+^3I<07^nI9FqdI|p#$wx-Ip_MNO=FL>5*Y!nE|1`?j=$D z$G5ywO(_o|Q&{-Dd&%rg);CGP($96!>e_`w@t0U-bWl5;)`6c=v`P}+%yW_vp@8{7 zaKflS4eco^oRO)I!bwYnpbN1cX9i-`t8mH$Ct^wL)i0{eKetR_Neew%xp)Wp#)bwP z;@2j7x)0nF7+AD6J|r+W)+flrHQVsbD$mIq)nR6IV>!R8Y#l+Oc!v$YT{}difjt(ghckj0GyBJWcY-Dt}k}<50z_p{kfHjY0f+GxjXmEqcR|Jg=E!PB0HZtxQ~4tj1ZVD0i*LB7(PFCTgT zFRjB!hJPIPKHvzq{Gp|~YH_%b{vS*dS!ayEj7t$@j%X{>PgZ)8Ig-+T9Lx7~^jr0> z+x!jO#$L^T8YAI9{nHrXSF@bxF5r^j*Dq1-VV(F3uSsYC6QoD{TSO>HRe^?O&7Aky?; zV+)tHi}|Ntfgzl z&^|NUR|iYUM)OCG6Q&OtUZHn($9W}E0uD>@kjxJ5hP?by>?#{Q-Qev+eOk`r91uG9 z1AR6hxDaX5s+J{;O5!V|KMR4Dlpq)O9Ws4ei21xxN^r=|p4n$yYmb(!%h>TaIE5hL zcSejtW}TC_VftwFGb%sN;O=0SJOG6G0)VjD4_YQ-%UcCr;J8t)3B0_~j2DxL*TbR! zUht`xLGQvJM1eVQU2NyXrb71G_iQ?Q4W~iBdVRQT;Q2aEUf3)b+*6*Qk`A4R_TcZ6(whGuG5+nzks}EomhV9)7a^};_ZgF#tNz-i zOo%K@8PPf^A-)-%>gom^nK?Tqx>KhkgZlL!o-w3h_$bzX>z3TyA8+y(NA>Mj&C<)m z!sgEX{)f49!@|m0I?f_J{}FHGPoMuNFpy}OXccoJ@{1k_AKnr%cUD+jqcoGcQZ~&B zK-g>}3V+WQ<%;n4Joo5**>sv5g_@^oY+DS>zJfj}gS6t}h?XQ6DQ2&9yHiGZGz`smWvQl|r68mItS-i^%{^O!W zEWD^__MBBFmloLA;^|?YuNWfIJXNq|nTX^~; zo6p}L@zL6^>juD@e`W-Kf5~?f`4y*w%w-;ElbqNP9&D^8?$_8!dg-|UzENGg>y7gl_`?2om_pAf;>py~b z9|7%M?T{}~&Y90hS+;JaN#^;W7kHkvPopni5erjk!V|^;8J7u6C6>iXR*FgirSUEu z_^za2&uo=EF7hwIC&bJj?ZnfW=e~sa3?mVQl?HV2f_674&kNdp!8RA#Ybs4^?Zo}P z;yzY__KKL3SHzrbQ@#~6UC2*pn*bxlOa%_CpJlAu1xfP}>khsZlgaO!cr0awDF^Sz zQPh;$d_3<=#jQ31ZP^JghdQ4))D+DEv8o}BY_t9EV;*0A|4sRBs<~hCw|rVP&7}Dx zaOvy4h_a&i&2eqlW@GwPT7Q_!2ApF4D3^_LtWyb8*~ql=>#63gNQUBHJZMLBbsl57 zDxUGAQ4tLh2x5k@Un`e+NLg(B7XGE{$ldbgkB&F+2d1W(804@4L+eIjPua5W=9w~o z(9XOO@!=Cv|2FSS3#{v|ITsE*ZoNih$I*|6Mg!+R0y)-*Gov{+vcb}6K8-c7B@L{5 zgEWv0Gw)*y`D}jsbS2+eHJ!W4Go;Su_0nMR^L*1RY20bvjvYL0CiMsHTd>Z~V?9$I zoyh0M^1w32R@l@~O3=`XMFReb2ofx9b@5Ezw`rN1Tz~(&;^YG6RwH@o;yM4!uA_O` zFR!Q7y~Kh#4I001mprX|PY<`8n&dF%?-Rq{3p4V2Z3?f)$MaSdEGEO0UO1zy7rG^U zQyv=D3!Szj1RFL8Tmx0Sa@gD->E#_~)Ng!Qdt2Y;Rg1O?{7JW(gvd#QK@|BMQs$CBm!p*gP1y~2Wo3C;$ct9Yll#*50{zon!v_yR0tn*M--y=BC zTkF0;JPQo$yvW%_GU3&39<&2owy`(o>RH=s))jDFhcPtg-l2W5Ht{ZWWwo9zndT&1 z^4P0v$RW0YHJH6q^Jeg~d8xgp$9e!Ub<*w!;k6mVS$G?GKM+gm2)tfK8+OQEfPA9- z4R0TmAkq?980B0RNunSUTXqydH8_peV2X%hZ`t)-J*08FJkPH0n!%0R9_XEt*$CF& zpLO?VZGLQ#!dLMF!F*>3fBlwpFEOg~C}*kGdH!1bHQL#{$9bM(K?U<=?!l{92j6)y zzmosJe-1u)F!(3p58H_6Jd&RWUZZOP7%}&hb*ge)q<&s}Fp{QU*@O46&ajxFE>KE{nyiIuCRg_7v3trATspAsNdb1=wXEz3;#*SoxXR<5*n9k^ z4U@fEOB0dGDd^emxC#St2BIN?LpjGzUW6a&!QBx86n63g>(0W7-Knq;9Dv`Be7I!O z2yS8>1Kzi@yV1b!XWm_03In;i+UFD zS9p-IV~-=U$-Ndq1dSRbQmcaD`-=AsH?=dr%8s{Qsf%VI%wCEIXWH3sJRdE;6kEk+ zw9I?3PnsNeY^WjP+Bf&(BpmZga~J~L4pgSV_9_-QXo>5Mx-QU;5Vd5X?#L^{*roI| zcbi8qlDv6vOzZR+8f^E#nor4PY0?Kw`5>3?K&MR~COR0Z7A_pkP9~&>mhz`Jl}-p- z!{kd#qYE!BiH76z&%JH1=9KMJ3VV(u7FdtP``fx{9!w=nJWB3v_rVG!IHn1~% z87j@tPnLNQLpCwP2AZ#B@|(fGNU|OYCSqOL+=;}qb&73u33d^ET1BS z;saY-T0Pn#x!#NwY-&JjMewcm;S%e~5B=7V4^PjNY>F88xq1#$jDe~&T4%gVe3iH{ zO_?Ops6E&&dC;4vtN699ZOvZ3F@9%OEN1$_R=GZsm(N6yLK88rD}zc)?SNLaJJAko zXdy?@luS1GT{dPGYs1F8$xn>@wgCSy0YPer1kBRp5rx5JfNKh-jW_{D3U?=13zP)t>e?{utF)<{(yCUA z0$b#@sxRsqvzHatG|WD-!8L(@dSp&Da8ZrR^)B%&2AAx$`r@v!_2O}P0wO8}`A=4` zrV42j4=(3Ft*`8i!@FN8=dtXQa^}9Sstc1@dHL%VT&YkW7UQrS#+WaOada2>?8v`W zZmRPl=)=0gnHMWWe$qO8ilse;)-n~4G0-jiuVA!ei7cY(Y8ucf z^S?&=x#oAp72`zhb>J*S^aEbn+z;ssq?;h7W??j&Dq*Tbi&I! zRGg7KlflzyG7L}^LjQ-RAhSLF`R$ddJ2tWABe*v&PVKv7={A2}BdybxukFhsa+?p} zhBDi4t?)C8TJgGL=);FNCuZbvJ%I>Xs0k2}l>Q=o;+V5`bJAEIR5fK{jdL>JMcI%a zvbpWCvgZ$57T99nkfnhr;>GjcV1XM)>?!F$>5$Cn8DBr1D^J-&nUZ^+DNMfv+4BkT zH5B-=7pK=et{1o>qk)tH_Gw!6*u-%iW3tT_*1foteadcu;L1kv%hLP7Cgu_n*YpeV zFt96m&KC@Y&A#AQPF!EnX&}-r4~Ku^@zE!}C->U7;f$ao@LZ)EV2sj?pGXj%p{WNf z1(^FN+uWT51zFPx&HxATX#cWRZF62S7vNm>DKsV-qO_Z zpq(x&$I(johoCZ>NY7E%nGOlwSkLg*iFIameUaFC1OQB;5`jkL%r@hjUSNflEFY2x z-S4&!x%VMY>%>oj31fw4WMG9uD%m!u(7IO<)Z^N)xo0sZcdJ6o?wKBcDMM zW)(Xg1!~y;8jE$w;zvV$qYo|*2o>!eEu|FnetsSU!k%{ zY-b@x&ontWr*koMbEMiZl5YQZCWnZMHzx-?ng+sN`ezPDNs=vxBhs;K=gzOU_WZBZ z4>orAkWt&MnHv+BQ*-9V;iVng@PP+k?A2@EeJ1sW z@P)duhzB2$^+^2`fG&<}uVBB0;Lc$1=%?BIe6*LVtT2e;xBHU=iQ5(t?&`_8`OT!kF3MUzWq99)O4vE{MxL_ zc&TfeG-*R$3JUP|5fu1nKl3)vhjDl2X5;z5KoftT;s#a2k&*^E4j=g^;7bG(uxrbg zuz@84mHz>jJeCcNv`Lw6RZ`^eSNzmW6HsQo&x__jX8IuDo2nR zKnQ3|~RD&bxyC;GeTM0TvIEXOF@n zrb~s%-eiMmD?iNlv(-G_Ha$`|I6NPNkbL1Z7x0d&kP00`|0Lji*oPHPj2m=F@apIC zZ>P=4y^}ZhF2BKA@qLiZKy!O`20Nr29s!=Jas#cc*=gG#B+IA3rvYOKpv<5c24f1* zRJ2WYvH^|)Iv5HQ@8t;-PMgP%Iw!`q@5FzpuFjtr!(Y$4I=PYG(;Cdb&hI!FZs{0a zP+K~qQ`-<8#Xbowd-6x*c8*S!{x;jEj>cwVX)W82Is5_Z={CkBiEJctlu}0+jOa*D zt`Y)*vh0v_&W{bl$!K3C?e9G7O(lwt>6zWxg@5G`9-NW+o~czrjXa0HXFh~I1Z|B{ zj`>YvTiS||nOJ8^_Tq1{Y_CLUKN4v?c1tl%@fVq+0(rEQ|IzEip=)QdSe_3-j!H>l zLG_p1-qePQv3fj$iGm5hME>Vdvds3I&os}VI^^M7tm)597NFS z@(`P00nNYQ5m=z9&~774^yQ5mXnKn}uu~fd9X(prI`c0b!a_1K-!jd|0sZp)yoG{gagoIe{ zRN+h)1~@8YdWiTky%ipYGt$UnBFDRu9kGAo$;4UV<<8RoN85V`Mpb-&pgZ^8-AyBH z)BC1vdfTuYNbiME5|WTc2n0d`gwT5jjer6I(t9t0fQW*Cfch2e1rbzK5ET^hYgfol z-e>0Sl7RSqzxT%zDY<)h=A1KUPMdSi6vd=Q><=H)64JjcEZuKG(5rRx)t-I(&%RNX zS>PyaPkt%Vp`Qow4Uj(Eb3Fcux%pdrOwb2KS4Mic23bY8%^|7k7;3soj=eK|wEX}Z zt0dQMPKh7tY?NYn&(*;Z%PI!O=&KwZTK#PQ5>9BGmh~rIVGd|JGxOF^zfh~G%E(_M z|JFq!fS>&twlC@Uh)xjCtL&K1a3BAFpdZu)f9Onp$3qtqfFO)xK?KIeokU=d90(6b zuq-lE1I!q;I%uqKsJ?GdwErCcfrA3_^L1&i(NS*u`i@aM7WMA0&B)N|^+p?EZp891 zrNQNv3rUYlS~54Xwkm&X&j|^EF_lpsZl1R4aJP9kR6*|^A!%F63vKcu)10hqbw_-y zBoeG&6dXCIZy5;=GuqjdyQ#ktMq8;9yj_!j^0FgOff7Uf!mOrBB=R@ii@peUB<{o3 z2l|RO>=7UA5ik6p=J;4l3k|c7`8})p1S{`|1ov(wF|?F!GSFQHy7>ah9(QCpsa|pT z){xwq!&SD68Xs&in+4PQVSlgcABdNB#LMFQrknf7Xhu6xF&=l1+>#y#9zndS zoXZ|aeffGaX63lC;}}LwOI_Q)px~ukviz0E$RiB{mFlOKzY-O3WJn#|-)(@iKDK$*kv9l;(0%57Mq!hqrgW={Jh$nnam}pIAiD~?M z_hl*WDU#BQynH-LNbaf@r=C|nrKd_l{k3`CUfv}r^~9sgmq~6(NMLY5ckhx-qeg|= zM`Ud-4fXfMEdrjUn@6^U+DB$>E(uls*WN*UYT-xy2hzhQPX*fJzra&%7fb6%pVOzb z4)kfCz{yjt^vRk~JW0zw)J~dmxi5a2jPw&hkq(>hM{e`MPh?vH=-dZc1{&yg0h_(R z@HLugfFHF%mWTJrz)V+uT@1ro_%e1>eu1~GXV|DHYip-q?__shJEbzdnN?kS>P94X z!?P53e;b(Ru1!_e5eL@N@4MSN1^Xnsd)Z4;JiXOaZ5#I7I^q`B%`wC~*~8C9oLpA1 zDYJVYeYv%@vy+{jle4vTdBxU@#NPTcd-=h~izaL~Cg0w$(2o7=;G$G7oUqlHa%;mP z^9xK?Af{-2R1F{9@jr<5=p-*ScAukK@=zBO7QgJ-@r{*MwHcqkA%CtK+mXONR}EEE z;dAa^sq-B}HCOPtO8kwnJDzjjMfoT8`IQbQdI+EVjt_{U5V=fw;3dQ%xUlWQHjGr} zYY9o3QSO4yiDdRSsx6K5vfBHn|jMXnL~m^y)9m>q+AW zohJQ)FOm(j1}@-prb6dyvBv)JreSbs%*ihn?}AH0%Z%fQ?PPkY7yW&FfBU!>ULa0= zi+bfJCe6%mtEu+33N+j`)slV7NA1iiVpX@D_YuX0^*6G9R4nFvQl(PbJGr@g zd-(`j_JO;%XOf$%lcN&&Ms6k_mw!vP9VyLio2t$VECrFx&LlKDG{6MEz>3$D>@>lRmhiz!}WYL(8> zDXM&Swm{<0%Z<0UHMKhb>9N3lf!iO->%$hbO(S>}@1~gFg_eNqXB~6Vth7=8hwB2o z{HO9dy+)?Bv1L|}yW!F)g`n!q&;N11sZv4}JQK0%yWy{rX;W~iyMnm-(kZY1IN{_0 zBaTGf%u8-^=z>g?udc~ z;iNYfOB`fmea!W0_)0`)3~^VYrJqt40_#mQYKYNYqZZ*JBma|V^h$LIJ@%X5+xzC5 zF8t>E&c6BLPmAZ1{K544-@h%MPmd2qZ~u;WE5nvG3OD&*_vXi~qwRsjNmU-V9z`Sc zCspRNtfb|ybNr4J<;^owTOZ$ZZwvoR8E|GAsd$XuxT`%gjqZDl_=wNbpLd)p#YGGb z_zN;H6lW|=$hQjBe9C01oach)iI9Oq5aSBfe8!&RwCoW4($4dEJ6`eIMdyg@N+CFdZai>0b!%x%6xHF;4Cdaq7PfMi<-`!V?QIuKouQ7(8H}~P&5+J zT+W^32llr|O_VCnz0C9(Y-xUJ~!S1>VZ zVT2v$LzcO##bZ_~wB#T5O5rQHhRTVD7N7s7hB>D~ zI#G%%VMuO-K-#J?s0ElNx3LKYoUG5whQjM|JpIT*o6X zz>Uwx?y5lm00AF-$P7xBcgkk&ALQhVr0KjoAMfz6rr_Y(4gIouHy0Mhqg@0?SH8nBO&$w9i-AEP`G;Ap=LsN*&W#xkXmYJp>JyGvG#B@|;!>)SUxdZ20rX8+U zZ8+SMbEkaOYIb&qTqhRVV0li$3kITU<_T*g!L*;Htl?ew&Qg?e9e z#y}i)OZB9u=@w2535zZ$y*XVKOt-RM?AAJDu-r6l(UYeW=;#)@t7UJ(-bV3dG!gug zUNtQjMx$F^4xh&v^RV+Bo-!4r;{0!}(sXk6 zDmlmTLH?^3=H}i#s0izjT@j4w!BY>V!7|{4AadzIezd(Yfu5m1$ZAiWiF<^RxIsQu?DuRqf02%9wV_}1_wG}8{i6>M`@6BwR5Agq}*`Rk+CCQtgIwhh;ru`_NA z55M^+eZ`vL=b?BYpHI)qgM-XTeZ}Uaz9l0`%}8MwlKP${HqYym=&q#Tf6MGM?LbZ= zk|rO{@B0vEgTsN(1M@+uAu^A+9s5&9VvtUN<8$JgL9$soK|Qs*v04{TPsiK-P;bsT zcrc@Y=3HfQaq{K>bHV|$)sTJL%5n*DPBU!=>wB;t7_;Xl+RE|{*z+>>95F=v$8()j zg`freKrAKET9ZyP5G03=6c+MaJ^B4G8vB>&b8rhg4YF2a@ z6laFnE#VFB=Pj8GyCWL1i3P~PH|HGT84Vf#MXEo~YG7kp;AD0pqU*TOhr`J^344wK zY7YsX@?hE{-E|QUl^^#%M-OyKf0WMfJ;?U&HJs3?#>9P#E+jOVep*5H z0us@jbwN*GekvGs9pm1ij$N`Zq>tYLoDf#(wODIJjm>L~wrp%KX@oT_b#)gq?-9hHy|Zh9;qgr36T z(nBdBX8xN8m|%MXCI$=sl>em+1N&jW(cP_-SOU+aW2hzBt~26{ad4)jWcd>qhx-M5 z95xmtW*W(^q^II3(yQ4a8sf`1T`MA4SE&{D56;gJSVky@?+2`<6%xj{++<(203#|7 zUZlH5Q-J}ZBGp4lM}zosf^_6wpH4VQW^4Dty?u!He|G6ZiXf_;4==u0R=uq3fc zN4rR2OCdrRDa=s9Mbp!ph_u9bc$+KizfoJU)TJ`C+ z30~?rdMQf$@0wxT>Dsc#h*TrPtUM!4gC)W;ZrosNA(VjLhVVyOBR#}Y0XYjkB=Dws zcp@*P3aNZN#>KMuq#1*s2@8$v^Y(_`JE(C+ebtyNqvl1gD~f1|o@W@F+GlO?v8;Uq zGwA1I{Zu(YS)PiHSP!+!FEJ5GL$=N!P0xK^86|co98R?~?da*@)3j^$yloj;-@^BH zK2`5rzb8mDqkc)uFpwB_Y8GuZ*UU^Kh|fU-yuhF5KwrqcdZ#Jg=g+b9So;act)C4x zu*DC27s)$QxJ{}?(%ngP&xbTiFJ02pY&r8);^iy&D!yBT^WDu@TYT5D7m<&w6;|?n zh%0V3(WiAhxry&U$OY(Sz&HUmPiJpZqL_-4wBIle{6)-;a}T%*(@54r96e>3CglH- zixVv?;jeoW=~%K9^Nzvy-v-RkJ=TQZ+rh79$1#wGDBm(QYu^ZbBa-flJg+^krK`#G zO9ZDX?OV>A`Th4ZXK+L9ZNY`ZKN0t@dSc$raoDwMdYtlL98c4D8yZNx{_y-w`@8L* zBpcu$Q*C1UnPtn)q)Uq#M6fYVf_}dP7ADtN4zXD$Ff63`N09oQ)Nl>gVLXGow$G5} zkH}QyexH#^NhlSByTWJGpIkGA@NV_GnF5{Tj`K?VPYZJ+?0%-RRcdj2$P@1iSXeyW%wsU%k@L+B zJ{AMfV`%AjGt2F4Mf!JPURW-vadGmLls2rwiWHz+N2Z%Fb@KS{$l}&vi!%7lx!ae_?(&Fwi)gF^F*Q(bi+nP+owu zvvse3+rwy(T>7%m1KGn<4+EdAunT4bA10Go@Vx6>?(F&-u4>p+ZmZi;div{0wgnN5 zPgp}(sX4!~RNFwVJb;azaQ(WR?8xdAUjC06swGTsOfH<7S4z9L?ra+3MafVHugm2i2fi!5@{7?389&rHjmB{*ZjKr-FFv!KW9^D@VNRp zdHKjLNP2JOjl`riqn}Jn>NCL4C(n>Z#`T^zuQ!L)fH?Ca_@UvfZiFCVo#j^|y9S^l zEd`>VLCR9n%z&cb90SyxMz2zn+BA|xlt2E*-r3|JjGi^@+RV7=KaQh6ek?RsrrBD3 zWUF%X7Oj6SuBB!a9 z!oX;1j?rl!Nn92(((`=$2MH|Y$t0u4A3@)9MTy@U$hKo$NG$A=$@WhIhpFfX#OQOq zlga^}pfdOt_93fnL{IxDrnBVQFkXkZO*M+w;lYl?^Os<2_r-m0$e$)ZalOh8-nebY zYh!R=!EGvd)(={CEXWxoo1GAfTdEG^<%b#Lw{D@g^JT}{!&6k+*!!Tk6jmKS+vknw zVAM_ghB?+2lWv8POF@37kEV2(8ztisli829=Xl_TiE^S9E(y$@3((2-Tn#*H4{xv9 z*!zcw0Siz}UDSi;s;o zauN4KVr-33EBTOY9Syon#=*>3Y1i}VxwInsrOdjt5Ygl6Rc7Xk^RwuS^rv5)5a6Hu zEE#&yvM#*-%@yNzt_Y;7#Q~6h?P6NH4tT&3AT`VA_nhvT)5tHDEDAm@Y-pY%&c?Mw zF<>2XDb01BNSW2VEh4ElJi@atPdhjJ2JrA$@FFIrjlBM#j{^D*2Yq3m+^4SvOl3FF zmMU(7whwtLOijXD2L(DE7Jvx8;4w_l6ysTFDuc$fuRo(_;ANCGJm|T=ed2?4x-NVy z=yc^9X1&2{xVkDRrp~#h7uTiyn=WS+G;sMwVreTL*5|AyRT#?WfnG=5hOF0(tX8b+ zJaYOsWSej@>ReK##7<=ys%*^jZR#3!ft?C81F{XvqymkR57||-# z_nFsH!SI^7ra>mQrH(b3Cde^>SMz{8-tY){%<&=cHZVWrG2Z93xAOSXat`l){+!k6e2wvO$H;K@ z_FLcx22V)GDP=XopG@WNU8Dul5LUw=l=07jKkBmkA{TiqsU^wy=Ck}cvv)pHd9&w= z<6UxO<@aU!qjL74_htGY=kS7RW_nyT(<7X}f5h@!I%KBDLH_=SmgmZ=oW769CwbI( z(hSS@9vn}a$)EGOKr_7-@cGa3=e!0$rdJ%J*EKV}o&r6tnCa1r)8j?{zMLB@)1!^k z;}iZ|eqW{sD%UYm*Y{<5v~m0%et!q6bbsi5mV>fc(e-`kW#xV|{MY#VI646xR$zVR zo9Q=~kN+8$0jzGG_4{Dwn_MWeKgs*%$doy*y;*iZEb(iW-|UP%j_+7}4n(U@ken)n zJb83lNAtLUhKMxg1`nwFnb&kJhv^j#6L>~dD#JvoIZSZjAVYF#u9DT2n*AnzI?zS8 zz|&v{1xg3gmPE2#Pg^rcR&?9 z7hda}!hFhrVLM*KIfF@-uhxQq^97s;%W*{b*(SKd#fxZIe&V~C0&|sD2?Lm`{2`eJ z$0Ed}qKzbIa#vrO(Wc`o`0fhO-krq&+%)_Y9sS+eVc7kl6|}qVQ(I;5*eNHsMl6U* z@Y(_Ic^|yz-%0rjf`Sm!m;GqITfjTxr~MG9YeOjbz7x&o*ur?)3^$7{aGl09G4t}s zYjDD4ho1V9?$PuLaiFU?0^}zBELt2Z4CS8v2HI{~!QpQq5+4`)oaewVU-tPIe5n)mkz>rmr$tw(p1|cN??A+%hdAJ@0GxL6NeVAy zmF;^LgknmPFwKcZ&6RIwyfxaG>ZsI)(T2!XJLxxwveJ8|vmG-^q147l$JKbcB?m{p z@!t^>nJ+rA_evu`#vJf@rC`vT&k>?Gc4pmJ<`CsM$a@o`CKZIU<3@kFIbiaFw-$0& zH1X}BIbYok&?Y4mjoNrAM{oF=K4tE{M1xo6{zCnmJ%3KRWesL z258~HeV9&4$Y20=242@}RIIJp-I7g0d@PKy5GgGsGSZn$J3q|FsdsT<$j+e*El4hN&li$Dd&Q#2 zo^UL}N>gqEpqY}DxO9)NsSA6n5@kcx!1o+Q@)~xO*6YxJw zLko!+CjUT-p~%9>IMlq4mpELA4$UfxO}7yA<98>ND23?w2_wVCG$-`1BB7DxhE2&4 zPAePfS@q5{(r#rC=$wmh0@QG|6j<~9Ob8SBH3f$= zMtZ>PXMQb6#LK+lyE0w#^X0=i94Ekcm$Ao#0n~$2gPY{=6e}jX?~qD+TGVb{1x0b` znpkA>_5Xq=~YLFtKIw&>(hOJm~6ds*}Zy)C<{`$!{mRbelL zgBI^_8x+BhDnM-|fM4V{&{0n`Z!MSp`00I6b(&EGl4LU`9!COtXV~ zc>UlUvrOB!kL!}Y&Le1MA`V8RBc>f(Z}cm9k;|^LYuB%5Y$Vh&?~u)v2KuF7-TpaO zCu$lkFct3PSv|03Z69A{OhlKnV-yrjj1CLVi0{fhBbUY`koU~zD!5BTdY=0LrJR3o z_m_B@`B-8h=jlIShy4wl5u*q~3ob-xEa@I>@zCwVCILNmu!U~N(bIC1v&Y?EqJKN0 zA(y$^4)MBsQqJjke4eD`jd(CLaEyRG#`@iPD9|qeq8AH?@Tf&9%XOC#(Yty?6yt7+ zv%1?aZHX|}MuvH=Z!x$}v*VSKuqS&nLu?E?bU91QSUa)%(935nCY5YYl9$XF@SX+gZva2+NelcB zPNEhh-mM@&ERs)N48+4?n_XW@x3h)@7Bu8z7}Hs1qY0@b=sq%Xzp}r8ixuxXf&?ni zDl~{-Gr7rG4}@n^2^EE}44dohR5Oga^Sr4#Ycxfbaa%)Q-t-qssgh39K`ldvjw0@} z8xN8d%vcs?PBz_zy~c8=n7^)2<3==vA`n+_qUEH9->(BZ-+<}dWg4P-2~8$T@O$)1 zI&H8eQEEGBtBL4_K7|!%RR%=&$BC2o(sO&!Xwr0?U9N)+saJOP9zuGUz67F$EtvCH z_%{fF05^6*!tS((DT<&pnyGN#1!4(;3CNXP>KA1ZCZ*JKw}QnH(K|D$(0ufhx9pNjC&W!GDHSg|l~>d)3`BkR{t=ruc%vWjAC0qS$?^L2 zqYu#G0xifO4rv=3XChM1eR=vZ^UV=UPBi~qf&K@$M^z!m5?)6xLNbpv_vD{%fj@YF z-O;LmH;BCjzmfOYa={OJccYfzI%O~m%jsa7Kqq|hcaN3i3A$h{)sM7v+mb`ZqsX95 z$~AqTq-#FPX*4(9f?KtQ^k!}^#)j|7^JE?xo9CY(7e^;dI}zLmp3!GxUkM#{Kly}p z0lC>C6({7;d+QTx(Da1m@*pz&*t@IvxTx7`v}yt`U_Aii{~^196(-2RUDo-l!JKKv z0^;{G&AbJ3rWp%}v%X+M<}N^^!0&q%q51`9P?nT4OJsag)cuq*Xn)h?zj0Yukk8JY zLV}FDh`fgnu;)Qvz{rfn2Q$#jk@APym-PEb4g^xRc{*B`t|npVEkl#KXwaGu`@dT&}ke~?<87IO(8Wnm@_AYFiPnSqjIv{aH`aq z5MmAwGYYYehX0F7EMN?nEcqZfyWpn8|DX*(x!+FZk%Xz4i^GJjT~_`{6<*oSXu-w|#w4uK9T^Q?wM;n}6(uSnl`*sV<^A}!>t&Grxi?iG3?wz6apeMYN19EzA z_+c}9GH`zX5J89?1jm5Ez~Y1D%3oNl2Y!Mx&Kms$*xE)zj1Xwg{)IK4OLwhLf>{-^ z?5)WGJ|f*EI0}&^Gwbr>9kpU|bo+nA*(8-1dab{`)y0L4AKHI@?a2;|FDTGKM)?lL zx91kEJgf+mAfbU@ni#;R<6?Sfs2$OjE*g>*;%psRl6LCW6YtKAcXyw3_&Z|%=8SMJ z9kGw5zx1Iyg;&4K8rwfMrq|%1gNmX%6xs97&3WwICkqNze6jjVT>6#@yjX1FBIbo% zfMPBSGU!U9#my)zTU8V;ZD453s4IwfWH_!sTMFBX<*$Hlj7Dsk64IbCwQ742hqJJ8gd9$r7$-4;(JH}FBsG%H z_-DUeMnAumgeBt_)cw&p$<`m&^&$q6D$d6Eu(g#f$XN=*`1TxNSW0P1M!+C>VL&`R z7E9Trshz$!hr~wRYsEdZ-qGWyPjBk$WUq{^&dVFwC&3Q!I2X4u&;PROnalIS#mOzF zH_wjgP>?li#PFh#i}y5CJT=UiSUWv${Nx!QZ>+A}_5FRmU@<^*T$1CcB?p9cQSEjF z=WAI4jWJ2=Mju2a7qhkQf{{!v8`vBg^Y+&}wUJT&dAejiO@`h&XoQ2?ii-+b%*hQoDU>0ZiXz!^< zzM;RoH4DY9laGA&`1fLckE)SFTdI4e44#=qR07(ZgDvl_{$Xob+4?Jw&w1}@9MxFX z15F-zbWSVE>|);AoOamSNF6P5>5-Kiuqf+=oIvE{y6RjX(6h50<2 zZ*M3rUVnQFv1#AJ*bscOzvHH=hw?|rHCPzfje3SQ7paJs`H5CN8qXv0-3|jNalKz{XoLmvtaNzdBQLhf5^9HRN zZZr&eqO@xHh;*xdXZiX(k3G)Lu|2u$MN&sskFd zn|wF62ImF+p(_e%e1CA{z^dNe-CPa5YZ`_`4%*kx(65UWv!T0e?n|-u88$&dzE<|$ zf%fr3;v@Tulef^TQzI(lZtI7|WfnLD=!=HT7*dp|bx2F9I9qR#a6Qw^63#S3<*YSm zos^+Lk!G6=7O-*%^o83a^ab+vMd6(d*cl}=20`hGbf;+17RE8eKI&1bf{QMp;}eXV zue^?NSw;q|eu8*4L=*EA*ovSBFR>S(5SiPm^yqhCG#MIq@Au@vY0hCI2A1q7JxLZ+ zY$Ki{+E-^4`H3FEj^wwy5q+iiYD(IFrniHO#&3Fa#;9Yx$=1^&2Dd*kU|PQzH>D6B zJxJD3sx#mN4ciH#?2a(ghI!usf`;wZ4cd|!GoH|H6q=w~$FQi?XG}ZcJbCW%&6|&l zvpW=~xhy8l6cdI~6hrTMgHGM?gDkwXvg$J$f?)cv&23=Kg|%rSloRAIHl6gBX5@2s z=m#Ip&}m4utyN6bQ^N})tOD+tUW^tBV+s-j)pmskM?z8AHE;XiyBDYFovd_5+~!gk z<4E2g`NI67@|EYur?iyBh2>PnokEddLXNI?UER3R`zNOKXxY#ZUDhkz(<`^4NtR3H zfDwuBO!p(k@(;zV5q{WcUQ1ai`;I&C%`*Dg&7?8(mneq%KXtM&o5*8Vcid3Uz}Sdi zYSQ4R#IWv8S}?m(42gkAlT{KEa&zzo} z7qCHAyv)35pDWHj-mh=pe#hJAVyy>uY(h@2#Rk#2i$vpY7U2Kb*UAK!5i6b_v^c{w zFJpU5Lumfkik@Az??Xn&gbOQ5#3Fdvxnx3xhf{LP+B(Z7?P`Vq2JA~!GjM`u&+RxJ z6umueCe<35jFJ4{j7sA+*m?A5xFidBM&bgo}*<(F;Im(v%@~E1g@dXzQD>d(~5B~whJ@7_;%$;$A|`{ z8GB}Yu=gP7HfUN7|Ga9|<+%}_nt{`v9o+K^q#h^HgQFX-l1v5y>pWpjr9GS zyL$wA*al?`?2$B+>k;Os8$l!RyT#UJ_D~mFS1dK#x-dgGz?#1=y#k2?v#C1;7-NA4 ztX;%|XJS7gzJi<#=v1spI+v9nvj`7-23c=0ZZ``87CS}PdxL2;R96=F86=p#%&>s5 z9p{+rPig{=BgA7?U!6V!>3#I*y)XG3?0#Yg;FN|5IhoCRI!0->d(jF<)-7yWcc$67 zDMfbL+8gWhx>sdKT3H9@Rz>H{Z0Z;1VDDJD^8F_kpB$xiq8kxNPmPVpP1LHa!g9+) z#y&qW!AUcG?~nA|OS8jV1a($R-$<{7yy&>>XfL%*h_P40%-+?Tr{v~N+c{WQloaR@ z*;AX873ys5)o0AA!Aw3?tUN!ia}P3q3VMX^L9j=sJEgYl!GAhZ=3UrnXfYdyu_k!a zB6DN;Y1%)fu0BQtQSOUda$g8D%KR_kJ6UCKMO02r8!y~^X<9<3&^6tRC@=)89s2AW z(M@d~&?EejQrJE?Iw@%A#!*QRh+xvjq;o}iZC_nhf*+(N_X{NS5JOB5`~ppcU(BbJ z-H5hm6As*E7XrO6qQJ{D@va@LBFI?g`>6aRcc>HC5)$gzL}yvF`iTPfPlc=Dje~kS z+Sq90dnTjZIDRU2u(kD1NJ{mhwoAWwvU}X@SN>k%iymhSKU>-(e(u@7miWNV^^knB z$5p3PXGVG33zAP3`*#-mcl#pizRNx&ULP*&XT4(w{{0dC_QR!pZIGpeSmRFceg)Ro zTM-TDP?5nT1X`f8ln7aB*oz98VMWfLM0h!)Inqm1MYrE|qq|&D2HW7(y64Nqi!V%% z3~$}{HSKVd!uw{V*QV=SmEnET(`qxwS8hH}(|a>!pvp7xnafXQ7cD${=S*9nkTMH2MF&1tVKNOE=_y8fMMq&joq7t4DlEWUv_<8b=L!BkJuXloac&?Ci*R7W({ z_j0na2~6mj;!W>__RWk|DuYt{go*=vism&oPD$6$C#-W8yh(3dUER0WicgoMRAz*G z+JVfB%Zi&MF%bFA&95>5jNg z)d&pP{Q*Q=hal|-Btz9mpCD84`9 z5s;S}t@^;BaO_&;JTV|KJG6M&_+l$jtIrNCTi%)n+u0=D5pq>;vU!L`OGwk_^alM{ z^(GA_pEEcvqg&1qwTi`TI<*8h-1RIuo0~t}3b^b#@!2nDWz1;kA#e&Gnu_bqNSgu zX~2v5Sge{?O=8+#+9PBHOFs*VbnQC~rZ)J-<%lWa%rJyWW0tGfY3|8R7Y{CJjr?QL zrr*h-2cHa^OmfD%M&%8h>ob_-G&-qVVuSJTdXn=hJ?T@tzjnmp6V0RUd@bxVO`JS( z*H$6a^iutVRF^%Q1l_$YJL(6uf?lle@G%|(SFml(R3+~^$+|(p#N~O`+&ve`%wF^) zq<)TX&5@x?R;bnC^kg@uZaI2=Wqv}pMB(`;q%NZTdElmvfkhEF3kHqy$WDzZo7#(B z0cSHg*bisg4boK9&IJMOKz^YW%YAT08$ehEyk3D9ak(K_&7_R5e|Qe=B?=urJU=H% z7xorCIlSy}GwQHwR<1lTVp+T|$yp8ao&JIjDP{Cb8U7;~Wo382(nh*rlc3inn_RlR39F?Y=!;nB!`EYej75vBNNn|(rc|L zZrk9xt?Tnx7ji+72b?@XQ+{@0KCi(gpJuHNS<4(bPEAqs-lC*F?=AN6y)eA|Q1iei zE4-qIKDB?KOvmfY4Vt`%p4qc|>(+aZGXf6SaG407tRDap-u;7<5O~3YkhTM_2jfb6 z1;6O_&8U>mDHeuAn>MkylFEe^b6Rj7I|{n{vbgYl24h5jfWfrwD6|J}EnTiwPe!9d zM~7T}LKS#xw(xrNy}O*ioVQFBg3W#IGR0yNer~1GV2%i0*T8fsa--xJg&aoWVK>al zSX>lkp$Xz(!;7Z6ZDS4HriU#Eo3>h>LwrH3 zd;1^OE&*=N{_frELo#ue!}bE?{$0?~nR5s{Is_e=K!UZ(IA3-|aQ0@DUP(-($2;h^ zpXy!8<{uhMii<&IM3zhkFJ{-I1ljqpH5KdW$Mh1tOmrkk#cL1wORk5!*G?E%}f z{mo^G@CLXNvQ7ycAm-~xQ$0eZDYVQMs7*unF*= zfd0(iNV&ivjPFge^y7AoQ58dYmtLmictiyk^7)BM*#Kjq2puk;&8mhz11bZa=XG^S81E7-e$F`=77W=(8GUc8_*-P_Sn zn>zWxn3C<=xAv7%M=vkwz1J^0*51P<){S1Yak2Gon*YqgsNx>lsM7HTHLGL8YZ^w# z^k+IF0CEMs68U$HA#D90>SERZP#5jba=|Jn>N~zsW~hQ;mq5a5^ya81Jb!2>I7eNG z_E6+A61(f#rzIypxHiEpToWG=ojIjtNYwbf!-AZf%w(J2*InaWl2%UCRx1AhF3Is|&9Ogb>G@$x7-BC1c%pqPqjy)#Dk zju`O~$bh>azfrOE1Wo?IlT3KY+HD5R6IqzZdsc6MKq!T?`n3$zp+)2v80U{Jd?|j` zp}2b+b2Gj{<~_TEGLz-blfUtRC?xO^+Y4+h9^46*IiXKA!h-vIA%S6PkrYQ8ASqVS zU$DEe8)VgeUnVfsE!M%?!O$H~L%AdWh50hD$6$N2h#xaYnG=KZD=bN;?MOCFj4vcF zMwy;A4lp=4*&E8I^y#}`aEg^(Vehd1HN%q)iM3TV`f&$F>oiVPi(d||8`GiiNv=)T z*Vd27%$PWCLgwHqk=O?Gh$1O&{w_Ag*4<;Ow{PCTVd46AH(+^`+_oswE^@oe{^a(` z{q1RErt^Jcg;SYy%%>H?cF1g;w=3`C$^B8Imicb7O^j$i?oEK;5#~nGZv6*FNmjP~ zrmQWGF4DW&sJ$Z7qew+Yg~3~?jx%_KAi|uKJ+U^Uo1n6@gW!+KuZhh(^vcQJYJKq# zV`#s=#lhi)Ihp?YOqGp;6@4Xb!J?<~?7UpMVU0&2{{&3QZu^mKVQwT@%qRJX)m%mi z^WH1~1yjEh!M~%Ah1R*?N z3Xz3t5nx;VWbNpu3$V9#Xk2^l;(>9oF7|!LJh6CQbGDLLJGs~hZc(O$?)?pJR(45+ zr6IQVLa<}j-llFUS8r!)Vr|vGH7D?9Tt#U~Sye*i(@i}YI}|@PcS7^PemOpN_G%RL z`*bgk%@{c#&(|-Jd{Z}QU{PpVRv)8ngm-phDSRN#GZz3mBG$}?M|by!&0I@tOwjv` zTkc`y)ieGfE4O@ZiMNYQY+h9&ERC&=-_DD#&5OLxJ3|JhOgcEW`^0g>bzFSOG68q6 z^LndC$b^5B2$sFcwD>>7fkj#Ky$?O8H2#asfnKy|!hgyfXu=O5fK3N2%J3gT=kKfz zg{%&N$9VW+O3*Hb$HthFXQ@6G@hkEh$2vVSHByEASSN?a>B(WT12)eazJho0zJcL= zbG!R!T9{|1bcqQbIFET|zH3iJ^vzB5CC);D?2DPMz!P(dDxSE#MQG`C(005cKV$NU z`Dp(p11uifBV>TZXzjG!Y%Cs&#W;o7gRdTh8pNB@RKy^PD3i0$K;kOdj^m`&lHKH| zsP^|>MPLzzJw5@Quuqj(kB8|bJ01_yNqiKY0AJ%H>GUiNi+|9mJyz)RPeO^GnfBbL z6!tB03@dPF47+PYr%<>4!N34Wb2cRmAyFW+zRRa;}ePC1^t zW!ChxHT^YO)a4~b=-$iAP11$GH$l26H~BK%<@YJm?>iI*15yE3mCHfI)7~`erPeferD?q?ARp^K9r3A5;K1sBm@z8r2ia+ncR6%0 z`OMByDXD$?CsgDn*bim5;xPVUKJB3=b?|A0vZA`wV8_D9e&Y&+9?U_9PkZNUa2B%{ zd*P2V{99xZN5+Bd7tGDvZ2EEv$;qK7ktBs)p_GNs0n=g9DtZcEDpatXaR0kX(%m2e z(d*aHZ|4hN9yma+7AgBG1ag-~2(;t2Jg$FV&$x>CG$23`kXxzG~7Jg=jZVs8&OpJ z(B(T0_>TE~otm``K^`h@Q{fOi5q31JEr^^8VxZi;cI`Za2dUGJbenLqV+2Ox-xU(^ z{wg!93+XnowPOTeby2i&SY0}%vabQwW0<$K6INC&B;t1nehYpWBM`rdgg@vn=gB#M z3)=6*c;HRUg_&~wjD;u^`XBXwD@Z5| z`knsr+;iv86MM+6vv3C2D$g_6+1x&uRLSvzeP{m6QKj_cbg!ds;u{@*a9qCZnBW+y zba7+Ucj@S(cv2wNp=m!5~vHvf|6^GcsBFPUzeD8Cie- zGeJ=bUPmSo#_h`M?#Pp*r_=bK;Pu&b8=Z}z00-o)*d`4|+(1F%*uG%5dg~J)G}s{_ zc`Js@jW(r@h#fon1yLlS(UYg9r3<*!0V=MJ*iW0*q3Bh_V5$XgTmWxiR;7gxKZ`mV z#TW4NyLZjJr#OSpS$`D7ZV*p}s)H&_lUS=8W{auqQOS9Z9{xJTGm%~ibxca?-!t+I z>2p2RGm(Ua+69FsMy7?6=V@>9SH?1W`D*RT>f#VLa)erCEF)o8v&WSdL`Qi5FQmLk z>6iz(+93!FA@mL*jW7--)I(kiOVVxB*4ivR-4{X1CvK|`7hQU^MYQ*fxI;$u=v5r$ zb0?-^@vd?7g*$gRok~0Ih^}V1Rqi37TsE2Sq-0v1XPC3blfv)e26|a5BsDk0c8|?6 zG`0phi2kX@wum!7WyJ+plTCLHk%JCX2iOrumu=^&nljz)tQ+%75n#Rrm=9wPHE0tA ziU4A%ZRfQVkf$q`<*1L>vy9?iK|Bc%E}8RMI>O}EMCi*5(V zw8Qw)3-~@#pxF49j*0NDShWcV)QKW}^&{71ld zqP@hwY;eXBA;6QXqi->G4kon`!+v4GULZ1B=86y zi}A%$;|_0 zH?+3p>><^*_j(O?vs)jEH|-irhU9oAjRc|T55&VXgDhCl!eC#I@Bbx@Rs=BE5vxKl zF94YXsJ~^jm#qx84#2};qp^y;IFu|KIKp%{{Az};S1%uZc$A;cLvw(BvfInf#ZRiY zdNs0TwduBL*N>!S=S)#+o#hD6&~ND_;w9DpeNP}~XjF|ogp*qvUcPG`FdHU|tTq%GA!6;lB22djKYKO-U7+;Q{* z-An4KrsOa)1!rvW(k+b3WF}Sv1W{_31WN-LMiOIii7gzqH|Xcy%SRY#%bpUi)Zcpf(lNMHFr7B?8X`%$G8k&^a~Oc z7WPATUTh=F_+%v6@!O4o^ysg&Hi9&+-I_LjMXHyLTa3H5=lH7N;y`GN&rLV!=Re}c z(WOrsbiyn4-rD?E_#9UN`vIwe^+q8Ymfpn-PxV zX`!o2{2Hl&uC0j(e0&*6D5MZ&#H|6ca zrK>1852credgV=_JCPDTdH>K@fn~G{Jyz_x)4lGgt$1C5aEmGu-wnW?Wi{2zZAQ~& zV1f{<=*A*HIICfZk=dVSk#J4_K5ns*B(f?mva)bpmg}k~2iH_b*9;+%n@+4ca6qb} z4N`h+!+Z4e1^o;$Zb-9rkLfpW;437@bp5y2a&y_7E**bL2hD5F;N^7#m?1!Cgjo$z z!a793jdY-yUTXFa(pJnaiK?%lza;7^Y@_2{`#l#SRFc%x5H5pj4s}nU38sPlU9WZP zJCVG5=iC(LgX{)PzGe42DkHgd7%BAQ=d&-|e;)hbbJ9cJR;DKn?vzVX+5^J1HG^X#f3J$qc-X@_YJ`v>85xJGea< zQDJr#0GdO8>RBBz3!_;2+v`|kJQ2c+HI9DZ2SK$wk=A}ownr|HygYD(ztfniVbPIp z+9gl^IWlEPDv3+Zj_B#=5aquYDTX8{Ce%CD)-KSMeng^`fxrA}Q_%ld{o~qz^70v{ z>uQ9nq>}C-<@BIcK;(dmh=5;+8~q-I`F~ou2IXc4Ln~mtyl^(a&JSU&x67h$i|X->vsIZ`l380;W5q_-*vGext;*+Btnm@7enj222s6uP17 zu?y-akwtamgimVyx8q3_us1EOCNz zdegQ3N25<)71hLZ@06Kb|b%%X?!k;YQ$fp(>&)7!(ykg;&Ee$3OTPDXPux_ zX`F>7^3$+k@q-?tzqA)*_>qj@c@qPs#@D&hTOBcp(rME8tg+zjmE8Bj6z zXG6@dvj=LSS#F~*M?4uV&7g<&nP!b&)T@aQ;{20Rj5!Nk>`9ogQk0smCI?V|$<@h4YJ}d(%F&HPJ00 zxqN^Pt^oY}$br{LeX$^>7ClSs0GC(CyUNF<>nv^_62PK!LI{{jUO~oDYL$@}FbVTX zX7(`RHEgVDi)mJ|@8Xf6DP$wDiVEAa&EEP}#EPdKY~Cl23F)S@rYVHXT2eLjW0ZJ( zRjh|wCQQy}GzjRpAzi{cB7cg@V1xlgFl$J#H{)TY1aWq0CH;1ZH@!yx@aj%n4-~!6J3fWZ`G{xa z8jQhw@2P&ZQe91Jl8*DB-*8l_XZFr0v`2jpW=n)T-}=lcpTn4QZRRzUH`4%+VkE=HKTy@z5M` z#3TF_;`vIY=|jvB`OqByQ7M0rvhSVhGKa!|x`oe_B}{Ikf22wWe&@(2MP?lW7nPZa zAqIC{2wP225Vt&+QuG;Z%oq_*VCEU4>FpHF#<5snuXIhzDorZ=DLjrS+p=v?*<~N` zQLhY-f?lGMj1YzpH(-3@D|fnc#0b(z*S3mMGpX~vK|It_=D7SR3olKf~MU;e0U|6?GdoaAPQp3ikca_=(6;Y@klP03=#DEROj(yoDIY)$$97m=S#%%Ql_tz zl8r@b1`zHlGZ4+qB$2)~a+GxLUK(v zLr{{>)?1$-RHYNo44207nx({ZX$GC6Tv0uFw?yc&jPMl$z4X``VW}bXyJB1Grm>_y zLwaTQi;!NI0QC@1{Q$jvp!Gp3!kbCs2q_g+ZIVfUo&D#&bQp#cJ_!asT zu_mrhAEXHKkeG)o?{9JT%z&Ls{AZEOwrmRJzv9tnmc;frd^j;@IWMJQRbbO$E4)}J;db5Clwr19=+RZHMn@LvI9^$!stZB2U zE!$)12wf`K09hZpZ@Yb;6_Kxx60EL}+2YCe9Me=XYjN$=%cSn^Wjou<1oC@&pjRf= zSljV~vQ4_pD+95h;B1&}P;4PE7MO*iMLPt(rQM9d%zneE+c}*N@ml@^<(;DR3 zL`1aHPr4gO*$v+wr4w9wgy1TyXiGMVhT zMKAkbBU*YnIp1`#GG(M>3!)Hu8&l%OvyuDLLoR1*5il~h0luni5NA62%^$> zxZU;X=k@m&q4D(Z%uUPgzBu`lu;Kn&o-y6sxG2y_x)E#m(RvAjP+Z)(^|y6QeK)I=j2zTqUieM1&@)4^bPd8?e_kq zgNNlq3!Ehxe;&$NMdF}k?(BYS>BUMx7(o`fcZ>M7T_C;tEA8kS)cft~R|flVf`q`f zfNa~#(jU?l#Cup)8kPk%C(|~3mq-k>V8V1d?kj#eTgVqY(^`6%E}7m*55eM)WE6uI zJI6L|F`W`;+P2?w>Sk&eo5*;W51UO(=m!#NML+p0*+$hwtPsN_by*+7Y zoa{>=GvXowL#pS0N>h|#^W)1vVEUUe)Ga)Cblsip9&t_wQ6{a@k~_}!JCpV)kNzQb+OV5OWT|Hh@4fhUyGPP|KA1>4A9xag=n6v~eQ{^5r#+S?kzC zx?WeX`<@{E*gf1KFCk{wfDPm6>m1L4@PWf2FIe!9nQ*WjF$_ahDM{gv(VMeFr{pIM z_3lppAIiQ1KFXr`Kl?oQJeOYX()%U3Tzb3oklv{wBtUus2@oLk4$`HUP^AP=s;DT6 z@G7VXVtrK<#f}XD#fFuZ+x)+~&s{iP-{0^5|9{k&?9I*2&d$uv&d$#MLBCIFCO63| z!rvx);fss*Icwp1JCN(P>YkqNwG5A%V2|B~y|gUN1$IVnsp@vmYV{5t@s-om%pkE{ z04p{psk*~GehH=t=>@nv7Lt=pVF;u*%uHT`4)QoufuUO_Xhnosk?uq@Aq^fHqUk<&?)A{dMO46+XBdqA=UI@oMaah zE7>_l8Q%!ezc8_|!q@w+rp@$kAtp`~Vq-sZC**}UNY#if3qM;t3UeTIuQSb}KlZ$a z*e+HXDcl2iQ=pp6hkz0TEi?ac_>7{g4>lFJs5P!cdQF>=>f*m*mAkg02nmDBTr$>X z7*Ox%)=AOL4Lf#mVzFqIAW9X|>yM~R5O)7PbO#VeB+yKnkqoae+yI>1+Q9MvvzKu9<3LFr=r5{-Ew5A$9vbEn{l@#DIb`_N zfkTH^omp|4W(I~xqEFB!aoZZVm?2*Y@dacsfQc{yS{lB6|D1)?)_$Y%=3UY|M?B zZrGCr6{*Js(x!uPDSw|XAD@_>Gi~nTRaKi>rsw)=5?>=bbpy{28-#fKz^@)AO@x}d z1)mm4^v{hHrXG2{f~ZLRxLs;>+L+fnrW0ZQLuxT#$mH*FJVR_+dajDih!0@pl7bP- z#RgIfhGR#W>IFW*xSNi-PfQ>~Os;=BC3-s!iEBL{YVh4QQJ9Tz(cg`2$Tf-RBanBm zKvZDMfDbvz^I#Vy@fh1A;TfjKHnFI$v{3y3_XGKs5l>5t%$_kH&<{^xh08%iqb6Vc znv@8udNDUTs<|K}-2Gfb)7vd;=}+sk$L3{?3nM0F&p7tx4C5l4zUCnZp-XMc^T(Khlf5K?c|xLW<3hre{c5U>SQqgAYoYdK^lqoeAjqR@ ze*>-3;i>BQ7;H;F%1w#DQyBG6oXuT+nyBZH*XY1+==K+u#i6QB4{0ZHUz4NgYgo^7 z;%#{r-)E&7(o~{ak0}+^%oPm9hDdGr&i#?kiG7+o8GbZ!ZJrR@KWvHfC&S)hvGsi=A-v1ut?O;@%dY!skIvZ@X$97dFp)$7N$ zucN4!*nJf*@lyGWayAvJHJS21Dw5C8rDPtb{qA_xot`i8-YR4Z0d2FnU{M!%#%V^u z6hiy@uLwLI;J@vuaII4!={x=D^k)lHclPL;gniot^68}V7%{i;n&~qIUxezGO_BO} zRvCyr^3G+)6ZQczlxBpo=|Wi(Q*Oo<#vWs@g<_sz_v2X^v4Q>r>MQ=r)iiYY>m1$; zSeiyJeGzm?6PTsR9XfKlF3_0X-@CtL>pgvuzxTkR3G_}%nfiHBmH`K-Sfo$2=7>Il zrH_t?Ix>3LMi(hQAE|I@lHKJMfl<>1^58TSJt6R(cY?(3IMo&Uyt+-A0U0g-jP-v4DN`e64cog`s-bmif|CIa z8#R0L4P#1yS!c#w9d6owH7xR~a5a_EqUU@hE}c8Pb3yas9m6I)*gU`cyNy54-{xI7x0y({mVC$O%chNf zCl#xXvb_?fzxPtF?8Rq^rzUX&zykg(woCr{?Lu0};N-(CrEN}{AjjBOBJ}S(T9p_W z>L0LuHj>UCZk?AmjJ}KV<|5KO(Eew-}( z{M-f-(lL9TFtsva%;k>9h)}-GRt%_|g5y2#DTBVOdJKGm?@Pi$;eTs2j5*lpSj5B& zyEq;N_w-VYp-+8GpKPC-koeJ8#OO~llj))>i@gG>i<(RNj|hyp@msWRVafvf@=mgN z8xpnskDnr{T{ylx^HRr>{q<$8XO0lz&lfyD7+~EuPHG63NUN?yg&6P(o`wb@s+>+4 zFk@uafA$w|AuF`5({+kR!iAfL*^wkO{pq(B#Eq;cUHA1&e^-e6ciY36jq|Y;Aa7P3 zq2C{QO*O54DCdbC=JIFwv6-MNK?(iciyEmot=Wbs&XLweA3ZK+XsZ$F4HGEQSX zj=8wG&#tZHm;5j3OJ8cAHJ{yF^;q{iu^E7ao4Zb`KP(3~g3WHzXE?Wf)Fz8nE&`X* zyqMPj8^!)%vjh*6O&vzKn1lNzDbm{wl{+Hh*xHqsfwe0lFwBrX;N)%UL?4Z^_n5h^ObnoV{MRp_Hw4$f zHO=9JiBM%%Q7Q<>OOvA)5PPBYe_Gh?8t9)oZP?J!2CmaK#gKymD)^7!AKQN^TS6>i z%;CL1DlNF)UOfqyVUfEL92Ijr%J;?R{QHET{Si^=MfCI{-~J`O{jvfE=l)Dikuj)# zbIa|?n~2ZGBHA#n2M(5k{i<{~gxl>I$*0`v6@d_8Vw_nHb!Zd8+C;F7K9Ixy|Qw zdQ?c>$H_T6PuKAqcOLGn;sU#5i;Ja(v_QebU6wQ5YZvZ)?%(ZWj&GijZ|CfoQZ=#k zr+Dc|g2~YE^rm*Ly?XhhYyYeC1GN(4^9s7XIsMmH}^$zHRI7{XWk_v(Rrb91n zpw=h~d#C5kPab`+BiPQhpn6miNh+H)Ji}ggiZ6|e8rm<#u9-OhbTXlzuq!pCa{Z>X z#FU1eizg(MtXa7@E5O&gxHuv#za~}C-}x8)h4uX+-JyC6eTU-@9Ci2BKEPcDR(FTf zfpj+)*uQ^SeW3aP8PY;`5I@xmfyo9> z&+wE$N%k7hXJ5@4qn}^Rwu!m96KBNfBf6_h7vVSIPTO%gNtUq(;2M;Y9H$C#M(D&c zV!bTLD%^oKPZtj2MO~nX=LeVCtAf)8G*24eT2q|lVCy|}>5!qj77iz&ep^1KH`g`n zUDlT6;G`KguWKmX7ANJ!(QU=!i(P~@#zg0S6B`P{!wVZG&dX1TjhQ#6q-f585!>nC z=O!5&mhPPsSWr6Zl{R&t;8@GE25_Kgd+d##^pT%eyRC$GkOg!6JHDFa|YGUf$Exg|YJ;$XQ^vfcscx8akkXdB!O_0(tZbpkL|H#i* z)1N+&WzVq0*l=H2@D9A16Qyz){=kkQgBMqMt9{7n;pEzt?jKao1^0>b_cWvgsqMVV zGF}+HCE3qs`1Z+prL$&5N5*tgoE-}`XVCvX$cL8KCBTghgxauXuqlGR=y^Rf44!34 z@XMNv1FEGer-ZVYwiOa^ss5MuJSe^N=Y zVfpN!0MDY*h=|grv`MdQ7&2tT=2T;hWr)O#Rt4j|X*U;R|q$jQg<*fCz#K!#F5 zzn6^>U%gL=6!T-g9?i(NVy9XZ{UwLklDLGb;skriDXuIwZb(tWgMHFFGKyz4mqg0; z>xfHM+T@JZeeFSZ>x9dJ{$54J5#dEm8UDWBg@xf^1@$I-QWfB@FKV7KRGXY8#?m7J zK~>;#QcCv)M%z@(^IlFH+qwN0+A!6u904N@JhmcFwM=%1EsIYaR+4D1a*i*LO{gx8 zC;sjoJI}O_I@F=F+q}E-xB0@pj+}`ZV-K_kkT)24C6W5#=F9+JpAx2xjp>umuB)tE zw>d2-74>`Kg!fGAbpe%~85MpB2DSGM$jQ$1{bQd?LqEa8-_NVK zB+@6Px{v7%RsN)N8>{GzsIr!{9s0yTr|-6w3^D!4=4=S9mkVWY=mT=0lsUVPIU-xp zP^!W_Z|qJkpTHamDYN4fcWUd(J+;ZJfK4Z|k1cQ7>*A_gr9Fbddak zcg>`Q1^JT(>xtH&eY|I9n8v+k;UoWgdH{eYn-vK?;sV^{r>)gEI z#4_wgzw0M#*Xjc_m7VL8()#EM3-SVp>tD_ZC3P8LA#Qo)QTl?KWFhqS0nor?+z~Wj zeYszv2}lB`I8O;bHH@bx(D#NB5`wIArv*}E<1I9yU-2h&g<7dNyt(e`Dc9YOX! zKs4l}BEXfMo6?M_ji1bTrQgK(dor#nfgMX>{LX|dyQ6>R2lPseh1*u15nFzpv=h2c zw~g7?9%z4>xV)@#j4i8!X|fYTBHxb44!2cU&b2pPRdV-a0K~aCg6Wi#OW4@rt66hr zS9stOAY_>9&@A-ptYpnFC5k4flEu~*CZ3_p@6aLjlr1b`Bh zkz-%jI;zWc_~L!F(cvXoQFgL}k3PcS8a$w;J*)lr#tHfMF522fd!KuA^w{S%jL)@o zjyc^YR=Apxn!E{Gv+>o*xRtwcV->Wk+^ZYm zoV`+nT3a->z-^&h!TeF>re8IM^GB6AskMb;3pL^q?Zr@f6dm+dtytwC~XG!rvcB+((e-6t_k6B0qj6 z7)|dm|Ah2hf!xl8e}q#5*kJCS^x9yHJGT3*#Qc$1ESmOb>2GJ<$8A47y6wO?o&78Q zRJHy|TsRw2?;cduPB^=viZ6@FcMozJR|5Yj(8zLB?)l~x#o&7e7zJVN^sL#bZF`{+ z4aB8U3e@)tj>}8{2HU6=ei$;KF**Irii_| z$6jSsyn)_ula*z$17F@ns|0}^PUM&D&i(;lFA}utILw?!u!ll9kYK-ko{2N zTrD}pmc>R6DNeMlLlEVy$!9w&(`RhyYl!jp4#|&lh%9MH`8aDp#k$UvTK4*U*!=F9u5ySejtQ?UOLv?>e}g`{G^9U}()!5Q zAiHV(gogtBJ+bWjX4V&)YUMi9PYFg?rPQQUQ#)iKy=Sd78hx;}G>tJKjBh@e7so2a zsN>LN!)!kbh=Tp%!GPeteam%EP^?H=UDp+2cw*e!6ZS?|4=N3~M!$`7+4cRJb=kyY z+0;XU@jADO7d|O(>UfdFU6?dz*v-JCFuYAmZw@WraT zoFDFDFyV$#R&3)&&|}Y6LAEu6dzqBVJTd$N6J=!?XUW7->p<5>lF44tB*1mhxP?V@ zeJJ_9;{4B+rhn)1z~zG?qlk_CKq&85NOn)kVn;#8B2$*WW#QaJCnDYyN91 z%Nq9|nw1|L;Zs$cwv+|w^U*t=|4vAe(j{MS~M#}1yna)d`#HY%Ug*CYl2 zNGB4a^ z{XodRd(sbXw<3Xp7JT^-dzin_S1|Yjw+hcs#VPB>eH!k9_uz%VczYt)8-jde^*+*8 z`YV*&tu!z z=FEO|vBAOKCviye$+(n2C$-wWaO{#ft))(~rg%(2;kZI~*)cCCX#h=HS07bJeC5Q2eWm=|72h9j9`X3o1(~@y4RxbSPsL@%$A=oiLR*?sQ<|0x z#F<|Gu=t#|5uw4srPC8)BEtqv$kn*};c2ZTt>EN|8;~)2UpC&Q81GJHF0qD~N1DrI z0uB!J#ZtSP2;--?;7rVU@X}$vYH?j6+2^Nr6~Ys|6Qgy~B%)zU$trK1hkfDHnK6b) z4e{v884)VS#d<}g1`5ltm~j5GcoJK);9_CvV1Y^8=7!F)XpXXSAr78J*c~{wh%~s> z7f#&TN`G$68yga>h0wS(N@};rjP}56U58s51Owxy&~jjhGh&|5@k%rLUuLK z-z_I{K!l<1D2P7%4=2ceKKgY=B(^{LW`P3B5=P9CB}ftX?cjm%*BLGBfESWQ(r_b}+R3)wVO}2LfnJikFhsKT4EOeq(fdh0lf7cYe2JIqkl9-+Cwr3Q82Yxe zQ@`;`OG+pA^^_g^j$K-s?ny7h5c;?bpTA@OqDo(~I^XCQ7ox>wcE4%DrJ&RZFD9bv zJoLuE+O;E-mzW0hU(%AE-qNZM3F|j!X#A2t)(zV}rLbrkWLM#9cF*_XF5FXMI*FrP zJR6041Re}Qk`&~TKS<7uC3~e!+*nPA(Zep9s!M?`j-xil*vDN|6L)pQSL6cjtPL)% z>X_OTKP)eylh~w0HAe4#3rk*DRlvAE;06fDCI4PrihM~2wku(KJERH%vk}`;-m^xp zym*Hxwe;vhJl))dCYKTG(p*QcA_H4!3q9;Mh*Y^s)yrk#u1cI|t2r;IYxD4+RBiqt zLUK%(NJnKGd7-7z$D`Iia8+QarzX!aQ)FhHs~20T@UT2Gv$i-jl7|wUX3f6a zT|9P=rk>0>9XjSCQsUN#SC)=xoU0}oJ-#A)1$rg(rGx8)=mF`Q=(WCSj|ntjK+F-M zZ5SgsUA{~Y4Qe)BA!Dk>49Q$aKbh7@U$5Hwh`mFrAh5&$V&h52il2klNR}6%O9;JR zVvrrcNMqdeQk!`Ps>Sxcv{9ft?cFQB3w4sGtP5&&8n(huCA>61l}|R2QfFscPoj)j zQ#$H0%R~HU9vAXTjm!3j8UlhgEEwhOiHDs}lvcC;wRD{L9r{m)Pxa6K5i(0jHa}?f z-w5H8s21yU=y-vyvGXdt8tp7CUGMHC*Jc2Nk*{du2RUCL zdqBRFx~#oCG2$>9^a;xBCRxNj?LVcgT3y?wlWRwZJGQIHgGtUK*OR{WxKs4FTm0cM zav>fN@wInpJEK}}2%K;%JYb3=^(;%-L4T;q-c4dmzmgGynu+7g%H=venbVVyS-qm} zk6g%E-=2@9W2y+y#dgG;Dz1MZ1dnC#sgqfjO0UGJpnGdv#y*&;soyLPs-{hmTN9lc zmZdk-ar9|T1KIuW(AmdHuAm;4dx&0WE!jhwY0&g*Rm5{(#uh@)nZ6<8tH%glSFQ;3 zD6A*uud?TP@p;T2%YZ|KM(LIF0|LW4hM0?ois-)r+mf6{uQvL6ww-pVBm2oPA&5@A zcy=A}>z}rhUg{j*T6FeN;yrMSk0ro>>r9u+UpYzl{()>^xuJpqA-K5|f-grDaS(WQhNq=fa~y zmR}H7d1w!RPY=W-Z5da+T^Gv7H;pb+Z^QVY+Fn+=+pE9)`6O;z@Qy5>0wnz@zd&nH z$pduh!tp%)mk<8xTt(LG&mVv2iTF{+NttsoT^d^-;#kuen(&T~?Wl$N__zJk(`U!p zlWoEP6}{m?^$%`sYuZEt3j2|3$6kE#7=5O2Fr7OcXX>vMB(8Yt;>9@qq7N@#j0j%R zlbS?NkC;vGczC?wXZI*bH{0jmxZGka_sfS_D7?&+>R=O@H5#vJ?Mii-x{jpO!OHA( zYb3`PgsE1I@}=MBk-21o9r?Aj^ilfu(A+0Ti0L+&GM5~F!%8GO&Hf_QTmzKS$E)($*1F0B6>**2AjC9;oITAsa z)OmzGL23lY;kkS0TSIdmC%L9C$k-vHg-1x=YqQ^NrVkB<3=Tm~$`;HK(}G^f2X^y3 zFrDyHhxKX!`ji&;rw-BY#cTQaSIg-;iWKUX@_Tuk{fgq*TV0^A#ddsRIwKB)^#Mkj$*& zwNqPiIwExoh%Pf`!`JH^?1y-yz8w^5Yune4M1C3;`NYt=Cy)UF-MLK1s%lk(Sk8)B zci0ll_N8pyQ-e)Nbq7^xdaBrGyP z>pJ6I(ameYG+i+6I+?2deV-iobzx6=s9U^xClcdxpleE>OADE1q*;paS(S)ST?^Tdga zn2q$el8iTvKg}m2b4y9Z-z%>TzZ*Aa#`Wv;$-bZ|0lA19Gzvt!9iV zk$gFU&8>|OZC5!!-v66jG_TlZ;a4hkD6WRMuAFAk?G7IKHzPfzxv%IZ*kz9MkJ#<5 z?zbay_gZb!gT&cc#LM5&#y)d)B(=^D_M3Y`n4KOuYVYC0VF4{yA@bklS75x;=ve6- z`ggF&2RXg^?ZwnPBsAD8=RDC}S-p`%z)U3ax9`(Jv%wZlIZoc1;4tYS;a~y94MbWe zV@vq2Z~R;xoZ3U%Bcp6b&od4|KGq@U8nW}{=#>YF(JB1(`6?m4(72m^pA-KOL8b1+ zxBY`9sdPtePH^b!1x%5-2M;6_Xl4^1X#DAP!_E|^YSsq?YKYj)e`$9&LkMWPS zh4Tv+S#>UA@*z^?R8EH^ERJ<(*byG_qL+H%%p^w=MRHYlTu<8DbuQmKDEu+vTslZl zpFBxl%o{*!yNF`~vCE2HOg=h!GBRW}p_fW>>A&aCeZk#hlXe8?)4*1EtNJo)4IhlT z3yQ7CMFkY@JV0+1hnj88T1&x=T@J)s?${rsJEEeGxnz)tyrrHF)At7tMUF5XM)07>UZW<`F1IRjRJAb4A+^fi`3)C&(1X!)*XYJ9wCQmW95Z7!-m1>U6=7wm zB43Xsp?#v7_6@2C^&eUC+mn;vU4>Z7uPAmI;gOSjAEz*_}@i-=gw$ zQaC5AoF49Zm3X==J>-!0!No0o9NYHCjHS2FmyuB^Ek+ zjEdP(6$d`L*sd>9mBzV7^?&(Pb76|p-fs=|X|oKIglu%WY#%{HK~>S`7(F>Or;DV)a*nJRA;eS&*qI78 zQNWwS=RAgumJLnes>nA(Sx9j1oo#SBt=D3vkvxYV-f<0QULXVllq4GbLalTG6&MP}0J#@g+i`A(@_Lj1bCT(&RIT)Z? zJd3gO(CAFHtP-v#WRl^yM`3!`bHMGQkYtrArmk*76!@9g zb4}a{`kinK9HQk`e6A_JOe6FsbXn#d!cBvpcQbjt7j2|*e{LA!qJ?e=tpUQ`hQQ6?$JNAWUn_%(1;l`OoF_-AI5>_`n|HF@(#4#n1 zhKC)rqu#mM ztG)!=tw)@Eh_{bz`vyM;k8Q#0NvNyJcU$P%aNOW}R{qA0EEheNkCwbvjUtoiERvN~ z(%BiWU$P@NEa`<>PuHl|TV<)Fa!+u$@tH-gnz$Hs;uf*w} zAkzXov#-{9Ytp~1*E%QvP$EfLI?axRKF&_1fyqmK{H9eKM|pUy>zCEx?YE$~at6-3 z1=JpSPy9F5edP@TCi~nnLh=aG)xmdV7lCjdUMV-o5?Sd`y)V|eosea8-oA=R$7bl| zaEvLXNvO5giyMk!wF9q*}9@bOcfTiP6WSu{Oa^_zm;wig``w z^%E>>qhgq0#>|VP&dBO0Fv-;89a&CCpEBA2sUtpiW7h`Tsb@|M?bwpKR-!xX`jXEj z{f~OpLmNqEYTk#-K~F0w%;}dLx$0lZ;Xw=EhKob|<5I|h4=%WCrd-7fRa>4YemES) z6V>iuOOtur&70>7h9)Q>8mtyKSmZ8E zU+=d{oG5Je5@)R@n_Tm;xNo=1B^&Iwcx<6vwgqG_8E5A;BC^G!C60VB)ysX%b}>cc zQoGPy(@MJ6;R#}*jY=Y8W)Qci1Tu|Yk4aki;|zKW@-h*AVmIW)k>|uHYl&r{mkgi| zSMQW{o`)^&-=eABb8cId5GapZPO4jI-E_xds?+~FsKvQ`RkHo#QFMfJ19|9^mjtDWg#<(!az!Ts4fekD$AM z4^uz+MTCIVs$3uJnF^D#$o$a*=lXm09UYM}nAFgliCNdy^u3@9*#5D-ePY@}17}2o z7We?-&+xrMag&xGoGMGcA&m(T(p3#+B6Nylc7=EhlV&fEmXg+;wI52`RLg_qS<7_9 zs}zCMtqv-Qx(E5pG6m~KwtlhXr}S*<)#pU8-<)H#okS#MVNT{ko>7n)I*eE;Tfda2 z3fb5tMSWSR6|{Tt+VbcXdW|#|tbgR7lwMOk+0Ay{F?wn+d6z74G}2?gd5W3i9X*Jv zM+#j|-?MdV9&|=%(*{8_W;r#B3-jh)7Z zkK)0D;GPZQG0X?f0(jjXcwE-@1lJ9f$>C&q3g0|cTUFNlLix}FKj*;+Bn@;7jQ?71 zKYmT5bL}JgjVo3ynG!N^XG(Ded6%BgEZ#k=V^nI?nk&_LyLBu;E84W%oL1#YkxY}| z=dheoyzYhrK>T0$cLvGI=pLC#vNE4yKZHS~FFipgv7cfv`w0}_W3lkOuts)4&LP|z z%fW%=D1p64#imak0_JH`jXJenO_oZstCxeFueYZxtDHUT9Q^&fb@>e`c6RB%opnev zd`48h^ame2u^JbIqn-p^SZb(76P`vAeRGQ44MuvFTuAIgvc6a^bSgBgM%^t(ymut9 z>a9d;CxCvJ>0~##ZnC2ze^Ncu{e)OWLhnQa2KRz`mSJsD+m6#R1&4aP1&4N@>Ps>M6kw|(YkF~rdOJZB z;)e+z-JMM&)s?~GW$JRv6EdfXI^M+?QfzJsM5;^o`7sIwrEe+v@uaCqMD<@@^GWMiX# z7w^G`OFgVz`kb8Q_YfJ6PxE%%twMW`goFd&0lfUC75pUyp7D~y8x%;~Xa=t>@apls z_`kGxu53TTjWu^ywQy=B+oImL0&OLZ5{9jwcoACn@^nA_X@9`ghGycmL zY`hdYZG)`(y==wkJR7o*0CdrKTsBO0RD=E!xaKZ^h@G%IDfNqHcSROnFW+nm@+( zN1*oYVd*IH71_BYZfY~KPH>jO8pa0WFqZ*`vN!7$kY zr^m62ePUI4w3AG7b_{2T*sltD;OhhWrUM@fVz3H*3l76H)q4z-t7Gok2)^W!#>KNA#;pn0>x z4MujHD$m&|+&|omd_bz1DQ4o?T=v`*c8j+mJIwa-8A7gXPiiSmQH_GqJz4B z9VEK3pO(2V#@s9Lc-|T({NTX(jpyk_{E)uteo-v!ev!}ZCSd|OA+}n}kl4y)h}g7< ze+ctcYx!rWiP+*N5I^yc9Xr?@wE*LM@Dyu-HqF?3!Lr5glzvs%DZf);tHS{L-h23$ z_p=i42ccOX^H9Ke`InQMsw!=1?>x^PMZb?tFc5Wkf@^)^A zrCTcW4BdcE+7|M5MYnHB$1FNy`-zqA-IB{V9n3Z{`!6$DKoW;et2#>Rx$P(QUD8En z`0uU+sKstG+b_d@_1b>YYx{viG5lKb@h;PcbRV<(KdWXkvwtVr3J0^D3J$aFN1;Bf zD>oE6w9NjBq*ztj-KPL{{|@$2WDc21W--HWy35DI;W-|R+sgJU?Xdl_(r&T+X8e|R zSm-W3{ziB~^alh^F zwaqeS++xf5eDJkGwo~B$Y5N(UEb#Yiq-<{uZ?=(aR%E>LWQJGc%~8u*fl!b_5BR`s zKck1+a>geGzxo*~{EpV}X8a1gqXpg;a?^|7#S9Pra2wC?bDItS#*E+A(F(t-HM|+W z0`JP<6+W|hRQSy25qdUU=u*kj`&?et1lCs)cZ79+8!IjfGgXPB|4sZ&#Q*%;d~RX$ z$#SmuSP#U|=ghj!Kihy>P{%RvxH<)??|s`@u+g!Kw{fIySMcDu^H%D*@LM{40>x7B zzVW?hox6JRmhwVxu)g+AQe@Nd&4_e-l z78l?kH?{XIVLTzt-Y~WF!R3zk0lm2kpGnc11sDfxxe@Ou<2HMEs7|X3Mxj3qN+uux zq*EEm#~%{=aKnj>CK^?vH z{g+=|=QMKMoJO2vSkbtt=dyaHm3)Sn>m>C}2 z2K?{bw*n;e3oRCSD|yyi!<*$|20}}XQxB=e;JPf}<=9pb&?VEgV zJK$Hdaz-{bo$xVm>5z+oPQI`}XjwNWl} zdc1AmZR+q!O)zRd*yuuR^vn?jLC(Z;{!vob&@!DEzxG-j^OmLebgw>A3E2IAN(`J zS6bmOwuZkCf3XE#-e!fr)JzZf^B?%ZCk4N}jp32Y7$o*x@KMmt;qSu_9}?|Nz{Btx zWRBTv8w8u7!dl$u`wH@g%pN~D-Kj`%XB&->aLGKsOxlNzJfGSg_52nu-;0ku^dxCa z8tv#%mYGxM=rBk;ETq!20jpQ7U5|{g!rY>~!n|^>yA{B_0JtsLpR9rhk22wqPisU_ zLOF3UU*bef4?pj39(sImuI&Bl$*AV^^VDE$cMyF-b26J8#6W|1c;%+jwB`Was?`BV z7tAB&d2TMz-oZt=F3xfOq39ChWb(21o_xTLAf%0UCI_sY*(0>{$^o0dy|6p?+LifZ ze7wIMe8*aDu}AQD2x=k246%$>rUo*3pB}UrpJ>>lqwb@tYj=vjC^qMIw?_PB>YN1% zEoPh3%w*VXa}-}B6E=t8<`_9@ZhFM8v=eKqH@Gvj7MmmfGGW1-sSK^z%9zI~WpaJu zxO;sNrr*r2Fx)$w*_dPqx1nSCBf3rHE!7Yex;O-AS$~2I4mBSm71N!SqOO zQ~LZL>_g*!*oS-i2rm`1GvA@i%04uk;s0qLz&8s#>zC=3t6FZchQCk06hG`g?ZXIb zeZS8>fJY2J>`9{){*l)3_u(IDftP=`vJY)$c&_jF;Rl}-{POQs_(xg8--mw`hiCSI z;Wx+}bFc4Uu@6jcjNB~nFbSJOVZeEA4ZKI5AL&q;kTG673=^{;1OT0*)% zFdZ|Bhv;3^Gc4YTal(sGePBBp@-fG(OB(Li^LFLCk%aA;$s&3XWy1~`O$cw{Nh8a5 zxjgglLRX$){(8?-_xfe~Z5A#jwe)UxO_DHx?UIRNYdG92{{4B1Y)bh|A6UEO!}URF z??OA%2SyW7Xo6P_l7wX!g#Jn0HAKP&ejvSs&n$EiHh1y@v&^^ku8B!}j%JaM@QKCd zgHO_4CL5?L#@9sgCq)Ke^H#8SvkcEMuPLBIdX>ZTabx9D_H%4aTwx_MbFJacG6P81 z&bht#89f&K^B7g;@iY8P2NihmfypHB546JnfHnMm_#d#qv;AK${sq?b+=m~0Qt(U1 zt?)0jhQAO0LJr>qJ}~?SnPcvidF)Ar^^jZ09p(w=jb!;uGT+a1Y@_s*sg^|`iA@`P z>WlEH0|2A=)cp8FajJFPspg?Xomg=7r4#8%-nMY72e!_6{Hj0wWI;oF~aI|$tpO?sDPwZxxBe3v=0A~KE!+e^yo->#&rB@q;G~OBiMn}gR!tkZD zZ(cW!s>rbkJrRfmvKj+gg`{R&&lq?VcSz)>f6&1SgPF;|H9+UL7IHq*bM*U#)1ssBN_W3&QSKng*h@z*qhW&BxH(=< z#}0)KRW_r8tq-=l#FrqOo5(v%=gj^c=G%4#+QVgN6Z3!NmpLB%Wjj#(yjNFtkY6qM zZHKUSnd1jMMmTtht2SQ}c zn@M)I$?C+3aQOH&DK<}dpyqmZT(rHtPM4D#8)a`F6t?7OWj`O!SD%Mp=@>*({H6Nf zz|8c(;NZaY%)nqey}V$>qSdPx6&jhW6C37F&V)X&nE3q>doOkYpRFxq$wR}6B&;ez zV1&^)R#{(!wdI*DzJY9UadwIg2qW+um6Zl)F@{`>p$TKq@*D5>beE5U1@f8h^?I%> z5D%#n?Xu&e?FH|U+?<#gJ9w#!OmqE7GJNG%Pd?W-L-HOmjt|GlG2Dv{$l1~0g(2N^^ zo>m1d$+#FEO`oOTqr7w|LrX##TF9RAeUA4rMlbwGTdsQ?uT^^&YX^S@p}!XMI7A&E zflgG$Bexj41^PW0gj#87V2}$Kga@cDF$U2~j6q;A#=>!M+=wf%K2=4EoUBdUm)M zzS9c-V?rovXFRjbG~QE1S-bo=8!xEBx6JU1t?(Z)(*yqe2mRoa z1>Oq(lh*L}(T_6^%+)05Qi<8;L+U?Qf3-4KsuF+Gyra9kJf1)2H=xwkF1tWAVb|&v zGnej4h)c`GcjGb7EY9x)M510B%R>E5MD&oP8A*43$`Njx(sQKo#_l&oV(fmI_|xxh zk=8Y;13}m1-WDz9hOe5j1wQ7;G6U#aXh=49;o|~=H`Ww zI%x(yL$7vUMr|jQNNWtXQ8{Wz zZCIY^=^yIo!PT#zp4$LvM$Ln>(~1nLp0LQ2I@SvQ%soF% z=I3QH=MTKcE4}cgR({=CYk0F?2T16|*62OBuij1qht?-|- zhBxC^;Llm$<^ERqUo+DK{&4ykeuW^!n35LD4ZG;Z7R=%*cG-z*Wlw15ZRp z$H&;)`nr0$YW*^!^Su2ZSO!;>(Z&4R2^bI4_XJeBO|@Z*IE$o+b|1R>lD_XJpRXA8 z?i<2;$;}&xr;s;I|T~tk> zmeeKFFFw6pm*ZULqzQ?vDRid?lSvqFA=k+KeGqs^qS973K?Ak3+nEYN8tb>Z0jSXeoCi zb-bm4TocqciPHp>Bxo)+272cX++(_Zlm0QWuhQU^H;~H*@1N`8=S;7l^NaX7Q#N7> zH{heP3U+LonVZ7<7vZO3LUEp>L;VU*FE-iCL*q#bT5J}05))n%!^DeA9L9_;9+BrM z`iIXn(l^EqvX49X98tggc)A$n*4~siCdX67J|gMk206qYJVozxew&~opY_>W6#IaO zHaR$&UYa$0oiT&R^VfDQklq=xr6gMUfQ0f7X!rc}8&|6NSUAmmU4}o*$MPs&^9wMR zA2F5`Hpg&?LX{yP6wX(EOPWS1b1#(vSezzv=7s9;RJob{*h%lKtZ@v-)roZDjB(ED z;EKG)-EmV?ZQs01)XQs}!s$o!O(PsDwXR>$n1{({7u72_uCL$Mr&RGD48cVKC0mBP zBQ5A!TfYxCOSs!*2r3RL+RJpC)5+=o>K^?}=i#UKv5Gf+W{$r=c5Op=eDX5}k9B#x zVk6Lg$O`^*Gd$*+!^5U9NZ2gQxf%Zc&l~)OKW&#-Di-X2cC%;zoQlYugvh^562Js&G6up1>Oq(*Vgd&;s2W3 zim~Dul}Wm7mIoF@ve+o@UEC)Ry~#2tGtnDj7VQhgjQzuQR;8&uo<12+nq#YSPY6$M z@GBJiJUC_d;56Cu=t=+5Tr|f)W`le!C{Tu75E#wt3BRB>+tvH?3nc{_;Yv{o`lWiiB;>wt-L0JA3d<;qA zKF04%4&bv7>h&=Y4Ptog5PV>Gh!{@3OfcCp=R&wiLl_?V19L0{_&XL{+#YaT$hG>L z+k*}0W0Hak@ACo^3pq`qAqm2*I#RpZWJkUfp2IWV@Fh%Tz{B7>Ii5cmP4G{K^SBe* zrS0pWd<9djgvTZzJR%!8mma5_0W$A447FSho^ zwYFQWr#Hx64iBEnJpLo!VDMN~&9aI1=dIv>xAF%LvUZvC0r2=9lQjl!r7M3}!<*M% z)`KknVS!i9d(C@-Kh5+oKJa*vLJ8o(4+TGJwcm>s|78tt#;@qgUlw@z6D#^}TKNNv ze&`CL9QeT}GyR`f;lE`Ke;@s~ID8Z6Wbg)=Lt6U}Vm8)WCZnO4FF3|((srJ_Kt16+ z;EEznA|7C_1KVz+Uvs{cM#lXUe1)&qi}8JAqo6Dr4vSES$N`vIANg$fGoR7-9{arI z1a9>b?1J?uaCl($6){F#=ghjyJn)I1gNw^?Jy03Q<`C7jFHBLMbg(z zFMk^~TzrW-wvHd)O8%sm-oI|T^(z6dfeY~ub$}Tc&Jqyg%H@*B(Mo4Y-S8;-hUw*R zBEx9BQH)V=Gi1NsGF^WkJ422Ys1WC6F(4Mx0bT3}2W}BlHzlAWs*afH>i*D3E?~=? zA>@4vI+yy@pEV$UM;Aty8^tC2=DdSn9iVJP^;1(EYuy-kJnAa3(+^uYa2wS zC7pr`DA*akIkyB6J*1ZS!9-r6Jy#V6-s zf%oteR!Es)wZsaHS}Az7g0M~SO*Da8FoSh;r4H#rm%$F$Q?NsjE&8U`+|xI;2l<`1 zqi=a6Ygfa8<@V?Zm&xVuV<#iu3G;wLI*0~qQjrR7j=1QAug@F19@!fE+Fml&pB^c! zw6o7D#XeP#&>>!Dq%*3d4fKZ|D_2OfLrcf?G+@i#PsMTI4{6%Y1=FQraE zB`Ewe)~#mUBu(u)`h_HGE)(CQ`YF||^(c9W0HtOFmHcw09rUYNgid4Wm#Zh+Y&a7(>;GcC;y+{vj7H`m-M5pT zXvrTQ_AR~gltv~_yw^0`q-|Fp?VeVky+!=H&pB6289XUDJUkf|0rK?#=KmSUmy1mj<2UoYERI%)thLIa zhC5)x-Uwm2)j8}?LJ6Icr$~6ry2-XgAG2=C1ASe*BIeCoq1#1jccszCk;V7Lv_YB~ zOd^MuiJHk1Rkze?LqJGTg4#A5|AWImyfUYMOvRq(#RW=^-_G`Dt49fY$80Rm9_*$W zQ(gu#&2+BkbS8sNzT072Uxi+^Ws|FrWko5L6^lEm`i9Xs*$(uspY*}%>b@e#@*7qr z&R~>&K|cqjpu5XF1W?LJOi&1ZiN8|H4THQV#(Y?Mj836Ghh!0!uc?TzU|9%}%E_jHJiC69 z9nr^fnI>+%DrZa~y_*|(%)+vKwKhL-JU21U5t4DHYk|q1o%ihhB{+YL8c)6(kmR=p!=Re01 zkU#Cqf{f*r)9EEXnEa|HB{9@I!g9zE#=>dlV~M*r7RA=7w_Dk|cysO};MLA%TQ?lv zkkyD9V;}8zCM(`WNz2m_y(R$!Wcf_y_;g+*nFN^%L;8!x6O5qn{O?m>cU;9jY zq+FbCIj8mKhq$h`=2P7FV@p-UCm<%SMDh-hE=7dI+1h0cjtB_XL>DaJC%C(iFj*dE zIoK@^_f?4qfSLaXddFh@D1pwqvm1d}J-o0?veZTvra@K_ETvwd4Vf0K3?fn-JBaE7 zI);YwJjd6ac&gEjpH06b%~9&t-m=KI23dBSNyB@l-;nG0Sy!K8f^5eh52YNPGd0*h ze`LpI|I&8Gt10OFFZ8YDFAuZaMn$ZZ^hQM9d9^%?4dfCoERE)wjtd$bS*qh_NI9gT zUlG4m!rAJL?s8Bp%XgH+Q+O`Y;^u>y1w7?ZaCwjJ6Km#74Gk;|Pn|YC$iF-$o6kF^ zfzLZ^Gv8}IhCQobB3lTBLEi*{?)G8;Q_;h1AQgVk>180 z&7Ebu5v|&QT^?KWEs@?{3YAP!+zTafv16xPyOY))b#k%f^U-4u?Iit>-Y4d<^gf|P zJWS+0OGtmD_|0hu(5+p+q}gwLX`zc#be}x@j4|6Jwukr{dF3*@Z43Qnv0dyHHL}{C z|GgZ(%Udi@NA1JtmGi~Ud+msO8RP=i0)58k_&$ecdM+2<-;Q|LYiy4!7yYCC0}fyO zkM^k?zVx5%9KP)Sc44jj1j|D<(>a`dihbt{v%bQkw&Tj$yY}jszH%8*O(d!dw4H_? zmG#L;{nOF|u_)`{^6TqD398 z;>kKuFL;fQA>(ck=lP9}^q>@(R)=iBqg)5cVqrWo02enO$Sm~tEsM`%NrBKjPPYeS zmYw%7+$=7ws8erTIt^hVN%i~q7`o*K{TP zC zs<^yVaCvEx{|{;39T;WN{D1pA&)wzHbC=}OdoH~vcPWHak`PE}fzSz6ks=@jr3n%g z6+{u0sx%S7f}n_sfY>EiQ4ys0T3)dr`l=}8Howp8^IQtzKfkX?$j!|&J3Bi&Gds`j zEMB6y;FKq&`|hAeO+Se7+P&!3e(up9L|aFU-1A&zrG7|}Bd=!< zM_w@>ZO7J#@jd#Zbm#Cv1+O}aiX5-Lx}>7KvX@RL6HjjM37)LFs_tBAi&DX%o^Ct* zclMB1>DGa6>`KQ=2fLdD@1|nsq1A!jF2;QvpT(HEGTy5q&~$ZQx4w1u#MPs33kF@c zI}5vZ6kVZu$%Z%dPm8rS92J)OLgebchG>01{__v)(K>8ySfXui_&h<~+;Hd&YSwP$ zeLHtJ2tCl~VJ$n5^vRW5X}`q%3~P~RG9xzxr_+6(Lo|v3`2Wbq_r-39C4N42cp2jO z+?Gna9nSEJY&3hmbHfAP(F$53f7770VdyR1am+&-E7dlV#M)SUxk0H5hWc2}QM9um z0g*55Z1DCQF+pyxb6!}{xwnD$@v>4-8~_yZlrQ+pjx8i?0Y z(MElOd;@QMZc}i;fj7eHVq)FgqawHW%m*3j5DL5$I5f%CKkw+kV_-y?^ z%y(Z51l5*^cEsWsCAP;Qo1i?m*|sH$?}*%D+v@K$Wl0~Yxo@`S%L50#oP{j&0cQ;hz=lHvTLPrZSpWL*GFJ%jz zlbawH*rOzz*P#BJ$^T(A_3jnKppm5R_L zKp&rD$JTKXm24{N#V_A>2eXQhl0p(;yVbTS2H1kO-NX(pT$~|Jy0Pdk2i=lzvEJqd zu9I#fwS#VTX&ndM_=6~CF!Oqc-Ee0S=;N%sMn6^@ODjSp0I{0U&Z|W$RSQ1lmu)zY zwm?ebSNVhdBmVVJwFPlxP1#Ea)0DkeQo0^jgSv>AnB^JTeRG})j_%U1Y;~S?)_rIj??_BS5HshcZ!v@b<4gON6gf z;p2>u9MK0H1@z!^Rrq+rD=xUVcNhGLopiiuP3OX&L~!i=d$#hX2T~9#VX!EWY98!BC_|a=YoI6uwkf}zD^r!RYF-*|kh1M&TWq{u-I0JZN92|g5b4g2+VXDx%B`qp zmGtAp$>jwx0oEHDnr>V4CI4KW@0_xWl|T8NEXBk(_IZ2Z?Qi#Oj6*0z^!-8q2GAF` zDp>Tm^ONE(ZZqU{SaTZH@Vq`+1Ib_b95Bt^kt542a zlQ+asV024QxasDEDYJW4xVz`(OzzcxSXJtf-GhGoEW&cHBn6k0j(w!M#?v$Cm(Zx# zxa8EBi1YCYJqi;O`~&0K!or?;dIpSvgqo0jrHNv$7^ye(0?ZPPIaB^RfAvp(D2J6R zO;ZA8)#VEn%aJEx{52M(qwMid9a|;Ja%1|4X`z^v z&+^~+*HJjT5fi<7JxIVlEIy~tQXtxwFt^`PW+@LtFVQQV-4=!9eH7qPl35oeHz&97vwMsDOWDTs>tl`WV3o_=!u(l2e~14BG2r=S(6dughIn2b4q69O zt%6VK`BkB;e-_`4n5511JpYNm!}6IwJ&&3x5a#EY2kzvzu;QR|m~=UoFqJgaN7%E+ zUy6uoJ3hSvcJ^$}z+S_=JbP9tO^5dEeT^@Xm+@0|Rn>io)*G<(H-VOi$S-E*;I$;# z9E^qd1@oMien^Fq?V(qt(!JFg)dQ1~yu2bKW<^(~r>3LA=ldmjc}3$AZ2n<4&pg2n zy~z(r&CDkvs-|~T)S1ZeYIxC}V>2?nqpNFf-rT45>SpSPZmHI`yDkP|(b~mjh)6bI zy{0XSDGv)SU<-4kSz5aTt21mhtl~{x@#)|pq5h?%)9mr_;iFmgfPm=OO7=rkRPUOo z2Zj`*u zfmP`<7PCowegFMakHS7-{?zCK4YQR6_{}IP^Pn<~jK9bT|4TbHNoSMSCY?!?4m#JC zOhkLPO%ILD5bb%F$d^hU=$&VY{Tr9>{=`=N@Pl&!HS8N$qcuG6`RPaBL!a8$@F0Bx z^gSLQG@oR2`6i@=C`phIi{53!6D3eDm7V^c;pTwy)WS@2jDO66MXk=j66yUZQ@y=o z<+g`Qqz87|^THGGn=-qnj59ieZtL%XX2}z7^~A7c*3q-&e;`J|kQpMIa3l$`R%7dR+?)y+3( zP~XYhcc-PX$igBtg|^_QY;FJp9klJ#1%>(d4XWCvD{An>Nd`Z3Q8Ra!R zV-&uOgcj|T-*|(+`Y1oLi60_oDlctYD4x~kJ93_Pif5mPA0s~)DxRgeipOc1;vdXi zY#tF4*2&6y`)9g)PG;qkeZ5NqdgF8Q<{3{V^Fzto2Q?>yyRmb!-QA?2&Yf=V*>l)q zeC)5y1A~A0C3s--uaL2fcD%(L`2g)o?FX^$%+;R<&xo@T(I8Z|Q2iyTnD6fYC2M8M z&M)~_-{;G@YvszegV^^|C!Tu|bzV;3IW^9fb1W30yZ%tfEhQcQtjAF~F^sPaVO0SkQCFS+)dlBKD|KT!he+%#`@m zrKv(O5lG?8&-=L%k#0t7VD7C^rR6r8yD2ohd~pI>QXU@R<3D=Tll-C8toNQ?)d3zg z%0_EoYKk@RIsRa1n8O|xdYYyB+wJ{s>ro_E=H<>V9s>JCd@KhaCb6PJoJx%&QpIe< z)>$&6!Z5R0!|U%HI503^&Yk>!|2^`2epa-vUrJK1{_h<6ufCW|W#tPO+_BAGR!QZx=$^p+7G~<9fzheTLCdB<+vvwc5EOj4h7g z+rro=dR%|L?I6UtaT~;mwhE*b@-qD|Vtxyst66*U$VS*-mrI}y;tD8S;bt2?e8lKa zZoDxrcJ=Dh4So8QM3j|PR4pAe$QqRISQrx-9vpsW2==a=O7OSLnf=atvuFGGMn0Wr z@vo`5b6HJ|qL{WJBy;h+OY0{cz`(w4XmRYm)A_7C|J3SJJ^7)Yr}gLgYpetsHI6^3 z%7)#CXP}>izwh*FV6+`1dhKJ`ezpzYQH+Q(ZAODDT7KtLOX&ECPp5{(R3;~R>CZd8 zHrCZ|v&HxB|RE3%rH-vVaHPpTd8>XU>!lK)#F} zZaXMV;Kl59=SEErNIsNnpsjSWc<}cRCw#D)exQ}trD8l$?0mhOJb@4X(GK-S-nIIJ z3H-+2@sojB68TU9GK0;$rW@-$JsLbP1q82lPG3>*_Q= zFT95AxYnO^ar-oz97dZOj;NCh$?%jH9r+#}X(=yG_3%iJ^?R(}5Q~=sH(;ftcv+{< zc=N5{!>wM$B~wPkCAhiY)O(*#Nlc#Jm>fN(PjR-VM{=TK#<9ZU=;-p|l4!PZEMm$j z)ft&qt37wXg3^+b(gg!@?N-0c+|=Uy1bw3v5EY#e8W0^)(IXVrR-5z17!MCRM+=uH zEDM4!WLUr={GScOI%R8Zt=0P0*88(hvw_LCl_nJY`x)a6w^E@aGTlH{?o3{;h*<3U-f+?fvtIJ=392*{~}k(4O!+MpDJ- zdf6+C|F`*6Gye|8#5qRV0=$tJvsJ)D$Vu}^3&H7EvDLxx!s%h=(2#z0Daq!cr-nvO zzKO4@?Te0Zj~i3d(o%0^e{hezLmC^0?1k7sZ;G^0Zv#D=1Ej~aD>PPSu~R-yX!|&^ z?L)q!Et&t_27TTvHPK%v=>lhqka?xFLi$r5fjONEQqUjul{1WygbO7#iK(IXZj>01_dUSBqjSOr>k21vhwpwN95WMK6fjVSX^vX30{mumfTsr zva-q`@3&fU=bC@Kt-{)uuOF2k8j_ygZ|-6rH(8P6%@!}O;I+QKnHl3O>ClH^;LQo% zJjF^&D7CPcJ`&1SLV;;nLmCX{B!mc!7AYb2Xlad`TVOzXVS0v_@@3U=b8dcq@9|ia z1vU$eAYzqiXN-VbaWs^n~goG62kC>jD(OZM|txtg|EyhPfxpi zM@p)nIa~Zx_KkF|9FZR!a)8Ag2npdi85zTekES2wf6;gj~+ok##AEs1SEy*8TP!N^7pw}b4Ya%?@X+wN`|I(_O`pCY0 z`&3W7H=$5KavNi|_}bE%>iWn&y=(if z889FuB&%@XfbmQE_R+tMs+ghaJ(80HxK>;Hf&%)RXKbja(9^5x1&8s!a}QGb+ldKkT+6> zU5cU!=j4(QO|t(L1qFHdKG>3#m7Nt5m6j1>kBu{h2US!BRn*#&-3-yuWog;@sbO}z zJ@=uCN{d%&ihR*KF4ob|A2H)HACt-7Khxs3$UiV9${OI|>A%v~=$4r^wj?nTyj6g= z1uAbM%GKr{`BKdXxq_bVGf|Zi`w-s2!*|Wn?5ym}kjV6mXqCD0>frL)gk+>%qRLZU z%&n=cuy}&GgWj=m*JUoyvm0|_ta`ESa+N+DdPMeG<*uvV;H`vO-X%d}+3vt$Etjf^ z-Bp&X31Z>|BxjYC)mEgXN19uwM4vodG(9gOD_bE$^0(yRm}7I_wC0F zGEe-5pXJXoZ~hye!JZc7R*X*$2y{#ps0W;_>zI-H317NivEe(-Uj$00GI|u14bIAv zWPRUO6f`sYMHVI|nTuOX-4w-aj?8cHD+Z^QOxV2g(aIBrkrCx8HpoeB}4jxk&66)jd#mdAK7gCy@?pu6p!F%R{nI+Rx!%(e!<-$8#LPGkm;DHft zMt=`WU{>Z}(Xb=8Jf#B7sWv7KZF`G+lknxFv_cLEwEYOSl&mRja05RMJNvpmCpSO0 ze|Ao2SloSEbFvES`;A?(6;`F7U%j%bx@uaFp4HXU3nL>}-8aAbPDgo6^nLTIDl78K zVxrO4M9h^3(Owir8PtRyRIPPFW|s*gy1X$rJ3ITSe*KGQ&Dx!vnVuFEm5`J%xG+B^ zK7L4AYHEhk=4WziY~=4XHoBSo9uM>O&dS=8mF49fMmoiGZ_A&`OVJkPka9&75D=Ry znheO4o~q zl|!dH9?Zml+LMrH`ycFS8Lu#qM;4<=TI3ou5~SKyOP835{FhXEe0Qt)THmz4(|h6l z`hI!b$nKtr9q;11sJ|^ZXS`Manz);q-VZ^SXc7y? z@ZBS`G9)JFP6(SAr+;nlD*mU*Qy=2txyoj%@%1xXnENU%W~_r;A~8pi!=aTAI^(ht z;{30JEQ`>SA+@cgxG2ouKfWYAO`RKgx0DQNl4SXQb~}F=DP^x%e@kZO5SHs)Inr() zKFB|ia{5d+L3#o;FC#=%l4!hF$$>Tsy%Voju!J_oYD*N{GrusQB)7gUq`uP6>g}s| zB_|KzZzV_z5=UnE`g#P`_m`e{kGYw={4F6RadGdwlb)SZJguNWv@--T(_?yX5hZG) zqE;etg@qJacShMR7temkF6@EXl^WcqwFL2}m$!FXVSfuuL4cQMdQno6UvcY#W9F

      #L{OE*SDWMmE%UC#>*r8OASt%F^g2-zC6c$~$q ze`Vk=@AG><*Zc5Vw%@rDXwa{A_O#Syupq-hX$eTi6{@+I1pwDEU_Tm7R+?U_m+43l zq7o*%l4@}C^~>oQ8R?Vk6B1HZ6B{f06h%%5Y~q1;hmGu8QI?u&oRJr2c1y@C9FW?} z-#n;c@$Dsr%E7GIjOeJ0%whio2<)F3BrW!K>Se!8{mU&D$y}2)F*m(Hv1ZiF zoKV|)3f;y4-;Fsj5PdV_gB1k?abz6#&mccUw}u6>soCGR^81qCOB&_j8yaAy*Y%P;KlER)~TWIwW1;jkSi4W7{NG*A)~+SNS@_k?}IPb|~u=&?GG1VmfX zk&+jhOzuk-S2l!(Oq;rGYkhsF|I|2JAD>8;@^Bx%CMGQ1*C#BZv@|Wl$EU&(tZzzi zeH%&Eg(NZ{MOBD01z!dGWEG&H~wfv+*>-xz%W_Uc80FN&-s zJ^C0Y44gXatq!vli9j)4(wf1Q_2HTPT*|x2{HM&&sl&%uJ!7Igt-WlS???ID8p3>x zZu)?lL67qv<9_)ijsT|4e>ENabOC6 zQ3~I*Hj0@V>?4!2isz3R79Bc&^spGwmoaE(jC33LdC$d9`^SKV34V^b_|f_ED&-61 zHs~PEDX4Glj8rzjmVgZ-X4Di2w94eM@e+;f7L*kH1+uFRdnUj15{j&T{?g?8v%~qp z=Q7yD(@*Sb$m+9h;G@rm)s0^n659X9i7P@v21#t(NdD@TtNifD@jGNx#AV@8(foov zZ~gYRE88Dl|Je429^Otlcgjg37ll0ZW5R||-unfmiQYm{J(3);0}1It>=dBg0&+-_ zvnJ`axT7&gQ(sGxUQBvE_4%0RV}Jbd$74sGKmO=EdJKCFF7hGzX?VBbhBu-a=pjv{ zXgVr^Tp(>Oh$eSNHpQQ4(zh`-hLwrtC#9cms7eT94+kdliW~T$jjL^|>sWbs!`_=- z9#PELy|(3fx2}0*@@lpdcd7*^-gskWhCG)wWY+Y~Y;dMHpO@#JVf(j_8^yNYyw+?v z^IFSxytrFwH1y9M+<@*e-FjXn*Wqp@vL(pTcg-j!1Vpplto&2S(v=;MR3B}QL1F+0q_EOpZobE- zxBBKd^2?hGd*qB9-dvuZaq*7il*r(aJCai)rOP9wTSnxE1dkla&yE}!62gvWWIUgN z|DG4)g7vxdHrj&UWLo}~&N)Iq$T*PcGHa30Tj6oGq|_nyg2?*8nZuL9a*vynM$CtdwQi0+SkRl07RS_AdDEao7aq-r?yxgp%bG+T-ZSqCG#Ke-ZSvV}@yVBp& zBfuIJ6X?Il&k_`rX!cp=4fSqt#3Hu<-flt+w-It9dy7*q^!A7%IUG;Ld?qfWjX^U~ zEdBoM`({<@q^vB^3SiqM3w#6Y0m3zPy1Et@ zAjjg&|h&TZ3;!v=O$dxul{cB&d89^lCEJCPP6ZjBXm#){dAGMH09sc8}tafCIBXY8@Xkea4GDrsjoaXJ+P1nCe?l(&&w_qr4Kn(H(N+ada958*t%mq@(c2NPESuolqr?>)3hiS^s&Kc|q#) zL15fMG-gh_4;k-iGpTJ^7Xkg)FZvuJ-Zi;;4XvXDX=YYT3d_Uv%yAgS^tICDU_TxU zf6wPwQ&T`xSx|BB*`+?-Zkr;)o}C+9A6MjN%nK?E#fF}31Dt1@*-%FX^L}hSo6C}; zl@MBn=~8eZ*b`{8Lsr`A#PLS!!(M*Ag=4H+W@llsCAV$w6B5!=Q87!C6Q27L&w&UA zT_;sx!_mK6P2FsMEnF$=QWPCDYQ=0xMbzBqqro zKHjM+OURmor$irn>m#iN>9krI-fgww=JwC!O53BXPse)2A9mqQ$O};@UX9Q_kF@X* zqQU&rUi0DYWXJkfezW43M}m)JaI=_0N>kIkBLi75OwVJ1WAg3ZfkTe@I%W{BNL$>| z^Sgl&kv++|S2@VS=04k=GD zxmo;!in3CD?Z>7c^DVI3OQ&U|1(tco6pgk%HapwyuVjXq(PUQg2$3Qw2!d_E0QJdj zsi>X~B@ucgdq9u6z584D`^}~APs5K7piOJoROd=IjXx;n7v=xM!6Ut!Li9>20})&x z|8FG~Dk9FUDddC1%(}9@Z@qo$)NPM%u%BE}nHueP)n5q+4fryJ`Gi%Lr-bMu)MUpq z%>K-(%(&v>xJ;fLmYErbxjYu@fZH)Y!o_Yb%`RX-$Y+Rm#IR_Zuk&FEq#&d_Ol(sC z7t-P&UK=#e_s+ul(6A{3R+{Grk>N476x4-=PVINM`LSYKV2ZDAs25A>5$m7g;~VNO zWwo?4`IR+p*w9$!cf-=9H~Ol-`;NWLhI?8whY!!hwrRf8Gmw4_ROeYA*qkGfNe{?F zi-o|6TGfnrLU;ncG^0?0i+npgvM6t+<$a|ip~Z!Tb}X+AvMn!eZF-uodC;JTBBKr7 zeuZK@k%RX)I*NOi^@xr(C}vBKm}MF1KIRSg6%_YS+ScK%gSSt3P>4bApO)G*AtzgM z1dz2^=y`KexVMk5Uu3A4w^8v+Pa8R*$<0mWT?gJjg^bY^)i-xq2uwlYoKIM1r1)Em z&6eK1XHSGR%Jsg*TwXB`-r2|3<{V2lDYuWbM)l8kg5DP7Ye+XlzDDgiq~J1bG=OT# z=3>N$!5^i&`S|2c4h`(pd(MPFn7SbErnr=V48#DDYUU=@$5(US75dbyxgvEV=^CMj zpF(fL=|*~R4yT4x4QPXU9tHKnoEq`3EJAvOVnXWj3CpbHV?K_XdkzSWHm6(RP%@5t zxcRsnE@U3d{O&AclAFm)vpGoS)BYIY$TfR-TaoXW#{5dM>+IoFM`oIbDcaZK;hq^R z=FoU)oIC-%P<9L*B_$LQA%$O9sAwumF)?W_oNqLHDLX95!z&_uQF?~AyPs!VD9iT0 zCoMYEH)!U}4eJLC3i8dc7u{`P4rOLaT3HXgdCAJ^*P|>W@v-UAeR>SLZz%q|XGG8H z`01F#kcD&w?ZbDH3Dwj~wWcU@vF=!zhuM;64-0oMZ!HUI9L!r6TQRYhmxtlMa&{|U zeph*U%Uz-`@cYsiphe^7VjMf6F=T>riR<-of+J8`nHU!66Fh0sJt7n+Yc2CtEFqrd z1-aht0X|87bCuK4wZ%hM4IL_C12&Vd8e=e#2U=sw+Lp&iR2k|+qKG^wAFuRu@*88mBJ6Ek> zLsi`_g*_!73EftofoMABA)SqgepN~e;?1mIkcXnUvD(qr&2zG{%zRA{s2vg1TB^(* z5@u2993m^>-FBVyJ!tyV%7>`tU`R#09g9exXsW9e7^Y{Xq+mXGxXFFkm@NUpPxkhn z>CN93e6lA8$x5v~3>k9bILJDUNlQ2D`>}d7!gu?JrZMaX)P=Df(gn1I3=HT7V8~2W$H_1i+hCU7Zw&a=H$4$C#Q^@BJVu8YQ_Kb zUgna*{tL=V{R4JH`1nRdI0_=dVQ}Pb(MMtzUo5mw)w@+HR_HQD;~2WpMz8p84OY zdrxm>NvH1la+M2PjwQ?635h{Ed#`Y%;s>9GG3{N(dx-SAg2NCWV4ezV>o_}Qei3x4hv@JfEOl3|zx`k;$l z^kQg%Py9cr@&Ap$M^r_0P`6{Y%D;Y);J;eHZQ%b&A)gZpA`|pW!w1}9@JD}7D5V1K z!e6H0|3`uC=z_mY!~c(bvK#&^!UvzA3qI#9g82bIJ*i(pKA=l*7z={ixW7jKEbZj) zLf>Dbe^y4A4Y5%SO3CU!!iG4pJ2D+^lRgRBF#9Nb7Yc+PV0CRcC*2Zi@7EJ!=Nv zNdi6si?VOj@s^Xtc=uN6K@Zj&vp^628+_l(Hn4EC6Ng;n4`MuORk-dW7k&MCmA>8} z=p$1Ld?e76{oUq69~B>ZgBk!rZ_ZOswORoAm=F6keHts^8b0*(Jk=E>JoM`(Hi;E> z&?h+X1U#PL?W>?SRAaz}Kd=1;YPbDaKAq@m_|T`jT=KPc#h1=0>b%Y8fnD&8(mDAu zsI<2i@E#KG%K#m$kRYEu{1HK);420H0s=YrRr?D$KMVb{S)P7{v=UDVIOHSGFcxB5 zo^D^j-^4fnbKx6|+I;>_%unRl)c)!dji({Ey(srZcBfv&=XD0$g9m5z3g#G~` z9}QpCXPS?Cv)~7rL6slqo1iam5cCJQ=!^McqYR=L$MY&a%@>tEPP5UtxbT;0`mExw zV#w|heaIR3=r8buoWIfN`wRLB(sG@zkQ<&8`2HIGob{Gyp^pz5`tgZU-@td6fXzq;V7 z^N6{Nc{HXIAM|aynSI+ayP7)Y%QB*met|BHJM$*|_9c87(FYuK;cr$wtj@1c#4+z_ z{2vtj+g192n>7CW3jT)(cqsUPPk#yR0#E2CdZF^Km^A)>6aCWgp+9MY{w94b>;vY3 z{OvXE{9srPzJTv*lQu*&irMLgxSQw_e}B16!*kEGbTQs&m)Zk-grS|_y48F&^hs-v z_|y8ckJ@n){($6*{shx}mJ4-yz;6_EhC)B6ek1uyb-Wz{4r?Os>gLZHReadl@!I%B ziGFJM7{6WmM?wFD{DOeH@Rt!j`UgBQ4_65~*%%MPhrO$&Sp{qXuSUG1(qG=*BIco> z-~J`{*XS>A4-s&c{zCAxSI~#Xf&Qn8Dxc}-@Apa*+C>iqyh+es$cwt*Bkt&{`o-zI zM;Cm+HGUTIv0d;f-Wew1n(2sly3#+3Xqw_6Q3p`77w{kG8TbNxI>zgJ&0ZW3_5yr$ z;17fRcQZuX*We@GwCvWsD(1h6zXE50JdLCek1ChMd`2svGaK{pYeND0J52QVQQbWP zz5@PI+;>bB(1pIL`Y;>vp)*D<{1b{r;J=CU@kPd2pi@ZrmdEsOumzyMna&^?(5|k6 zO~uu(2Aw#Iq`MY>(?9T=+3Wwn$9e*9W2Uo0&_O#L^s@-gb_h9ir7zYW`X5ApyW$Ib zq_l|nsp0cFw<4hrz@z@^p^Zcza=;lX^b2?bjy>+M3tOT8UkLlSP1!H#3;*4Yw~NZB z+Wem{=p%yc#0MSVi8w4(#9=CaHsHV`xNfJgrx+Lg32lBY67yb-19XTl|EJMkBj}G5 z^gjgtV8PF3<#oXiwrHZ=U%*eku-Bsm|I1Oa0RFrEL+Jlt(O=++@r8FJe2g#7h=Cs! z|AZ2t(ns9W6@L|tpuk_&4Sy9?M1b6cAMJ=EDPH+Qz*YM|@hIjY^|$>i5vK}0G5P|o z%6TJG$3^s4z|l|exly-7(20b7{8iA0_5;3HUM}E}V)uBRm0?D*_5*;wjCa&QRQ-r`L+;InoEIIH#-5;8huq&AhgY|xZt;%(^vLDJeU;IXo*6Ip;NP(yhpb<_ zj_K-OeD+5c7FNlBnZ9)=O?F1PCPCXOXwyqU`m51aUltPSWt)RH2dxWQFKd)bJ>_#j z=cPYZ-LuM%h~`)N!N!4J75erOYFL%x18o;WCN={9AP;LxkR!0Ax~D!bH(kzP=}KO1 zPbmi*1JkA0D4hq+n$gC#K*eYNb2rr3>j&LZJa%tYexJ216L!uX;fVE$NGeT@%9C>~ zvEDT|jf`Qr)81N!O_{s$H?a{Lqn0f$o}eraesN;o+Y-W(``ddp46Np_^vH-U=-)7^ zpDnvF-yZ50CIxwi$62%M63p%ajStN0#gFl$R7G;n&Mb_380^&phB&-#s-f{f-k^^1 z1{l{kP0t=z#}9Di4FFfi?}Q@OG3^*d<%(Nw2mZ_YzT&QJjJGn$aHIqOWo4hxW8fR& zgx%av5ghCS+5sP=A1@na*t`9@-TXel(GKy0dD1NKU;GC?Hq8M4Mcp30vMav9%k41W zud=Xf=s#erBe?Fd?)1U`3cwFsOJBLy7(#H}&aU_*AF*z0(d2Vyr+h?SV!H;f=-}T+ z@c%N4>CTVxgfR^CU)H_MpXkaz_@VgWm4Dz*68Nv^_WuL_GVl*-aYKhZl}X0U1lPUJ zpX^4Ti~hcJt$dWbjTBeDq}$PzzUc1)jN=rK*_~7 z23pr+e9Hl+yaB;01-wSZhyHvb^apsL^RiwN`a^N|Mxj5zBe-%|*jb80KhgZ+8eumz z`U0Q)qKf~h?v#tZzE#yX-K#?W9r*gQn!bG?#uv|lPte!juj!i_hjrp-Y5Mk|(6>(f zqpH4Ln^(~v()0~G^C15YeDqi7+qL-0E=}Lw>55PCBtN0b6Lb(6xa4V=Z=l?YLvqGL8Sntw3nV>IA_(rVcLI0oY;J&VQ^=A+l6F=_@ z{A?Fo)R`c7m4J6$$B=yho*3VS9pk%4@B=(CzMl(zFz$v?>Uc5u9`sA25BqRV8?TRq ze7e%7`SK#0cMZN>8?O^$ygKj=lQsJQP3}hjZEd_h{Re&3K3s#Z9MHzA8$SH>8Ew2E zAJBieQ$E^wK|X-*7w{VN_bw3!Y|5lvP!^3f9W~!uf_2KzE<>1wHsO-FW?k$87Q77eDJwf=riyH|NRC3BF-lM zwYdLfoI+Mx27$$)KS%P}=d@kUf_>Wx&AM0j;PxAb4Cw(DL z&=vd)6a1+3NuETX#eY<{PUQ#ke9d5W$p`Y(_=h}S*5nEK0FLJ% zA2sfzIKBt9Yk5q$QN;0T+&K+#f5ifd;t`Fh_@IM2VlI5l*1-ZU@I@R6Oz?j~f1s1T zkiVc0`z(w8s`N?zD*nrgYEM*t)OE{IVW06F_*C)9J`=t{dUOUcB<=+^3`bovoD>}L$SlLUL1gp=OVWW+R4Y88Ji@6-UsG{v%*juUYuf&nk za{urBS-It&xO-0WS5JO_k{>#GZ`{2G|5>wU9lx5Qd`f>sJ`SPITE&gHMj_cyLc7;PKo-J<^Ha0XLYA zLoLv*8h;7?Z7Tom(bt7v;NJ;4ST!5IBRhmF=1(*drbBNL|BC?sQG@>~;KyDicpl)f z8XOsR;2&N^@CASm(cof4O|5%~pT99SQv{#3nIz96?a&C|BP!89Li0ej={5;YkGJ1K z!-?;xKGY%62juF}!gCGRhhKmRaN%D<+csInKZH)X;NNzEAB*aMD>J&l55p8`_)0?; zcx$!_M>F~j;3q*&*1aQmeU4+4#WT0#yUp5n&>-~i0&UP2-+>L|C!mMtWI(#g)_7cn zOOOxX9kMl6X>hUvU1V!qpuu+vxR9-G1af)r2sw#&1JKn^M7!6*FVL;3kgEzOIjQ)E zG+nwDeoVLby7-5?z<&ZiE;_Bc_d4;#SgZ7p{0scJ?rDJ!xf*r~*`;1ju7-Wucj(o% za&`xjD~7>_#f&2#Ol@4gm(p?#{LrEC8}u0{JcneZ|5&=`%A7vO#!aHHv1 zyBceOj!gRG!aw|$icj!2y1-kvcEan#c&PjwX`d|U6Ml6U`0;kt7h^o+!9wQg^mYRM z?xyE*llI+7@m)7P*Uv)x339shgW4094bd;r;Ma_Yaz%q*qv!e*4Zcm#QS}_-q2vmg zr?aO-+ro;t#^ajrI>$rg>cw~r5>Gv++by2C7Jfmur3;+otKuKh?YS=enC|Wl_y^$E zg@0Igv;$5y)dg?Wy)NK*cWy`${N(oSkS@micEFp3Y;(!$ch_~)_*Qi^SE9am*k{03 z3R&e+&a%^npf=+`6^=TpU2F*8%Qd)4N0sgP_MepPf~R4k<>$2ZM0Ys+-9lBTR5@d^8D>@Q?j zfHzy+Wd|Q-iW7Y%tGS>DPs~{u55TnvPJZ&+haE{5bB=>x2iv z)>f+glkWn4@l=v4ys<&}FV%1P8s%ad3DGzBFSorkMidj!Hkxv4Qbc0Y^+gaJE^{fxL~+2sq>{;GYRN+1V(y4-^%MZ)&u*$8xZq5QiU+t70DcTIa*N>mTK{(jv3*y#K`s}cRXa}f zRC{`+eZC7WQ%q!#E5v8jz7U>jN6zTbQ?%oP8{{VO`Pw;iM)SumxIrE(@KhZmojJpZ zVt3u6cE<_4D#QaKb~Q196*y7tZzo*34xGkU{uj9NFL3?8zzzR|V+?I3+F1ph+Sr;# z(%|s|z5sBFU2P_B4L($~`!~*QiP+WTqr%xVfgcAr#jZA!uLfTy;2m+7DI9Qv90=3Z zsYleWi0i_3j2rYB@)vQK&6J?Rl}rJL{6!pQGbL*93;~DyMI2@`C8==vX#t1)g^#mQ ztz&9eJ}cnQ^C2P*vzbyRT(!}A zB$@#R(`bQD@+bS8VA`XE3HTTRC;5|oCOD0l!KB(7$Y0oJz@`5PxN2V@e_@{im*FRX zKTgmg`K$JMk93cKj~8%~ziOLZbS4P6YJaO>_j&=_h&@{OcY*u6;JD-C4izr!73u#( zqAqu{SITV~{xxu#r*dg`e6eOPaM3sI)nW$K?g4Jv*%e=1BO@nd!`c&kTDB?=Qw~Fe z_jAF)=VexeaY1kNFOocg|0+>3o!N!)YKM=~#{+JVG2dNw3b|8_uFHP0rOHw1Fy;?d zvZCMr!)>4+w{NE&!$2_C_t^KU!@)Gk=*V`&vUe_t%&ISvzad?+JSyW>d*sP(5_lax%`{o<`&RXN0Y~0lUAtXtqe!;p|HMao zuC?A?-GMIjNwzO`!(WehVx5pxGJC62RBGqmGFe78e6s(7j2wF}E<`kwA;WTkkf zo2<0)AisXaKzdt8l%)0QUOLo5{zCc@d)+iRc61?1LE8lX*7>ZaS^4t43g5bpUXK z9Ph%Dy@l)qUDMvq=jC2xzqB}FpSDhfHp)IiFVl$+%T`oegI>}*2w8`{Fg97h!N=V~ zFCjx^kdR?IJJv;pu(mSxEQ1gD2|WKA`u(Pm#|3^_lU1-Lt5(QLVlx9#wH{y5uam@ukHdTSqV7i&fT4GAu9nlou-Po;ECwGCS+A9KKo&u-N?ttu-O>R z=XBp)7k)wae#i6Mg=|&2d$oM2;7`a_h40heH)G`RKAz@$0nx{tSM%N~oMbED;QJ$& zY>j^i*%nB`+p2S(@>a%Yg>0c&=*R7#`z!cPknObk1LqydHFwtCw6Ny_8#oxCx&Wa|8Q6)$A}Aqq>rsF)|S9O zv(1L;mb>OL76~7L{BRmOD6N&wVM5^agB(3h%FA)SC!OQio96n?Y%pCBxT$Q9@`$w8 zg*#m7k#_ZUX)ouXgYS^7==@GPk?u_G{Lb)Bm+uVI(*J%?{jU98w#S&Fen*wrO~#z` zzmC&)X#WQuE}b`oW4z&qu{UB2L!1LST;$>MQ|%W4Cn*@|C$oTu59FcJ`^a_c@fkHU zQDj!)@8>f2!|UXsESxp*%`{1w?k?c9xbRR<(830?>>U2bVO(a#zvi1+lfY|#t=+&5 zv!&upCT`7%wX9&-+5C?q>)28ajp^P5tu&36j10L&O3Mp6d~cqM5`!zFv%BC;!Tu`H zLTs&ar~Z^L@b|Nr`;oQI@2_E&f8D{fL_8}uc0Mn-7CgyzV(RjdM|k};onYY|osp<7 z@;1>I(SGOi(oEO$b=UN+>+`y2|ildAruXS+Rrr5`gS^R^29SvhwmGo>HV!sc4g;yo_X6*d>y8=wd>xY6YS`2nR# z+#-{!Rl>t5ZK@$9N&}&k6?4x>&zw_U)|{4+nU$X2TwXpWJuOqZQhP^sPM$qGcS-Ns zr8zlvdrl5auS&B_{zBPrULhtCWbV8tTQwOHNCYJ?#LxYB|$@2P7DX*}~O57ZPW?X-Xm#?LpB{z8@@j?go zncttOm*t6nq7O#h#P+Y0c4fdGx`atMUKd$M}Eg$Nx{?J>$CdeVn6h zb2q^MRT%$A0WqDdG%=dr&nvo1ENMD1yh-C?`k5S=* zX1DL5$1n3>WhLInlAXsLFR@Hnxu3W4*^=5k8OK_6WO6{9t!py@z2= zN)7Z={5G0?D!=o3-hU_CBYv>GJ7LE6qFD4o#h)*1n}~mX`9k=-tFRTgOBnk)mG*_g z>nZFII3wTkJdDF-=(fM8#T@OhVE>-F@eMYO%1{`YB|1xvl?L!vOwAs{Z*a_hWzd&z z#Q2S!P+61X#z&N}N>q^fD@)oc$CR_en=V>;9ZzP|qualoLc&Ogi zh`a>s^IJUBkcr#oV2ktt1_k&2<^|%XA@eN1nK$#PXFkK_jQ6p1Teb}9-+$1SURAw_ zUp!~988VGG34dUVi&BhvcKoy&GC$)t@L7EFXJ>FN+db@ovj$rg9uiN}bC2;zDVCk0 z>Wfx{@>Eyxt2Y-&h6UWo>Z~6m~KlulRr|%h?>fDfSRs>qXX@q?EdoHBk_F5 z@9d6|>mC`WjImh0xH?~{@Ik7Mo}1iWq#VOM_QeOB8WmT*8Zij;M;`jssJ!UxuOGed zNyc_@=WZ6N|MZ^viT%f{IpE*6*I@knZ^L@%={>AP_E82wrbH#jFGa!z&UB`_VX5xu z(M6JQwZi@4cF-(xv1`cd5)aotAM1w#LR2(gxb76jh(P%qJe-x5)?6mB7U_e$oa{T+ zkh6B_g#4I1#S9%Foe(r{Kxyp}hzIoQDN%}O7{U{FE+_2pmK=7ZoWD{IANm1b!Dh28 z=?r;PlCjWz<4v%4Sc$`OAu<*87PeoJs|?$5;x-n2q?>a5V*RLQki+ViAghEg_0!VTy-=Af+OgtqlCE5YLs*Gp3nP!(tr8ISZ3L@ zc9ZyY0e6M*i<{Q6zo~-$$@@Nk=j44SQA+>)FYY_}&gb`mwyb+bcUZYoj~mEf6)+!h z@1u;r9x!Yc~%f2Eyy+j$m2VDMA<3HmD~)6c6< z(@)UU>mJmt)-TtWchICb7t~z*<9E>yX&lkXC&DvC8>RH~&Q9XICy|s}=x5vg;`bS9 zBe)k06X#Chf3+BsR#~{q4`JxRJH$`K$qSuX2uMXg9eg{^MPzpHBrKyV%A{xKv0j)H z%6+UCDDao*pI823y(;-D@-DuZE#`~$2EO>pY`$3Zu^&2mKx?1m2EQ4v^~=>i)MgPO zJza$$@4Q|&S=RKE)19r!QV#x=a*|eGzrTE>^FC?TCFvID%1fjh)c0BXxmsUDPiWBS zj|j34ZW3YgbRh-NgZxVWj)wr%azODWy7xU_WBV`cd7(NAukF=OUOAI_LLa|Vr_qzgcW1(fj+ z{YB*nQ6DPynO2mALOB^x?`WmK)1%f%(vpqQQA(!&che&vd8~fxT#V`q zp^sEo1qIzWd0SO^c}aM2L4mzbUap6SExtb8o>!(n_vm7STV3C~@9xtVwQ+ah+K&WV zS-H*T=@~3|u0*@vL54oMG_cWCf+%LtS*1m6_gA?Q#W_f(Y+Zg#te00{Kz>0?tfyB% zAPWf1OiM`{)3YQrX?XVSO9HJEC#>FbPi*}B10vy0|Bo2|R63>8$vsLv2d3c0|^eF7( z;gS1Zbws$QWoY9g5A{Ml@U*P@0Z}pD0i#B4*-~8<;C;hRQxHsfi5cZfa-yOXi|ZDP zp5;|RnVHp-^BoSyO?^``f`fAN`l~lt^uOsyc4(-5LP)4~cSQ<#KMvl*>HN3FL8mRi ztxIdWh#R9obqL`}s3c)(X!Hg4{9Yk}0n)P@ zf`TAllt!-Yv*50+U%vNIbF-U??TCwCU0b_49-0PO&xfoB>Zgd9%P%@08eTOzFWL__ zHIbjZi=SkP`YHVMGJcxHFJtj|gr1RKlLunAw21ElqUTGWJCl?uMDo!5`EnV)dsCY$ zAV_}%hQNBWWj^6C+|{6$j0Op{r*)zn4Mxh5L%D)L*08h0;-6AdI(_GuqQaC=Nq^76 z1%EDFba%_`xBta~-p(aGdkW9OdZ308jbTC#MwbSeH5C@6czb7qL;y(KEa{iwsoQUF zxqH#VKNl>#N3@-cd3qUjh+s3-`c345?Y~NAO%t zfW-svKLT$=2P_4!;{rCa0|rh}ll23%JE{}L;^l#C7hnjYwKnGK9tU0$U}#N)4Qrn) z8RbcUHMwBzynQlzO2EdtV7kioOVXbb>c|?O>3|JK9oZlO!wO8JN3b{nd({PV-LH$| zG>^Mrx^cks6nHOmzycw^uc>~mG^+y!?UzdlX2d#FYXf*}k-*#50gFeFa;u>CN(T%P zm~@$7?&Dmr_CG|eTI$DZE*S1My@X0JR3mqL2do9pZpGClM&nTxhPePLhDY_EQAH9g zdBh*`i53bYC9SZmkrWgfPBElIJ}(_g;MMVLGj1(SWA7$7b9?vOI=JnZj0`ratzk`R zVo6Kgy+

      7T#O;@IY~)DQ`c;HYX>u0_KT71<6U@J96H7=IOU6goh}w=VOP$4F!1r zl}RTt^{8nZ>#+Idn#qQiAgzT7hN><2N46!1;zr`y0ANu)F~0z+7-VIrufz7_W#sRi zuyV|(X&Y`|6}>YiEzRVX_GB+qR!Yz0w+$LIy4i8di6$TK&?m3-$X;5hcZ*D5_h)4J zG2hUZpSCf#eXMxt`a!)s`VKI9%JNOy-QD@Il<>Am@p1M1g{*AWQ@NDfYcK!9{Wp`z zW|jB2i#d%wD|!R$X$E9SwnT8J6a2^Fq?%foSLcUPwYZ>7lx6QI){71$k7;(y{&b9! ze==tDG?uq_+#3^f`)?b0lwTPT6givugy(G;=Mxu{5muRS<8oA(Hu-AI)G}Ye?+!;k zKi0dFZ{&YGH7+7Rdi&|7iL%1anEfApSnvm5ru>C?%}CB!zf>_Tae$<feUnou6n=&%<^TxAVp7FT&wR4D66Oz>I$ZH56*y21T^cT^L z{-TJ7BZX`nu~xl$KoZw{(e`{1w$XNbnYP=b=30XMNaE1&wufTgNPHvajXJi}zPc~# zU5DT4b6>vD@jx9v(3d@!*cc|=`t7$zkA8cU?WcO|ycWNzzaZEC#JAsK{@9S`ZASZU zcnb>4i2Q}f=VBQzD)FPLog>hi6M$Kwet|=kEH5{nJf65NG#X)wRU9J_LevULcbv&o zL=wXU}IZNIj5y&bl8C?wbax%WvT_>SNA`}rF~^5l8$ zz2}~L?pgQTbLS1IX8+k;#Tt9buX(ir? z1Dxcx;elB}9>`Yg6&vFpD6702T5w7kD@sSY&ti5;cIeHLEJb+BLx{z=?8`bs$uN{Lu zD!{%;HXO3A8}{h>0R;qsHXQ|eod!1OYLp6CSRrpR-^m-yKKj=49*9+F^~eJedQ`&K zD}0-Ku?;G;M&qkdkqsJGgYs%h+{cG6a@z|=_5{^bd<;)e?sMnFOPyem%SZ&zPR+9JX)i?v4LDn4|_>uWrM+f9re;3wEvjFA+!s(UK zQaDWoQk;?@;njW&J?8-k*IC(%KKuPZTF&)sP2$pfM*Iz*i`Bm!%EJvrs1EE5C zG)4{DIHcuZ3VNpq7l~~cw6qvsm3NOTduvz@$PVk@&->;?oc|6<2)`~Zm^tOVUv9|x zsk5p|fyaUT=koy{CLWE50}|eV4)7|zG9CprFauDHaTls|hk11vFTJ^R%yfaXzSd)s7$m?M)&WPr2 zMdPf%H@$!LIPUY?5WFYpE$`nwn6S>tXgyNlFYZ;%n7F=r#w6n(sHUcK(ndfX_&Kt$ z-uivOojc?j8f`V#3OqMRL!}?^VPGf3n@E&m!Gt7o+Hz(GJ>x~?$H(f0OpGKgxS5ZW zRXbV^5N<9E)6w)*I15G_Z391$HmKb~3&Zji7%RZ`NhzTv{+*M^DJ3VPw6HNFCf&>3 zR+c=dq@*z}$Vah1M#@=BHTm&rGO>+RpWIXH;DCai9DTjqRL7KX3S7qqj1c!vmq8uHom(5Cy<|M@fr)0tbjn{&`eNvUdA(goW>ERJ-iLITg z)bO5M>E`IbAbST7AFK~yKHk+lG+ytaijOVUCQWbbh>r1qWX%f;THIt_^62b>PPLa( z9>A8b4eACjB$21+(4l10`-8DOVQbdfamyNC5-AV1@Sdktx(AlLv zKZ9*Gyw{fH0mnQfr;pB`HDXv&vd@gPHN78rJ2*Jwph3K&-R(u_#|6kCYplo8*P>$&RyQ>0 z8zYmxKG5|-faa^QL8`Iy{S##I@sXJ-pV0t6NB0=RQZjHmd&rxm z1!@D920+4r1F^}7Cv%pblc)e5CnAgv=)ff3U;?R?Kpwzb3h_>dLv4w6_@V=9voRJr z6xbIeFt+cEZL}@1&tk=y_HZVte`emL^;ZYui_hl`KwD6$tu(awAlo@4ZNQOQO$1k4 zn~NrnY1)$;9-3=!-%14%+nKx5(X&w zZ`BX#3YSDilr!ZY8}oBi9-^fyybnJA@$kuL^wm9nE0=HzPyM4*&j8eW28jm5vj0$( zEXR)=_Y%RM;83IaUx5ilAgxC2_W*cNMd<^- zW6q0Id6D>1Bp!MQUpkoQw=fsQ<)RQ-TZNQ4eV(Z>9yq`DJl=#_$ou@-wQJ9V;R|^( zf#16T{ejAlBB563GSNo#aI&__7gCoJo(m)w38D%d51ZzsgKQ>Rs0y^kw-&AmiP_U!)YsU9Jf&a>U~Np0jo_{SR8@rkHj6h-|;fLRhpp*FpZXKw`GK+A83-9W283B4hT`iuOt z;tb#LiHyWj#<71XQW_1FgJaDGn9TzLLHW7{Oy}=?jIl2j>eN zLT^xTghx-edeK$kd$u;umrq&t%jXbYhO!EC7mW_(sETczVD?teQ@-plA21_zWww8&p zzifHmw4gKXJ)-{$I*={?D*n-cf-HA;TajzmBBap%Z8tDU=4vPQnZ=a-uTTPG%vjZd zy#56ErEs>BjEt99LOCW`;q$eUI9WkV4wAqGmN)_L`K00Ul)bZN?Hzfmso`oneictc zi&07YRb!Y`x^t(LpSLP4Gqrb2YHHRheH_|>S|E4kj=0_!wpSuOjBntZhow|k-VXNC zOFV{k#sC(02E-qN-wNOXk01}ZO<~@VHBe}kC|L@LP6=kEBtRpH)dMKt!d1dWfW%23 z%Vc^g^79p*s5Uq-FgQdL7|b*pvQKwx+}OcQmbzDO*;3^pWm{6J>?QcFkIZ;ZuEd{9 z?0NhJWSyV33CWOb^HhP}!=GFge+TsL2^=|;oE?q+8~xIdD>HEuy-+w!&^#$%O0Y!{ z1=WFLmX+qmjI4_sG%M}YmAtH?_qq~0P6AO+Mv~UjwpeXxd#vx#k5ZFz-|al|VOrwA zcli_jNY(X>iBuo|Ez%j5zw&%u&f(>GS>Jzfp!r0>(4p@iY&=;w1k7>P3gEXMYl1)F ze*ryMJ%Zs*1SH|}mKpv3gd9iKA>R^fYn3vs$+-aeZp2^O+pQctakl8cLEl@;NO4R^ zf>V%YN*g+4Sea>`|6GSh64*|eK!>kE+<}Nh2*EYNw>Zpw4H2zpAwR)Gfo33y^!q_IP7`0rQ_m>tBDr&Le3DOcvMN!f_S7~lpHdJJ zO6VS0**!s!cj7Ve>DVAMwk*aHHKT+M>jkVRc!C6BW`Yt$a0RGw68mu!JE`UaA55yf zxkkVq^FDr48>{v64b8z*4H5jLkVxSDO!ufY;jw6_I|Sy|Bj|J zaDE(Kh^_EKerT@;cb~kc8Rs*zdP115jJ|}XVNIFl8y1o1NWeRALT)a|Wp}uU)%uc@ zV}MSgl2XeVrleR6nbZug9!FzK!FyQe#@j9#y2_&gpLu($@>4y^@I&Fgcs+aSZ5#m( zL+cmxn+|ONS7KJ|ynK{!Vbr{tv>ospv$y$QN%lvWAARg)f!KxdBSwx?CxMCbZwdW& zxw4wf1*we=LUx)1}Vd4mo9z&jX3_xLR@ow>zdKK zi}#hJq{PD+AfobUkzZUaV%}sUY66DZMx^^C`-b?24PD&{BL;lG9_Ihs{O=Im6HT!p zn2m&<0$}p8WKs%tI61&p7n6$mfeD6VV(ZkliBrb5PdGMf_`G-Kjh_^FpsX>Zb%J|C zaa>et>aV%E5wGw0BBXOhL{m0}Fx#nwl>lqv%#H$`-pnb?i*CYnA~OPwu;x6J zc~g5f=H>W$MW%Xq%AGw`(fMw^103ZpL7L}BA{S)S+@0kumpM4ZFI%uIu6^#(rX7Lh z8l_jPb%|Y;%wHoJz?}Q2t#e)FGL)KJ7vt}%a4ku9_wfm=9kcwkX&q4!(?>RE`NSud zS39w5?#=1+56X&+4iD^dKQU}ThD%WBkaV!rzkTvG^9}URgRaWJITc!gBZ^gUej3mQ zWu(v%21%WP3#h<&L}NXsM{SNx%^Eu=Ch#~16%DB(7%$dXn>tf3e6>AaQ1c-DX87)Xd8jNR2XG_K-|6%v^ut+~~5`N4-@$q;AdHw??grgusJ4 zdrX;Sm#`A9cSbp|bj#d*`Zj8PJ zx<3Youa3V0aiN~zV*t)&<>$bFA`dZMkTa2?elT7o1I@v#`H)~WsjoMZ0-J}9gd=!J z8q0}3J-MX_{+${({;kc$#YM$JgZ>_~$29_whnB{k}djQhy)4of_KI z6l$VF)c9581fJcoXbjqnN8wclyv8|3%N^3j^ls(cf(zHYc#`?k)iqd~rBuc%^X1|0Y4!7_Y>SRm`K1o*KG|Ha{ibVigu5!mTDc^y zRviks7zFa?68{^>ABc6}fin=gb)=qas)Q;`hmz_fCYLFZ+**Z6KP7~(=tKV|WGM6s zB$r9dx*13?t}#vGo+U4@D=mFx&X6G^v|%a9VbRf{MLF;{A|Y|{5cs$FV3~)*!Trs_ z$_WWc?J=QBS1;eLaHET4+N7j}1ZP)msn@BE3maF5grEMXW6G3{SG`*+3k$2dnN{nm z3JWXihLshzPwCjaWy+K>D&OiVho~b}GiDBp@*g#0{={LKZCqeR2|kySSXa}!z>{oA zhYpk2bpB148`cm(q!w12K(&O3GoS~ECNevdh#p34F9>mhFF?2|g^6C(FqhatwfQqw z%!nDB(h)Ht?l^9GHE#Y`DPG7t_uakGp~kbwUoMl$H^q454)ivnoy@r8z4%uonUofl z5%^*r&dYmi>Uq?R4{wOEVBbk$ucjGc@B9Iq*i#&HvB$08@Re^H$s zzMh75;@RyUVr0BFvy6|xf#_|w6_bsBj>tccb!hd999zTw_=6y#Tvm2mGKNNP_V+O| zckKZWKd{UAW&9oBDlq^L^(O!$?wfU2M_0E%fC$UOFq!3gEv&1a^^fwyvy^DO3a<%7tCaAQ7rP?>AK8ixTk#Qgt})^;JNNM3 zSFRj}FciadcA*u6Y}gn0BR~)KAVJ|&aJ{8_5|vB^T~+BghcRP5+%O|+=BAb{n>O+{ zzy8{I2E7iJuNBT`GFIS1^x6tC&d4h8iK}R^*o8*ElW}wg9YV#z-~ycNF8tdNvvqI6@b|i2ea|oxzs$Y-_&#bd9?xcN*w>A3K%I;gSlPTMl{*&Q zMus4aO$VZ2pV9w5^F{Ax+%{tf^JA}`xoJ!@NtFe?nrRETPbpkae!@ZA0g;|~YN)S_ z_|wU$SL8oEmkR;Ufj#sv3H&0E^T2s%ZE!_^^NgkVCk;dx%u&Ig^Z-^G0JCg_1~=WD zknEw~@!s$3{x@BsmJG`cyFF#z=P2?Liv08oeE$pl)y;|P@Y(j~3#^eF*i%mqLLXpH zs}%C*P&^d?zxzE;k$QnKTZ6#*C^FJKBV8o1>44N3OW_$}@Rf5WN>E;N=^En>Tf=(?jt4Uzd$TUi7iMqp!9oh7z`aNi=O zsHi8m#TxX`)weV|%{x0IZ`Q` z_9Lsx<4VGnQWuZdx{`7@K+w}8DjZf*U07Ex*h%7%v9vZVYgn3{ep!cGeaiT~Ewh{k zOq}`&{%HTTyqs-a&K|1hJWW8b@F*amW;vI0>q=^77^Rk z*|bt;1|F=|kL|@y(J@}i#CMYP&32pd8RoA+xemVEDK}@;xS%Y<66(hZ0A2~_$AHf- zoLrl7J&c3vMKF%6RsIt!Qj5Ytiz_0T(~;t-9Cxwc5yUuo0l|TeK&2T`R-Uz8)husO zA>b}4;w*tm%;FF9fD-1*H5;-LhgMf|D_d&Dd8yT5;fjoe)DXj>F{29d{X<;k&({p) zY`uL_!rc6)ZA0!;ndIlv69)}hSTHP1kN}fJDrny-Zu2(5D5<1t`R{IYa zHnem77%xu`rBWL0;d$1}U6=Cw;>%2lJU6de>K&yH_fWb9=5=&#iR`(?r0Ewf$sIaC z#EGphCgsYx0OOl3Hu8Mk(;I6Az(d|OVAg_s{P4#Alt*h_W{D5 zbOn6v)c*AKCw2qGvvE?H(od#yfjyx*;_RhU35`lBUxb2|)aNu;%-w-^;J06U9c3Qe zk1}8HJui{4I%#U<;uR~GR3?8@s4Xu~YM3^#_BE7#_*Ins$}9NftIm1O&ZxaaJGe9k z{QLk%KKLEdA?vl6o^l5fU49~#~9H20r*`JIx%vs zW^E4cz53|(FqHYr!SNe?;+UTN_=?x?cQ)hw27WSq^6UGNijkwhtj5Fm6f_58_#CwN zG5BIY4k6Q8Z7j%Vlb%Y|I`BXWs-8g3pwh_*7ooIGDHpgH(P9M-LVP%kis?wJYgmLF zM&=X+q=tnAN2%lvPM)f=;rYYLgBph|J~F2>bx2#?n)!_hj*MEg$xX8x|IgmZ9dWZ~ zOlHFvWlHVhO$`fVa!q_`d0>d2tFMo@mnz8HFSl;(%yNGZS*n*;{LuZI+N&GlUXY^I zasE5JJY#1q|FE+S`UJjPQM4$6oMMA`Iazsr>RbgAMy&iVE+;)*RR?cA8D27b`#V{Q z>cZYb4N(KaopM9HvjTnm-25{hIiP|;7>9%vRV)w zyVH?Jlcu|%){YVLA?}G$a?OqxkRm(&RsOTVc8ra***&8v&ecm^g=J&jT(`EMEGM-z zd{CmlQt3P>)zNE2#Hi8pPuq1c0iFd_WlXMEE*qc?adq`8S-X9u4eZV)V+nkW6VjhP)_!m`xnG$vBHxhUKQbChyjSYC}T9N=8g9 zj0pD9ga>=rIY|AY{9?VlynL!_V$_+^h%vMDth_4Uh4t%+5SAO8~LgSadB7Q8_7Wvp~hzGMB_A+S14qK?SABk@dVqor)0 zUDr%WMsnrk^t7r8yLNwadk4H3kBKw!uh%C}18=zV4{v^e|AIe=gx12?3<2F?2Jlvh z8?XWU$VD8Zfyf|;)uUblr4FVf9MDS~kJS6`q5wsj_-b5)N8l#A3aza9Jj^(yUZ1$B zR$r8YFTWaG9XWg1r|>Jf@o^%2?1s05WpHM5RMFhBXy%jF)Qp3}TgQf`#H9}PifE1< zS@Ha)--MgSp6@c6qYCGhMZY0@fXGEwD&QXvfqw+Tg+v=Ib0K?lRZ2es8TieV)D(me zN=h@{;M;~1EXFhjxUY7SdK>CeyjKp8`7)PdBnepjVlu;d%jE%{Zp`x~gSpoY=^Ba8 z9*IcfsM_NwVtw;$*a=@bsgix!Y5_-aPfoxYst;h5)XIuXY4G*XRg;KkKoBB0qiO33 zHrT~Bl!1-TvSCVV`x>VJygAuxog;WQ^!TfWRH;Vp@9Bzy>OJ|U#Tu6ZZgY*%Ppp)s zN%hSR8fWhp9mVWRZ5z{FlYBTw(*G$>4st6122Z$fkqhlZl&Pd&n{qK%#KzjVq!v2L zjdcyFk{}ngrz`WzG1 zZr(v+AD>G%Zs0$d-@Ne(JOXV%Bf+Dx_V#5IhF9UQUp;r`*pYMR0CtXaz~*nTZR}vR zLQd^aaGjDpw#2*wy9O*lXV{MnHmG3iuuAKWPrqM@4S%8K*MC^@@KMjNcx&}P(O-z) z@)`d87o9=NoC?4L{n0jv!7qdG?29;oY@b6PqGNE1i@Q;^i=Atji*is6I{VqR&oJ1a zpueTUT$&GX*n&@scsyxDx?CFoqok5(k&0YXMn&{7frr6dBD-=VR0^m7?Mn6!d&i)N z0&nB}9XnX-d5#YLPL2+e(8$P)ns{B5o1Mc>yeO*3-)HP|@3Vih-y1KM7F305{TDI! z3@h1oqs>51PoB4*rhsi?s`8Nh#@URs!Ik|!IeNy$&EWff6Y}BMakD_~!@wiCRHAia z86IYkud~!y%diZr2(plvLX0lH_}r4zHbam1l~>W_nawNbzLA`Yx1=t6yS0#g^orpd zydBWtjs94=;zMI1+K3$RN_+{QGTvjFt)4K6*T}F?Uoy9V+FKwkh>s8a0%v;7L{0p1S z$_+mnPKrL6Mn0xCvt_Jo4uD~017q6=^Us&)|NdI)E~Meg0We#^Sqa+_fFFxsQ!cAK zwE(&A0Mz7;Y?*}*e>&~Ysk-sk#(a-d`!{M^wAxQXjo;K+*z2H_QiNGQA>TrWy+!0;s2j;xnJplApj z6&}63ySh+r>*Sr4(>`z8Hhc}gz|`J7c;LB96ZhlFyQ}Xq8(wvDJ+5=Ak?=R8A}5cS zpO98I?B(Ycv`mhQBxDiGP1n)YM8g27YzNZT79F1e%!#A(Yz&R-QGvfD8ng;x-c?=(9z8w1v;veHY;SiT+lDAa02+Rc(GT-tF3R< zB{_zzU2}3&ZXQ~-{oCzE_jS6^5rIx>_qqq))DCLPo5mQ1Fl-}J{rIPy%|rH#TVGI# z*xh>~!qM!WyLN1~cl0#+900~zC4t;p&CLLw;6fu7De9=c=gcZiFtY+zAV?)v3R!^y zhDk8(2m`g(%YA8peU6jdn8Bp5>2=44{8%`my>rxZ`Sht%C*ogb);dO@M#TRzsdRv? zF`s?aSuyLg)VQV9aw(exUGkVyH^(r^!_6gjdZeq{rnbXb#Yl=0woTZZRTvMn!4giu zECqZD`?O)CiGM}wtbtEpaal3=l>f$^8+*|7^LU}i1>ePw2&8W6ZZqkMOj*W>V8>Vh0lSVZz$)Y>F;QMK5AvuRQmX) zQ+&k{_D1i6xA}p+$G-Yy(vb5om*Gqeku}V_09f4s3MX;m;Mst1E?`;FQekI7-+2gx z5CH2;RK~z;EWrOrDpBC?!`6+tie_iGelg|eKLXtM?e>(~df~@s1|O`8EL@SBU1cNk zI-OZ!FPk+cxh)3$fzIW;GX4$ZIR<5n%gMt3{CxHQwCY+Dc3trDLh{J)#8|&76c#ac z;G~^FL4ZP-hb$oS0`Pvq<%k=NIA5IE^B0Vq7QG?Iom#Xgk89}Nj#M*1GHs*&fDsVC zF^uG#u&w3ljKkqGoQ3!m@CVHJCs{Wq_XFwuA@qI#`5p4a(5Hm^whi=tg}959x0>;v zo)eF!&k6OL>am(ao`!k`Lp$`o@Jk;!CR^Z)_}B8b)qTqMzYpaAPV@adsK4)hjc^D0 zIfd5G|EK$8PoxPC>Hntv8dLjnDBt(K#+KfJ3=^QhnaU^soAPz0@&vyA_W>?|-+Z6c z-|s%Dx6gf8!++*}ZNK|4j-s|c?VHCJ>?nqub7Vf>h}cz-P7TH}lmXt~_jl1g;df36 zzyF*2*7V#;D-~q117le9vSSjrLyA7PbLh2P42=zaE-|idX zKFJ14o-==%pErN@D+m3thIM3kK9PaFk>>sg=N`iEB65x)_`!ApTtC9K`CP+LzS;b{ zO|Q_dc#;V&xMMCy?NC^Ifa?g_KeA6y4|o=lJJ4VFOV2MCk+nYInw}plBD@5y;{gBU z9BK3U(QwU8q5D_}7Q|Ks=zH^XqM`7+#;SmvgHArloxbJ7p7eeVBg|hY5B0+=pyynQ z$U2sAEoOvzI6`54ez%76zM=o{9I0JIung^!r-X90*Zbb5rTaW*oo$9w988}R;ICsU z$nU~=l901eMAjCCYq2AJ4z6iCUFP4d|F-;2>Tm6PzYo5^hXimzoCp^Id0a)15sF+> z{6l&3dGLTwdM-0PzZp0r^v;^Z#4Ev)(gL3}DHKoD2@rndMNED2QaTIP0&F~WR*@hp zxt9Odq*o}symGQ82ztd_d~Nv(&@~j^UfEd_=5F1JqBqUFiEK2QH*e0u;%zf;;m7bD zNSvw}3-+3njL4|TEeoD|dGCVxBPK^i^%nj3FWDP1r;ugt!3UtP(OZfdiiS+&NH=&O2J5aBPgp4hc{=IA+JC7AFp@ zP0Vn12@9%uLi8l$QB@e`<-N3hE`A4J$1kAiRRoesPU@NvJ-@7cL3Dzvw40AfXd9oP zp@$FfzZo1f_t`--zUWx5%K-#A zIsk%-5}F*%WA;Z~V!E?)SP*1_?2izRBI#S4VnU1|zW;FcA8MqkqUc;uUN)bgldB|y z%)HEN6UMhC#DMk;^Wr<8=evY|pj>+Wki?G>`ex)*#zRhPz7=#4Sh6SnWGmRd4Q>Y0 z_G7UK_WZzp3ndFaB8U$@o05vIL4@$dN`3h&qfTHP9Qe{(Bi|dp0>9+WS^|V&I|A%1 ze)Ro!_)%7#;VLu(^C%YN36aMEB*y^o11hJ@avyY!TC3Oi?OZ9*HJo(_vH{5;8&EB3 z>N?6f_x^mei%IH6OIBTca1p#lKne)xfqRL+OLY@1GG$j{F3v_x^N-#+I-kFbr>?r# zJB?dR3qal~sQ<7~KZFTu^pG?{qvv12+vXqb{h4zbf1L;chr2>XYH zq)iGoYc}3W>lYJXxW&EGOz=?nN&Svy_#uTHZO7CL=E2eVsF5^hbh7m3;wn6qwn}P2 zsF}8Tm)eN5Pq4gC+ZJm`&l;TZ8^IF!weXy-#o-H(xP)xSx%|!0r1#kH8%$ft5&D&b(D~!sxvL%x_-X z44KSaX$ja#(64^jMy1mtJs7}zL=Cnx&=M#9*?fhK*>Cs|xjtLJT0=}_1vp<&dCdt5 zj$v^#6NMWmsc|S47alx04sW#J5)GPm{Q-Vs+I5Oc z%XmXQ!Z?r`bV^d2dEBwr0jS}9bPPVw2nz*}Iv$YPpdti(@{q`ioh0x|lBJAUHj$|s66EdU=jWpgC?1%s@$=IpH{kD?(B>=k!mpKSDFJ?dfl28EPc~ME z_}>J$NT8`;4^m^60FnxWs3gNl?Jv{nq#1Y{-$Z?JR&8~5VSJ*m1IQeJq}qV~s5wy` zSCmy#nL9Wp+1vEHrz2BUk)9Oj=NFKYRvDlqkkntHG|?cyIIvjw)teX%Pv^0D{Iuq| zj8vxaJAiauN10~hmZM$xg9A^;uZm7SR3*%XAuzwU!u%%VN9KaeJjam^X2Tge&ykMK zMaX|(n(t@u%d0LLtC@WlSD~sibo|Wo-b@E7^W29WYNq*r0DlOxatqT8Gc@MFQ#ydU zfE(bKNj<0q=H_1D2T%{?2RbuPKr+38&8CwQe?Z~E9~_-e`NJ6mePZ?*t4S>c920)t z06yVhrf;OMfjMd>Ze}8M3ewX1%*P)Xm-j^uK8MdiuShMVp1~%52K5N^O*2p;3vnBl z;}5!!H@??}bj-xQodVZ#iqI=FJcRE;#2qjj0F_O`7%2=r57_mjEMc#PQ4bza_|4-&+con_ zAXqI*XA{k=((o>{+hgI9_%bXM^luk7Mw@sfOl}!F!NMT%53oz{C&MTUdt6T%ehRZQ zz)XhF3^r6lA-_l%yajqv9m;|p5Dv>^nR{V8MXH4g&Gh~p_2HY*M^~f;=MB+ER64>A zEW4CND%5R8Ec2Ixy}g~Sh~q@IcJ}rTDG@qNP>9S`qtQhs_rbVGWM>C^bDbOAI5h-xqKtEKOK*i@Dz*IJoZ=ui)p-<__v`-XvfhNtcKMONm&jjQtsF#~$ z!w~u=46YZMdcsTuq5GkLLa%=K%+5{?*98WJ$Q2p@dnO%f1iFf#7T`c2^+MAK_s6g> z-pT30cngDHXh!=*VLlQ4iRd4NfOSDlepVb&8Z`ZA0u?ZAmJLq_$09O>@jSRNH(Ky=iw@pgXYMzryUHpOr z;Fbvf+1fY-2l%;2rMzg3X(;LZI|BVKBddpMjWfs?frB|KSm5s_$?tw6{-K3vlo_AE zl^N+@9f?L73uU01X#A-Kv2XSj+<6!e*wL<{@sj)zBFY)1Nq^vu{echA?l@HUXvT}Q*h%1g!% ze>8l2Nkv#F^JC?pfobtdA0K6W+Q2~;U>9~w8(I?^85vtMbXo_2I|$nUOK9J@e?y=L zP;LDgpn}3eE1tGvkxvAs%rpvam_=a4b zs`-hCyUsORRDD)6bt)7m{P~HBKg|CRl=gt`z%Ub84_ZGc$7CFc1O^=)%rAB~nIw1a z5R=95F6t!{=*}HM8$hiT!cm6ZXcRS?m`FlSuzP6;UQfnY;7Qx8hVswxi)r*Iuo|-C z0A77X0yIau0Kb}7U`+goGFNmz*2^O{E_z_{mbB~``0n8ucf1DuVW<)FsQO@O|o9)B3v z##R%I`u_ljNtdQwAUzQJK(># z%1YmoJTNLQ*29aF?Em+W2nsdr0KlB!>*J%+C$AwLpfJ`lwmi|%L}r~)W-^Q!+cN^T zO?n8N+De|Gwlk{bvx(u1w=z9c_L1>N%m&~q#BPS?1bt1#Y&bxTX0ypmpCh^*JJIwU zj1s6x>;xjKn)tgt{=}+AODJrk0X8CcNPX0%M*J&1Cy7Cg8W~%nKNG?;=_dkw0$0|V zjc=ys45cC3ZeRF_8VYlY*#PZgumy;*4Yg4n&J3GUu+7;C2dH6Au)!@R{)XBoi-68& zIce;CVbAFeC$XI$fDuZ45tYERj`4Tlo{F4p1oxEqchY>na_~GY2jxjQ!n2^x?ffii zlV~hX3IW?X6m-?>t=PF!@L2%ryS^3N7RQbW`UkBCJRtmQCff#bXqcQA0+zKbca%tLcmN--3AT+I0t-ye4gvcr0uKfzPT?W$hcCYsu-rTC*fGHaLWh{*?oYtEBjB|Z zaG3#kCG>m7gje%D&`{{T65*ajXDo#%4e&xi?tP0CCt0B(;{?1RvRk2K)r;fr4HC47 zLFo3##R`SP)<#fEeC}K|5mn(u@v9X#$JDM4=K4gfcUD zP&fGG9#Gr}bpv!7*h$sLXoTrPfXvDSFk!L+Cml41%o3O~NRgkGUr z_u37w5cr{dyHH+D{d!99@X6qtjIn2oBaEX);{mlNm<_{??62(LcBA)4!xEi zh*+jFgIu7{>s{ATEY-(AY~agqNo1zUpAGfF_8e1ri@t8EA4IKCpUKNiE+8w=4X6TN zrYaxER}@QXH1kxVmyj3>3Diq?D7@7c(a0u#yWxJ%Ng@}K9RCRJEZYb0FWTbDXD$6S z*FhnZsGKcg5nzIUVS-EqKh{3HA5J)+?tOfj^poI=wcy@d4>%ZLbB>O;h(+eg{SDvp z*+eEn3MDzz)FZ$`L0T$CD02_w)BdZ>NA`ihK4H%+h zXYzpvKDB;2H8Z@g7A^R9`YFv%X^8m6`f2C=^>M)~hMsERgbzkp4Ff&#CD6r4X|X~_ zgo_QBfe@g%%fNQeivDr%4@_xClVea zu%H6=?CH~$SK&mDpV80wG1hVI*RLBq*>AcTf8$;9g|wdr?H{(Zuh)=N+N{t%mwNg% zG&*-S6n7?H(5s|<=0)RO<6YSP4O9>9Ke@uexfQ1N6?(F_N-ea{3_N|h;wn>)ouLEP z=mXSp{W|-N!L!?Vm+>cG0CWrdWc(bcEC9%Pm?_Tv`|=~~d#iu=FtdM`NXiE^y}OD1 z=K6J#ER}YRe1SoIiW^&@UKMyb!Bog8kP3FTm(DO;o5gWRqXOiuZZvd(Tle>vnvUC;fI5(&_Y)oHs zee2Yoolx*!>aeW1AswMQ?)cMnx866nPsX5$men^y(^P&~Pl#n+!MwJiQqF`;MJh!i zrCgR`u=4cjAlS1?XPB9IQ44DaGyTu&*Xc|{4^6ad;kQ8$6$}efZ~&H`CWhXCcvyb$wB|1o z>1jA$=I`$%8Gxz>NIdNP4kC z#$El=Yh}LORYzTbjHGa@R zEPW(024p@!N?w+}YVOqDxpxo#;7|MYmcU7SZ0>d6eiPk>%6n67L}LySa3sR z_XUvMX)xm<0s=|I3c_)eGE}wbA#Q`SD(|A7Q0Tf^ycsehpTV1t5#BHw%G|b;0kJ^_ z+Xit*7cLxYP_bX2RZ#S&b?Y7+L&I?f&LDacX-6nyFK{IdPg^2?c!`*lHA+Z}%zRSZ zC|N{nFt;mIgoY;pFhnjAX!)hUs)!7;LL^EVDLq*B({eNvJK$#QfQD37o_Ldc7db&V z`%U}+|I_#iGZ@Mut7?c%Sq!l!fL~|G{-z|cQ-m-0L4JNG>L*kJJ0U?mlIoQ!Au*)& z$~=F3*v3Bc%li5+BkgTasej%|2-p2<7ukb+9W9DdIoSsTkd z-t!o^q53zJUX4ehe|A(?@2`SX&N1~pA@%h_wWMmu-G7<9Q7nOt1zvcMzsVm5e&JOi#!K<0 z4@UZ;xp(t&PofUg@(a(wGUW zm|ez#bM?(=I9hz{cFKbR+mo6+H6!yez{Ns4JNREkS{PeDvOh}=h@|^yAvY%s zHF1UsZ}8QrXt*A@$fzJyF!QSi?>Gv(Xit6b4kORw*GI$d9=?@nF;=+0ho-Mua~nWG zh8#SIz><{i?4|`kE?hvP&ehdD#*2IK;>UHcb!MI!BsB;VLZ|1gI=J23GNMna$%KU7 z2O*i#7u@;)4NMofVtVnlS>4?eQ34!%RE>?%nXIqjtISYjgZ6c_%|O0Lwy5onI(qEg z<|NG>q29hYg$>|vd>}z9af?B(VeOp!LOkw3b(^-GGZrwrR=1By@^F+OYXQA<+tK|WEgGS#2j#c4=-G`_I8qwBW4Gp zHykNW`Llpjy!pZfyq+KxP3u9^9@q7pdj_ffaEgHUNnitB5Yj1O_cXEGp!aaaj6o5z zmo1xwFG70UeTa?DG<*eH7&1fg-?*Av);0rwh5spF_4DBrtB9Th`aj%Qpd>4zFCSyW zxUs!!1bi=oeMCx_Be0rA_yl<^;x<6A30V02*+*}Pf*#){LYUw_!p^HuLBwxW@p!S@AhM2lawyhpd_kdW=j72$HdF zw{S4Jbqm3Vv7CeD$)CuQ=ugbCUw(nIwZK!!J|9+yq?17o8K|D97f=Z!zXb(P;jCLY z3!UO`ewdD>KVd2Qz*@;RTe=Q|2qR1zk*z1tL0AS={!GyKN0q>#DT0}2A z2JIgD{~7!q4(pgi=Yo75pl_%Z1CSUDEeWrI!#oeRqVij)qLrjCX~hR_!4FK=XIDN) zujBmBuY3mIh>7|670^AA3yNjOvL8eA@2dgV-ekjwDKYVl2CaoYIFN zR{1t}O>~q>UeKX{k&88IXU^$trSa#n_@^#El=Z&o=-S6`u|@iMbBxasywWn_4v1IL zLKXDDYuFH}u_ST{0WXe_?*B3&kQab^4hVyg~>^iVk?FJYPZ6^GpZbtU=baJ4Vrt1cHX%o`D(_Dt9U#6QQzi7JD(m>hjRMVPWJ4*$xYzw zAiqgCa4_g`fCdECQ`t}WCorBw@WT3u;SdR#8WP>p9gHrJq&uf2S|`iY<&2qEQBzaA zD0@UytSmET;F!G38BNohGmVWi8)r0?28PzWnU+sBCj_>sXP?4mxxj->5Tds%paPAZw^{=8a2eT) z2e~qVoxrN%>^toKB|Ovn3*3Jm=>L1jl|t^rW>H79JkPPLsKG%HYiBphaC1DBrmG$th}MrI89gd1WAtzl;v2L!hifYx-g z+AyE_GX&a02r$E)=XMe;iRwsp@Dupp8j%K{dSMN>vv(LPGV}<2?ei=s_AquZdMIPf z3vg!jr+6E;)6m0;dWZFYmiV%WJ`XhQ20Mgdm7Go_=$Cx>c*H%PKD;+5dfp6uP%jgL zO1d{~nuB*4Z!#g5GmDFpKQ@Bj<0*{PFQzr`GS)$t$u@P+K#;sQNIzp5s8t z{BUL}6JosiadL5S=4J8?@0zn|6D)8dD-RsO62GPw(5h+D1Ia;bS|kabrFy@ZfEdXP zvTaJ9v?4Rg>5@}yqNoP0CayGJ?cZ1xTNL-aJbnm2!t#}_Z9@H`wIXX+_dH3@juqLR zH2-cBC;ZOmkf`^*_knucO>o6qWm~~&D47-{ZzSl^Z64|hD{;!O7@ zuE>H;OLU1MsW`X819FBqI{Ml=^}2hyI*0i9*s_BXO9~F<51QpOK#Xs0uFxS=9N#TZ zK#&we!TO}64$7~r&d*Oth5Ja;?>_#S^)p_SxciqyX#;~*cJ_EaS}pOAHAO|0`NK5f zta1Q<=U{wl-~^h{WQUQuU;n{T)$jVh;{&#r{tJGH0x4kDxeuzqT4gm)vBifHBngNh zqwj>%DAtw}%#a`c6V~X%=&Y2WxX;76Iy3gI-8~foLhz~E` z{|(#!9sB+1`q^=Xg9urNT7&Gqa2nnS6l#IQ+`;)knX+SKK`ConjLbr?% zogYuLtUlDxC<91ZzJPz*MgX#)05E>>wA`t`-$&aOB?7vyQ* zP;k>DIKCtxgmM83(MhbWizh=s8u~-R^E%}KTfEPY)hX377Z+DQ$VEROFVosV7U0De z%+)yA^yjPZaJ(ihu|9Lbpw2zoh%}AV27lcT3&@`3G;^y<-Ya<<|H(4$0gev&aGacb zKuD~1Mogl=CwlOneoTfsJ`fxhW?Ur$u986B3?^2R6naH5^&b%C0|v!^Kv;lAEv7~F zVu~$t*e`h@miT=%0WYPn2)4cD`v*LWG5f*#L|?i1`Svtr^uVmZ;D5nbSu9#%!;2yV z-5s0pUw&+8uo{kNbCw3W!f|hFIk6qC&!FApnI}h0&y2O&fsUB!If6IQdq@7Y zJgvK5ThG*Up4iL0J%IzggyuVm>~_MqvY?|6GLPy z`CI`8GBN}&619^*xI4h z9Y@NuUT&TIN_y_>^w`>A)o99*itLwLCmm)yHrLnI4laK+XMc0)@#%}(r_bwi3D!Kt zomCZ|1LFw31ZUWIN#9yVc`0q}1DgF?nL1pi9a(@hE_$G7(B78K|dBl{vJIfiE#QEYbpUEwPqn=$HG!`d;n z)*^?^!>SK9wH|Hio@~#FoHh=t+;4($6Tmo{Mh}Au9jg}x85Akdpv_|p;qhJhv4!i0 z!k`v5k9u=-L98&sMa?6RGnZZSD`0p7@WE_U^Z(KI9)M94@Bi@4?CxC>(k_=q&n3Bp znszA!2)!oKYv|GfQUlT?B!Gg5fb?nsM2ga@4W*-?C`c1Q1nC4sL4@RX^8d{2-Q^NO z`~KedlH1$enR(`!XP#-#JkK+wMg3YxhsK-+T<&uT{PP=RpJ;;`2f+%Eh)Rbe2#+j5wl!RHP<(?ZNi_h9~z}*{N3Jo-|Rdv32q2Yh>J8tzT>2KCP>k zd*w6o7WOqwu2<_ptHuHE-(kNF{N~PYF%qp5){!?DeQA=R^$lsrn|nsm&Y88h$)}Z+ z3v-<<^QonUoK7*6T;g9unNg1gd+qr~KZm}&{1D7xY=&1ZP7_1qGcd3nx=kicfiv`_ zoz}^@Y~mEEs2QC;EfJmkC3k+gGyN^Sxbk`^Xbqfx;*u|mBiCrkSAL+q=tbZF4jmMX zL`5y3FTs4)ffO0LgG6Sq5jbbb=x>_ZrFDxI={?)DMz7`NWw0c#+cGN9oYuW(>y};X zlO=GkOf%JTk*|M`Kp}$n>q-nhE zi*|HNND~Vi4@k%z0696`<-TZ7LHCVp?&$p6f8I7SMC&vX8byt4uHE*2yTh&yl|m2+ zm?k!&|3+ye0x8=VzBxrt;{Rc^_)THIH6~&1qP3gExai>hBv*=-#QP39k_uj=u0%g&AKNi6bq?+PaBe*x*$EVZ_}4MQdlwGy{`T>mcmMpW7{oZQw-58~ zVw7iB@7!Va?r>UD-9FtJ@b4zOZcK{mZLNY>U=kv}qArw$wc`O$sbi&0Mpl zxmuY(iH*His%&hFHea-E5nIOVFZPBU2zyQ9Cs`t!)$D(%c1+het2M5xHTlx3b(=+2 zkXp(WBAeBH^-{7`3y7(GsejF8krpxjl3sSaLx8tH_bI6HW+5rh!a$uV>Y?vbvQy9h z2~zPnB_E5G2k;exJjLvKB^@N@nnt|;+dkJU;I7}@$?0cbRWShMF`oTVNmdh9Tm83L7aaP2eAJV z^JDn|Vq!ilKR^tOa~yZfSKP&nh^r5Tao4wDT%`b`8a9O?*2hnRlocNSS6J98qc6kk zg#G60ODx##@{g-sGd`+botUH~YpvV2W9rn20cXk@T>UOFr}yJt+4&9`|APYp?jIF7 z@l)!ASuq#*p<(zYiXAjD^=VMQOFF(?>(v@s4Hik2s}4`eS-(;G?e_UQ^4-3(d-rMD ztnW%|bj;XB4aZfFv3^U+>_uJhb|~s%g~*rBLmj!s1qDQadlOvqxPIiw^{dBDXi(o+ z^k5NP0PeTL(0?IdK)2lq1LxX@l_E|giQ(4Dn|sH;F4EI~=?7{bNaA<6;86k$?*38= zbAj>Q>tpxcTq$5EbJ-4(ruK1`!=SB+T*_hMGHk_UQA|z{OG$%%{Yib6-yfPJkNatm z;z)b8{v=!f%P*uo5VF^Y;X_d-?hCW9RPc^sCEDhtM*6A5d++O{s+y>QN@s7-Rkkfy zn+e+LOA8o5*!@Y=rRdtYK!UnbSc0fZ;j2{Q=kZ`Z>K|wc2ouW=ZQ=;l;=Q6lbI!;& ztn}si?ikm4f}S`6on<2p2M!F353Sv@W$n=TXmdDRB8P|5`VZu&O6JBEOR6QkcdrgD zx(x~|S0O^79yJ4v>FEQl*4lLh>T>jc<`y4PVbI#wDzJx%0}}B+$XvN{U|_nhZ{M!z z{W7A>l_J7O*;o7mOSfY;NN~H-wb0!;>90=}Wv%W~MzM&3<&80(b1+aB_l_HDfCzWu zPqWLnjcwog15z=xTI>hq!mG!8@Ikq>>TxYK{Jyd#j2gzak_rYdubK(%TC)43Lf3?L zEpVugrA>5nlC$1w3Op=)Rp;c!Fi?v7+11b}-0S2{cmpsOEo3q}a%K6L@@0amMp!yj zPwY}<=*Y0D5UHlDfUP`x7kMq(#yM}uWQdyvKH|fajbNyexee%}H+vhSy;+NC5U?5;GvEw5w zFbXl^m=(c_VE0(k&Fr`1#Qu#FUzRjF7Og$1GTeg7r=&Nb6?_2G<`SDCxO+#su^p_`Q;9aYoR zGW41)Q92^GWL9R)qiu3&o4mqX)PE5;&%B<*L4bi|fOuUn;~wgh@zZkeZU%2hYz zksryA&Rf9?AELe6^d^jwRWWA?<2(CdLj8<;TgTek%D48d+M(5fn1BUJIC-1Pbm@+x zK1Oe^BPl5{*6yT7LQLJ1Bfh@gUPtTHj*jm}#GB9RNwij7DzSfzfdPJ<-s|`7fBR0{ zdb96>bYC33)Uohc{`9xS8xP?NoQQ5;K`z?HQqk@rFsrm+MTF%L7Lli_2{OO}2i;6kfFfbjTY>tVHpxE zCQE{X!cby4(}t{4Us<@WG`;0Mv0M>oQ^YAlE&A z@ll(Ly97ZOv3{0WJkPoA=A*ZExw% z%o~RT@vgbj)3PpX_Aa!I+-jX-h6!E92gV#nTb(Kd*`taHrHIUoyk1KW?A3(O!v2V+mH56tYNCr1Tb8 zWLc^;`AMwX)vfcn#mf^|x2_fy&-RgNDc~G^yIt${u9nV&a~}GXE{1iu&#}g16@w54 z`MIy_e!t&$qaG|IfsNH;ar~UPuL``-Mh0vBs@5M`>;se-T%<~*je}RnN=Ma5Yh3xG z2n;PT*M#9+zLMfd3tv-PDY@(bhY|8CR$FPJuMLbUaC>P>Ql!bzT0ung1a=ak zC82uJm?iJu4__q7Y;H99fF)EU_tgchzD{J{kTKO+H*%sP)6$2XD`rcY7Dfu&Te-N+^PZB5**DkrYj|rps&6ju84% zAi)u$9qQH~{gSQUsz+$w_Pg7|@UvDJxv1urr?IfS{kkn%LVgTmrD>TJ!K$A`$RyzLDd`A2*4WNq z|2#d09U|XszdMEAF6hvX6~K^u>|426Wa1MrgV1xyq%?8CYm!7%6B`6`-^#W#Yz^@1 z$UcoBE2iAt&Kf9(NO?9fEB7rnjZ`G0T?YrAe+xXzL#yz4eW5GclA$D@kaY|65UtJPn19g+YnM}#BU_AK=%>3(tx>ltCm}Pi8`x+ z)WMM-(e2VrSK7*B#p!q$%K4rd`d5CZDJ{_<^om-p&$LF3d*i13-q8~$=E!3&EzQbK zYjJ7T(w}~vJqvhqI8&T(9Qu%$6GJ1MuhAevS@wDM#EIEosO9OEZfT9*>7$mD$IhDl z>+iE?U24(zovfvowDRvNsHL=poZny5)Q6D*SM0=DlR!y)!^&zqd%%)5T|OM>?8@zT zxF2R5v*%M;-QDN#%6aPrzRSFFW|R4|XOVtv*(LR#OYCD>hk7p^GAylyBQGoRI;`cz zcMqVRR+UI$4t;VH>@bA11~UU`-$%$R`}5qs-}PfZk>Lx}eA=k@;T7}O_j#vrcQX_QPP+lc> zQol$fRoH^XR8qh4((1!>{J7fStK(yQvqTYa&ufMLWhWA7RG{VU&hrN4H8*_G+&2xf zb<|JMMVHi~B}&w|O5*qGhxFsrFKYK`!P#t`=I*q$mn%@J&H=rL0{t371eTr`la16%2g9HL90;M#ueAeB!(^Z)3K1v zPp@CHdM2sSk&tNA{yyk4`7(AM=3C)nCb8?mTge_O30WEMr@5n)qcPT=AS zX_KvuygtAEZF-tV86EMs5hGXW-hYzLM6~>y za!?-Qvb(k7T$pg!eObA#n2zs{+Eq#mU0?C3emDfs_!GXnyopd<7p8PciHeKGh16}+ zE2(ws;8QpCl}%hpG$o~Ooiujo(V5Qa)$mF0eCE;V&RzIzm(FB8Db22LXV*z-xm#FR z<0h;7^jh7daTq?h@70Ij-|pMH&zR9O-WfBxPw&3CA3f%s8KcMa>AjMD_Z|C=)WCo7 zawPq4<&aQYFNeRGUVCZ0)gIq{_x}yuF%dWL^;cvP&f0q^y3@sn59c`kU%CYBqYD>i zI{r1XWP}_Lf*{cr&<|?O0UceE@IU*KJ()b<&Yi@2h6vFWAz;@Y&@OZQ~hsO>4J3yQz)kyUm_KUc%lR5lkzhDPQxjXjA zTF!(wmaQ{MOK~ABKXD-UByK3112?U|Viz5tL}#?kkreX@=o>1JlvRA*0m~&pq!0JW zi}DBVQ&y=<&#Fs{#u0Oq1bF57Z(sgEd6BXzuN&=umi7ma7lFlRJe=V4rn*B(S9k1} ze>i(KA0o$M@wjyrA|}wA`)OL=Yus_K~;tOMbSy`#A+1 zl;U;mpeN@O?5GKP6-`N-?k7|BlbLL!J+TV_*F5d1T}y_1m2}%(kukD&=ItmVFJpmK zd8E%2c?*~57<)P619Q3ER(75Ss`J?ATS+)uzi%J;OrM#qMx3?%m`=~BOL;l?yw?H4 zBs>HK@r52=a6#I^_oz9Av3LcvWANN~s}mif*8Y3zF}80XB^x@i4jd$dpDp#1bV@ba zv(~6n(8i9N7c^x3K^r@M-0uPW#sf5t)KMa~vEN8Tmce#yjUK-Lu{wDlZTj)YPCQ@d zNYehCX8BdgBGI=x;2N>Q2o|T2!h5s>X8|4UK|qJeN`TUM>#<|(d?zxVMgOxkYSw-- zRP{n8g9h#G#BR7?kF3}TGK*)GcafArkwD-51#@wp(+F683VScj=2KXsaorJ2skuA| z(;=}djg!9}hM`im>kDum(AyLHyj7`YwHnnLZiL}Cmp+DUY>3C2mEP(z@$D9!-&;T@ z*BU%v$JEX(hkP6x6&VvzGcmo=txD;MH6vmoqhdcE(z5f^9Rmi7c61!LG_m7?>Ac+u zhCyt`^U0dbWkrzWa~0?~98=AwWIPhRaAW>^oitpMIW8MW2#if;u|GC&T#_|hI=wgl zg>m8Q9u>G4z&(22!Fi(lhN`rjUB=%M>XS>s*J5qu5}$DIC6I3~qO)!9 z^VsSEQb8TBc&LBpf^YU0bO-EDaHr=oTrN4$auA!v(k5p%O>fDUie&UeS}q|mX}R$Q z*-0(KrnhcM|GDOgGyX`T{vb})5@$J*B8obwWwV%T37s9T-^TyUsC1=pex@v~Jw(&o z8CEB!LregRmjdltJUO+7R;?OHDET2Ux|3~Ue6ywr@y(h`KNqU=^onobQQNN8gSWL6 zr9on^1Fc84YL#3QhK8Je4*WcXXOF^si|Q0T1J$MR&6>p{U+atEDS6tnKkythfg4VD zQI>&r{#?3&Q6H4Sf&ql`1q*^vqX{Omf+?XOGn8JZG_XpwA+>Whtk149tZG$%i3D4l zbL5&)&s;^R9TRQc%dUNEjft-5L3FKaCbw!evNh(%tqUe9Unp;ZFZh@&`b#*xLk&x4 z?G_9`bjfMjoK+clTHQrXOJk|0`e0&iE}O4Dpq{uv6V{DHr#(s=XB=Y|naBRXxzK;? zD;%?^Za2osa*&A$4zyd+asv%lYg#s0?vcMzZ_;dPr($JaEFHJLHN#q0OXsxMW&L*1ZecS?vt*%4F4R_wtSsjtvd>c8P(^H10H1uhPlLOKEaZw1EuMtO)DMNil| zN}ryU{cOMAyC?f`=>w;!j*Zd#!KVc8351g}oX1TkGMj2s^O=oK=6))ai+N^4>eJ%W zNoo#}sY0<~qUNwMhSWT>a*=zi;PBJov*HWDhh7*7mAL|vug)BzE6r_{!zK5%?Dl;! zkTiwP=ivM7o_yiYTnzA=u_N7 z=-q7IePaCN&s@wBTH|!+jifDUCU4Fk$iYAlQDI@ybp0qly;r1ow)=d5{A-=ScZu$r zbW`rjeJvI0uW_}texw1*?+4F%P+RkH)mY>G)-3dSqXlo5MmaI3<9`z7RXD%fK6LU) zBz*&7|J(dK2I{PJ*_Fj)DtUVmyMp_@q}(Dlj=iy18O@H`a9j_~&Ly?hvX*4)T6Qp( z9b8K`v({_*yk&pE2m0aguS9VgFXl(+kGbbbcgZL>Bb|R%tEiRf8G725#Xh5x*i{NK zFYTayrhKPWZ1aA~hHz~JcMWMDW4x#3(J*QYjm- zx#^6Y-;rH@BEHCw$5%FRe6{%Urw&Xxj$F^uVSn;GZRh7{I)^<)%NcleLBEp?TYrpu zCbJ*T!#3+AGwnj!9v?pJIBCP$c44{c@=ErQ?FPSlut~NHQdrS+R-O``lq4#3A)C^P ze;2ZmZ8|<|_;HdWh1o8!NpQ{85M2Hc<@&7P1o$ovJvStWB-CzL$vx@_;kPhv_lMT1 z*dVfp`-$K4m6rHDjnQ8xz^-b$(@5spLa8q_4BLb=U3L?cAm{jjQ@80L=rr4 z{I~Im=PhBA+jah?bGyl57I@~=`0#|%!&wfrnmB=EyeN>^91(@ktjc+-DmmO&6qx>_ z9;eZMzQ$m^!JrQ|`ug$bS_xLIY}SNY{JA4=uV^+`1nwRAGcQ|oOiVP&Mj92t-lbG* zRuSYysn`usDp8IlsQ=+gIm~KdE=%G?A>t}fp>-+B5^C_~PmUl_sv@BT6F`Jt3kqyy zO&m3#RncZ z^l-Vrj=M(c&?w3~T8)K3bN)o^L83fGLcw-;mP3JiT;iyK9Cv+bU*K*G@;*db#6;V1 zkBU7MV&=HFdSz4v;6ASqcj!URcfp-My5i2CU2&&;Y7PGt9U*|@KK1!28+=}mL59zy z@xyh}v|$xbQf|Wv;fKP@H##&Sebk|mT_+r(9}G@2n`~pHX(sb4gVa9sgTpiWl*j(# z((=8h9ffi;?<3>U#yD)uj})Qz%eNu;A72UK4+A~_i-Zqkx%#0)hq!Jo|Ke7=VK)vP z`hnbMUgZ9r^S4PJe4XJ7Wz#$7c>~~Mb_)8Z!`ggB==TZNPD*3j2T~tCC1)pz%xuz+ zY&+YTM}EpBKd}y6XTEq^yG|b$m}t}Oeztu?Vyg6G9*fOov3VqQnMfybT|oCQ>^g;5 z-xbj+v?~|7f9_BzR9_KlhEOgnynBk8p{vFrAFGPxQ&j8Fu6#IEC?8&nEAmsa4q{Pt zL_QX>)=CrjW#T%mT=yI^Nm89F;JDj0c{D;)vYpjbMI9k>W^Sx)ws?2Uk57D4Rfe20ABPhX&dgGW2M2Yz6cVS>VuL z(R4rLx~wO(PRKWTHQAqpYn|Xc`%A2VYn^~UU118%ns9&=5TVktpDdtvYy~Vw(_i6w zESf%xT$j{j4WJvN2I!zVLI_TfmW0z}_8b3Z@GY@auw|e)#$7=tHS=84gW^s7icJ=jR z(%IekWcFu|rtDJsyX?|e+4E-p4ow}e4Xk`RIa8FYX>?UFdQ;MR}BX7;g+Ou9HgblUA7&0W7?(Ntu8`~^nG?K zciS6T8LMt|Wj}6*F>^H|93_4K7dfWfOJ_ml0&*=$d)h|d?Knq0m`*D7$|N)l z0I7JXTa~WYpvm%(Z+!^5j0Ih$Lz=^TGa(ysmFZxA8;u)oJB)JeZ%2I1{``WRR=;mT zC#a!I_l)?OlyAa5pcmQIFIh+Z^j<9YHmi4g-EB6b7xBNnPFkpTAbVK767zvqOY~w~ zZp8D@9P~k)q~%jQ3v%E~buzs;^$Q}2Y;3PNGr3Ln+(xcs4=)dB%1(l&fn0{<*p(Gq z=+J6ICP}=X;+wwgM@tVfSbgyAx*lvk^%|*8R028f6{p{3H)c)0jmdctScJQ;75F-| zxzQ_wyPp8VH;R=&+iOlh96v$lwW3Xyh2KY=1u_?>{bVHfMdr|`#F;pnj=1!u!^pa2 z@20z&wMf*oN?Z16x{Hi=bSi`F*48%~-?7_T-)u~~7IrN!m9M5m_>6pQkF}ns-Bjizl?i_?U53^gX3uTg0`vgQO%Q*AIg#x0K|Cqj?Q-n*&pKs#gxeuVhcU>tI`m zIhXvGt{>BdEoztd@IUqMF4X6nT#};xeSYHB!L&B$D#juQTpv4Jp~!7A7!^aLF{wI< zlvW+QM0Ts8n-BDSkCL{(#S%Z#;vV3ttB>ZgEv!-(T|s@tVbf#PLl~ zniwLSK4>+3HSR}ib;Wz^fwyO?>R38ntv>X?E8i3IQr4KB|G7JyB5(aY-VlKTG{}2+ zo9(^De(mz(EwbcDE@`Qr`fv6(y=ZN&?X;i4mQv&uBsA!Ppw>==A{Vz`u_hUeL@_3D zjdxi&@Gr?!-yKKq+P)liphd@xsgGz2_V$vQhw5EHPU^^Yxfnyf)^a+Ssd%vaUDN{& z$+%9R_Tg)9`d`6DxwdkN>!47~n6+QpnOpqP+A5a1Sg+5adi_f29r(;xciJ99vl^6F zXyFAL^(%|QkXL9h3Qjv0e(u-s z@nO=3Oe2H8d0fBuDbZir{m7O0$r>&S{h{-6N61g$%?kaS_Pz_W0eQdr9M8QF|2^M(uQWRE)Kfh8 z8hYgA@jjK8Q@N|{Cp^_-t`WIC%WJMJQ*CGM^sf7NAQeMS2_ zeg583kJ`DP*yd^`^@}+#6yx!y zdN3xO$5E!IdNG#%u!WT1$(Z!f_#AUAta7*Fd@@J`xf~PwwBoC5$-ggqiLal0SH8^N z$-_V5@$o6S;DlU3j(`-q0`_2ZBrb@nf7-X(pb;WAvJ}j!`1Tgue%LidX_b{(g9Z)i zI_tf|AM%^-Gv6blTC`pGYOmNqE!xcQ-77{88Zc(e*lF7?eE4DiF=NKOv+d%CA6`is zG-&al4r3Aq4O%#;z3999lN!<$X*u5)$JSJWg6%0fKrJBSDWPw`DkAlC9)!0$Pjfns zhOA(Vd;mKVknmc$yc4TscQS^SqZMpR=sdQQ?V|5P?0Hu0dxy;8f?l2n=_~CMXF2jb z>_?K(Ll^CbL0y!;e54&Z_DIA<9;;~?fsa)?sgxedz9^0=`|wQ?`p9uC8T2sw7Tl0m zOTB#~O<2#<5xxe`c{-g9^9e_oJjfnaU;CBD7sdfz{R`GfvHI79_BD2B;_FaIK){MY zT){}w@B$y=oM)2Vb!0^CCDrD>Yp(mY!Mm1EwU!G9yH!eU)}>SDPAfNOc3INC;kh4T z>uq%NPD*d|Mwbn92Xw0Q`u1fIuAoc>jQt}G)%$bbv&3u&!{$gG8Xc*!8|;|g|I*`c z@mhBdabD5lK!8EQlB8GI9(D|}<4St}N5AXqUvk2tnOZyv@vH_y>XJBiLyctr7(yR^ zdkOhnD1=4Ka1?IFhS2d!DhWo!e=h0kgIIK0L2qR&T@4Q8wSp0puaoJtefv(*a^y>O zEgg()VAOe+g5FY^Gaj0Vg1B_FdWA+|BYgGQv$=c{0C-rgjaB^Y@Bj-ZQCOvJw48bZ z`|rmPk9HRD$T8?LIN|{wk0;>W)8P5@cxX$cBK#H16f_eG50L1zJt@t+!*b|Q;HBtp zNavMmz#jWyrf>z`h%A0^B_Ug=DSS0aCCx{VX1mzV(d_2NjpR1DyS?J7ut+9k=<%s+y4`W0YZtKFP9SN(Dx_q+)2o; zWw`9zIq`k|$O?8Y+l32%T(<1}uJ!A6?OG2p>v!!|&+%2~zR%y*?<(~=LMj|N^4^9G z?;Sb9E+5%&6c_s=sc>||`VCF{_ix&)U;kP7QCng>m4q0FiE0r_IOQNLBm@Rojuz zc$`ee=ndS0|FN+H`v!Wwy1HxZja0nfz#t|;oHWKHFD;IhM=_5hy^s|)G(S_@=?M03 zbaD;D0L)W#B*vJSP=@cbg7~N%L3Rl;OR`1s{o!QKQK>a+*7Wx68bFcezkUg{6#3z` z_Vrq|NR0?o`_-nCxsAdM zB-=qf)OTUE{80Xe1Aq_vj`yTbkyPR7Jfcu%ypQH5r(ky!mFrH8R(Dbvo?*=H67FW` zuhQLW!^d9_MgzSfC)++HpRo>7N7U-OXxinn`D?wu?V;_V(mTI3?Myqf2(=11hdrsa z=o~uIE?QoOJ;+NEduiTW=c_V=3ve#)$P4NyPyyTX=m$gm;~`Jx^=JssOz*$dH47FY zZ|0eBI#ks`Ozr*{GUQT_>V)Z{p;6crzJ_}02I-V z(cfy0!wnuy0sd7*|G(h*B57UeX5dw-)lwL*LhI8iQxT!&xbnmwuFMSuhYmd=hu>;wD5zim5ovhS z+#ocxf%$uLqmYnBW>VSQ(2RdJLi;_e{g9bO9_?=rBOOxPe@K7x<ZPZ_%5OB48u3ACK#A$e@&-J!ghMUZp(t;spjL9SLm z#Y9QbyZoR_kI45DYrAhy7EP3lHAuy(dptesN756kVty74Q`Q_pg_((Hm?=_I+A zuio^dkRvT+9pzJUHlB}(=T-$*mHQ(6C-IzKa83S19*6KBKpLW>EDEPW9pURF1s-4x zVVD%)a2v9W&PyX-Rk@y)f9RF#mC2V^$)-E34KDWaFjx5-CvI?U7>tL|4-rS%K`@Bf zrv6K)-K1em^`JY*Fq}t@V^$_(aFjk3L!)+X?XV?kImh@4xq!Zk^0T0u4yQWskx~3F zAkFA|q#65M&14P9WJymZvkA6*dPAK~NAuAZcfl&3hUiABHk|A@gqH*O_(EyH3grVM z8OQQwuU&BMqxVOswp-E&a+$_pCvl1T2ODmit)(MxVD2GtxxUdn5{FLa8KyqO@(M7S zKVVK3FatQqun2%mAmc_%{^HuZTW1@l-m-nh+OsmO=RMkxoRlWr5;S$iCBYXe5LPHr z7z1d?i1$CbzF^I4j>&K`n}(1Krm8=)3bt8DNN9*C!&J-{u>La}W26WT7x(F$jf>)A z4gg?77zYeE`q^8jU;lE_2#!$>tEPVQH(5chk@XTLbcM7LYaXuA!>K~Iv39D>J(FE< z;QU-V@bp3@h>Rl})E0)R|7~Fx+($Ul3;H|b&=A&+Zc}Y;ElJqJ_jsHaE}s)mUNW@> z*?Ldp%bi;U0I*_pOTV}B==!m!|C3Tl)3CLwF%w0 zJFC7-;5%~E0lHpo#{OLlA+NxN`2&}60vB%MC{TgAt5J%p5YbKj??C1-!?;H)R#;-# zy&3O3HgppBKM=Tp-?+R8STps3`xFjOw@AH(Fs*F-1dOU2L#%y`G`@UfH}%osA;VC# z34lj@XUzQf(YqWTGYA}bBYv3FaPmUYKEK{eCgzQ7;{fdslXx2yMO`_k@ zJ$aLq9J-u_=hr5WAigNlCs)KAR_EFy>x6k37tkegeG6ggLw)NIcxm?Kwu!}iX|^yX zwq3h}?b^l0IBphYow1$H$~tX3^R!-D`tDr!Zi)DG>+ZOL>xJOE)2H8MH*iIfxIUk5 zsWL^H<*WDd#tW(7A^T6x!pz>w?kxtMhqw@3FN99qRSH+E=7@6+AtpmzxVV#6m-92e zQ@K*Pa^Z~|R*C$_GHA%kPa45z+n^yIuWZ~nfAiQAWzQd+|LF(y@cH1Q$@S}h_{*^2 z!!wWnJUlaVI81z3$1jhyLF-gU3-;oi#Vr^&gM`$UYts5r9hPO02D3?tv?Q4gNkIyY zOZ3CZi~mdv8k#h~S7(jW8RKa<_}7q-1Qi#! zDc-_Hy`==&wq}n8T3cERCAJNfImT+Q}v+jki;x^?454H5=-?C?(g?O%6&fdZ*J z^*KG?TM$(C&zO+JSZl)W>QR-WOIyyAHf2rdFr2r0*K$=5p4p#KBXG9>4FPTqj;Tz- zbJ5?hdv|#fnw<@IuA^T7S(eVO(FFDA&mVt$@d=vqjf-bs#?`$8Lea?W@|8l;^S%A& zV#<1zh@t@ze!Wp>jhA}w$%0yJ&kU!2=7KhCpPWb__$Ko!rk}V*~Q>!uXvN>@c#<7 zc`o9U6O(HsB_t)W-vYbt`gHBCZh;~FzS+L>+y2|5s#lGQs#-nj1&X7-QnOaAg#PeeO*FiH44b(9r{9YmNM zM-W10_}n701|54ufsdp<$#b?JTK)NvTR+qrb1Nn;j&s=ylrI0&smj6qYZ3E?=}W%M zyLg5DYa%!6H*40QL9=F%=@+fT2-wTid3GJTj8Q}rR*MQtvbPalqt7jq`t{_gbCykJ z9qGL=OGH>$ge7eAq%mVA@$U;1$+nRE5wW$3`r3A~YTl3`^A-*rI{(zykDT8_2?wb=lpOSyN)~VC=7d8H0&YsaE1||B4Lt` z?Qdro<#NnIn6iIyt(p|zJ8*s%% z_pu|)YV_OT2!d|P0o2hlQExYS=Yo$XuQz+SH0d~(RA^^C@ZFYZ6rFEE;A^t~KJQtM z*=ZZOW9LrW>pP^GCEaR#!FhuW5m$aU)Oq*JcN}L~<297g4<};O5IrJaIv8WInsxd6 zA79DWc9Owte&JXB{fQSlxHP8lt6nVjg3}xmf+Bza+Z&YE;4E)x%>T_Ob7ft1tf9ca z5FXjTyoStp;)M?53qNrNWbt3W9sEPhJ89_7o$BxW{tWiF=Ht7-3h(*4rQog-X73k%2ijr$oqW~FbGb4WVfcu4Mi02OYkCSy$lJA@ zN0(B6^ey)_9@Y9AdO+~)eXYOY?*Mlx-bHxg9j*^>)qDP{;o%H(zAg4%OM}=*1670~ z@OYXC4#^S5aTR$9oOpj%BtC~Fpp@|5ffw??dS*?5q>ofAynn%o!p1d9j!hr(_z#3( z9qSAes~uQcAqMf5x8}FZP;#a#we#9O5tr}1=q!bsBLR}pw=xMSP56~~|0o3=J7&B2 zV+M(rf=E33!FH4V(B;Y%>GdmDY%`?Sxo1Ax4E8C<+mSy?&QKnMmqGUsc7#&{N%r>$_q(l#}E4z0&l&iz4D8EJo+=GbtKSUH>RB2jAR z0xVe znI6w?IYeM0ZM&>S)4G@0$48H9EP44ddDEs&f;Olv{|b@6$;ofH0%-lQg66OZD>xc1 zyu|lzxpr+3s1X9cy_G~ioPZNLxR0VHPCn|Udle^DB7lXKyaL2!e zPyDt0n-Io>TwaKK$*M(9C>Da(i0XKYCnd;=C(&{knVFgFG~VGdVuTbuy!w!v!!n1llf!X2J$(3ZT=-+=@Zr~nB2@OztR989 zJk^L{nd}Twu~X4gqB7~I;Zad|=AfeAipeB2dT3OBfRZCyW3%GbD{ZLj@U?-#V@$q9v`1gDrCnZWXA;l63^N3Ik9$LMxUz-lxxaduSJ&x%B+#* z1xhv>r0PO;=mgOGF}a9Q$yrJ@}p zZznd##}Nh?NgM|4$&Rx`9%&j~ZMz{T4H(Y6(AyA243Rdw?nPl3#{;`{Mlx7V%iocq zne6xk=idN6Pr@lI7qmuDF14N#ZXf%LlnXLxiLc}dn zE)GYU$C6s(ro z-6ja{b-qd<_MgIiu~ZK==zJ|aO!ifH80mU-#E6k2u3W(dK2k{4g$ougAXV8Z{48XH zNv}3WzhLO1LtGU#!{O1bj-30q3kvJKP=>3sAK8YkpCRDaos~g`iMj9JeIl6k6ggVxGGw?F5YCUVi z7~4D6$_bHOsx^(Td#cg9jlw!^=tv)Wd-w74Q!m(`RZkxuJik{vHX`J;N--&^qe3F8 z)lX?zGp3Rp>H0FZcAdrzVk+gG3=AAvwk+-0e0lT8u1C5`sp45(VSnax?Lr>mYj6w7 zZPn=#i*SR9yVD5broaZhZxAtZwlRWfg5aYW=7yjJ?tJ@^UYo%d8dq%E?BO2-`CHAP z@k^JIA(bL4;S+hGR&sDaKydO8OWL|{hI}yp8y_D_ko+*n;xlB6dVY)CHScGGL5VSh z=X>CtuUya9$FkCvwS|U)CuA3#%VJ&1J+t{jogdq1zR;`>HP9F4bJ{T@-WqSs$iOB3 z)Q7F``RF5lWzC+=O>{AP)WB?RK-_R;!^pyZR%<`@8m@HHv-phY`WDD&lOcRh-w(zq zAwo?*B)s3(@ZB+vG}*nIeaYTtU*LF+m1NL~6KnzN!4{l2p|u5PT2s-~ioG2dhe9Ps zvn>wqRjrKzEN^2^gA4zP=n(>~Pr^kvaEgRMXK-j0pM0k?CI zy*ON2hfU%g3&|;hZ!x$;>&)aQ;L7RtzU$PJfJqJq%qA751$MMuadyxGq&Aw1<4q+8 zK{&zHPmAZ`Ad4tKG1?fP%;#wt(2gYm2I}A|Rv?9=uSd@+TCXuQ5-k!9a+7Flk58iq z7IQ(w%h2Ls1ki^Wzm*!zf75DBOzi(=YV%3)5Q|&mY!Uj} zj}M^dU&D0z4uH$|O|iPe@Z&P>6djX94wW1nQS#u!rYRd2h|xx{T`!r4(dM$~UmiEp zq@|q4*HC|vukaCM0`6fBUa1VO5jd<-HU{w_ZPRA9TnWf;&vRa|kW{7qTu?;z@v)56 zA=!I-_1Y`yP?QBSB|A*3gR8AZV%7%I@HN4XZZRnD7kNE9#X&M5dt!AsK(a4CSN3O< zHK3SFP=9(5^#iL46UQq6P0*-tAPW|-Q<&%gjnRT#i^j#+trbbxyovN0$f>1N7Wjg_ z`CNw;(1XC0!%g5k3~coZ=hlI!eO3UNB!{C^G%mcIh^TNne}L2FHBuFL6mYzGg9I6P ze8{S%0B3Nrz}bn56Zb6wr<0gII1Ayx%~2N2Ri*$x*pZrI3MpwPqayMJw$(VcTR0|| z&e?kejgTCV!uc+SDQzAvrkBOS9CQ23B z6;)kI7&D-9<*HTN4yau-qe`W!RVr7yGkjlinzb!t(6b0o?;py6FO2lha30oMYcs%0g-jF1?7`*gUm*EiltHUr6(VUn9lGi`Z6IC z_46fxAxS!45)p#gG)W8z!c`v<`72p`lq@<*7PA3I*}$Xf19JQ(IevqjU{N<%^i8=! zelE*@^G%}2{zQ56&AbofwWP|zh3s^GXLfqwLcSJo&`?3^g+3Ht>D%Q7_~r6iPQnaM zd`?HmZPm(ZWxhU^n$vzyrsuTR(sQ06-gE|*eO%(JrKc_60?ID>9Z^#H!u;*&Ep(u%~0q4uQr{d9Dy>6oVIJ)?_*wyy<`^IwGx)9jCOD zH-Q3}RdKG>WOdT-w$KcDeSq9HzqXQ?cLbSp8Ji=n=;PMN>)*DA@xJnc4Dpo)hqoC! zoGP}{8PcOx(sY|F56z!zhvSH=!I2(?*~5zA4SZZ=5-xbV>$v}{bI^4(U}j>1{dg7Z z|JQ`HxH%BD!Ye~qq)`b9Fhp8{3}F$G2})c=c%$O$eqmrr%m{-UCX4-7!cl~XoM5p! zegp)mY-2@ftS1HW7n9V~Ka-^GmC2*8TYIjrTjhh!A)nM%XOmdHp8cfA5=k@|*b#kQ zI<9}xMfIMP@Ou)uDpD(_^lYVGPkJn?E3vwFS-rza@{UWrcJ~chQ@7iWjI!*GzLnnb z&u&Z}C)H8qDzy<;9&Jwv+IKI=*Po)7xTQSw1S{hFZEiFRD?M&fjAdah5*c5Y1o2B; zP@+8AfB!&JSnL}WyBnK5zHA*=Il8>Z?63&s^V(Ib45pWEbPOvyBsM;%S($$B8zW-} z$I7zjye@84`-=MMf<<##(6+9iWq>urgnU3nD9eVzaK?ZYsL|htghmsn`~?L-CpWGx zF+z0`CV@$a7Z&P6!f=RUB0P4+#6xv)hAo2l8$+y>-tOyGe%kn+W!svm5~;Y?aF6p- zzG>m>sn^T3x1^+3@RQ;>y=IMqqEOloPfQAB?Se_dBY%#9!A)>nXz-wMK@KqMR$R?k$BRBOo!gfz#1xgvnkD=rTQYJ+}&=Cj$i2YZx|3=#VnhIaQfp#~*c!xE) z9;S1s5Qsy>NtWC|GMszk1t=~O35txc#`$nRdvO6E8aJ~I1LcAO!$K31I7cR+$~aeA z<9OT`jH*0o1Xn5c-yr+1M(!6Q%+r{oL~_3%UQdG=_(Tbw$`~cEv9z#h z=^$lfrdxnzO$3o}zLxaZLTO~UB-IS1QkWSgz{7w4@cloAcb$-2rB-J9wi9YsikoZ- znlh#uO>N{C*tg}x0yeimH?iGoetwM_saGuu@$#igxFmZUs#bCHmLUcpKAv(oRXp7) zSJQhb#KWx6vQ#n4l9#?xguaw4Rg{RQryL?lo(4;V!Ap{S5XH-z=&@&0N*`%4c<5<} zLcB}yI9_fdPB*ijl%@JmN%rJ1O6iFiS$irWl3a>I@sw>zMv6n>2=ybxO$rQ<-3XVO zE7V9OMG6R{2>Q;C5?>;jD0P#A0%ZfGCdr%nQEHHaf@C+Udi%+GH`xf|62;$N)>FwS z5jVYz7kLK$+m5RPO?dI&`C1M4mxq*EDO2$5@bgWG??Q9Q&-{*gsB^*grKB!P{iP*w#NYS zB8FtpV%S!N@>&OHxYW8#yh_P%oa$wWh;Z|kq<54mjTJ+~DqU!mYLZmBx=brqm!vAy zm>*_)C{M(P{pZd3`R6(F`gaJS3C#xd@7J&YfM&2@_;q;jC{vFcZGwHvH5vKI$JefX z{K?3)GCqNAZZuT~n3H{clFhQQ6xc%Y^r7Y?U*9A%_3;GTNTrPAc*S@xulS0RFSx)Y zxqH(JaXvoq0qX58nfw)lZ(7B8Z*LJU1(;+J?(HqYWfQ8?mz1p#=X~KWx%)`vW4*m& z%S%4)lD|l>)VG{oU(OevLaBQx3VL~$HW*5KgWR-~JJlQ5pT_bY9_5Xa2kOd00$Up^ z7z`DRNFaH55yfMzZ#jdZoG;Y?C~nlJjGJ2-ACO-IKu~a=10YHs9#k<9pVDq_rG1D2 zr`CH&vRklES%aZ0Pe43M@pj`|*3GRf$B2~j!1D?%94t#bJ%}f?q1Fp#i5?1P`QelYN#!}| z1gX#zJiO(y(LO%WWo2&j2Ui2U3+LijMlxaTdZ5B`w~{*=XG~Ua6kwHB1}3kp`eLDco7tc zX-Qp@7)>G!CTxnq?w3zEFm1#1r5jj}EPpXere#r$%m%ii)RK&9PBk1IpLQxmd=_5bRM3KH7sk7x8;{PjR1B z+FKvw?o|Qa}0 zhh>mjWDs16D21R(-73ukJVU$ymWI5#scG#pBMsGSwC*x4*?WTIIWgy*KwrPKPI2Ss z#^sOBwI^mijQD|q@CDwy1&Je3M~jIZeFZK&XHus^0aB74b*tWw9L zw-jP>V>U$Ahxi$)Bh=(Z4H_szb$|*m?&LG%FH;tub*Q}*w*(+;UDoa}}&8ErfVfK;w9p7Q2 zHTe3pFdg=TgqL-ZGD(730Qb3XE(Rkdo3tif-htI;+M5$u^Wq=_;3M6WT_gM89A+28 zVv*yvL?=scW4!~}E(r|shxhd)lO>7pl_E)$+FGfbx|@96GL-fEp7|SV(KhbNDViAW zsZLQJTw^sNd(ilxpt5!8RA^pn@N~*=%CFqlhRKXse-VIOhyV#f;wgDw&C+T<+1c96 zdi~78y`#x?TQI3#mk{OGcA;g}gRJZ+mJ&Lc2KrVn7e_AU*%}ejQ0WS57Ob-Q`u9Bi zeR&}lcmOJD-=g?JkBXaRVaQeN>g~efPWjDln>Bg|X|(23(rA0Wj`SvvNS~GLJUhlN ztdtDBn>6lIy-oYJ)!^CvdzOZE6U?&)!aQrq0ho1-A@7jjEu_K5jqIB(Er$$g8QUc$ z1`9@x6O4kChsts2wgsZ6(&-AVQY?kH5qz`R;m8E5B%G)MG_^zM#5oe&RT)UHGl%E` z{FRDRx_56_zlY7UevcmY8+Pw5Z4B~nyK2c(ulb`iOo z(P!4qN2CW^`DlwvS-ux#sSo-(3>?X7)M#w`$;eTw+O*6Z0*|npNz{|@gXzwI-9{JIhfHDlJbvovDS_WbL>o`sv18)I9os%L`o6>N9N5cpiSa-+C#&Hk>IuW1RW{u7A>ns6oYOS+w2ME@JwH@7{F6}k8aa-Tq80%2tl zPf+RDCBW_)jFGU{&g&R=e&Q`iMe+wPUVL`(BB}kkMT>?EUaT6!ZmjzF#8qctzIOeSk6*_u+nyzh+p+e`@TC^0UY!Pe z4dsV7(7uDPmyrM&Q43wVt}nQCJR}5jaI(`n-40-E#aulAvwm27Mw&5p8Wepb#yFB- z<;+%BbIjaIz=AT)!`Z52Ks)#jBpFuXOJ+du5zYxL2iUw_V{ z$Inh)dUC;{UrsDu_zR66-J$*H(d|2oo?R|5pnUm&z;ce?uY>hQV`VQ-gV9JPd+Gg* zmAv_VWmYH9&nv>@@2_{W&~or?>=y3tkE?nsGQyzu^AE6KM%2(h+)Z!tH%038Cf3BO zveD?~?TM>_qaD2Aj>nL7}0vQ$&=PkHO?$ z-N#G4X^QgkGWeUSdwc20t5^{R=nYj+oBO@11O^7U87hOM-u{8XmEH6Kfq@SUxKwr% zS2o|z;N=|+<7+RUDC%p%Pj!Ej!N)5KZDKO`CP$15<#iV5q`LA>mTsDEzHYT{kM10J z2mai7yT_gbZ}oUGIE)ElJr&5C0NMgA_A9~Z+W+J2JpiLD^8WFir)_$&J=xUV&F-eR z&F-f6-bjZe^iYEI-jOc734|(0M-fFuL9lU(ouY_fKP&3#*|<~44*$<=g5aIL_d9*x zKWv^}=9&4RV`6Y3Fk3T5-KJ=K}_SJ?n zXV>3-?(AoKCr#Qr>0oqd=*`~`z+pv8D?}gfXyR1JeSEPa`S?W9L`khuM}kr`>PXH9 z1fw$hDAh`{>oa+zMy-_OkvPu7$79@d0T@fi$b9 zzkKRi$6sEaPG89#nbSfaoS5VD0gQT@SS{!A;RoK?6X@ZVoRPV@surh{m>UW_FVN3u zV{9^Qpr2jvC}<#Nr?aJ!Kb5yCFFF4^I+SevEDAy=nEhLA^t z$mAYT2Q^x3Yu!sa83e0}_w~avj(q0pp~Q|qTat*D}Au+*bN&z^MMJ zy`C3d7`j{m8^iLUFI@24tLi^0AS7yhoMlPm(e2~r1rZW7Z`}5ykxMLbVa$@XFl zJ_nj*Sp|?jU zQx4je@sde0aj~%Yrs!-SAgAL#(I83JJ`jfp?K6tZ^zAg!e}qrlG0nOq`BFk!%kti^ z;$BNbj8pe(?ve5{XbF8XGZET+`GS3u9yu`$GQ;if)&KgvP^u7&s*xl9++_76x4o~c zKPFfk(@fWrvGsJ7K-UR%WDH&R>lZGjBS>c(9ZHAsZKRWqY9m|7R*Y3dwoJB@uMqRx zIO8?~O$b)(UtUCH_RCBebphYHntn?HdeQGW`W;_Gl=K@hk9vEM_x+ow0KAI^@=xmB zOnxR;;XA>|$L!{X@+s~yP%krKE;&1L5;6J^8`I37GX1h)zIjA{z!oMK*y zKVyU^`}yDoDV5W6`Uc5Hu5iH(V(R+>mUeQ5*EeG2$ptk^sr9%{Om%(sM{M>IIqPNO z(#Vjr9wy%T@mY^Z-f*+5+!YX% zCi?NKeLV6#QfuOZ2?@1vB-x%5RUR5IPc{ybd;la!+B*`rDPKSPt})r1dC%8~-QR!W}yMK7M76cy<( zca+&g&rI&o%(~P*T7kZ%S8BB{j9yHtGg}nRArXo5tD{JES%zF^ zkE|OSUpso{wI2et0i89y1HHVw0d_GrG$sv!Z7p8*}i-gH} zR4!hoQ?EbDOF|V{Ozm9*_o8jd}qj>}Ps z=Wz4WJnk+cb0ypZ)En_L@q(-X58#=`#-wokF&#tBn;jVA*p?qNkTBy1nw(eiCM7dQ zb?;i(K+A4)I&^&aslr}HW3QUp)P@wF`bS9QtkDtSxl+K?;vlauTY6Z;fT9!TdCm7m z9xv%15tg13?j2Y>MIq%zgpZ!ZLlf^9J2Fo@dh~=C^PQ9ES3^^*KEVYA8cllAq$YE4 zw2yHZ(b7ruEfR%!Lcbhl^ob5OH%&@P*Qg5%f_`;E5 z9H@xq{g?L9D*YVAK7W(=DcRFK=o_xLqB0ZY-a~7Bl8Dby(cIAL%r7ZPo$mKesIW<# z*gGgPE|`8>;d|J#Ut&Z@m24J6v%!rti3+wc?;z?rhh!2bB8FJfJo=u~eE|Rq*o=aJB-CoePS*yj zGe{SpNakn6=tA`IfxF0+?6hF5QcaRLS1(JNK3>PYBli!nkUER=^PJe=6j(4}xCx63 zP6_eKj?<_3d2?6?+w@vRcuw4}%cMe_je)5l23T>KHfqorxI(z zY)vzhI%}}MoO?$XuXkEqwS*+Al)4~i_UF3-uYStmGc{rq5PZl3t{fwILj$GLYxGfAB}t?)ZuW45JpmE~2H<-ID)unZ*~ z!y%+%p~9a(Hj262_^wCTH!Otm|GxM#zM%-Q3nGFcAqFcPD6ql`bV;@X+cky~_ez5@ zgJ5-_QMSUoONj1Zan=A~!WP=XtlGhyHYD1)f`X#r{L;ew;=%$w>E9RAYxL_!0tWO& zLHhN}=F*~E5}8<$96<&w+PlE{n;jhGBLnd*$S8*j`cbk_QQ?sG!gKa7QXDT`}q;`fO-iVPsJns5c{w zdz-a_t5zVztQF{|{A+BzRVZYu@5(Ey$|`$dSzgJd+ss{Gh4D4OA9yQo2!g;6e| z>zFl8J6qc{POIGgXT!D)O{TL$R>T@voHzr$!!7t&?2?(Gtn2Uui%D(<8W_9O>b@K> zBzPSA<12`AfxS)Ciff`G$TdUy2pcjb$HIDXGb*_PZ-u;vM1zZr_Zt*1LNhRqLo8@ zm2sAwDO38jx3>rN9#+3s2xj~-h8(c7MT#nSc-`Go^4GN{xrcACKmzJW6TUB(x zr+-*lT%fPMe?esBiEYYQwYM?(aA18~?CV2gzRNrpP`Xpx+S{wHb88b-&KEtr$}PE` z!^f$<8fy;n7L`+d`v*1TNBYWlr1+$dh_{bP@<`c57r)^5bkQu!;c{(D|Jtej%}e^` z=JxH?yU;gIj1!Z+68%%e)8xs?GeuFAo|M*66KW0{+_$JB z&Of>%S1G=lEIG?lq+~;~JS8wiN)b{-n^%gQnd^FFuS;%Qa<}kAAX32ff}jQwQWNv{ z$Uy9=R<;XLwefGx8=5%Qb=a#nuPyQD-}TS6g92w`Hbt*KUM^3YS07*T(#q;y%Lco4 z=CtU~58_)+AGW6jE*r%;gM+oT5wF&UzNd((=tP`tjkXL+O2gYavPd$rZ$+et%*7^_?#f+v~OTj6lB+>b&!0Y>G#G^wY?n zZKm@H7od1j;)4Xx$Y(l4nG`%bVqLC zp?>u8kyG@!kCu_vjr;sb%ZI}CvKBHnJe02M!$*}55CcfWJH9^9UstbvC^I1?h>Yq* z&(@j~N*&?#W{X&!7Q*U>>6O9YhuwKwX|h_`2-FYkMi?`}sd)=y*A6fm0j znq49pB7CM+`^j@QIm1+qe=X3`-u1b>U;okG7Jks+jnVPz>xpw@L+`N@=YEx1nVyrA znvv0%cKY*m4e@>X0iz!DesbvE$+=R_?y79l^`C{&!yn+Rod3@|6H?j^kz((RJGM{T zMb<`btnm{kya_+8#UhW@hLm_Z4fM;J)e#nB!h3xs*TW4`Bw%2R6Dte*4%+=hOj4rt zQ0IgO@v*|oJN9}N&ZjrLwm;@|cT|0FW%#ynSGr09gErhdOX3DEC4S>N=-=BnS?i4z zk*g$b1H!a{_1`5-g};J_ca>p)B!lwWpj9rHZ9sq60o%kuj69FXj$xMQQ?eIiugcEL zx={0y)1tG0y*sTA9jkCuKC}rFjAdG@MWtcC zk=+M%ILI2p?qJVi_rZnG{a`eQ#;RhMx)l^TEOvPH&660H!ide{H2M*QJ3uM8Z6Rm7 z7?UvK=^SRA!^ze?i*SPB1=qV5R!PUohhYz9L3Az@l_6ZY9Yzq1K|{&vWQ_y%LdgVh z)&QsHXwR7Dg8D(0(qrD_&fHa9^k8#{FRAXAsS3a36&S{E7c!!w9B|O-IX_)TVVA&7 zOsv@~2xO@!jEF1qE-S>u8N#sQ0nht*0;E^CtN-2P)9*zxG{4|(MCtL{!%}w%+=0Tv zLS#?+9Lq``+)&UQ<0)_}C24#5kgqv!dQU*8A~-l8EP$*WVGZiNq{C=w9$)4k=bW4b z)uJD-b#UqNiHvfFm(px=@%k@!Q%elBKTY z2+t|iYO@76f4Pnew(q3~39oiS#WnfQHrvu9U) znm#Q$%$XGE3z;y+IV|mgR^Ps{WknGx&mc=|PFb>_w>nZsHm~qqY8h-tm|#FeYGG4x zM6fj|YL8)HdYF&g5EoV5Sgi5)4v!5FUF5?FcY4g$OqeYQ`GGorqqj3IdRUt}z&|84 zoExT$P~;aWBC_(5Ea{r|Tw`bomF<_y|a>b-FI()6H--j<|1#Ykgrd(2W* z>D=O_9+h|ZS?OK6?T$%7=}S9~pOH@0SoZdn9AR*Sa$Z)g#;Vm?HCn3|M~F7eA@$wM zGS=Z^6kdSMMGn3!gAE#5sO~0(f`zaQNjV}xVGFS-Js3`$stL$g1(J6NVo9f#ZHS)z(h`=_J(W=;6ah$&bLk z@MHnu@NdFrrN+B?Sp@88GU#M>D-&^mA85mzNeYlGZ-QO{(qW#f|j`$Zp2W-dn=WWZ-iaRgWxzKGkl53E+F&6Akeob+yZYwoR+ zBPL83K_4QuPdxqf6DOZLP1leG&%d?d)91-@y79EM-*ssX@mPaE=p7$iy8J$U?Q2>< zqZk-6(a|r+UkTHjQRjT4_?8a7OM^Qi88OS4V9A7~%}x$%5jP0J1_axP z^k*RH&@NFV!a7l0C%y$hs`b)%X_MGBUljQ{;wJ2@m%8nrs9X4s-(*Ow?m%c0>JTPS z_5#da%3jG{1K=aP8*|a&08+`Uc5X6RCP`}$q&7el2S_fu2C>gmL~*mrC3cATar|Zx zHrT0>>-@bqRW3>QxL%a*knrQu?m-CjncgcCFJep!cDF9C5X6)F+XKj5(ytK|iU%ux!U3alGMH;F1COOZ1LGJseh1y=?=bTW?n#I2~hi7dq zxMh&{KyO-T9fRHYB202-e|CI7i*~j$zMjhTyA%y?i-d}6#}LXKzAOUTtwP9QltBq` z57@TF9*~Q}kYVgRtmam?he)l{xJ@7|eK(bHTX#&39BKrUXSf|f=`o>3YnDpja)P76 z!=lRlcXILJa!&;HwZHIEaZK3;-H7~2>YVKPDKj0TYih?uv_2X-f_Mb*;h!~SPFujO zYBYW~I)clbI{BUrwIRv%^hfb>Wl~a+JW9+A7UJTD8t=;U7P}%oA>&S+<=>)TMbhuy zE6|EjqM^M#M2z9{CR7|bLda*~;xix7{Z~2OqCFTR6}P|o_b)DT6<>@TPJCV~5xB5% zk6%i>@K~KBuYd4qj*R}1^;uNpBGh3c@P3Aawo-KduwF6oOJ~x+{tDsIY11kK5E2So z28KZ>L2P`JbSw}TH2_77=}Z_LVcgk$lQKRQhAFmQ$Up%TbWmG8VV@a3W8-=R=L&}!P)6Blhh3JZo<*$jV@z17> z9{Ko1tzXUY=|Zl)HX)K!hG))0Rr$|KsI6;yVQ}TNdD~AvG(okOQXtm8bT~fb?x^@o z&**QGHVyD{OcKI@}dBMp5C6s|IrRu@bhfaO5d%dCpc2(8y)7+FfEB0S^^I%Vl-awqo? zJ-zLo2T1d=E%Y#1J(NE8B=;qlJ3?*{Q}VJK^w;s}G;)=k66kK%;3Eil1ZkJNKWAVI)$u_6a;&50Z?XKnaiqzB!J3sH{N8J1Uvx&6_2%bve;&j9LO)>qRcZ149BKPjw&WHA`wMH) zx99wO;)UDJ6K)aCU%`2w-?$&g-REz=|MutKJkRdG`TXwlIMVZe_WXap|JUb#?|vNr zo%eU&fAhTieniZylS#mtcplz>EZF7CWHsOjt+Ii#VQh9Ah6j%JgV_UpT(mf0>VU`# z$<*#ZDv1ulFKFJTWwvf66N9@-On8Q140#rG#{-hrE#+bxXTd|+aa`aAs=#yLyGBL^ zvb1o7I}nFvYK)D^%!+Y64g7+@fmMDj6=NSPDcv)xv@M`|K+w>Xl%dLD)d6j#vv-%4 z?4DKLJD|K@AbBw?!h3EX(rVW4X`MsQ%hit;X}J5f;y)GTt_PH!SJg$_7`ggbg+JXE zX7HZVO84qb`&#ehEejJ9`!7sNO8QGp&EvCb2L#j(3mcb~HcmUX&VOLt^y4)(4=t$e z>s>cIlpWQLuJi6&JN*d~r}84c+UonfRHth+G{>U9f8cy)n9=Lb!L%|gMzNy#M~m^$ z@R>`M-t^nB>b;)oQ`KRpOZ3?rcSv7IV^HfF^w)Ugy&zVJbp+T^jTUpN!!4{}6ER_i zUwZQG+t3YREQ6|NMOLRI=L*X0sTCEe_HxdnqNB1B8(qD~Wzq|Abqs{%Axu4MosI~r z5ZK(-(yH4`QJ@3k_tD92akbzZZMnl78GMV#teMgtm z6|NsSA2NwPM+?c5Bnyr&%rosWr`e7kwWXECSy!!$f@Jc)@@=3dB&>qGFkD1fEr0Oa z*f)_;_@?28_&qdfPr`ruZTFSNT34;I#+A9h5#I)R<5%s*OfcPHQs@!xYD)e@_$v7oGO zes<|Ma_yL%=6^5S&OO#+@PkPe)xZarh++w58e_?KWuK(+k4BN7PBnNxlpnjh&2V2X zlJ8O=_@2Q`^~4Er^Cc;dcPHQdowtABAfLMLj+m^?85bHi-6MS=Of(XOTuKIP%i(X_ zOvL*LiFknr^7=m7!4mOmrJFzcITG=5T|z7p@p6QzJ$G`=r89HmCMXK$=fhbEw#eNL zLVXY8xy~(3yKPo13>#t~`jrAEDrPIwX#_=p2&1gq3C)aINQyC&_NxQvwtIKP#gzX% zemT7`vte;0*-Fn_#hO*GSLo>r>sCX|z3YL~n5^{1V1KFCk(Uu6zvjc*0N&d#hku@` z>6j~lLc^vX`}OlgFA|4!>n!|77%$!BF~D?Yhvf_gG942?Q3x%wh{KwIqB-s0z&IL; z@<4T~quZ_yAVcom85dpl)A;2ien#WsNIHZhqCBh5RR$5~`c-851EiM3Y(`G$>G`}X&wr)bwORzI@sH;ybXdbo(;h#yFU)VM8}r zF-bJ&m`Qf9cQf;xJJik{U*g_I>6o=VfDIVHz2Si+Gi~aid4D-Qi5xvj77d;{)esqJ zn0jY@^$6pLs`|OpBK~e1QC+`x@`SzhRYJ2qa>0`)XASW?&kZ3jzcTo|@6cH%pIi{B z4>B(}>ESiMwLva#Xr1rnadLrqfYjJRyY9P>2rZ4><)$};gW}tu`B3azB2b73SRh$o zEfe_}kUfKi#pK8qL3*9ObM`DTzwS!fgy_xtN%E!{yRKfvZ?{nR$tU#qrAt?~llMp! zeUuuv%~8^yX0d?9S;SM(Q%4^Q2c@Ta-i7xB;C*I9X5w9_8TVV*)CwkrmgK!o%xBNi zcV6etZ9@2K6FrM}{rDq$7n$+NC#00Ui<;=8q>8+ccM*?SEE;ka{b%>P*53G7ye|F) z?+Uv0T~0N7l?=ipoQd!P5iNiH4f^i6b0qSOUGyTY!^E5pvTZ0SrVq~{PtK!H4douj zhaJ0gY0nk(aV`$ z18|2^%A~4Gn>SyoN>-2+w6c?XV-u}_7>vJ7uJ}&3P2fwEX&K4{s0*_OHV%9;dJ7zM zP^VxAVMY;@4*GldK7*`6_qpvf`Vg3phQD*kjvX7u+(qV*`Ag@|=Qz^8q~8LvaLN4n zZN&q6juLX$nDyIFoH)_BTsvdqTaBw$Y~H+LRU_Bg(M!#}ymI-LEz4KBoa&l8Hjj1*v&P}b6KI>`D65k78)ATD!Bk`us>W?rV4-M?2{Q4IoFd~$Kx^nn_GJ1h zmnoOKD&+HtWpbXse4U|OymYR50R2Z_h3f&2`5qqP3kzuEe0}YnES4BUfGaDLBG5l0 zWHJK_VdfCd!;tF1fpre2(ru%Wn;eKZmLV^W(oK_W1E)8vTS$6M_7DX5R8q5WUE{QY zw#l6Ujp@US^u(@(_bxoqbv-#MDw!8gU}qO8?z-MRFC*uUQ#*(6@{lFq^+q>42w=wA z91i$394Z)1pi#46>YMD0GuaVGpwsf{3y&Wso=+TKJf*n0_uBnqH%?J$Vk`^kKb|^4 z|FOs%t5r?fGJ4;Eyy{}U?^*ixnKQ(4cB7bG@aW-D^u*rQ4h?5&1`gbA;Jt+4^O%#GD5T?8p;7!Gb?$ob2CZf4iWo~ z4I6gQS6q$s#m${dUq65Tb)id}y1uowGcoY`N4msKZEfrA8Xvu0kn8o3Q_jlr#J%EJ ze0MOcfJn)>70?|Af4){=?3>A(0f@07tdp}SSBz6SjU|%R2opn5BM5RnasQMl&5hIO z68bqkzU&in)qBeEg^Q2(D|pZKS<|#>2d7UX2xlZ^OFyRGUQ>=OT70~J{(Ic9g-T1v-LA^|L z_hSYSX6G&)n#|2F+z?P`O6lgH3A>h!TMkiVWI7zpU^(dk(QM;A;DHk-e+w( zn68$TD7(X*fsfLUXkho$K5+Qvd84@r+v*83|iQIxIsbSQ0SH3jA{h5JPv^zno3cV*;;2 zbi-n-qf++IA)h~9beF~ zX_K#_Y5I)&?wc{aNdeFp#usvKWJzhLJ7y_Bb7FANLEM2^&VsnF->EA`5It3_66W@+ zt>qtooUeU6J4&wl_d3eysZK)t$Id2G9(YigGOc0?ul*ltrKd7o3sJsJ45t9)0~cd} zn@9~pXe*2~iJOzlv^%w*Kp$bBmk)s34 zb%P%qy=>mx82j6-58G;ace1A=fw1uL6k|p;z@pv+;Te zx0$Dh>C-$JK%9plVGZOl2l@l>9p~|MCw=)4Y-RWI0I{iObt%do#R5icM8GnX>_+6U z$Y2BkuY&szCNFd#0}BIV5vlO(GTB}Wj4%Mi0Kc-^qlb#`j=6IS5#8<-7T^{NvtxH4 z9Bxv$or)3>x7F)C|I$mvb<2OCiXi?s#aB4Ub(Qeq#!YzBXksZ(B*3}<_v0o zxIY|Up+0_t1`QZA$j>LlP+Z#Y;UR;wO=jw=i&kr+wD_r`b^HrF9~%-~x1qLfU6h}P zhhNmXy4nqO(IK%s?>a`$lSDd?-07=zJU4RG^LK=Ek-18_;3(LmAR2z_#MxW z8u^?<>r3Yevx8!T@C%IB>Ec-&_A98TgQzEFd8(In$YvpiXs_%9YRh7UThsleFcR@F zHUF{~{Ht@=V-C=sD|yvzdvN%mM(uEsgmMPJr1Q5boV7w2ZgTb|FcWpY6Q-~gy zLv9{q&4nqkQhsT!n{9aW!tO@=Pt=o``>a`9a8e+4 z`7GnUXnk^EaI)U3rv7uQJ}C${__VC)`kA}1n;zf8t#VZrpOfSPN@ciG5w3zK5$XTB z83#nsU!jNyU`Hd6kwNBnG>d}5pj1UD0wR=3$Zzzi)>wsKfJz;%2rw!XN*_Ps-G76Z zmm(a`Qs6;~0DBRBDqNKb1*MTt7u{KXbg7 z$r7njMOxSqRWNrRGaC0CKrpn+i!boEV0iB`eytuL`!2(cJaz2qUG97nr${`lS2t#@qQy3P?@Tv-y8_5xQ< zr|6SXll8&LLHb0p-kzRiSNK_S%W8$%^2!)LFJ-7TI<_(WNfsj?i4 zzrvoC;ot>2nXD%@vqsIrk3Jk<9$OO~T@#zXS{@%($S%sb#DfbtJR03b4u%#scY_#loPAX2P|^;{6a?r&G(>EZG-c;ZM3q!RZ@?u<`D-SS9sJgTeHhm7>7ONm+K5j8uc&L=is>8Vvv6Cd^P2^W8wP6XhB;t+HGa`(422Z13uTME}7du&~itSaZvmB zUsVN`Rd}rt9@s!%os*i%W;>omd>2%VszS<+KopQI2E!J`=CiCtBnxcqj2-px93<#< z@7-i91mr76jX_@MrX^MhAgUh5*G*DAfzTi*DA#gGQEX&kHOx&5RMt0if|yjH z*2e0XnCeDrs2Zfy*-&3;2@O!!(06ubq%WL3e)@t1)5p)o_j~-tnAstljtrpxe@0GL z#VqFim(iDn_SjNEn756$rvHQSmCSG*J>C`I@65^>iHYXSdhRl(NA_Fh$m~p~BH;S} z+4$S_*o!Zok^2~?7Z%JcH0UCEj^iVBhQgTzh0_f_a>oL0iKaVCVgUWLIV8V6$KMokzFkEPf+&y4$+O#x|6387*TetWz@T#nXdrSQDJMWe zLM{ay3`U}pVfu3J1!sA6mDb7=@=-M7^3!~C#x@R&9XLF&)i<`qE6>!=wwaf!axG$S z!|))_e0dt#mPqQP;%MPB>yEg(b^e4N>gMHYAw zNqICnFx1~}L$uY(k=p7Ex_3o%g%g&r6 z_w$_4|GvD`Z>l||ytezc4>XGB>DRS^CB*(lO|37bpSvy>a9=FR)YK5?Do zPTbpRIW#VW=3DeN=RZ7Bf_{U10x=tP;(?JBnQ0oC+=3!`3Va5~)1VMvT9ykX$WG3X zGr;P;;L^)onGi7NHv4iLUBlUA${d`v1o;axaX+2|G=CQRp+i)W&F!1%c8VBzR>yFQ zI23jh^!0AX2=m>z?Y%4l+rei(+vd%Wa_|LJii^F~CnNLTZsjXZNY#And-wO%y`P!j zQC-Sa>K)JKi5EUjO`E(kE9B*Ztk*hxB%<`B2S-cNTvE-`uU;z3_@colgfA@~Q|I?m z2efs-sh}Mi5Eo{2`|Z*Gq`UQ*;B>S3(faOCYP%EtN#;b9c+yg{J3LlBzr_slu%uKCP_HT1Vit69_8Zx}R~}s1Pcbvo^YOED z(|vp;Kk?1KQpfVe{P~)Iw|(iAt)Lsz(8-4ja(($1FOcEoFVL~`7oD(szFo3@e^glb zLuX0&^>MmZ*0G3eH|qIy)U&Rqo)Kc;HaS3mK`yadjwatd-eKXmi2A|PPfiFuNh3un zbv{xlUihkC@~)AiK5Qtz_OWXbcjUFV- zq%Yj3lio_pcw>lI66lpziZi~d_mRdOvAi-uMIYJvst@mZp>Taa3$X_0 zPg}g`sf1YR{UqL#Upl5b?y=qhFJ3&)=$_>BCvN{^wF=2 z^TnRi+r1ZbH`|Nqyni2jXvgRq`|sPtO)0G2NCJ>T6tJ1W``#_Cb88DGY&}B5l8+1;_|V|N4-Fi2Bssdc`oN~9 zrcDQ`i!r`~7Ps8^2R8wI3f?#7DF+EK=IKUhwJErmeEE^sh^O@YQ=zT3g7~J#HP`NV zVNv+}Krv6a&~raeaX<5>z}eHS*nvf`X15}13xRV8lS|PlxR4r;z-^bt2*J+R8niFl z-hNu$yB3-LR!45hvULL^k{e4(WAxWAZjL{&K$j<61Wni9NED5DHe*gA%H~##+(lEE zyGsh5!|-Gk+(X^X1bFR_7YfKoM36NqQJY$N{{Cw!qhIlz<+f<;QZiH zzU#XDZQ;tBt-X5jh$j`UE8o=YS>~6?ZE&@ojXW|tAW!(~*=^gppTFzIHSTr995NJO z4Cp!q@~pHfpvz)n)kuZIYCI4v@S7LBs?@u_;Zw+T@3kYv%TibF*F3#Jd&BW_@%jb2 zy`3Z=`x|ecPfx;xWJ6WVHDjt~5 z3a%tZ7|HV^$B@xNj6hwYMVK^+n=nbRh|Km)c=pnBS=>r_7G3VVODLpoA-Z0%g6_jA zKWmkgMP{Zg&nMx6K(8SU+_jP3wVX_1^avs9MU<%+--(!Qj52mcOW-6naPOO2;O5Md z5Xy{M?k$YHEW#BxAl@70H(}-feQ*IE znh{^(OwKg55n6w=Aw7bfib!t&Mh|jfrhvEmqWltCNDZG)t95Wrl4EK`G3HFMixOvO@*2vrs_4ks?Nl8_K}T&$*v+ts9wjaAb_ zQ87_b*-<1aD=I2FTK?Ke&(WhjPrf!`VE_L8#$#{H80?MjH=y6Z3GE#n$sHa1qwxuG z@r4N_p)esXA)buUB_`?ybkz@FYwn+OM%>ZSF^ATi^PWE4`y6?APREE5Bj#K@?>%FN z_xXuC5|CLmH(>{(YaiB5@SPmOH<}>nI$#B=h9z^VY=x{7^3sF&W&_d_(epJtg0&q^ zJICTD5R?y}8z(nKTJ2Elbx2ax*dPmoP<1LcmdGL0u?P^>mb_i3vLPWb6vB~DBoJ)A<`c^;($RA($pl%bj)Ae%K_fD}c_y_S& z>Ebjwy&#H;7?G4<7!iHvCVSD-ibEb8(R(E5IJ(`Rf57*7Uy+_isOy?x^s0jXJz8B| z2oQm6(Vu=fT%TUNYu?DWdijd!^c909N(?6P`fz#3g6K?9w1~c($7wG;CH*}3LwM69 z;LvL5kLV4p_Mc$%2b(lLF;T$MnsMzqiJ=KEn09@Z|{8a$wyMPy6mGf-Z8lB zo13fBv~M_CjA`kK$7WnMrNE?0w&(|iQPTHVb+59@b&(_KjmSf3DK?KChTuVWdzE)? zDDie?x08XrXupDdhj0&Bw>FaA7->2bFL{on_tua-`36|^Zhd12;x39XXDsL&V?qvt zN9uOY%CY12+)8pdn*aD$0~j}jTGEee;|zt4n0~cILt`f{GsgPPb~XReT6n!*Q}R8U z=rnzlEzmM1NZnp%DT?d0^b=)5teq8_X*A zOBMZ@`uWPUdE3f_LAm*DiA@bPr9(RM^9l>h%{4`X<0dVy>^l7iYl(Y`Ysl(5)K57o zOqpVfPicev678oR?C;xBnOZ>u|5ROxzw{9f;{rl3+!7^k<5?d;PLLg*nm<7@z0aOi z?if9KB|Sio{=v`Z>k;y`j7}M_YSlox@K1g0uXsYJno(pM-#@pwF|netvBFfAOLPBdWtspq51HWSKOtP1mzJLA z8$=uaT&>)q0Z&kXQ&u7Chg!J_KZv}{9?SKuD(Vhg`4d&c$E9Rvr=(_PE_3FF*EH}_ zW6FpbcaE4gXVXF>Vu$` z`QxAU=pX!;i+}PXB)9B$S-cl9B6@s9I(QlE8a?tJggXPoJ)}^{A^-6#S=&LB8hEwb zA|28nlsdN%XX2TcfhA2Ms+I|CYPYzC!#%QEs*}4+2Bd}+w2CYJ>8rhkhr@mP4zR=> z{x)c_I*u1NaD99u$NSu)J=*og7H;SRJTC}G<$PIS>ucO4l*bSUW? z5k5ECJDsO{C+a=v9^FJ@en_GR#komI^TFrj?$~pdm#2coJOy^C3RzzuU_%#1pdZYG zx9|Y~^`t?KKsRAx4-@hcVF(}%mBqyDBgh)jK-zUe*fomK1ei<;!O5nx5~vBx!wZ4c z4vafU(;^ffx6H~X1d;Z4dehEzdwDwZTqOy)f0i*}bWm!S=TyF;RH4$jUU=I>Se&KS z$2TXHcyoEn?&uTPX7=eyD=YGxt>=Q~dKAqjr>BdPcxj8lIe=G%(@!KCkvUNJF>tWf z9X>13US9zS>%eY18SveLyZMo4cx^cE@on5vtq=WRxj!Lul+$O2zt7VjmnCkm&Ptt` zti6(181z%zcl6Wi{NLK7xkvZ_X~57CR-d+LfkeVe$>Q}{ov}EPMD&6J(9b~3n=T{n z_;gVMjsoJskz0v)@Jt*;HkH{8uFy?nOuw@`p){Bni9yW+Au&@RD2xXd9kc`!C)Zeb zDDqGT7;yoP-oygBF`o`}S||bzK8uXG*q7dS_epx!xh67bGmR%Xt2W1yqB9Nji8cG^ zu9xb$FcO@kNi827c(r7qE~vOZIBFUHYQV^#C~m+^)u7fDuIQf@@O%lsLG)h9)s%1# zNyMVmZqsZMrRnrR;wwq-mYXEtCDYD_FVH?;w2(==-XRCSYIG^-xJ!LV%iib7iVqv; zz8z$A@!&ZARTG~|tv)5ql-?Qerapr1|Hz=5PdrE8yZCHk(X z)bz~?k$xo(k7KdG-T85>UgfYXhGT?bRx1`o2z~S4Y8DzP$j}1qQiAu-3Gi1;%VUG1 zf`PkQP3C{A`3>COdA)1aZ6|yGrQ*nubv3=`?SfgaIZa0e+YTr!~fadGqw>#y>FY*`&oaF=Lh{u zt-syE`U>jWTWn`lE zpWc4_Pu^s$*PYX2#eewSMH{@U$n!(Tj(cT%Mp#UwmaAC0afvx6TD-h!H}}~(VW>nW zM6L8_2_z5jk&CW%{%1C5-w*IHf(BWs5+R!?5lU7L7o&}Lrb{l*krcxZX+*? zIYn3oC6Tflr7RlV&`j5mT z|F`;^3dHO?|9krRuWRu4YW)AWX6YBdMX|Sd#Q#Bk)2qMHTDRB^#`0hH-vO`yu9n>m z8{qHu;@_)nWYhmPhy0!6zxSN~MECp?w{Z&Upr>mk3%)o*oyTU+Gr z-)e{E-#B>do?BbI>^CmF{`PHrm|-Ij#C`uarPCh%^}m zPPiF>R&ys?vhypvB0bA*LD!Xq3Z zVRrHIvvd=kLAReiP1?y~(($ZI{Q!Ob@L`hqz#)=*|NZpY*9x)>hOC0@hzJZ37~6hb zHphQcx=2I~t64b{kahgu7S**V!x0|t2xUe8uZsO{M0U?7p!^J{Iu9vO8@g~yRLWFK)560 zKNMldt!8uM#K61!B1$D=M&He1!L_Gee37+hH*QV$IeGV4GrNK_x!&W$+44pF`vs?f zukOJiaN`4Ti*Di%+;$v!{kI*j!Sy)OjVHh@{^j~x$JzCZ-Ek8V;wBhoGiw)z;6x&l zMGm#X9bM~yxmqDaB4>rXv4I@?`>EG=Tv4_Z{ZRbLsgKSBr@_9fncHFiES4J_HG4-4 zhiRqtQJa<)xO^*qs&Sph1L2eJem={k__t@y_|=odJ^y+;d|?CNIMN_@3VDRc#DHzw zsdMUBMuvN>1%|PXz*deQ;Xa`k_C0bSX0~Pjk$ohN#O-@{U(}4K+;I9GeRC%X-~YqC zJAc?m!nir4?!*fx;+Dld@!}JJ0_t_*#S`(%;>OcS#7-Z4gnoORmRwnh}n!-AAn-#lC5=KmEj~J!3OJ_%jz9yS2G-OCSEKYu!J%=B)>}#l?_+J|1d2m6-7H zq)8tqe$8ifJy%ubUh@Bp35x1^p(rP}v~*4h@928DWKL;mZcY)Ot_bl@+`5$%(kJ14 z2QM54r!kMRYGD%w4`Oc4n;IhPK5~h-Dv8R(1K|pQWR(bU5%dBeKmFInJY6gYab~aky}VVC?cC(vt0WaMh5%i zT3KCj1XTuPtasp*U^awX!vc)*DveF+aAK-Am|HAPOC*m;J-Wg7(5czD%DV5i`1;uR z`uN1UxS09_;?h^Q(mtj{&JxWDG_ThqAIy_79VIorR&HEX*Q?YfJU65zC8cFZTT&8@ z-$tIXe7>b~$<;@8FI-KMxvRcg<)+wehwf==y64cg*a%iWUUvA#d&nO>hfKp#rW?v& z@qsHHeXnN;>?ZU_^iHB(>oCJ87p!ON1A6L5ziXHfKF zRq>p{B_5S)doTAY-7;dL-nnFWMz!5pRpqo-$G0*}!WgSYg9Sq*Z1IfZg}HXAZFgXx zT2o<<^6a|UR~s^f5Alq$S0HIAcz2tWy28s7LK$n%FVW|giEm&_k9JG|s%JeS{x{0* zLFB~4m^JZ~>}A*Q)%Gd&xa-ibk3xUEuBcSE|L>9&~xSi&8|$KL8dPh(GH zWngb`znA&;+512YIAc$B@8OJljmNr=gR0o|dx^^>-3B zDlP4f@J+)zLcJqWW|CPcVcsFHZXw~R_KXZiYWS8{L%hP0X3a`Gmf zmsf<9GBh?#6yxHX8;7Rb`){{IM_H`asEbAU>?(CeXi$EUMy*bWG2GMA*4A>5fzhSh zO_xg{^LQhwClp%XILr;R0(1xzJ2W%S$bcI(7N;zXb{NmV9WdN8!oUiA26B}94Hl^T(yxXg^KB|z4&g_elA{tl z_;^E1EdALWB~MY22St^W2VRYd{uB$2#rsCb$D96M9vo8F#<#S4PE|)|2(7$QYrz zb06XQ)`qI;0+lwKCNw;r_+-Z0bDOoHp}n%w;ai`+kEx>REe89ljEAB`-Yi@y*nh{R8j5Y zEJ)NCmo7CDbyA_zr>4>vH{{)6rX^>d?C5y%%+te%*EQ`tyuDAK?T2?ZvGx*raF;Kj z<$QszWkyTch{j+w$#huRW%3jaqO^I3>RUm)ksU+X3J;9ga`?iU_$om7@2>eR`) zc!g1=G@)avR1xBZYj#gh@xHCsdnr7H?Wc-dTe&frE?+f>9y6>(sx^^nyb!vrAWT8N z1EL$@tkMv*P0;9w)egu46WFoP?4xqMR!{m$T@U$kB_ruEe@VQgk-I)BZSX5~HEHBr zZ{N}iMJbbIx6>QaJ?3R5bI!o zLp}uqB4>w(Z$oZKSbp zzAb&t8*i-1u+O1aM~vv;)NW9ml9FG;;@pJB;ny4XXNIKFEwZIcfGrj0kUqT_&3k;A?Vh&_xu!UK#+8YA4y8{gUkanl2G z15pP_xF&!avTg(19XJdyGDBrwcL(5aI%1L$4R8|I#q_C+z+u^>_^0=M>EB<}Cw2e{XhgK@m9=lI|NoeK5Ae8(tAAK?ckiyY_r5D_ zU-h=quDWDPmL=Jei)>@udzC8&_W}l7Ft)M5xYA7MJr2FRl$a7)D8WD|Nel@km=FlW z_72}~?%kDEwh?*B|9Rd|D{1fCd#9aqX6DQ}XU=(95?l&5Io$=$S4mVJOYDTVoa?)H zg=SvY>oI3V%4d$`B6@SzbXNl+RK#DV@2KiZyN{99rG@mxV>f@y=sNg)oACk4E+{`rzVeGr7R2bt{je+r8@ML2uzTnR_tdVlNE z&T*pSqLmD%n-?wH`sxhQLhpyyAM|zRX{m_P)oaVi@Mz_(H{aYP}Sq$Xq|xL=5|?Tx_h9bNz~qTy)mHyN?RF9!G6MD6lhc~AB{1WgZ?orCjBmf zN_%=Da7F3eJ;MdlJ9l4Bnp3WdX8eRRriEmDkGrC0PMqbI32pfXzLIKX-(rv20g7TI zlG-|?)JpSZZTtW;$qm1V%}|pSQMr zZ0DE}BSu#s<@Z(Bju_rmQPgle`pJry%E|S2uN}4GczI%5d`Uc(7qMHda2!)rwV*1N z8*#8iP?~XvFWA~OVf^{y$F$Vtg+h_~)~<=;&Yv`Pz<_W_edpY*b4l~0E1sfdRez#S z%)R3DX{W#&wOK5- z+`Nh?{9#vy5$(}x&C4qcv{(8^D z3QMR7cPCF9J!)`HR_olY^M3c|YVzt+TPOSu*KgY0`9-xg0|(U978Tp=VrsxZF~#AeDNFpZjEWhOxArzr&P*5ETrE=VxWAPvDjp@%l$F{t(X?_)V5szqqjb+(V4 z&@!Tm0m4^b*HIAt;fDiL;0>l>%15>3<#}SS!<8kCwb2T&P7ETE%3}U)`qw>IDa|>J zVmHSOY6=AcLP`KdQ^=yYY7cSTJ)caa*UvjO+-@&UbvfUSKC_h2Wu(|#laUE~fghyL zVLY%t3v-P?(&rovA~Xcc>InRsL_*BL3qAsqnnnSszDvJ5x@oA=7_6%A96Dy~(9Zf= zpVup-#*PtECdJTAM-NVg3zTQ4oUX81@^fPqH8mBnys$75^28Jy7u@yq@5EGFIIeL} zFc1h1Y92Fk+N{prRB0tK(ZAm{pI%3=oA*OgRdq3h8xV5j*H;YglVW%#dg;B==fSVl z00x5epclo0in)jMLF*7;rFI9bqcC6XrS!Y*YwxIU%<_7(8tXgS?`t1g-w3WayRm-g zO~6}M5^W_7wdECE0v(4dOQp{T!UNkzGTI&4HZU9zQ=nOvy1?$3kR(xtFP2C{7v!V8 zZU32;b3fg-ep>+eyhN^)Hb~o(@Hu0&pF!sRLQj(0p6zowHCnC4>GWl{d%aGlR-@56 zo!-kYiB}dC+3-_TR2jb{9xp1k+U?fjqPXOUPVdh42Xk|Rfh@OPhg4P|n3EgyXS?;k za=J@mwGC}84Yjcnwmo2}mNp>;TuMn3+I|#mcfqP?X2yk}>C`;tPf?{fTQjN!2QKd3 zQtyC83eQr zKp-UFAkT~sXezJEEp*syj>3ZK*nsBpOu1YUyChy!SZKG|?1g!?<;??Pie>7M*W+>M zG#b6#f$)eP1)m$Ju(9qIR-` zS3$bu!#Xlq&>6#lMn-?sQ7oK@OhSmQlcN1b&)|wl|Et{G)0;MtzqZ3S8Y3#5!|C;= z$W3Q=`kDnOW6rZDp`(%qZHkYSmldd}bF*mL+sC&pW z;$-A009^nu19~46?D?e`nM_YXu9Rhft{Lp%1pz*SgpWY2=YTMxT{D264f0e5Td+Ua zNBVy%*(Fn%OGVmE1CK!0B^EVLkMk;fQ9%_by`nZn=|};Xxuq7BjJqI(sI%sU)05h> z(*{gx%Fx@LUP(oER$WC8Skr)9Uhl^U5$U`S$bo>0x~%N={mdx3ez1b|@d@%Ne}Qx) zMgXL~1cAh`Qw#A1J|z7zk#+Pa{WVVB&OLoC{WbT_)|nlTc92Pzte}^!fT1HtF3T7r z-N^63K9gyOlM@6E*#<1^xD^%^XzpON$CUL5(!l(}v$;g#8a=Pg*HV6@yv5r-Z_KVA zu3mWF(8w@OHY{hz*hR!}&VThyoxyub$gJLN6Htac}0Zi>G zF_|(Cr_k~w%Z^&O?+$w%JU47%X;#TkhIotEiTXqZfiQfH! z`&2X$ZN4s9wiezdGfWCDZATDSaMy7>$J610Z`2NwPv53*ORnc?62DD+M!!w&Pt>=O zMWmfR$jT!<k2SK%WWi;my;mqkBjkZJVhlM9avo2KIn zPtu#oH0i%rCCChV==3Ujd=33#bs}+(SRFSqv6@)cpf09E(c%1S2)a>?a8B9c6MVoS zY$`yFoqik)HlmC04?w}#jn6;G3X)Iq-#tLD`~2yrKi|N*vw^g)p##WMYv_ZdUGje7 z7H(W(+1qamNk&t%ek_o-@%Lgcg|nAIAqIKa&tWeQ52jH=$fhCk5FABX^)hl|?w+}G z_f$SQX+YNjlGy>Du1y{Ehv5yA9{u2!3opFoqQtwelECc2R>`aM)w{3${To-`L*K9t znoU1=6*vyiA0?j&a)llovqh4H;$qTFA!HZSU)VEn%u(&O2`xl5>fnHihsMtNQ)frh z^zTGGM~Cjc@J3SfNVQ&WtGVpZbM%#)Ds>^#j{ukiJFratG3f%xbUjSxWMT_5oM9to zgy0N21Fp-Hx3INcK9Z?a}+RjCo#4Z#Q#lke+5Id>n%2M{K$SW)-aM zQf*pmPkr2{C*eLRss9{(;b*5cp04TBG5U0$q-31XxAfli_K)wug9>YVDRd(cl`#|u ztF_hV&0wzN5tf!MCxXyLSbEOvWnY+_8(Y#Z-DS6Y`>(?luD6JVm=gacpWj^Wc5pU# z`7P9n+lZ^|aF;*Vr}ICHR5HWmo;WefIh{K^(c^~4BCFejw9Bs6+1(!cb{|muJj&%g z_!hnI*TBMZJc}N4ZaAbvs)wHh)VTjAG{Wi64I;_KeIWUEpOoUiqbtd|py*D*_;m7H zI`jVp^-17MT=bKzf?Yd{2_*y&77sizC5-5Om(6Y}f&&N^6_e!&2jie|;|^D!H@dcA z#`m2jN>&Rc@xY&b1%APrxQU{bBC-gtwo9p79(cJzRO6S>C>>kfT&qSuY~Yr$ViCo6Nz?&f}UI|%k2DCib6tcPKr&ucJS5sR9Q7Fk2 zs%d))Xpe-xi1}Fge63wvRS;2 zh}Y+}naz5Y%4+pG!`c4$c_V!q7)Qf(r9`bVw+yND*&JGfN^Nzxy#pHUZna*Osn$uP zS)pm|WX9`=o{{*~Q>T}jj8?5lt&>VsnOeQxrZXB%YL%Q9t!mDxKD033|f8EU(Rmlp`YHH9C2w-D)zKn*9zi z+gV{x$m6v;l&UOymOJPTWZBdPxyI^TFw&bl+b$kS{!CRg%m$7Nu zX2oe{pf`kVK1-)?+*b+^V?I#W#=jg(PXy;P&v=}+R|HvRlMvfQ2GeR0jOSDJhmYs_ zbvikIbUMFqnVE@8?g&>Dnb!7O`kTp{S`{+2#$gV6279s{cI zlkU?E=j|$}*J?AZdPgAJT5Wy7uJan!{X{JcH>QmL;a`vr%Q!z{g<$m>m9yPSz{iG%h!g=0urd)xlPHFS z*K1+nVG3M)0`Q?CE>Yq@W9Uh3Zdf5K*e}$rJw>wpzED8#NP~?MKE3HP-j;O#&r{rZ z1d(~29&8_1=rpP`ReH7C-Z;SPb~qF&1jV)aDu=X~Rceec&Y*B*hDV+k_h&~OUaM85 z((8*cAd#@xR0_feZP(9E{L`q-)T%+O3aidy3IWzgsO5H0@s}p8T&I=+@dmxw6xL`J zDqg11!n3DFI_$L}x!#d80%o1esJ8h6uCN;;Mx}H(v;5i4JXe-o=kPaUTv_cPCAmrx zap+W9tIg|${MlQk)u}XAyVquP@>+##RHio5Zh|uqgIbX(!{{+ujRvhzrOf0L)d~%s z>8(1wTEp{3jn;^{Ky6?NEP&u_2V{K9e=YqR=EfD!z8}eW1F@P5NjYi7Jjt}3`1A}9 z!3sGYEArIXVB<^!mphnIg~12iW@_XKT!)BK0X>5IA?^&pOW(b#vHz!isOU_=4%hEf zzLx+~WYV{49JLY$KMXeth3T3Xs7UarBu@7tMcdL<2aKRYh>BN+kVe9yA~Zq(7b}g^ zD&=xzrnRlBHaEu?gnw4OHt5I;=jY}`vVv+opSNKcseXCn>ZsfW7gfJ=$zv-JYZI8mAqQzF#6pC-5$GDt5T`$#(>*b+cnOmx5&JX zJILdlKRjyiv-H8s^`L&oq+zu_cfe>@t3bGR5Aykq4waf$YE@)D;hr5lDooAKNoARt zW<(Cak8mO5-p$l#$8LY;)utns102)u1jOcR=@U|I;2r` zjk_XLtFYUOBY7S#);5FNAFA*dLe%Io>Aed2hLndePMRs_W%!edDS4)l;%fRNlMj=x zCN7a|7NbG0MHxcMf{}$3SJ@|-e3*Q7g04=EZfTWvtH^~z>mu}DkMUn;EJPgkT_T^KBGA6PMbdaBHGf*thGg$FD^fUyY!N3+(oC2k zczF{?c53z&$9BMP6Gn6#tFD+4s@WdC2!#lfG5Ju!DHKXTa>k{r7j%yumtRnjJ7LVi z?lmhG&qu1T&=HvuEiW&gH+B8GZC7kqF=u9ZG+Huu`r7r|wyz1-`3!1@Wa{C)ZM@Ex zm022g*H!8C=B$#SPSUea1!0H($AY$=oTZK}cP>X+?AW-UXYs96WU8#^noZYicT&F1ljNjeC(=TwPOR z95|+=INzVG*S&Ir?94P*RyQ~1Wv{tls@LkuQWUo2xZ`SnUR|XloN3XO_{uz9UMBTg z4eHXuieOl+G{&k2mIF_+9z5x=&o6*1dv3-SV2jPKLWo3x8HD>6Q3YvYE1yZ2dD#A3 zT-Cy9TnPhr--*tYK94cO_Ea`;#*3Vh`OI0FtgFm|ZzQ!GmJgl+L+1OwoXDhbuD7A6 zG+MX{p&}HXD*B*Clb;1Y(uqpgc$t*=F`4c5N}JtmW(l*|9!=r2;QTS~t?rBNzNp>0 zVdd-YIi3aU!TZNu9(N@Z4Wu&A)icachM zu{mAYSuUr|g6Ty_Wn~K~&XPpzWviA?pE|2A&S#u~T>;lA%tN-+ol(Hw$ln2(K!yon zOrx;yfsZ_R)(MDzfFWl0e0cD&1cbkU(G-lx1M$mz)#El^N=V7Rg>x?J7`L@+^H&Y| z9#4M5SDU-Gj_bH=&cb~q^v6p#j;rS0$>HC75v;YD%-b{klHo_4h6020D6aO9DI`m! ze(^oFF7xoA^hbV|^xu$Cm|+#0%i09tlgKiOxFiSxWHIx&DXdT;Ip8M7EIUytxr%H% z^%~hGlM9*}tV{W1BVEhUXX#RDDP1a)CFSd~0=kY|BB2r91^+w+^esgu)6$q6iaY3s z+?DhLgV8jfzDWu*<)ZdReh2XN)inrl;A2e@gxY_SQ!;-p%+7w2kFY zVDX|hM&*K7RGes-^=c1Q!yY@y=E)^8Ji*k$&dFQMu-;+r)9@IxiohMhFB_~|Bd|Uf z3S?U;Hq~Ww$vH=)Y2m4`%@W5HTsUI1q~=5vFJwl`P^B;k7na&G^;yq ziU|kLg>u+{5*vila3__9*QU)rv%c6EAe_`5bQ!ZPcCSvKuWM@dYcvK}v`JMwk@@VQ zG8|o2Niq?^T0$fyj#{J&UjgBqdagx+!`{3yn>UqOGb6g(X1h^`ot50BGK^U@W|Y*( zOU!y+l0Umx7Iqm_GMQTPCVAO;RRAD<2h>WLuST zwKeQDs*5X1f(?aUuC&o*2peR)UJ>oqDQ&hPI+c=lV8huY^$#z#{z0L-{-Np;sB@|- z#rUuF4n+ z>ppf`a!baQ81YsC!EBGhsE0AVI>Leq^z2hWy&|nza1H|ak1}EnRLF!W8g$9BA($?1 z#t2M-<;)_Lr9fo@I}8e910YE`GT|BgAb_g)SRAx1&?u5TqQXDpFlu!Yd)~Bsr+-tE zXI#5~_}`bwH1!VKsD;(F+1}#HEx8qbr~1x^Bf(Pscf%_`nwHRIx#T=4@ao*d-zv#A z=0$>%j$+%pbB0t6)B1)ktF&etXE#+fg~sIO7p(~wTAK=Ux93+T_#x_DBWC8iBNqB> z!6+H|S`vXVhn_yK<@K30(=Q-uqt{vdw@Lmr=NCIQ<#(1p1^4c}sq0d5# zJUX&0OZ!>Hq5*Z0^MeX9Re$KR!=t!7jnxRlr^w*^LXAo-3r(IsZ=Kw;^vbpKhE93? z@--(W%zk!=v#~hKEGeq2*fTu`@yj6vKb*0jk3$}AfyS53dr?G@f|)*>_$rtav;c!A z<_H0d5De)!Q=FJW#KaRTAW1S9JP9m&;Dwegfehjd2dNL6B*gtEGyjQ}MWi=^HzYB$ ztF&aG`E4j}HOkZPZBcLBs=nw1S9eR|_QZ2KauqpN!zE6URi!doJd3=c(dgHR{kIF2T7I#}kr6 zB!^pM%}$Ku{#BUR&&@jhyp%&z5tKsCwj^>yv(U>jxg)LIJ=s?7L%T|;kjvKj%#}MU z&AxRqxk5Sm*y6><7Lz$I(7WheFOUL<&E=raEwIj-*2pxWi+!yu1jfVB|PM7K8JtzRMI_6GYk(7ZwwV zu~(%xW-2ubx%_SOz>-pzIYwms>EB(d-nvnJ?E^X(E}wTx;#s{KdaW8?X_iJui)NAE z%Mw%75NS!6G!0~;RcjR3^2jqa3PwbFa*UKKl!?=z9A3uN*xm71tL>{yUa40n?3!JB zHM`zEN)+6hhZA!W8^2u7)vJ|NWOGcGIJtzA8FYySpb))A1sF?trBbUw6c8=i$Wkf{ z5cNPV@eI?&4I`_e`y3B%g-wv4=_Aq*v4ofa3=GxYL2gqN^74(11 z4qH0Ah=jvT8tH}9ae!+h%~K>x=-<2CnfgqbOr})mHC~NTuEaI&xVz}zmq^Iqt>;UY zJYw(R`|5j`K>H(0Bp?a!acjuk=w~kG`V7MQA%~pL%K9o`IN8}0M<6iDl1s@6G}ZiJ zVd015ORkU_WLmXB7uG>y#sqs1h#_H6Yq{ULeXJc*J{H>Q^ME?pewxuIOwM~!tR1lV zJSu&SS2E2WlPX~1H!{wi%|}qkh*ZVqBCVC#5b{@)T;O9ek&dN|p z-DDU7k>8KcXQUIcZEa*2K6d2ZMqfnO;cW=iy$qi?t}di6q7BD>{0crr{|G-hLO*Ri z6T3thq~f|Ob{9S`duDl~iR)oKldA#aJ*6uZm{goPElheIzpw3LrOS<=^(vdO`+@^6 zc$$5ZBBj*v&?^gq3WGtbHDk~^-HOs-8y>dse?-2h%V2TY{!IUI^n_V$b6C~pEWOdW z|MidQ)>xjqZg{pf52k-g;y)Bn!Z^xfQ0ud9+xzg#3}xucpTXcS?#NbWGpOU@BqrbvBagi2HZ@uCx=;zc{ zkJlyFc})LSmRf8qINi`Hx_APS2vqMp3z^^aBj=ULWj z!mG6!OOF11`uxi`8SSM`17`?S+l?xhd-7BC)Fvkv&eo{20tQ#1L}RyGvhREA38JcV zJ4?M0t)tBO+@mD(JvHPMh=ax73?IWPXwn1dH+Cqg5A*$!`be-ELAeg?y&)=ji7sOi zrpPw3fxbX?(S?cQbP>6Vb01-eBkcN!fcjU`VdR=&V4 zUm#BjFz>BDgY?vfSfCG+FA<}6FSU>_$Q;Q7baCQC&QEr70nC@FJQ8TMGZ3sZz)o?e zTF34C!yn$^$`daiOT5BGk8u}#MZQjK=azoWLA7{hUeuW0OKt?2Mfa20>2-4fvYn(= zkNKknd#ZN@n4!(RHA}Ei(!Iy%UNYyHbkNtQ@05)Gn(RcK|G@iy#``+(PG~O=lvxnqgbIqQq&m5dKb?UTd>5b1!O$b-~Kj|8}7N0fb zQnHb3oI(FYKPFz1O|l=G@z`T@?c>uQC)tlbPA+{+7&k*8Uwi`cMQ{wv^RzJGBw1<^ z&Wynp_BbgRGj2P{WY-BOV{@1|Os~+_ZEr?aFsEid1^**+eJt!?@4^}?b z`v6VHJlpZ(Uj^CdMkK<*(LPWIbGwNT<7C8hfQ-$HGI9~D1l@z5PJ!lx z6Q9CcJ()y4Ia!=oy6{#{CbsnU6o=Be-)I$2aSEf;)1I5#=0WHr1W)p`<>t0~vat7l zN}<)6w8pS23qPJ2%1Nsm)?p+mV%7(Tdkjqk=r8fV@U+@!{oc z=v`S>4=cqLHfl}WZi7W{&dc&K)lp8)gq$2Ny9~g#$YRhd-{zENk9TBI;YcrH%NdN> z-jRhxBfWl|Lh`m!Z?I@=IFs5pYgV3F&$7NHQRw_4vYimJf2hJSLk_TurOcZZYqfTwQ8d>JfpI@q%7=pTdnqBxU8hQuCOeuG|J35 zr6mn!mrtX2C?hz+XblHr#Y>B0!LZeAwnUT;y#}|N^Q(OtloBZ`tE?`LhJ$vC1;s>* zt1HXOB1)rLlUr8Yi1)R6yD}#SrFg50sw+#xVyt1MGt-=77S6W~!QAu&{|#G@`d9$> zMIy7SPa?_SOXA{eMEA|pi&=q->rM7zGU+WNg|O6KUZ_dPB$7uu`qQW-MGox1FZ0MD zAiYl+shZLny0=Oe8$ry(wottlp`Nr%5~<5#*Bg~kff$uWgjPc25=wcd(Q0#e%t)ye&`p~m@^&D=Tc#W@>YO&G)hWKH zG+>kYL#9UOw78t9!i{=67*vN*$%<04R7_|E5(cHw;&hwsVk?XWyl5|mDxCgXr#59m zjff+(LNie@HZ}^D5*x*|IILzEx*HXEq(XzOE|xMv>8LcQbqJNKHrg!cmp!P!kI`s1 zyPXzvTq*W1#OVwb&+RdCJUY+)|lMPS}z- z%qlTublE*wc9+qLDsju~a64lrgGQx-`oW1u*idSf^gY;@Ku4)Ep(?irRT-ft$W)kE z%IPqh)T}PE11FFjP80N}X^k?$+Qy_Yl8{1cv$C3Pw1r`zFS%}}D#X^j%rsZPw3kMrL#A2+5H=aOPpQY=q$ z{_NbgKBXX=26frCb?c|iEr~|UXU|NxU#G8^|Z6q(z*hV@v@z)n$D~06+Zra0b%K+51&c3GGVt-^09H^?O<)0%noGKaz>~B#kSu;N)BIlb>H6 zU4aFzz-+Z5kVbUzU66Lv-^Czx7p>(ss;;uE&}kP_IJ3l3T=)z~NitIH zQJ_7g=@{w%92S__pTyU!^!Amfw|vphV3K_JziB++m)?GpAVV?v;4rET=x2kCncK1jk3l2ddrg0v4N zh)O{oAqE65Jd@3ZyPYy z3N!5dNBl#gl|2YH5+V^$t;vSESbqtAef&ps{()WeO}cy60Xm<2cVO2QAU5^h%%N_KX%JAexx(tO^qDPz-a&>KFu!dV-1)Ev3m_c zizW%-f``eEiCadzWZ_P_OZZ1Wrn`5tiD9QSgS<`izMx-xj=wKx9{Ix;#PY@GV*C#- zV>9F%8&D=MoD_fq-gtxu*bFuUu|a4?upvgs@x9&M$GW@e<8)#-Ied)V+)XD4|Bm5? zV(II_KwF5$|#hiS`T@)$%FOW4JuGst6uX$!X`v4cE1 zm=2nOI;yZ9-3h*(Nj*Sz8VGq+_+!Fe?wi5nSM+I4o%ohC(D8!@)A6Js@g1k4Pm^Eq zUnd^Hp^Adx!)O7S0dMhx=|S?=u;Jt_dJxUcNbMzi=}X+}VkQHMeIdk63K`(*DrEBU zOrv9vm<*t|XgoCYN4+1G)5OOcj93ZGg*Ez=fS0VoMKe6&4_gbSC*8 zK`?hw#mt#hL3Yyxc$- zhSq;aSIwG5SN)6DlV|=#F6Y0-nqs7#OPA12e5=TJ^eghflBMJU`qf!w_Jx-O@zlCj zvjt`~y?ft2diQGj2pPPZbfL_vx6n;@-a$8Qp;wdcEo9{#caoLND5a;3pfLikB4UZA z2m}u%5epKVL^}7Mu*!ail+%~rp-(sbbMBmP8|nYNLti1$cSvI+j0)-PC+MNU^dA>2 zqyHF851pX5lk-lH>4S-G*#$&5m`p#x>PpFXije>Tn`{!$aLC3(RK?3f7&s<5J8gq# zI3z-NOhOgDP@Ih{Nt}DNd*6(G#5I(DLYC%1QoM^UC5!Xuc6RI2y)*W)$Mn+<;-cI0 z$Wpq5Tt&C#k;U|{9mKJB2HZ?MNe7XAMWBf4(e$@>F1mBY9gFUw&y6NkbaoNhOIyg} zbXF0_ICIf`bL=DWqWA$f#*FWnZk>GdUwHM+1X4H z%Kf1!C3n%eEs9yyfx1|c+0^JVN;RF8gLq!4xM-XTM&J`JWICKdm7N-?(bZ@&7scuV zwbM0rt1cy<8I&n^S~SyZ1GRCn1YSL?vKfYHN>+kIIsQT=4Aq(|hpBn7gm`VBeyY;$ zluNEwZ&=>aDGF>lTUM@9%d|FG^QyK;KyEJ&6j<$p%YxMilZc+z1j`27tp$N{J6zef zt!v11C}g_zE7NkX*GVKAOJ>8mGqRhlW|O?SPxeb{WDb=CW0>o~nJ42Bq*L5=lG{$P zyaKb$!l#PR2Z|UjJmj1>g{43`N|OepzZ9d$o{rF@?QII%j8+7EN^EEAretzC(^?Jh z7t`3_r4X%DDE~7&$BG3?5%3J%t%&Av7b%pgUMv^KdaykFY;~9cn@T}BHuV3N0!YRI zjM)VkvnA_|-#qczVxFvD z%_?DehIWg2FkYk?R{?&@0Y5EH(%hf%BA^K1F|c7MF+i9^%ZzhPYd;02Gp8&@|7WKPW1w#v5{<3TJCF4Cly>3Lq zNQ2TAnPxOaYlh@iHR(H3i0IHa))cnZmYI#y!&arft6{ia=krV`*6WMLXZdyd;SD2< zDqDEE(Og#Bo?qFd??~diQ{Pxy&{h*Q8K*^TO2f#85jwr!Gogq+URUjMDl$teD&$hN zDXvtyBMnv`xod#e))0296qP0zYgNQb6q!y}wdBp|?PVjHo%#9B<`HG>^oYtUAvqPT z1(B+P_AFVrWY(5krFqmEkqqLqr%YHg%B+lBF}pY{^R^aLMGD%=bBM&NQe`7ww7no) zRoLo1Ghg|<^n6+EEMIE{@?~!@N{Qbev0D&7-XeA6RF7_NA6=c}kXjH)-eQmV;lY*7 zx6{EF-@@OGy%o~~1E=i6D1m+Y%(oG7K@*>d)2BcI!kcMn;0qt2oD_xhh~H8I$e$F) ziDV+q=aNB}q`9ep&x&3L7TuM;XmM$2er^b6sD>P0G_TTW&(F$%=S52}H@~o=GB4`O z*Qt1^rZ=67r?!CKYqrJn%d=U^63P+Y#W8a}J!cMN!ZN9#NI) zi^2{IZ}S%wm)F#l#v=J*6QyXe z-%H_UAv`Z0&Uh;0SjM;5@BKo^rVB_4QHmP_JtnITiHvfJFQ0WOc#0g#KDBPx_sIwjJ{#pa+FXLOl67#sxj2F=BjrIN&SnKr8^t6-YV?+pfep4%am zv)bAkq9sjI3Cm#jc_QLt1xKG-;j{OY69{_!wrK?@L`#B3P9YQ?h*WZAxO?xwuLt3BQjD@yyYXK2q4o=v!7eBB~r29}n#zdqH67lQpDY zqhO&|jJoCGSV=a6`QjGt3X$KT$4qL(LG9uwNa{Mp(ZdEoa&Vw6!bboHEV2QGv~;o- zHlW1&$s>4iVHJ%CphUA%;FJsS6d}xRr$7`J%aryEcCoO&tAUBtk%Dnguf>j?y?(%Q zrgvcXlq*)9sI$Jyactg1`Q^?Ep`k=8l1f#v0@+fv;dcDtGm{S-k%L(iC{y-?Fs4SS{%`zLq zk%Ih!+;ioE&K0@5xw!=e`ME)3Z!W)HPu(ib5seJ?p@2RtLe**w76ye(x!quzYtlk@ zlGQ#*%i|qVfGkt$jelt0cWe=oK0TucRT9VY?DmsA8E4o?%?7 zkZF!+m5=ze(6E^;R)-5`l$~a+iF~0`{l=%Uq}{b>P@C}zB@d06&@8bCUcqbL?#Cw& z4a&IVhD=7P3U<^_p;W6hnTF$>?3IuS3OTEp9pf=up^$^T&&kPN3>mZ1Z)X`pFUq)& z4RRgOB^IGpYH(Uf*psBrzv|S#a86OQqPC_YT9gA%lR~PdR!Ci*?T=M< zw2kT<+Fnxyr*%T=CNV)4^rukrelWaD9S@uBO;#fJe$dCz_?6A_IL zX50$j+)rmPL9_vr?Ek;^dpcsk3c@yYCT8d>E^P#U;2~#YtD7lx(2gaeWg2GwEiP7U ziIqsh|3~}2?WounJw(QuDitbsxWVS7UG(;z{a+)!T`iSYRFq~auPDgc|>kw-bv*VI5CYF#Bby4A^0Al5~5I{xyPjya3y7h69*fSVn27H_?x z=Q;g6^_*C*NIl1xfd2`84f^1Lf1QwUHm?*>2w-t(2*Di{4#K0YxC|J0xDt&QvRE|+ z9!D>jx3M^nUWM?78*mM7tAG@n$WFw*CUSc6MC=4T*-cM=75j>wB=QrnuZV2_e)dQ6 z58z_SK3wJP-`~9-jzeF*o!+;9&i>nO+c#%Fz4vw|dB2^E*gt3AZMWez8Gd`@x6^++ z9lvv?Ph+mrr_G*zbox>JVqBAq3p1oV(}6KOB;gJRS|YrA;f~NKX>f;0rwI3W59XlX zLhsOrb>oixJ*zhCY;G2JY&WO9O zpsyYvmYd4wRE)TL>%Ie5+&u!9HxkQU`Z})X%)}d{VjunD#)>)75%*lNe;@AR@<#f_ z0TRPCx`Mv!gniNq$fR%vQ8<2;;+f?(4Er+$LjoHbflDnRD3%Zt3$ueE<*-1U?M0SR z*qTO!(hvfI%^^L7*$j+3XKa3yxn^ezg@Ji{PrbxXb~xZ?zqmBlsC)NaoiVqxI6s#; z^3BOFF3!)l+a&Lr40$CbT~oVCOR>XzS88+Q<&~7?<}xp*xp`Ca49KT778I3^EM+%J ziVE@^HYsxDA_Ly+Dk;fBK8ej%zzQ#tE{GLX6c@Q%E|u2;%I1e~@fPV+0Lj}E|30lx1oJ5)+_*qKE8Bq{;e8X=9zc^XfyCV=5T#?lWACHfC zEinBeNWr3~kSbViCJ}*ib3I5A%vMC~Nv;^Sc-XMTWGy}1K_(>5r@!hT zsd3e}JL`N_@>tB`7j9Rx+ttEtzeQ58X6)ECV-rQ>($RDc*G?`Tjf1s?bj@gTX+lHS zjV2e9qFQ^X*)wub)&Os5sdqruppl;Dke!;(d7GH4bT-yVoo%U2$6935Rh@l{je&E) zKOdgIx>z*Lj2`&g6dZo#_$8bGF9E~?(J~z1xDTM*_nv6R(f2`6Kv>^kVh}Q^wCQbl_YmGeMd4>_#*4*JEKW%Vv_JBX7K_1xmlH(4TJ*&>km{N#lI-=qyBVgovGt|*$(2(M!2!~gaI%sGHWJ_%KX*zCXq znl*&C@Qf7MY=r305s03mWn%PpVv`8$25w|Sw<%Z-va>)49TSJ>3jVQBh=)i55>UP| zi8&5s)e%z^9`)q>6AoukLAR2N6akmxZ6LZr-UsAVu0* zC}k;L<8kLG=~QyPGU7>$76!@b>Fgf4o=(L*z?bQq1shYwy)zqAbX3AL3k;;fY#{nz zN?MwSM5$d;G$JtxuK-2>nTbsm4EDmrAv%LfTA%YNF%6=W!R5XvM3hJ)d0xJSWEi>P z!dlFkN-MpI+-p@0%F4_0HpzVSJTl$EVP36`R4DYPT6k|>M}D@n<&<7gTv+3F6>|>w zmmKStHDN!O-K?^bd+AM9MX}3W9lalfVd5 z$YS;p4_!`Yj1*nbO| zlkp?TAhU0#?;borkKN4ew%X`%+WiO_dMBHZ?;%4Uq4VjVtvI1|oGvCiiTl@N@csAG zM^2C6$Wx@@C|P=x@8R|LH5RsYi#WJ2~LOb(@u@ikK-H0 zoqW2BFFN@~7ys6blLbP%F_wV5%HBL7c3!0dhB?S1{qE$`$R^}5%t&TRuSX%)g8&$? z^JO{OStWl=RdUJ6b_Sc?I+E}6J_BMeq-wa352iBAKnBF!{P7fGg1(71i7Oj?m}>Wt zQc_A^gJiLcl+f1`Q^Yjx2=}?qNEf}E-c7n-7IqK4llz>Erg!4XFWzVL&OJoUk`Xd9 z%Eev^_6;NU$;>~%>WV#^k7w7Vp23sDA^K|aAt7&2vozlOOd3lZOg+muD9It8f~S+A z5TC&ml|;#>^r79$+PC4sLfGrT0tJsUx{-WPe9wg91ExSXX=AT}tK0=co(8}PWl5F^ z?`V2U>su(Cm8^tgbx4|1`IEJvQE8RoxDzUEyCPL7S(vOGZRAMSj|2G~ zve)3nz6Rs=Tx$9JJ(|Zn4_)ippbkwXyP|JSK2psoFXrCA75w zZT%zK8WK(jrL`~BJb}CDNY&M5NrNyyWacL-ogeAzjcj?F*>2Le*62`~$j60#T%wf@lLg7%4 z*!m}XB$Y^4(=GQp>}4hO)mK#4my{rWhpQM0m8~`P#btKKJ#@>RC%#$oz>t>aSUJLA zc`C|VnmRk1TFNUR9Lg$>HMa~ovIyZe5ij*e$~PeX6tjs-9%M~JYb@FqSZsYX@(q7@ zZ}tsM4Rs~OF6=N$iyCTMT593B2MJekNnJzJO*7x)KHo~GJmYp&mbWx^4jm}A!ySt? zi>a8~{S2Liala%Z5B?Xf!`d+yEf7Q`Y_tgycLX~V*JB=OQHo+Q3qwxNmJ@a^ReV<% zsHsJmF*+auF{j+h@-e{+Tc4BnFrFnf3a16f=?#&AGfcUoIv2%q=;vD}&(Rf@R?*`R z-}=B86WRu8$Gu)Za7a}!Z1WjCR?VDI^ClKH2O}-b1x4Ce$DmNIDQt3=RY!~$kLj+K z&Mqlv$n_a@u4;ePw)SC7BkCu;cTsi6^t?;Q9o%=Al9^Xt+f;H#v@==}3VUp3ccEj* zvI#>%RbAQM`hn+l)*0Zbt-%p)d#_rvvZ1c7dfi3W?!9%|#PhBR z;%7+9`15DcYIuOw_LvC(Ctq=cJr;5ZD|?|^r3H`(tk(;G6VQ{U=MLHZN4yEof+d&|B4GQT29~C zbophQWrj~_JuRa(pL{`%e*6)6?#sS;neAqY&x!;8K(`O=)pKxfP_+57fz6xf8!Kw6 zm&puY(%O$c{>xv!_~g%jA+M5Wgu1t3?VgOa8?G0Lk9l*FPNx564*wwgiQ*a9jnjC9 z1I=dXTJb#vhZo6RQ|2RdkkHP@`m}Qd-g_s#%#lJnA2~-mxwX_Jc^~h} zAv?3dq|=0d(mzb5bn+jr`Dz|<@~;r*JXo`$|6CE?-6p;Z*_jE(pIFbtccqViHIIIJ zGD<%cUM6H9eL%Vk?*>sWA~3T6w&8qI0mUS)uoJ^Q816wplZA7^2ZygA>;-+i}4)Uw^QB$Ji@>IJDj2+J5kdE5`zM%TdSk zr~}ci_+-IsQ1?{DHf&IJ_Eg5UgJgN#`pywErsw5!uCIIQ_cIKlLQa zKe*lH7(Dn8D%jE9_QBWJR8{X-cI}A|+S@V5bpQBg{%-zZ%)zj~M-XaXie;A?Vd{;O z)es{Z0{q?dBAlT9oG$+jX}a}J(sbmso!j@)H-CBkCGHjaA{|POkoYr*E&nv#pSb!3 z?&IR4`3Z#GOfR2#$mm->PDKmunB^AXpesB7N^oG>cXn-*tRD8%twRn>oV&8Lc5o<< zKFB>l_nlQW{i^%&&Q1GV-hVe042XxCL-gIFZ!kQkw}ZvA@6(RZ8I8d4ZPAG|J8x@Y z`fN-R;Yd9>N4s8o{K$YUqsMet3~U}W{Gz4fMvWX*y>iOvD_dTCca}{%{;U=bSi8pL zcqim2&Mhi@q9R%v^OpR@WxHm_3wc-05M@vI}OHSS2f?4GE)knp|*;mb6_X&a%pL4365-+mc0Dgix1uU!jWCo(>d9!2?dkS zYg>MH)1GZ>Y;40HS4Y45)cZU#*@r?2@tMovC?}-aN9d#Tv2;Sqj;Qjj?nbhR=b+GGmYPb!N&To{q=xG6`rETYipa z$6x;ZrH5}hdgQ9A=@Ou>XwsO$%MHM2Ss4&}R(lf{6V>sLPCmMC>)k$5Gs~X)w%x>C z);e%tYwLgkec^1!JkCxT_rYWOoR^|FG)Z0RB#)_8u)ro~HQRaLPii#PG_R>c-A z+IacFYcJopXc4=~Qr8|7Qm58Rc2w=IKJ~$7{Id5OX zZPRBs?E{Tdrr!FCA+llf=E*nSP&Br-wq|l|tN?=adWmtq7z$k)ECdQ-ah2Z~!T;|NFtzNL;rRKq{ z9d$c9w+wC_*tC4@#_r0h3m4Wj59(?k+1hy9jpr=Jq%LCH7$b~c?}8ZsvSTu<4FCqpkW zFg~XOBqTCA0;&8r)5*tN4Q=;k`?8PBoqO!JP1}YHY8=$LX4kGYHB~jW7ynXlOy5l3 zhoRWQ1&=-b2dCq3uF?V4R62+7!fLDPp0m^b7(KL;Hm$RGd>aS)j-g5N%2^PL<$ zY@8VoSOo0Ie?cbn+o{!67fhX2T~$^6RD4lvXU7m#USng&O_L@)clgn1(^steU3@X! z{7V6rxME2AB^&k(8M5J$_95itZckQs_j`lFp#=*cfB3`eug4Kf&#kxFNk)IrOQ)+K z^M}^|JOsKT0rFq1MK^H2rmOan#fei-|I&_68FXsDG(axvuVd&5&K>uxwfX2d6FJ@YI$_-q)GGUO`0^f;Fkg^QBYTZtggPketvg--5}@o**k8zWykF8PS>zu z7u@~mqjz6$9dS;WGiSoYIdjPC{X#N*o~?yH(0M;cB_z2*#lhEzf;(YVG9a!TOPZ44 zW%CeYd;W{XJ@J?LVsThC4CuUR;-u$pdVJcnl`CG3S5_XMUWK3OQ>&`0s|Nm3AfD2) zQ8oYl=1{160UK4<(cjZgZ@*2g=8PD87q<@?(ta^UpX8c;A$TS&Rzki#_2-}{Pt8({ z87v}Ltr!5k9Ofmkh4PB{f6Ep+hvY;$hjw;E!tW4MTWf0@{rk>VI(7Y~%a>h5_kQt9 zVfMS#tG@s4U;p~fKeRm+;Ui z&i)q+Zpyt=rx*v?oinE2*0ArqF+)3=r_|NB+%2K)JG!_#sHVSWd!Jvl$Tn`^z_tSu zC+0*D63tm#JGrK|c5KlNH%{KXnfLsMeJK^mjKY7-askbz?wsmz4YOYy$VO3@K#eTy|b#_YX`t51@K8u6oD<2eO zfb5fLfT05p7=r!tevRPo+G!*CbSF&Y_V&|U>8}|NmrxyKJly5D>aSV7wB&;|4O%1+ zkGQ1=Tb~j{B~kLT94h&1E%+_Qc6APF9x!BE({GQ>oqGganU_2Wvx=XFF<+Os4Y1v{ zX6-H*79Vyv|M2u<3l<`_5D9JWpIb~@FZiBU{DPX|5Wr(GUQf-9^JW@Tu%Gl z4m55)^?`KOpnl0Dji1#B5)7srO74ZRdP36`Vd2QEUQtLOh={ycNUiZSIm^%RB@*x% zBI{9`H+T6{Wag7KHFLp((5D`nlk=aj9^A`y_1*KqUDO=|cj3BDWGRLXbM-J9pMbHL z2nK`O(jTmQ`Ohra_zi`QG&$cG^o(=_{($l6A}bM&Fcng|vaf%NBA?e)R>ogmv2xn9 z$8Q1|-Pk#xK_sKaapDtLgQ)_W00Y^drm1`EYV~cm6DKLYj*-!V?og=t{rQZHX8*5v zfL=aI1CN}dj$6QMa`4m>@TP3!co7#Ul3enbbiRLNN(18y3&)KgH?FYo3;N-Zj*cP3 zzi;U2VdR>tmfd*MrhYmmeLJ~Sf4}OCrMmdK)3ezU8QvZG*(EZAK)bu2zgIesS)4FU z6eP&R$KONS;0$!g>A{jm=x>OZyM)@w;;+eKy#MEn#nR8DpE28#|Btor0F0ve{=b>s zy-R_#3rQe>AVQUU>`gNTX!m&;h z{IFrh-x!45Ecp3OU}Q)Tu15yG;~x@)JuN{vsm;sVk4-@SGB;U43I32(l&y_$kSu1? zXuqylW5Wf-_2rQ1eQ<#nk>Q2IiB)jwdZhqVfn>S-CGbxq0>-JEbn>}#?7J~z_GM-Y zcxfr$e>ea36nRX83 zyBD+17A#<&Ev9|sZI0J{d@EEr_~xXj)l=Q4I9u>Fu{9$7usj$lj*zCG5hnXCVxz^& z72&ju_~PJYB+X$h`FwyYJn}|y_}}TT@>&fZ(7qZx(S2HZM|utU)3FZAQ=lH~BNZuK zEKifCRmpvbE(kW~uk2?;H_3&V!52R8zmfia;Sm-~0=>e;C^t;7SR%sx{6W}v$?%I56|nv_IElP{E!6>MUe?WC}7gQ~R+l%s}BxvwZw zdVc$p;mW73}#GH|3Lb@QqU=pl2W9QGu`h6geUlb@$5yn48^VdBt z*LfWi@qgTs*>RS7+(JTJX>-MyVX|hVk$QsJ3b$x91ta+oT^hKEuKJ+gW3o3LBYVG2 z|9E_z{4TwB+`{q6$jJ0E+oj-CWOf%1kZZ(eu`3yS)J#_7;fBzV+Q=?7VP;!q>PIa@ z$^L$<{ZxhF^Ba!SH5*vSaY*j14P0^?7?vqeoeM4uYz$zQuUf>iIun#2%v7-qmCyGh z|ILukQwzr@KC7VGK-V0{G;tjTp{j>Tx)SMq&{l`HW#qY22s7izdaKdE5!N%^T_hNQ zG?BF*nkZWm&zI5*3W?El59t6BOIXOzW+kM3EAZ@uI&db^^NDt>w!2O^ zJCY71&4wyiH#l$-5>|OmN)cbfE*mAwh#Dw&T?eQ%L4{@#7S+7lkdldGM-D9N78@ID z>DhT$$)vF(9_iU68hORnvl3xk+x&h>*nTmf@Az?ZADuYzkv_@%SIhPr$O&>{1BBzL zn@aM~$9w>Ppsx39gi~lNx;Tt%0guMB~!ASf7nKTOCLm}bQ}VU8DlW@YBe z%}%c|+sF^w$e{JFy|$ih+Qu5t$jp_QQBE(~@3#G4SDqZ51RW|XJ4Ax;ZG`nQOT<2UG|=d5X#^TO3s)``riL?(SKRwT3b6y(3O zBF?afHGxL^kZnzo9;-L|f#V%XhJg3Y@C)3}!#8l&Fu5$53?^hm3>IfE*|KE`J0xF0 z3V!+OzJ2(hJMJ7RDLHhfYxm=%!SUk?eQPT}Qu=hQx3KcKEvM0HuzKQzG6C^O;m!*= z&DP9`)^E6$im}FQR+e5#X6q`2_xBj$R&LHO*i+erH6+{cDA0!#k!>Ic=aZ^@qd$-4 z>~hb^*K{N5V$c?g2jjOg!Nxm#WrmL5;kAoD&V9OB%iM0}dhB*+cw~XuRG*cZqGRJ? z;;lG?F(AOV5t-c(8-IQ36MwSs`3CJUvMmaSxB8pSamfkEN%4`a zw<(<4pSdAB9c=B_wr&1PTt9rAG8l4vNr%8|!dUOf_$0_L&Wy#JSlLOog+aDH4M}6c&(apFgJ6fl zb-U0%_CcS^W58(p(O3z|#it2P5u$Qv5pYf~j z^9t1iXza^=ZHMam*2gh;?ITD_!Pj25>`5`rab;o>$B?F%g={A+g z$|_&yHNVevkFqv^sC~*av*-Kx1~dqdBt%&gjAIEkX#WVtrVZu(d=UwkUJ$O~i2`25 z$juXfd>RAWM??dkgomi`$G5R6w#?h1{rjS34H^cRqbzaBjWd&0lacJ1)oDYL63ywx z2K5>U8%=)x{(h#u-+$j%`9{kuO>>M$YmPkQr5!t#nk~kL_05f&TCDMjscDJv)?X)0 z`W4^PQWG&U;kLVq^pe&HyLH3xD-h{X>{91p^&D--ta2nU*N1W&=7NDV<+pJ_mqkr| zk!DiZ;Ya=94@u2bCixLwU`b&Z0JtqZB}wOSu$3=P`H}QO2o7G>iv|xpGvIa5AD z2kJ*AiZOP1?c(wh<_W?QO z1)OH?B(vKNnUM$xjiftEjoF;V=7GWnyVyjI6(dgG&*-+IeGkMg!Ehzc$J@49F%TGe zW5T!R5Hq(CJm}z_vL_Ht57yH z1Lr9DW(>8>rr%gXgD?v3QnX@w$kCUrnVHs?kA}Rwrbs^1qFIM_CCit`3M*n`moG1A z*P&SpMV~shSFq|WN(3p6Sfl*mXLLM{ioV90nZ+0B3e?`K@GgzE_Sm1yb{WD+g{PRF zY28!)F};3=MR*>}i43k^rw-fe-Hv$0#P1j0O!Tjt+Nxwf`FtWvVX@E0n>PpO4I)wO zsPX{n9ff+W5Kb0HthA4ebU`_Uw;A+q;N2b4A{zOcQ)o1@t+h^_`XN!RZbe9KTljRn zOh0b(m2YOgSNB}67HmKoFkZ$(w?61*qxjuq7Rh<8z4;Tezob=HLCj-$Y|D{?RJOYZ zw&rksNX#rO)=$MZJw`w}Pf1yvdW;-JR_Gk^K08Dgvv){=JWW5f;zGrjVxo{Dd)Sua zkqMDn_M5O4Ya^9?K14{vIKf~RZ~{De!nWFWgAO;!HrXhzlh)t;OrJVq#@)|mpicL4 zD1j&h#_{GXA$YZIHJQb}mDdIEqDsLXcfOs0((q63qrTqy0KSIShyjh!{62Z{4>oA< zpR`O^X`5g}tfKM{B+z|Qh2g^?A&oxC2K`B190DNQ1YxDH5+qbsa$HgiJq|+i`GjBq zF~*HC|bGQ(nPB>&N7U^9xrlT-mxc-U{a%=zA->({F8MYsJ8dj)jHdzKWY`h1qgs zcg`Dd`soHp-${=uQERj(hf(p4g~#d8=J;P$FeH=}tXQ1Z2|1RaC_NEfnwi(CQ`g-5 z%(O;fp$#+BTes@eDL*eOy`i^$>wLChHrp`&Ezj_z9z92oo-udO*ltCM3Gqoiibju` z@p#GT?&Me#9840?ylKaFMSa^AHs`+@wQSNUwBg&Uuy5_jRiE_kGQD_UYD#iu-+|Mo zEnGZa{gvLI^AQU^?%DZ3FQ^Vpz<|;(f@-zfL?>fsMB&cCpE3fp^DoSPw)>cp$7YTi zUDP8nAu*w-+t|T#_^<9s;hy`;I3pX&UNLwzO3Tj6@6@qXoAk_vp<#{Eut%b6$5#2| z*pB|`$tkG=i>HrYyl~p|fqgU8UtM~CqB8P!!_ZDmS~kLoElrviw(VQgu4B{Y5%{I} zyvi$v3MmRP#3tA|iU>7UHgo5O?p_T^X}blqV;F-?)~qN^OMDVU@qZR8o;a`+M(HW4 z66hH!*oLyb?6z0^guZ>w-aXr=Z$gOo&K=&4pY?GN;NCJh`nAHsmO0_r`kl9rv@&>y z=d>)m!`|D+ju^c7_d@l)7d^g|O<#4aZL4WRhm@2I89J?1+uQB(rmH`u=e0Yw%G+#i zQ_!PP1c_o7BO3K6Xk(U7vx@||iuiZ@!`+6^Uq9U&p4Y{0+^-lju#4P;gn@>BWJuXw zj{$$bw6}~lUkVdAcKg^W)ow=u{;mqI$_P)TS)O;;#`$~ye#v9N-uZUY)B-Ag4v)x$ zir<>0mb2GlXu5Yk8O)2{IaXEMG3ZNSkk{&<(FZ>i`iPxU11a$+zvJBjwgHMe82mk;iC=$$)eqRV?vixlnzN)~yY%-npW&V`vCOpE~n#l#>DZXmqH!>Y1_-X$KYc zG&zHu-4IXrbLR|=G)dD>vC4*>I4Tq$)x^O!5?0~j=Or4jK_?52L-|XyGiWwgl|RzB z@7QKbu3f#x|M!(Oc0XC7T)0Zd4!!+6Q~wRE;@*A*ndW`OJ#?Br*Uw-)!oTx=h4|2Q zbeb5iUZXe_NxKF(s|x3OPghQ-(IEAju3UxZ*WBTq?*YGpi#}gtxoTj9IB^g5QYbX@ z?`nPaYfkhz?$LD$yc4eK?}>YyX>!2m${po(<(%H??`h?0f&sq@9W}vdc&djL;y6F5 ze(=3YKMopEUZK(Xo~yhcSk6U8T6xaDR$imq`JR)WU3hbb(aO8?2c_?IvBN% znqge^QZuZ(O;lH>hOaiTPBMVpYOY(uTXPvzeyTpWA5q)igXydu##Nuy!&GBe3J=xQ zso~RPQXPytzM5b)eD1QS4c?l|+-H9ed^2gasll%*Xd*{|A?d-=F=Wp&b7hsF1y;4QDHPb9J;Ehtg2tdZ`P8Jnqgh-rDj-7macTy zTt>sM$zRiRZS-54G8%q&`9DlO4`0?{)3vYX;mT-uHCxbr*G6s{?8B7RWc@H@G&}e= zWmOvQw|R~B+Vfdk96}tMAg)%&zx=y4{&gAm8TdHO`JR(~-FL5=_HZAJlYhVOo_l$f z=Lgnrb&exA)98-JNw!XPs{E_4iY+?b}pfSm5*xupp(2*`MZvP z`L$~OprRY_>{MR$5w7;3jel#x#hUWGS%C! zE6fA^=s)u2ZomJG*CAKUR%$APdkPJ;fz|BlVamA6?qTYwU0GHBs(#(aoHf~B&9JWa zQZsDz_EK{h4ZkK!P0uyy%3c07mC^9K%dn<0)$`$KE7g~+-u|nHt+^f4ri=!o*^&0U zHgeNoAEvCPpNA>quBV47tJ3I@`NNde>isu3F#d%f;QG1Wx4YX#bujMsRvnBx9*xfG zU|s!x?dVcuN7G!@BC#A%Bhj>g-#?ugRq*SayBU3srp&HK3wT{=(46V?)A9q;h)PoZ1bOCtBs>SP#+p??(L`c z^*H>RW|OrktHS&nz8o@tnEKph{xD@#SdGtzt6#Mj%|AShJ=U&_t3B4PjHYu}zG_!i zt54IPW;eCbxmMr9l-25U*WbUX_uu1i*y+R9`|rwX^=Njg{eBoZYi0fo4oye@rmVZ3 z{|ye6_WRqK#?!;g;o)$p>$s&&HLQ6SKeoNly0tJ=PSn;s(=TgS^Nc-G+WP70);tR( z`T4f>DF4+zt$F?f`$|Hj3w$TK)4mmL%Su~v3R_l2tr@kl!+df|x**$DcDD@|n@p?d zCcZYU;$z`C>{Jo?+G!^|CZ~NW_AM%H%UE(1A}X%zE<9K9@ig(Zif+@yCbr?q#uTdC zi2WQ*^$}eSox+_o0p`un| z%~Cl~Hz7N1!O7yONSs*EcCujewz^wV930vxJvEnIFWcH6q)mEusACffwxooGo=ZsV z*<-Z2k)>-&d_rPTkI`+q?Jpxk_*Ry9`ZM2n(j5Yf-Tszh!oMjIOHn`Yv+;Y zThL=`r@<6y!QM|~-Nz0&WK}^LVA?n~u*H%_VW(nZXN`-9X}WeH{Vb^Q?Be>T>bIQT zxE}lEyT>fC4LZ%uZkRo1YG{mg&v(S*+WzKJ>rLXe?M|^x4!}YQA6k^{GogJU#iPDbHNHv}Q)1W#YEwy?L&b zqw+6Ofqpos(r;hNuU26YB(Hma2`{nl@%J3{ zy-9tmDa&_lASnnaAJV7llB>3wmXhm#~v7JL5 z@NyUlkx!vMQdJ-J^eLr?qmWYpP8)~a0NP6JlqrPy3+w1v`5cYmH3|N-2y$qOzwgz` z{-GRaC|3TOm%EqEOOQt782)goC9lu1Hxl__$j55p7;PUUrw23_NFw&KLet1p$N!XU z#XMuNIfEQHd-Lp{fATkaht`q*;IEtN2d$&X+kqq035P2l6<5mH)%Y7XPW^D;bHT}R zD|iK6I_sjZl)i&CMCh6VH`0X|`HnK4iwryF@W)e^t2qU^T$7Q~D1a&^T$}z=@NH=cFn9A1O|1JaF*1N$fZoPSWPi&CSWlojaF(%ARAN zYQKae`Agw)dUolkinXg|&nq2~o|&16AFI|rURF9fEuF1gwqoaw6Cdr|v0~XueBZJ2 zqZ2!Ju2{z9@8BU!m#O3e_;>V6NR*=Nn?v3dVcoxC11GASVewzHcydPk{^7ZK+phMT zw9fw_Uuc=Z=+Zq2@@o7`zSbc}P{(JGDyZ|b>AepEkmwq)#=>uU59QRt z43nA|0S0NXz-9$(_fnHUz$&wXV7JC6NrMQlAuT4YXr1DB+&`n4z9D13C*sQF75TX0 zm)T4ohqgd|T3-am+oj3Upr(ZMXU%WQ9bB%^RZevy4T90FZeJXbY~~vm-RegYo~$QH ztiKBlKEG7@kh<(@BNsYCZKRG5y?uk|U2493*tGZvLMm*aC8qJGE}jS z69!zxLl=@r_G!FJrQz6*nGx$k9j$o%-a+{h*BWoWaqnF^&E*=@0e`OPqb1MN9?dCm zBZE5#%|&pHD7%QOG{$`ilm`$YGfOh6eh1eCV|IR6xY32y07L8StT6n`*6umf8enLb zkW3N8s0LeLt(Ez%0}0^IAGP~KKogS zY}%}A+c>j#9X8ItK@eH(A6jonN=lC?z8PNOS+u|gJ#?+1hD;oI&C|>XS!uxrt9{_+ zDuo<11AB%?G|TGl?ZvIeVW)L1QC*v7n@!Kx z3$(FNw$@4*gU=sWC${5M%lff@(oO_|Cqb0i9STnv;JzC2s0-I6Wcu*QTD5OC^ zHf0>I7HM!Jlv@}-6BcKufo8fVDbB}5t_@qY$gso}MEd!+#bMmBO~YM?_Zd>yGBP5< z)GCL~=M44?(tqzlGC3BD(NE{%j3x<r@S?PZmap7*X{7b4aPKQ7n9Pv`Mgz4dJb;ObwKveh^WWtXb?;_-*?b^)$-HB zcCU(R+v<+fc#-w!($hv$hdj zUye@fOZq+wBG(x*Mj+qCe^_IYz~*xC!_7mR?OVRnTpA8~QzbnQAM3&XkX3=7<^o+= z%ydSQ3sLcBmyhI`l1DDTVp18fJEidFQY`SoMw~1f9v__=?C(d2k6#FlkTYFKrCT;k zAx$Tcrc*Xh;&O*Y1=KT}QWMit2AR$E0^Xy3{-F&5uw5K%RM}wc{XFp`Vp(oZR>@DO>=YfQ|qik^*ir|wI9O%U_HsM&1pW~w&pIh3j6#TCB4FWy2=r>66B(H?Ypv! zPdg66~?*Twe9c=O?rjwLf?yVqVSs`8Rsk^Wd@QwsmVUFc=D2DPMu=32A;bl znJ28J9bClKm(#OSbB3g~ZIdu)$GYB`owJt(H7S-#tG<$_E_2zSK3T8yg|(`$Ud{E% z^MygSP1V+SH-XoOaqthiSSeDx;HTF;r__Ixoy4;ve_H2H_w`7IC&e3)+VHr5?FC^d z|7?1Xe14D4W&7A$_;!_y>^OY-C?yDTRgMI}8_u+A(0B2vBov5&_2O4)uo&XjNN14LE3oRUl zD=oI+-+zA}F_T?rslww#3unrSmRGAGg}&{eMgPM6wA4;6$kXd27Y7~(EuLs*&a_l3 z7vU=fjUt~_gPZZ z<@rANHFSZeWT?BOsME6p)O((idT-E+y#~$m(X020ZQlr1Zd9b`kFIT+>X9C;MW-Hr zbZ*m3r1)CMt|*s9s&CP;ryW9SStven`tkZObwU_@heqiOW^yq)hPsMqqeZ)L0 zJAbgfH`t!vPs9Fs9EwT>;x;Aj1NlZPnQaWn>4S&DXx@go(AcZ~ZON0eZNdHmHl0c% z<<(-Dun%Gx>iy&`HucF{C*M@W-1eVnM} zqf~4+-r>X{ekZ@L*iM=f^+D{MM?X~)arth|f-lu<$@x1`Ek?*b&^*zs8b^~hk>lEG zc9L@-Cm{+Z1T#^ttJXAV9&KM`DxbDF?p?_3C2(Sb^4avuHeYxv_EB$gykb7tLV&|U z{%`13E#sl-mOr*zMD3_{7y^&?u8|7#3(#T>Iv<|D2hjsqCtispL-LonD5L$k{_Ji! z#&%Bqu8E2k-@3&n-MS^evuf4vr`a=~8*Kaw83|8c4SwG9A(ybppQEiODV3lxD1C-n z1^SL}*cO!|AeR^1vYq_nb29Su@2m9F|M;9egD-X;{v_^L)hr7a%}QN7XIIs$me6O+ ztJR3aHeOSGM3w55KA_e#8QrYmfiw-^HsWL-)stg47wLJ2xxf}bls|@y@|%|Gx*pi`XSosi@%@#-Bu58WE!smEmg0x*Tu(V)zm>C z6#r-l$4xsL5B$?f7cZXv{q((Vcq2XS3J_;Gc;NFg>(E{=fd`Bik%6B0^ATS?`+!kF z_JVkY5A{C3w_hDB-eYfZ+T6$aMqKaP`;eB8YLWyJ1z9MHa7aO@+HV&tX-Enhezbn zkfbUTQN=4hbzZ)G-ZtnD()kAIs&wBd>4wAEYeOtmCS28kpE`e@oj8A9ZVJ!E_S|55 z6}j{W9Vaw86uDGsMRIq^;@22FkgoDN<)h+`D?LXmU2rL50IneT8cj{AJF|BmUxSL@ z&HRlut0IZ(Sr-bLCScqc1uvF_T*CbMoFmYfxHGh+o@F0hE}A8YRNii-iY=_#i-$ z63uIBN@x&-3HsaKp(&lZz1_7_N`tz;ut&w92Jvz7GH$8F?~0fuHnO(M8GN}(TL09v zwAB8|%`cZWZD);U30G8~RD}9xqJDUlXzuStNhJO_Vj_wtt#}@Lh3z1{NMH7f?Q0>H z^v%C@ORQg6)Pq&B%Vfran~#yXif?nmlLaD;{&=ueFhwc!64F_Nwj=+R zWFQUM+{bP%z)_yzg!CvB$3_n_l$-4d2mMn_fZAmP%|n^OrQz`*tZy!A0dZkM#???{f2Z#%*E z5l^y}6<6T|soSUCEM@B;a9vciA`5wyLaUb!lkHA2_Q#VCv}k|&;ZIb-2C0oZwXAOc}ZOSa~*5Lz;Nf1=phmH3K2x8~kDIkmU?&iga?Dd&2fY=u-)?@?EFgy|2e z){Q@TihI3~pHLbJ_l%@(54hu&sZ|W5oqm{XHy;Zd%ps zXQraZG#!o{;%n0$`uWGkuRtvfce$&Lt!0``l0M0v<~ho-8bF z%Q8h9JgLE-#5bq2R>_N+vp;FGcYy7XT>g$=%$IXF)A#e2elF**XX$&N3;a9{cX|vs zKgeK`vOH;)zxb_6O$$;-{_q`n5ot{yJxI#)>3f^y9N?kvlM!<6=Qf-`bRRwbCMLFF)0wN}a#AU`eTU8>t>uNJoPC{7-`_0fvgLx|bNU{8R>mYR)ureLVr}bI ztdGO0sc5X>;>T6_o1(L<=&cOFi0p?mBl($ZCOOz0Q_uLlW?6FRH?8#suWe(kl(o^c{$z4%9GNE^d8RYQghp9@X%FO zusE0}TipX9@Qdb+)waH!=W(fJnzaG-UlUI=d{QQTY6*`|-U``skUkCdtomW$67R`64R9e9=V?j#ctxQY63oWrF#i>2oGx^vX7 zcvV;|Pl_W@o}61kXV4k)6M~=Zw(Yh;uM519 zFXLQJGc|A;C_f?It^po);Ym?|W>t8pHSi*IhE{N%IkJOv-G^)cY`jhS<`!qW+@u|&v3edz90`J8SH5? znw}%0+0(Wkgkth4>tTDD^#FYi99X{quS*uGMSgdJ;(Ro!d|MwUJ;~46z?xh%cCwj0 zPUZ^|na>_?OMj$4${})y%5w?R8FuJnI8{M@Br_sd=STDr)?wuIPvrEESFN81kD4pJaSa9KHEAS=-8 zDftVp$P%p}U$ZW10qGdKWn0K@(o;e&M^UVc_!7Q8P(4=zz6vK`@)ynrG#SmtG-Et5 zrjZ2FFZom={*q2Lpo3CvZ8~mB+LR=&PuwJ(VZSgN|9hHUA_s`b{}g^J-veQ%u>Ksq zS194As*o$FS0`;r+R~2XwcD74zr>9>>~PMOL^@VMv5^f{u`1_oa)hMvq@7N_{?~-H za#&H2#-GClPAb0ms;A*_Vjm3*2=yc@g7b3*G*{>?4+&`CMOKF7wHhRyk@GzQBbsJJ=<9&kz*e3_sfw)I*h7^;pQm53L6^;XrL388Vqwf#7&MWg7-R-N}$9kOZ2e ztDG_=E@solO5L^oZ0mF2h9uNIQj(YJACQzd?1;}7Nz$1)bAGxpXSRG#7{k{qb;-&s zDap+2%xtJ{C@Ym3pgvC}qOKqZZg12a#8(mVCmo0mfrWT1Tj8ff3FZi^#Ym5j&CUu4 z=sI>)>mR5;@jMgVVDsYEIO7VdN{2Q|h%Xw_At*j!OlDdEyD?!xijb3-IJ~qEn@86k zJGYZfpk8wLB%y((vloLE_ zT6kQ{l$Hg0l%Sb?#epZm@Sdwg+|g}kym>r3*sw?6zEg&`8CNtqJtPvirA`yPf->fg z7%-qHdCch1BX5mj3t2^E+x~@xMuYhNux(S`m*;IQO==uJX5grSPkdBdJiflaH8?nl z_=oxU_Lt8w7Tvzx*jU9D{;bRszSKXZ3j>9MF-@^rgDM;xIBGB(u?vHn9G#qHTUYUV z!r#k6eM5qKY)ND{OY$CBx6IP0$EL(hS<(jf0Zo%X#bf-@4V^>7Ds>@eNz?wj$pxY# zEwL6Mj~&sMNoV}@VkWOw7tgLqOJLIxI$bQu;=HSmrHUD_xNC^jjY*db%P2BP3q zH>_dYuy*Z32eZR)C3z$J_3JluciT2G-AH~P_U?G{+*4Uu4a|YY-o2iaztIQE+lC}H zo<98wOJg3WlheTM5o31LfL2LxilPZ;wi0nA@fgis$?n6t4rg15MEX5Kdyv&OnV9AE zq!sNb?}N4fmzv}jcG^QhyNZW9t27N;bCS0P$H`8Y-zGjEfTWascDy?~tPixkPM((; zo5MVCmNC}0gM`YP?1(f0^uUkd#0rHZ6Sk8Oy*M()woq8aDY8Yy3bW+a(wU!ZS)7!g zg#Re=^JLe=0pcLVGdq>NDvXbp=h1xw*}JK7SUjD>L~+nPd7XTXgx;g2D2jH{r}B!v zu5=4$nAAtj2sfFq&Bh!_19S+}lGMxq7^I#CiR)u<%x?udU>*O{lD}?GCr|vf_z3H= z{&de7>z~J)_}i6x@!yusB(Kx$WY41&ix|0r11cIaAk}qXr3Nc_LkAQMPXH6*J7S0# ztq~m%G3lG7up{hd+w}Hh76xr)EiZ0A!VW<2Z*L_>2oCD`iQOdTg=NAUwhKaZ#Ubg8 z?XnOK+L!2b`Z~aC;BylEtW+*GeA2qK;X+a@d$OT7NijLZR&*0TB7XPcp|=b2Zq9e* znaV5D2I*(`QG|n{ab%PU`**mN@k6e3h*%RuMfCO5H4gk7E`%W4#)2$8X%{p8$EAPG z=xS`vW|Rn{mm`Dy&|1~B+jimK6E16$+|u&&Xj*E={BjuZ1!tO z*U24bD>|EnzU{C$O9$sbu%ZYyLjuxL8)1hNP9sx8=VE=fjBWT2$)7@e=HBZ6WXpiy z3tk4_s1S3*V0uJuB@VLPqY;FZ>?)np+|DD4-Nq#wXPi3rB#BzwCO;(lTpg)SV7>ODR8b+0uUI9WsW>XOs5nah zCW8m`FF)6&Q2;-}M7K$&GjJZ<>I&s`IdP(I#4fT;QS21kR6v@TNeZbOwP!I2>c6-J z=Sc4p6_QUsmYWFF#=w(J5M`0POZsViDR$b8KRe-E5ToLqU^HONU{#jCDZW8(HV_=r)TRH}LinN6mej zooD{Jx#SlTxPIO>+Oz2KUrNXm)lP1H23R6rCl~hXkc&dXR_! z3`8k*9D-8|Z)b)~`c1Rpy#kw#ERqkBV(R(J5VlqR`!*fDxH%`@vdDb zcj-c#kZg7wUDt7vO@??Dd)Ik!=gt>>>Q3Z*!kG$3pbzdx(Zgzg!r>3)^cZqHo(;B= zjZv(?A`Yt9boKA^r_X~hoVzxy(u1rKh6fnv6rD~k!9}9$OxFv?u!l(xnWga)-%On^ zP9=pGSq8I7-^tI=k+wq|E}sR8f1u6f@;Z6j1xI|Bld^!ppsw6khZvDKcaisPR%0VL z8*tD43f4TR8yTYDa>d`XN=^)XY`!mT5LvqH>rR=(GvT@JlPBl4ZJXX?`Pd(0o5i(y zYK_tIAOVODm>u0C~R8bpSeQcK%TOlk7>jNI@! zZP}$6gftGX=M$Pi+H~yHv$N4JG0f7)lsde_xTK8#-i8w-l@%;dnxpz@Gx{DQ`VtJ{ zh%z{e1eIcp@TlB6O&k?#E1%w`=(|3>{+ssY?q#P=q9Y<^bV~CQ+PuN5+V>jdM|G`X zb1Q%^7*S^(94ue6E%4q&VYemW`!%zmC3FbnH`2y)npgkfSyK-7yg0bMN5J4=`R&p? z$d;Du5Ws{>De^!eGLIdLiz(^wcwEYm=leEkS(r$p*?Lj}9W0~sh5oQ_NvR3LN|H#E zV(-mlpXmcH%Uu@z9tvTZzvsl0{r`||00<=F!#38GIa zkYnYqHj>oD%K~4z0+^G4d0vG~YJd9mlK!?L<=XxF)8!!|w`j;q@W=mQufKpB+-^1fI>W2i!4dTC%$Isym4mz7EZm|1?|fb5OT}})+|=t2 zqQ@DJTCa-VnNDZ9-H%^|ceZC0Ue&uZyn0=QcfRf{hx_SK@wn6P&uW$lF`26AU{2g=Y1Rc>?@x8q~^L77^_BF zla*%$WMHuO*%-0#lS3&V->4BAWnToM6zW*g$`1#%=gBDUGx4*sdGnt8>xtfXAIbE! zOdkIPiRd}yQFEQiVpyv^8^_iq5)zo# zE-%=7Q2OF^t$KIr+_lB*$&Jer>WSgvpm_(HW=|e-W$yCAHf;(E7Z)z?HnX6|rq>V5 zEBWZa>{iJuI&`n=@9)#C1JO<0TG!_zKD0#p*`d>UyvzFuVVyn$maG>JE7vihWXOO% zth(RD-<9j%D&vXnl~+7EVLVY^Ikh^O4>}OE(CbWyT4A4j0KRa^lSoB3d}Tf!EBNSA zy0mK~b{Wq7um^ zZ17nQK4WxgurNGT@G&fxI*(oge`YhHWHR8P5`&S45ugb@*sd1{Js^CipE7|R4(;;# z@Ri%bpX$O6e@OB=lR=Naaaa(@gz+T@`=ku}a?*F_JsFwtSo_?e<-rCz2VuLCN46{- z+=;csLu5`;m`@!kFF%O~?i%iVEwbBNJ-W3hD4!XNSjH)K#G^U*mXv4$AGcEpEfvvy zJi7956h4i3YMQo@ed{+xzB4KzZc?f~J5AoS@$eW{k!72k&F+mRW?@BtdDd%fN(a$p zqyf8Ro5+Jq>c`oGY|)H=*?0kM4RnK6q$@*=d2I?P7lvnx`o2_#8wG&ZkQ zPPAmQvVsY(4ESHF?UR)M4HO22vsGVMX3rrbzq%wp&cjeh4ntG*4MFmkZ0i^7uK$pE3y3*v%NCl-Nv-HC?nN;3F5|fHgy@jj)$1RlAOpQfDdGLn}w&dUq5Mb^USfa~OOE-yguwyVr3R z_{$inGw2a+!U6MCh|mcX-a}^$(9uyOHkW-(?kXRRZ?pfz#$LSr8_A4~yL5y+P0Dg| zCu)+UmOK=IRz8f|zD7 z^A~aZ)F~m4mPGrEvi}aSe`>$o?;BJ3G(|k&@9^+eIMxV0Ne~Ig17FjO@OOB89zns3 zhTgy{7QS5&wt)F92rZ{~7lbZgzWi-B-o%uJVdb{BHcgEycyVehiPur524S=UE5C!lh zX}B-=TNCE55M1RNQxj3~bWgmdVPZoodn)$Fx1Wm%kGXl^#n|lPo+05O>HX&wvLi3B z)#9K_H-5gd@AA(#iWj~0M1R&pm=9JsFBpGu-=p{p@Ivh~RPc)`^%IlM^I52y6UQe{ zWOLDO?n5$KKAAd){blyNMVHw zOFiigD%`$I-c;#03Oe3WWl9WHaY8=YvkQ|OBTsfkzc7-sJKHDvc4b=|hX*!|V{eaR zTi&$%azKum+rO7+7(KoHpn*MD1_^vUCOIn_k~DmK`^EsY!2r-XS09KmXbdW)qz+C*(7h?r(tA@ltPbO3SJ+TE6|&$})2?v93hNJ5 zY^#EOv0B*9fGq+n9dXEZu?lu{wXh+8T>@B=eu(*1!D9U8pdk(Pa=-TdtEN}Uf$ev; z9}-X5X?20)d=W&xgnaNNKf3+yb~|HS?o`KN8#~KDf%QTC@*cq28LNV&cimy>IS%^+ zVC{@KV2|DhyBV-746t^_9I(qZSj2|YB+yI8fL_)Ou!j!e9=BDEFT~!`Fc2`9zTJM8 zW}4U}X{iz))p#)|_c0(*Ahu_cWf2^PodlE}kHUu=+!#BY{Hzlk=fMqbvmMS>;snR( z2VK#q6H!JTS!R;|Q$@OtkV3?G`$$)nwM9J73OXc%m3HlVV9)PQLw5HDjo-UTBDe#m8)Ae*3;Q9Iy9qhtj z&JuV(vEyWR+tqcmPMS|j-?1atud@$727Y&VV^*5M8!p8_Lb3~1*U2u9JQ+zbC5!dvJ@$I?^$=S+ z?U50&`>B{#@Nc~_iE1Hcw)EQ2u^5&2gI+OlK(~v7>^L%k11|-Kffgiw?)!Pd=k)VL z@=KI))vWp{M0bGbwxJLHal_!g+t>ln1{@{i6X7(*Ae?(W#meKVRPGhXV%h0Mavy!saGEJB#9mwv!VK4M13Mq4pdJ%rg zh#!iN=YtxUE1zk^Z_*X>Nmvy?`rk}uhuKXy{4ooIix`G4%5)BGa_^8f&xn=XixfJV zz{hVzyf^|l(a$0e3?JYFnMqIv`AR|q)#GOg1@$Gtt4_1nVXHz1VMf}QDsn4O#Ic z!k?#p!2=r~ECmaS8u4hx`z<9Jz=xk%f}X5prB5~;v8H$La?StOv7+gE05RqIvrb0PUVUMx*Nm+J(x6n8Qtg9Z-yv z133;sF=77bppI*B1@nCqx=xqBFJ~`dTK0u?SOWRN&+O%Be&uC40yk+i?QVOH-Nr*n zhVaR~c;bgATU~zb-0Khdc;OkMg{~cH;ZN!6<7%}15!Y%~pL8*8VM@akM%Cjj zA9bch1UVJKK$SlQa~N7QY?4o%HtqXAjTI8b`x{ewv^>$M$KI*yH-(w;2#=X> zztM9?yi=4s_RPpPM-Ck_dL;4tkNoMd$#v_rY1e-!5EV+SG&yN&a~J;?D1#7r1`53+6WHpQhD zq4T$A(&Ec~tXwZj0xFWuDfd^N*D5ie$EHshfKvYNfg{(Nimi)9--ciDo?#t=RGYkB+5^1M9< zkd^SaU55uh(*G)#zn}|;{6|9mvAT3!E@(>?m9UwQGCO9)s9%XND00u>w5frGh~P{J zT?;EzeFcQH@G>DWv7L(Vt^0Of%ZN^0jt*b3jl`1rhed&h7@FIHH7Z_gC~J+@ z%3G(p&H~{#rIk|NM)fz8Hi~hvQ)3gVZ?HMdAPT% zU)b;L0$(WsH8}C5#n-@({SS=@v*U_S61oyB=NY+}4OM)R;+@tOle3uB2V3%Pc7xqk znYDEl_*|(_#b+dD@6pTH<7@6-hc6jamOC2Eo=(CrA*%E8gV`KbRPRwNp*gd{a-RJu zA9A=RG9xY2o!{xDr^!=n>=`V~(tOSa@ck+)@TjNQd9bscgJJ%_hcO0UqDOt zyF-4Cd`pULUk?6o$>sFv-QuGyo=*O_rSQSs_YXcz%nj>z!NU)?@s8;GeeC|A1_>w{ zhNIS=Go1uMk3Ucf#vvt*(@7c0lgow-8nX1A*plwOOwsHchcxb!#G}~hb5`)K$UM}c z!;Pke9jXL^IfnnCzxtB*wZc<;{8`E87{2EHmjFKiUe@Sz(t5~Cr>x6DZ-OUbiTi^z z^4JtQIL+3koDF`K^qWTSy(^F5Yeg3bkH`Z7k1-Goq7-8;gR(kVKw;zTEhMj;l)uOh zm(fyTw=B)EjiA>6I|Cir2-L%Oy5I>MYixN<81#`jq`!4<;v2J-%3jAe>CAV`Ca1DX z!moTKE#Wi@Sc<2t6H%AYswGd6{M1WHm-ev3d+?zTL_S}e%}4l6U4JX+JkTcBqED%Z zeS^x_0;_mXGk109Pc1dyL5DXlvP10MH8bnY zPh8OP^-IKm!??l(y4aAE+f1J9k%UP6xGvJ|&$dDVHum%O&pz8ujEJgvZ~ct@RMv0l z(tc&~nl%H;%D8V7D*r}Y?I+lc6FmkzU+@tl=*hxE8~SP`^Df^<>!7C>5vLa$j#}Sq zx@(|fu{Lnn9dsU13`7P0RAn-&!zy|2JyjXch##2FDZM{Fw76rn~ItssR*7YU!6K-3Weq9&*B z!ZW1ZQ{R$yn2@mK^xzx(+}zPS6^wt zMkJQDhZ`}DcM3;3e+QlRcpt`Qp?u{Z+K)Z@s4PlCccnK+VDTd&9gv!KkG?s2MRxbm zBUfZ~qaPFTm%(fcv;98vm0wxK?ZH@KDE&5L+c5=X)bi}^!YucImlyCcKq`HRGqRKkKW z-q1}h@{VO6V1;z>vBZx;*w)}B2}{Mp?2)l0VIeuzOl&WjJ>c2Q7B}R_nXSAWCQK_w zvtHsA*o&Vo0rtbkd`doMUbQvdibqX6zvJOXokpX4A*7W*uYv-h$LC8!>(q}KF??}D zZxU2-+p_u_lGm{3-cj%LZ|;-G&K?}OIwj?@^*cXy*jJdoePgTij;TG#woQ2%g{c*b zFNtSg9x{NuJnor}y^v{q|9~Ov$4k9?!(UV~#OvRO9HOzKLg&moZ_T_ZsWckw%cQa} z(lk{G3u)Egama#IUhU7e^shg)d9FA03`ki!AU)jBuzdEH?MT1(G~vA`ozVm%-=i2w zwDt9C6qXWnAZtX6PL|j$6Gz(x2w$dSz4WsnuLM3Ls{_G{q_5x(>BxPk2Oq9`(9$Z$f67Kha#K`|pn zEDa?CP38i3D)r=77m+TLe-H#IeTQA2%=>kPrz_8e@oO4cl)bi<`sga&dpD-(se?3GZq@97c7T+ATmleVi%0~0EB z$HMM~Z*R-q@?aIFx5RJI<_2}1+HtNnS6ET!p;%qe_>Ac?ZXoj({+OV>S;hR!tCFW7-xE-C7X`8@wd^tXgSL z`v+tO-!2)HwrPgU)V8T8l5nHUO2fPtCn=3*Ems;Ujq8Bc86c5}#9{1MBHMa-Y1k4^ z($C|gu#Y^ip{@2L-ZAXGN}X_s4H!E#tbR^RmR!J?hLqIH zmdkKje(v&s)6y@-zJcnz7K}nyhVjP)*a+f_u?USo45QhWFXfGC!a;E_f!zSc$a>Kd zaS(bQ9mb0$5=rvdZ+wRD?qB?VPI+H+9{n0 z&RdZ-pNV8XNqdvD`||tI>|Qo|k)7PfXNN2P z61^%q^I3I#D*D%DWA6)vo*-2dmJZmT^`RJy0P{| z#2O$TpThP!Zn*dpKSb1b>v;KW8jVYl-$<3t;6ZdI0>eSDWXi|dk_lzJc!ZUgGV}S! zDBeM%e?}}#is0q@Ut^U&#KvN2uWsLaCG!IO`x;{|zq z7e@$eHH^K3XA-ol{h;zI;K%$Kh*fa|JwT1pIMO)=xkoz4ht(|*dt+E%wx8ya71&e8 zw>sR5=i46mmIwS^#qkkQJcV^rd`?P7;ChJ|K{owA^4Ln=fYwm<0c z{bU%5g<^5G6pcEVD!>#LFhz!o=BY!~^nvMg4cAP|8x*nRki!))JeM6i$`? za@M&E%673_r+~Lpv_lGCliYrYwh}eqgU47Na*hS}BoXoYJUVg(xm?1|>wbEi?-#s| zI=eLEjCxZ+{VUG0>EdkhAzoJKDicVd_ysR3Qp)Nf(c&MxtXM8XpEuy!d*m_U_!Bla z5bC@*%r=S6*6zTjjd%b&xDjR&;h z_wceJxeR@7L%nTYeO4K5i|N(c9oPVp{z9MANWQpIGY0Kfpii`dvMPKxkhfK;v@cYn zEQS2c$1&MHgVn456MYWkWrg*;41L0{BTn(^GsTd+nqo7mF87$0ooyS1I-@w8Jza3J zAfg_;&k9$c7L-Nu_DkjV@hvnTa#}dX$I-D4OCS2g-WhoxeS+@_u-8=d_W|tmIrkIe zVTa$%ZP<>e%j7T;$1AYU4JW-VnRyA5!m*r)f-MPY>`TH+axlNZ_&Rf9XM9M{6FXx= zKNE+fJHESV)D1*)JS-Ph4Z^WrYhU`w#PAhUVaD9rW8+ptS#6YTA6KPS(cck(MSsAt zi_k-ThLXy?Gnd3(KCCCY#yBTHhrbbHf!@TngW17R8>|_q>dF&0&YcE2ds85t>UgwI zqAkQgmKc)e&3oq0%%i=Nl0pq65(f%zKxhu##eU*QVS5{1>mt98jq5#R$irjD@jvPX zmSvg!BLXXA;}F?6v`=9i5!(&GRDE;6v zAt}Tl9(kTVej~l+2Ku-cI;9^-p91>0H&zvB-FT%~G&sybHa<4bkrglm$n@q87#EWL zQ5dPDf1;0n{RbzrBiqp^kr|R0!Tr&h;C28(r^R@fe6a4BcEga*S&koP;xw1IwT9RU z=7kng4I^*O-fz$t zEPOn5BP1uojjLFYQ;gx!w0KLJ3CCQ=mCdaf%r>TmL`9^8BQgYd3xl73yY?pm@dSw3 zVMqyNa2z5wbiP@oSit-|5#J_|ecDM8T^ft#znvnM8tZJ4M_GO zaj_S;=*@7!VdkgD`5qDWSv=t{1|M+j01?>kmjPxDY6UUrCEDldX$D|SOtKS#d#~uQ zlJt%Mv{69{2+?6#3>#8#m3V))V{qpvtuB-yV!(iySkiNy6BAc-&_$}(qM9h=2L>wB-H=UepKJFMhq z%JuC+%QHbdc<2IyiJ69M1D~BWU&y!h?QpP&0)yuXz|)=W1Y_#K)Fkigabmf7keerL zNj`Z%EkxzPCVkC_dq{7Dz4;{>Tnb-%5X&#jH z;#(S=^wnd10GAYPq{#Iyd1w62`sF2LvkeYt|OzS0ykI-*=m}&fn>Cd1`!ET%+E(^M}PfkZo zyIhi48kyB&_~I)bTtpXiepin()<>;ZR)20SC1(1>l6&u7H@{aJ36-F_5&?_7?hx9< z>IEwg8(eH*t&~_Q0vy(4%}d%a5>2nB6%`933+VfWhCy@YmDBIY0`hFdqKHD$A=fx~ z&U_vhJShH#Mf3xbKJxk{BNE9X$Afq#9q13^ZeBhLeSM3*g3*^A9b@k%0$v2|r?>B+ z@7-koAXD?ZwA8*+T6!9wLZ%);-B8q(xTge_wQO7@M@qq0`3aIvoVt#_ccJE;vGo11 zVIl1jdyVhonA=gjVa>hk`y~X6Z##0tfn#ZV^1o3FC+4Swo{s4@ao2sUZGsqHL3>1o z85ejaNCpjWv{IWRrr1b?c;oh0mv+%5c3FJ==i40@W{SH9UQ|_@U?$OJvj;jZ)J*L$ z=ephZ?Y?eKj~{I%qbIDGFuDZ(d?$Q*?RV_HNUkPA%895GFSAcxL^AtGFDE(1NlOvp zz2YG|LO!9vzua?ddT6|T*%EPoVT3kg*Z|Gc zuDd?CgG_L&B^?)T7|wD40Iyo`3-?RlYXoI*9EsZflj(btQ@d|-L}!X$?LJoBUbH&C z6|Kj2okklnF2>dWsb%MUr*lSbx{3Ei62wsL ztGK^XkG?QMFs)5{Yu&nz*&Vb1nCx!S|~I>?mj{nNBo+Y>&MbZt5>w=xdIcTd9| zp)QXSUUrtN>+7_U3`EoiZ)v*mb~1Q7arN+@pnOFAY01pXvA2(Yawa(k2I_8uj}qy_w&&TPw*x3^c=FOQ8zO26?jz&2%X>J7Y{!5GWSv46wMLtL=z z(jGw{`OcQ!<>es1<}b}clo!h7xS83BD=CV%Q|zpNEh{JOFxLO_@)DE-_Gx^q2v&^L z?BnH#3t{CoG7NX3{YQB@wkFwln5PyvpN{eqyu7QkebhwxWSo1yOfv=J!5$B52i>r8 zMvD|)zf!JWk8z=#@nR=lF7skE?w)9m^2qu>HHUe5ce$MlT;mb1=e!0_0LEjh`wwr2 z^9C=^;Pn%oAm zUBuLGXTB#QxvTpMaXIUQO4|RDF8UBQmyslmKBYLV7=AnY3*8pAA&Ct9`4ipJ0sW43 z12Yklr2VfZ40YS#p(NkRBAZf*Q;99+lh27ox`fc%bxU{Wl-*(q?>B(8y-e4hl?XHjxcQU96$R{VkSNWXq3zR?1{V)#cTem^OYfagY@M#_Mp9y=cB#1?w+tL$z~u?( z*Q#qTee7(wsXiv*bSB&hK(NS=mZElJGD+6;!RC zjkP9?XOF@h%JmYKuRw9oItK^$EZ1bhNU$W`)Q$A+7OU6CMECD=(Ucbtk9%Ti>Ff#P z`}a;u?a{B-iu4W!J-J@8*3GwnM`o}C``2c7O3$e5I_ucV>+a?!`f;CGLRs8~RkuYC4}WH>^mO@+60 z({geZU9?<#vHbz^8lcFl|4~z={f4hA$v~6@7X=H|i%|Z+4uPDIOHRs_oIwtCuey9o zXh`+HdUPAKeN%8)^}p!Hc*|yMP-(?vx`)2|#O48m z(mQ4cg)X=ad%K&FkZm@7=JK~5Ao-zb>7ynQ>4IzKW3Iwjz@XA;?XPTYWLbZ-Qkq`= zN5;p~Ur9TbE@@2)xpxX(lT7ZNdhnq3*A4W8{?89{{!q6O%y6l+L5?o>_+H%SsCIwL z`^J1KT@BbUJ7SN6?-mrmAt7B|^u*pLiX1ik7ew)deG@%FvZRYi7QO@hfRo4Z9ouVR z-$I#yasX#GIxm)RR?WUvG8WSti;))vKM)cFKlw^zqj;TuLtjG^!2A~Q&l%7l3=yT# zSlv@lD(W;zIYf*h#i>aNB%CRDtle%FdMuoUTAU$QsK?fZq|MSlf-( zoq1L|T?`f9{z);3EWVEa`6>I!D6Kg_UuU!?`HqL2C*leK8nCL+Tn|~o3M1rO3?wt}Nh;)Jx~sZSDO-uc{Y`50WF-FFMH zKPA5>ohz;wcktTJ>JWbyLGPkp(e1bKwix~{2L6~lU?D?ej-lKccB zN_mmCA+xG`@t?n}esCiFbz*HrhuqtL`0Ln+T79K z`aS)D_rqYG4I4nmDJ(JfJUi%!IZdnM(2LP?4t--WAKi*W$hkRj|D)ebomIh5uu1c+ zPuDhKO1fiX|g}yK+mENj-SM~`FsDDZ758Io~K@rF&2>5Z*5f-KU6&T2LCoT@d+D!F(w zCq~eZ|EA=@M`70 zrm;yENQj`n*3gPm$ec|Ky~v|`9Mi@7#Dyp5EOId}^WAg8aW(s15?0kesEOA84qP*6 zz-4j*EMj5Vufj{x!v!S5N_Uoums`3oo{WDaVO?K(iXM5Y@8NZQNgNsaRNvo}S7mF* zjaxg8{I(6*+x|j6=$%LbxswFp+~3mc`787yvM3)-9ONv7pMyt^04`;zz?X%wpI#H2 zgxI>TrZN()yoUrWTHv^T(*c8FEDMJGq#vYV%~Rr)NAvd?ZZ}+XP?=&LyQ22d_don z=p|8GhYrV18t@D4S(=G9!Hd}ag}!Qw=w3)x&n5;Y!?VTF$OAeGd&lf-|0|$H3g<(% zjyq>EiKKzUz?BPoSf=3L3GCSzeh}AuVgFV0I-i;9wrek5UU!A&qUC2caUI&Z=7j4^ z_p&j#^eVnqXxaX=tWo{oxC{yvSEe)<)m;H)3e};5JNX;mKfz&`0DgU6p8GKeaciAS zlsbqbKcx>Iq`%%tFOVehXGi46WIv8!JW5x9FLslY+K_br|H*ytCMDXBH3nlw`)`1`zSt*x8Dkp9$F-Z3<6S$v`x;=C z%kN0F^IZkrg~;!uUe50(Ip1}WzhiBYYNMXDO<*4Z*4>1Chc=aWyg%o6fcs-@e`lLG zSxhn~imYtJP-o&06G; zs>jITq)BpnsG*F-S<|a;K&Xrpb<=^H{YD*wJD_?Pxko+udj(oo&kW-dDP=v z0z51A_yZPIR17}SSJj#7~a;5)z=-bKt zO8@@qWw`Jy<5_OmSyKgz3RVS+;2_T58c&#=_+t`>8cvuQgr4=({ra}(2WAch=UN%7 z{`ywoyRp92_+~9C_?AcMr*9R$QQz6KS3NI$H&9RMOM%9TZ(sbd5;iu5N8m@se*-Xk z)MMlDQ_lzAa{K;aL7%b&a>{tr^xz5BSB7h(ctZWg`j%@bU-<1Cz~Y=A6udZlW+N8&`{6NpHc@Kped_TyDmifV zEZ6iLBjZ@k*>bCa_U*)?Z{Ms$(NFjoJZgIN?d%iZ>{q1P?-)JnaeVu!=Q%TZLG6J@ zwCCb(&T$y2FCG=%LT!#A^y{~t(t<(}ub#bNmRsT9xcJ<+Z{@wxwmg;w>Z$PDSl=>j zT`h8~J6rTSM!8Sttn3HhN?(3kY#86HB}k+nSe$PZJT?rolOjre_8UCs7Zzt773{#e zpT3=P;H0_ptA^`kIQ!(k-Oza8QSQ^pm7Xnn)ngppbUmd{|26q7k=nViRV8?GV1Xje z6$kpYh(TgrJDj&a{0JR^G{9n#+* zN4N5}!i5;z`P_-;mBU4}X|^OD@SQ-+ks7!?O*lGeN>9n)zd8}E3FbSGU1NV3akAQ6 zi&VrZB&u%0xW%jK8TvoR9c1;%ZpFpjP99)C50GtDSwn_onR|B{JGPTNoSI{AEZCiv z`s@`SoDfesZq$hrbu}7d*IH<*F}`r!uJUBZm5$fVDSb(CU*;v&@bT`!cnyd&h+%oe zB5XNIc4#EDbp)3@>8)nxVFyVtBeNXOKQx4ihG z_T6dAX41dzJV5`PxojF6SFvVw5kpqpb^FL9GJYTPV{Aj`%s(LUEJz$b@|~*ecBMZ7 zy7Z#s0kNaweQ~Ni-3eTc5>1Oq}*s5gT;yj~v8qQ_N zr##`R)SIyV4M!Be|6Hd@K_&qsjtN?<=5%6$Kg49TS~U5K*F3fD(xY3~PZ>{#iE$h0 zx7X79Xbss#CT{*?!94rRCgZDKOaJE5C#V00|*T7886 zT6^ZT~j7f9WkMZT~TzVu46_}an(%{>K$b^A2YmY75I z4f^IGTwPN4wI%u<_;&IR#o#2ocd|TDxDm>m|Z)MUGqRuis)GQ&g8W#htIj@`&i z3>*wfkZe9U$}JnOz`nXm~u|g4|mOfL^^2yoBmmo85fsXgFRZk zeas`8kLo^s^p@I(G|9*^@f>}H6q5>N%+5I;yH05YX$EX;p0`O^bn;iE*6|#9jcg^C zZ=wdeiOU#9-b3>gCUr?bWPlzQW#BJ8zvqPSIa+)$39V0gf3Hso$U?*sDy#z(XmpE63#ar=q= z2p3*T$KvMVJ1!%89dDC^WE>fP8J)o!uEAYsKZvWP363Ad2nTb)VvabCHnA`P=a6NI z!wcj_U?NW;;bb)~V0royD$vdIYiYk)@+joEz4$--e#drkIhBZmUB!iVcz#FC2ApFG z0_C!h(}c-1f|4^VW=sx6JX96=cWedD{qrJ3ZzgF-5t~;*T`dzf#KlQVYsY8wNP+`+ zbC23(H$V3qQpK!VKl|w5g`X@WNysg=`N{4@yJr>B>aOX7dUUE0^(RK9S-KASkY|Qr zSz)%btT454@juh6OLf#>*xLU?@}Vid?0>z0J&bcW+gHTCNjt1$d>1s0FR?g0kw9?y z9$;s2rQt>q!H8^bf%HqF)Xr+LSohv4k=tr9!L06CJNvPpe|~Jvt@OTHvF{zCI6;(d z7k~Ql)X)8D`AtKU=);aP^x=t^M?co4(r)&9h2YGP*W)y7=o_9Af!nrPP&Pe&@XP=v!pDf28A}c@U3kD=bOJfpS1;1_E^P>|${M z&Mxu8*_ZdOHVUD8!0`y2M|=+Fm)jvzR-pj@xt8S_0&8Oq!_o%2vJjLa9(`VcO=uv!sE}h_ zzT*q)3x>lN9n5&rgV{mtx@N6nYa!N><1;2rojAI7#J+2L?VtO|FTXr8cYiOsGa_R1 zxG7V{ZHWk<*C}PnloWB>G?OtVW9|uQWsTj0Q>I@Sjkep1i}u|9boE5i>r5T#F>$*6 z8EM4^vTwt3(SEyB5SO!oR&VGG`b-B9{|1gMa?Fd(RG2OYRht=CaG|i6O^Q$>DhL1J zdfEb$R26E7=+SZJMNBY;9G!dYIV`+=x~#C6gS72~b>I_m;Z<^Uv}3s}94uzKM$CV3 zRDXR`TA0z+Bkx~Q4iglN1G*0R8{=^9jmTP?37bPE+xJ|tpqpb!Z+cAn#(t%=xTbDD zJE(&^7T{32M@lF3=55gzjAf&b zNGIxkeoEV~?tzo1FPiwAt}8qDA_{vzNi!c0({%tZYs9JS5Pj`@2DMo9fMch4Ikqtw z-)mFP%)lLA%gOtWKO6^nN=vlEbhtg72eH#HuWXR-2)3Sq53$mb`%-HA=IrS`ao?lQ ztsnK2rky?i$mlZdWp(SGn|RUblbXI@Gw>Pcq(`n_;0H-6gu$|2OPq79LKd$_Pgy#Y~1~_h7zfmjpQ&CU+*7=|d4c6K3_M&ukr>M|yndF;8!Xmn7&b&w_i~UMZ z>e6gb0gqrEM5>C)I811C-xFkr&O zf#kvD*dkJGWlem4i$z*%vE| z^$QtHuykRU;ul(3!>BDErMbNk7t?P3CN_8>4xKkAdBV3WX1OF_?9P z7hx3JVJ)%Te5-g{Ev(_odtn?u{q)$}{bcBV$D?;j8r=Ui z(Yc8J{TDlzAg?GB&)lnxI`a*AP#QM}S~WK1opLEXjWI~rTjz4=REHVdGFMn3o}wjl zROZ^v4A9D37n{;jW&X^zn2-F+u~;+pk%coQEpKlM*5zN(o>l0H_H;&e?-7I~63I~9 zD!0TC%`I@}VXI=cY?^a0o6Cwgn-n8;ENKdf8ocsI>C&93#88^M^u5wWoyXle_0`#v zr`l}QWhX8e`|%eSJb%%J&y1dUL9cP8e~%h-`iB|sE|!kx)6*0*(5&@OAr)YtESAO$>$c?SF2 z(i-GzY{%C+On?9)9f>Qju40{INe|67Hr-&oGm%GY%d)2=5pg~lP4DhC`yk!;)YYq2 zY18e49!iPT^qv?Wtr+q}2AR*VcCHrU_PYI;8E~NJV2$H- z^vvYM@yqBfAbBBqI+Ttf7Cj~;{4FiiY)rx z5vh6^9oK!-nC*{0KC?75)NvZQk@~KUvmIF?X=`{+ubRAe2JHoQgh7eI2#l4TJCOK^ z0pu`;PQ=urBA7ng4>^83M1PU)U`B(zH{y6CKFDus>{r$Rr2@`MUykq3uscN<)bLHF zV}!x{8FK@kS>E~*mM@IGalSvm-)AV#$S20W@8I>^(e?cv{yj7~=l3UheYn%m|8HPQ zc9(`O;uZFcu*X><;``7Zbbh(M4!Khrjb`Zw`Bnm@y?#rMcH zshP#|i}vQvxX(g!lI7bL`tWDm`J(B}-$Th@@GyGu_x+S-&0hY#KYvEdi*$;=AHbh+ zogT~GgZ3~z;Cn!!d5FIsq&$mP@aHP_TpvmMI-jAx$n~`y`1>LJc`KL__rZdm&nWNp z7T*6b<(cI+L4U*fGsesBKj8NspnaD6ua zB+JV#&F5y|0CD?e|K{Ic#-CY#D|!97SeG^I{$$PF@YOP(Wju?r zPILK=T-!af5ml7xP8EsWwNbP@~TzI;%7Camw6%_*q+@aZ$-1z`~h(3IvvuGm&4|GnhTZIxb0M`RAKxF$xWEsm^YBy^B4v(k{ zj=;D?0X(i*#(jkbjENZnHj}mpo`0gGe|DKKoz%E+EZ(o(^2zf|C;{Hg-JVO{s98`$w%@dD#|2MJDu`Z4f1NpfzIfunXQtENPp{m!_6U8x z-KI_A%G-`^y9+~r^sNDI7h?=I%mA2~h*7UGF+X=kkz#7uifpp`E{qf*jvRJZQK1B! zS0bOYX4vmI-}*ZJ=&j?)k3T)9s#9nB6N$>o=sM!?Q}M4ok6cx!@3~$ON7T^ac zMzm#dT9vS*n4%8DLSxhb{-d8({ab#*84yGc_28V8krpp$Y!hKO24C@Bl%M5 zLw6_dreD4M>Z|01ypHpyWL7MRO{gB+W1V&gT^vh)qb2k+vQ7Mm+}VA7`|`OD(o5*L zT`@5o7m;bxbD|vyq8;}p=b9PaMPUu_%W%SVdRcddJ_==Y5-mGKj@uV#^fVam^Zz-n zm$!3juu-Ii{6mjl44AG0&nUO_l)|3FObSmc+|N7@8Z(#Kc1cnyN)W2Rg;Zd65+pZ` z;h6C`GviH`{E}!Q|5cFB1slFOa@m@-^pD>h7q8yBo&E{a{tWUONFAy>bgk&%C>fuW zlanO2%S{|VK5>73c}0HS%7Vf!UGfULmea2)GODL%AgAiV^-sL`!jtO{cFcU@%1^)e z;?paiphnVnxGmCgcVw~#SIa~j$;Za%j@Xfn?u(}mTAkw$ozDKZxJjpTT&#;1$3!L% zr;m-a0cQAwILs`#a(PMOdsu0(7XSjhteAnoSIOe(VbeZwkl0U&nIvMX z@?%Cv68rKiuh1?|I>sba59zUf6S*>$gp!wW=5K`~on9c55s7y1;$)<^fQ;gQ9U93d zzG(&x9}xNmCuqBXhI(M1%|DO~&4Kmn?IA&P$rSN9d#dL5x)6+C@~DdvY_Xb{{~`_E zwg-aduK(*=X~p`!to9Ysf9z>H#OEAroz}R%W4qD`*hfdcDt1zUd$)M{RK1QlUE#-f zH>j&I7_H{yB#YH(z+aXg7K_PnrmND8_*|+rCfsN=##vL-qN4GaDJIHsmv`q{Ro_|2 zSzX9$ z%6#TlWuT;+(HI-mKPox`LyWbirAEb=jH1bCinI2QVi1^Oqxwa~L>TRVcnw~s8ha<9 z2W)@=%#Y|ZOgYhvs+c(qai0=cNL45!J1~&w4}jAY78Vw5?qQB%U`9vMpPLUR2@V6u z1397aNB`)U@Gue-0O;UFg)hyBy66G@eu6NC`BY`jaYM)tjHU}d#AGB+<)yr?DjAQO z_c%IySWml+(X|ISPep3-aTp41HqHRf*VOD=k-Y9(FYNCj3Oh*0IRk(vfEOoEIKFlL zDYJ*iTUU`d()UyQEnZ9mc?M!ZhNGjZghfZV?>_{Xu5&d zS>fAA>}GXGR-`$?dSMezOKta%TsH$toc-9AR!OnDG|794V!3Pe0x!+*tShoYc4fKh zd%2?AC>Q($g3r}cneL>oh$s6N(eHb*c~{1?IV#LRz};eW&q&O3Bn%TBn;+V@$3)>< z~sa8YzmrONE;_|!F%Dqs4m zX8*!RVBG7I8IdLOJ@9T6%QFW@yc&PvCWwAyFN+0pL>OD0fE${pz!u=@1asEKFJ|n< zE9;Zr-qUz#qid#kDVCJEb4DGXOHLyVWL$r1%I8{A42e1zN1(e>ZuupRrXUwzeH7cutHL6({aEpJ_>vq6s zX~9|^II3E_!27OI3xp-Ya$!}2{Nt7hzG$C~b>AOOCB5$wZ)hW3z%QOjj_)epwhDrK zjZ$>01-KdYa$$#X^RXqM#UBoYeA5ip&bF81Jb%ajX2`gZ`QL={TtrE!VhPN`Q z)>||}PndSxMrGD2x2+xD;4f$lhA49{rr2?F?>a@7A>Em2t=OuvwJmE_Zo`|uwg2X$ zTEXw8=);QbU+UHo8r5YqZl+b$^ABJXz5@C|U@-gT0&kx}Vu09C>jxH>ZZ|}j0V(wh zS^&m+b8ylUUqzsZYOzlvVC1>=0}HqRW#7kit{*gsz2@jqtww1J^s82(xuq&sz^M1I zVLJ+y!bqq0Wto7T8I^YLcAm)Y7mjwf!t3LGVRZBRxyStEOQdc#EnkH zjQz|rErHY#o9`94nTKnj&OOAQ}(a6O3`jyr)z@D zu7yxVW|x<)75aD}YMv+Q`6}yo!3FI@T(tM~H{B{c?6KCkMduvpe$8QrbMK!Dm_g19 zKUOn%#;udd^M!L?!M{eSvK`b88a_)mSI?yHCpmW$%tj zN$dHyX$rU(5TCkS7xd8M+MFycP_)~eR4rA${pe_ncCy#zUu{7>d3V4~p|;ZU+Ki^s zytC&>Z4I4QpKW)mN=H-lbD8${L3evZICef$KM)1!sn=D%PO(<{)S7UK+voe>uob9QInG_~DQ~~I zxWKj0wgnM@bGJV1>0e*X_c7gbTJ!7)Z(_8SBGnRqycd;Zqgj>+XZ)dmk>C|&neeO^ z)?&}SihOP124gbg_FH=U_;(4=iG6GgpNJ9nV&zlU#~%4d$=U)_U$vc2~)+M08Gb>guu zKNQ>VI3~P(_P8eid+2OUG;PmRjhjm6J);F;LA5#awRhQL{`Xs66Ta|Rx!e=jIkKnD z7CWB%{h71Cpy$O-PMhaihyXfV!FAl6cSg6C{;iacj>L2w5Lq`S@wwLKY6 z`$lGa9ZG6r6#JWryzCSC+!Kp^nt^i|t~g7zY0{)w*jDO^e}Xj6U~B_Z#1ENNcBFeR zuMtDCE%X)t#8cZQN?g7|I~G%M-dUIK=uVZ8ogX%*A3~omW~g7{yKNJHb}6$>nxwva z+4rgY&snB{v&4B}uLjB{=ZOjHmvwyn^~$+L#jbtp?Aa#&gk|f0>1cb?K1YuE4840r#ny!P0?lI{C47zy zv(DRlaxR4+tO=jWap7~}4}v_7Dow#Xp{uP+cd38dQnnYpY|EDAC6mYEeX=mH!N^I@ zm|UqWTEAv4FO)~^KDEa`57f`{9gj|CA<3|8U3t-Zu*2b=dC`1}98dW9)}0qkB_T>Z zi`%$%6(KWQYi#Sc{d_HXI$s8`ENuULMmBGe;nBk0CcP`n*p-)rmBOzLtZ9^sa z$8OMjfK^^E)z~jzC$4o|s$cNOomT{Pvu9kvbD=uFQ}Uq*giDv~c#*Xz&XPz2?P^f` zg}Y1)hL}j3O-VWDIOW+5(aK&AkAtzg+3voPN5%sCBQV0t%f**kRbg{r`U%Mmky6ie{?5CZ5m2&oQi)2o{AcoRNsC!O>I@hn=-$q?CQ)b+YIP|Z=`DGFEl&I~LEr}t!0FwmL& zg*&%RMq)C>IPM;3!IX(VkziSwMtzIKjefq>o>I#T@}RopMahHeMsaJFCha`NF3JF+ zkOvwmutjy>>a|Jnp{k`+)q6zKGUj)^v;`n3+Bxdf%Pi@c$ym3y30`-vO`dsB{o~G? zp#xoT{lY|_Z{aHJk0NKHT}!ij(F$N~Rc~F~!0oC&C7JpS?18a8RXldC(9x$R> zvbytggD#nq^PIc$p!&z2yOd9xvZd6v>%L!{5~J^m-iFG6KRnxS^Ii9iZKoi(*C@qD zq|Srt#b-Y2snvQPxsDxxX8IY^?Bsk@vO?!h zP1T*<=Hck+sj5lOxuVXUDgI0`s(gN~m*g6?e&f~=6uV!}gUb0-ZMymxVWMA!!9Re0 znabNw5EmfeP52YY02io@;(_Nub;_#eIqin5_okf>&A~~F9TkD%$?ebxSZfL#cWxV2 z?f2kkciPtX(Q1^oOucFil3Sp01&nxK-N1c5S#6h`JsqqWV&BFt1#dr1pfqZGH-p=s z6ENZ6n^o%uvQDk|edK(oZrz|wsTYV2ckYN9h-!E42;GFb7dZ71i{)HveEm*5AL{w! zduq;{dw%$-0_Bi%?#~LGW7K;KvK^@8L-i}HDjP!Ok&sKhotI7No1e=ERhbhVR|xSO zN7y`fDx*+KnSL6e21*9{@!j~lN<^iWs{J;exlmgTc>r^vKLtEMgj^DUC(oan9x#&X zIyK?)WBHz3_NReDmtH^9GJd55|w_fJXs#Zxs1N+_0+N zn@9X}^}3?+8t3ed_JU(JgaN@CX**;aAvA!wuT5 zNGujWppLe2Rzt9jcP*n7qV{jA^;bLdk zYV1N9P4q=>fcS30VJ@9%OY~!2bnC&Mes!K-r~&VA05*gdled`y)zW}L6_w=Bv(`nS zwZL8PMLF5cFH4TwV=v#9Xz8wS}~LuVHP>CueiZ;;b-_TNhSz zlR3BrhTWXJO}GW;JzmCX4lnL$3oS)$1O0PrxQdtBVtsZSNB@*Y;Kg2w#-%7H9Nz4qml>O|l)U&&>C9VkQ+L*gdWU%m`GgwXOX0ar&!_zqZ_aPCIqkfN5pLtD z@0@SZc=2mnXjSTXN}pV(>JvI=jZ@rnuiF?b_Bs#L#)NcFYwoi_?juKSk7aop@(kwo zutj`xopP)+8s+rQ5=3Pjx^dQsb=Ve~j6X6p&thx?3Gqui&v*&>Tv(MbO;{mp7xoM4 zC@qzjqxptp+vy>0+edaKw1H)Lmh=m^vFTdMo7mm*lGj$Q;(qDvwm!d1{Y?v9&3!Bv61mNZmw}arkuv7gq4s=4d{h{pRc-pQkzo~l-Y}5EEwWsuK_2HkV zRCY*PtORG-ruD~XUWSNkC4m9pW;|~X7Ayz;vWcUXUNe@fZRK;BbEODRO0#>PZ|7V!eAJ?1%ji~JzRi4QjJgWK+aWC@GG-*pC zzv=%ktZBD|ss!o$h;RG{Otb%kc6S5Hf_s0;PkvJmYn*Fts#DtX&FQi*sEcKO@qZ>< zHb}hAgs1a1RENUl7UU2;Rm=QXxR;quo(|)QNtLT7dzvk#Fm^OtPWhrbH{=Y}Z1N}( zP4PW?gIgDULq6T+yXa3tWGAnXB*SCjBn1O`Ay#zunw8+GbSF=X>NhZNO#>z)f&|@JEY} ziJe29@i#X#;a)h`eB`zt)xHOh9H$L%l4_gV?f+2~HnjJB9%w=AacVMiiYwO%%vhpjN znQo2`Y%pyi2cB^YJy<@oe?GU_xsiTgU-y`%?*|{$ zJ@x@HNFV8bulZ|BO^tq4P0i1LZTb0U{i>h;d`D0Isuy@37T$K0kSgQ~1wt3JZxO5( zb0qvLDUsHc;-VB?N-~STX}DvlKq??988&^2W}5PP;cMh{QSO zd5uam*8K9sHlkTsLEo=fDMhWK>(bMPoVw}wym`lOIyEFMoov*M@fkEdL`REZ_G2G? z#O4v6<4!g90WBFhQoI%wmk33L=_$!NeNiPT$Oq^|7a$yDIl0*JRbnYAo?O*=VUNBm z3pd_O-zx|dAbYo^3-NK@DGB(*XsE*rVSo7dhGbosS^kEyeMzujl%P3)f)Q&s znuMFEmi98A9@ z*2wEtufBwC4-_DJ1DzzsIZiEj>@i%!?8}$KTQGVn_|jZlQp^?{W({*HTC5gOPv+DB z0kV@<>Hg@LnCPoOtg-uwmv$*AEv=lfeEE#dlkx%u@aHMVgEgALRhza98WH1ES!t?U`&sbJoK4V~RUU+zU$*@&D@V`|<%1U4CmY$ZD+Jpb}!}r64DJ{Sl zDdHjxeCW7{EBvjXDuPYgvLrC^2oO!g2%he=tfC?~skoqW;|)WGZM=Ty(5cmo)gKu; z5du+_+qrX2p!li#?83;9c7q1(=^Pt#lg)lCSh0KeimTVHqkC)C ztqBxx`qG#&hwd4J|J`$F%)Ot!bK=uaPrUP~{gC)p$7LDzCwyeQq6M&O3rv{Zoy&57 zaFH!byOdp$m0Hy;P)L4ue0*KsK2t}{_ZjoR7L1t~h)fQsN>+0Y9x!>cm8m2^0K{*z zCKTNEz=O2~6FX&2$y>Z=;gY(m|IFVkj4A<(JS{Y3{3C!T~At~rCSS3q#zheiYZVn{ez{X z@3r(Qvg3Ms%hEvU^E17LOrxu5PjU@iz}7;yj$jsSLN=_7Qqab|vIi5sCa{IQLCZ#E zU<{AUE3LY?)U<@2q9>Pxm#!UBoaY$YsC_{mT2a~Wy6i6dZlMdw)i>|&l6_sj9-89; z+ZXb<`!;*j4H_2#!O(zh5hySL*cLKeW10b4^S1;y8nkjGgrjKj^T%^YhhjEI21Yn}}eC<L&*3VEKF=J zwwh}|1cagh?T0{d(*pZJ#zz;SpU~`iu4&^TARIJgI|K@J;I@MzE6tP>Ps1S~nA~gv-pnx=BGdxElb&tZY&TNJ}p+aCD z>93Q$^w$RL1)3X}BCE3VWO_AQ<5n9B0TIZ#?^q1-^c(P zRO?kVm&eOww2AQstjISs{w8$yM&M{tU02zS3NK_e36YnA-r%s+I(Z|5^iadS`Jr2r zqiI^{ZfJmw>e-D9xFOZrZG+3W%;76*6Wq~UuY5zm1gbkX0#~5wvNw&=0-+K2vNtq% zw?5p+@DvqTf85 zm;+W>edwJ9-&WJ}LeolWL$EcZmo@@SQ>v)Xy3wggN_i@u4UN^UZ#FVIw~FaA4yLm- zF+(-1R5mmy|9WI21N5spdhmCYkSyc~<*w06jj50g=r9`Rcsu)bGSj`@>Wou?5qtP` zD@%)f^cwhKz30ZJH7m6e*bqWJ^u9*$=&9$7w+TtP|u9H+e z(fFN&T{ynm%y#4Sx{OF`Ln9+@1yuT~p!@Dz>n20lo?h9D$$`aLz4w%cU24g_v1g$p z)|-kRK`{2Jy5}Sk+UvT))GH!3&i(GYxf>&{NG-g&Zz$2eP*STGTbv-33s3hakKEygp%BRd^AUQR(Kq?ZEJYkQ?YIy_-bXl z`M@@ygUfKiW7Zm|npDu61!$v6d-DNrT9=n`Fi4o!IxIBTW8N&J1giWuA3x2v31ocr zY#p|o-t=Z6!EHn|A51^Cg$zf3VHR=)wu=8-Zg?~c{N@=W%|}sdZ4?=wJnE@6vq>`z zm}a3cK%=JlxNC{6Bjam;Fq-XHv<72M8bZy&QA5U2^O4dFn@N$yR^h?JplTM(ZX>Jt zQ2MpKWOzomj;;-d2sH~h|HfML0d2~LlVKh#jBO>i*V`5%kz`iWX8Z!UAEv@G#yL7Ux?cb;%_xl#WN}r{XCc zrB+voQm5GYMweeHl|)$el^O*0!*s1A{1AfyLH|}gvt!ef^(^Q%12LpZke*eiXYUgv zYeq>#f`qFLoCh9QO@pY{>eFEB;-`V&*nl=8Exj|r&m4(0hX70#@h9%>GO|mTk#me4 zLc=YMhA(8RUt*QE*z5EHNR7Nk8$Jr z4O&)VTpmf%Z%8NR<;Jed2lX2_u4k7{c@=qsXU{4MsR{fz4F2fue@+$ zMO1iYlxaDC_*i~$Bo}976lYB0KToEXO&VKC%5`;#Rr8izQ#J6$l7bE?o5l^FGw=3^ zJ-elk92IMjBtz_|k?GxfPP~2IoZ;g(rF1ALxp83CHOuBzCD!Tai$-xN-YFz8@o@J;3$|@raH#v?#6*(PJEmaWt$2NC>9!pYKe-vS4iS3Q z&kgFO+lEY=kplA`br7Pou26rtB(-!9Jzj$)xvMvRhu(B=|qb4pSJeUkjiO;unip&kk%IqvA$7W<0!{U<+ zCR5q4lGF6lpGt<6noMDd@nNR)jM!wcb7oe%yvR&jL43*p5*!{Ht2K&`m^z^62=e&u z^s<5@b;Co#3k|^uMH!u=^Gs#IT?$h>BxSEIkIl}unr&fSQuD4QtFOsVEjQZCmh7CE zE~|2qGSUjW29=reqjJ-Wa7JWEXp$+fU1n8DPNCQ#CMCjJK^vT5dm1v57diH_w2pi(;Q{40TwNa0KRQFS6*04_o1P8^o&k8FGE}u7| za7s~f{>bo*sOSvyi1^qcLt^7cm@}fIGQvmZCl^gA95JsvxGXHIeQZ$hfKP^HW#)Fc zsAuoo{yFKfvFSPeb9?u^r~^G|v80+a(lOT+*U!}t(MR%`u7i*-^uUhOdf^dpH{(nG z&x-Ke4E!TjBnc|93u)S=^04V62#4D+&Gt?`kkpg5g<^aE7SY*^)BSCGdZG z1|F+NR*opF8dNmA+lXnG^s1=rxsmKBU3hq5>F}EG(g(z+cFPOz+^M|Vgub>;+Vo0O zB-x=E->qwAZbV+U)c64lLZUjQ8l;fWjB+y17#tj_iAw)y+nnuJ%-Q;%^eAmaa61#R zwWFVfnhA-bj!DUxGZN@<%;NA?<{}bY<|A{ z&Rb)b_L!NoY-6XMS$(>%s$Bi`%1bX@`St3`Rb^FKJuBAkDx15q$2C#Qca#TPwoYr` ze%e+`aQTkqQP=cXIk#-r+OVF6;bU_ubLgKt_wCz3Lh$GCu?E=Tm>|C4LsMAfLHq1?O5Q70Udb*gPoDt6&4hX5mR1umPKOxx3duFpFX8(qqEPA$$ttQy5J!a|RBa^Nl6W)`9&aVq|_; zWWJ+d%JN6Y))q~<;g4l+uO-)9w`fpoOx%#+%e&8vi=Nqi`S2leF>zIkA18fC)VRrE zmYAuR=tH9uRt?j)FD%$oeHnFJR=ua7u)Tg*O=5JYe&duFt6|F6XUy@T5vdt^bGNt@ zNnhMq^Nk_5Sg%Qr>khpjH6k=l6SQo^h-D*Y=S3Lse>%dPl$yx?iJ`olYR!qMN%%+R z$u%5zjkGPf<~yMRT_0P0r1_Zu291bi(axFTY85 z`GHLX<7R!>i1LJj8#ew|~%$;v2NGKl>hGj6A@rLeO-9moumFcNP*k$P^^a6hf#3MLr}$$uROh z?MUyVM`(sLaov%1t4juzIF_!vZ{4brs*;yAQ|O~Kmp&pc7}opR)z|hR@Arrv@0dFw zTKtYaPkWIkNLNxpo~GUDb7Z*~=JYwj@--YhE=& zCw@C2M*N_A%y_!;n%=Jr?R|~o8qH+-80}0S9qL39+3Wnno=H9;Lx9l_#8E}&*xWvG z7Gt~gV?O}9M}It)5p1-^_0Ekk7mpNIldD0C1ac*bvL(k^jUCsdnKQTln|@ADy|OLS zoVL0Hs~bhgt&hwaHe!YoT_Fs0TVynn!wO!N-?a(>;$ssdqY~57ixZ>ElIXW@(KAH% zCb1-xMJE=grzJ*5B*eul#EXoGL9NTP4PpP@bMoX(FB;otUygdQk(iLM=j-N63*Y-I z6uN>UTxXNdDy4BM@MB9(#B-!Zs2DYZlPk>za-^0Ni#-Pv6%HI&STsNk8aR8dlC&yjgXmSOU$Ie6H}tO-^wFUwBDclK?*S5CGhvkXHHaB5`04 z>Q(fU;p+nJgq?)4TJ%^{xFl#>2d$QtN0X?iKDkl$gf@a(leM8Vxl>GRaaKxEk^;K& zyO}6Z(O8GOL87tlGFwz2X;vseX&Gj1MhTREHM^?+_F!F2FlpE4=+Qp(k1Oe)eeb`& zFYVZDx-!PqWW2s``?iIzj~@N{!fo3ZI(~01-|B@8&?Sg|Ix>tT3Yl0f2Ee1k&SjQB z$TUy_nW@ASJ0~oi3DfiRI+@m7S|PaH@Pfub3R7)KOf9s?tBlErH6A*ITxu=0C0Usc z0A-eZePK-M1~P9$O3du!?AvMX?b&}QqWV(k8}xVj#~bZmmP(z1?f6TPb=r-5O)eng z$ycXdRaTqhr?hX(&%1=*RA)xRwN!3PV-aJML* zG?bMYPG+iPf5nKA;>68QKDl}0L_7VLA{u0ZeWF-AaQM=t!v_|>@%zGsaaddUe5TLE zI%5DY#N&)s8J7n*0%WQ8!Hrd$!LiCzYcH&_b(z32Of$I=XA-v&V;}mHsPn;r_%O=* zIO>5yHh=j+p@Ix@bR`L0Np{_&pz3Drg(nuhOOJU1O@3JT?jlDeP_@%9rr5G9#%E^! z;CSEw78O9u<4LivKB;9|Ju_H~OK=if`rTUnI3 zUo&??m-LR`&_`Aify^huszv$76t?xDuV!bz5wR&rQDGqogou8YGbYs?bLVTxTq3?g zza()lzq^0Nbj?Skz`s&i+$*(1lr<=#OsmWBz=h1ierZjZXJe`=Pb8 z$B7I&(@Ay5WlhffUc?rEQi!blrqzwl`)XQSdHha4=C^0L;?3|orNDiVjw}%%nzaB5 zt&Nozz+hw9g!PfULI%nkf-}NPCbZ@#OEJm5LEKeBf|EnZbT@G;63g0hw>c?}xUpGA{2)&7>U6g0;yAWODv z5qHQdfMNxF*u(C9Aks4<){WF|tuzJ~IVJn_18K%>(M89)uYyC&`Iog^QZz*ppysQ#0dtV33 z-B4IckBJZOx#est%yns)2*H>ePbR?dPKQ#5P7l4D<63mM z^3$T0sgZG=p6gVnO2d|I>rbs7*Ex9HGNnpvr{_Dx*0{NzHmX3WUJ#gDW@uM7s-t|( ziGB=RH@SYJvC6o{Nd*P%8aEm{wsE6^$qf)TYTOQPNZGhSJVp(gNXz8?jr@kH+2%5oPKo#AmqX4{z(K z=)cKQ?WANj(8>mf%E&8;xNI9|{rWL1Go|fbj9F?W<*54R_gnP1`SU~d4R5#nUTA=^ z0v?IIy zqIxp#o`W|}PYQhlB@yqFQZB-4j%1I85w|1&FXzXI1wJHD3iV}UuHm2;}FW-8uXehOk z)}g#)sl6*7PpwG5*65!aOAXiYtQTv`cba(Qi!Cx(UKcYNAIIxDGIK8V4iiI6Sqv+y zc-h5l&1zpqY2CeboeSQ}_JoiH_M=!>CCe)ClpM07U;h2(j&V)PH>iTOVRf(;VFXrB zPo-Jp#$Q`sN-Jp{Z9;wJJ7&R;!7A+cV%Ez@%ESm!NEu|N$0lP%Npx}+s-K>mg(o0C zqiy!+xLWquWOx~z1V59r%DL4+b1pPJl%0cejDde6Jo81LM`1v7JT-&J=W1PZdv7B9yz7$P4#dPqbBsx=9`C zj-A`KLwb6H1|1qUNKfz3X70Fz4vp$|Xnm32u9*#EV;j_qua#Kx*ZPTx_5X2W_g>>~ zxVr1)S(r7eTR$$gfpRjjUj0!G8rDntsX@c^xZ>>%>&K=2)UbYHJw0L2)aiW&+9nJx>C^thw!s=O3$3( z%JQZy0RE^qD?&P@Tl&IGj@M+N?w_j%gg} z__0<*T7%l|q~=HK)L+*;sl;C8P=w6amFawL+f_n-Qgg9kto9uW!&`IsdrpxyV1!yk zS=%njfV&~B{KDnOe)Q=UNyULu=JXhGFoMlHFf8mxr}7V?qV-(7MV|5)dE#O3_28ID z7G|`1iJr!g2;S=KC&|JFTe23Wp|8XJOOMl|Bje z^=WNtRMD$8suf$kMoO(HTeR&_AHY|Ct4=dJ#H z`CFI%vG-n|lePYoT6k(*R?ZFg#$Daz?&N6+wq)cQ@ZtJ9$W( z)ElZ9jWUzfTN0)n$LT^#D92R^QdYq;_PaT>>6#I z8MU>>gQpK1IDIhVj6tU{Tz3Y~zWC3=LtxgM9Y?lS;+6ElQzAcoPH_Z&efG1+DT4za z1x~ge+40R2DGhIFcSfmMuW|CtKi!^@+PPkSrwjcWB=*11DZgIl)QsDIx;eRVy};=+ z?QUt9a^kOPsY%1zPZ-)Lru(cK-rVd~)gyN<{p_;`cUGz1>K1Q}S>0nA4V}<_INPEZ zuaV-_a|7@N=Ns9Y!3>wRY+HQ0p!ty#X63|(#iw4vAW?%&qEWa*6#jP9mbeCwo-up) zka?5l4IMsvX2D>0hGnG8w9JaY;fpMa8bR`MF6$EN2@@AAA35&+`^T}2T)tpp$lw?d zG7jogunI~V3oUAzr8BH)Udtp2jx6)vM6~R}zVHEWfHs|oesCL2qq}64l{H_2RaUUX z;@PU>56Xum8XuUC#+Y0d?8I2C$d=!wXE_zl!qUUl2(&O7^+0&zA zk&lvPkHs?B*qms@#FjZlc^&FDGK>x_J9OyS0sjW}n7=Y`|H}D22JtUMw&-XWN%cCk zzsRmrcXlu6)~z7A!_OT$+}%>kXc=G9t3$`yaV;{`GWTffg8`57Q%2((^@u?81@ceL z4g5uk>U8Vmdq$7GXY#F`0%w#aC9en1DaRu8NsTiCRh8LGpDzD|>)dqJRX1Iwj8}6@ zURP>7-}19@m~u(JFXisIz^$LPd|ufS6Mt7q;IH!<>EpuYNqAg|cSG=e11~&@$Fsyb z+;D3w+yU3E_868{9Xxd6MC<QlQ)<5QF&6DACqc;k?X6NlWWH7>aQj)L27 zFSz6Og4>@h-&88ju-6MVu<>D6aDObDbBmPk8Z<|ZDjih`uUmLuDjVx79Xh#!g<#g; z-WAXGl(l=dhgtvE#Ty_cG$KObCE^jhwvbdznedx{|4g=$Bvaxsb|pH!rh?ViygX2g zPg+y4D=WQ~`-(88)Bum)cJU=Lny!b67j5 zep|j>DSLSi?rTfy&c{mWG0Q)CLy6vi!Ibj)@ihXcVw9+A z_P}3tCCygZ3iLbm-&tX<-=K|l#N1G8M0D-R+k$J%w@<2DeMro(nvRjW`dLi#_8BpE z@j&wAA`&C`=o>fbZ8MVHLLoiXilTd2h?co}+eYS+X%-FwYj{^0DZ z2FJ&DRbERO8`~|eZPm{_KWQnJ1Db~mFWAg?(uso&bwc2 z?`|J@T}tOh`T2p8#k}TR>ztj~xzT{p_U;3ljp)&1c*bI%Z*kdCK(kk|M=mpT_qg<) zkz>Y0bmMpHP^`a=K^y8sz40B|C-Jw~eDn^zPx$jQN?1ck!~j=l*8#7Pt&WxD*ySP{ z5MaXa0-I3#;ny)QsMUYB0UGko?xbW&JGtzB1?!U)Sk1;wjMulJh1ryH&FM-Sm+h>I zwxQKd`{@2jffJJ#98asG$3#RZalP+OuhF7$vpTZgJ#ZpAW)$`)?AfwxRPE}4?`kPE zYS`;EYuvJW)7gDW>P{b=Gj-S~w9gwSJ>WL#w*Cd}GrOTWf9cfXKPR=xZ8^|BN*`g^ zqpH-$euiq<^S&H%!Kx zQC(ZBS$^}HcXMM~hsG8>&GWmt<$Y*)3k!SwOX-ts#ejmFjf-2U#l;< zu>WQ|v>d+>MWjV>V+!rn;+3%f*=<(}Z~DT^IkaR84F^M5sc2rjtc%Zt=FBs*e{X}9 zI{m-7k=dk4E-whnQ1hDdBC$D*GkL{WPP2BwRb)9AZ_CR4uk5x`9&XjOL+ieM zUp~^IYt!Dn>PFqswN+HzUcH-k?QrDfzI|Kc&zG=2WVHhxE3JXq-o~)XyW=|}&&b|A z!;ZOY1EZz?Pw&`MN*97z>yCHwwB(Kd12*kxi+0UTsWYiztIa26b@MHl`V4gVe{uI- z;JybMH|w39wUgUT*?!OJm_16z9N}cxOFQXh=n!6z2j$NrJ*@oyrCpsNvkJBqj}5`J z>V%Ow+1ZJ|gd4V((-tc`IR#1$Z_Dn6@f~he#e^?6Q7zLr}z!NrTX_r(@@N;2YU_UZY-E z!_pVrzoU95UXz-kX<67R-eO$s`kkupD7RI$_~YOs_us47d^e4$xZ8WoTN_^w+v**7 zUujyp)%)u}gA3Mn@n+6}3zj@HwsdRxwNKtM#oAcT?~*cGG?VV6dti&sr~AR+B`nVW z#4AAy&GcgKpI=&3MahW~tLM&2t;zqimcOfXx|k>W-R}MSlqy~J$$_tn1E23TehK_aN=bj@|D*9M z#w#&a%$xXa_GIxCxLficp=-UGg5R2!R8!8{3 zT%hy0rswd`a851B!F_kgIXe;mHD;DR{NP>%ycDbko*<{yaQ_!e)1s!ykR#4Vj|?iU zaH!Jd%Bm%YKkwMsxm?uIwH776;Jw?WpAIW3Dby~|(>Q8;fU#x5H+}JSUzmZ-lpOZ_ zbMRRve0C#8x#vlxT_DhS=8QiTH-30jvu5#uB~J$4Fg_^G*L>$YeR|i7?^?8&uRT|s zkNnWMv^;$@tOew!q4pXW$Z4yrQo0V=*=T3Kz{~v(CcmPO4%99R^i_5hp`L+hf$r)= zToWf>80M>N*z1B~)QXkGJ25rU02`%am7aXKK}k`%KD{cn&7>w{XY83+JFe>a%uFSA zU(?y`Zm3aZaQdjGb@kE3t&S=i#?8RSEhRyzi|-X5Q~I^Dx2Q*Cno5Rkn0CN1C@P(9 zr`~GED0|F0?N7=uIoAZ|iX6kE(h>KqIxfnNG}RQ)f$Jt%*Trn+^l}c@m*#oaF&)>f z*Q3?@%H_%TTPEiUwHGU#k_O(%m!`0GWepheCwEj zvOKDNTH$_tU9f(k>w@)^I<&Km)ebvu#&w&u6Y5OV;Zf~nWtyDh>z)mjbCcvL*Yi0# zYa3_OkaHW6embsOZ)B+VS?BaI!MYp$o#a-RLpMUS$DE^44vDg zJ)>NMJj>2?!MX2)Wzi!gPe~)!@wv6Z`)P+OJ$EiDUEQk>P;-%I>2+KO{YS?EK4-k4 z63&&Dv)G4z_?m4A&OLIW8jZrUo^j#tXcB1R0+W=btVi)@-IJ6_fz`^=z-@A_s`;hf z5`C)%5kBK3S}!I^Q{iT%RqN8m({K2Vaod#<&$l}F{gCJTDt8PUHSIp_ldPP+;6KD>Pt3!zr>D9b1+%c?Une%xxDPTx7|5Xxk>3*<|g z($(hztGHBLHk7qy;Oell+ST{92q|lU(o6YPUlJ^94C@%kPro!fmwztf7k$YufyY_b zD&|?}qWyUO&_#9mC5P{SC&jdl@wZidnL7)2wJpide6dh}0dKBPif<2m0$uzdU#B=R zLAa34FsG^5v8FF5K7Z!S8Jxm%8g72AKc?Rm(pC6i9e-9PRz^*$D=BIe9!9o?AyoeJ zrSWk&+So)TetYeN4t+;G*e6QQ7#is6n>hE}yNPuZW^@=oqFc{q+S#ck2i83H`L!{T z9R}!13-#(*Yc;Lpz0IqY?SV%(sOlOn6D>7AQs?2Bqb*_eW1F1V;7Dy+7TVm=jEVJg z59GJMKB218Rk>+yXMJCtn1&;p4bx^ynb!t}>L2KHz!vl$uMrI{G>eW>(VWuJY@<@R zxNWeqBI&MMZ@;-wqi0>S&g`AMsaxP>b?%W{Z#{Ce=9^oufmUPX;=teW^`hO^k1g4u z`IS0dp9&N`^`z1nw?P>Pn145ZLK$o0hid52Q87ujsQ5T7NzKWQN>8d89hI7*B{c|q z9Ju3orPlO0H|k1P{l+=dm0HgS?g)IW7=h2Bu&>45+{UL$9#mE3jX;j7s<)pCd}vb1 zHbpVbKrihF>TPQpWmne~|7<2mJ6WT8jpN1#HPfq|07c#?3AMvfcK&TtD^2rBg*1xx z2GXDdgrzB;56(%N^7&Mrrm}nxS6UvvS7rHBO!IsB;M^t4W94I|3FQMS_S>$rEwc9# zJz`HzPY#J~;ltUD_V*R(X76=o7XG1?E0h)(YMX?9!*)-S#(#E&zxR)$B%``AA~QfI zlm`O4ca)3|%vKDg_lxQ}#l@W{FjU#9Q!&9Zzzln^O=Jd!8e{d*oL6d+J(L$zg_5K< zRJx@H8hxnT8Q3=|aAV+kpVDozvQFv$iDaY>EO}NRU9wHRR@zo_pr`%~@<~TNVmZo+ zBxD3bA@paBS+`OWT69R)swIPWjbF4%)9o{qZWF6%MyI^-OY4qNx^K-4Yz-W_{+S`I zu3mG^#%&F@j2XRYMRIz2Q*~R(p9a)y9N($uwl!*caofPLz-Ng`N_=+K>c>UbtJmIL zFlESH1vT=2riKow;u}k2lK6nbUk4U{SAD$W95e@?l(z$;{pLV@qU!En2maQ(`gnM{ zu(rzn#eAXHG@3ASF;R?VbmwZ8O#*4I3u9ikMQ zgAS?t%!6tPHCOl1wd$kh0Hp5<;jlV{4AnFd)`pCPEQK_NT%~@_V!pz8SfV$l1NOEw z$au(HXxvL_MsMVGp3?O1f?|9_U2Qf>Q@67O-Z54nekG;Zn^GFb+ZrH!&rog8B57A=#5A>?B#N2FT(=;R3d=K?Ftv*Ulgm0q^d$l#@X>AStp#PN`8tIg) zcc<RZg6I3~T7c?R)^aQ|-+4wPpZdiHoe_du%ZE96;5avGHFkhTWji)c#$ zy#@`?x6^HM4W2#6;aq)`eIv(d=`;w^2XUK>e&!M6vjF_8#rejFzX#V}i|Z%br_sca z48^nWF3+8xeFd=}F>hloEFP>d$b-cPo_nlWV)4LSloJPiZEIj|6)u<$OPGsc;Ho*E z7oK}%V!t2p;DUJwmmm)oAEDJlM8OO!R&uF@9cIa)8zo7*0@|KACXk+}aqI9=c!Zl}^u z&{ny`J4@!S?zeL}V{#i-LeU|%8SU6m}-8?64hWX>Ra|I#yckXlC--X{$zn8v;{vRHO z`gg4HXLG;ko^*;ucq{k;@8&n)zCGGNYiZ-xN}8EC*8=sQ#60seK%ecVe;4>sOA4F> zx9yFcw9W2?4roO4)wj*F;2{MZ)Kpiay>&I8h2EH8vju)cT}FobN^j)X+o9w4_jISR z5%*zzazAx8TABg9k9n5wrTs>o@O*~huhVx$n2zUkFP_Q0$Y-*#kop;arTNBwJg2qP zob?>)`GfHwr9x`z>nIYxPqBW%?^^mg^RV8~Jc9dti*`ji=3=yO(FV3tn<}Z47I{0R zMNFcub_euqRkW+4lMK^8wA#Xza)f@;-^#-ZS>JGt(zDFCj z?qP*oH`M7_ZtLM?wyuxpMNN#Y=5ebnSG*7FCD9EP`hCUzYt_*Tt@~SHY5TU?eZ_Vf zYWJn>`d4$iUSK|Dl?!2eTRZfvW7HfxGzNF)^i~vamDehdb-zo6R(sbLA-@jPO?#F) z@w2giKrJBCk>3=w>7IIbbD6%<{6;@%#-l&x<6d=*jdY(rl_nbZng_vQ3ewKE?hAc# zg!8errn`+7XohjWc}iPi9>V>y(Z6a!cXmdf7=*U;1HxG3e-?daIMNO>UPNE{f|@Yj zw*J&ZSE-G5%G`qdw;0`N9P-UWnx?pJpzg*yvoGG257Bb8=}nNDkapVlRG>AZ`3Q4$ zgXZZ0dK$W{y{$U6LtmN$*#sG3BnCc0-y5YDny-p}S_ED44c@me(aqYYlnbee_unXO z2}MJ0(EB34zO+ly^EG`aQ!O!TYe{AYeIylYznT4^e~xjVvu#A*T8MfarTO~v=3d+5 z=BEfBz%v+&^2F<>&`;MvudV}!4QVQ5GWyqRkaOT`r2YWe(Jqs_q3ys!@ny4AH6t>+`*aJr(UUi>xv$|Qyf~2a$ z=^98U*bRdrjbSgGK-d8x+a7VS|5hM`ouO<(+z-LuXahLrIQ3@pNA+f!u5PB2kdF}m zXT(=g1F#K8(X}{k1K9&X{@`&9oyD(7a>1E;3*el_M-UDL>G|m!bu3ML5}+k zp49oT5w5^BZy*lWm)wC6d2!w)I9EIbn`P=k8ljmp>9$>oR|B5fw<2hSf5z@ z0^)Ej|0}^U*T1AUWUfR}@!LqV4)J^*Wh!2X5ar?D#Z3*^CwesOlaaK^rqd>FTafXh z&#IuGt)ZV-2WUT2ckQfsmhFA5x$*$Gi#PV0JJ=?*#ZgmxH_FnhQ%l=q%CuL9UvaA$ zP~U;Q4Sme-VzyB%J;d)b&L4fLH|t@xZTOt!1L%vX4eLcI1AGC|UF-wk-H-Td*#1ZO zAawqAxt?u`IAJu7dP0w#(ofLcIIhR%(TDOl4Sr{GI-@@N@dM_w zVq>46IXK@6=ek1Qd7;Omq5H-gkH98aO$D5%@hB~Z{r{w~o0i$SQU|VM=w4kpGjS#~h6$&2Zxjgly|Bp(O~rTD)7_+a|+?L4J;R%{6%DB>Z!FTxXm&k6GM@ z^Umet_blgWPo{yw`!mS1_41MNjlxZ>**qq3ReZ}t7(1!6*yo3J2_hK=U@xH_Tajpy7%Vqu!-sQ>WKWty% z{(Y#Ol!ME|e&ug8PTu~A~a74aILWlgrD%#UFAoW%1; zwRc9jRr8pxn(y29(R}-6x}BdV*9qYwLqYosg^unt$?l>%k*<#|n>s}{pze;_DbKnu zo_!ybxr6=!zF;NTdy0pS7uG3q{$+krfTU|7>W0RF*`c(!Ou@;uI<{@p1v zf^FC;lxaJHF}zmPTiOWobP|0i1Nw$_!Si$%!rKr|N1NFX-j3OSq-pjnoPUo_gTMU< z-$VE)!b8vpxp*h{H{Qp4Iuvpn=eEl2#aM%~Ex@zhZEiCTn=f(OH&V*;W@pE=kz(kM-lD?pWQH4*1$20I$`f%eMfZ)*b3+ZGR1^*Ly8Yz^leSkL3zgq;p)$uOJbIi5fNB77WUJ0SaDCZ%yAQ+1%orEshqt2oy)Gufoj-SxKR1CEN?bI9NTrJr6Bk81}(Gx}%J%V%twQh*}N{Q6p zg#P@ilC1B;HAVE1{vzJRSHtcfg7o8P3;IfMeKW;Zov& zKIQnHkSh97^Qg9q#=s{VqwR*zu^sQ+CFn;p_#0WpCy?f5NE00685a-YYmEm`w+Cnf z`l5<*J#KVFABNcKp-j)Bugstgw#C#V;$3RbVp|7WWF-2|AleUmqBrib)L2H3*)r%L z)^KEN@6lHMK^l(VciQfOU-PJW0&QflahwjKPaK5Zf;h^P_|Zr=8vUggY@!#b6sKZG%^s<^H%-J^Ytx}2iP>f_V{@xE^Eo-sp%q^i7HG+6XFt*e4(;`5KcufEwjCIED;4Tz+d=&tC((w_(|*Th zgnz;BP{`-tzuc-Vr)v;)LLU1dy)8jLpOy&?K>7iW?(OE7lag*Mt-;2C^PTW!C9`-XTnp)eS49=5_z{Kl}b zKwC_cv;mZfFxB=L&4N^8aWtn6A?b>+t78Ys`#8-Ch1IMu@@iTh*^W9?2)l-UcZF|w zld%%-X7;nnWEqYv*@)wf_FR;`9c=c#2%EvSvBF^dve5Zuq4c6b$3vzj-@44YnA<$F-S5uKp*zk z$Czhe$9LEN2D|TXuxSkHrNfSfPf=5Q!2FfR&b7~B=fPhU|CRk!9;1B)*FrBr2HHQv z@sD_S{YW02%;MmfD7nO!T}BIy{*-4s3j31G74Q{;bDEgT)E|SLh%rnq5B!^4zSbzj zT0{89niGE1cjg{#8YRJhNYe1-Fp)oDO!rMnQl4Wm$7(K0Qop1m=&2-*7x@@zwoqO;d%9r1pTqh4Bls*gTgpq?_1A+J~- zUzN0vP+1yI8%hJeq?VK)W7WnO%qzcu`PVxzCVL*`I!`y^p8Zj_=ISoGNu5ivI5!#j zO;PWo&Z>=uA#BE?B~Sx(7>)}dTd5gr)J`bd6xceoAf2>4q;a9{C(u75FsF_YP}IY# zx1sB_2QaSw8N!ZuCXXPU0`XC2Z4AcVds02v1!G|kdLRcOn?uL9A#7gigYwu2=EC9A zl@ED*1#L~*EPSv_gdMGT%XbY62f}x)bdFTxx%O|ww@VS<6+ZUGp}EvZ#QO;SnSF3| zyP3yx2<&@{4;`8-;_*Rl_f{C1@2puqG+n{pW-B|!wCr=??^Fn_`&=@-gl{cAI*$pm ze&lg8E4-h_>`<;?ShIX+IxjUhS}~r-xG*mfK3B@W+aSId<}5ye&b*?zQt0Ew+@Gz` z@~JNu^0=CeZCPP(4244Tj%O|k!4;QR)@T=%Yjw;~A^kzfTYOE$_JH?fG>a9Fah+)_ z_F=du&uc}{eO$hv&<~Y8Bl}jAljp(SL5O)Uo~J^3%(p6sabLn(FS0_|1f;wLK^(@a zNZp5HyuIabMI)&A594jkS&%jZd1N3jh{^f#`m)owp67(;%bLD@^eX08kMJC;zS%se zzeLXZ1sJ5RbC||=S%pnb{oHcwD zzloNkG|?9-P4I5qtDd9VAU$m+>`xc$&*rp)%VzvyzQ&^7U~YsCNkLimDQyG9YxsEm zo_z|b=~ zj@Q&JN4;`wJt+sr1NfLl!L$Eo{$ZV6Hrt5^4M-fMJEQ=T3TdXjg>j*fs4+BLjWJEw ze@$@?3%GI4TEq9xT+j9}+rDhu!gs*&SmYVUb}z~jrw47{rW)J2JjV`u7yV)^+5@j$ zVzEK0!v4ud|ELqW3u8;$Fh>6aHM6Cf{$Lu+W2qDenGk8f{!>YXq(ORO{>Y1Ym3lZ{ z3`v4u&ZihFXp6m&4UmU02ZZ_b;=l86`!7_N#pq2V9ec2LaT-l`7+CkvjauN^ZkU5p zY#+mS{S(H?ms1tnc-n)$&1)@d>itk&19Lo0QRfNf3A;wIDDzW}r_6o49unuq858L# zyjMrs4q|-sIDAJR?Z7?8U~G4+{W?17_>TJ6+bR(@UXywY#+dImzvuoYYp7B?(bS97SF0c2(GxA~{WEkEryWy8~habfAd8e=rVjt!| zFz*m?9Q_k(aE$)u9(@CC`y zwqA6LhP?pRTFuDqrE4|^h2l8u12ICs<3b_F@o|BE3r%Eu1#61ZP@XjVN$|z%VNcTH zi1W0#Y9uXoL?aG1oFmHI9GM84j>i&UDcc?{&P^iZ0?KbhvN}W4u$-C z9DZM@Ac*HQ6c34jaJo^!IP8y--!v!`AC{lwZCx84^6?kQ1ASc?6Bcd{I?7;#flK_fI&tDI|Q%*KvAY zFU)CiZ>w%rIjrB3t~Ji{v+5iS`M5IS^O)Zik@S2IEwKS6bos$ND^_ z7W&dY{cVhG1f>gfz*B~a`yf5?Tq5G25AdFx4V^y>a)d+ULnSU;Ft1YA_AJ%K_zjQG zCtz%+XT+WGtE&coa~$q}GYe*^rgA9v;QL%Gvp7zDk=9pouCnyuaYdC}a}aT_z`kW0 z_xVcBhhKjs$3EoYvsDXR@LV<^zOwsQ%=0Cr3zv%LEB@Y%^p}-zK9Ig#9$4pc zhz0RaUV$t@nlf1d9>PRBLF-w<<0?H4mf^jMWx;#o78b;F8@L8}-3dQzza^#VqtV8L zG92M>jJp`pUgr_?1I8ZPUMw7sxu_8=IDR^m7pG^P!hNswxkPp#4@-F5zvI~6Ry~KZ zEwjWi1ox<k zMcqRo*G2mbHrX@uh#ZfmLTxl`($RD~9k+y2^Oh0*F7ZKdf2&;OZ~o7e8uambR61x(|GPn96~0BLO#BvV9a$qm_u#{yb|x&1X*i?BvJ6}ta4vCDbgU9ddCJg?;VAv^S+ zCAbH!QI~V5PoedA4kGxy%r;GF4dHX2LcYcEUW9`oT)%CQBZyNFj)m~OJ3>}N_}m7Z zOGL=F{hK&$1Hto9T0){LiEkQ=$0x?8(c?JILijeqB!rvGep8V)0Y3j~etyazoO=qt zH>nR{9RD7A1ZzUpV*Sqy#PjoAd>P?1Vb4sd2|YExQYn`%{F;i#Ty80Q0rGwU@}u^5 zw3TVlKhro=svvv@@*M=vRAdC!h_11>r}g%~5WWe3cjH{KU4Dd4+Y8-29HAo^^09Il z(hYG}K_YB1SpVTrJVEZ1Y=j$F;A2fSdMXnk$w+r~xNuthW;>eWIqVWT=HF8x{LYw< zFb%R9(lQhdKzJ|C)k63IUQ@Ox_+WL!x2Jm=4GT&Km5>5!$6>p~LDXBzy| zX|ONK3v2)tc9c2=^*O2zqIHm|*tf6_f@j8cRHi{PkQeTWc7VA`2=Z4Zh2(35EV#Gw zGz4QFN*zcW$Ux*h8`1*DT_H2C#w6=8R=BY!)70`V+r{Fosf1q%X$*`kFr*t+2MK zmH9K$^@A|iQIICEktRnDq7e`)ywowDpKNS|kF-&#ereH~Uiutg_doso@74W(!@2+I z{Qaxt|KGszrRxZtVU4Mr#W4$yF%=q9=|c#Q%N(*V2uUS=q}azHUlI0XrX^K=E*sC_ zF^%6B>;WyGhQ~(g;@)_Fl=-3mrsLq4#HI7S-1$TQLOJ+7vkhW}t#J&o#>7hF!_JqE zhw*!&he!pVshq9PwmqNkiZy;L@DW4OK>UWT$OD3Xm&dRV_#nc!VIw7B{(qeQSMy`c z+5ck0x(JMKHN)6*SFBxVhB@@_u{SdUYkY@cEVeJk+wQluHvf$Mz4u_Aau?P=Zp3)( zKx;o1){0MuoxpRt1F#0DIqwI=yQ@Fe4s=6a#d^z&@b~RDk_KgD@}E&5kjD+j)$Ge}}zjKCHR_$~qG-0G0%;8jsdpsaPCcvNshz5AgtTqHC3TKBsDQ^S=l~E-s^Z- zQ9oDkEe))Nk5=M?LYuILJx4u)`MNLR4?}D=v>WW9wNJ&|eFnjUc9FdbzOmRu{rv;SmSpL zw$(av7{|?DtvVY$F;AOrPPHAwn)m}4tHC-4jFWUU22eWUzc&V$k0HDX^9@eS8N}FZ z*gKqP{sZ%MSE(PP9rs4PGBJP8dr+|77h^Q2YC^HE#jLYJ`VBC5toI&Ro@6;{leCuI9g*4s|}9dqrsS4su58_LnD5Hd`EX7 zysPREx=Y1g1>Ajtjy(og$JNtTM8}P7@M{V&uk|F_M+T0&Vtn8v!b#X`3_G9qCzKQH ziQs(^m)ILIU;P4W7cn2qdn3?}{}jGAg5!B_1c%n%2uT~-8zIM)?2X_(7Z`sVpz|IJ z?4iI|z;*O5{|o4N7KzwPIt^ib#q976gx%QN@-6mmw8nak5&8jyZLo(NqOBwy^J}eb z^DyqW9r33jW2kk+bZUY1$t|$9NX{9f;7dM(b6c>U;tkB*`>7B1w`{|nm=?yJ*tdas z2U`;D)gPj}^joPVq%HF9gt4Q;oG;&>)7e^xkM_S>H~uHz4Ve3^j{PW4VT|l4{U5Z5 z1?&GtV%_u{d^cka_PamD^QIU}dJg(yB;I3g%ne6ikH=HSB8sqMtq%4PHaCW1j58YF z4&ZMHbPt7JVE@o#*hAY6dv+4}I|Imbrul?!(po-7I~&LG{I2BdAcM3bjQjM#Ts_(m z&W+Hqch%;k&iXG{=kz@0(FY?hUJn)AH(Kd8inQm=pZWVMvhEObsjQ=*gM;4*!5To+ zL%xrKy8P}piexY9m4Az9AVqih(h&|dEd}CA9(FvsLWTi*P81Dot(z+HeUCF z-{tmOv)zK{+!Ol#Kf144<{^2%GVh`0z0BA<4PHk=w|2mLkKcU{LY6`JJ4=Hg4?yk+ z{k{$1xQO>?$Nvw4{f#^Re-Nzs+3{bKsqnY{oA;}DFDET@cwlGF!y3fF!7+5lWEx_P zrH6%c!;VYG+W%8=VP$A|iF;%s%}|`ngk)DHc;93Cq6F`J2?yYK3nT|}4`eyw;}GUT zH2w|!Bj0_&TA1njDJ28a1TrCXZ2jiADxo+I+Xa8qS=b37Q92>6OPSDFtU-EJnFL$t zU8;(A!9wf1J2>WVyvh0-SyPVny=orb2hi!T$(+z(!^7trQRd#4dq3L$hVLL+``r^M z8TO7s)a(UP>^1 z9ua&`@ED^~T`)?preH0>6t1t5%C%6^}Bspvr+#>jx z;NyZ%2tFyeRq}sYaGT(E!5xA-1$PPV7ThDaSMVh%&pyHZf-egmkP;pgERymZl6(2& z_*FUf%kgV+{DI{57r~DN|0?(iqf$dKS};a1RxqBQiBdu@$JAuM)ViNfbs3r0-S2V zG;=nvjbJX?3I6i6`3A5z_-z3;8HWjuf~IN#UBT&B2tF*hQgD^vYQeRV!y}U0I>GgV z8w9sXZchtt6WlJiLvW|yF2UV`dj$6iz9hI$aKGTof(N8*2L)f3GQ1z7$Cm+0d(LvQ=Undyd|^bEt!QjzlE~!Ou7Sm zLu+NB4Ks2Z&H{t8frWB*tHeJoxJ_`o;10o^g1ZEF3+@rzE6D9Ii?|(T5x2uE;&zxt z2PFT4f}e0ov^vH#E|s*pEO6AF@I5`$D_dbLovpBz&Vi<7jKbSL2by*Zus-t45lx#z zDd_Jx_z!IqJXQntghtAt-hzV!S?lJ2Q$9OPVn(11=g=s$t{m{oIk*Jff*wJy;3m0h zv)~rN#{?f2d_wR^!KWnWt%6SrZWG)txI=KK;4Z=4f_nt_3ce(`PjJ8B%Yp}_oCgKp zkeDNapD-%1f~-Yz&`ubWxIAbljNFHFl-8UE?F7#dE#w&G;<;@BIt5*VZb6SAzrow# z$z%OE`pXnxv>ex$_y&S0u<XKO6^k$FpjOcEu_CNz5QQ9wz9NlrBNHphwUvxI)rD zEVxo|mEdZ@wSt=@|ILD11RoQ8T<{6OCk4049iJB5Cb(U2hu}`ZU4pv>_XzG4d`WPh z;C{iE1wUbgMmh$JmE+coc%El~4qzU15%ve;S#1GE%W-}5**vsT#uT*VJUpf8z~1Nu zdGZFygSJ_KW2c;T3AzP6f?mN*a@A(RErO2;J}&r#;FE$|CFiFFw+U_+pIy@})fa((Ci3zvmP8_k8HIhCrvJbP2izJ%V0AE`Pq1KVQn9 zFXhjd^5;wW^QHXx#2O%pja|IUdvz{vic6K#Nz{W~YIf9E9j@0`T` zos-zVbK;H3_hSFfiKoqZvVZ49+vXVd@0`T`os-zVa}xV^PGbMg2~HW=zjG4%cTQse z&ME$#Q(^zksjz?N1mld{@}1(}ImN$oD(v4m7549(;@>$H_V1hu`*%)-{X3_^{+(0& zCa1zSfD_&g$}Ik!6YpF;X8+Equz%-N*uQfsY#%xm_V1kVus99-cTVxMoZ{a(#oKZ^ z*uQg%&*gNmf9Hg+g!JOyImN$oiht)6|IP`kauT_OUzhOf5`JC6FTUu5JGz8lm+k@ul!mmsCbqT*N;nyYnx`bbs@aqzOUBa(R_;m@tF5%ZD{JMl+ zm+k@ul!mmsC zbqT*N;nyYnx`bbs@aqzOUBa(R_;m@tF5%ZD{JMl+m+aTljSgzi#2zE&RHL zU$^k<7Jl8ruUq(a3%_pR*Dd_IglS|9!mnHSbql|4;nywvx`ki2@avZT>lS|9 z!mnHSbql|4;nywvx`ki2@aqaTljSgzi#2z zE&RHLU$^k<7Jl8ruUq(a3%_pR*Dd_IglS|9!mnHSbql|4;nywvx`ki2@aqaTljSgzi#2zE&RHLU$^k<5q>?wuSfXx2)`cT z*CYITgkOBC5B?wuSfXx2)`cT z*CYITgkO*F>k)oE!mmg8^$5Qn;nySldW2t(@aqwNJ;JX?`1J_C9^uy`{Cb36kMQde zem%mkNBH#!zaHV&Bm8=VUytzX5q>?wuSfXx2)`cT*CYITgkO*F>k)oE!mmg8^$5Qn z;nySldW2t(@aqwNJ;JX?`1J_C9^uy`{Cb36kMQdeem%mkNBH#!zaHV&EBtzeU$5}% z6@I3cp_A*DL&bglJ>z!mn5O^$NdU;nyqtdWB!F@aq+Ry~3|o`1K0E zUg6g({Cb67ukh;?e!ar4SNQb`zh2?jEBtzeU$5}%6@I3cp_A*DL&bglJ>z!mn5O^$NdU;nyqtdWB!F@aq+Ry~3|o`1K0EUg6g({Cb67ukh;?e!ar4SNQb` zzh2?jEBtzeU$5}%6@I3cp_A*DL&bglJ>z!mn5O^$NdU;TKq_kB%->cyx53_}vS|?_Q|z=;%W-lJF2X9fM;Y9eoJpXXMe*hfp>k?g*68(T8Mo zbOmfVtca0oSHPmUnS{RN%~ciewCzOCFxg7`qh$t zwWMDy=~qko)slX-q+c!R*Gl@el76kEUkg9wIIYE1j65E-7FY4HQ_v;o7W4>u1q&IG z=W%*OJoHD9ehZG-Lw|(WLw|(WLw|(WLtiIp)=8Rml4hNxStn`MNt*SNX1%0YFKO0G zn)Q-qy`8Hb|O6@yiOuFDn$ktWf;2Lh;KAkwZQeLO<*V@|a}A9B<3-Rc}!v+mzc*T=5dL6LSmkfm?tFW09xZ1I)HWv z-%pMY%5jls^&-*gMWWS{S(sRxc8*UL;z*NVIy9XmzYIku>a86^T|a60Ke&TD=H8i|@r= zRT1jNd9qhkBwD>lw0eP4c}i$tpz ziB>NXtzINry-2irk!bZI(dtE_)r&-{7l~Fc60Ke&TD?fLdXZ@LBGKwa=)WkxXm$LV zX|9E6^&-*gMWWSP4c}i$tpziB>NXtzINry-2ir zk!W?F@aq$PeZsF#`1J|DKH=9V{Q87npYZDwetp8PPx$o-zdqsDC;a+^U!U;n6MlWd zuTS{(3BNw!*C+h?gkPV$wSB^`Px$o-zdqsDC;a+^U!U;n6MlWduTS{(3BNw!*C+h? zgkPWV>l1!`!mm&G^$EW|;nyep`h;Jf@aq$PeZsF#`1J|DKH=9V{Q87npYZDwetp8P zPx$o-zdqsDC;a+^U!U;n6MlWduTS{(3BNw!*C+h?gkPWV>l1!`!mm&G^$EW|;nyep z`h;Jf@aq?T{lc$b`1K3Fe&N?I{Q8Aozwql9e*MC)U-T1 zuV47}3%`Eh*Dw6~gT1 zuV47}3%`Eh*Dw6~glc3g!mnTW^$Wj#;ny$x`h{P=@aq?T{lc$b`1K3Fe&N?I z{Q8Aozwql9e*MC)U-T1uV47}3%`Eh*Dw6~glc3g z!mnTW^$Wj#;rDg1$6i<19(!HvvDd{OdtL0Y*To*gdOw^!ENKo)n!}Rju%tOGY2K1F zZ%LZBB+Xlr<}FF{mZW({(!3*S-jOu#NSb#f%{!9jU9o50CAR(E1*br<{ocj%;bXS_ z-WA*LU9tV%72EHqTy<2gIx1Hkm8*`*RY&EjqjJ?zx$3A~^%>gjarz8bZ3pt4>}OyT zF}P|wT|nF34dhwK3uxO*fjkR&0d2cKkY^z;p!I4%wj3^q<#0hPhYMmkToB9Qf>;h0 z&~7;go`t-CcFV}KkQcDdg!AE9$O~w(K(sOBCbN(i(0-6cW+5-gEaU~5g*2sXrj!kT z#R6$eDVr%}Go@^%l+Bc~nNl`W%4SO0Oeq^yW#V3@l+Bc~nNl`W%4SO0OevcwWizF0 zrj*T;vYApgQ_5y?+3-#J0p_oY#w7&e=>c=)7*7w!;1P(Y2gK6@;^_flcL8B{0bzFm zVRr#hLLla^ftbGrV*VP4`D-Aa9uQ9th^MD$TtXn`aDkX#24W6Z(NIE^D$)*&W1R-X zN**A_CxMuw1Y(X7h&f6i<|u)fqXc4(5{NlUAm%86n4<(@juMDDN+9MaftaHNVvZ7s zIZ7brD1n%x1Y(X7h&f6i<|u)fqXc4(5{NlUC64DPftaHNVrCqOIZ7p-N49|&*;e9t zWE+T)Z6!hKk|1?Skh&yDT@s`&2~w8?sY`;?B|++vAazNQx+F+l5~MB(QkMj&OM=uT zLF$qqbxDxABuHHnq%H|kmjtOxg488J>XIOJNsziENL>=7E(ubXx>A?AQkS|?m%37y zMAi>VBI^Vo=3$ja64OXx8c9qVuHB9KMa;|sF*6Iq%q*~hAZBK9jG0*=W@dqynFV5I z7KoV|AZBKPn3)A)W)_HN zXsObQJu)D?KOnq6AiO^yygwkkKcyAF(G<));_jGv#I<=~fsZj?2E=?B5PlgDei@MU z0M9~J12PMkg%rem8IIwX0pXVc;gfPxM2c=!ZP^ z%aDe7$rE1kgqJ+wB~N(C6JGL!kvw4}PZ-G)M)HIa%vVa;m=VlZ3Nj;@uN1_58IIwX z0pXVc;g9U~BH=YUwp2*f%@Al5Mgv5qm~JoF*b zKof3{RQbL@+!u)Z0&!m;?hC|yfw(Ua_XXmApaHQ04Tu$JK&(ImE(jb0!n2RG;a+H? zaxaJ6%OUr2$i1+06Zt#jUJkxj)H&7k$regHy00HGg%&<{Z92O#tV5c&ZK{QyKe1fm@Rp&x+I4?yS#AoK$e`T+?2 z0EB)3LO%eZAArygK=m#M50}%QF2>k$regHy0 z0MRm|&T*RrLO%eZAArygKKfF7Z7DdjV%f_XfJ6`v6x*_vQG~T}l}^ z3YXFNy+D@ql7jWjYIn$IkYcPZ#@}Jl?uEP#!EZegf;fE`1nZy;Txwvwv#}JrWfBCxt2Tz zy&*VPZ6gHNSI7OTcZML(>Su^*psY1;T~sCnc}0Ci6pivlDhCD}9s~!aBYkfl$i)&+d5XIp>aqA$+KRyc54>A?x<;cQ8zHYia6TDv$w;5l9pZ){E*0fTod!8el!kk!p)6@DAU>k>#t@V{eKBMk z@w?P&_kbmPn_!FD0AV}9_3uGVUeaI=opVouagCOsw{UGBZs7uo`SO@Na zBtmi_xNoybkZovUqaf2D$S(u=Wgx!{{xmN*FVZGn7S^n)PZmMB|Gl&vMo z))HlFiL$js*;>8}`G%+!L25&`L41(okh4Ust3pyB`H*Spn-D z5JCvY2o22$A%vPa&D2cOWai9FL#Ub4OwmlKGc&QR&2GCw2(j%7u^~2OwKjwhLWqsc zZfwYEZ3v+y>-V|NDb4uz+rQ8A{9eCjpSN?)eSfd-_qwk8&$-V%=gbIyr8CHV1i6nO z_Yveiq7vlbM}%@DIgTXRk?F`o1?td(E(~By_@~?8K@zf2h$;|!R3ze%f*h2h22JQd zA4d3Vpas!LKsxeJfjYFH3j-JvIflL-(~DtDiX=rL9$w^vu_e`_8MI3p#DvJPk%&VI za!`*}bc2{<$3>2dKrE8sLj(FTD*O}Ch(RJU;YTG{mt2Y(G@%217!f%^K+K8cJCS@R z7NZ)CXh$!GF)4CV6yo7UE&`}UGdj_aQIQm4QfQw-`;=bLK85zFv`=MSD(zEgpGy1G zTF^d~_NlZ_9Tk4Yg%~6v6Mj^p9BCCmCO}kTA zc1oqlsR?Kk$&E#W$Z3&a`Dx@hjU1;FcX|}!;YBV2pueX#qZ8ykeN_1CSP_FnWWtY1 z)T0&M7{s_pUIb#13?GU?Y#yvYg4p_e_3VERRW-o?C zwy=B)IkyanRIu+=kn5ZTw27RXf)0`I$DkC0B9#>&_6O-8_Pk^ai2Se+V~IWD5j z#YrHpHV-^r5&_m<%HyRi=n%Oq3^^cg9b>Mm1kW!Q@ci-#kt>M1lDI1?&?8b$oqF2W zv+gSLT}{5LiM^VdR}YK)EDpJ76KU|ELFDI2XcT^Wi((LW4f(FA5owG?JGw=#O#!*C zZ4$YT<=4^Xdir%e^_p0IL$=6`X>zqLpBC+(1q9F(E~T_DG=Jjg?*NGs1v@&Owp3WE6s!HeTPAh-?u1>p0Y+4Ya>o zz_Pn(e>Z)-y8<UQN$Zrxr-+q&WVzBNv&FI6Z$USjj z{XL~1?>!yp#Sni9eHh}Aje4;BxAe0k2AL=XZ92%+F)DH|{k=CGe$dx@YtaJM-xr5u zkn29y-`9k8^k7)z{z$|k1-YmMx$p1Cq(~?2JF7we9^m-{UNEKyicy6+w4w_mA`eD^ zTo3v|-yY)eA#y%M&4-3Ux?)7Sl0c5G7Ica{Ozwx1K|dd6`NK7s6nTXHJ;L%wGLegV z^nzNCI-uU8v7p_fd8hz=db9~$7{HiFw;%@8?e>8h-PGtNuDb(0Ahw&lkCF2+az2&_ zFZwV9@;pwC$Kyet9x%`C&(rStQVfZ_Pzc8JyCk%u7sDWDe-z?D zZ2!2(ixptqOVoHN8XY3PPsX6gKrRMEUiN_;FSG0qEc-(j#zg)YK)=XftH>+KXcKug z1}!3gY7iOX`B0}BJYMF8q|0<2Zg8r{d#er(tEiF{H6YJbA>3Gz(% z(1=lyzd6W8JO7q+BI?ir+J46C&oa>l`bJ$T|GW@Y=-~Ie0nmrP zlm83WeKE|hb1Tp#N;xP*k0_mtHc=)8ymsK~7v)YuBU;fZYCGC&mySG;Cye;8Nm1V$ z5EX7sh}u3H2_SBJ+VHtuMFd3c5Q$7wpc(XKr(#ijK39<}kMx5aJM(M85lwuI$qIQcwE?O`tYIoZ0PMh5)MD5{4Ef`C54DvvZJ?Yb)b)xoS{a)nQ zn;d(`g7tehfLwdimlzNHXal+TA%344jEdTqI{S8t+K+boRij>%Ck2C|_UHMmWMqQ& zvnoM<4j}&lw26&EF}g$@7>QhTi#mvY9YpLwy%+?2J2(Q=I5-*PJDAvm1E@tKT0z@` zi9eY5IO5}ok0U;g_&DO@h>s&at{I)^$0#O6%_e>}@w17a?L#rD(TH~RVi?385`}m$ zjzgHgLzt&S7{j5oKa_bnbWl`$3Yf$A5m9q8(JE?gj;O;Nbc;%;7Ik z|JX}9SeD4TL~ivL@&BAA?hTbs1(+vkT+#SR4UI?$u*C5^Qu7neER8S zxtAF4pr|yKr}4O;0zIM@W`dY>`k3B_AyFCB$e0whC|lIxNF;+cnZ>9SwImV5ETR6A z06M|?EOKR$Cu>yH(i{wk$|f$mRn*BbAm7Q#iS@-Eoirbn3WMA?<(eG z75!e-ASy>dOb#)tD@C2+pi9)LiKquTa_cZA>NH|ci$$lX)6+p;_`Ijis6rd)R~|8W zEX$)_9_{j4!F=SAC*Oli6ruvu&+hpxpRaztJYzOrJY}WA^OO^3h?ghC6Ip`F% ziE(V|5Vbi0ZKAehg1QydI!8dQa~d!r>Re*ZO$V>f9ToL`AG$?V#-J91qWGMpelQ{G zJRZ*@$9dHHVG?LlMIWkYQ`Ic$d>+rQ2FuSM67?fq|EOQokG+@_Rb3(KCy^Ks_0vRA z7eu2@RE?j1_B;tJzlb&$^@+NeK3+U7sx~0}#pb*btV0*_kcWCMS&bwk^AZj5cjh@jEQQX?$1-u4D$SfJiq7>bxnt;#yB*Iy0!|e zyN(>!J7^QtlmP17Pz>_in2A17zpUjpHZje_HnaSu8t`~?HO58V;>WP4mKIUBMxkBQ zZL#3-SMlf))fx@f-(H9wQFmlxLKL54RGSafxr;o%jzF`hyAwb^+Y`a-_7PEh=1{+B z1bKfm1lseNL*0{t9F&4K_jG`K_t56If@qNMx9P}31?td(E(~ByR7V&*NCJK8s6rEn zxi=Ddp!R(pWTO%du*-%;-A~`|k3}+Qe?R@bpY`{*fpOkHE~=CDoviO=Tc8-t>rcEB7x%^W?QivViTj861pR8%ijQc=j|A{?Q67ojW(|l`x>#Y^@6z96F|)Cbs+!i zw0nctH^}=2`QDfmH5`QiYB3_}O+hYL_9n~TYzA?E=8?~q>aB56BMoQ+^YNET)QfsM z9eJSM+tlN8qxx&7s8JqAb1(?nzEcI-zZ(e;5LhS2el{Y2cI9+r?Ft&r}dZ=^;rVw z6Q38=WHM+oSqs`swxScgqCSsCfWJsI0{x=Ch=LDIq9q0mXu+6hm5FZAIvqJEL6tHYNV#0VG)+hRV#D1?1 z9isWZf)4kB`0dHHeZS}kmhX^=R?$1AgV#Hed#7>Hkqzhq&v&jDy-OsjFe-Z2Smc4e zMJ1z2^ls$ejW)Z{X7>OX#~wb=kLV<1f;Q2ti>^T<+C=Xejd-M>7v$W_1M=)m&b^7} z^QDd{6ul4Q+NTNhVc!IFh~AI(`%!1VI&_QnM4$?+^Nfq$pY{8mc*9QwS(TQQvakP&kK92a=@h(RJU;YTIv(TZ*iVqEl*5r{=Hd?-dW8qtnk3}aGs zViXcVTq1Fa#3d4!NL(UuiNqxmcNB3)#lwqS1W=1+bfO=lqK|eEgG6M)k4n^|72O!b zxaead5Q}8^P>gCcq8+^$#-!+^D8$2yTm(>yW^|$-qoR*>5Q9Wy!jCS|$3>zSgBTZm zd<0^V3?GV7jYhPC*yD#WDLOd{@$e!S0o0-yo#@A?=o1{oAQ74HqZ0LKMK=a9F8ag> z#3C6!6r&oAXh$!GF)8|_D8$2yTm(>yW^|$-qoPwB#2^uw@S_s-Xhk;$F)lha0M`jXY`ONy|nd$d%TBHgJAQ8v;2OL?Z#5Ul!znbIgJ|w4e(E7!$oP z3?3xGhf>s_2_5JIwbO}9CoY}1^lTKO3JqvO4;W8|AQ}lsM;0~e2RRp$b1^v=lXEe(7f*`Lj6yuT$OSnw z$(h-VP7Gj7^pY@mkOUt}Q3G-=A?K1V5W8eVbe13zaUeb`8+oVzZL*rsfj$twl=!95 zNI*J>T}tfII<%k*0~iyX9R?4Qkc~oAp#g2^!4M`ypB#xeq#y^Ss6i7t(1#J>ANoNw z5|EBORGJNW9+if#;IT=a?v z#3B)yU|XyRpbjnQ0)1F9CVC}#S4M-pE7OsO3J|-p32e8O{TLO!%0UdsyUGjlt|ITM zS~P>$Rm85cv6G^6$eTmn9QvD+jY3qR0d45P5XMBWrXQ<`UrqdK;#U{{2h@;*TC3a9 z2l{mibx!dh33(vqlvdF1Q={NRJ&4aGHkUExwxJgzqEDlbr{y5<|L$~hok83gh-x%pK=j&3#32RrZ!K-svfNL+ zKL_OWvpxK5kAfr+Q(&JnrgiaP{W{vLqc7_-QHfsBh3TM9A#wk#BI*?7p;7dijOEN0 zkmsyg(Z#$jCU>zP_H~cw4Pht*wKvp({%+_1{n)_RH;jwkNX*6_gidJ~VEBT)%zY$4Yc z+Hax8In+Hj1tX%rUnja!&?@=|^z8?%JI_HJsCyo5&T9niei(&J(N*;6`~tb@$wu!zZ7UaFO zSM+75V?1@EqA#a!S9nl^e$iLPp%|>YlD754U6qGsw4+<})%4|OEutIfZ$p#lp9e($ zf;PXPPuC2KZcM_E=xcMq<8>(@|8?ZMzFKq>HJTdGBl?C2Z>j=)xQW=C#zo&81J>W1i%K-26N8u(eM=0Ik&8++g7&vChFbd}f$^kZD~tqzF0mAG3I;RUg`R-zuwApX`t(YFzMTMXhs+--gYPz_>lYZm=0A0|cL z&idPVemgO@_kuCsLEAerQHfTJiM}%t#N0{yJG(J1x-A*iqVFR9u69g{{y)O#&qVMPNejmC- zclt#?5C+;mz_JG_LHq-~7#IB@^&U({4g#nH+wdW_??Z)X1F;W{i0;Znx9ErCz`BQ9 z!170U{YW*2L_bQqNAu7GUU$dB5At-==f}wL80#Jz7X5fU7~A6=pf67(fY;nt)K83w z?%{P$Ey(j^66!G_`l(`ciGJEaIvPdy()ZpvjEa7ScF*wonLg3a(zj=;!1Cuj@Sz#x z?8^lGcs?4$yg<7b@<1N$&*|UQg7y8x^%MUheRz@fFEWQOlH*0Yj4{2$@|URhQZ-oq z(wOMqJMe(`-}8Ea90LQQUnb^dVqWeM{f9&}pdBNk{}_oJ5W{^m{YP>SGQPnUbb)%W z5cem)=-0AEzaA_44IYQ9K+fSF42yn~Ja5K^K-baz(`A1C{7X5JysQoeh`nX^8CrM}o>n0e>1a1GuO3{EWjEmVW9zIlv2}=QS-|G|;UMpsMUPmN|*&zbGVs@+qk2{fPr$SJ3 zrykHIG8)OqLmkM^y&to4A_AaKyF`L^yY!3U{*T#pR7@28i%JK5jH2#txtI{MJL`8R z|L)Y=!vVSXAkQAu+k^GdamYavM!>Q?!$91gtr!=xR}w10>%9iW?Ck}w_ih&x!{a`@ z-dE5mhWkKfKbGy+0mkFW0nhi3KrR^5{?wiogHkaE(5C}xKx{0rvCZK5frS_pbC4gS zVh*Op!Hr_#=vy59k81#VlfVXSk> zGdCH;%^eYQ7_oq#2mr8BL+aNBWZUe z?T++=<%!fvBsQ@Y6Jn0a6~p}kb6h3H#2hc+_3^YjJ^{2lo_5C*o6PHE`juRbP7I1U zAqq(#=Lr>P1nW*15_2N!_^fYEYy!(pB>ze2s6+#X#iURxr33Ukm366I7!fm%T=S{t z4MVe-H2Se13Eg5A(x3DiF&Q}^e};WdOa^T;1~DOK5w#c5ei8j$RETQOk45xj(E!H9 zET;D2SnxWtN6eB^5Xa|5vxFK;>@xB#Azv1;S@B3mE&`}SD`>xzbxXZy#H5&$lR$s? ztY&-;JfJVWLe!%TZics_AQW4r;~xBu~swW6>ez0^({|S2G~y zLfT%$x=Uz(X||ZlO2yPMUssa1-VYwHqK{XR_i8VQYasv6lR+T;A(@FbIYCaGv=0UHRhsga8^on_%T*I_~D@n}Ah?u_=qeINwQj<*r=HITf}@20rHP~ z#Bg0{u}Y1(yvbgVm^z(q?pfX|95J95h0HBiKC0fapJ_; zZbTgZ9LL!{5nbX$l!~)cv^bF+;_S@2T@V$8NpW_o2CsL|1Z{RF&mN89MDu*lNO)0& zZj6hwmk&MS?A<0#Ou9JxIO6O}4iD`QXcZ@xys-n~9GC(g4=NPr;5f946PE~LX2+lu ztUn|f_2L}rLjy*|iDy}Si#T)q;v5z&&fz#BN1VhOagL4^Cuv-q6NyVn7iS)A=I4sz z^?+py$h&Y%oQ!O77PX19cv759`k&d35pkA~YYFX^G@%m%AYWDt=yMjaSzY2RWgYkC zoRgE$AgW_yTKoxq$+044lrRWxCOA=ULk%&rA>l_|AuR7;;iu3(OaVm-VfnOZ% zQ#d~)?uV`7RK=qZ^r311lj58oi)8pf%#Q^0@5goGRM(&bBjWsowm&HbF+UB17ggvL z=YnYPJgA<>7SPWNsByu#IGnGY8v0O^4*FC>Y)vz|Ff7i6n~*eMXbMw^%rF$fChA9M4XGGkOG!pTm#x&OuLI|S1X7Gd23l;%b050LBB3>5C3Q-U8UCQ#ySbiDHd7p7EYXZe*EfUs ztH^T|^{)zm{8zPu{8zL5YVu$01NpCJ`PD4{8Owi`06&QTSvMxcX-Gs4s?mmFaef{N zFDgL$pAU)iizqOjUl8|;4vdR)4f(DKpa#vLzt_;7_fMxW7Q{EQzL9#3?HCZ}S_ky+ zS|8}&wJg83598uo7Y#28Q4jK6$MWl0em%>tFGVwmZz4}q5&|H9Q#;6i1Iuq9{|!En z{|1)d!15beeq#dsApXW~Oo;Q#MC70vZ5S4(ITBt}fcDKp;@lJk#&Z*KH+5iKoSVsa za{%PKnYfz=#JR-*^>6Wk`nRzB7M8cLyoLA{KZtMX#)LSxCL#ybXv45Lw?)E>3ef&G z>i;SV)c+N6zv{raIIZMs4WI$t7!&9ASY(5^+ljlKxH~-Xp$5d=F(D53rkp!V(GK#r zMS=Wnv}>bX+qgJ)k^im$S}-imugUXkKbpYnyW_z6ySv0`kAM&K(-n;t zaULe`BjkIOnvaf((@o4{x#Bz?2HHIli+VI;NSq$p_2hxqJ;Xmr-Y3cNB<-H66X$8x zJ>7;$ae8V041IcrzC25wXX)E>#6Q<9P9OF9h7GM+)=2Z?=!*jFmiEzYYE z@Szc7;`}KZDWK1PqV1m;)1PQF#PT8X4%MI&YGeIK$)_CjT(&hw0-m^YW&HT(pYw=O|Q*^A?Y9k#od@1Q0tiD$ZXLQ3_(; zjs*RDn{|JUMI}bW8TEmFj}re5_1>u$=iM-{{@r#^^W8CV-Xs4Q%f|v}KqrR8dEWuC z@6+ym>b&2LL5z#Tb)fSBwLVCO55=fPBihl6VN8niVHD!wMJ@uUMKe0lk5O^P9mF6J zned|$^=L&m1~D$qM-hlcGJGgTH5$>5UJPSWoR6ar4=-{NKrNcliGGZV^NE8PBq9@j zRD#$~8qo^kCz$uY#UdF#FxQ_}pii97SoazECdn~b1?KqkNaTQZpVx@<_b8C_@8tV? zuehWF!{Sn2)PQ9=0Vya(1G+ILE)xynOeq@C1C~3HNJ1XS;k05TDpyxxv>+x3bojMrhrd{2-7V!qcbu5j{gABz!jMP!R>2iEV9jsbD)NZgKn;@T+@ zLl_fRB%TU>ikbB}&;MQ4M0 zd(ziE<53Nk?>Q{4y&^$8*Y&Qw{2*>`V)iD_-c2AbCKjxVsfK+$Ca!&=z*zUmMJ0&c zryV^Q1Tp&(voHPIHyPO=$G$aaL>s!nxc8kD*M5eZT!%#>4k^e%Df<6?2_mk91XQ5w>kem3hu4Yg2{TKeL6B4*{By+BK=DA zq6)1T6W3A9$x$`pI-0nn{a`+hVXlth`7z`;rWcdqN+M?x<2*JDv_F!c{8pb*qKsT0&lp+*WdQgTrZYNQN^D^);^RBEJBBb6Gdy%-nQ zJZj8KM=7W=j~er+F`pXqli>$7=67I7TwZE;so|xDmm1zy^ouKv8fkIJ1~t;Ckw%R) zYAlF>7t~nLfG$vDAvG3KV<9yb)}kHMNDo5-sF6;MbZVqiBg2C}aV?_1i)zp@3 z^onZ*>sHW@m6_-l*D9W`qE?O{#ICLcuTLpPi?~ju=BYlkVN6`Pf=GCffD~jS52dI= z9h%UFF7#mtW8ykZ5D52l%fiCXhIvh z(1#(6iR%nOBs@q!3bK)hQdFT1O=v?G`Y?nsapegj;XwjYkc~W)q6&3rLL0g;ib-+h zM<53ANJb`dQH)B|q7kj=L@x$0ib-*;i9ihEk&H~_q8OE^MI&0#iCzq1R9tJT(Jd}N z`sm?ZP(NHLbi2b0tzuKt|G>8Ci%`95Z4Cwfs!zgr<68lql|Xt6XM#$ zezS#K6@GD@lP9ioX;T?3t{?P>>xbRqI-i&yjf<&JFM=&Jr zeH+ESpHJK#^6pRm{aH4vN8AUHGnV)R+r@oQx3~{(6L%ban4Ku@Ln1-Up|p#4&@b*e zesRzBi2JZG)QFou%W@x1ecqegN6`LA>L4w}WC)++AwI&m-R5O*fEmtbkJxU)0GeR90Gml3<1Sk7l| z{`|$gl76kCUQPr?#eGT?sCjCwxO2VYK8@JZ=nLlo_Zj5RBQM98n`6ekHcs4r6kr{% z*B6VskUkZW^DO#XOx_LT+d#gOL~)l=oBML^@+5Hw+Qq%8M%%&0X`fLze zPuqI>a}{l`;&&G!yS`$wc!JbC*OI&(w3b>}NJiJr9$e&0SN^x0ij)7gNu7*yY;U ztEZmtD2d7WQ_mx1`{X;Op6@KXCy$5`bViG=1(?) z@ea?goqFz)XycxG?v@kHoT=wwGRs^t^?Z9d&OAExe1`*%bM~2fzM~W#|H;(zNcwa2 z)bpJsKKVYGFC|hc=SZ0p$$BZ2fOsTM*77eid-&I56ZqeeJX=GAN9GX|kaCnsf#k~u ziDzksY$Sdz&r+qB|9NEDm$}M=uL@{WK%33{*H2{lKT!2(T866nsI-|{XVTM+^wIVs zpPv466}{9xlXfd*6B*XhK0lbv_RYg{J0cJL-pGGTiCM!)iiq>j;}WXp2iJv*%r7ZD zr>tmwVZal&cDCn;goGnKYtHe^D+-hc$_nx~#CtL}uAS>iEiU#fvr*-qWd-F0Wt$89 zbHl&Z^l01Em%n+#nI#+7d*$5xO%Rzr-7DGd}lm6wL&#?pkmWf>#?2J9&JREYN18#cD ztt;8ct`%U1li)!cV5dEff9m$I;C8k<`ewG=T-uiKSjLWAAU0na2T%daH}c;AO#^|_ z;|@E_&+f2!)7cR9OGJSIR`pLkaIPCsq52Q8xx0u#j zIFZ-`b?ce?*AG9NX(4&fVYG$8c`4%1EDes!&XC=6*D*$Wz}nN1J*YPam)RpAG?QN) z$IR(v6EQQVmv0+QIH#{~8hdCL%BR}av-b7VYq-q$H~wd z&uDGG*3veAYJB0Wu}e0wU)wCUuL0JFdcTfm#Voh86!&ExXDWDPIg#sFvxRncmTbkD zIk8JhSzbbwO;oYR?{shc!4cSPTErY}B8OcYnuqW&$ME$EHoKjNwe)Ngd8g-O3(st8 zdsecS8g^#v_TF|x)AKxYQ4%@_+AX+=aTWx7KfQHqEjusM+d7=lOuvDbQ_HUZrg7Ni zp>ZBYf691eGlwo=Lb;20Z7XlP^{0>TZyxpZ%!T&1(0&#gq3u`bZN_f5nGtOX&WAl? zO^^HAD};_Ty9e5{y4_pt2t#MSP({0^*pZY3$6X$ri8F~<8=UV@%=GrN`>`FbJx@<> zAvt}+Ew6uBcUS?-tX11n} zm6;i{$HDYIzI8i0I(zwMdmc_-Y(KW%*Fv*lm)QK@zCGx=5!s8|nVI^ow)X63FRDZRx7F>O+hck9jAr|8k2iaKhR$)Jp4zjky_&OU z3%fmM_T$hz*b7*DoQLLl6Itx5a9-Oz#U2ZG?(OA%XfF)y-Rp^)d0!1xnm&ix(S>?q zw^?Xrr?X9u(XRRKF->o6`#xbuFtdl*k$ULQKiY$B>wI-SzJ45)2j|FcZ(G5RVCyYx zkAl$Ef$f={ZBOvO8+m2VE7SArAu6=Qjy1GLhK_*H8QIQ@W#2stf};z)XU+6yOK>0a z2lxD0-|&t)idsL=I&XrHpjvF&}RuXZo6 zb3A>#ZDwuJRwJ9PSHOpCyQS@jY;-CA3%z^Uqu##Dg!Z{@uW~|tp57C}zxI9;ngRQs zW#7l`J6x!bwvOFvw%zwtTe_qLXKE?`)V+^q%lVwRfM=_?)?OA|m%%a* z*Kx~Ovyxi_UY2@UGK&bi#;%_gJQ`Q=+$ZV8tqA4{_Y#(7@@Q+?INM@AOIGmOK3~YPc~kYWXl2J>#w2d|b$S+k?=S2=!<_QQ6eC5ew;;FE|Ufk{z9m zw7v4NK9w1-oSw6p zt#51EK2P_@?#*^Do8AsHvto}wyN}sk+r7ZPvK8zxV)rq-mF&9d+=Vz{MLhn6WUw7Ksn0}wx`br>l{j`vGqtH9<)^RgS zL!XvH?^!dS-fZmjd-6AZ!p*_B}Dwe|tq_ug^o*fc9E1 zbX8*Cr|oCi&?w4+SN--JKmDE_`V?s2kGKAuXDiz)w9u!nP_60fl$l(i>q;9Js%B?6 z)EiqZG@IZ49vdF)i;bNAWN7Nc1j%h%^Woc(QP{_T}vIeSp(vs6)VhVAv_TzX_jW_ud?To$TqU)vd2 z7hGqrS*Lqxx8}^=XRob~3$~rU4z(k+*Gl#ZJ+x1SZbJuxThD&ZwKeTEU@BEZ_qe9# z*3SEUT5Wq%|9|4H(|`Jw{r{!=L7{tFU%f7y-oxw`4t;{KTkb!3Kgibo`u(8L-ta$n zKgjkXba(2TuEl50id$dFuMO_Q({~W2&oI+7_Vr_J>${25`|{VX#qIl|J*NIQ?kjEm z2ScIzO7^~-J+p0le{ANQ{{OH0N;7vD?D6pbz57bxY{}{SO4Ijcw%*sazCy6?bH$u# zLuZ6-?-TyJpVsU=+B-4-*X}FX`7y5i2x{~<6c6Z5Mui8F; z`+GuYJfSP5|L)x-dl&B8X4ig-nx4V`+jp75*$^-dpLPEy?=po4@0EPlT_$^E*t;(O{ku%|KAXKG_mA9VvY*WVJ9nAv zJ&089KP{0(!FvgzdwQwdm-wH%cVs^oe*Mnk|JJ>u@UPuF^8ByeJF@SM-+b?A`d-b< zJ)zM3p8v+ZBfF>0+&BB~dq?*8`L=sf|J{2>(|7m3{T*fN>rs2owx9q1`8z(g&h#A# z`{%s>sXIRQ(~tdD(!X}c$KKVkXa9fqj!!uESEj%5^KCQvpSnX6_}Z0K3TK_^Z=Qq) z@5E(C$+3#vnTW=u<07X?-6baeUEVKGU4Gf)%iMGz9-bRFTac!KIc3C zFZ}CYTl|N=@wnBvgO!WQ!}C3XvV4ERhWxU#JSFR90z%)L3=hvPDBDm}9{kQ-QMsqE zpsaweNUkr--^kG889TE_GiHo0sl|H&C7%3^=Xgr_mL6ZyD_IlZn~+6JLB3}#U(*aH zGEi7BJx^=bmTV{`+y(>+$T6Y#+jH zg)bY#^YzWO#hd)LCtHdFg(aH;bY?@*R3Td-_!U#W;aB3>RL(%{aN<213hb!EgJ1kC zFO2uh)QGn=4=XA2lo#;LQ=*IL>eTSRQreD@w9FX=!$VUSEVQMN9n03Y){~v(t>sQ6q+0A)V5>Xkbe#bCC&Xs>x%4-mR}rT*W(FE^Zowd$b)kn z{NinX8GYVVoL?4hr^{bZUbLPs(o%PQ=vbwZ-9z)&l7u678xIG<|6>QAk5ZYSyNx6rKwA*F+@F-xPD<})**-}#G zFZay)@)R-4j@XXMt_YuH58GM6DPzlIP8~063OJH%)=g{!yWKXI6a{w;+peG@z!Brg zFD>Qp%3o8=?q4!>$|19z_VDTBhC2BHPhoyJb6>FW%h?a6q}Q%!Hy zU@1;md>g!=c%AK3dYWg!(k!26`O*cxRjJF;JQ>S9*~^x$%UXZkZ?5 zlbyQEmoa}uX6iCe_KIcMOP8mS!%Nz%jI0IAsFJoMjX{uT{?hE#%Q6ySGWh~9|%u8b^sq-@J#L+iqVSZ+6#*%oCH+4zsLOY!4A~q~EoSEqew+$Ai zWu+}k&5ZXf&rX}4VV^LM8Oze<(`zPk#yc2~^z5dMwoB_-2 z*}kMKyu_YNwiNM3YTs74Iw=Xg=XuKWiz!Acdrk>PajwiSrrFdykPh*UMq!%4%mO|S}FWL zc&!v}-*iLQO2N(lFI+2yPhXV_|yd$ zm#hEA)lvA?S4Y7spnv-6C_HqH`IW1qZLhQc$*UuKxxdYU^5un({oMJ@7e1j&nt$xV zC;YoFe7?L3@EsRE;lUd}TX*swxu6M5|GG3Kc=IHDE)U$EvOo0w*M2j2Sn$5xS=_rj z454peS8&J6{vxlGW!rui{kwl*c-WSrvx*KY;(^`y~+j^^6bsa{K_v(`9-!C`Qjs-C#QsdLcZ;PcYTG|iYUWx z&0YNM3)}Il^Y3vZc6)w}zJu&2JMoM3on;rYQzax7m6J6@9I1UXSo z;`i?M%a!xF&7a22YWv0B4F2$AF;l&SKZdYh`8}DN?)Gc9EBJ$vRs6BlYQ}P^R@Y$W!v1^vW~xto()Bpugj9uYF$bLG7q^Qc6Xtoz*UC zR~4mpQ@g7@RJ7Vt?WOjX3Hh6fQTwQU)qcvO_E)pi0V-AT+)nO_@9j=a0N2)}1lsZ}+qmtCI>Nt5_-cZM@WOaf%QJthxRH~Y%<}0sCQw!8W zm98?RP3}^Q)MAyXmZ&VXRAsA^)iSkQK9foQF0(h4PpwcZ)hd;vR;yFgsVY~UrcPI9 zs63Ug)~L10uL{&UwO$pfBDr6ksm@ZxYJ>b)-clP?i7HiRt1?xt0&0`mthT5Mb&fh$ zeP30oAE@)x4^@@itjL==_>H<}xE>st(i&d?excFIBU;N!_e&Q7!6Lb({K?YE`$ZJJg-3P2Ht_ zt?pLs>Nn~h^;^}U?p61x`&FlUKs~4)QeEm{^@w^@b*snJP75dG&(&o$6OFs+ZL7)qr|g{XzXv4XRhvtLjf`NWG?BS8u3c^``o>dP|L{zo@s> zU)893N4=}wQ)B9V^?~|OjjNB;$LbR`q5h^mRiCLz^||`H`a+9VT5F>n?b2?&oetCA z)8Tr19iey7JL;Wuq~2NYqIcC%dN;kh-a|+0J@sCCZylre(fjKCv`6o+XXyiUtUgd5 zqz~3{dbU19AFAW^96eVbrW5qx`UribPSi)~qxCU5Ngu0^)5q&%eS$twpQKZCs-CCk zYp+hz3-m&rt~2x^y;x`JB|1wl)!F)Fy-Y9HKD|P()T?xkUae2jr|MjNnm%2hq4RXU zUZdA)zb?@0^m<*Wi}acLEM2TO=#9EWm+G^1nJ(7>y-9D@TXcm!N1v;|uPgNr^m+P+ zx=Np~f24n`tMyOxPxS@5Mqj8e(iiJmeTlwQU#9Ey<@ySJrLNak>8th6bc6o6{)N6q zH|lHkb^3bUq;JqS>R;++eUrXf-=bUet@<|oE8VJZ*LUbUb(_9R|61QI1M-?~*T2#C z=-=uNeXqVx->*CM1NuSzknYkC>qqpX@<$nzS7bf< z=x6nFx=%l^U(mnP{rW}ylK#CO&@byh=s)T~{fd57|49$&*YxZ94Lz*i)PL4*=@I=G z{kHzA9@X#YclCREOuw%`&>!k?{gM7yf1)S!-}I;YGd-z4*MHYv7%|FdV~k^5#%;DU zVdi@#+-z?m%noKpvy+K5JDXk1t|rRtW_CAwm}s-7*~{#0V$42fU$dX_nElNxbAX98 z2bzP-!6wekHiwu)O}v?7=9ep znje_+%nwbKIp6%q{Mb~RpO~MT3rvl<&|G9LHnrvwbE&z^)S1i873NA)Z>};|o1d8m z^K<*P83h^`^<(U~V+OG|lEFbF;a{w3u7XZRS^|)!c6GFn5|ZbC>zGx!bgx z-NV%|1?HKXPo z^R9W%jG6b%2j)XFZay*}n@`My`J4IFd}b!i=jQL`3;y~_JF}bvoLJ{T z=OE``C(fDe9O4}6#5;4Gxz1ruf^)cYgma{m=p5x7?HuDIImbH3ImbK6&I!(m&Ph&+ zlj_WK<~v>|%~{|qbkdy+XOXkm$#j-DSlej4}Gcz+YGcz+YGknYRu5X{V`MrO% zdn4c7>`JT8Gc$YIG`4MQ*Vw+XLu1EAUt?rrRAY3bzcHpUwlS_T(AcRlzA>ROu`#JJ zxiLj-13tAetuehZ*x02pqp@pax5n;`JsNv9_G;|i*r%~?W534!jRP77HV$eW+&H9h zXydTP;f*62M~W?~k8T_zHkdw6Y!-b&<3zF5^T}fS=2IJ|HBN7w(Ku6Vp?r4Z9I*lN zd16!J3mO+TE^1sXwjI8-aarT?#ube#8&@^1Zd}v2wsBqK`o;~78yhz@Zf@MtxV3Sc z*kJdL#+{A38h1DDY24emuW^6lfyRT4hZ+wz9%($R_@nV>niIh>nj^58!8(q8!MYAn<|?rBb3dREtD;l zt(2{mZIo@5?Ue169h4oFK4qjbN*S&6D`S+g$~a{}*-06%Oi(5&la$HI6lG^+sxnQP zt_&)>C^M8@mEDxxl|7U_mA#a`m3@?bmHm|cl>?Lmm4lRnl|z(6mBW<7l_QiRm7|oS zm1C4+mE)A-l@pW`m6Mc{l~a^cmD7~dl{1txm9vzym2;GHmGhMIl?#*$m5Y>%l}nUM zmCKaNl`E7hm8+Dim1~r1mFtx2l^c{Bm7A2Cm0OfsmD`ltl{=I>mAjO?m3x$XmHU+Y zl?Rjum4}pvl}D6EmB*CFl_!)Zm8X=am1mS^mFJY_l^2v3m6w#4l~MMZK4>M*sTDyph#s;(NUsamS7I;yLBs;>rWs7C5+ z>g?(q>YVCa>fGu)>b&ZF>ip^g>VoP*>cZ+G>Z0mm>f-7W>XPbG>eA{m>ayx`>hkIe z>Wb=cwW-ExqNZx5=4zpqYPY(Qy0W^8x~jUGy1KfC+ERPeUbU@OYOSuRuBEQ6uA{E2 zuBWcAZlG?cZlrFkZlZ3gZl;b)oPQjb=TQIA!RQ;%0qP)}4(QcqS-QBPG*Q%_gV zP|sA)QqNY;QO{M+Q_oi~P%l(3QZH67Q7=_5Q!iJqP_I<4QmY#Q2(d?sQ#q>tp1|@s{W?_uKuC^ss5$@t#xU$XtQd= zw1%c=s-|hWW@x5nX}0EQuI6dJ7HFXsX|rjwYjbFGYIA9GYx8LHYV&FHYYS)#Y71!# zYl~=$YKv)$YfETLYD;NLYs+ZMYRhTMYb$6gYQwdr7Hf%?YMGX6g;r|a+Dh8W+A7+r z+G^VB+8SC*>(P3(wpMAiwx+h0wzjs8wyw6Gw!XH3wxPC>wz0N}wyCz6HbUE6+d|t? z+e+J7+eX_~+fLhF+d(fSRqqNalzcxl2tBunJw4Jo^+5~N)Hc6YTP0@DNrfSo) z>Dr*Si#9{sRohM5UE4$3Q`<}1TiZw5SKCk9UpqiMP&-IFSUW^JR69&NTsuNLQaegJ zT02HNRy$5RUOPcMQ9DUHSvy5LRXa^PT{}ZNQ#(sLTRTTPS36HTU%NoNP`gOGSi3~K zRJ%;OT)RTMQoBmKTDwNOR=ZBSUb{iNQM*aIS-VBMRl7~QUAsfOQ@cyMTf0ZQSG!NU zUwc4%PyS$jo$ReMc)U3)`& zQ+rE$TYE=)S9?!;U;9A&Q2R*xSo=i#RQpW(T>C=%Qu|8#TKh)(R{Ku-Ui(4&pZ25n zllHUri}tJboA$f*hxVuTm-e^brO%?zst?l}x}vMPrt7+)o4Tdjx}&?gr~7)KhkB&X zrq8a=q0gz$rO&O;qtC0)r_Zl1pf9K|q%W*5qA#j1rZ289p)aW~r7x{7qc5v3r!TLs zps%P8*PD8*Cwi)9daf6Gsdwuu=_~82=&S0h>8tB&=q6O`eynFeRF*aeM@~SeQSLieOrAyeS3WeeMh}dAE}ShN9+Ci z7=5fhP9M;B(#Pu)^ojZ;eX>49-&vokPt&LCgZeJ|41HI9H+^?~4}DL4FMV%)AAMha zKYf4w0R2GyApKzd5dBd7F#T}-2>nR?DE(;t82woNIQ@A21pP$)B>iOl6#Z2FH2rk_ z4E;>~Ed6Z#9Q|DVJpFwA0{ue$BK>0h68%#BGW~M>3jIp`D*bBx8vR=RI{kY62K`3; zCjDmp7X4QJHvM+}4*gF3F8yx(9{pbZKK*|E0sTS!A^lD zGyQY@3;j#|EB$Nz8~t1TJNq_LE-w6Tn_tg)Q2ys?6@qA}cP8nKZWsgW7EQ5dDsZLDOhY^-9e zYOH3gZmeOnj2@%cXd9JL8*3VC8EYHs80#AA8S5Jx7#kWJ85jU9{~jXqgN;LsLyg0X!;K@1BaNes zqm5&XV~yjCx~tEkBv`^PmRxv&y6pPFO9E^uZ?evZ;kJa?~Naf{~13T zKN&w8zZkz7zZt(9e;9une;I#^XC!AaXEleJ4O1~yQ!{nbFiq1kZPPJb(=&ZDFhesk zXESFv=P>6q=Q8Iu=P~Cs=QHOw7wEda>jrZ{b0Kr#uA94V>3Yyyr0d46o4Ot{7wy`= z>;A4o%*D*b%_X|7Fqbr!GM6@&F_$%$GnY44Fjwq)*c@&)&Dc!L)XdD>EV}OQy2mWd zZgVAbWpfpCRdY3Sb#slbJI$8aWA>VDQ!MYBYnp4BYn$ts>zeDC>zf;x8=4!L8=IS$ zo0^-MBh1asEzB*=t<0^>ZOm=W?ab}X9n2lgK69iw${cNq-(Z{xsy5GoM28g zCz+GYDdx`RRCAg+-5fM`F=v>&n!B01n|qjhntPdhoBNpin){jin+KQ&ng^K&n}?W( znunQ(n@5;Onn#&Oo5z^Pn#Y;Pn#&+@In3a!YR&6?es!=t<9_v*5=k0)|S>**4EZG*0$Dm z*7nv8){a)6HPRYojkfx&G1gdXoHbzWWR15bSQD*D)?{mnwX-$Vnr2P62CZGJ8P=}W zZr1MB9@d`LUe?~$KGwe0e%Aih0oH-mLDs?6A=aVRVbd0nSk=UW$87j|80U1VKsU1D8oU1nWw zU143>b-Hy`*J)kfSXW!uSl3$DS=U=PST}ZEWZh)lY~9jzymhN}n{~T&hjpiQmvy&w zk9DtgpLM_WK-ZbpgVsaV!`36#qt;{A((3Ao7P*_+txc>mssyw?^*9#A6Oq+A6Xw;pIDz-pIM(ezbn-I>!3h`o;RS>%^{;tlzBPtv{?kt-q|l?Jj#3dscgx-LMr~wKZF} z4coLW+qNCswLROn13R=Mdp3J^dk%X}doFu!dmejUdp>)9djWevdm(#adl7q4dog=) zdkK3_`^JF|1UuuHq!UddkBUd3M3Ud>+JUc+wL zJ$A3%wkx}~*RtgefCIuls($+x5wCH?Q!;iy^}rOo?uV3C)tzjDfZ6xRC}5|-5#`ev1i!3 z+Pm4i+k4o1+I!i1+xyu2+WXo2+XvVO+6UPO+lSbP+K1VP+eg?(+DF+(+sD|)+Q-?) z+b7s3+9%m3+o#y4+Nas4+h^Ek+Gp8k+vnKl+UMEl+ZWgu+85au+n3mv+Lzgv+gI3E z+E>|E+t=9F+Sl3F+c(%Z+BexZ+qc-a+PB%a+jrP^+IQJ^+xOV_+V|P_+Yi_e+7HZ9Gvj29voLQV%oncPHQ5@CL9NjS-)3F@eaU9q29N!6?(21PcoY|c@oH?Dj zoVlHOoOzx3ocWyvoCTeQoQ0i5oJF0*oW-3boF$#5oTZ&*x^8opb(V9McUEv#bcQ=k zCw3AibuuS+3a50sot2!GomHGwoz8vyHQ@vz@cOvxBpv)8~wIMmeLMerJp`)*0sv zI6FDxoe9oFXOc77nd0p1Om(I?)15(Q7iWgEtFxQ4yR(P0r?Z!{x3iD4ud|=CzjJ_d zpmUIOuycrWsB@TexO0Saq;r&Wv~!GetaF@mymNwcqH~gSvU7@as&krix^sqergN5a zwsVeiu5+GqzH@vUQv2%%YsdJfgxpRecrE`^YwR4Sgt#h4oy>o+eqjQsUvvZ4c zt8<%kyK{$gr*oHcw{wqkuXCSszw?0ep!1OPu=9xXsPmZfxbuYbr1O;XwDXMftn-}n zyz_$dqVtmTvh#}bs`Hxjy7Pwfrt_Bbw)2kjuJfMrzVm_eq4SaRvGa-Zsq>lhx$}kd zrSp~ZweyYht@EApz4L?fKj%m1C+BD97w1>!H|KZf59d$kFXwN!%bmrY)g9(GT*Xyg z&DCAQHC@ZKUB`7@&-LBF4c*9{&7Iwy!=2Ne%bnYu$DP-m&z;|0z+KQ?$X(c7#9h=~ z%w61F!d=o`%3a!B#$DE3&RyPJ!ClcE?l#@nP2AMY+}thP((QIva#wa&aaVO$b60oQ za9eJV+v~R7%B|fs-L>4c-F4h`-Syn{-3{Cg-HqIh-A&w0-Obz)?&j_m?w0OW?$+)$ z?zZlB?)L5u?v8GsJJKEHj&}RqG45D*oIBv|VeaAX5$=)hQSQ<1G48SM zaqjW%3GRvRN$$z+DekH6Y3}Ln8Sa_xS?<~HIqtdcdG7h{1@49JMefD!CGMr}W$xwf z74DVpRqoa9HSV?Ub?)`<4epKZP43O^E$*%EZSL*v9qyg(UGClPJ?_2keeV741MY+F zL+-=wBkrT_WA5Yb6Yi7lQ|{C5Gw!qQbMEu*3+{{VOYY0=EAFfAYwqjr8}6I#TkhNL zJMO#gd+z)02kwXNNAAb&C+?^2XYS|j7w(ttSMJyDH}1FYckcJ@5AOfmAKjnapWR>F zU)|r_-`zjlKi$9Fzr8MR7H?K>nAh+WPxUlU_YBYUEYJ2F&-Fad_X02UB5yWtc5e=E zPH!%6Zf_oMUT;2ces2M9L2n^%VQ&#{QExGCac>E4NpC4{X>S>CS#LRSd2a=8MQ^y* z^kOgZQZMszukcE*+gr(7*;~b1)mzP5-CM(Jc|BgQ*Y+x}_SW>)^49j&@z(X$^Vat^ z@HX@|@;3H1@iz4~^G0}^ds}#0dRuv0d)s*1dfR#1dpmeLdVStVZ-WZZW4&?S zfVY!3-kab}^d@nv_j?a`4|)%I4||Vzk9v=Jk9$vePkK*zPkYaJ&w9^! z&wDR;FM2O|FMF?euX?X}uX}HJZ+dTeZ+q`}?|Scf?|UD3A9^2oAA6s8pL(BppL<_; zUwU78Uwhwp-+JG9-+MoJ|MPzIe)4|ye(`?we)E3!{_y_v{__6zyZl-FS^Z&t!&iLO z*L>YKeABml+jo4|_k7;cxD5;cw}0 zpW*N7@8<9B@8R$1@8$39@8j?5@8|FDAK)M8ALJkGAL1YCALbwKAK@SAALSqIALAeE zALk$MpWvV9pX8tHpW>hDpXQ(LpW&bBpXHzJpW~nFpXZ>zvaK} zzvI8_zvsX2f8c-Uf8>Acf8u}Yf98Mgf8l@Wf8~Gef8&4af9HSi|KR`6|Iz=+|Jnb= z|JDD^|K0z?|I`1=|2yakW(j5uh6Rm43DiIf^uP$rzzXcZ3EaR7{2&OzAPQy+W)J2F z<_zWv<__iw<_+cx<_{JK77P{&77i8(77Z2)77vyPmJF5(mJXH)mJOB*mJe14Rt$y* z%^(hvAPur04~n1+x`UO1m4j7+RfE-n)q^#HR?rjl2JN5<>R`=atzhk7onYNyyi1-l1(1bYU11$zhk1p5a2 z1^WjF1P2BO1qTO*1cwHP1&0Sm1V;u(1xE+R1jh!)1;+;`1SbY31t$lm1g8e41*ZpR z1ZM_k1!o861m_0l1?LAB1Q!Mu1s4aG1eXSv1(yd`1Xl)E1y={x1lI=F1=j~R1UCjZ z1vdw`1h)pa1-A!x1a}5^1$PJc1osB_1@{LJ1P=xe1rG<01dj%f1&;?$1WyJ}1y2Xh z1kVP~11m6bV1>Xlh1pf=L4E_rK4!gox!db&% zVIx#RHPk{qG(t19LOXOqH}pb348kys!r8*v!#Tn^!@0t_!+FAa!}-Gb!v(?x!-c|y z!$rbH!^OhI!zIEc!==Kd!)3x{!{x%|!xh36!{K2wjKd^M!z|3hA}qu1aHVkNaFuY? zaJ6vtaE-7P_JqA*JFLPwTr*rNTsvGRTsK@VTtD0(+%ViI+&J7M+%()Q91(6FZV_%7 zZWV4FZWC@BZWnGJ?hx)6_Jt$EQQ_#YKO7T|4abE8;ZEWBa6&jSoD@zDr-VC)Q^RTD z^l&iTC7coN8txYE9_|tD8SWMC9qtqE8}1kGA07}M7#yNQu-)i}c8d%*cxD$cfy@i~J~v!YGPn zi)N4Jh~|vuisp{yiRO*wi{_6Oh!%_%iWZI*i586(ix!WTh?b0&ik6O+iI$C)iR`D36M$jJl(hqLrgnqE(~SqSd1{qE^%s^+xTeit1?1Xsu}NXq{-? zXuW9tXoG0OXrpN3Xp?BuXtQWUw0X2ev}Lqav~{#iv~9Fqw0*Qgv}4p4jf_S`qoe+4 zOf)tc7Y#%^MdPCh(Zpy{G&!0Q?Ho;wrbW}E!DyFgMzm|RTeN$$N3>_OSG0GuPqc5e zU$lR8Ky+YqP;_u~NOWj)Saf)FM08|yRCIK7Omu8?Ty%VNLUdwuQgm{3N_1*;T6B7J zMs#L$R&;iBPIPW`UUYtRL3CksQFL*1Npxv+S#)`HMRa9!RdjW9O>}K^U37hPLv&+w zQ*?85OLS{=TXcJLM|5X&S9EuDPjqi|Uvz);K=ferQ1o#0Nc3p*SoC=GMD%3zRP=Q8 zO!RE@T=abOLiA$vQuK24O7v>K!#ORXp-AWTl#yIgmb?xZ`6Gr!| z;-N&*XlpZ)0Y}0L;-}hQO{rB2lcczZmOqI>1@>A0~jkW22r_P%8-)nob znZCfDK9iwtCckESr)g|9bV;WVUD6Tqk`BsCI)YIRGO7`BRD+#H88KBnqNNND{offe z^O&5$nJsMumwr&T))xQu(3&yR>#b&bz1x4U)ve`NckeXj*8k33bN7E=Dig%Nj5AFe zoHQ`JSq`Ud(#Et2ZAzQb=ClQEN!v}^qV1vWrESwzw6$!z@!yUAZv1xRw;R9R`0d7T zH-5YE+l}9D{C4BF8^7K7?XHy##dB}sR~|$Emwjk4<`%wN_-^65h3^)=Tlj9_yM^x- zzFYWi;k#8SBRW0@|MS_yczf{OgYO=E_u#t+-#z&5!FLb7d+^j;Jb%$_i(;@ zIp4kb@5O&F{(JG?i~nBy_u{`7|GoI{#eXmUd-30k|6cs};=hgmHvZfAZ{xp>|2F>H z_;2ICjsG_O+xTzezm5Mk{@eI(qQQYeYM$@~6&skN%kA+4{!(^?x& zo6skox)@SRYw~}uJEIZ*%oeTeO*~xoCLS((6AzcYiHFPH#KUE8;^DG4@o?Fjc(^

      !64R5Ip2YMdrYA8yiRnp9Ph!qQ%$bNe6EXf{{Kxo@@gL(q z#(#qU1pf*C6Z|LmPw=1Qx=?embH=ot{Ac*j@Sov7$A6Ch9RE4~bNuJ{&+(t*KgWNL{~Z50{&W22_|Ng5V#0u!Fd!xjhzSE?!ho1CASMim2?JunfS52KCJcxP17gB}7_7%&JqGJB zSdYPa4Ax_?9#_oYiuqeHe*t?8*keE*1M(P<$ACJn3q$Omw9C+*EhCK%UWZ1d=9@G=ZcEBuyY`0!b4{nn2P7k|vNeN#sOG5>5gjO#o>E zNE1Ms0MZ1ICV(^nqzNER0BHh96F`~((gctufHVQ52_Q`XX#z+SK$-y31dt|xGy$Xu z08IdB0zeZ$nE=WJKqi1O0gMS?OaNm77!$yl0LBDhB>*b{SP8&N09FF95`dKetOP(M z04f1c34lt9N|`=+(&TB*=mD{3)HJd0*N|nlCQK2}>kqv&`ov}|{S*2J`s`}Tv;mRQ zb`I;6*zc?J_q9b;sq@O-aN@vFnL!#OW_q)^;l%#2@=d{jc>DkHrF48XditmLDQotL zvX8vG1&Q$2*joH)nDD1;Hcq^13^`QR6?-)GiBikNk)!)&U4L-a4F+f3azGS3Iz5}X41~qy!Y@=}l!+OPk8%-OqhrZ{Zo_M_BAKUEv_XODeGmS(S z9gxEw8b{~VY=iRe|9rG_Q2ZPB;siEEinl9chX$pL?w>HdPvg59yNf>z8~UTzK|~B` z=*yJxogq!=3`w4Yp59p}4bHmjfHqlnF75O=%qj} z1$rsaOMzYr^irUg0=*RIr9dwQdMVILfnEyqQlOUty%gxBKraP)DbP!SUJCS5GRKt6 zF@<+2yi4I-3hz>Qm%_Ug-lgy^g?A~uOW|D#?^1Y|!n+jSrSL9=cPYF};av*vQh1lb zyAQm%_Ug-lgy^g?A~uOW|D# z?@|)S6z-*PFNJ$4iDOFQn36cA@GymkDT!kW7gG|)6h5Z#F@=vQd`#hE3LjJWn36cA zB#tSGV@l$fk~pR$jwy*_O5&K3IHn|yDT!lB;+T>+rf@ig!zmn2;cyCvQ#hQ$;S>(1 zB#tSGV+xm3xSYb}6fUPEjwy*_O5&K3IHn|yDT!lB;+T>+rX-FjiDOFQn36cAB#tSG zV@l$fk~pR$jwy*_O5&K3IHn|yDT!lB;+T>+rX-FjiDOFQn36cAB#tSGV@l$fk~pR$ zjwy*_O5&K3IHn|yDT!lB;+T>+rX-FjiDOFQn36cAB#tSGV@l$fk~pR$jwy*_O5&K3 zIHn|yDT!lB;+T>+rX-FjiDOFQn36cAB#tSGV@l$fk~pR$jwy*_O5&K3IHn|yDT!lB z;+T>+rqq*D>d7gIWJ)5Ll1Qc`k|~K~N+Ow(NT#qqC6P=?BvTT}6!xbik|~K~N+Ow( zNT%>Vh5sr1PvL(G|5Ny%!v7Thr|>_8|0(=W;eQJMQ~004{}leG@IQtBDg002e+vIo z_@Bc66#l31KZXA({7>P33jb61pThqX{-^Lih5sr1PvL(G|5Ny%!v7ThXYfCR{~7$x z;C}}HGx(pu{|x?T@IQn98T`-Se+K_E_@BZ54E|^EKZE}n{LkQj2LChopTYkO{%7z% zgZ~-)&)|Os|1 z&fswdk283j!Q%`bXYe?K#~D1%;Bf|zGkBcA;|v~W@Hm6V89dJ5aR!ewc$~rG3?66j zID^L-JkH>829Gm%oWbJ^9%t}4gU1;h&fstcUo!ZT!IuoaWbh?}FByEv;7bNyGWe3g zmkhpS@FjyU8GOm$O9o#u_>#ew48COWB!edzJjmcd1`jfLkimlt9%S$!g9jNr$lyT+ z4>EX=!GjDQWbhz^2N^ub;6VltGI)@|gA5*I@F0T+89d0~K?V;pbUs7pGju*f=QDJ^ z;(o8V{uS51;<{H{=Zd(i;yPEvR~7M6MZ8oIFIB`#6>(BUoKz7fRm4dZaZ*K`R1qgt z#77nJQAK=I5f@d&LlyB)Mf_6{_f*6^6>(3+ysVg)74x!UURKP@ig{TvFDvF{#k{PT zmlgA|Vm?;P$BOw^G5;#&U&Z{Zh;J(9VMRPs5zkb_GZpbnMLbgx&s5CUiuqbGUn}No z#eA)puNCvPV!l?)*NXXCF+VFgKbym4d@9;belFV1!is1+3p=9il%_@7DU6G@Qx6qw zr#>RuPElC2o%(=iJM{t4cIpG7?bHWE+o=zTwo@MvZKpoa94@buXz?$vld$nGuamIx zFRzoZ@h`8Fu<1$55H0Oz zTra5~!sdEO{SY?SOU9GJ=6cC^QrKKC8BaEcOPvudEq-O3C~W-7I8oU6m2sl5<$0w}By4$JsS^nszcM})HhyJ%*rYxrTKvlRP}umD z@u9HsE9*nT#;>do2^+t%J|t{;J*f`~TV7AG{Ap4b5-omZyeVw_%6L=Q_?7Xdu;o0WE+lNOw~RN1jb9mO z3LC#N&TLW-5-omZoGEP1vy3l=&3Tq}AYn6J8E*=k@yd8p*!Y$4rm*oVD)`5i0_+=faNgYVEj9=D)gw6P6TqA78FXI|vGkzK02%GWC z_(s@_U&c4WX8ba~X;KFgE#rr?)Pclt{KHx5K;k&#hqKgy#Buz?S?WOIIOB)2)Pb7R zfkcacI7=N!9LGPLr4A&H;~&ma2NK8e4`-Xlisr!f)|8SbRk2sEhI8EJ09LGPLrtTw-;~zd#?-9otH+-hv)1=-bTIM-? zrrsltbDzOy>OJB(=N&#%?-9qj&;H@FtoMlH_?PvbCiNcC%5hWg5w^VU)O&<2{ZsD| zwj4M0nkMxc(aQc)uMxI9Z`5mqE$0pO8ez-+Q?C)WJa5!%ge~U{^%`Nz{!_1MQm+v$ z{fEcYYs7Kh!+2{4kT>OpR5B3 zoAW2@K*Hwy!DZ?|;yB}n%hZ9yaXD|P12w7th!(%_nEH=6&bZ+*^&fE@zq0-#Y^l%G ze}paP4fP*k;}jN@$MFxBsRxPU_=l&|ahlX|M9b&kDRmri{GZQpzThc!9PxMN z2|T5a)1;0gTFx6hrH&(xGf&`U1}`&snZe5pUS{wzgO{0HH)&?@GJ}^Hyv*Qb1}`)6 z$qdeAa4sXC%-~!G=Q8ri49;b6E+e1J;9LghGV;j`&Sh{eBcG(+(xkr9%!wOw=4nn` zloJ=_#6`KR$2D`}qMW!W=Q`%ZMLBU%Th_IkZFH_pp3+9=+T+qSH03tPrBZCTfDwq;#gwDS75$yeIwWE*{Klc%)N$F{6z zi_gh<*Ov8cVM~2%ldrVV$2R#&n|!5>KDN=vHu*{$J#3?gZS=5>9=6fLHhS1b58LQr z8$E2JgKc!MjSjZa!8SVBMhDyIU>hB5ql0bolQufoMhDyECv9}FO@7iQKWWQ)c(aWj zw$Z~j`AHi+Y@>&5=2@G0)Uc7$y3_sVH-Vclc%(0J-pc_PidozZFI4X zF1FFdHu*{$U2LO^ZSs{iy4Xe++vs5%J#3Sww9&&hde}w}+vF*2^stQ{w#if4=wTZ@ zY?G(7(Ze>n*GBi+ccD z6}nZSTNS!hp<5NYRiRrIx>ccD6}nXs*Hy%I6*^X-V--49p<@*~R-t1RI#!`$6*^WC z*H!3Qg`QRDS%sce=vjrHRp?oTo>k~sg`QRDS%sce=vjrHRp=S@{$_=qRp?oTo>k~s zg`QRDS%sce=vjrHRp?oTo>k~sg`QRDS%sce=vjrHRp?oTo>k~sg`QRDS%sce=vjrH zRp?oTo>k~sMg65h*D7?aLf0yEtwPr-bge?yDs-(v*D7?aLf0yEtwPr-bgiQPQc-`Y zsJ~Ri85MCxMVwI)XH>))6>&yIoKX>HRKyt-x>=!{74?^jc(Fo9E8@ipJ*|irtD;u7 z==>60ogteoI=@C&XLK54i+_G*Y0UWN)zEJzn-%pJ)`NsC^Qwya3+qDSxQtgS;z`zt z#Bmv~R>YGP@nl6jSrJcG#FMNmHCa~@t<39KR}wbnXj;J zC2agtk73n0WTn2LH##kxsFJ*J`_Q?YJRQIDyp$5gDFRMcZC)=etvG8OA4 z6?K`4x=h8oNmV!1t>lfkTc?qC8>=Q2Rhf#aOvS26MOCJvDpRp)Qc;zup?eM8Yv^7> z_Zqs_(7lH4HFU3`dkx)d=w3tj8oJley@u{Jbg!X%4c%+#UPJd9y4TRXhUPUiuc3Jj z&1-00L-QJX*U-C$-Zk{Dp?3|vYv^4=?;3j7(7T4-HT15bcMZL3=v_na8hY2zyN2F1 z^sb?I4ZUmVT|@60de_jqhTb*wuAz4gy=&-Qla18SyN2F1^sb?I4ZUmVT|?^{TG!CJ zhSoK-uAy}eoonb^L+2Vg*U-6!&NXzdp>qwDYiL|U;TrnZ(6@%ZHT12aZw-BG=vzbI z8v54Iw}!qo^sS+94Sj3qTSMO(`qt35hQ2lQt)XuXeQW4jL*E+u*3h?xzBTl%p>GX+ zYv^0cU)eNkRy%5{Gd0zjn$?b)tfz*yHLD#pw5_3SP4%XRwl%b^sovDkwuZJfw5_3S z4Q*>^TT{KMsovDkwq~`XhPE}dty%4;p=}LqYqGN%+SbsvhPE}?Sxt6UL)#kK)?{Zj zw5_3S4Q*>^Ta%sD(6)xQHQ8AWZEI*-lbzLMXEn5~$0~qD0YlqBPNVq7>0~qBPNVq9oCFq7>0~q9oCFs%xU{M2Vv9L`kCU zL@A=}L}{Y!RQ2NFlB1$+nqvmW4o>YKEp}%Z3K7I1TsCt@{M+08Q^lqR;?E-|I6DuD z=iG+&RhlaPrEuQM*Tsn|c32V*S&BV=`uoI(-03qW&t%GXOGt{{9q7D-q_F9{gru

      AZxb*cGCwP8^stw1v<#@!abq`XbRN{!0HP8ima%lV}unkI}#DDDf1T7?bRm zgrWEgek2UVt`l4&2}5CXkt7U-jVGDH3L8%nio)jNNGJ-MizA^ZY%Y#WVTH}vl#mp= zT`)N$B!$i7kdPEM{v{-ZjenWK3LF12g%vjbWeO{7{L2(p*!Y(a6}xQUUqV#a_?HkB zHrGwUQP^BJ2}fabJ|!H*ZXKLY2}fZw$t4Vh%_NsF6gKlj!cf@wlQ0xE{v-^AjX$|` zA$A49pM;~ZxqcFk!p6UZqp&0U&m0k=L?`U^WrVCW6^SFq;Tw6TxgEm`wz;iC~J~ z<#om>es@PJ$18q^hAqe2Y!27g9y7IX{Pe-8@((iOh?_Fw5UrdxtrcVa@0l zj|__~$NHvCmPWNl)8yhH&N;)O5H@Mn<#Y?rEa3sO_|2TO_|1s z7XK)B6XkBA+)b3biE=kl?k39JM7f(NcN67qqTFl-7dKJvCd%DJxtl0=6XkA}-A3Qk zsgq|+=pQp(>%1DAVs_f8L)Sq5arERFljN(B;-bn|gHuLxmm$JUM7W6vHxc0`BHToT zn}~2zW+rh{W+tNL63WaZZpzF=w9HzWnFyOxC^HjbGo@OE%>YJE8ab_BUT1W=Dbo}2 zX4FfjC&EU(Q0pdY-9)XMsC5&yZlc!Bp41haicKBp8!G}kA#t1wnXSZ4nXQPHI|vbP z%4|g(ryDX`5jNeB*^00^7cyIkn=)GwE$2dJE5hbn$eN(AITtc(5jOs1)*@^aL}o3* zMnPoOB5dyL-ddhZ5$O%h3^^l&F*wEPoMZ8_Ge7=)*U%LC*BF{5^7PAEVcY~(O<>iO z*^M~PZ6>oDVRK%9SW{*>;yC@1Sx(%PS&nE?9+~9`8)cJOj<8WSndJzZ+gxTj!p6VM za)gb4ndJzZ>msupVRKz%tuSuN-&l*5>msurVRKz%wNThx7n%JCo9iO8A7OJ{WcDL$ zu8Yimgw6Qt+7M(LN+kMZ2rjY?tAAIqw}#kzb>QD)sop+Pa7O19=^I|ke_;Ev4)-kk>p>+(cV`v>i>lj+c&^m_JF|>}MbquXzXdOfA7+S~BI)>IU zw2q;546S2m9g}B?J=;2WgP5y>f?U(xp<83f82VrTbVJ;-@(*&(l$kB2pxA?%cmHF^ zck>?ZJ2J4C3@j!Ci^;%ZGO(BoESBZTI3^QgH#cERfs4t+#BOfp(2lhtcAYRNLp-se zn=21Z9GozHV9JEuWKReO*w;;blaxC4brUvnLpZ>`ZsNF<+L&-4CLD+f2iVsw7W=w6 zV&GHyhc-wa{P(^hC}4Lt@h;8>@c_HKiR0)I@c_HKiQ`gmW8#6BcpxSoV0X8e-Q7eh z1)tsBge?W1-Q9$Ze*yt^cN53)PaweVZsIup2?W^PO$Zl?NFc!OZsK^ViK@|mx=SDs z69}-|n|PlD9=p8>8~+3X?Di&(<6o99g;2^=g5BPP&3usMOJOs9fX{Ak;gYg6W7~qRt=Hy)f@MC}<1N<1^#{fSD_%Xnb<&U-nkmUJK zhBuXQlLv`z6LR>39G>0j#JlC}V|O}X%h{KZ!zUCy*_TfIUEYK2ODAl3^~Jt)jwoBg zQ=vkgv9LRxfFs`u+u2=C9GB;i-Q|Q`n?oQLk;sJUQ~rH9l5d0MY$qpBOW#St*-lOz zmot^^;{<4B7{WGX!j@N_ZOMd9FQ`c+)Q%F;kObXH(4B-dBtdr)bSFV~5_Bga4M|8t z64Hi2y!l2gOOqKoS%uL2(i?kOaj^xbqV3Jhq_{0RrP=Ci57Y2n^(T;PIuH z$CpGa?+_ke61JS7Jia7sd7gQEN!YT#oyV7^jGQoe)cDTT=I6@->+<`C9zz%T)l7ev z{o*ln@xDTt`L9xMco<#$wMUyUX6C=ktHh6+#oudf>U8<{3Dd>4$D{j|&i}R1<7GQk z*x{$mqQy5UXhsT}!JLc~G=n)A*FNLgXI%S?YoB%3#+U(-@r)ihc~^BU5&AO8_>HuP zW#q}`H`2nU16+K5BQ1{0lPP{9t*#|3w zH$1d2Y_7gYJUgGCFh=%=#FK~k#rve*Wh9daKTfp&Z7e{~|P$ zl;hEVVRPD{43GYc<8ls*NB@n1NxO_36z6vO(5snULK+_b7oVXEkcOY5i{qSmNW;(5 zMR>}{Aq|iJi{qIog0xA}sT>`!VFv*57A8Ni$$(8pc9{X24A^AAhMfXLM9gUbHtZB2 zj>}s)12!43$$(7;Y%*Yz0hB*4T1zle5N_v&NRo->SqpmE)YuGbi)R$vkr^$GQ9^s(8Pg{5fFC zsT$`bpSk?)ig=$CpIrVDRoHS0H3kd>2u<{&EvSvhs%oVsyN-8ctf zIq7Fk`k9k{=A@rF>1R&*nUj9z+$K2-b~(vsPV$+PeC8yddD3l66S-#pn7&c{A{XA} zUt`#`L0PcMDIMqJpLtTNW5hqrLIR$r&BjcIybE*6#yP8aJirn20EcKf{bZmy8E8%h znv;R%WS}`2Xif&2lY!=Bpg9?6P6nEjf#zhOIT>h92AY$B=47Bb8E8%hnv;R%WS}`2 zXr9%|v?+o(otrtQf}H1ZW7LGfksM5was7QlOh*s&iN&MQ9F?M%gU~$hwk8fv8!AT( z6V*aM!h)r~ zf~CF!y)Mw}f_h;=y|AEOSWqu4s23J!c7bLWR0|8Lg$0^jpxFhQU7*kgZwvIcKyM55wm@$S^tM263-q=?ZwvIcKyM55 zwm@$S^tM263-q=?XA5+;KxYedwm@eKbhbce3v{-iepj%NS5UtzsNWSV1lkTMjc3MDo69 zS4y~2!j+PgpoA|ad@12e313S1Qo@%KzLfB#gfAt0Dd9^AUrP8=!j}@hl<=j5FC}~_ z;Y$f$O88R3mlD2|@TG(=C44F2O9@{}_)@}`626r1rGzgfd@12eNlsA0nUb8Kgf}I; zDd9~CZ%T3kQDW(Y;w3pj35QB@f)XB;@Ti1GB|IwOQ3;PqcvSMszLMXSl<=v9PbGXR z;Zq5pO88X5rxHGu@Tr7PC44I3Qwg6+_*BBD5t!lx2GmGG&APbGXR;Zq5pO88X5rxHGu@Tr7PC44I3Qwg6+_*BBD z5NNl;jsBKSU|vT?y|>>VYNoz>@W+k{_a!tUr~kKa~^) zORC@{Rq&Gar;^HG$@)`CWw4|&ShD_9QW-2+e=1pjDp`LjsS1{?Kb2GkOR9n;KR79= z3YKuYH+<+u7rN1f zZmwrH*Rz}J+0FIr=6ZH>J-fM{-CWOZ&Qmx2?xx=@;*u6|NsG9oMLf|Wo@fzIw1_8K z#1k#zi5Brhi+G|%JkcVaXc14eh$mXa6D{J27V$)jc%nr-(SqMCbhU-9w$RlUy4pfl zTj*+w^Vj11wb0cTy4pflTj**FU2UPOEp)YouC~zC7P{I(S6k?63terYt1Wc3g|4>H z)fT$iLRVYpY71R$p{p%)wS}&>(A5^Y+Co=b=xPhSYoT{7^sa^8wa~j3de=hlTIgL1 zy=$R&E%dI1-nG!X7W2QwJnCWo^e}&Vm_I$lwLQeOJ;b#=+y_0}2R+2KJ;b#=+!sCE z7d_0w9_C>W^RS0`*uy;RVIKA{4||x0Ju!nir!#wO^9`-N~dx%?mh+BJz zTYHFGdx%?mh+BJzqk4#=dWm;>iFbO5cY29;dWm;>iFbO5cY29;dWm;>iFbO5cY29; zdWm;>iFbO5cY29;dWm;>iFbO5cY29;dWm;>iFbO5cY29;dWmy-iF101b9#w$dbuBa zxgUGEAKAo0{JcQcTiJX<*fPFk^9f;h*2}~mbDecE(RP+7v!p6VkqOkEVbwSwpmwXX6{v{WM zjep6-7Hc7*?Ob2ccD`Sk|4#v|I!d=hPEJfiK)C(+U$dEW`UGoBXpdC~Gd$qixCZ^?lc_4XEZ zVbMxIh15M^%g<9M7PkC6bz)(6=532Qv1sLapiV68&V3_VIZo=t!j|Kt4lHar4(hb0Wf`(!>XY`#zC)57NaWd1B{&bQ2; zThwbsOaG&fGhrdv|BfvXpO^3hh#{T`ILpxn#C|M5|P2*A?5P zQoEE(X4*%zN`-b^v0W;)OSxpaeMGBNXxA0nrBb_;OQzaKv`U3`U9nv%B~vlZw%!pw z_SlrupBFBww&9T0ZcAG0MznTY(%NO@qU&h8x*2t}UEPe@ZZlfzzO>fdw01jjv3A7K zV+FNce%k1~>TcB0dG&D^b#z{JH)^|0Xzg;-+HFE>mzy@?>(4E9#8-FZVsRTjXd}M5 zBXtzFx+8TIx4I*>4U@DHU)_;9;_Kru>WHuINFDL@y2C~45nmsNQAhFX<1p$de*IaX zj^bDMrH=UOzSI$4e>SKizPdBD_))GfF7_5b$`wW}ev~VWTKp(i7`6COt}trxqg-Ls z;zzl{sKt+Rg;7WR==w*wy12+(?H@fZZHiWP)9SiLtGcOmUAe0JBXeAVI6N$ql1a;C zWU?|jnY>IvrYKXAsmN4iYBCXFqtqrdDe+R`rNm2#ml7`}UP`=_cq#Ex;-$n(iI);D zC0lxHI6)Jfpb1XU1Se>M z6EwjInh-S8Gm2+HQ;BCmQ;BCmQ;BCmQ;BCmQ;BCmQ;BCmQ;C-n&thjbNX2KdQz^c* zcxlC#7B8*%(&D8RUs}Ah;!BH{R(xsk(&A+lAJ?{rXfuj0BVI#%ZQf| zFC$(?yo`7m@i;do5VGQB#mkDv8Gg1+ysUUx@v`D&#mkD96)!7ZR=liuS@E*s<;2U0 zmlH21UQWE6csb+oho*ur%r7is1ZEYMG6Hi7n^GvuC@f{C4wDtb;aNL1vj|I>yUZ0V zrIX2B{!o-E&0VGmHYGp#<4{sMnfzpiU{zYXj!Fh{vhCRw-UZyoz`g@haj~#H)%|6|X8@RlKTrRq?9gRmH1{R~4@+ zURAuRcvbPL;#I|~iB}V^CSFavns_zwYU0(ztBJ>%x*@*0R6SCn*F~?3UKhPCdR_F5 zqHhdzCN&F+CQ`u{s^AMv@P#J$LKA$U3BJ$-I!&O{1UgNi(*!zApwk38O`tP*nt0YX zsl>CsNhO|*$yDOmm`o*}jmcEv*&s(Hp7l*C@vLt$Nt<}qH>t$SDL(6)tWnh# zjdfIt&-x~n;Dqf&gu*jPX%f{g`KBG_0!C4!9wR3g;Wo;49_YERDG4;QYc_N=QR>jKqv z;pzg_b>Zp))pg-)m|?O)UAVeHHq5Y6ARA_=1hQdbpaFV)|Il(FFQpV#1byN04%}jX$*`qX-K=uqxrBmBe zGnGzekIPg#nLQ^n&z`)t=VU5*Z4by)I*UCLQ^`SlB&L#Q8fiII+&r_VU*_!7Sv16Q zdbqYJXbrKP8?H*7Q$wsCe|UIwYWb-lmXALjjj3~Ine||L=SSeI8Md>$1;u^2H=qH%?8=%t)8&ExpVR;`qTe za8a2*L^fQE%ADWYt`Ga97VSU0X#ZAyIJQ;Kcd{dntwsBX`quetEEg8lx6Z?qSZ!7) zx6T>LnP`75r#PbAIyTg|_7CM!w0}6ZRSxgYh4|R6QCm(lJ?qX1jpe4o|2?5e_-jx} zPEem_%U-`dswsU?(={0u+fQ8AYR1s4T+n|+GgFrqZ%;9E_K~_)ZE1`*rrp_ru2d1p zFAq+_qNAd^LX>n9`~llo3F(V9o*s$?ZKgi*ugi}xr1A9 zupE119sc0)`zC(p@!KX|@5Jj1vDZ9))5Ndm@vAfNOOIDy+2CIFcx3}#_IT;VGu=z` zc=1g9qKTh-{LJI09zQvNAA9_05I^*I;rY0G!Q=Tjo-fCqdp7Q#OXJx%e$d1-TUNMd zJigz=(@i`@@s!8+JihDkohF`qqTfB)z!Uv=eEXn#yn)BchaVksk2Ue=5FX*qk2LY{ zLw)Yy6?o{uZud|h9_+>g_b+n~ti}Dyu>Zaxx4((|xZ{08xc8nuckepfb9b-1rw@1c z;x5+TwFckr!=3vMxH~=e?cM739l*YY*xo%uZtqs?Eywl@;aeWxY~YSdyWJfg-&l>? zZyRy9H*wqSfV*u3x8AbK-I~TNH}|+(R^jHGy4=k@xar1DcT*Q`?8E{g3m#wh_}X&J z_u{J_U-9^|#|_8gODplk71+)5>~3O?X0C}@?ms(#8Jd}S?DF`+I$ZBD?XlBiM;ztD zQy$k{n{d~8T${kP<=7;fX0nOxJYxGGw$W^B;+iWu-8HK*;n5gB;2Iv|V_V($0gNxi z#x5ChV_Pv+j*WU;eO1z3?QvBSSMtCs2eFk0Ze5EjI&nEGF5isHXfE^E!tl4Oz@^=| zWC)-4_?*YZ9-sBN$m25}7hW*rF5Hg`hH!p2&ht3eW3$IOO`P4tSsgg59NV<iIPT&`5G$`j rf@L6qqv+L9{a6~u(sFFcu~_=@(#EZOm#+Vi{w?{Cxc_(TnkD}OVD)F- diff --git a/sources/include/tfpdf/font/unifont/DejaVuSansCondensed-Oblique.ttf b/sources/include/tfpdf/font/unifont/DejaVuSansCondensed-Oblique.ttf deleted file mode 100644 index 7cec04c2e076f607d8ba1f0d8c0745617f057ee4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 576004 zcmeFacYIVu_Xj*Pw`|R3Hw{FRY}k;{1f+`!h#~YI5s(%LEmUJD(gmc6G?5Y!5i!At z2#A1)NEZ>2B1Hs5dLq(|wA_8abM8hL%k%hqe$V@P-#>m_&Y834PCYYoX6D?P3FC~h za3GacPEJl~-r-i8-A2PJLl8v*2ORBMfu)?*C%1jt7tA<9A7>zj3=y&(ySn zf}InYB_smxYxDubS^A+e_}vV@BZiQ{jJ2BHuV==)Zv4RO;PSM%g$L~cn78q=-KGLKLx*6G4|vyg9p8kdHTSG zY0RoDXKY)`!5KXV&zUVsG3(CT5SSBTr1aRXZ!0d8?w7N|yuZ2fjSC*ONe&aN5mUq} z#>Hx}6VxuT3-lLa59qJNUeI5Q1E3FzL!iGE$3TB4z5{(+oCAGcy)=Gm;(0YJQ)6ziq)OvyLtqlY{NE-rr zs5TPxD2u_k#cxI4teU+vDfW4w=iA?8ihZ$t zF*tA8mxA+-eHrL??VCVL4$FqJL`UK;CRXYGxlk zePBOu77Xg0I)Glcg*JSn@*qd+8?33D;@1fihjPxq_Dyrx7bh|Cw&Owo;~R_rgU8doR;?6D_^c%p z_>5&BFui3u`g?D!kJeX9*9IU~v!64{aS5d11wgkWKE|p5Y9ZuMbqsJn!p{@#ML3=C z3lg)E3_6L$BUiG|@xrNvr$KS(6G%|&r}d{2*b$?faibhuZj_Rkonz}5=XQjQM5K=3No+cs!xpf`Y#Bm_80hN(tQJCN7!MK0#PqiCx-l7i zdRsW$fGi9T`EeQ0A4Y^x95`HZ3hx_RihLSQdh0U6!EqZdV2@Fz=&czKixgjqJ<#|2 z#5ZC;bo~)=3|jtsaZ;QTXQ1PM5|_mtMNxEXF_h8sfbS!}`3&;MJdj2*pc$YIpgo`q zAPtZXz-Y*Z0!9JG1Ev6G0OkU+080Sb$Yl?>MYt!?1B0;n*5vmles{usgRuEFl{hkW zZkRsJu*4Cy_&$tZ6H#lmSOy!;#;}QO8k@!Du|;etTh3OpwQM8X!gjH}>>xYFPNAOj z*)>+c?sLJd+{Gh!3GU?yyaKPnYw8}A-2#T|@Wj{F0>88*l0q2 zOibnabLmWuaYwt4*#0#>t$qKXAOGWe40@&qGn#Esepkd57ACHVYb;#c6gOFf_yx0- zNX%1yWl`duC}hPjPZ6wyqGGmElIAASG%JavIYJzb{D~Ni&#;Q&=fcmiO5qnUGFPTC zxh7I_{voBCNJ*wqjM6AhX*@(}l%zCbDBf6#w=|9N6#{Y9Ld!e@xCFQYxCOY2#tMf+ zA9E)l3{V^p1BeGe@9@fi8UV~@d3``5Knp+$pd+9gpckM&AOkQQFa|IYFbyyZFb}W@ zuoQq&c2gnCp0~7!-n-v0J1-JkafD!;NAOQf4Zd_MK zK8XEXJ&cw~*oe}gzx}Fu4A>dOzyHTjW;}&=B;Uk=nBSrpC?2Dlqzms$9Gq?-t*?k5 zNw^sK^iymmzCkHkiEq*^$>*Q3nKu)cAU`HH^I(?fPh~W6DgOTrrd)9=!)z8U!O3F& z(I}J4R$+A7#I~{BY#;lU9cQQ61$G&lZ?0@+;vtFo`$VrGjFy8Yc$4_3Rrn!}7(x7f z#D9@6+5*C&#lR2R8SrX}Y1HMi#euU`VkORh7xc5li6lR0O9*?FIHQTCn8oMBsYINX zK^W}`eUD?t|Fq;XCsqj_Eldm7BD6>?N-L%nmum&A3eamP2eNn70VDyM09pas0XhM? z1Ns040x+fu^pL;AR8C=H(@!u>5(y5A9*p%A`mmD~W0hGA%(CiZ#nl4ytd6W3>&5#2 z?MTB#9n1~5Pz6>c{Bgo(B^DbbW}hh!1HV9=1H_pnIeep}`6}@wa5lZYLYyi@?BOfz;gb@MLUY6GUi_#qbgQK7TzLstpcOaNI-`ENqLzxGW+r1bBilCC3(^t+Ke8k; zr{D*#8VWCg$C;P>cZ9TP)gf0N{IJmmzc_mj@!QBc!^ke9VwQds9BGRQ!3_OpR$SZ` zcUehczzP$Kxw^vQ$nsK(`4IaIfYkC?fF*!zfYkA802=_C0XqPD0Q&()04D%v05W%1 z08*BBWkvxy04?i3n3Hh7&tHi0pY-1W?ja)!;51po#z1K)2;lCL_SYm%HS$@_e-Cea z2KnhtH2E~D5#2WkSCi5MU&b7u1M$dIO#f!OsT3-Wu*o;$430mT)8lvl$^~U8TEP|6 z+yF@J3?z01(z=VJb?)S0yf}~H@w^)DcOd ziD(6_+evg6eZ)YKDMpBKVv?9H=7ouez_X zBzJ+kfF--{y6>@uo)HfW6imJU0o>J?4=u;3pkAz>1s|$DBMK)-`kH$Hjg<0ve)~<$2%;N%OT5 zi_3&>(c8wBRv7E2Sf(N#E8C6|9cDlCQ2q!?;+E-SwYerZ{os|&zfK?XN$A-CminE` z)g00%>xhsegv`6d^cLwiV>d-PcY)_M&s@*yaE#+f{}}8)L36W08VOAtGQ)9!@sQoj z$w&S(eWIi*gO#DmC}q4dMVX<@RkD;NO182>S)*)FHY+=nJ<5LNh;l+Xqg+z1D7Tcm zDpPgUsfMY=)fhEiEvHsiYp74C_0>jd3pGXUsCH9(sr}Uqb+|f4ov2PzXQ}hlMe0&@ zxw=wat8P@csJqm?>Ou9GdP+T~=BwA#0u^gS&5ExL5n2g+Prz(ftD@D?>S#$?6Rnlj zPV1y~hlO#VmWkQaIE?DkwK>`XZLzjY%hgtC>$FYUHf^`IPy1FouASB{XqUAc+HK9y zRo$+;^(eihUP>>cSJbQNwe@;>vffN@qqo<)=xKVoK3E^BkJ88MQ}h}7Ts=!)qG#(X z^fmeheY3tp-=pu>kLV}#Gx{a{ihfJKi_b{9#c2t%6t~1!;w|MYl`SYPZ)=k!J*4@^9)^DxHt*5OQte34fthcR(O|{u=Zd;VCq^*>#jIE-r znyt32o-Ntd%+|)%-qyvIW=ppXwhgt7vW>S*vCXi}wPo3s*s^UaY-?;AY@2O6Yqu}^a8z;Ba@27oIhr_HIodfoIl4RgI0ia09U~m$9FrW=9djHD9E%;x9J!8F zj&+Vrj%|+Jj(v`A(Wkzkp7oz$bCpe445hvq^E;My7xdPNgsVtQGdj+C%K4%BmVZlc z7Z8?fWG>oD90)7dxPcWq-$yj9(9OQjDP1LmLdhPEbtK_m2yY|4o9H`)HxZVz!+^%% zTPP>TiDPP;6yi_}>{ZEE;wY3s_m|_-Yij+708u7Oi zUQ5`Fa~aX^5GGpGlQbJ4Q|Ds{FC%=9{Jcr@PNF|1n(B+Mm2^P!FQFKIB~0rQ{xs3e z$bW&vO1$KVLP?9e#Q!V^UyyG()vrRO6HgH5L-KFd=}F=ommF4|!nPy&Ht`P-E=~9` z!qmB)?h}WsI{}(na-cVv zEs(5a+?3uue*sEiw)P(=o-Gu^LP-b5ri4kp_(}4Wha|0-eXs#>mebo(6pC67EJRY0 zGbD$9OmC@22l{@{m>$SmpifaK%3Cns>=%LFK{Dav$){OIAdyONn>62=?aF*hy-Ykq zK7Sx=rf9a<2+1*5;(_(}81i#D2%GWCRVL@b^)i+?{Ro?V*~}re%-|l)Pa60N#zzpo zU~B>1k#IQ!RvbP=ei!3=3^~K8xa|xSrJ45s# zDfxgM@`&UpftYPx34?X5w!koMyCxpO>V6rI0Xd*GYF56SdeVZnX|HwI8-7*I@$CuJ|R9~ z?1Ygq^d;Pf;y3#>^?ij#2Vu6)dKAhWxk!2Cn(;UO%U)@TiRYu=hQf)yl%HRh>2l{JASq(5uQhoZGL<0JV<)*RN3 z+pLAqgp;*~#bW^L0DD9-`vf+LW^5x?4O7^sST$s^O-jD<6Z;IS0}K0HEv1%XTVXS; z%C@Pa)X{9arMsmE+i4kO8O*-G?06Xa(lWv_o_%APWSPc}S!P&XV<&0Nc$U_T=d6Ak zEME2{_9g5Z=8n1Sy8Q$DhwPSpjeQOK)&8-4BfD+iYTwEX`%e2#=C^-o-@_SZmixG{ z@3-&g8s?ZsxNiT>eu6vPC*3D`sQU-^Y3_EPao^-&?qA%$@_4xp<%x0~%FBAjc*gQa zJTG~s^GaBaF5-{NbtrG_$@Q$^&BK<2t>Nv$_Jr->eZ%&K?d9p=JlxLvgb*`GFE>W}973vyw zgSuJWq3%)lt4Gum>KXNtdPTjZ-qo0jfKg25kOg@Lgb=w5r%2Lu&%2LKs(NfJ)+fvVxY-wg`V`*>c zVo9^4TLxQ(T1HvMTc)7z&9!7%mRPbaD=cd)8!VeGJ1l!F`z=Q-CoE?ymn>H-w=8$9 z%&J?R)-Y>vYm7DCTFzS8TEqH;wZ65HwS_gs+R@t0+RNJCnqeJo9b=tnoo1b7oo8KS zU20u!U1?ow-Durn-DTZtJ!m~oz*2>n-*2&i0*2gx`mT4Pd8)utjn{Jz9TVPvkTV~6(t+K7NZL)2%?Y8Z+eQP^z zJ8ipQyKK8*yKOV=m(}u(rLPJ=xyO-p1bE-o>6~Pqz=Y54Df7 zkH`MP8TPsMENGf+`wD264ff6U9riuYAxG>d>}Twk>{sl!>~|f^p*x(8Fh_Amj3eGr z&QaM>!|{ZpzN3+&g(Jn$(b3J(%hBJF;TY~1R9er=~(O7=-A@e z<=E>u=s4y$pbo}?Y!W;?7ZQ;?KDEv z5POI_Br2q2NU4xAAr(Wah13qI7m^&(ETm0H`;aanX(8z$gF}Xfj0zbaG9_e2$lQ>u zkR>76AuB@Gglq`e9I_*1Pssj|BOxb3&V*bFxe{_K{#Vl=h@`h=Gl$isNdo%?P<>i&t=aI z&uxzpriR(W++k5+_+l##NZaavh83N{7D}u8cULG1Dd6wzx}gC&}-ud@0c%OIoc*^ejn> zYDB+BeilfYzpYpL4bLMEVdWC}UrP8j!aouIgs_Kj8;QA@`YXhlBC%4FXp@shbR*(Z z8I=pf*-ANCCTTN=$|*{nZ0$UW{Ol%d=7A(&=AVy|K9#bByAUo-*o=P?(NssAWT^E2 z-4CBHX%mYdi8f0;Qqp2O`3$NNWi#==Biv5rhv!I|e@Gn46<QOQv#pL{&=H&C2r9-blpX1l6DZ;3YZDOQosxsuOU$y!rL4#I3F4JhoV6pDO` zvBaVFAk0=_`i~>N**5A*|JZ{r^PEk56Hg$TYEwK*^Z8LRCCY;!DJdN(o_8o+ zQvxJ0L48D+w24jaVb;D$zelC+Okt-{Jeh>g5@#o+zE(<4+$5T0C`|bW#b(x{*_%|K z469PPlq{kL%dpBYNt->$tQ|2lC@oXAJ1Jc=w`TADoI;Tt#4hqrJq0^R5T|HJ*!1}Z z(VGdIvYJCQ$y3mNIAOLEsvYHddb@>EBy85BQi=FmC06DVb`m!GxY=9xQm*Dm9ITUt z*=tS`pK@->O6^UlY$Cqd$IB6&OPK0iA&qVJP~{2oe}>+Yo)^^L#d_krMc7HWy~N^{ z#A>(Sv7q*#Q2c>hQC%oYDO5CtnnWcvHH=yNBon0^@n=z~-zD0tk>x~_oRu(o8$%qE zZ|dqT#QBLZ_4I%?AZ@Ie(l+(;cjSlKfI{`6P~Q}_i2t?3yc^-4C00DdH*0w}@q@VVNHpbBok;Oh%T$to_oGl75T-ndHv5HIi~O5C(X4lpp2(0n5oXH_ zYAt5!f@)BqRv}2j3YF-ARH)Vj)t6FU$DS7xo0XON>qlq1>8 zg*XC?okXUr&EAVcPtw;1glo%iW_;#MON>{O@OCWms}epXvG{^8@%dKmA~+o-=IwOs zB^2+IL})A&G%6@A>EE2y1;#v@;RRATPpOk+x!DRyU+~u{6@$VOtvpPeREoc|q!rS| z3gtu?nmm`5FW;&(=TJVS(o>rVXsaD6zPF2g#5Y4x&oM_Jg;Si=%2iVu%cM`uEc;$b z2Xqtlb5jQeYneb#BQ2vWqTK#UF{DdcHMN7;h6pR94b9PA*-NR1P$+6uqA`WF5dW~G z)jmXDC;Bs@PZ3SJQkfV;kC!D?>ysbaT^Nx6Pm;q;9Y=ElWiU8G{DiQu>fzkX?>P<9 z56S_GiL{^6QPN_*OpPy=w24I((1K4lV+!WI^vOv&fl-L|nkcmEMVS4i9>q4DF!ddg zC23XDenp%Y2){yjAmu8SaAWds;+jEpF#m68g-Xibmho_!^(d4pZq8?uh#!Q7m*NkV zd`6>$=q_o+A~ESpfnCXewzp1z*9^VVS+d`jKUJ5Lsr2DGih+?5Nx=#!f0JN(wutv{O2>^Gcf1ll`pp zRr<24N*>HxV(s6FpYwF_bm8a8j(maa$oXVPzD#!H+pq*I7P@DN zXPK~g-t(*xPH9aRQPP?$%1UdpC?~DSqI~$z;a5d-OMoi?d`aVX<;GqBzT4m{ z1h#+yiUVQ*@c?|q!ajE7W??;%p4fs|_S$?$QfAWuflV9VS^#6C^ z{*M3WH2%hCP!9hb=1-g;-~L048MpnjARF}PfBnxdzrqLoD+=)--(N*~@qg+6()9X! zj{WPw2grZsTZ!TGgnwBP$9!9a{i!D9-zr`I5I{efnjc!=kN+rk@`v{USNicM8MA<8 z-h;|r6uKyvMZf=vYg~Z5PWYkq{wx3fB3J*7c#9kQUm+U(4Q)dY1o! zaojjy6SO-yhqOzzIFKyw3uA zd*U(aEsaN^+E7_pJQ}NrM`xArSa7Pg3bV4Rcx<>qq#90Z*1+RnHSsvvV|YRkUu~Rt zdmK+FPQN~ZxSz!1VU6*Gv1jmvvkrJ7a3Z!N?#t+eCkp2QCm{8Sc#5%?aZ854`M@bS zPcapbiW@WLAg#H$H^Yima29)ry@kikmf$JDKF1Tqw&IDxDd%kny91BFN!(q)yYZ+v z;U;gc*^5WTDd>H`_wZPlACE;|Tm)Q<7sCxy5A%nCz1+(jyc915oWK)szM(c&C2n4q z*Tqc(qs3_Uu{Hi4TkTdB?HT472AK$y7ayG=UnynWQh?UpiB8jUcYmFo;Z=$J&JV}{aNv1ZOp{<3IOUXJ&vQCn02uaq39ac$*I~k7~r;Hl~ zq-E^Nzkjh$|C-jg-q9pqi=L#dKR*F-t6sKB=rdo-nT8XAw z(b$)G+*BVL`v#Ajoy6n8y&4fLhDY*9R`P*bDT&o$EKb$M0LvP(@;DyHBB-9M+{b;O z<9R%jcXA{!8!ykxvpD_;e+0M^uLN9~SH=xWkMc)ZB(KV=f>WJW2d=?uuu{0gqZac~ zO}qGUejKTs!1~b3Z(&vFv%YM7nU%6mwoV3~YMl!FtMymrqZSa4%dHevnp!}-9h+fT zY0o#F{c?{dtA}#MqhBSUKUG9Os)GJg4Ru@-wOSkX`2_k$W7Jaz)JZ4m2@|OgOhH}D zK~21l8%gG)?PsA5mO!psA$jy0t2XZmq(~UY_ifKFO6bkTQ}tSwT1a_DkOQRP^SLH2OE)T2-8G zt%ALPV#3Z%ibaDq_^XhZx1vs5fB8<BI`bBqFCDYwi$#i#Ba?ssX$w7Bl zCDYwi$&?=*<A>jR0US)3nn*aAw@ua5q&t!cF4nZv? z{gfraG7!Fynq^+V%_50&%i@50$#kt10`3z5w;9FHt)~O-IWxTVlIhxH`iR#SZR9%ayLY=S!Y|^x~1St1m<2TLW(2 zB1+bQMmPHj+|z+uCU93rG_btKPvGpG^j9Qrvz`Qc>NI*#BT%n0Mj2-R@@ zL|1t_QhX%VijQ&1c|GpR_(W_JpW?jpXJWJXTx=0raq@Y)*dcbpYIzm+0$s<+=bPdd zZtVFLw#)mX5QD#}OopZTGAx(H)rZs)I19HQmdge9h1jKc-hKf&PlxV&66I=uM_~=| zC^Vx{FxzYjTINXJYt|C}_B{~nv&g35fK88oZ-7Uv~PvB8-8`UY`(|8oLsx!dn@F=+3B_H@Q9tG#ouK-`e zqp<6EIJ<#IVYl!oxW}ph_%uYwcpVZd^1 zR(KSL7R3p7+|!6Vuu1^Sv00(9S>axeHbA4YLgTSQjEWiql#|n+d3dXa?!FiHH{xttmXfL^f?-{tulDC0%SfL%|3U1zN2YM!- z2|Sz627V2vs1*J>e;s%kUj{6{WGFakzYPhf^KC{(Z0~0>23zxIE6c>1X|l< zeDTRw@_{ca=vioaC2);W6>AkJi~ZL9=uh+QS-4eFwmzwgtmq4J?(+8!AJpzB?m>Re^D}(xFIE7C20ePBnp{_7X zTaRBwbuVKmYEP0U&v{E7UL5mO83Vp=;5}*>dLfHq12z=9+S?_wUQ~pk!pb4anE?1!k-NDhA9KTvjO! z1vl_9J?uwGLq~Gf1mWx$mE;UB0{x~GE8{r``88%OJ-AC3ZZoU|1b%%3+|08NxG_Ly zPWY4j1Co!Jz{gvTu~R`@QHT>YMEBxaQB!uz%A#0FdBd!F({mK~y5|V+PoBfTay(W& zxQUi1Mg0jU2xRTbekk*;dcH;c&w}Du3kLHK74dP40>@lN>Y6fGnIyATSdsL?c|^*q zyeF5Hk~ilfFD9por0tJNK0>Ov2Uo6YA14|&=~6nX{WDONiMJW=%U}g0{VoO_Mw$h8 zfZ}Fd`K!JC9dg^ihb(a^teC3PN+}6GA$8{_VB7=z04*SOi_%-^rSy^CopHlJU%a;{ zKIJi`F5P94qI5(a{+TZ~)9~$67vT|>@ShQn#wxH!u+DBtbuH&@VUSM=tl&#QBl8H@ zP9iY363|N#SnbIhdnue=6b@h2r5zxKIm6F~pT%8*=fd;C^TW?XM1}tpelh%VxSXNM zI|a>oj5&ufXE0mDHiYzI{&|z%!ME8sI{R~ne&H)^gd;+>zmVYhkU5i~8H_o0V81)! z_+5MJp`Jhdj{3uIc>`Fme{axlfi|dl_7*)sZ)EMfi`!-*^o`Y_>x!Z}gnE&={B2mF-yZLcgAQV?dNoKx9A3X)k1!&5 zmSq4x+l}$hfB03t#XmV`ml~@A0P*XxH{qXqKe&>@Tm$__@>Sgnr8W^v3#?6yjS+bm z#czsVm6l3d+5g3rW0YyibnH_pjk_SaYLjugX1n%<8t@M54JL@~|yA@0+kFVMD_9gfoe1qAf8o zv1wxS#5RfT61ybMP5dx%bKL;X5`Gy@n3zYVCOykUa@;EjZg!3LSbzz|9ROG+({&Bfhnz(XHg5Ca8Jkx>=c=f zTSDH!J#ihhRBbBm-q@w>*RG)!UP3KQrdpWmTIhP4Y9ZJ4f$LM(7SzISocuU}GZyu$%#Jj<}-+RRSJ!*l)Ij9y| z#Z8Ty5KQ3_r362Exh5|7pR3&@!en)T9U8@wZIegL}y}I)Iv+tLi@zj#080~ z6L+E(E+k$ntCzKxtygwJ*?p*myX9CpCu(7Ixs~PalxO8*%eSr2t-_0_g;J=6E!j!g z&9Yl%r(}1}o|Zi~$C~qSPN|&AImtOKa@ysj<&4Xjnlmfs?p20bVE4lBMH|fU`tQhE z@SpW>^KbEQ@_*uA?O%oO(<}V%`xpBc`RDuR`Cs?X^-uLr_D}M^?C<99;&10~{i~&5 zSHaGL?FHKkwiIkE_@rP%!TN%A1#1gFDp*sns^G(dl?5vba&KL_b?W-@>)%~JcKzt} zBi9dKKXm=z^*z_WyuSPT=hr{IzUKPG>*KG-T)Uk=D1Tsn|NMUW>G@sqJLNx@pORlU z|M7e+pXd4W3iIye-O0P1_iJ83-Y9^Ah z(l4hUNdGFmL;5r6ZPQz(H%@Pu-XQ(4^tkkr=@0k)sMJRfTch?xZHxLWA|$*ptPJTX z>J0yf{y&s}v>`FO92w-l9{^qecJ9#lvIGmCJkZ_YUIt*tkXQk@8GsMrVoV}fWd>1N z;y3K93QnIZZ2=g1lxG3$0T`<=H!%VBD5VnsapSKhFl8`c7{CP>0YDySW6F0F;6|1MoJ$2Y3fVVrjTF;XVpzhhcFeTzuu!x`I9pHx)1$^hLN+0fz+DJ<3v?T}D3eQ;2YGkBYk~$jxpGX9w=cSK0a%@C z_$ute_cYfhpu55S6!0170dThfc7PrX7v++GJ2jbWH{ff~L*b%~uJ1sPf{X8+u9KiA zVIHvruoE=OfH?(o-v_-C*E({51@!lDVO5MkooHv^MgyvY{sk`TAOhvqA=?O)IRa(U zQC|_*DHege>1E*}ZxQ*RUxRy@u}H+JZ-(mz)B$}QZaqLNOk0pnB;trn2VDYgCg5ez zRpCwp%mdv3F7h0S_GpoQPnlrp4);eBa5|nvB?B75Pa52T0LZ}7i{S$mAOiFtxKRKf zXw+qN0-z%3IdCfjo&)^`+|B@*pD*AJ0}Ka!816_DEJxvvHo*`9_AImJE; zx-nd|8wob_zu4zYut6rV$g>0+`ebZZz-Z8@lh|>9wV+>syAFUn*_OlI1vmtHJ=`OJ z??LZ`dlGOJ^jC0i0B(VXykiRh2586|*<@bG*oHdxLQdZ2p<|#IyqSO*ppjSaEWjer z8E}^XJ_bD&?gqdopkIf(A8-Kle7MMi_bBLvaFG`;+N=EyxH3He{(cFIL%MNjFIa71 zUIKtT>?liIQxohL;kGcrehDt*7WXpzjL*9HI#vCY!5Aydtgg=Y36mCfX z5^*kr8xJT0Iu~wvKn2ife?G|3Hw5%*xFbw(LcTu8TY?ki^i4Lw33>bGn&5<-eJGD_ zCHz1JzI}jiK<|Zn)&!^Ioj1XWcRrLsf)jFzM<0tvyLCcd@!bG@L8JakLnaB3vlI1} zumpg(UC39$7QlAUufaWIg49Qe9H4@~0Im+Ofkya5Cm<0t;z%qDfJ|MR;GzvmaQy%m zb)1N{<~j|xoe8dUaN7gAfRDTa`5;udc1$QR^?JqPLu8a#1 z+6e9iz)zqX!@b5>89!*GSr+*$Yk{8X3fB&BfJQoH>j9nu-2?6fz(mkJ;X;mO4}fVidEmz3|_awNe&vHw^pA2^;U?b@F;obot zF82n;$|IigB|zg{d9HahpixH^UIdH<{R?9ii<=%(mZK)rY%!|Yao)}SH7Y^0g}Ea)b1y8{M- zZUJ{1;8oDi!A1RKzYZGm%&`KZKtrB64+BsJ59E`B{N$i;9>^r8GN3N#v2c-IPE*h` z;UeA~l+%N_a?l=fWV&y_O#?voo;Tr+1E6j^Z^NAmm;w4-xU&GWLB9_dvdr;={(!No zkmptON6$wLvw9Qow}|jr7=U&FixOt~fMTEz!;J>C1brNPPvFN0g|RjSt{30~jrX{v zm*Ku%78b{_H3AR=TCU%{0O_XzEs*XGk8h4Z*JqGxZ{wNr~2K&*q*FeKA ze+_9|TL~KbnXjz|ppS%)fx8v(4e04`4*-4u{RTF4KLV%-8rH&Fj}owOqQpff`El@hg%W=`GoI)>jgkQ;a|Wl zO~Asxf{WRG0oq3RUbx5)fQ7@#Ux0EIR0WOv79c+b^*|qHxE8ANVJ2gyz2@ z_kq_zKg^KQwy(ivWr01-1`CJ-cEu2U!wh9^?AHjxUYrQ*)rf-Sw>b8Gl)$czk{JBu z($|Z@L*627?p#QO-L5QDKzXui$z2SU*`tA-45o#yR?u#SI=B<49_|9FkDGv!@Wm_{ z-^&`o=Gg?_%H)?a`JJp4YmNOWZCMI-KD2{fvOVp8cn&)tI%98NSJsWCqBN7(WbA@? zg}sKaX^YuA*nhGNw^+Z6T`2Fd_p$e61$Li&$X2pdY&H9ceT;o5>+l73J^tRor|dJf z*=~pRGL7|QeeF(ssePLbX8r7+v!N{AaSfKvEXPXrg5#Fs7uK5%!wrvbJKj=K9G~Le z*HOxo_?o+sy~KL3fsS0Bf?G7^;hyKwb~on!KE8xS+6r;^hmQRo0=qvx3CUqw zd2QVO@rvDNkC*#D><;!Kc41iUCD=qZ9ebQ!#rMpa_*y(0x4FrE9rAweMeI%NvAHRx zh{f!AktN;`i`WS9mUvU3_oE5;uybVt`wFlXCH_Ku!IseOpf+qXpDG@~n`}twJ58YU zi}+*6*JF5p2zR`^sJ*N$$NNqQ+X%6I2RSl|X#*Q8Mv7Lj?tY-FU7Z z!FI~Lg3}5)?S-1{#fGu3`Q!X$Wh!!pH!NB^%)YiXQ7f6bvW!-$vq9hwLd#gg9#Q5Y zJe5W7#TJQPNUH!j`C3Uro9@M4z?_?*E+W_InyLuSDtO(iMCrz9tLn9G@7>)Y?vV2S1F~ftJKoIAOG&Dmfzf9LEHiSi&2z>)r9hKbatkzsC(ctk&J)*3S$Kb+*jrf5 zm}ha_zLBAqrBE0nL<>knllvTaRR{NlD^)E%zF^%8t>-+_b6tfE+Tp_IjW>AD!VL!E zUajPcx8R@R<{lqn_j!1eh5Y9Q@OW61mjHj`u%4N%ZHA7BMZ8K}cvU6N5=Y<*k5d3O z;|MsIN@8cOcb(OlSMnJLn(!)KiOm{!;IhPT``XYg}4#%W!`ALjUrcl_&PvM+??%_V+XXU54nV1=cN*=R|~6JB`PvPgjY-O zmC}*ls#R+6AX*9bgU-%ZkDPg6`G}bZo=R@eGox`*w;_t2l-%P5P%m5ddM9B z>ad;vtR_!~+hp!+_`Dy;k1j0XzC;)IQD$nA=xWyC$aygc*UWb@{DrHUN-yK30fQHg zduExaTxMeDO=r7y`+oQrKj$nfS)y!WolpBG&uAQ*G^y^O>80xMK~Hykh^r#D{jT0) zvz`*qy=C0)Z`^pL?K8*MX7RAhid}0Yji}P5V|@I&N{_yjR-s+{!rLvs9syZ$*(P~Y zYLocHN3GFpit^nIz5nfaCRP~frdKjPar>h$Wdl?6+ z@u!W?s_{y_ct!PxZQHwlWlZKTe${>ZwjN*c7mdl76X33IrX}MWoda=s;v!|Qi>n^z zQCjg|499%K&I>fP@KA2yA@N8q)I7;W^M~;?OxrZZYF3qvJ$rM^-XY_S6~-1`4{^5P zKj5zcOhAue;pm)$`Gu0kLt?@*B*8Gp!u|+DzC&2w{LK|M8~6(e{ullAmGFS9t8$;n zc)L)8KDZ z&rDstrBmCsr(R4N^=RAfeS0@TMR)6~T{CVJZZTe-H}4JZzPFi=etq7eC9PXdG=}Vd z_r2CFC-7Gey!#%NvmHjnx#qC4CiHc8>?e^i}jayndtj>a@Em|RyMkO zIG4geGt!+OSR>dt3SSfL6*)rVwU|vgGD26{6n-kkd+#rZ5nW&GHL}Mu2Zogz^wqPg zj`k7<3Xd+&74?U#?wmRz>8ah1R@whv2BwqPI{_KQpw2OWLyXj!b?6ktMxscN+6H|Z zNtNd{O+u#0<9lrExaPpSvoq5Bq&E3_QpyJ%;+}cGKFiwfW^+o$594 zdN)1tNdBtvvr3m1S5O7WYbMfqnsi_}q!y&*!by#Y2UDk3R3jcDRay+``O4MrlH@ksafow@a`J z=eC~TvAAmw9=dbO%tjx3#Z(T3Ha^yG0twXDp+$j}5zyHTK zcP^NSrUv=7Mt*$APmEk{*Tr_Ks#U@;$^}xERYzS=SHTIVp~P(At>daqYPRuQt*1Zi zxom6K&UN4Ivhi42`_9IlCCO7i8kRQwvmw1-`791X<2sLgrh^n(m-@-ZowJ9Gp;Bl{ z?%3C_te*J#P2`~~Xu> z`2mu{cHT`(R+gH12#0c%&vtdZ^n7oOvUK@1v(E>`8D1Sb#;bGkq`akETW3_tHY%;- z17u#$pt9vX6^iUlr7gaizcs{A41%HD2Mtm8cYVRXs<6I-yVLrvvvax)=-jM|C+hu@ z?&P$t&7SPuuF;y#hGD2LJyvVpOTE{2PpRLf)5xqY6FPNBPJgUfyN2~C|NV@``Y~+@ z_Df4U@Jv46ITVESTFE23;XH1yQYv0WLab%Mb#>Ll-Q^vSW?~UO}x!lV~8gq2u(PRH8m!lOOo( z)3+xK9&CJzKAymzkTX?t0s~zg7^kGx{!Q3bqBLIm*{#nn%ulKD*yfK%Ul>rX z-}eJi!6ygx8Nf??nz>KwemJ$uvgQ4+kJx*pLx-zXt6^JW)EeG?#{5|gk(Q9HUoLKN`dM;yqVz2%*KX3)*4hd*g@CjkjJL zHA1U&Zy5eqXpf^`B3hI|%55sei&z5_ZMc|&wTUTAYazzR6prm8R>a(2tR2oZl5-2s znteistBr7S_FohZLRFNQ!jD>r$e6;*W7f(LjdBZX%5>U5R*yke7~xCH`MV;u3pGX> zDgqP0-^O|6O0sdJBtMZk%s4-@&^Y@+R=0E0$6V|i-}?B-S>Ls5oU--vt{?rtCubK9 zYTQ!F>LP#pm1m!6*zjnV9xsmVZ+yStz#+_LsC-CQ%1w@HSWaM}f)>SVuJ0%2_FHG% zTR*z6|LAp?_$?A?cgu?}3Lh(y3%`nRn8)A@hxBjUg|EBiaZ>$&(To4|Tbx2SN93Bk z+Pa&S&wSM=`mqsX;^6f) z?s-#K$;N2gJ!s9QKm~~l|OA%4le&H|txZ1e; zi!tLzgu90eHOFVO0OE<+xPPD{b$~JyZ_Hazd3t%K2PQkFXe3} zzOm5w%*b0|tew1Qf!P<-6q04QEV1nAEDqBZbcNqK_q*%2LcSUJu>RPajt*& z!MsE+vTq!{y6&sU2g>&_=h#8~a1L)ZDJx6n-Z*49dmH(B%7cXr^lh~*%43!HU;kE! zaJjtnDHUhp7LqD)%%$K(zB_f627F+U|layVlpy_2LY?sE!fl)+lAK!6p z+jq7$oI7B{EMu#2uivo&rPFq&G1|*DgPdCqP@j)BycgDAFiJyH+&zrR z64noBSEb;u7y?yQerr@P17MCS*Nru5^62%8?bd0NR&Fc1c>U7q#!0w;Rm0Jz`KZflc8KY_?*EFObYD}^ zwUPd6d>8Bhf9Ol$(wp?@Q@C&S>U#X%SM_!F;!Ej+?otTV0~k%vSky7_tWFm>}Gg|EQY&GGj^P5Hp?PhnB# z;hEd-@gKe}Ts&&sD1^uoz3$&Ad<>R3GcfjU3{ALdbUdP+dE zZO2VT$)?-`;!ryAypN4cBlBaPhhiP#uNXt*%9H!A7}3fK13TyOBQmbKvf_SyW5rC0 z2lwq<6MJD<3*yU(LXDDE@JdS(iC~{e6XI z!8#-`P%EbfXU8=9G~=aZ{GrAE z@!`}R=N`3&M|9{>v0`pw;)-Q)9mc#kwtd>swK5O&(Z^~-E*|;$&z$84tHq*qow>M8 zNR&08%pTsi`J_jyKQXj-%a^NEt6Nz3>t`9C9Q|FT}nBpp#1XQxxbr>m?jq*Yn2mmk56vYa^|DW zpPBMXQdUZAqlK+@9~(TV>E7WDr>WJ~Rjyp;v1ju~&!1bd;<~uFAHG@1OAl$)#%IbI z>8NiY&2U-9qB*BrrORn24IQ*#_+92M{LRz)>jusLFuiB}<BH6|3x-`WLV3#eNsjDJD2&Y*-P8DPC3!?31EYprg z8EsNm|2~h_;(k*Ta@G}8Qn`2~WkHQ<>&le*;p-3iBSV|CI=7`_Us-O>Mq`qhLFI=2MC%Ea zT@HQJSF@@tyz+dB#U0y3gmKS9#I*i~u;4Acu-_U$qAekJ9=%oe+rpp86k zv{Rc>J>hGS{1f5GZ(w;`7mI}8+!w2<(CVZM^HGIzpMR9nzSIB1+It5? zb#!sV%)NJaEr|5Kw1r)Y(qTanP^nTyih{xdiYOfc6>F@qca4hJ5Pi_7F^Vb1B$hOj zXo`tROw(ABn8eg4iR|V5&D>pz$@9M7AD>3EjI%Rm&YU@O`h0zPH}RR3nl(drT%7jg z))Aq(-_BpXm5h?s7YqJ_0!{GG04kML&ym5^6Vju`2z=AwrU8R=IV&zIs}2#1LlrTX zDwl5=z_sZob9(}kY_bdAXxDF%TkBg2tM+a3%%Wp+R68MmV(cDWPZ5G)vkrN;tJ+^X zB)9(d%Aq=_7;NUnlNGJAzW~r~&Jh5IvV5?uWZT{3Z_v<%stzIz>1=Hw9L3g}l z`r`Vg`Rz}+XBgII4LJU}PsX`1Ywte2;!<$booE}ErRZ3@l0u#ILbc+ zI<5uPo@CNRYgh#3SA?EwYI>sv9Q^pv1#InvKx z`Rn`5`rH+Ze|%-R_-EdV#pKFUJIL5SH*GC09Y=*>uKRDC0a~%?|0ADdB)EB2<+v50 zA){u^OkWWg5~J@Pd!}aB(V0`n9GP6P*|Yo*8G492wWTFHGvll3wL7xXv%VlRil=^k zrCt00Jf*Zme_Rf7z&gczRBoFG{^jvc{zb2{$5zUdv1h7xK3y?2_CJ$rH@Ybgi@zQg zr`OKd^Lc$m`ih{?QIvDNd4TxONzX1RJ@QufHl;7wabk!fti4*int5`jTfxck%}>2y5xKDOmup!q zLd*g@>9kjvuJ4m-DQ-6WS)taV%+aY!rZHt6?x_z#I4v1{=XJFPpX+d!hl z3v^90Ky%T8j*bhXPCsF<=l%|#2bME%z?9tO7mTD_wQTD^at=JFG$_F?XUZG@;VK{P zJ6Te(f1?X5x)^sE&VN3}g{&vZQmSPqw~*T>^cTMbTTJ4gqwEI#;9Hd4MZd>oy*&s0 z$edTSr0kFw@@kN{@FKo7k6%vzJle(W71xrR9=;Jc9Z269wD97ttFAxjJ)s>}#XrwqK>a|S{xkh$a!!on(m6}90$GBXyZe2dfrXaHJIstoHfCy{f;`l-sWBu}+iPp4HY<9`2?dVv z^Rk`&l~q&6Br6oYf-EgB!7=tfo8<~`Zs5c+twY3;dZn*@Ot8;_*^nkPws-B@WMer! z#eR(XH`g%xn8=M)^W5URzUK!956?;2Qnll^c^fnyN($R|qLM6?E17&peKAXS%9VdY zBclIiDxTt3OK@A!%YeaSaJ;dLiro>^R5}#tF;uW)3&BrVAMVs4jtR{uRDvSn1%>9-`dO_BUg-b9l10$Yh`TQq#;>#be*ka9h zDcqeqy@s219gq$8?R0jRiQf?CAzxk~!DO!;p)bV`!v+m1;QMPa3uUJ}y?ysy`*?#G(9uEO z+wdci|KdV#et_y%*Fj4@0a5^{6Ccwa`A`Uo|)maRB@H4jF5+bHQN@m(&uCKe4l67qLMH zWCxdCX6)8{@`sX=;^LB$AD&!g{Isg+?d+V~+??#Uo0{Iq&d$!6kp0e%sK${icI;X^ zqAF_CyqF8OZe1ADEPJQAs!IHO*Hhx7s;X*yCbFk?5jj3jFDxv)v*d}}g@r{$g;Q=V zU4DB?Vd3vjxVxR$v-h~G$0DWkZ`a=Y#TomETuySG563wg1Zgt>YcuMqF*j9>3>{}N__RUyLfOYzmR_N5Zi_dsyD@7#6QlE16kxi&qth>i^LT>TuAMiR?Ha< zSIUkq8@^EgD%plO6oYTsQjXX$9Ibx)OlvYwY=DPh;~v{l&HtbPE0qN{9*9B*+z=pp zSE2$1_)(WXzw2K%w&`C8pticYG$XU1bx%>Q%_yIFyBfnr2aQ}SEBm)yo&LXQKr9g- zM5m<2OrJeBx7K1nTJo3g=|aR7LU$R^a{w-^kHw z+k+81*Gmo3l7I!QN)pA$J4vObNlB$s6C*3szCP`9=N>pDtEtJ%sH)1ysC^>He|Y_v zWoJ*XT=9amrxzi6NU;HsLi$Dr5ct9RL5$9+!hHK$o z16=<%UpO~jY$xk%^dDN0`C(zHF~LnKw(-p)YF0%GW5l=Xt4X$hu6OuY56^kd&h?X` z>i~#}l3T|e#<-Amp;=}vVy=9UKG7!Bamv&qN4Rxe2d$h3yDA3_*=lQ-JuWjn zH$e|GA2He3JyL)}ft@@U_vvpIcVxmnORB{i3y9S*@rQ+5_MIW&Fw>REUH|%;PnVx- z{eVES#`oXjlE_PZ0;4T(Q4jV{4Lu+&yb?}`onp;*_=VMh$f7mU7nOT5p#7{_Rw52C{M7{Pc>K5ctCT- zAb;*QBABIrzlndB+BH(Uxx%D@_Qt;}|M7ijRL1WE&baP7crAh2TdB+jCwGrCo=Unj zxQu#_d&rE_4DTFfF{M+t>2Pu7-|p95)zklOpZ0o1VNd%vecG!P={@bYXgeZY_JE;R zE2_Z9T-ZvPH9@+9Wk#iy9`zolFTXuAGBP70GBQ*ACNN}U+4N0gqQC9y1(xT>Ov)P_ zGjU>zS6zJl{{8hC&7Oa6>Gcb9v;wZehv60!4r{fQSFe+kIRg1aF^#mW;j5JTX&KyN zrG8NncTCyUI!07~@H`(O({?@N&07twPd4&(y60(PBlZ1ajo=8_>t?(~O5205##Icr z;9d;3z7)6rXumD=ZKt@E`rqx>PH`x;-|B7WoY?q~w(0oXedGAtg+A@K`?SBPpyNyZ z@AhebpY4&HE z+V7hqrgXiU*_P8zGFR@}m6rBu>1)aVDS1Xb1CMHU)|FC5yUh2-a2{d6`8b)94A;zGB`*Vx;(!ae$yjRF!FfQtpzPD$)Z5NK>}}_s>}?lJKGmaJNZ6C~Y08}4d+s4g+|fuvPiQ|! z8#QtobSrrX$1kp#|5Bhn20pbX4*R6NHT&q5!GpW>@W!mGd^O88|9r`gw?hhEo4x1h zzAiY{K?cU6V>ajnN`Vx4oCnhy=F4QKD+-I>-c(goB2Kk17eDxE^#(Hbx423Pe^{U3 z&**VH#VglJ^+&o7fY+L>FH6FAd2hRKpZ2Cc?S1-lPxfhdWaG1OxYj=H)(lV5_%mrc z==!3`cEkhL;FE&#bP{3%eb5H+6gKYM_RsN49L@s%YW@%{f9FPbQ2u?V`+zV{cn)Vl zL+@>7v!~djMl>lTnWDFcUrX}70yhPALjgp_|ip zJ2)mrd$M0UrC({BnNquCpJwAv zX5%;IP<$GEH{h%Pzxr)=)RLxBnu=408>)%j5=ehphqMllp^~+M27mU1jg072lG^7iS5G*+Bn2T)l}& zZ+~$XjX9w0WHoEYH!u#13uN~klMStI3rE;JO3#2l!>PoJnhd;1>R)B9vAQd~P8u;j zzK3zppZ`lu`R<<{u`9RK`3`qO(_g6Cczc$|CT;Z_;o z0nN)onarr6__Vqwlo;Wc-IH5moJ7|CwfsrcZ|SC3qB0|HvCa6%e2KClpb;n3wEAa^ z0JV^YD4>Vpp8tQv3Pg#YIuI}WcKg-#tH1ug2Mv&{dE2(l`@8G$zyZKV<%?B{5Wwwi zppQ*tl!RYF$><}=(7ux4SL#pq<6A0q1Mm2rvA;Zt(#KS~8~9eA{?dN@v%j<-TiJf# z8x$VU6C$%1-E3p+hVjvk_y*QKx^I65Kixm{WBW12xE}^t0po(#8uyRIS}G)Zy29Z1 zW%IJw1JIM2dvXDVf1Ck+Lw}5qei;8-;UF7d>Ys#m^u+kP7D(%r`b+D*^pEkS^+NBG zX25#0L_%Xfv96DWs_q}q-WQ%wv|r?p5!0Ujl>Q~I3gg?_zWNH|BBloOsX@mo`~cHFjEK~+gQx`jK)o3-azL33*TQUU2eXA> z*VNuP*ul4UdC?SQP5T#h$~x=AHe{4iycm(1KWWDCI6oFB(Hawy8kkX3)TUo4{L$9j z+$Nrz792b~wJC|x1{S1O6oU4?p&A)*0{sl_SUdNYTnk*aQV9UG}%%i5ZU;JAdVf=>v8;!%|UN_Lg?+jPqH&`U%NVuI6-|Y6Gu;E2H zX&x6ELk*ZeMpoz`;1IGCo5O|1i_mtyo3*E7a)O*<6QLe34`ML)#Ow}g&*8>?s9#4e z-w=z64huTbiQLiuqCd{L>%V04K#16;sKg%L=7UHR=7ANT&V%;B{n|5(aM2iFHvflg zeyP8w=wiU}$J|!dZsWHX`^|wk&v6|KkyE zV(Pp)hBsHx-Z-3_!3=MZlW<<>w+q{6EDC&cef#|8fXj#xIuJX%tm__kZq)1&X|L(I z50>yFtYmmYi-b4Gj#Z$6rXU5N9FOh{&!P*BTW0$i!0=<}FS^iJ7KYDztR3ILIQUnL zPx&Z5F+M8Y%dyyJ=^jMCK715+E{$CTzg%dK{wCu|2qq>bIj{wP2m2-U`MOzHD_{*a zL@9wsm>bkb8sEVmBnh_ryiOm?a2_@}*Lk1$C;NZYY=s`%>05}WB*pr&MO`)5Uq$2+ zzoj6F4D9}*>y+&J&ns478q5RQXE8a9|4{MXI7^Rm2E-cTNT8Ytd@~D<`qt@sNtV+b z7N_-i{LffJq!jlIi`IH93@Jj_1XCQD)FJzk%2G^zXZ%Exuj|Tj4tx4bcO@(+ z*d2V&*k8IU%PF_Qw|e?-R#bpSzo!H4e=1ABeuv;w*aj#TC~lcgdn8AC z?Rc=3Nd7*An+u~Ww|$pBXZ|-|3~LY~l=|tJ)TXx>DGbUk-%a}x)~##bT|-8`CG$&7 zt`b`= zO({&eL_xN5UFF3r_en36ZoKMOaJBi^2XP}2N!9plVE!kIk6jtOo9Cb}p9}8#h6YtN z)U%)}PH+mgVZn(SpX$;Xcu)J|>>w7MovCPccBKB`MKp$qwi|d6zR@%ObkGa>(KE$A zAT@^Z;X6S)`q4A>skHwr4!s{d;cOgh$hv*u$whZMzSLimWuh3p^!DE+$ueq6Up@WB zMjGdidC?CNX|uuZVGTO~;-}D#p0wSj-}r|9RMz!ivJZvlGJ~J>=T;f|XJCB9v4a;i z$I*FV-(zsrV|>I&(RO>?1(TDhv|;7GK&W#ORnvZQ`ElCWX}`GqGF4O|ZeIUNhyGPet%n+ifSB*spPiP6Bz9fNr75G@^&T#Fz%4q}J*QHP^GgUy`EJDiTbJko2Z z_gsf&?`Frj5wceC!iI0xe>>VQz(%txGpHmw6F(t+(m}Q0 zo2^9@7tk#G^ryT9{g|Hi5#ueazl_Q%=!w0lYm#`2G`_@J{y9FA!~bRc8qjD9YDdg? z44&J@@wt|m&wJn*ZQwf%&xkD$Gw{r2fk z?W|J&ThyM4{vTs}^L}Rx5*ph7e(cOok;XCfPsKRs2U`42C?s`;{@*gW=s6zJ7iPvc zdd8=;EA_u8WU_hb_}{WKgMReP+tUepW2Y_PW0WLk$jmH63$irvG(=11=03LvLDat9 z)+|^$GjpfLdj`Iby3f#?2SJ_~LiHaKu2H+;dvZHlH!WV&q0+Y{i=#%|m7=d;KE+cT zF8-w}@>FTHM6N3mLlY)VtU3F1fWLU_Y)xXKN_qIJ)i!G!+Z~CQt$33QxY96dR>Kwc zHBs)_Ik+HG3dQ*V4K3kXox2PK@z z8s9EPYa{CGB5=MyPq>MN&EQpX{!kAdhXIe)H1_o$n1ip?>oMe3{{vyfocqgJ|1{bE z7;gE_$M7Y$ZYN!@^uZ|h5mL1wZwrJ$r&75yoKOTB5r!nLt@a~EY!Po#6lG_g z4dg<|zfx9pABO^spX_m_d8lW3UD~#c)^?PqTwVBB`oex5lDZl*xxpNKGW96f0p{vR;j=AvqH{uG-MG} zOV63gO{2DglZx(De{T;7Eh@U#SW{Q& zRasj5)`=en4hgpUAf9n{M^)qE@TLJU~7v!#=QD^p$w9?efn*FUY~ z{uCb`QYK8Ktk>V4xKh@uKWaEx^n~H074eeIQ1d6j>FX9G`jww-jMvhpqthmI(V|09Nw5kQ>V6y0@>?&uVBm|GIAaU^(azGM(@_@Q*v4=EVWm?2qud_^7MZ zg*#TLU+lsyPSa0yp^3yDoU((w(1A4-f^U?8Z@5z%4rNgWGZWh}EQX9WCT*CvaACcA$rFngt|^^5rrgXdIeglzHETM=zZSldAlP*699){;wslrR zRv>SBtYy)tsNkT&j}uj%zJ7UY-n;x|`^uKo)PsMJjqN`zsvDoRzYuHr5_|n6V1mX= z`AQEc3L|iU!FYu;a16`>@z1m`7giG#WaGAa&DG3_c_ps8tO+TrCS==Kjfz^)rfk`! z)7jgnq#Z4JDMvM}a7uR9tVWGPK|b&0o|`lO)Qoa-bGOrKOUvj{vudM8wx^6+wjm`Y zIOw96rPbWIpKmNFK@RrcVws==t}Ou{m6PcoLnb!nCk4FBMSqGVqJKX#@YXx=E)jEM zq9MGojP$+YFTYW~gK@rqeJLL_4W3P7;^}owhXSsdvW>BrsSisE;q#sLPV(`!WJz8> zopmdm(y>Qsd2z2}>k#)Tg-FKR>Fr%!y5Z6HFXrUZkAm-pbbQ3|0Zu93-T}T%t>RJ+ ze1Gn0hgld-0R%&{36H!CY&3r*LHyW-d|o$u#mbH1<@M`hW3NMWURrBq88k)W#|u5w z+2u1A{8#)iEbPL6b?F(`$)d3nRfdxnQ^-tvYJ)O7#> zpuh)kE^h?x1Mvg1qsXDAgap%sI+}f;(F!oG$W8nR<`30U`>WBm!iRGo66MeUvmy4A zc)@?gIcJL_jwH(3UwrrVm?L3sL;VLoi^iJ6#G<_dYM=O8LZ0|bN~vQo;a}c6E&WdT zc7JjIq^jS=yHleMP9OtfLav;LJr-7}R#=k(+gdPGC*Z_X%1tp+yL#=>&Z8b)o^vBy z;@@7+ar_5e!!M+ybo@rYgI^qtW034#J(?TQcGewpJUXv)-Z6(`u$Rr=NJG3g((Z&> z24!b(&Ybas(ZFn|4G@CNTgkEv5mIKuTRD2fc1jo}gZzWPeU48L3W|;f3Me09x&ZKsgCW&U;Ch({Dfpet{p_Up=r?iYn}L-L zZ}l*uN3O!x$Q=Lr(Ms{hhWU&eQCXrK_nRN=EOI^ti$yFr?gpvOf+O`(%KDZkU==`! zJJaqVV=(fesu4HkAGH-oQ`ey(k$Ge-u}kG5^2CNsm0IP$l~>?yXC>~O(T11Mj=4B* zo!Qnl_hqI_!~l*Tg*R11ZrPoT2MbnMYM(6uRr znt-nwWJ)VFv7(YcFL#GrDT$R-vK&nK(XVaV6dW`$@3q#AEk(rgsLIQ;`i*zRJK~*X zD;B(al{ihyA_Lz^Ob9qCOKodI``xy-Hhw|d->3Nxa0VZ(`QZKcxl13s@6_BZ{?Y{| zOW}A@%#{s=4Q~+BdDO5TQVGRM?ZosCo)Hfd3GL`nQ}EouWu+wvk&(nyJKJu~8;%Z6 zg`0QW_@qb|6hMZ5k{@^Jpf=L$4gO26u|ceEm^FzzQuOz1pp80`R2bj144>X)f8?IJq>0IoNfd!XcI+BjaJzet6qBeW``i0K7bUL+W z<&$6EnbCQFR%)=7K_8^WD>koOvAMmj{S#5K2=xr6{L%Tk{{sCC#~B-fs*_BX z=%Xu3t}08Ka|{^+P8cI2!0s%T1Tmw^QzT9ekVLl0R9Q|+^qA33oZY}ATAW%Z`TF)# zmiZ#_SEl~yA2MYbxt0^9`wt)i2g%}}LL6{l!>m%2(=!#hx3~pTeI?8=4;%L)SvA;U z`|OIbbr)y&R93zg+ezeS{FNnl7PTSQCt|Vij(90Fdff}2et*$A7u!q3O*9IuUH{(Z z6&ls}kYw;XT2IX%^auVbMKDox4<-1E%7QFf8=n~K02X2-VNuPzdt^}M+l8OM@8MEW z`C zY8I}YH$EdHO^9)E$<1wDk}}S7sF$~Q%J^Z!ogBl?t1K-#TUMo}`I@hz0}0~zz8qln3GHxZWlN@WY?on(|x>m=1x8>9Do0YF17}B zluedF9<9(KcisfOxOx%mq-U{0k9-f|aA|aY=2!vasSftmjB~o%S}HgNm^ND?LO9&%rZ6j<3B-Mk)?Kz&{AzBB zd-%0$;zRKV@dvHj%~+aa4s!Vh$u8vRiY`8^hk4# z7dLM5QH}J@Hr+o*t@a4Nc2)c-{@U0Ce}l-@v1!x8x7w@n;>fzKTQT?LOPsu+nV1=5 zIBCB5;McT<8duU-y`)&b5S@r zlNq~fmpK*3PmCY-(aHT}u5+laxoJ$0+-koyZ>yX>%yvlm8_m0tR%8q5U0bOakuEfm$^JT z>qLGKe{m#@2(7(SoSR)hYga{e)hv&R)s+<~ zDH~QKk83A4JC2B+5x!OBt9Ru1C_U#|S$bUzasXzCi4*3(g!!=_jLs-+)42i&)yrtxKx#*M00GB;mbviqTofQra zlIrTI^vT(=y1dFag4{gPA$qotOJ1>ozQC*&Q-vhp5gtxNoA;fi?>*H62^UT$v2@TM zA;U09vCh_U=h2e$6FkbMOwQ?Qkjd;*+!-+R(b*$g#3AkDQkHGlP8Db?%eiuyd;N0^ z3Puku+wJOV?2sk~Lp^ z%YmGl;U8#fJAZEOn{!mN-^h4x`V0>Xe@%9wKAUE*I2 z9z!hEPG=l=X)PIpfZuWt|(h4LWEX{v}Th<}MXo@MjKZ9K2fP0rp>yrCIqJIrNYsSg_P!0;y z)ATOR#eQpMnv46K9e<`KBt*N6LJd*z1i!0%H?TACsxyCgfy?Y!9WN}{ zV`-r}=523VKYDpdYCRd+My$mLZICbifV`RqK4?y(DeP$IzoLf$Do`d};(#y#D7g2- z4wIpWT}CY*|5AI9$H0`XpSWhffez}K!fTgDHjCHfgE|t@gKEbW1cr%uNKW7QSFm@y z_voL*6WC`{$T3#fXIPA(r>V%4PVvMU+4Vo4!2O4R;}=n%H(5d|sSZPyFr3^+J1TEc zof&rwkj~=0q#SQhC;6kZl0>m}OM?AuSdDJf{#b1(GVYAd9 zvH@fm#PJLlus)0rsh5tA{6db!_oVe}r!iH~-O)dd17zr*VH`)1E{!8AW$l1O8b?tg z_3zh?apW5e<8NgB$J74CJTLeMK~2o(&GO4wZUe{ss;kCRZ(& z`Kf6<qW|50>Hk~5{=MV>W*C18@L)!52%Hlg zm+i+=wjOCe9-6>IjB!(F%!Oe+HiB}hd1;W+~hw4FW5QY@fXZ@9^*ev zbL*5~H!($&|mUDz-Sr9rEz=54I3%1!q1E7rYS zG%0_a@~XpSM^;BPe7yr%Ad1P}nwAz63%&NooMC6{ z*E(@iyZ9!hgx*?R7A*Qls(r+6K#3#rfQh=4dW@qI@TmPDSJ)|3hJ{JYI|jEXZ>Z0u z){GocwP(i6oxWDAfLGqcurOV0PR^9FlvFS0!^dnjyIop+!q@(gmy#k?`YN*%AGmOr zS<$Y>hWV?33T5c zkMF%FEM@d>j0e`>4G>r>K+ogYKI5zz;=kczVdq8akMk&$vvZm*wev&SILU~MfQ<_K z%+4d?A8fiGV%}`Al*X^29p@0#xM$WwHa_c5V^+yA16>$m%xHfa2SPwm;7Z0AGbS6d zI8PR7fOyWij82c>&U{}!3FkK(iV@-sY#4uF@t?FE>+1IC{uTWEFXOrfwSd1F_^rvP zzWlaN`;>nCmd2hYGB~Fg_^pIb7T;-zQ-mcF>owpL>jfSGf75BoP>4ww;>h;l9>ERQ zL+@Iae99`)Qtic#Uhh_ly-k|B3h}>5@je0iiuu&W%c|6NI{W&pT0Sn`xe?Wb^1oa> zXHL_%WQZPhZE4loM-TR9rjv}6Hf}GSkL$jRJM{|AmpQG(;`Prv)fmal6K+~3$>?;8 z*_?Of*>KgMjIL8$N5DWQ--hegTl6m|7CoPo7d9ueBqUPQitiHCh7R*f9-bg}V;ZcN z(n&CjpSdHfXYoI1L3=FdM9SS6&+sr7rYN*iJ|z1OyYE&~d|KU>T_a8C4?ZN@D8;MD zI!O~ScbN5;_zJ_bJe0+*fxk%oSs&%@$UUXb<$ z;27XRK5{MgOX7{j|`t+ycOa1Q)VQhSp! z;K%;re7(Z2=yT6X{pt8p|NFv&9{8=L@hRjOAN;_8p9u_p+ytP92ZA{pAMo(GJ+Xrn zKkj|{)A6PL_xV4J@bilq{&NiYv1I+(J;_e)}ykbrXxY!Yj;0SXr$mE2{h-X4wWHvT9Hfbsx5KA~QMf*K8M zg#=4yTm-%$E?y)$-``4qS2S}yMVz0T7n*x$-ahwVOLye@sbk{R?RwAuKELZ#;bg$% zlyQ-fYHw?M&OBy9<}gt&CN%B~S-9xQ1*39G2Zbjco$1%Ka6wdXvX{kk=i9)q0oOV) zgQv9+L-2!(U}J4Y1ci2(RE&lJg^v^{sBNhKOsh(m4d5pGCJa-WF1#-udfx#mV@Y;W zSoHgjpX@*8F(TSC`oMMZT+K%2?^-^hAwxAbVx(WNi;so7fu0O`Blm=V&l|bdCvOC`!NDhA1Af6J zAJ6aTtA+?C?w!6j)Fo*3{y9yWt!IdU=GS->Rs64gGb zbsn+qy)v29q@msnmiKImvSz!p%QaRc$Ye%_1q))pqijtocpH z%}BKW*&W3tb_0ELW?8(`I6+}|cEh&#V1-(IMgQCE$panU+q*R|kh5Rfc%QqRmbTKx zsVFKfEq#THb752(r{U*k3>q{tdidzkPX?*8UD5_jEl*jb_FH_)&7(9~r&51%zhUAQ z|IiJudAKGdCRkc7nShI#Gl>TO4U+|6jS2s{MnYEu@r~-i(x-o{$F7eY$gsdAEt!~S zH((fo{wGefmk)~~nGOoa5#yT|M5+gPty?3GElC>e(7Ae^#%hpN(wbmvxhA}+F)iJC zpaol*+C5iGSEhE)iAdvShL2ULcg9Y_I^rhz4Ev;^p&@%!XcQKr%Jmx)7&UXE+vo;2 zr<8!vqenLcduwrj;avU>n_?j33>)0Du#Wav%q8<4ibM+|Lv|;Y-*JAQ8OggQI|(jb z7hMH6=SR2rGHdb6OfP03N5SY06pp52nponDm@K)cT5x^+=60+l;0WjLn(g@nj!83zz;r1^^u2EpG5xRYQ_g~pQ1fToKN%R zz<=4jh*}$~O%!NHZa2-BLp!|}5z`$FkkQWWA*R1b_s~O{w?X@3--8VLPCL_gp8MDS z|0Oef`uoXmL;k~kh5PBhCiBIU#_<&ym{%JAJLJnX7{*5pT?YSC41Rpi*nhytp8mg( zP?G`1{swrKQ+UYFtiKcoOyi`fM-}>%Ng0ikmg0b^d~C>nt;?Z;7}tHTyOukTm!B21 zlIH*7GGHrFW*!?|6vG3~Ed?Wq5Z@j>e3;uwb*{U`{r1NhMZOHi3VK#D!NZ;euUDA( z{a?nWMmn4q*vh4J6nM1+xsh!dW|P=fu7^d2b58AwDMilJhc6y>O+SUaxOks`%uim~ z+bX5V>5fmEI(yE2YAeDz|Avi9L48sGbDfff3bq3J zewg`UgYZ_RiB&(g?#0Ypy^+f}txRK-0u-SUSdAq8!&QIi%iRCg6>*QKhxR!Z&rHKt zRZ7C*>}oq%oSorLAY{2A#?I3abJx#zdyYA7d*ht@2jKnlhM?<$PhI{aXkrK?T&$}< zlrkPx!u~7K!h_duwf!$R`4}nOwg|z1;kdnu^vB9c`wV03F>ztR+Ai(HrBAqSbz+h} zi7rT9i~w)kb`&9fBe>5YACCrc_eK*=?da&YSn_?pyN~Z)*!_a626bC3@m48y3Lrtk zjuya24M&wiqta?n2_^(yNuJyM?ntsSRZKYil2#mYDB$LJ|TfvLYBt4*G}ct zMAvw4+xAd|UJ}`hSP2c7wRD;@sp&;O_pY)brp9R6*NF{3IiLk0wotezKRJl{2NQ&I z@WDcpK;oWSOJin1l8=MNtRGfHI{b3$X1G-;{1m9>65FQY-V$r&`L z_LG@~oL5xr{;DcZ%fj@#>)xgTv=)QRD>F9am<`q!4j5nvuH8svT&_i3{X5eE4?F`P zI^;VV@)2oV6;3y`L=!2pY6^P~r8m0j#||1^#dVJWj)wuqL$RZ1w4zh50-WY7SB&p;joCPU-Ws#P zYR|>tN28+boEJ@Mo>lD@=cGz47!iBaMmf|hr@$j6JvY?et}!uT=#aFn+AZ1$d&h5| zpDdMc&d!eY@^m*FmXf-vr6AU7??TUAqtpezx|kz&P<1}Yk#pjP4;!D7={3}IT*{Kx zV{oKWoZ5@#f*gF!9()Pz9k81ohdu!GgK9zCf2HMw<>Nii*SN(MJ1t9{92t9b*!Uc0 zj(fy>cwL{H2Z?_gCX8t@HPjgYc(LsCr$Wim6@-Ti%N^06yB|6Onap&;Paio3oiglwCc$5P* z4lh=!#V$f8;JaVLI`9q@;+>@`D>P2YAmvKg9h3xnvpRU{9_Vq?&`NXfT`SVL+HahN zXS|TwLGu@4k2xMAameXdk&L|XUBA%NkWZ64LjYQgmN_M?(ZU?E|$Ojm+ zI=bH5_?DCa@+Q5T6|kF30DQJAHbb%{(R44!ew6yGXpWZ*etHAx5wEkA+>Xk#mD`lt z979@K#O~=cLY%fMxADRHavQ&>sFTNwi+y2J+Rn|?Z*SW!-rR;?#B+OF+k%HPXUv!h zn_f5U3BqLPuyURX2zYm^dyKFR4};L$d#XoCnfC^_vO=Xrr4>XN@;G!n-?ejchRf3H zKe>pAh$ery=s%jgb8;&l@0_V$LSz?`RP$hr3%g_m9wk>e5f!uB2=^L0@R+`ljN^{CilxMCn5Lf5CSLm~bi_tuBC7l&<;zMpy;zDbEfV(`#dq7y8F53xDcO{zj`Fk zjdqEDXMLdUS3I@j(b}EG!T@pRy?bQ)J-W7T1m+svR>E3Y z{2i^CYj|4;{DLwe=G1g&Wkw%+V96&ejJ~i`eN=h0`F}jJ6da65+u7~hbL^od%t^Zc zi-R!{>!dLxn1YGMbkC%TdK{c~e1xN`t7hGlDau{SUFq%VyOp~qw!0)uDVSqnV`I;s zwj3~US{Wi8qsXN;^5^lg;2@rp0gtdH2oFG87T`>%xM^pocR^Qz0>L=)c8e|+lN-k` zo>-@RC|;R=c7Dgt%5|KR_*02g=|XIxktt+#TiY#44}+lN;WY^GQ9w+6{7iF%cZ0{s zC}fRS(?E0Xkn1>ZMp_yTLy4OdKde~%&EZDDiCp6M`^o=)>>&Pr{8DiF8>2?iAQbY; z2J(&=LjPAz07YzK0-ldd}k>}og+QuR< zaO&!5(_IHVTX#sATsWn9cgi?t_oYj3-RJD0W1q~;&CPZxnKW_yXSunYU)j8p5s_7u zr+renMIB{I>e1l)xf4@^Y!LV4hJ>jitG~)YCt=0m|6p9AeXSPJ{oPq zO9_<4g`TSL2$nz@l1LLMbMpfHH?B8iP@Zs9pFa4F(|e^FKPSh20yvYt4;-MX1v54s z;lJAoHWV1TeJkV-0eDyk+`ImdTsc+;7MCr!gv>o^MW5%2+>)N^eXhvopRW~(pEYLE z*NQlkn(kWuKITwR8C%j9RUSN62CG|d%21ED5xZ>{9s>NhdytdCaZ3l8HWthuYP#Ce zVYvIufPl6G4^ooGj&>cHFg9slbyZRVC$Bt7OnuzM50W-pMW%>9M8@&u*{YEJ#FSX> z*<)ehdCb>NN*a?5Jo(2cIYBueoFJyrG{U~;9I zDc~ZKBH9N-v<$6*EEN4=7OYPgbk2!6J%-4ElqO&iD)IJn?0UJM)>>T1f7fLzoe`Sl z#V8}xKo|OF`YL3cNhr?eVC3b#yG9dVV8m z&C8?CI?lx4JI9F%u;1(c1{x5xSe@oJXd75wW@t`fwS||9u}6NVI||W+Kt2fMve3HGace|*xuAM zBV$Ej>}Y@o_#A=Xox*$*m96(^%5N?JNPkoRqlXJ@|O08U%E&C{G zTymOgWO8ygZXWZYQ4#Z2IISsflfdL2G_?y-B?_8^C=m+4w^o(^=Vn^FcOW3=YX29-gWjOB6 zLwuDDWC%zk26@*Yp<=5gf%nkFEy^ufD28K5yM=su0JW10(kUXdCGiyNje;HfL-3=) zCXpCT3IL>Gc;R-&o5~On7enLunW}?jN)`&79wVpX6FsU|EPoNTa+j|-H$QmIng@9) zpq^%r7{2)cGmcu^qWlZ`{23#_Kn4elOly zV+f`wEPA=1G$?4#9>No0&z_*5(l-nt<#dlqz}IQ5C{t=Dg|-82!>~!D=YIVM)Rd+1 zRmtMr<>yqYi16hrilz|nqamvSX(}L%T{-SxNwJ4{JZ@d2VGZ|Lx9)jv6lnuw)%eAI zhbP|t4ZLsnz|#)8p9VS6QFw}3OR)zC8K>BSfzg00g+VxF3DP_tyw-uZ6(nXQcYgCB zyY3ALyMgvF&#ELrkI>Ea2`@ScCKcd{QIpFFj+bZT<^aC>N< znEyqbl}U^a;ZrcqkC|{5=)_21{09VaWc)>Ol)sbDVB5?L@s|j#?cfQaS>k^$7Dl-% z2gvQM)zO{-asa`-M>gocD@mOby(D(@=-4IEb5ct<+b&mt;T{{DkPsZ}E`b5u9|Jwq z0uI}r{6QMaOY_4dU%WRn<9r)8 z@2@|&T*&=%=Ft6wti<2Kxqxs(LMZLf^A4fkct_zQU89lyNd-xrl#e0DdZREMrm6vb zp)lPE2X(=ugLjU{95;BNLA^mpe7|tu(NFvhqVmAyi_^}>X{cv zHL~^p3Bktni4=f1pJtk!@eP~OaV`aAB^&@Xhfg~8Y3~6g$uK*2>fa#ZXmleN$@s%i zdPhqEsZg(w37}8~Iv<#HXyR7o){OSdSKECLG2MxB8E8>L=C>4&oAK98c2*(n82LN$ zSjd?Llv@vTg664SfKZ!odg;CL5%-pa2L zlD$A>6{w|oI+#NdP8F{Z&ZK?C*UGP}+Gp_EF4eG`f$k%?pm?)E6EM8EPrshac6sR! zhrgGlP$q1W2>wpT9D*O1gW4#05F~j}F_fV#BGL=*B^m`y`n?pywqL^c`ouL$EW2+| zGw2Am8(Q|;UBP{g;Oa=Ny=KqeuI$|0NgiX5mLRIy-aa9I`yM6vRDZ04K8l*g4|OpF zHh(^MZckM6vJ`~*|JoHIw-!^6(D}D@-<7{Dl+Z|8DOXfV6}4s8C-hoFcsD-vh`qec zgyQ1HJ&QH74>vid%v@Yhpsa0ga!##SgoM$W!=nuu`*H_9f&md5t7$si z=$u-< zBtxny;3x+it&r1TKcM+;68q@Aro*X-Z4h_+bCn(qU2w_P6*soV#%P+=rwn}Y7Sp+M>_4Ksw&j0StaGu>XWDj7_>8&v{q;CPp65s`juR( zlvs;$m^wpZE$OB;_JRN_B>x_Z1Vd4ev7ir##6mr(fXWp`e!fm`w7a0%=FF%2vps7A zPZ1i9KhE&j9sxH(wlp8rl6&2mJ%}1@ENE`{9<6)SEB~;2%^gtkMx}+@edE=jz#ZFfe4<0j|Bh|$%S*D=`b$l#NSC!-zhOyb#f?uYt1wq{_buTitkH$ZeqfVEF^WEef+^U!HP9&%;sh&O z8j1nyr6f|&|I<5=tV@vl46t?aPKb~3aCckl=4R!YFgDRQV4#es$A0sv_{9#gnKb*F zae}$`mF1JeLb$-Rlqt)!(f$gJ8_FwL*N!>CMK@f_OaE`F;p)q1r6oE|1alfFq%Roao!$yLp+Ao$ocy+8jYue ztE>0gDTVIS+u;gNm@;{eg|&_SF=qEW&!vNl7;Ju|`wNT}jVDYomZo>C-t2Y_v3GOz z-jHADcIvSBGX|SHWp>YCGhXEX{Ob?nU<@`jasZ+Ln@fM#j6@F8taL@GHHma!3CP!- zsJVe%k8bf(`bOolY^_9X5Hi|?$5U4wImlK z&<4}z`K|%-K|N3t6A#09l=j)ZDTnk!iNbgn8I5T$9Ksz>6?QQBh+sk z?mx*}FY8ZP8;&Jdg8_7$PXPyR73h$94k0faWGWcN*qu+jgIf}(f8&Tinqdx(DO;RH zPv-;N9pX+SXo8>GA?CJGQ#-~%Tp)+{2iQ0Ud4V!nCOJX+-8b!kv*_itCB+$%N74IE zcczbcg1e)CxvhC0B1mWWuEn&x?#oECy4ID7@wZSjdlU>fm1*E!8 zKcVvq@Sph9g!W5h%B8FcO3Q`ftf*5JOU#CrR&YZsDhmssgOC29m+=J*3M){;Hq ziQEa<*~a;VL6}eSEg2L_W(byUDymELBqjL~ZhS$irLwyAqImGq;R#RWMU70mbmINk zh!LXV*^1cFL(PJNDo$||oYu}bFg_DnA6`+cBd+4Rh2i0%*4HORpJ0W&Q+C10J9JqwmgP29tI$_uV?jy3p}gywGnns_g^qLRsj|Btoo)=&uW2%U}~U~QRl-Pov2UM z+q^RTYl^Xol{C$w&rTNtTP3y zYRn@a>9&F|A;2&uv>6md=^;b~Z$~`}z2p8L+TJ@Ls-ue=-nn-Ry>}K^SbFbOiXugd zAPQm!D+nrz9ec2MO^gL=C`#qI0z{f7r*NkL=S{PjQ6Q^HJsUYItH zI!s+Aj&lf)q-g@(<4VfLx~Sd8>`}MBo08%;mestZr%2jrp<-zO3SJgn*X>x1%ZgEB zjP~bw>5P_f{?`>KaJtwNmW=L3_Z)U{Q}c}OZpnU!J8Nh@`HS^eRCGgb%Bp7y`d^`^ zZpHjun4T))^dTAw+`6t(N^5z*?T}a(-wn>&`M=Q z9TGHQ@vu^ZvP1sn3eR4yIo>rBp-c`dmCn}~@Yksr7xFl)o9u8g0&0jhMHaV8ivz_T z8Wm<}H>>=|7xZ>frz5tpqSDgnkmylFG789h4CEu-gbXg;51RZm#F zy|S`$__lQ;C!~MYJaXdrB|ooQw|3pP>ubhU0glkU#7B_F85P4Qhzl^*Zb|3)r`V^`D(QxqCy=M6*a_da89G0rC@!3^*W}UF*Pk(AQZc((@m%G(@HL%P9zPd#jzb5*bij0u`DTou$ngVMDS%Bd@$lJJPe@DL@RVRc*|JQ z_QwZz(a;0(^9Bdmlh=%L9g)E^ARmnJO|U2Y0%(Y~Cr%$D6{o3N|D*juE)&Ul-5P2` z9{_z+yMBXPrzCe49mk{$hx~bOrN+Y8IwWdu5WpTsMaYXToKKTcP<8J^7IX zza3i8|D|6meup`*TN`BFJTloBHW~v5F`Oc}c{w3ot0ZU5&6k;5(6>BU6o?xiXlvEk z%fax2nA$a&+N2l9bW4df#CsCWpU2n74-z<>Zy;YshcO`26K2BZc*Z5SE(xw&7X%&( zZWYxm$u?lywvK-Np$8(lbqjj3g9!�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

      #j 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 u$k}<8IOitwR`<7~mqQGu}Tr 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

      E-MJz+ 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

      JB7+dzQ0 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 PATHd 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
      c(9l{JP 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 A>6(~Zkim!NUH5+VKX#f|P_h5V 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:tiaSIUikbXpf4K78iR{rAXi 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

      *}tliRJ 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

      Y8?U3|WV6<1 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 diff --git a/sources/include/tfpdf/font/unifont/DejaVuSansMono-BoldOblique.ttf b/sources/include/tfpdf/font/unifont/DejaVuSansMono-BoldOblique.ttf deleted file mode 100644 index 0344c22709d7f3b7524c96d86887ab2bd1f8cc4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235848 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�AsNbmTFS0A;V6r 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

      `Qqb9#2j^sv*g;3sOLE4At|S`!(<@#9+8 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%0AS2R?A#jtn;jvxw4o}aH`cZ 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%0A` zx|1u$WGc^5>C;RqL3p934WM@%sUG#+-4c68!A8FMgZh;9=-cYj!ax$*ixj9<)_kDb~z@0I2pCEg(B`17`k(3H93mg1$a zF|T*6YA$_QwtVtJH!CM?Q~eCrAWrscaE@2q!}#sK^Goxp`aHdjk9+wSzCLHhnfo^> zOM`U{nG=J6^Dd6bZ5WBCzk>aY9=21uVsLvYX4<$*SpBh9QM8fUNZ%q(!`76W ztK5I~f!VVT%{)Aln{^nRDb~5^kiWiHjK#a{8}M$s4tGA*O0VGk_F3dfJdQ8n;m~X$ zR9WJvv%Sp!hiimS7patG(70TgyizDscClFY999I|%YwJ8gZXVoyjU6!;TvTc@OwoF zFufhmjf3Apj9QSuC-!|d12{9YE+9FyNrzYL+6m4&&{vIz4A z+d4yVxW(^^&^px5Diryd>FuicB!+g^Fvd4MptL_YRY`+*D z*a4$+l1KmYrRq49UvG@g4#^F^*#knw`?o95y$h5d7~&BL_Dpy!RV_c*Aol&W3N z#|Fse`6RToc4&PP&W{{;(Lrug^yuY>Y#fdE9>KGg^PczaZQb(3^ERRWMaBg?hu>E| zrMA3xY>k^2r`z#>I3w7-L0?4{BHP(EqDRu zN&Zoe>%GzZ-G>l9Iq4V3#wExPk~d!Y$3_HR?4{4YaAL@>*Q)1w;jP4K?(=~?L36Xj z=o@cw{TpTN+?!8xr2}eKUht8%a~4K$er*nEKM)@#A&@H@U7+bA%>4P%jlbi*RVcV; z>d7bu#fqgyNYnOIoc?|_$Do>EwiSH=! z8p-FaNxtk;;{)Ov)3#Ibii-1&=0xx?<8G#R(ekIS)?F$RAexQ9}2DwpsZ?GR|UkruQoKpU?be8o6?GH21zL47^O;>3&Yj@iA zw}D~?Nn(A0exQ9}0rbO6Gqh3@?e90(5410a0BsksUb;g2VkpqQK!3@pN$XAX{+)?& zNb{#{a7Pnk6lthv{h3L}E6T~n?H`#K&j=qy$Mu~|I@VFve2dB2nbw)M_pRoSuurnM zD^{UBWf+^7BN(Uevw4ECit##=&KHEuA8HDYCc7{L=7Z9EysPvr?MK>{x0^~QvJ-t* z0Ka{5^e=7W+fA!3Qm;%#J7NwBmR-X; z!_TB%e3l#*A2c51yNoN*r#bR4vIFz0fPaFpIb!aI0<^!axLZ04y0KGHiJu+1Mt0LS z1VH;q3aoaL8H%-JE@)Xg@^D1^eTKFw5f+nZ@u>8atY5kZ?Xd*3tsZ6#%vETU=aJ5G zg%7Dz_;5~)#%-70qI8bcGh2FE%q9wejhHRn0Db;Jt^{3LBRwaSNTs?A*Ks&xQywdw?&U5_3=?IWN@bX<83D)`ylEeGpCKSv@PgCNGr^ zVl4NI*Q6uJCyCB;mJetP=+YyUHkk9zA2e^9$L2cvn$0|OIc}P!@!n+~?_K6`y2xS< zj(5wrULn0GyeC~V&+j~hE0EWaNO2#r628RR^_KLtu!gw)t~{1DzKdxY@4_~6OfizI z5|)wKv~84GLC*^DuL6hP_CbUJSU_wv@#bv~cO;y2|=VQ-eV zk|~%=O8`d!`^0N_Y!viKe3)o37HgIB$s*B6Qqjjh2%Duh0EYlZ(54c=3VsjL{*=s< zkH;DaKwDVL`i&PmGsLN+Ok78{VNDOmnw}x52rs@0{sHZW zarhmZQ)|c~p#*$D2{{OuDYTH4a!MmMNY_zcAJnl@d>8d_mTbi@$ScCvDC-VVW{IQx z57Aj6ADD@XV(<{>$b3aUnXRmp*2}9&G3s0(mVz%?BmF3R243QV^obBbCJDi0oNS5o z4PQZ)1AO_nv344WuTW2PvM;57$|jJh-~}kZM&Vi6S6ninK(>Tf0V2U0ybZn~QIPlw+>VS+op@go4~{k9M0 zMZjx-KKRk}BJlkWn8|>p_`VPD2;c-@6ySLPEjJ{^8xI3eW(vQ2j_?VD{5lTMNyyK% zel74r`DnRmU2f>iX(Bu=GyB7?*g&5=73=11GD|**1j-Ghfc4n~@BydEO7S0LJlgmG z=2avhpPH19hTAnj1)Z;y*HdgE4OVU#ufs@#LIc4VJuE9O@4@)JLM}%U>X4k-yjtR_*k{iz&4>rcM{k(8Ge z!B0|Nk+vP)-5}y>>226G)Qy>D9$JwI*%Fu#&7la^B6g!LifE4-zLXdhZHl$L@A;b~X~G@grel=Y#xZ&^B2MnYL= z|FJZ;lXBL7k4ayl4|M}0g&zb!oW1k#N@bXDvku8@1XS$|MD$+R})gH}%$u1N1F3?zffMe@nu zY0igCQ?!Dr`uWaxCe#+KBp`A-k;?BCIP(Q9euNE8ixgXn%@Hq(D&v`F8;0*-79@2H%7qkxIccjfK0A|>QN*; zi2CHyabqciiN}<#(|)G&MRA=gK_A?MHS;fY+%WmZY+Cp%%leLb*P~rqEv6++I;L2^ zn)xi2Hf=|m2TaypH|2m@v%Qv%8QO1jjM28g-K6!P{cUMaI@VZ!Q$E_0_+#v%4&Xg+ zU<_M>586P+h(2T@WQ%d~cSyQoHRQ-6(!+{i$SL_GRK5lFO(b6YMS2GAm#jGH4E%iM zlcd+h=cJFVmPl_Z+{sb-^_`jm)raUqdb^ z3y|)!Btvl)_Mgd9@NbpRCL!`!u%857co1<9f#>$aUgysw8{x2H>B?!KT^pq5=M)9-3nVGx3(`D3 zMtVVcN?IXqAc^87vI}K?LF^&k;%A7rpA?EOkRsW2<7N0Y^FK@D#LuK(`AO1oWiRU2 z1li;}{A%$F$nOQxrK|?6d_j6xJWZ0g)yTt1_9kG_QDGq~=IZmd_&XLW$2l~s0 zxF|Mq^qr1g1%4GtUP~4!A11xZSn{RS^Pu_3-C6k& z$j@7ev+^gT<$(5IAe{wWsF5!uFG8kSsJsU<<0TRby+yGYB<(>z8iapKYlXk#W>yW^ zuBak~!e^vNcuAV5{1J0L4WLE8D538dfX>N9+OH5vqnJbPN7?Y~BKY9%$VAagI)ySv z2){@(#VFKGD}4xBlA@E`D^&eHv|4bm^d zeCZO#=yl<1=~wx8@W(n&=_SJZi*m$~lOovXVeGdESBM9)d>xW5^Pfw*#6)Snkc03! z(!Yff(ntJT6iAv-MiPamrH^F80i&dNVI0?@*LND_oo#J~@bM*aqg=GTLdUk~?TBms~Ow+z`>GDV01J;MBe zo^Cx49)X`o;$UuPFhH7QKap8NC|S)nLeKaH%&*8w!CLy3$J)i$kTHA<#>@urGvGJ4 ze<5%1#4J3*4Tfok9AFNkY(U%j;DizC$Ycy_=_JakMZRVH1TqTwCZc>vvT*6N>^I4X za%KsUga9X;7davi7BPyg- zFGP_VUQdE}cj-gaWfjWS&cBTLnTz)L9O*#@l)Wc?As8T&mx7nyOGFwEyyIR#9^f+g z*6(3LZTj0e%CCXG=QF+la@6lk^EyLys^SjNQ;Xi}R{Kr&+vMNDb>cR6$|pg8vdW^z zGOr7HX49g-ve*YrtXr$m&i*i&KFhRrL2pL&x@&HlW?fa(t)?`=WS4v>e*>PO%WO`! zn78Y$%=RveJLvTt^;d)Ll+OjPLUqc_yj8w$H_N|fQ`$Z#-~T!N)+owq&peZ8{B5UssBoVyw{KQ3A$~VVHSPY9n7(iQ`0Q&l-HyDgvDh12GxUFbVawD z*C1z}0$+qQsGJYpDxd1hETGsTodhik8XSL?acDAsuTQ`AjwUm}D=ZP8hwlC?c^zZy7M;Guu82pRIVkVHQQm)`yoD(5O2mWg z_eY>;N1S-1_O!GW z>bH&7(NbPZnJjr(;@#E!FZ$7v&)v-bs$VSSxU2am>wU-ao69br&-AWrJVH+aUKlzI zlSy?(6?ZDTLc%zpdW=5skKdwiAa4kSK+i$`fjE;bmgSJWrHx8>f-Q$Ck90mrdVI~se3pNQU^jsn8;i=#=i9KPie&9>+YZY`)Re6+bgq-#oz)e(x zHzZ^y1B8Pvu?%IKBy{)Wp-Kj)(cjFh6SjN{aCRX@X10n!L01d!LNCr=3 z2H7Yw2R!Rl{(j~k3;#+0+b4zj=i^fzmh!8VABA3%@~uqo3SL!KkFi7fRhkF*Q>yy} zUpEVTE$;)aTBS>WlUG6Zmw|uZM2-QbT5Thzl>Z>7F#hua1(5e1LwkHh#}M7ip}Y|2 zb&|Z8*a*9zcXEfkr6MBs<3}iqNHPVRD<%`)g4vCl4gf2&U2Qh08~rZAndf9SM?Qhf zZ4J0c^C6R=%$;l#Mkd=;V!wPH%X=%r&`mxB zSp_@@%rNWoB+Tv^d|!nd_zcBW>0Rr0pc6)Trsu$3Db@X0Ta!|n7U*dy($&B(66QRV zFIIjUZl}3(FlU-gvz?2AotOdNG#m{>rT`jD_S@rOeElvx7RC~Hs97q1nQKG(_XA!Z zV%p%Fo_W{}IFD}!m^9yi1KtD_m_YUg{LJO1{)2X!M>Bw$0O?1V@MoquuEmd~i!hdS zEM=u8tv^|A0`^VQqvbH0EDX*6_V_f6Io!~6S@=~**8(&Te6z57U~axy4p#mldEH)K zOBrx(!4G>_1*8-*=|&22+(4s%y^eQ=0(3Fa4CIhUhMWaqXG!|VJJ`=)0J*)$3^`&u zd0Box;57M`f@}xEyhlz7X*f#~Lr%&UatRDhlegjjws3&NDmfBsqb|*iY-%WQ~jz0t9ByygDC9E)x zoTnhyLB~G?1OaDA02a5~?RRs(TR0Z}H!_X?9%;e^OgEeK`>p_8!8E{m=2!rH}U-)+}E0c(RXDYnQ7BQN&y!0Zr{{@raTL$`?9!* zy92-M?tV1h|LgvLRQLZM{Qh6>zyE3Z|9|M?Kd7ULU%H()8e+HbWn3-zDZou$iP9th z9~QZ)^^UwX94!V-Bs5}Yz z@hj-k3!vNm8{GrK*{w9?yQChn-f!|N(zD_T5@PiX8K?M=q*~6MDAJ*C#2G2*s~%%# zi9Y8Xpxe$t8lT9c$upuW$(Bzc7sXucrInFuic^paY{^fGzmR6=?_LnYNxkA>oawNI zjBEOCl0SoX`VwpQL!?;@#lB7`$x%E&niU(#e(b|86?Je!Smqapa~O-r4#hmOPw_4} zAa*0~PO@75DoIp+1|6ycnJk9jEKCH#8=)7f#Cf8JApc(>5`TpYxA3=cyMl7FbCc{0 zCeDso-;Z+{50W73QtW5OlV*CRL77T+L!a{dvq|)P(w_j_bw2=Tl_ip~fNEKy^eWo_ zXPjZ1u2kSmOg>o!Szm;F>mfQ5ckJJ}i(ip&v7dMg7qAD2vkTVap{M4< zHA;G=JtV=_>tG9wL2Vvkm&8xzGofN{7Ys z*f(B}eNhAUO!t#nkiYfNJr`nJ6kFVpP7})2z%Rv~bvIc@_vGpR2=?l`m1}UG`9U&X zE|95^_o+_ph;=dcm|ns8@lUZYTud}d9rQ_`;@sdn*jH>L_d~89274>O-ueJJF1LbA zuOPX~IMNO`Pkh@cH=-PCNT2*ik}F?N4k`V}V{$q6q#emQIPr_r5bBm&1dQeNX=NI;4 z{BW0#2sSwX(ZlHhWq|E~ab}=)3ZZ5@HCxPf8<-XtW%jqkvq3q35pnJrba9Q`mfkxe zIOpj8CgFrq4I$Rt^Td%Dj1K@OOA~=pq>aF->^n{J!S_CjxnLTGOTl*_F(6DJ3y;$& z(oTG*Fj23!SDkNpJwe)*e36y^62s54TwY=Led^1((r>gd{f?m};bPf$3f!YH%bI|b z(EibwYj(gX(oEnqX+CfZ!bg)`%y&1#dl=r!@IDp>=c*9q62+KnNDa9lHOw`npqOe@ z0Z(JNo8cM2vFOM7z)lR)@f^#>a~#}Pk~sAEFkmP4P3J-!XvKR(PaN6^_)0? zR_HMX9s#CvL66>_2%Lv{=`j~5u4Z@%b6?8vGKQBkyn^8aEX+ZM4>5e0;eLjXFnpBZ z`x!pY@Ck+=VE8n{XBa-q@FNVLWB5G7?^BFk09JI-S}0}$$D_VGfoXl?QQw{TO*tVfm~#9FHwx1 zqBw=71A2(OKo1`wi6{@nv^gA}jMHhOe;jR~devV)Qt2=hU<=pllTT(O6sn!@;zbxLEqF=%T)gnGCOEcs+0u zT00Ne5&e~f9--f~wUbzDC!w`3;d=?gOBr6q@N$M%04HPC>;$G1G8z3vzrC@JBqIfi z15v_cP|Np#^N@ZrdWzyw=2FeR8!=CD4iJ(ZR-0}8;e@Hx z$q~X3R_ic?9C3zW7={o+2w~Wvb95NS8AZS6b=~d6IX>s}`+OeXk33)Z`@XK%^?JRo z>wUei>wR7K?)PnN-fm@sm3LTqrxc__X8K4c!((NJ2_=r6Xi#>ypD zF17MDYv*<=8?3y;$~&#R%gVLZ?>*N3y;iQX@;)mYt$fJJhpl|X$|frxv+{8pPqURz zSox%tPuU2cw(>(CR%Amn_;$( z4Wrg3eX*4_RxYt}sg+k)P1B2piRned#Pp(JJSW{q(~E|Q=|#h2gO#ruY0qGqogLEf zJD4Y}nsF(Ov*RESvC^EKG%=B+agGX*nY3Y=Jx6JrBXc~(N^@S)?0HEOb6(QKoR>5) z=Os-{glTe{wQ#$Y4OZS^<(*dEWu+N;()a~?WBFby*I9X=m5o+DWaYzFK4N8)m5*8Z zxRuRTK4ImPR+_q}iK%-UeHi07*vp9YeY0gC!DM-%OO~^_afvnc3#)L(7 zOjv|9?AZ0fBD-E#WY-Ie?0R95T`w%M>xISE<6`S^vGusvdR%NhF18*QTaSya$Hms; zV(W3S^|;u2Tx>lqwjLK-kBhCx#n$6u>v6I5SYtibSdTTw}<)?v4(oxWsx~YCSHs9+z5=ORdMH*5gv^ajEsV z)OuWMJubB#ms*cYt;eO-<5KH!sr9(jdR%HfF0~$)T93=@`r-=u;a1jo<|_DuO}Wy_ zxk3HMOH4hvc}3KRxY*DtPQUto~?2{)-FMs zd*JKsoPNEX(`!jzCbiZ}ExG2{*srzsz&F_38*J_kHunabdxOor(dOQ0b8ob{H`?4A zZSGAr_a>Wrlg+)!=H6s;SK3^@{Y~vw+T4{kccsm}#pd2(b8oS^+(!`AEjIU7ax>&s zdqv+$t~oY$DYx1h-AXI*Z4z3>NOPBRE90t><}T${#?_~#&RVFm7V4~pI%}cMTBx%Y z>a2x2YoX3ssIwO8tc6w9!YXTFm9?nZ+3zs0x98_=T zpn5w8)!R9!-p)bwb`Gk?i_tXq2K9I`(#%2icrntlXpL=$HT0GN9PjhQa5uUO$!c%rec*@QQE$D2O7Ibcrr>*|eR{v?M|FqSA+Uh@T z^*31k4c7jv_V`tMyouvSgohCl=O$9jvFX)YZAzQXZQFfpa(6H~O+}jZ@(wh6Bh7kw z2iN{3NV8tvVb{w$#H^Qhh*>Z15VKz1!5C$9%zAkTV-%7x3Tw)&mv=BGkZae=JM4OS zM_|^=I|8#_-evvnvVM12zq_p8UDod|>vxy+yUY6BW&Q55es@{FyR6?`*6%LscbE0M z%lh4A{qC}UcUix?j9;Z?!mhoQW4t4&HIiB*sWp;XBdIl#T>>PvMpA1ewMJ5FB(+9T zYvma4NNSCw*2=-}i^!^<-&7IW{1POiB9bu#$?BfHGtQAZfJn9?Ssf!;9V1yCBUv3I zSsf!;9V1yCBUv3ISsf!;9V1yCBUv3ISsf!;9V1yCBUv4*1BlQ_R>$f9W(|BXYdoS3 zB(_;d#y5WOn7bn+cSlI>j*#5>s6IBrJ~qNWHo`tO!ag>_J~qNWHo`tO!ag>_J~qNW zHo`tO!ag>_J~qNWHo`tO!ag>_J~qNWHo`tO!ag>_zBavnzR;Rz!>2G!VTb=$^r@z%Pdzgo+0cIZn$^ACcoUZ}) zd<|f%Tfs5=07&)$kn95>*#|(f4}fGJ0LeZ8l6?Rq`v6Gx0g&tiAlU~%vJZe{9{|Zd z0Fr$GB>MnJ_5qOW10dN4K(Y^jWFG*@J^+%D5Xn9Ol6?Rq`v6Gx0g&tiAlU~%vJZe{ z9{|Zd0Fr$GB>MnJ_5qOW10dN4K(Y^jWFG*@J^+$^03`bWNcI8L0LDhjD)s@8>;oX# z2SBn9fMg#4d7L>m`v6Gx0g&tiAlU~{DYSM5l6z*P>47P>wNq?sr0wn7rB>MnJ)<;OzM@Z%-By$sz zxe3YKgk)|)GB+VvA0e5Wkjza;<|ZU_6Oy?JY0k({GdCewA0e5Wkjza;<|ZU_6Oy?J z$=rlwZbC9QA(@+y%uPtK`Tw>)?E0^tZf|=&?3nZUkAo=_P$>$eHKEFWn`9(0(e13uC^9!y$EF-au#4-}g zNGv0=5hrsz)XHI2rdeq$R9Xv_)U2Kyq=Wl*&@;_4I0Ee?oN8+xA$5eI~Ij% zz}DWR@0|y=&><3+4(RMd`aX3c`z8S8_ig95l`>%&Y!!*;IDRE;hMgk&_XE=Q$M60t z0NV#p_5f@g7zgMk@IHZ94?_1K{2#Q1XBJL@wXjK~Z!v5X=|>FxsPDlkP$O~(tVUDRiuB~Zm@s2K&kLy81O!E9nToV-Vtpg12{f14;r8q zNK4uP?K~GS9jbw}qYI%1wu>A?JjYPxm=D?geVaAAoK^JKM4In=nq0aB@w7c3T0A=KL!6Obd z+J78S<`l}DLYY%2a|&gKQ)W12hErxZWrkB`IC{g;8;;&^^oFB%Dtf1)cWNEM>=1b}VJb zQg$q5$5M7IWiu(88HH5HfnunJm9QQ*KpS-NSb%)kDRNo^G>V*_3FK#|!5Wcq>45Gy z?2gCIcwQ&eh~%WeGLbVvKyP9^V0%&?Y!=B~08PR+94v%RzJf)WGtoJV_B^XaWJ*7% zg>}#>G8Ow%@pX2-$T=<$Z(b^Ffo&q^^8UOyApg8}k@GWwnnkAN z0I$=Np^mRh^#g1ag|HAhL}p-PMln!!#wOS)GLyQ@q|D3=$b%|a4h_%@n_;_{M+!-C zKNtepfZyVUPz&pz6}CdBNJ%e9gfz$nbW6}JLAM0m5_C(@EkXAJVwr{REOcj~JF66G zpbi>gBecU#ksA+Xp;e?VgiPoVSw&q}XG60{J!R_2UsDSB{v)>jxKiY{WI*q>Hj&%0cY7m$8iu_F z^cwJe2X^nk)}47k`MXk}fv>fs0(S0RC~{9fs0QraLz#P{(8O0~u(z&RR`K|=B*155HmneNi1!a+*d5-kwi0wJ-K35J+&?)kKKga;|pI-r+MP7&pbYDn=<$#?R zHbJ|{1{biuf%FY)pb<9kVRgNP-Ml0Tg&;r^u_Mzl#2=#QJJBltK;E!8)MqtL-AMVgEJa zdu<4y_gW!T0lKd>!#3#R>&+pcx2XY$b5ko{m8R_L#P)g=mIJn5$M)-#dwr+K8@-?( zp!>#VkvEB(7uk%R%_)!x`C!tCee+t8w}{~_e7?==+nplsY~qoD=};?tg$y`;ml)oQ zgDTi6@_sR3MDL?SK(`G)ZTM+Jw`~h_h*MhkyT`z-tO*LK}4PbzSUyiJdQr`N z6)b};zRu2LtiuFI0rWz2B89LSwu|cFLO&P+#M6^JnoISfd~ecwV|Opg?X?b?MeUsk z3t*$DIAV(9bsuc(L-~DbcvL0+_FXAzzbH^Pz6G`bb=W^&_P7@dPVMIFNHA?>0LtrZo;H|s}rSR6zl z1u`LDRDS{d9G(bkL?tEwWfC_)8+3^}f^tV-`-oJa+!2&JVgW3Jm4NLd&_4qGBhVj! z{s8m`pg#cp0q74vf4~Y@3oWn(wgLJ_qJJd%N2bFRD2HXR2AW_Kpi4JaNeO^XQirIc zLWn{NY~WAovtf&lge=kzF;*H%&4=#At3xD}$tyFl3q*`jht%V`&NMj~{Hnz&NbBx0J>AS##q z$*IsRinWG1bDgNOrocu~Q|keDiRf#XVEtI}Y-sJYmghaK*N75BJmL9M8ZIKG(jzk`L?x}-+b zrRZJSA*z}>UY;*%Q3j8e%@kFW1jN1+KTEfZT9zZ~iWQ>%!10x9MJ?Yf>Z&?XS5voZ zu(JYt*Jg{lZl$Q&5O#{Xae=6tNWU3dH+PDKu$fsc?=EGY>J;L!Lq&-5JCTulfqp3|4_m=9>1+YQXWAVW8V;!O%&jiw% zLnwx3QBM%}6U#+C8HJ6ao|*#0+foSVK8@ZpE;NaH7F*BeL6@l38o=grnXnMni+Vl{ z>O{Q|LO!6!{h8w4Oud*2nR{*m#Yyo6=#ksMkwjtEe~9pheW1i9q=`H;UTq0x@px67?4OZ;}4i22pR9 zi+YDR->HU9QQYsSE%@ zr2y$4Er2?}cbh;0kk^(8`9MDRLyG$$#r=?K!(Lm5sE^{$ zs$nIphYipMU825>gCt0YDNqi}V2!A+=%-&bi0a4y`eO&zMn?_MCp#K}e%a9uJ4JmR z56OV;*LhF{wSeB&=y4ybzDDmG^u9sw8}za-kGzpbi>gBecU#QC;zn z3>lCIRj?cypcyv9c2PgLkPYjg6}CdBs2_VlBBVhsltK;EK_hI0cGxLuM?54$2IN5% zEQbbYhAq&^?}zq+L`Z{ND1{oRgGSg0?XZ*I`HY7Y$c92#2(_>d=ubbP_Y-l(5i zHb5J6iB@rt1nDpZs$e-ZKnrYv4$(SheVAH{- zQwQiet*{lgi*{W=-%W-z$OX!{3!xU)0s1cbZl`Fk7bF6@9=cvB)Ic3H!bWI^oud7C zNQMl^gDO}K4bTjmVY}$Sg?=yuvY`+bLM^O=R@e%iqQhR02x*WDrBDNP&)} zy1miu-6?u6V%Q7az0lnY-MywjIV^)U&;*-+c=w`SdnZ5=q(cs@{C_|rHd>(#@DYcP zxFJBB#1#T@$I)(a+eGh^2*kG!?^&PfeL3EDo#_2~K|U-5^Bz0#9J~R#L?5zV^r0EB0BWHbNROfutpoC-t*`~Qi$09H z9TpG7dsrIe0QEVH@`n-IVQZifuz%QA=n&oCg#<_j>exRQieVwFfCgxSjiL`HJrVnf z_&Ngr14>078NzZv@5p9AFDVncL?2ZS)qtI&@O{*J(MKl&`A3s?G-<4f^)V{}AIG$b zP8NtlI^;t&tbrD26Md{e6w)CdD1YoS*dTgf0$_JwHEb3=C=KwLk_4&1@o}UbmkoJ9 z{KqW>;y;e~k86dkuwC?E7l?H*x`PX$3eX$84w_*jpgVZG=;N`$np~fN{}b?i!Zy(- z<^p9-Y=F(8Pr}|wLjc{ATA@pHYBErV)LLj0eKPM)UMG4euR|9=i|Ap!U<#~(?V{7D zOB(T{@jeazr(pAxYS<`xILE_Riar&cQdi-8dwL|7`0P$26`EpPzcpf2TeeJMu+Ip_!*7g(HVfPG3bw32CbsU3Zwyb z8oNn!CVH9WK=~~4vM7^H~D+Xd5*CBd* z4m60K5CZ8Fu$6<|9NHrX{WFqandpfLKpiKp1=9XJL0rGSrBkip{B0pbk1kpN-DhIl%j~iSO*4qR&Z(QXu|3;>sia+(cLp zn}BlXQSLl^omURcuub&&@sI}%qVtmgJNfy5?R?@as1-d8|I^T!hVAJt;HR)3pjX%; zx+n_O&?b6DIxK@`z~{_lSO6`ei&KGkNVWi0{8whc zGT0`%Y6y^5h25&1qUS~dyK^ZscLfmhJQq4d&yNSv=c79x-G#)oaJ%SBk^q~RECkXn z*)00fUO>E;W@7ie2|kx>gPo$6 z#zP8Z1Lc>Jx3pdK@6(`8^s+6YuOOZ)(7$pm;OEK?(aU=Q_LpOSc{Qwo%|PB&2`~im z0Gn4eKnrXaeRT-rU7Z69VI^Sm>Ne5WVDp+Jz~(jOfd6Zn0h=o*vjV*pU81ke7k%9n z(buDY{RYvsF5s)SQS=R@-B1jhMBf;NOu*KS>qOs_2*h*KM!?QW-mlDoYQXl*A&_=+ zI$-~1%H7-q?V@jqgH*uxEyTrsm%cR~(qJv{zAg!hf%mI8Ud8KbURRsfO@PmOVye%E zVyK1nutoHm4We(Oj<FXNE*~YM~o)QG$jD#nlgd1?33xH2B1vSW^e)lOlxwD3 zGv%7gp%$>)O#TxBi9lRWRKZGUg$~hAlKv!Z@nj(^gGSgQ`Y9K%_Y~<*k^U6vPqm3| zi3jvsu+y>@+5!Jhlm0aNPv-*upRNV`KTZBK_66IgYff}Gb>?!J(lb{f=_i{UQiQX6w z#JiF58_S^<(BDY@EBJdQ5i+3)i0_qFAU;0F)vu;QAuNMN*dqEh7qIsl>93Lg8tJdK ziQW_s=x@T#rnS&6`gQETo(R}~o%GkS|9UH6{|(aLApH%}-&g~iMZbyun?s-&8eju- ziryTBT&RXd*e3cd%D&8eyC0_bLBA{@}_oq{Xqyr zARlU>1z zkO4K&F8T}Xe}T>IDX<<$`+Gk?_wS9+Df-JHP!0I_Dgg?CG9A4jAJF47WBv6)XcPTS z1}uY3qQ6ar2IvyqnFHv4M_k|4!dB7WbNoH_zF#N$9|F0s7Iup6$^(4ws!{9Kr>J#j(Fk&8H8sLl1p`HCVh;u+GG>UUz9&8mSAs5g)C=tjzh?x3dv(Iv97N>6&w2RX(6DZTK zPMm|O-@&9Eg55*OkMjO7V(5>J!{cDHIEjto9FYdw#Tl?woFf~=Ny--IsASkC&e6@{ z9D}W7;!N%o=UDUx@;YdfI4OnV94A2j;4~oZ_$G0NtQ6;jQgKd9f-Z4VT|nn#-k-ch zoS`ek8P+0BS_Txua##<=iE6lWyqBQpSdBWs}<+Qbx^E2{fSX%5oZ#< zCpAEaIJud?ac-M9lhK=81zW^9GZ8pGlk#UJ17*&_$63`td{b(G*Qw-9T?X64IlCX= z_Z*x`)WI!$yLKW0NEi^zQw8Ca+hfZ;>b|D@TVF+YEE)+r))IcpXKqIumW@v{_ zajtP89ui>)WI!$yLKW0NEi^zQw8Ca+hfZ-;xDXGCFa$Cn7Yd;YYM>Sxpb=VOGqgje zIM=!m4~Z}YG9VWUp$clC78;-tT46J^i*ua|^oi>hK&Lp@$3rUQ!%EmB4(l+dHU;va z3g~yWTgAD7ayOI%*UgP^QxqD+SxFzhnb%tq#krNVTQi^#s)4?EYZKuA)(&y%dO;GP zQ-{yGg@E6>M%V<~#aR^swpOJBF|1kuwSb@1_+Q;74(l%^(yL2Hkl|$_wimbBzpMn<2dORt=N6MkMxY*#H_E}2+=(W zv15hb=%_U_}JGL+v}iKX}6 zZ-D-3_wim*eCVUQkK-gE%GtGL_mKmlm&qt8lXAI8Dx^ea^668RL?ub4%Tc@zmK6RS z&(SnAqB0VlDyf7DDUt%2Ey<*2$sF_tax_9p`4{E+9o@Dn?Ykn%6j5d#vJlN4lEKjh zSU6MWqA?x61z4F$swq)m?MJaPhj-=ZOv7#odQr-k;kUr%^$;0VR(?@M$;{%aXwvkf zqJvXXj*m{eC_1vFs#VsIsVHUQyw|9vMX!6r4FX zI=#4H&dj39XhB6$v}8`SeD1W;lIhXHve^YCb8ztMNcmko+fp;gh!vkyR8hjak%U!B zaHct`2rm|{j4UfHjAm68VDi5R#mu6CbBf3w^NR?&J6(6@|M$*rE)3I=i->m`vXs*Exll~k|7G+1?>n@) zGf^aAufkHBB#x4ZYnpsG_HvzV*xNq5v(U zH=F(+v)*mNXvboYjWtDBHoeoFt^U90CH?JCZpxa`sle8~44Wk!o2$;Gnn86s*U@a= zn_8Qk?)I6%Q7P%>Dor9i7ULcdQJF;P8RX2ToM|QFaZj6=lycI`@G=)KCc^G$3T+L{ zIW3`$=3>L-cKhh=>HqG*SU2r3oyg{5x4TW|b7V@JF~Lk^re)0e{&kJI?eCfLVk3|_ zgL7>g8vEU6#~hn>*>kSoNA;g; z-Q9Ar{ub+Ju^O6*(nJ~Sb$e2&)s{n*skjFR1F$kg2QL~~AJJ^Yr*pID7z^Fwz_{im{KbTqeYvG|R5)8^({ zHu1;$W+@&_kLgZ{MQTP@Gro48^F94|&kdQm&SUL7mliPZ_SDFfHKXfH>c6LV&qUAE zrg(RnDbYQKn%c!8G5WEV{nz#}Isds%d(L*O277v#IZILE`S%FA&(3d0@@s$p+Ae!) z+Ig-`=RluFKe{kc~If54-0X z)3;)CQ|xM+!)Oq@9=fl)dH5;$Ma{bX70Cj7#!ZdPc`N5%Y!)+DznN`J>za{fPuq6K z+@138vqJ2Qn7J!zuVB-DCPovn={>)`2KMxqSnYmm3^(UwE~QPM{$&gQR;%v0Uoq{w z=N$fTuURw3##R(&&Nica?5Z>EVEUE07mQtdX4zz-GbMgG568+(=N_rR-W8kHh|P

      HyDk1-j9CAA)$XZPY)NVQZ){$i@z4I2$v5oHnV-PpAagmI#L*az&SHT%(dK25 z7Uh0!A~|QW;>sX3gOvVgm>iSe-(HPpah%Hr`~<$iZfwPDOhnJvo=S?bZI-U%?Yq;_ zACE0F>W!8u*2ie98LJcUXKarnHJexC)99HJ{Af8IGVJkK(njv~H=a_)uhAa|xw|9H zC4GAq9!6t( z9BDDTF{@FcGBq)A$68}D?=x(CS+<78hRHK$#k6PkKQ&|R7V8V^JZEq+j^Nq%Z}z;nYdypro8D_rst2M&L)#YXx(D#@jP{2Io1}f-!slS_@U{PORn6+h%vpO@amHr%ocvq+8d>O@ zEj*+5%e&w1yN}piWNd9@=EPY1=8nkRr^oIE%{^aiZ5z9{Fn8jyRkgYMkF89*S1o2W zXy)TzulFj6(ailOikPqNIe(8Wv(_>@Mdoh7crz^=i^h11wdQ}iL-^MfqFI@mbw~wv z_)%Vtt87%}j-kNLmS#0+(l6$H_nO75kYaV%bFTiobI@Iv|E~Sbona+CD7L05u`O)w zC(Y<+YGxvhtyOlObU zXjT;$MPvJ#1=FXO%`QjXC{z_=oekomIh8bUf7>MekHT1Cw4k!GYD)pS$^4S4;u7#)+3bIhHA+Lxm|HQYq_UV6 zpjAO6Xk~E$m6}$xyVVGT&kRh`o_dzepWB=+Y*5e9e4OUPZ-DBWijO>oE zJC;2b32{#8MbVO9b#+>yqG(RR?ARGI2bED8)0~^`OQeW?R}`zj{IZI|%4q+84io*2 zZxgb~i1s&^ZhzZsoSp35*UYpct|nu3F6Y6VyLn|LwtJXzMGLC9YN7?@L~(@MDn z%68Wu%fD{=s^WsGXmLR$?O!zKpJ%|D#ND1AUKpJ_r*L<`dqR!c;G(vM|LM$Dn$LuA zQqHL}9i$-2*_(;E%H7v6In!qq%w%ZgTAWj6yQ@+B|KG8?Ppx&upvA{wMWr)LP?@8n zVrR3qob$fOdLIFQgp(^Xx6x#?5xqGWsM(|Jvk$5{MhJ7%8j3p8_mud zmz9gr+zGbmZc|yKDK{oMZuG=anOGh%GAlbPcWQEUOjhoAV{;5fM?`Z*Ow7$1H9334 z#Awdsi8&J{jmAa>X2)lZA2SgzqsNV=5*QjaA!q8utg)H7$rQ>ZF*%w$aYV-GaU&+4 zo@^qVK$Ry(t;#^6#71=VnWpfh%n{ky(UDoXlX54H9x=}7n${URe!@7@Mw7>9jL6NJ zFg`kRG*uZfGTS5)8?7)Zdqmc_l-aU;f>>U29XYP+kmr#Vc4v7^V2o;V^qIXWq4 z^r$RzKs#nl96gF?(WLEZ2~x2%YQp$QqtBR30(#vpI3by%Z9S;K2>u^sBeT^XPj!u* z+zAtDklmr2l{IN}a&*MRtV!mKjF~uraLxIogsJ0X+7s2R@w?+S=g6d)ykGYYv`p#U zt(Y--L^cNLB;)^Gm)bUi#s+v+MzTyelj_6O~wWRdi2;iT)43`d&u?3 zm1U>6*a-K}aln3#%SdmBUo(6#L^2!2hTp<@MT~-#X2j>3E;ED4{1PTpGqqHd%`V$L z?^PC*;*3)N)QT1s@zLy@nY#x@F7jUw2;CE6c|{3^=U0?eF_=UP<}yuIlw7=fD#nAY z)xXxjc=^}(D~c-1nW;+V6_s8z5N8!;J~Qz$GV{6Q?A=wjW8?Iyq20F&RneKIrI_y+ zF)C&bjB-Ha_XoWHgU`+Rs|o%*a@TioDZk_K8~^p{B2l5`@b@5| z`22lHC=otX=qbH;1nXWrZZ(catL`iN@%Nbf%K>trB*;P1NBT-XIam&nL%HQWj4h+X zC6Qm(GrxV8#D`c%^EW5Se4ILvMoHmU!3OiO_z-@(>O?t7Qh7%1P@ZO+#;=a%z z@NlOq_#mf*&BEC%uI9)ZmH-#h9n1$xX47yUo#t;WZ!cyk@;iR>WT7<4ALTN+RI252 z*)CtoV?06KRi5%yphEdcepV6HL-ka>WS0`vTkWOxR!YUGebl~cKNYX`=c(ogssweA z>ZAHfm;9jmse{!a>QEI`hpGPRaFwWzPy^JFDoGusj#kIWkMfR6R>!J=ir;lp$Em^U zcr`?wpiWdLsZ@0`f9>;$e5!`2GWCb zwi>6#s|hMcouMYGNjwFAr?ksoRIZw=&QxcqDQc=ZTb-lw)VbZ9N>!!is(EU@TA(gc7pvc?h3XP@sk%&6 z%bn_SwMZ>iHEM}ks(!DQsVmeU)Rk(vx=LNGu2C!0wdy)`y{c6=s2kNyYNfha-J)() zb!wGbt?Jbp^+$D^x?MG>JJg-(F11$Ot?p6xs&(o<^(S?|TCW~Z52`<_M)i<-SUsYe z)T8P#^|)$QPpBu=Q>sNht)5ZOs#f)!dS1PtHmDcXOX_8{QN5yGRj;W{>UH&odQ)vy zZ>hJ{J8Fx1SG}j+S6kHw>O=LBYEvJpPt>QXUHwIUrao8O)L+%#)E8>I`n&p4eWg0o z*XkSft?E?YsqfW4RG0ce{it@Ro$4p`v)ZLaE3LJoUF~UK2RhUd-9z`(y>xHAm)={) z>3#IRdOsbn_tyvL19gHvNcYiwbw7QuK13g?qxvx2Umva$^$~i2K2j&?qx8}G7@e$- z)dTe)ouZG^gZ1%xh(1A|s87@@6U9KA8BIp05|^i}c0%cY2||L|>{e)7AQNy+|+CHF}9& zs(-JS=_~Xf^p$$KzDi%MuhA>?wfZ`Jy{^?a=o|G-dZoTu-=c5Tb$XRvt?Ts~{YQP9 zzFjxyJM^9UF1=RYt?$wI>UH`){U_NXAM5+|di{WYQ2$vs>WB2h`Vo0ww#o<6Chy8e zx=BB(AJdQPX8nYIQa`0z^wato{j6@)&*|s&3wncoQNN^L)*JOJ`c?g!-lSjGZ|FDm zX8o3aTfd{X=y&yd`hC4sf1p3qAL%yzvHnDVs@wHn^k@2Wy-ojB|4o0Px9h*_FZEZt zLw~Km(ckJ${hj_^|3i1_AM}rUhu*1w(m!i{h{REjb{xlbJjZteCv+lC52vTo%jxax z8;&Vf#XbCA==>Fe}!4t5T44t1i=VNQSNa3|3@!WrNk=_ENv zIY&FkILXej&Om37lj0ob40euphBzlUCrZ6@l9TG3>r8gebk1_7I8&XoopYQ#=UnGJ z=X@vMDR8Da)15-6$eH2Hbc&r4=K^PzQ|ioi<~U_expSdY;Z!h^v4bC0Toz7j(TIX)(9_LdBNG>yy(2- zyzFdrUU6P^UUN1%uRCuzZ#tWux16_~cbqNGyUu&g`_5M91Ls5MBd5*z*!jfy)Mio_5!rAWp-TBh_%IR>vcD`}Gbvm8zobR1~I9<*U&X3LxXQ%U%^Ru(d z6<4|1bzIl=T;C1c(2ck~+@5YPx3{~OySE$X?&I$3?&rq4`@09Y2f7LFL2e(nuiMW( z*geEO)Q!4_x&7V4-9+~YcYu4Oo8%tl9_=3ECcDSF1KmMxihGrQshbkB09xKrJ;-E-VL_gwcp_k1_sEpVr~)7?V1$erQNbc@{*_X2m8Tk6hs=eT8V zxqG2o;a0j;?p$}CJKtU4UgTcv{?1+KUgBQrUglQ2m%EGH#cqwe#9iwC-d*Ni;r_wB z(p~OezU*#vUvXb`UvoFPue)!!Z@Qb^x7@egcib)RyY74L z`|eiv1NTGsBe%`{*!{%))NObF;(q3S?rwAc>i*6B!rkuv-Tl)2%I$E!cE54Ibvxbf z-0$6gxLxiK?vL&ccc=T4`?I^t6Hj^Cb3E7cJl_kv(2ICIyq;b!ueZ0Cx3?GP?c?q1 z?dQdN`+Em?2YLzKL0%uPuh-8z*gM2K)QftDdHub^y+rQ_Z-95Cm*gGg9qk?CC40wu z1HD0Big%nh*gM`E;+^1~=$+)HdMA5ByrM8~^v?38cvHQzy>q-g?_BRZ?|d)cEAXay)4f8k z$eZEK^oqR_?*ea@SL)67=6GdZxp$#g;Z=H7-dt~tw|TdF4c;Bzo!(vETJLV}9`9anop+!2C+~i5z4w6kp!a95(R;{y z*n7ll@*edb^B(t_y(hdUy{Ehu?`iKD?^&iy08 z!rSis-TTt}%IomH_P+7H^*X)pyzjk#cwOEP-jCi6Z>RT@_p`Ul7hn0>cYN3PeBTfJ z(2w{%{GNU>reL2^w09A_*4C} z{d4?0|6Kn(|9n5+FYu@N)BQrf$e-cQ^o#ux{{nxOU+T~H=lErQxqqQw;aB=q{#<{a zKi^;AU*uox|IT0NU*cctU*=c)m-~zS#eR*y#9!+F-e2Zl;s3$E(qHahyZ(Fr`~Ft{1OG$+Bfri6 z*#E@;)Nl9y;(z9U?r-z|>i^CE!r$)y-T%`6%J1;M_P_DJ^*jCV{O|pL_+9=F{*V3+ zf2aSG|Fgd=W!8>=(ob`v(UE2L=hj zK|!COZ_qC|I5;FYG>8U=1^t7=gT&y7U_fwWkQ5vh9331JBnQU^1A{?9N^o2-I5<8S z5}Xj67@QQO1}6tYgJD5ha7r*dI5kKQMg${+Q9(v9Iv5j-4KjnQ;I!cMAUhZrj1MLR zIl&ph#9&g88%z$)49*Is1XF{vgL8ts;N0N6;QSyzCzQJA=D|wZYxNJ;A-fy5PRx zPr?1c`rv`!!Qjt9WAIS$aPUab6g(O{7Cas_2Tue~22TYo!PCJr!LvbY@LceG@ItU5 zcrkb>csbY@yb`<`ycTQ~-V8PeZv}4$?*vHIM?qWgaqvm- zY0w`0CHO4(JlGceHTYZbMX){id+=rORnQT99efjf8*~QW$@1X);2%L(@I&xpup`(R z{1p5g>Tv zC+r*c3l9zt2@egU;bCF_@bEA(JR%$r9vLQuM}NA4i8Ta)58(r$Z%Ac5snVWgk!_ZFe^MQJUz?~$A#m=31Lon zMmRB?6y}DL!!yIP!YSd@@a*uMFfTkeJTE*y%nu8~Y2oy+Ff0mZgfqk9uq3=7oE4Ua zv%@)ISy&!k7*>RpVO2OcoEOdy7lapu7l*$K7lxOFmxh;x)#2sgqHu9o6D|pthQAM& zg;#`s2(Jv6hgXGHhu4HF!fV6p!t2A@@P_cl@TPEOcyoA5cxzY}t_oL&_2HWEkKt|M z?O{WBM|h{K4DSlp%G&Vm@SgDAa9wzx+!FptZkDgY`@{9&1L1?=pTkDEBYY@)IOKOF z!=~`j@UigmusM7pd@_70Yzg^|#PFH$*|0TyE_^0tY7`_y~EO&()!&kyr!`H%1 z;p=iu_=eQV4dI*N=J2iX?eLv&OZaa1Uif~vHT)p_F#ITN3qKA&2|o?n!@q=|g`bDp z!oP-p3%>}rhkp;h48ICH!mq<`!f(UQ@VoH)@E>7U_(S+(xFg&d{uKTk?utl6MRdf8 zxDhYnM}kNgi9~utdPaIhdPnw(>>Y`V>=W5HvR@=VvVY`&$bpfB$U%`lk-m|Bk%J?L zL=KHaBZo!$M-Go9MvjOKh#VP7iX0U=I&w@TIdW`dU}R7vC30M3aOC*NkjM#<6C)=@ zQX?lvhDL@((juoshDT0~q(??XMn*X_3<-*^zOP@sSCUoX8oG ziIGW>+{om}nUS+1QzBC%XGhM7CEOp8p96h?|7Ga@r1#gUT81(8|u zXrweUJ2EFy7AcQh7^#RE~LWlza zLI^2nX7=dpp<3shz0(URguo3K*;Z^3S#o464GboU(Wv}cMjjd z>}xVJVmfBjjG0v?H^x}w%(z)?)|mawTC=}7z#M1}G6$PGnnTQ;%%SGa<}kC)9B%Gn z?rM%OcQbc4_b^AAdzz!nz0A?(-sTu{tU1mcZ|-9zOkqk>8Em_WX!97e(>&HZ&g?ReH&>b`m?xSinJ1g4n5)cF&C|@&%`?o^=9%Ui^DJ|% zdA50ud9Hb$xz0S_yuiHBTyJhLH=3Kwi_DA7OUz5n%goK@<>nRUmF89E)#euS8uME7 zI`ew-2J=SqCi7w|H(xMcG+#1bHeWGcHD5DdH{USdG~Y7cHs3MdHQzJe zH$N~xG(R#wHa{^xH9s>yH@`5yG`}*xHoq~yHNP{zH-9jHG=DOGHh(dHHGeaIH~%pI zH2-D(+x(ANHvh8w*gM#LZDvPo$Bx=DyUOO)SZkdfx2x?MyPsWa_qPYw1MNZfV0%Y< zh`p0N)ZW=1X4l!n?Op6$?Gg5F_U`r`_DFkAdz8JGJ=)&e9%GNS$JyiUee8rSY-ua& zZEYuQ*9P0z``Y{2``ZWD2igbO^>)hkY~K!Sw8@@ePqZi5lkF+?RC}5|-JW63v=6pt z*|Y6A_FVfAd!Bu$J>NdeKHUC?y}&-g{-=GUowgh7M!U(**bD7uyT#7hN7;+)oZV{Y z?SkEAFSd(zyWL@z>?QV6dzro5USS_?A7gjg$J)o)UH0+zO8W%+MEfNBWcw6*m3^vx znti%`hP~Q8(_UkrWv{i*w$HK8wa>HH+2`9A*caOC?G5%udy{>UeX)IseW`t!z1hCp zzQVrJzRJGZ-eO;4Uu$1yUvJ-F-)P@t-)!Gv-)i4x-)`Sw-)V2P@3QZF(){a`$payL-E1 z+_COBcf7lgn{b6IUFE#1-K6Wf;2L*dcRzQ3_W<`m_aJ%N^aF0an{qwZcLNt)awoVG z-AV3bcZxgJo#sw=XSg%ngWXx~YcDN;XiM!NY<}P|Wwt>R#q^|n`>6Yv`?&jr`=tAn`?ULv`>gw% z`@H*t`=a}j`?C9r`>Okz`?~vv`=y+*`@Z{u`=R@h`?33p`>Fex`?>pt z`=$Gp`?dRx`>p$(`@Q>v`=k4l`?LFt`>Xq#`@8!`zWu@-TjU0ZnfbA)tjv9 zkuY`=J(;B^CuvV+b?8o_&9fT!J?Z3qXCGxxzJ0&;QMYfqQ&u#@UG#sF&2p>M{G8mG zF}rc})ai|KAJXVt8{DZYKR34`89h}8Xs!(-r%LZf=H#Ez)AjrF`u)>ae8tVLNJdZB z@6YQ1&rfe#kb9sOyt{T1>lJM<58Hd}nk)8hcIFo3!u#0L{Om*#CWr;GBvwREtcjDv zE-?`0Z;rP6nT8}J)&8*m$N8*m$N8*m$N8*m$N8*m$N8*rP{ zIYVwCklNtzUv0w_eVzh)3hXJcr@)>9dkX9+u&2PD0(%PVDX^zv=iC-^>2}N>{q2F> z1G@)y59}V;J+OOV_rUIf-2=M^b`R_x{q8Z|ea5>Fejofk_>?1Mmmn55OOQAHk2{NAM%~ z5&T$>o}g#_<~Hb&5jj!nh(rLpOmHrg|`&rQpnJ452P3%75#y^)`6AZlyM32jX|p{*$=v^C{~wx*oW z)|3<4nsP#0Q%>k;loL7{<%Et#IiaIbPUvWq6FM5@gpNj8fM0-LfM0-LfM0-LfM0ao z*(>PTZC{aSj|y5+(2|0d6ttwEB?T=hX-P>-N?KCVl9HB`w4|gZB_mNX5+x&1f?tAP zf?tAPf?tAPfnR}NfnR}NfnR}NO|B9)mm86{KT11X(SV8uR5YNX0Tm6XXh1~+DjMKv zfTsbT26!6aX@I8zo&oR-fCt}$@4@%rd+0oyPl7)Q{v`O5;7@`-3H~Jbli*K+KMDRM_>9B zQ}iE8P+|#6EJ2ASD6s@3mY~EElvsiiOHg77N-RN%B`Bxp{}lK=@UaCYwxGlol-Pn2 zTTo&PN^C)iEhw=CC3c|14wTq|5<5_02TJTfi5)1B_Y!$8k@FHcFOlyO`7V*~68SEX z>k`>5k=qivEs@(2xh;{~GICr+j;qLVh2WM5ZW&`PkAYk=yzP8L-pbl=tL4CIqRd+( zzTy=`&bov?o@@II~C$pAzl^YRUuv#;#DDD72;JPUR7B-5r_8SpxZlzf>kJ3 zg@RQmScQUBC|HGpRVY}6f>kJ3g@RQmScQUBC|HGpRVY}6f>kJ3Rp~@m6@!3)RR~yx zfK>=sg@9EEScQO92v~(sRR~IjAXE@~1;JJjYz4tq5Nrj(RuF6j!B!A#1))|DY6YQI z5Ng$pogEAF3){yx&B`Mq+vTyJVP>Z0w#kzX!_9nJ?wy{Qo0*+)0&HACWv-0u(gVkxVMtU}kmwKCmY@(|ZTN&8+CjDrtard)SY5>%b*_ zf6rIj7d!3uM>fdEJDZ1{>TH^s+c7=HzDBN)H?rZIawoTRX}Gh_MQxYn+AirB^!oeG zFYSBT?AU_#D_h*MFe;DhY@IGTZOC>=-@wndNxwGA|I(a}-1@zF+6{NRr&(+Mt(lH} z>TL05o0#^??WQ(^HBdE}7;T$dtU6b_tfEsvqSe5UNE?dL_WOI@<2+&gQ?dT3SpQV4 ze=62L73-f0BCc5fR1k6nAy=$ODpn*FE0T&8NyUn!VntH1BB@xBRIEs<1bHRMGpX=b zNrk^kD*RPa;j5AgpJxr?C$yiQHHc>o;#q@uDBMHg9t!uYK|E^^&lLdN8?*9?^k>fh+{-h&lAF3zZYGY<2wwN z-TeCWuW@_3u(ULJUPg21>%%(HBE?Og;u}6~j@mga^fa$plumF!O!b$51KHH&e}F@? z?nAnqMKAhCa2#n?gEXwy4xRCc?pPxay`bZcx1pm$1**?`7NJ3gME4}9w9F+!DCXA;tgycFM-;0 z1W_&o9?+p_{Dc-hNu2B$fxjmpvtJN=t4LgfZ?<|}@HGU1U_7`1;v*==x=i5r>)=yI z0bhIzwDy)<;(*W*EZF2R7D3*q-->YlVA|~n$&v{L9WXvZLgcmlMF%bO$w|-lM!8={ zyGiGCQjYH2L8sj4lp?R*dj8Nor$et}AFRMCLKgBraKR}>#vP?FxB8%qlU>(oC8evzbayJ1KFAtXld3KvFFQTnA!4{$z!9XDL!NUJOCnG$D$NQ49@!5zO3*$6Jc_ ztxK5y!lz>P z$mh3c$NEidF{`PjSsm@kw;uZ}NFH5XJ!r7KcsmICZtKFJu9R=ix7KO){|9W5+2e>n#EfSGR&yL z&o8Vvwi8z&AWH!GA|RTXnu`VsVw`Q z)UnT;|8hdrGlp3A_`VZ24X$4K^}g{rzF8|iSvBh7bL;AQ+FPc|vT2Skm?Lye;1PP5 zS&+GTN@k0ztp2qnFlIc%?uwW17QktosXurBoL+TfK*th-lcZkp~3`1 z|J-mJ@06n9wc``+>YUnF?TV}Ho91U5(|6Rcf@C|7P|X}V_Kl0pXFYS?D>G{?Yx#QA zl%wMl+@gAnn6q`x@E%caBS0vOr`q?KePmv7XlS3Q1xvrCIEX~hSL%=9PgWGg?%0wj zi1kR0AQ!$Gu^6BwNUVCCLMKx}5-b=$w!m}d(a$G>9K^)UfAP~XY#3iqynIZr2;1!G z#U-mo<>`ybGT9RQhpqZ>NoL04_n7Ou3)81|7`F4*`jHV4729gqY2X@csv3$HB3z?= zCo8Z5e8m8fB4%o$p6Beb@y~r6GDITI@Rev*^`JXV41+g-Hm* zhI)s4+Y)(*Q~JXIzcr|VLva$#wIVIp=0Yx2;q|#EX+>F*^j@??k>KO)Rr8w)452q@-U18*2!;edAE!r(3@8YyFn!5Q zfg2mz(|QQe=<+=ZpbCP@2n&dB77B0zW&&VrX(TxJ^RTXM^A7j2C3eXU0uh)ht!Xm# zl@XokY?!Tt;65lHkUUaY7z>o6HG}yzKCWrHKD(>zm00c4c%po8+u01IYnkniztq7a zcF!HwBhiK5=D&<*-oB-Ei=RC)lELeWeW++^fG_5EM1mK>Y6M_2A-h0SSB@U`!YnaB zz5&L^Khf zdiPs3sOQ#&6?%S=`+WMPJDiBLQK_;YWG;L>hL~6hW+yf zCVRF^8#1rHa=`IJ+cVudxfyI+{9W8byzM(hcIrasAQLvJFEywt4DWtl1quXnnaz(mjwND^>=Q~s^!T;HyaWX zt2YfHn0rCah|v55+=pkL1p$7{n}~^DPzv&cC?paEG`yvD40{0Xk|G5&TeY*cb<)zO zx9799&OR=Vt@RJCBzCk;u2}TU(Sd7q#o-h6H$t_9ksL?US>BkFnV-4;AOXSan)>{SRfLCQo(4x`AKyARJKn)I zd*s~QsA2uG+P8A_TGViBZoeIisxw{LJJnq)GJJyzruQvdP#QLxbuMg|UYV6up5*SH zRGwA3Xh1~7fJLQU4Lv%xw)T(D?LRuLYWLV=uf(F!3jjh@5%^oIwv<pt_i&BHZC` za6E9JC1FYqqqpPy<0D=v&-}6J`+MeN zTbw^~@4P`NUODT&+dS{*mnYa@T0&phjx!3M1%rI0uvxPxE;NIA!7a@3FHD;#Q$I{pCkQTszk{|LPN)RofNFcBsz$1a9@ zBhTZH&i&{LHW~SRdG-902_NV(@oppQQ)pdz(xXt-(mPvUcg#8n6<%40_`~V(Sv{iy z>u@N5nqVKW`5siBKqll4*9c+|FdaPQ;9c>y`?ti|DQU6IE!Vq_cBq7cv4`K?(RXEc z5$Ct5+Vaudik0DF4o6zP(0=*#CsgShpZz2L(Qi%{0+5#t!wptt13_OyVQywfQ9iKJ z(s+C_&)t2vyJ#R^O`+-vx`H`1QD0^t^5&WDN46G}EI*&n9|h=-`U~`D?NYP0Ss7%V|4EFWH};nkpz;?9SWPUjjlb87ffOTJP#;*;Qjq5$Q9wJ3Z;y z1+~t$eO+$C6HZjS;d07}<89NIXQPFSFHr5sS;`}Q#YF=#6*y1895S|g9&{AWQ$uW$ zh+uE0rI4qjT!>;Huh&TS?XUv{?m(gMq%m&3ng}xBZ&Q=@0H&h5+SK56A?t^M6bUI& zXltwGqyox<8NfYt6p4UKNkTdY?@``G4V(B6|6;dAESkBF-+D|8)#K};SH%zieA!~1 zc@ax`jQ=YBEwixpVE@J8N9U+p&7!(PeHVuwn}Z#QttpKMUYVJE(`x_IRWll@QUXHo85$In)W z4WzR$=m;o2M5C4%{{*@l;bPpVFU)3 zfKi~J_k&Nd;#ll!&}962EcV8)FMN8+trj)UJ@CSJHk|wPbe2|q_ILO%{-eG4#P;_v z`S}fRK7FX)zwvGSHnV(*tdkQ#vcB~ibX70ejoq&%g@|O zdL%~sIV}3Yz9(VP@#mu3_ot~pj)G-`x{7Qp>Vz~hc5XCRJb_}9aIrc5 zrl>WQ^$qK5=V>-=UC*Wh!&9H4)HLAI&uM>xi`&V&!M%__w|^Jkejj5H-v^()OZ%8w z&NQH&8-&l(A;|;d@p7ryLiJp;m(j+u#p-(}gH^MQ9#%K6e(nMKx2(~)*49*A=*cvM ztIYAGZXX)gJG4JhsuRxNFK@*^MbE)ziE(@g&!RGZit?8N(>nD99_bY(QVvMi z0P2by$;6Qh^|4L0y3`bRX{X;@?3GjNxH5x8?$k+W41qPzSaoD;3+-cU$F&_1MQo_l zT_4tn9fb~_IwMV_b7ts$1`(C%8i3LrmK1?!e+g>kbmC55*hdx#zNn`>B7)!7y-4KH zu%sgp(=eg-05J{GFOG=T*I!75dO)I$OaMCs*COgRRNws{JTY&XM)y-KsfsqvpVtxh zQ!T4>+S@PS_9*;5L)r6#yAHqmr+2?g$%UQ^j~#gFIqakH)$y~%(8U0LLM<1@H|`*0 z^*Yoa4ne&P&VU)vc_V`4A-Drn&w?E~(5c)+W}0XvqSaX5BO;tCy6_pX->~f3)U%7$ z(wD*pjdpJNNnJN&T3`bJ?dHT+rl#KdA$||$`&xPV_2+RQ7RVNtV9(YpJWD~${Pxqx zIt5xMu>`RV_FBH35CVNxgdfd&R##K{A_5()o5@->K77e%dKDB91G*NgTG z1bc%{z5BLc34J;T^|Uz56V7j;d1}xIP#Tp=i;Gs5FHkZ?H}{Jk!{}%(eJ~f4Y=R?$ zFnsLRv!IL5lDbGuQqj_ z^n*ixNC^zB6tv&JyWd$fS3IO zu5E$GJ!fHbko`N9d91v|K^w2*Z%ugza-Xq z8P;kUo)5Tz4%Q;5`1eI3UZIu8eufNW!ScC9x&kId6<)wv(O9VC2r$+!6v%+_KO|n> zdKhn}Tm-yKUejpwS1A`os~q7o|3qg2@V|p@j?-4h|MdWT4dQnHE1*r!oJ`b zSpvy!4-M*aFmh;RavN`%PNHuOVbcp1M?#_gZLE99>8yPQPynq<4)!vZ*fqM+^re?S5pM@dCX03H~f8Ar)z zDiv=cf%w`~>#-i4NKiAm_r#g1?1da>p;+x(%+;q!820SUcvG8I6@Rv)W_Od~=D!5# zc>@s`B3Fnx`)gv``bsD&yb@_j*6^8$!Hf6onjZ2{xFWtcR^ylqD!EFnUXa43uvoSB z@q*;)z1P0qzq?v<{rR$y^IHn&zU})TB-V%m{!2*WB#H3t;T5c zdXe3Q>5oo~zjUBRqj|TfEjo2?OZnZe{j`6j2FYmbq2a7u_`g7hJ7CPO!kWWACn9=T zJIhYQqBIhy*124?_5|JXJ89Gkc6@9;0t2(6i;tv1uZhXzNEISF=k%He0O#3&+}A9$ zpQu7(E$2|uGlVI0M{ZA%0j@dfYZDrCboy{OR@EE1`7aV05EZ+ZTuy9TY_I_$4P*y7 zfNe3rHXgh{ZjwvpL;V44GXlmB_|=<^*6$E4v`=NgX^9(0n)kFiCN?h=@oWs1ooo62|5hh+XSd3CCVKzQSuiU1L4i!>P9ELhcS1xeRJ2`Q{%Se zQ3jJ$oCD+dJK)ec(w5ftrvG1Xh$DRb0)n9g z8(RlMbIV^MVCXjCyF)k#6hiZT66VXMbs*+TM9FBHsK5pFD&q2a0)(Kdrlfi$TTjmG+(Id$p|OIzl}f zQjmIRM5~#g9$W^qcx+Fpf`;8-xmtG=`q~T446QFuW~2#Ab`KX|soCAbbJaC_`oqkW zoY4d2)u)f#wR5_^Nt;j^Q&UHu*E5KHqjp*$dPe~AjuRbDV2tT_75!y|}4T$Fu+<^K%!3&ZOLeAv3AWsPN6P=P_*>CT3AVZl% zyiDerZo4}`5JnM*k|la%l85Qba^@b>^^-vM++g0ON`++R5fQX$CO$*KGil7kXPM#& zxGmaNyRk(5>{EF1IE2T>&IdMADkfIP(VIlroOqMOFBCV!zCCod>kDHQL>v;sj(%~l zBB1K4!hpCaVEBBnGO)W^ef@a|1mIzmq$)V;u@j!9BN;79ny;OnAo~Uq=_E3GCSzx~ zBpvbxw5uW6xeDrYqMJ1kk)ssFbx>Yv!}v|K z-x;t6^oQ{Q=nv$pw%s)zu*Eew3{kBeNCx z$Au71gQTbNk6wCe;^fH*+Q`J?AmWpds5k|Q3j7($Cu6UF``6g@U%iReeF$tC`m-i_ zqu%-Xrp|6pHxNe>v=1PM&%j{{8e1m&Y|3(wWEpYs*&nNh;m+Sjqo<_}l;a z{fEE(!$951cNP}kIZ<18;+=(E@18_CN)4Sw%(ZU;EY*<1P2}ThrM7%Fg})2i!^gO8k-EAAw%e+g`&z zeJYPwi^n5R|6!k%9uOLaA0B@Ex0ncT8u7IjSkrjUO5X@YJO0R%sniZl`Q|!*bAe0A zoxpb{SMR<$Gx^$yZZ-~%6$>VJoqT=6=!rfr>*iB}pU~Pevr6jAd|-%3&rSgM`(F~L zkY28%dF#9y(@UlQujnSeKC$v+lylkjgrOglw^Ky9FmXGza^p!r!Y@CCeFo=YE~9lh zb?Y}26?G1B91#7I{j}k%6-3!uQ##S^g(!r8kscJfoH;?Iip_R7XOz8ShclSzP_P*c zg$-&t8qWr^$z%-Xn2bisa~q8&;3%02w_a$3dDLTPDH|!9(OrWAB^Cf8WZF2rdQy28 zK2O=~V}u^^(}9pv(D`rrD&t#lCwB~{Pjv9NkqK5*KbN3Zj&x8H)S(vGAm$}I(;)ap zstg_Ii4Tc71f1KYXGb6K4^(;RpXiswnAfiH&jm4QFzyhrlb6K!5&Yniks;IFd_%Hy z5=`)KX^SVZcMFFKH4N2~2WFQQ+a$S37Wh?t)U9W54&&;>jnqp2)gMK2!ZyA!R-}y4ojlu<>Y|tHtCY( z8vKZ4sRHjjdoPpG2c!O*cyXAW<;CtlLcCb|%iYBVDY|MA-Zu1@O{vk0W1XGT5}yM5 z-smW<^l1Wi%7de$H_ld<+db!@7=$IAzqKF6^lifOi9p) zl*D{|rYh7FxG7os%j$5BTWgIf(-Kgpj?)HK zuWy*5l)}T$D1uEn@oz669i}7=BvBau3o?-r^=~-kjh?QBViB-m$X|!BMB*IkZ*buU zoZ!r(L*HZ#90W@YQD=fkLZYOjRi}@O_0_xD9)A!2qnFR+V5X+Ky3fx%z0jEPiE{6? zU(MkMMjziAO_!y`$CeKsEiA9bk7=)N7u6TieMJqT?qgc~bah!^!*FZ9fkvY|JJMP< zQ)BtZ$JMb7uBuJty7<1YZawnhBQ3G*7so1_cT_A-wHDe_Fl^(whla5z{`&Ak=kQ|~ z%Nnii8P7@Ar6c)XNUS-eEDf-^XdO`^&X!S=mayX059b%fI9I$hPl^zK87bHh{l@AG zBO{df$jHCw#9G1MVm=76Lgy|L_g9dA@8AD!LeB{hV?0QsX4&vxJqLd=O|$^d`e@gJ z1W&vDta)tGRhz43z=8Hq<;aA7TC>0|kt1qa7H7>al{|xOV{|(IN z0~mu4b&|h53Ut;Q8mFSQf}}!XtpWlAv1X83AnXt9n$T_3labISCjBESB|C&y-%Y1i zHvdJR>oRcvs{7U@yfL>kre*vPziQ0Z@Mu&qDEHr`i$WSzYoTO{=iS(+o}RdaLAk}1 zbNq#?dnHzWL9WQ(Ud(#*f;P9>A(c_#KDa=!o}0;?7#ZnKQ}Hap(GTVR`hbGKPD;`W zoIN-S^RN-I{yJ%*@)W6OghL=k3c82{jj#q1Xd*%{F=iW^>kQ$){@$W!_0@~`jpw`g zPSMcu>)-#~c1lpR*n_!ZQ#E#sM$g|P!S}B|w)f+&?N^$3;Voa9{w`KRb^06Ce(z2F zP}gHWUo5Zx@yP2>9vTV^;f3ak@dA-Ug1KMuTHTsrjHsSY|$U_Qv7b`i!6 zDGLKS2}v3SDPIyg07KANUz-0E|FSh=7BaNE#MocO3o3>uhr$zY`*fQK&m5vH$?PGG zT>jX|$Pu~NY8}0?1Ug1Z`Ws+u3;cZ^v10@55uH~irtBpyN=Il)K6MSS$hBn9+LGtS z@t+U#1&#_o7RQ>d>=xn4qUF%)&vW7qA?GCmp%#J^MzAp;Poe(Irtj~?r8PcNt}z|M z-nseA&=4lImv?351*szdSO3%(_J#~KFecas%JjmRBxIHYmIu}2$x*40(g8DsV->{7 zZZL(<13r@xqhLZ)(10Jji!L;W%`aNwVSCDrwCd^o75Ke}?n{AdEZ#Vd9}zFiFNkSI z@ybr@`{AK-D}(ZzWI?hj?95y}kRecq9GMu^R?_CmtldA9yL-;=q^GP_jZw-+M^>+z zOM3#!gl@qeer6JkSD4fSHiEVVkYgncL_h~OO28Z>KuA+D0{W+0Ft8Wo3I4-e5(Z7~ zfTq0BFjZ>i)-w2pux&QGt=O5oLb1U$^CCxy`|ye|fAByj{`b1&b`RV=UsI0ZSZV;j zT-FR`G>`OPSx%v76_mJmC4g1rGz8=<*4Et;{1Ek$)Zdnm?^h@^QIFD`-)N`wyrpyr zwH66;_0f*STD>x_J0`S9u#H#?M#F02TxHty=;%^1kEvFU;Q!+3^IWosVfDw5$;NJd z0DANkj;aMN5k*^>9_hl||wOR=gx;e3NeoS-48Red25y&#GCywq-?;uV4M<&=959 zX)cN1dZ{=~D>;J%NV)zRKRVud}aY|Kg^uVu3V;t*hSEzOC%Q!p4pwA!W~)UH#!p z_Tr#NQas*X@A&qPw@;unj<9|C;pe{E`^>_3j#j0xbo|=MrI^^@&d<`7gsiLxbj&z^ zbbj!WjS*kZ?uRaSY;ukGyIwlpk=?WV%$06@@w@l!llWWnonak!u0HMbnQ=eQWSgi% zI|f)s7)L;0T0caDcp=y!OF9;k=Ao25^^L_9ytQjIIrP=WI<|@!+M%eYEQm8#S6U*0bq+4o@iFRHfHSTH($ep!Ns zv&c$4aB*aSOL!*@-_}f>l)w1jSgY z5&0kbrL@e{NO<)cM;r0nxbkhDnlJZSq!ZMCj>5JECtJ+Hf1E#5V!&V02IJP;$jgJ^ zZau9qO?P)? zO1YN@){D?AU%J9Uq-v9CU z%Qv-`U~JXqbMNkWzj;N3r;2vA{Nl}bIH`pgoD-!y{_VHrjNahfU=AH{L=xgyM`G+yxFGx^F+R$Tg&Qi4Si#3X zRQNnD=}kZ^zG&eu^6HrfN3o2P2W5W*pU4@cojFxy^vF}NjLHKWZww3$()t%(TP`?# zvUA6cvx5jvF{nQf@uzkjcU(iQ|A0^mzO)-3tKD8>;?I!~usJz7T8wQ#(D^s<5)q^T zboNO7Ezz7BihFc)_1Cr{MOl=ZH9Gn)2CzwZW)dV`7?p`N(t*cJcv7$wNF@@$4gM4r z?va08KNwgp1HvPQZwdd9)3J22TO0v|Xgm`$j2>V|~@4wy-PBwatMcn~@#)`4JEG)#g3N&fEzeBNzy$z9Y1$GhO zGD{wmiS%+FMmakIV@CZXXrI8CNja^H4anl{?My;qeO6ZJ^mqsU+?55?(P|zmg0X;r zc41FNN6XF0+W?1HLzFIwRajhq^BSTd5L8`tH*AbrY^y&=$Z6!(+l=o6CqbuzOkDaM zF%f)&2GK3apNPD{Z8%!mz(*_OF(f(J-%dPGj9Ck;Se|UdWx?9q^^P!i%ySd%7 zVPYU|r&0LJVth($l2A>hL(%r?BM6exH9}+kN@uriY-*&zPq%FsW4{$I%`S;Q`3w{L z13pVe(|zyns%iXi;u}vL9tc24*fSaA%DJsW!xL#D_olx5;Naa4KGATdv#;Zs1C6>s zadDpLJ226=knT~?*#gE7L8c;NpC!SG*GKpQ`WnWpsR(kY=(fFtS0zoBl=!vEja4po z2c3>d-KFj^S9R3I+f8xM1Zu1JJ1fG59p?s~Y1-fC!x*$iEtdH=Oap;6_Nj31PAuPC zm1kt^g8U8;UY@DQhd0XXLQ7D~6J~dmQMy+6=`y_}W%aS1r5dfSaHt?n%f}8s`~VRM zUqyJ9pSgg+LbFP+`iFr5`oBg^kqSMXMaRD%YzwQg-^krXR`7xQ zk)DHpqcAdI{H5?>y~@F$LEF~r*4lIuivgoX=^x`P4m^2?va6xat})bd5G2>Wvl;nYDq+USF|U%SB&qg#bvub-TmKB^d@7E zm2T}Uc8aal)5XG!fx_up`%wNxn^x_w&XUSq(ehf;X}%^cI$7(WJU={)|7jGPUwz)w zd#uM~BX9oTN%pACRL&>fl8e*CxOnZE_*h7zPJG50?wCg%+SB==?cwS>&on;WDnU-g|xQ z^^$=i3+HbdeD&vlS^}*AFSY!avfcuRAPAVl6D?Jy*X(#=0@IG+Cu_G>8fX*+%;xXn zWhI6Qy)8wQueKZ=&SBAlM#Wh?P3VdT9yqmn0UTC`p?0YQ|NGz&*4=bhr<;oXIaTR3 zvc;(bkfgus-I7yxqUiN#itkK+f4^b^f4UdBIW&|BN~n&MF>dpB~h)Jv-~HB&_@iLW87G}2?M)uTw# zHyCoas41=rHToz+(C?n`q5EMhIv5LD?*K|vkf(SO*{1b2Mm@EX#iCORit&@TlF(X; zAnitq$c2sc-BquL17u4Qxcb5JXJekMB66c*Xpnwmbo2vL*>Fr>V>>qq^Irjb8HQ(8 z!832$%NoU4GZ%;v2`Do;sbs)NY<`BNCB8r;Dwzxiw`^<=Y^r%??6rHE8D%>}*drGt&VpTB*y zF|3JA9IledvAW*ARh71AWjODbA5GZ|vHqHTwbC1^@TD6i8M$zd^V6d@dA!UVuOmHO zYxb7*=9{7Lh}IQyK8#wJ7et4*b4u&OnKck5BC8~btSv1s|VPrDm`J9voU}qcr z4D1Mh8N3}Eyq(Zp6Bc_iF(b<4*v-f9kOCqn%GAR1z$YZ?o?mRKZG>_!JimIF$jqQ@ z_b$p`AXke0U9=k@ef8w<@G!M>6s1U!L85=hfXhO$fcYcHX>(ylH84TKgM$H*& z2i#zqz(NwN#E9a1w7DO_HIaB{(11{)(g8v|#(z_&-4i!EFsZ99YGK~kYpyBsrf68{ z#*n3{ZzZGrld`mq{g(%t29I?)Fcv+7-?0DdyZ?B3rS(6F%JYCxqtA274{XJ{@W(1wdi<(rUxC<>FZE!{ zr#ENFXLij|@Lx~iuZ&@ri1h=$PW=__IB~KYmFkF81+od)U4fG51O_3cq@my*z#R|< zF$(IN%AF5iYcHN{$zrAG4s1y?Dh`?1*yEEA zk9u__qs5sK&D^urXOs1zrd(HvOPbZTv!d9ST^Y^}mbx9e`BA^cR~Ga}o1-dlF3A6P z0H>;DJPP@sII^C^DAA@6!nY(wMuHzon$+?bNi(mJyW1IDpfvNb+a-?>nCx3983wBez? z_+0@=xJlH(>h5vC`e*QLnx57Kxqy1mVsdXI5Lh%HuzT1=4ub|cqvP~2i9A>XqA!HfuWW?Bh{Kz4z_u*YI|3SrSh)n*04IObFn&HFmQOfD=TNX ztJ&iA@>Fh(D4i?e91zy{!&^Io>f9Rl*i!{2c6QU&c%);fW^B8y_n{d_wYINMSHGWJ zvvNGbn54zv#?xt7Gj!D#1iPrz4|9XF1_6X{c{DUL39*j|UA($(VV&^vniPoo3`VT= z=O_M)qYQbtr_fWQG33R{oNc;-@`h}8f34S8HgWLcK(O4S7qngKdgv*odgIA2_ciWr zcc=4o_K-Rt4<4ZY#4J#LO{aPwv}CMn3Xbq(HiukrV( z3U8^+-ByvqW$3L(6lOVxPM44GJ6rSgRaP>8^!(;XuxBo6w|C4|=;%ef(vdxt_0@;= zQ3DRW!6{3TxXQhfbd_87bc!tyQ;RI=eRnq*_w14f)oAQzL7z)u>_7}ZKX#xb2t`0i z0Ui^nYdA0uyoP-Bh0{UWj<)C#>Q0?j?L714rjAqNxg1e>-?l=k#;wofCIcM^HqUgG zL!~I0Mai&-wSml-sjecN&P~N6aO@;!s6LWL%h2{}otYdeUEFuqg^rTlLlKU&et2`x z6b~DC;>q(Ha-4OW3M`JQo?HdHKxFddyVU`S#jj2^myg8uYICL5kRfeE>Tiu^RVfXg zOg7(`=U}Hv9LWz-4Zb{uK%H7LU2RoHx?(0<%eGoqTDl`z=eNV5ZGcu(!=o27E`VRD zOG3$Qw6>^=EKHvaThaQF6NcSdXq&YJ-eDr;N7H8{QeWsb8D@j*U?bpdRY*`ic$YSB zT{`#r>L6-@QBb$eH%3hu_aP75Bh( zEThLetcHRPf3&RPa2PJQrB^L=c%Kovzjhss?g@`#P+?OQGP z^ff@(gY*hm;8`hh|aC*TvRLm~mX zs2R?_CxF91pbVi>w`H~6bk`HFbPqmkw{)~r$}4v^JNfCx0~cSY59r+4<2}_9i4bdS z;&@^eMi!gRH7s8E#zez%n~U;^A;S?fN5|XaYKgSDGk2o9mSQ;cojtL-I;e~Zj5XWq z+|$v!-ab&eRI>Try4sztjyO%^v}y_ry85i$Zyy9WTB`4wyt~y`?i5-3&u*?;bhlMH z1|EjFVyL=9^MTEH;RRfDsslSl7Lr)kL=78l$OUB~aS~=q%gB23)Vx%iAI^~(G8AHG zna5cc@w#0ywOD}J?b3ad?&jGek2W=|v^lwy;1&FX!RBO5$=0rYoqIi&fQHM_-p8&4kW_q$r=tF2Ja09#(bz0{9jT(AQFVao&yMaG+;sjwcX*m1|x z5{Jlu{D871l$zS1UpoJCPyXFgC8^@pi7i=-OpjHUDwg@Gy)7Fn{h8c!wn!~}LoFz2 zXsrse8LUvHK&vxK(nT(-Hs$!q(z!?4rm~wO8ZLe5@`OuYJ{`Ba>!ylztWuFPSmvzE zGI=sn9Nk9;Jh7NI?2v5{nSA->CW(P((9k);v}=rHI%T4-X|}!0;BA}?x*^&F`M2Q_ zRtK#z>3(|F=w zwdUpE>x3}wX!7l!STSkc@XYj}L1}KREmx{w=o(K=ewKij!eVi5aLg8Nny8>=YNs|W zIW>iY-{J^W5|9wyerqhg>k4c)y)U0JRk!!(WEAhgXb-c-u*rej;%!m16v@rNg-q9(UI zSqRm^EUi{zlUc2{a=Wi2J2$jrYd|T>a4W1E#n;QZLCJCld$dtTR=I_+k#IpB;XM!g?z_;2>wKpR~p~2^Yqg# zy~lbzfu6-9r_0O@g--e&*7%M?TyEA5_)f68ko_SEE7=6aOH3#Do5>gINv%5B!`%~EZ^ zVNBa^>g#LHjPL63;=fX*^RT+=-0hQ{YLQ5uRqhN;bd*qBcfWU}!VsT6*+SjayT8Sf zp~%R!DvS-q4xv)76pFIyBDl&Ffwixlt!sR5Ja5R-(c~C>WOL<=)f3TjtaWo>SG~6a zj26HTR2_x(6G|#95i~#ocb9+(up5<}&Mr z>|`u0(;&<&a#RLXD%Hk&Ul`oDm39g*o+vk@QL;UglS7SR4ojf%S~_wnU7{YzXP-tl zIwGY9b{BEwsWK0!zopDtqzXu?>kUQSGrNm*1xkBm$js`LS9Hx3bxuydvcG!Q(yFU@ zd%2Uyl|yZmLVFAJ7gd1Pw3lejfk@4rctRKDt|$T9QiR4l8qr80|2XY63o4B_h9 z>aZbIHny}UJ33YC#C|qF=HlTp*tv?`x&r+54O$fWaH#T- zaU`rE5k{_?GRc2T1YDx88BGEuk>?_eni)_60|J-gr9Ncb_2?_ZjYmdvQ-lRQi**!( z&y<V3 z4K6Ki?Fuvc&3C^#n`5mQ4(qk$BgN*Fd|6hg)G0BiD{$dd2X z+PppGHmL}@ca;Y9*1R%Rup;BvLOxp{*P6u0mf?=WTelc3j1x(l;03Z&pl-y*T#}Q3 z_drhNwoix5K|=9Kx3cyD**;hd$#+uk!PcR?fucgN35E!B>O03~a;CR2DzA-JY-@0E zxfwlspB(5h=JizNt0X#}CScY#)|E;GbUKU0{$IAv#)i{TQnOb+|8y{&-(G1P_csO= z5@Er>zN^2xXY=L7W_ezUKGeARR9C~3XOGU*^66Aj!G>D%0s(! zE4ID|rW=puYO=wE3a0AH_*%Zi20MOCm6kGNp4=Wbq`moH(Q(Jb*ow4iYN@Ecq4e38 zUVL<3BQxnCP|7PU3mH6((>s?#sVq`v&jRo10NWt)U~76p5LyD=(B3>kl(6Z8NtAdJ z!2-Buunv%?M7x%Ppp`0iKKgQ3)m)=pbVDH2>y%cdfN3o9ux+vCK=%-qobm^;YPF}NgqpD{v3wW}jD zroZ{M>IKgwX~lufo(hFAODD_JXQ~>TDy2t5&P=Pt7Oc$9%t!O0CQ0#Z`ZRrW(qPg& z%5?&#gZ$4L!w-ua6G54XxB&GsBJLJPQ9sF~h%f+7V6Kr9G7gaBQHl4U zeJzP8C`P1rIv)8k{>g)jU)hzXmbdOYKPnUF^w);c8H$p4Rat?|s*3biha?)kp>}8U z?A3!4PLng6ot|mnFB>gTHC*`nxqX`(4u@sxtY!!W!rV-r*r?N6y=rxt)!&}4kH@sdMTHvW z+(TDdjAhhC0QFQMkCmn{OSuxRBwL;7wd(K!p-rqU*2sL>J~>B}ERjQU8QCRpSb7`y zpcw*-*7n~7(hVr5MUYsun~Fx<5kyARq-hd_4`_ITVW88(KDZQ@z+>c^6E=Q3BBAY4 zOdP*9K9RepWE4J6Ue7dzdWjq7w7P-?adV#)jOLU>B|0v zQ+2t6aog$(d_lavbg0}X<_jy^3wuj_zRr6mLgu0tcV26rm9H!-i3p49GC#XEhDJg_oZH)t6@_?tf2eCj#8dJ@#tI$#DirWCnpP1N-THvMcwW7w%QFvR0oHn3E5;k zV?nl5Yz_!7r-U0#|L_-tHPJ~FG=WvO% zB}&*qe?J1T?&SP1BImc>iU8jj4@hfwK0TA{Di2sRnY=W9X=C0{O)xzF5PIrlw5Ioo)2e$w45_hbbM8?u9)`l3Q`B0;-!o2nTh->R6UsG6p)cjB7iluY zDJ+4l#9KPukjp>*goQlUz~x|nMXC=q#CGyMdgxx?2*x9$FO2A_z<4D!v7d~3R8vBBhNojrV} z&R&(Pqdvuun!IwoODE%L?$e}joY_*p2W4Xf{A@Uln#vNCwDdZMx-u%8+DzVtT(t^s zN#%^Sm5$fuN`(@EwZN4>+E#mRfU(x!p$tqI|FkOuAc{u3RkI+7X^NfD|~pjYs7N=*4VZt+%YSzTXY z*|uhvIHPG|Zg!KyptLBuhWj*W{NkG2ErS)jZ~g$=l-aX*wsU^gTQ}sP{V+9HR3dZa zDhns7@c~<*Q{rftjhEK6JhXSb!aN$7xwJhvWUKEr#M-h~<8A|ets_1A#C>{C5 zEWji^=;`pfssmBB0+3HoZ>TpTttFTjxn_uVtW66gNPvYwO`5C%ttBaGn?dpy*dcI||%_PCg&)q#rmt9TuCzhCQn9TJp2a ze5O=q(Mg#zOmny-Y_{}0I&0~y_9oNIca7Et6wys*y1nDUb1jcQcre6~8GYv0F<|K? z)wp_M_pu`UrSJw%WU$m!v2-3IymhiZ` zP)CU(A9Nn}%g{4{i<*c%7(_UNtdnS%E?G;m2FUCzS(qiFazg8oNz*i%*+*U#jUsOTLwLlFbq-bv$Wycd0cE&sWMI7zy^(7i5UVjXj}}_Bi&JE!P%{&OJQ3 zQn0dZC~no~H8?4$#*oBd6ET`~1wE1Mz|9w@JHl`nJa77RYt>G7TZ5+IFklTO$%0$y z6JV#KN&8?)VX07>i6kr#S^v9nqLo~WNYKx4a2!w>*)RMK0&^6zh%(VBVS;R~5g$l3 z!I*!t`OOGbKzAdSU{cq{wUOvg;jWNXNgpQTS@a9AlasQ|10&T{@#wJj}K zl~tal>6xD0I@uUt^hm5}6dE@zg+awwJYj|+O;s~`S94Vz5S-F_@21|>zX~G-;cWxu za6p~Opt9Ip0WVp|^3F_lg(Cqs{T)kwjz^}-bl98<5zm-e7TmvIYUIge@<2n5*e$bd z-MQJaWyKO7iv@C(<*nmU%jlN5ZIf*=Zg9p6si=`BF1$Fa7+O4f&;H=_`6+*OH8Yi& zRbmt7+J9)eCtH!H^^T7Xw)YHAB6;7s3bl=^pd;Ip4uQN) zOz0ng%AX(}lHC(N9f^u`>R=rNZX({4_(Gz{1rkTNX#%;TCG#diV5WgdXVMMe8&SNM zUTTBB zqE?~A7A|jeWCnABigcUJ#9^`AA(}p1=RU4#>h7}@YwOEAX{n*2d;vC|f}iBVmWm*s zW6ko3K@AV`0!2EU*ZjvbiTlovxN0@y-+Dv6P57TsshksJW)W zTGZ0ftj+CftTYLn6&srz?Im`7uvDiiEiLdWP2mb{WU9a2F83?KD^>K|?!}5mNvL^S zU2ao-N6Zy=Objr&VjI8u_7A0`Ut&qx| zNDo1#4D_1JHjr-_h{JFw08ea^gnSz9p#8{|x5uit)|lm(oJy0ar5Y)prLIz_muK`j zCZSNUHL_eFjrU9iX;lLebxLw{YpZY7*(_+dxTPkGUnNX8=9>M}edUzghkmjzlGQ$6 z(cDk{9|%t*G9Gk<-!wHnkgCbGn?{Q9uHuH2#%*<8!Lq=U6V+Io7Mp53`1=Kc+UCsM z_B@PR7PXZ6l)C&bnBc8iz~*DXwJxsZPiRO}0$FPbu-gg;_Ye}Be9+Wxr$WhGGeRfO zp!H>A37GlXw{Cw#axk*!M2GSmXej)#1Yd&`j7UiPC@oUc?J-rA#{6bZ(Rfp_N(@_i zboHe!Iz!Ylf2Q49;a9OLsWPii?yCu!c|3;`^1Ui{OgnY>Vi%RG4LVhD=tZH}u2uy* zwuCx%R2rF{k-@I2TplgYoo3c&aCtjZlW9~=xT--5`v}^?nna z^r56mHNq*4=W0%8OvlzlhEI*?!;xYK1rxa|{d}XaVoRM>V8}6ul_GYsNSU6TW-j(; zJG^Uz_u1Rq_8i;Y;=Sg^IQ&(Izd1{HBr=*yDQT-bpNJ{8XE&^dq) zv+J~!NaEh1`J`Zp3PM0aFn=PHN2gj6uh(Qx5Gmwb;ag~V5X=za)7t-OEalewo^2~X zv9;o{6JmivDoy1rZ7A+9^@zA^f!ZYG%Grkm(lk+U+_n#%PR*P0c`rYOBv^r(vo(76xY-h_N?Yn zA$B4JkYF0jHF^zuZ;;bk%e1ZIE2O$J0}{|_LeAumAYycI3U%NV38^FOK-gX4cSu#K z9Xo&mf5?f{wwXmXjmTcwY7<&CqGT)nyHA^sjRw<&CwvC0SHD`|LdHh*YA< zt>#_HMn3AxGN zu)$Ve>Q75GIQ$BIyf`f48eBoGQhVxwjQou)?wMi==arkMqgP}hO}w`xsKsf`ORn4^ zeTv!}RTe-F!hAJXA1c#l`mM6S)hu03iLQ9UY7BcFB9$OmKT!nDvM9HnxK%={1uXF< z>L*NaHYk6=gb>|?N>c$c{v>vn5bg=daZOD@)X1A9&d<`qvdRs|doWorH>7|)yM9;y z=!S4gboZV;F@Ks`8LzHT40Zdv7mqzyS+UgZPySdW65ER$(b1+7g-k3pc``C>y?x!3 z_V$PFnsKv$2h-?ZG2|4fWzk$4<9Z5DD5A%&Ob$JFdV2%ZSe9xuC5HHv#hk6;Xc`WV zbsX@AYTQEGG(;%~Cn2teJ|fRRo-K*U;po=3&md4k;q`5BgcK^=c|aT#E6Qq6iW~!d?eRdWEu*BiskS7ec)rumpr^=`deLjaaH=-sjPIS@;NPvPZ0P9h zvTxsxK?+R1^~|e7Xuoi(<<0vT;%tv8h0PJzi?iIlO+~^Gn_bu0lZoAcE&OeLPLWBg z5VCpZA|GETGz1-n^q9TN%h$^J%1~?W#*4dJqjrJq#E>jUG0^|;blBHETj+EgIxmZ+ zhAZp!#$u%*WQE?3oyFfX6e!A@(O$-{gFIe4lA7@F6m#WX31POvmhlI8yl<~Ep-a3 zg^wQcZ4Nbs44hO`w7#)E3TdUTxqbPei8>dB@-!7J%9B0On&WMn*fi1PDR+(W9YPp(dd#)$XED_7>C4QZC%RvFp5~}t}ynrw$KMUIx zAs=%N?j^SpwW-@oo{Vw=a3eN>7Kw^3_(TKKq+@ym=-)f~L(wN%`K~2uKw4BUwL53W z<=HX;i=oJA@LB5$-6?;Zps9nk?ofYKZaT-5-`v@4!OrIAPZmv%6vZaXC5;PDO$|Ia z5loeD|0X8?3Ok>D{!gdN;DpVNo_(zrVSJJ@qs|{FlGz1jzm|u54>f=-rt&g0LY6ep zUSQQaV-_)+QutBMKPo>d!fWsD&oPw`M{TyQeH|XgN6Oeh@$l30CCX4sPM{Qr_D!fi zikI;tdN1_6M0>K<*?Z!UE+A&&tRfK_C@B&^U}P`^6yI@4sB8m5foOwFY}}C?7X#ez z(%+JbGP8=!hWg5U(T-$jNo&dOsIRt})8QVsoyJVr-gs z`191s$)>teyhf7&o{6jKJdgLP%eFLlx0RiIcO{e}RHTpYtu-ZEIVz(~`gmGKda^FQ zt=>HqJNtu`97X0!Pdq;4s_M_C#;q!cPsUVrJhrE8cXvdaO5n{q!2jK_R}c0e($_%^ zbloD=1-e-%(4`UA!yQ-VDp4`hkJa9L@D)CQT52&@}9ivd$*P)vt*F*I(5jH?>*Woav+TTDPT$!_>U5J;k~09Kh=3Mm6h499Ig?2WN>WWar$HfWV1lu<1mkxXmQwkRh!sPL~>pLMsiaf zVhCu^@QMpN>rmtd`4EDIty{drMvr}({a4=V?>jRcPM1~y5m_ zW_f(i^J7Jmano0?rIhUI3jAH!JJ_;sqF$5A#a%frW`|TL!C<{Xh<5m)ai zSeB&zTQjslSR>;6#s5d!o5x34B!9ru&-2VoNHRI*$bHO_%;dh4NivfJ$Uzbage&0; z2q6gxga8SI`xFH^6a)c55!s+3h>ETP9xI2UBEqV;qT-4QxU8~XE1Ep>e!HJ%asd1L z<9$D`e#p$!Q%`kub#--hb$2yU(~+%Lhn5C7BmjdZ+L)%gOm&pXaw#YfyR{xj7H>;=azX*xbw%(PQ8qsN)dRFb_mZcu{=6=DMm zpPt1cD%?`-q}5LC#I*i#AzO!wH!pbh+u~C&p>?1ql2Q9=2c&8fOTuj_;r{B7tYovg zR8yKYqk;dVe`5Vd1&OuB>>&x_w@-!S7`c9_BOM5hdg}ZKMwmUkJPfFzOQ9P&Dh>YL z7R;3sSZ+ib=A-xQ*wbw$DepXzkn!AiXBX(jK>aiEV&$U8_2O*(d~SgFGZ{CYWio4e z_g&m8a=dE+>7ZjJ=W512ydcnvWG5up-MOIH{fX~5lE6yA5D-YPyFDno(I^Jx6MaZy zabtjZV=(!}*qGf}sNWwWuDExvUTi>-i3|1LijR|u>4HtX+#$ZPMtp3JxUfUK-1r`4 zV0cqg*Ed`k#_9>k``sV;oIH^2hMtaMGSAWpy0pM7QyRUn9cqoW2AbYWWik5u(T#sJ zXDxCIS&&#rYAWoAMN{F|rj{#fj^>CbcKy)!AcL-bWfPF7f2a`J>v?bHvAAel+}^rNlrs zd05Rg`OTJs;mgM6i$w!6|9<98F(Q21Bhcrs(H;vSzaWK?i+PbPEr75HN!nA9bYsu(q)7}`L(WGi!we=LIzj}4~dhupT zGD#&alA4?%-dw-@D%BIIo?}r@dKIxjq3DPDWNA?!BAuNwD%2{4iQm@s#^S$yUU~0Z zi@UDs_jjNw`-zT3rlg8<#UD82wfchW`mD2%CP5RwyY;6?iE~Vbl(rwuuq%m+rDBqZ z+T@b3Q`Qop-(Ln9mG&i^A(vVDmEo&KGOvluk*PP*;>3;gEbT{Vr;#Wl5c28PZk*qs zSwQGNG?9P{75|53qb7GKGU@=i4{&|XUx(b&Ko<$0Y2ybV@f8)l4Z}@3%dmwFv`9zG zBJ0vu8?G~;+RM%S=gVRGv18Y-%+J?{{d8*7`0@9|P3@PJ**2r7P-}4Jt+VQ_>xNev zw8_ac=Wa~cmfVcQkUKZj4;mB{R63|`!%m$x`r^dIq>S`QjTxD>8JW{3r>7AzVeyK4 zCQ;ccR*2f{f5NSV-r0!LkCQv+{ zRAde@dU+)eGzA;Igg=qH4r@k`=Nr(sevqdgHXOBN8b_(&3=A#AI>3ER^VDkwZnoj| zT6%f&2HU@;-m~p9BBJ~Mfh(Fp2WM!NI?%xxAA)ybWIzJiMeQ1_H2VZy?s6Eeh6!^rz7i%J_w(Ci8O=%s(+ zwa+Jr{}Jo{5FY?dOrB3pQa|B>ED6P<+oxQcY67CjBB0*{Cmfn2$PWZK^Q zEubSRTz@9&tBS;%h6i^Aho2EM#6Q9VC%0$YzC3)5goxi=oA%DMCc}nRTem;5ZT`j( zj77CB7vc>m$f>SFz9%|sl5TCGJ4VhJT!&P46#!Urq1jy*e9>`c;*$X{1MGOR7-Tekc9B*x65pT6_+ z`;*}7HG2v-4cVHPFJ8sh{tpa6J4xf?W;Q>*6i1h~JXXBMYZK{yDBvIJ~o__F=3rK!471df@`f_mVV{nqX+6 zn*SrQQT+5|;>9#Fid^_IjnjW~{rWc|NfSSia%r7KU%9~P*n28SANG!_G1-?uWtni1 zN$HDJPRHI8Kfs$PkAuxs2*c5bed(y9fLUa=RvIwV+zx@zko5ke;;$up^z8PG=k;9c zqg{Xeb>`xTVKe^9&;8+ui1hGuy!3B-Y!1j^ynG&XzXII|=5bhU$eB!75;ECZQe9wU z8Uze8XNHO*7ER91PfgQ@oPLz6(eHn1zg{%yR}WcOoRnB}Rs5&^p;Kw5IPy@*!KVDY zh}f8!T##=;LEZfi*LUu(uP66~hffg?)e~b`h;cA!N>AI9p3ZooI|zg?d-GzWqbt%g zO2;E5Ylxwcj(gbV$XIa@@?LU8V8G~y^dxdxcv11fA*=P|vVQ-*{raxGj}9sc)t8r% zza5Oarw!(<_-g=G;~b0Ha_?kr@*-O_Qf-2E^L@gZD3f}vo z7#_(@#j#m&XZn+k&+qRbHIo-EU$Y0o=M{~vQ|eUE_5#-k1~dCDxgOTu-<7)mRc>Ry zktyj}UY8 zFb;|96LEraqOyhEx^ic&aduX!zP*P%{)49K0OOD6yG|P$i?~fs?luHH@j}<(C~n*1 zJLRwZ>*nbtuT37I586exX8xsl|2`@cY&(60{W&adPk*d-F=jV}?mHE}L!0_2;F_`q z#h^_63tW$cSrWOfe`Xgs`naBK($DXD1F7Vj=va&k`>?r(zTb-T!O?ghJ`TKC=}qdQ zxM>Obv&fR2da^=4PxRa|L!7i_#eC|ZJbMp88sN^ixW7|cd}!yljCLZA2@XiP{sq2h zetQk|8>q*i!+}I91cM)6)b*dJ#%#XMuk$!J(Atz+#n-(;ELEL5{w97*dGdxWD#W`M z{OEa^x}4O?-{Es|LYg0$)b$?=rRgs&-jO>lBz*0~J`S*}ja&K!|8tkp>wCkii=9fy0v5N0KuQVq*(O2Zx!I=E<~ z?MA!SWX4A5taPIgXBW4`i07QKB=vL4Rqh#BU4F zi64Ia!e;|jV!f2y2>vf=N^zGSx}Nk|wodNPnn9y4R;eGc(N$DO`3t?}Hs4Q0vxTxnB%*Ac%I^e*B$jrPq%eWMf#=Dqdg zr9nqPf1o?%shvdQ(iN<%e}#u-=N{&BOAL49else|2iD6yn@sLoNE)eOBoDW zJnfA-?@Q&{&lCkIvs|Sq|>3^JtrRZMyjVba8LnQP_Uh4b-C+WqTl!1{vxgB8(-h z9i=a*7;Q?-Ng+td`rdqP_F{v6^qk|GJ@vEv{44ACh?6w)chA?54>v9h^qW7mtyUlU z?s4wom`RhWoFzjlN>Dz^Zm2IG>#3PJVeveu6w3Y$OFbR11N5GyWB^!6?$V%JEc_u& zg6ZU)&V6lAYJ6cVdU~~&EcIEM-R?!sZ(OYRacFff`MjX>P4^Fa``9B-&R(d~#)swn z+vhvvA@=bdUcZNX)LSnz za%_nBKBGx8^2AC?^H)v#?sjh1(Kb>uodirLL2XB!UDO#Pic)Spe_r_`yMIcW)3JFu z>sr#R+>T61hz6L`HcOHXnWbqjAlC}oHTX7v zce_S>P}4pP30>PYl6;)vWnyxo4h{!t5Vxae$ui=!CZau-?O zaH6fOS`0T+Iq5C##$U2|-e~H-sK*Ct^(JH%r)I#pxDBpM8 zVi;e!Y=HwU%O;wiD& zK{kkodg{h|gFeQY9{N-fdWb$s4niqyJm1>oX*Z`+?!nwIG~G7ptVY(Md(P_6BS_%N$#D`?f%qz z=>to>#dY58^See2*}2S{%=1?6>)Offb#$enW$U|!@@*b7K9d@&osreJ4JkVRYF6?w#YW z9zA~i=&QeHXB9mD-s1&!`wu5;pUAh{X<1&}F7BApCCyWHY@UkUS+HxcAtocN7-lm# zwom7&HkiBXUa#*92ztQlXKTRe3t{o%i{gp+;D0`*jr`JkZpv{}@cB1_P0H}xp#$eE zBF>X@M$CBV%P&_=9z6arXIJz7Wu@gy_RF@b2J-TtGX+#dGL^lJILi!0`tPrqr_~Ls z>2RB{;~Uoo1^#Wr>B7w#p=8|XsggEmzl-{cmS4(~Fi?xe`bSuS~M<>mUDw}jvaCoIB{q7*1 z6-naDtSh!QRZk75d}Z}W~h~uN0_Fdw?!YktW!uX0X@y4zN zOpi{lJauYiSFWUwiVe`Asd%48F4?QN$BEwFCw*tmft@H}SXzAAYb@i4akHfczw$Nh z_r$$(>hzj8t^% zs3Fywwmi~US44)+&=6nEL}r&ae5@H)4kGgMGwvDLcA6@-;Q*_%@&HLhaD~HVtbfhn+nP~FhZp|!A zE(|lCuB-O%y5@MQeRdP^@f$UIhXwjsg|a^BE-TB9SdUr{^`!nkgp;mBA&3B^vLz8L ziX_sqVtSWFLRSr&5yZ+edkC9n5?Yw)^t5U}E(nFS%n*N)3S)gQi+hZ(Q2HXD7y2S1 zVYDC%97n{Fr3wZ_!Z)Wg0bc|f5Nb%Xt5r74MUpuwFoi{(zyN!io%6Ou6vhqYxWx{e zSHwNzADx*L%MokTpaOM&Q>~g0@bEGZ^exHEwwj5O=c`MLbHk8oe(=aDz92s(QctRK zE8~*ajvHk)4>A-u!p;5}j~^K0$ww9$i8(T9>t9xp;+z#Z@fnu>WFuIIXO;^cdI++T z*O$HIm+JcntIK)laS=BkiV^h{2 z%FLcfyb~q-*)`SgJ)uZfV6EYpqk#=)tV}rZw_fd8v zyFJ-N_eRJyrfWF8T7>cu*xe%KLnyPGDaHVs>CvuAyIvq&8--T{yK`b=Zi1l6&K@(u7S8+cSe%)Yn-@|*!p&tx z@p0bRo>Lv<9aNp3uHg+4MM6nJLRd|BaS?ZayeZ3Hn`?{l(Zoc=XnclMdwCk#)vCAv z9IDCm^|1zoXNN~Pd^Ki$7zqw3Da*>F?S^w@-2EKwf7Ei|00P@@1{1-)xWg5cMaChk zgL@7m)rYnsTjzajL!F>$`M=q&V_frGNj2kIsi?5~X>%$yJ~0uo-af;sJiYV_z;j@5 zcvzON#u^Zjo$K)RF&V$l}4C5C_{JZBFMO;2yG?A<>mIzPOvbD*bkie#*^mJ2^)CJ5g_2OheW z#J$KzuT-|Yp$rbm_16$paInK)uP zUI8UT8w_Qw!~3ys0i~_98i9#9*#$!r6NNf(+ber2AJ&=1hM%9yJG@gcv${F1Zv=+~d4fdL3 zC@q_jILs324LLSbwT68fDwJ1B#*_fA~W6F(A5eHAm$kb^U`FNXk!Dh2; z<1T?0Kk7qhsS-(QC25s_r5x7bvBZP!qf-BVG(SJgTWdPHI837>g82EM6wk;{h_wVC zP27or1D59|Wj`By_uny3iQ4@)!ypP>i`b z>;Qk7yMVIb3(_qcR@$xeiILWX>#s>awm9s*$crR;z9)a$k(gDxa{0z*H&Q2qNNKM_Bh=gFT!g{Q4rw(-D&qitwV+Bc%fLB5~h zf)2-ml+-MPR!1%au2HF5z0HpaB@}o6rHuuu7kp8N0PNjvdQxJ^+27bF19u1GtFlsJ(b=G zi5Z$Pfti`(YfT0Z;YH`GuR6sw2_f2khLp_V)@WN$QW(NML}7t!o4RFAedQ6j=BXF6MMcezqBEN%EayN3PYZi*2k0eJ!_$ zPgUxfWubw3?7?uaUvvlX)#I()I9;J_US7JF?xFj|o!UYxxp!fm#;1O^_@S2n>2LSE z6F%NCwPxbUtfJDv<0#*5n}A`WmqB&2jNyR!`D{m`JUFmtC||B1xs>8?luWk;QnT=R zrKh>1q9MRJP4kc8p56f^6`ASm$GlmZuLBe36bwyBIDYbK|G<>gnNIJ>%7RRPMAC9L#f#UU zOxiLub6#$;r(b5q$XPgHbEcy%I*I$mG_|@dEyEdW9&1Y|bRxv~YJGi5iWiyt_b&`6;bLRvr(`HS{A2RB zJZS&>mdy{^rzex6?P(?WC*1T6jjSlOTKjqW&%&vp;Lz~sOl{n=;y2GeOTwz6yM9@P z<;RsS)*gxy@*3i@IJ?Pib+k|~js8zLgYr=M(;z$hnI$dSFrWmGy-F21*qXG&5*uyy z@8=(EPoG<&F3b!^X1{<35`*H3A6k+S7VH-olaiAVyV(1o*kpZ>x3@hdDKadAy!LO- zPiu?HGmltaHXz=F?S$JK3LKs{mJXcBakB@l9AVCjiu3gm@-*3bjf?UM3gR|C4#u&c z2X=BG^fm)O=-wN`Q@*K{W~{+FVvfgV$L=YfyFPTDN7PuE65sQ#CYffnHqg@==j8}6 zN0`E`G4cIEPFH%9c<&M7X^V#+o*9tLHUNS9aH}o8U+CY+EvJ**OB8mEKQUY9cqj!D z5?1)$e=%X7_eZwI-_PGVn*l?MPW_~yYa9c>;{<+)R;_+cq3Eh*u<=-udW4&%Rda3K zFpKLZ_Z&A;t5znvVXjUn&La#4Z$x_6^^MEK?ctXK54D%+wYrSlf4QlE!9r0O;wYla zpL?IH#d=~S`kK5WglaS#KkC0ol9IH|_LY}m(3r8ULBZzO;iC$2R<$;S7L_ICjd)^_ z{q;o^lLN^h$BdR`ik7zRPp^&i?9^< z3NiQ^v(|5XElwYrzH$B0Xs+(tTUP63k10th>>}4)bq|)0{zH6sQf&vhJhWiEbJ|y5 zOdC2eZ}yotA%7bGr*UpSl@d{C*fop;+>g>49gSy6u_8L0OY4NShQouUm9Qa)42Oyj z8M?kV94;mwHj#tZw7;ok7cE`@}*~TKH6+S1t zUgPBQ1|vUg@>J%~ZaNSu`FDlNip#VsdJFGZe-~R2NmvN=GP{4#4zO zF=DyBh7HU#-6r^LV^yt>Z^@kMNqhGjLvKuWc=pqlYJG#0LP;cZfSpcwz(Q2?$cgz# z49oqVN%Bev@h@L7D@L0#e0WZRQdzxm)95N6P3ZQaQBnN|tQbq%=|03%24ha8VcGGM z;0d4?Qja#v%1fRVy#k%avIB7oy4r?iZ+e;}&>qMw4NVK4xhgbd(2=DfK7!|@lF-PD zn;+U35&rR}z$BxGG58CgGm&F+45jU9U-$_7l*;y{ZOfOp=g%h|HJ27_eD>+JtDh8v zaA)Mm_#vi5?-ZX*>nJ$bMDYOT=wG5uunJD&3vBs>?tPQDtTG*uHe55kqDyJ`pQ;yP z?bB8!CUQ00z_Q{|-WsbEKB&`pg+~^ZB_{e8gqGyzXD*(r_0G;2Ga|;S@!!tfpP5xw zl1{R-91-E!xz5b+@Q~n)c7vx^H4Yaewh&{>9fk=CaUI5*&MwG`?R9W>dz?=~k3*+H zJW=uyWu^kTRe89#Fm*to*6*0+_>zEivoQ%VX_wB@%<>B;E@_D$Zd1<1pc~_-P)~JO-D&>$)>{LS_aOXHiy~8F@IJX#Ww2FKh+Sz#3X8bV1@=4eec6-t6=B7(cx} z*Ly}<3V#n7;S}eTn=JNBY>^_aZ}Hw=@!oCgiXSy=#KW3d4YM?)(z}_iE0WKhIlb_) zCI*`?c|dduCvTsK&@`t=@1!(qniC`{@%$dJoO8)>#^E@F_45Bhr?x@{TI|lZf{6eK z78*sZFb$!CcggBtH!17+Qj3rmeT6|>>7;)L1n+OpU*7EV&rLpygX>Csy&8u7-8(HJ z-0U3`91-qM{;)^K#kZ{Fh>;uQ?3&x3q!nfHFH&LYw2&523?;kC-&q`&uA_7}GIK|% zV%xPu)1vw2eLtNcC!@cgGc-OvKB*}^RX+)V;?7BBW^-EBBBW``$eci41U(h%gIfXE zx{OSO1`Oz;E9)GzPGm}Rh+$CKjHIFH7asBHxfZjZX6Ex~U+!X?6!<`=Fqh>bP(*pW zAM>U#p^LU>&)7=moA+zxH(`eYR(q!-#?RJ7$@lOLjciR+ae(X=cENV#fynLs6zL#j zb56app08lf9b5{8aig9FHV5SC%gScNB*eJ;vDt5;KEO~iG$Yec+B#ep5Kv6N4r-I4 zP1!jt+LY{Y7Eia?f>XFDJzd>gMxGvT!`Y=NH10GuTKd)P;UTZG^+~RdMG!SZ0n>B>i%(lmgbwv#MuQENr?hx!^Mq5Luia_IA#hZ6&V@Q zbeR4anjuYx$#o~0PUp7;15D=DHZ~ES08Z1Vv5D|Fu*$wleas)W>KpJD-&eNOM93US zS0U$lvs3r8AOj)FOHW7}9gi7QdBf_@JcLqFI$8CH0!mVMYu?hG%64#P!H6 z7(uWyZa9sP&6!VwcjM^E@Qm71Oip{i%d6le4!qpGDRFtK%vq0ObL)c)h|!^-vbn8b zAuuu5Q3SFfll*l0oD5T>zau0nJw9}H`{!w@XH;wcb7llvA|JbC_P1k~(v?l}FQ+(^%tMsm zU2<8RK^HiAN{jmxb)x&tqveR7iMl>ElN9(bxV$mcz$c+0o2YU4wr3Vm|Pe|_TzUz*J(ut_#dRWZVt!3kt>_yuL6?zV-9y-C(BYncq z;r+e*cFfOg$qgy=C@n7=)lVH9Jgj=G#q90BZ`l9`(htSuX5{-igW{?aXVh!?(n9QM zwWWjw2bbrJm>3+iGIu~yk~JVOFgPT}Rxo<9H^-J-1E z5KCgdxPi&66y;AtY>_%~uxYSr=!fnhyt@-n%Pe&aEL|{jPx|$Q8vVSaP-8r`ev%i1 zK1<`)eqKgft;u9?2OkFqAoO?|rn{df92(YJQ`NSZ8Y&A;5r%$Yz_=R5q#^lD;D!b3 zu)~nDhkw|WPB**C{BU0XaL&}sOmK%KD?|DxdWey|Mr5jk(mzN*}`q-3lVc+a&W7zWI^e42evAU4cyoWhmxu7LW4joeAdn} zv9UTIo6V6`FkoQO3~QXPuSQo^)^J`!g7m}dbOG`4uMQd%s0|J&*8fvDZ7C}qQ;?Y* z8?D#dta0|N{4u3v7U#s^*3k_G`S}G6RXMrA6Pa!(GBBRSAqIvyoHB&;8X<2Rpe4j#>U3zG&Y+vb9rH%J;g8>y><+2A3W?qfx3{8 z;$D@C5i*me$nKJvkaA}etq;mfMV#$Dl!?8iY_BAEhiyRXLXhO?(JUTXnlde_LUXXF zdI+M)7-c@r9`x`U=hYQ0@S%R@mT`xa-pu2r8-{8BMJL860>_$8fuJV@6-XxN;+UM$ zh#e^&X!R1aR60XIgfnjBJ-#!Br>##YDvb6d@Ad+YNL??yo|+<#;gHeR-#DtMhE$}c zkf*Rcnf@%S84CVAFm?fQKcJA zvQN~Qk!JAbcBPQ3^-rdVL2czGHaJk%C}Scl7y7|4E{*p@SxOd>hk)pQ+wMZ?QDGW` zVN*}?(0Whbm~ktwcyhjSpjANEuD z)BS(lW3kdCi<5VUTeGFmPKQ(ZGLF+n5#nbk@0nP zQc&O{ANaf0J#QPrx zPNDFF%PixVaG7&@R~30bvg@Z8+LS9FChd&Qm%w?=je~3W-ql7%a6XaB3*V6ThbceffYSk-e)xgV4?P8tt`lpY+S$5A?4o~F zb>jV4gzF^jVkhuDf&ZI~uOsPfpAqT0v6YZk@$^$$MOQ1y#Veh7MScyeAm%hh)G8+_ zKh|35u3kSicZ%;~vA{x6D>#K>z>BcSo5Ghc{L9$iJyl)fXVVN*`ja-C?}H~HpZ9xI zJrVfD41YiWK5>HnWwBj3Rr#@>jXS{)h0o!}uNGGdyHt7xFHm>_UM$fUFHn5Y0bP`P z9(&0deerYQQ5ABe$@I?)!3s~5+bFgvZ>gIAUrX^drOKtG4e-%oo3K_@2l&&BpC^P% z-TeP5^B=(Y$GjN$G1wm-#`qt^%H6LT-_8H8efXF0#dhHXiGOZ4s~6s5^}V13KFS4N zFaBf13ltx4iT-(hzKq}22mftes&5SV?~VVq(kSEWDZZbZ{wi1OEi20H67`H9H~m%O zUIwS_^^(Uplnc6$Pdy1>^{vL)iplEnfR{>e+%8Qh|F_}S^}^rP3%|~dFY1*qvHCLl z+*twV(y2axpGi3X3HnU_XZfQP4t*Hh2meFhQ~6hlgZtorNRKHn{5IuF>Y32Dp-R?X zr+1^G-@mHJt^jWy6J@-L_}!w3Io3dLuLK>hUtlfKLz?TL)L#p*8NoU{y9nhpg#fi9i)8o|DgXAe@3R?M(Kl3&;|c* ztNxVufqa^nzDfMNtz>!y`4{%V|3Ek_;}`b9|A7C1@lzuX=F1s79^?G1n%ZNux8p5Fe+%I4>Hy&XOzCK9U1P-KQhikunfwtm z?bUxrLY}qi=Yc5B_=ntc>3-T$I}jt|rGz@P(U_UMQYt^1ypC{xR7udNMuAWcbiK!Oq%wG;4?b!hQ)Ke!(%h zpUp1{T_VfZ)msK8K9y>FP8ByQ2MAB=rX+s zWAJw9g`Mez#Ls!|Fr(wZ_-~Z>7k*&;V}Bm_3B(!lk5OMMw+X2QR0_J2iNYP=->AIF z{1pC0~|AItnt#yI(rjQ$O z(EiG8at$L+)T^4oC!@X}$?fIM>LufYzC$^i%7LzgcjHfjANO}Af4kKGcvwx)55goH z_^21?(stpQols1MA3^C`={^R)SGg?Ao_#Lr8GSeYDscttm+&i9zcKpM8mPIG!dr~~ zQs~ci!3O$cBsl+928Z9#2meFibp{^RK@W*F>5Z~U{sr|`?L z6TdM(i}3?%@hYRU9(H1{TI1#i)?&Q)VmJOkz$N@Ch;&o=Q2g!c!fyO2iW#iGHz4=N zeCEGkyr6bN8N%%P5cIEwDm(DUGC4mfyu|1SdU1#vI z3=UiFaZ23;dseQhWcq;lCGh8>+{3CYw97bJuA-16xh??SgJ1f8;?E;bx<2g2XMW9H z@aZ@p(QhOzz4(#FC3`P^U=>x*F?%vjvM0)~C48~n1rrs|2{NDAxFo4ta_ZflJS5b)mBEp|?&o7q=CmBD~PmiKkibqSMhl}P8xQv)XqxyXZT^m;SkH`FBY!IkGV$(G7qb73`^f1 z|F35N^PZlb8U7$wTD9)srh8v_IVkvDgDxq|*0Ndry{_uP&TTKeJSE$?nfv~>ve~gx zY4?DceVOyr5zz%v z!Xw2 z{?@FRF0QBigP$Kg4tL|X()kMNN$JO<%AOkSGV1ZpDjCrnTaC~vl+RD9;P`uE_^ zQ84>Q>m!t@1<;Y|KL;bjGjjbWd3@DPe{LWAb=~-L`{4J~zoi#`yPEIDZ*k+Z`oAXA z@2P)Bulg6MO6hxj>fa$q^{4S9#2e6VQoP{=zns;-8giS={P$8OuM@lbn9bC{f|KR$`+mlU6PS~%5%&&FAXk8w7u8-E)cXC?e6h4XHFRXNi~34bOrOZ-4z z-k0@pAJa$h1^G(+P<@o}n+e(x?MLG=pQ=uw{hAfG;j1EBD^ds)9>O=7N^Es-&PxGx({oyYno&dOne}ZG}q{zVhI#ziF@F7zBksGX@ zjTpbf;b+V9DexzaLsj5wA!~2OFW?~ze>&`C7~>}m{Gwdt2aKQ5knaN4-XkQq6whJv zsQs+{(rCGwnPeHG1N~6GAh+K-)_y1la+l_5wEZOf<{o_Eb-Dd+$6v(SPr`5Q!B?)4 z?aA%<;U2X8B>Y)D_{haA*^}P*(;=TQW>08+Y5P4VwU6>Msos#&0@i-C-n9LGm!3=U zP{lOJ>ucusl`0>kehNX$p`IgAf4m2|&uf5JPo~1mPjNy2{`3*j`r%=~nwPr##kCP40h|HE~~W0fq=51BkM zy9Im&2VSrmc-Sj0tw+Zrue~bQ8F2LJ`9XbL(cPE=SOkmP1v|nIymHZXw|_`Ahgu3p*wH6rb5|iJvmz zea4UEchh;2g#RSWRmoW4ZP>r6LC*tBizD+jpB9suj$WE@e}P><+`fOSMBw)sv{Od zJ9(7D>g$Hv)K!Y*RMPZGFMJ#rR_wVeJX^8tuJ8oK$-BaH6mQ-RSO4N?Qzt5R-4&io z?<#fk!~CjA68|d!48^;-W?uqx;s2O=r*`e%;+Z!ydB;q@js(Cyd83Q9&npFLR?Q} z#48lCTqL7vyJc}IS>Tam~$G5#W4B}{ITPuT;na-nRX z`Fe8D7bdGUc(w)4+8$08+&KB>lS=kN-KiZ zJ6SHH2VPY`Yj-C+KIiW6?CRU$OBwxyMYqFuF42EQHr;|XOcZKJWqTAt&*F=(iS9mVz-vg(4 zD^=+d|7;9X@jAwT0pRyBxLf~pqnQ3d7Lwg}>z|Hmged4U$k*d(CO=88I=B9zEhHJa z^-tHMe|RSOERxK1wDzC{nXCP!ddPNHr}$DXhdvwGr#*DUC_j^YwOaJEa(d$<4Gb@c;YoI#;YmJLFFQS* z;RQ21$^Ni%ncnxdKMyjzEQucLe++MGZ@rfKALS2gIFOU1f2>@R+S9HwoZ>+XfLA3} zQ{Pr=Rk4){?#3<%tPgw^efutO_!)PFV@`BeIA&dUh0nbcuKor5V8pl`pTXOD!x8hW zWZ4gz zTV(iQ28aBae`ZxZEWvr`1@sN_mwYqTRv8X?01o=hH?yj?$#9jMzT}sw9+BZv|2U0u zsb6MQZI|HO{S2SNsZVBA?U3Os8GI1h9X1H{g(pDerg-i)_=*1kKlwl4h-KcD4y@B% z;cwpwXYz-~cso9WpXm*E{R{k4J8f0HOX2Ep>UBeI1%OjKZB@M|!>=(o5R`C!~{y6lz$nX%J{rY9DU&`$?n%O zO1?52-`;fs7cpd{V6o!D@?g|~G$U(y zw#p9L=)?H^fYL6kS8rgl8AYlPkHbg~osw)4mHj8+wXcoYK=*afIpFPZCi|d1a5{D# zMtN3sWS==7r4Kk{AJqpR8mW$zWm!X?@Ct&_f$;=wSNk)0{>pv>*W-ykxLmh?2V9TY z4EHyRi~V@jY=5AY=O|V5ouiD#?~wgRkUjMkzGF`!T;5W7L@#_M@U&m4M}JMZ-v40gWNOi~W`SRYmhv}Xk39f+rgird&Paqg+ zSecNYu!qU-zpTzex16e6YF29|FZPT;9{rdMt6V4%dOZ4CUpZB=H@fA-{2I2W^bS9M zfwaen&8L!OUYNfFd05q@EMC(a-bLjktx3544V`Lb?G;f(r5`W7-wR&V8_wnv%O%|` zrTD$+z5}^h)kbG;xD+# z#=JvSCdp8aBYC_1W7bhVE0 zv<`FHJXY`D*>A{5J-ZLCj^xX@u+plj4EGO;D~*42jf&1sSRaO#x?G%(@Pp*9E9T)% zLb{-xmhTsdVKvxRl5MpJ zBZowA!n(bF2^KqESCo^BTq8FZCnS&wTy2`pDI!D#H+L7xbw7i?)7dxfB_Ll2?{ZVz zxb?!+kUw{GQ|^_Y@h|pz#t#YUJks+_-TRq(NXYNcsD3bpoC4T1C5A?yepgMhQYDJGv`cS#V%Q0mz}g9IY?Enbj9` zx@+7`r@QK;eCFa1^~spO?Q;vE(k%=|2lC)+m^{MokchIcfcS|$0uo=WX|?LKZ~6GC zZWmTT<@olzA*EFXl?65-1ba@`y#NqmctmX;*UPM;4H6MzQVa5uy;A zjAWhiW3eQxBmB<|!rbtVFxsxJZ{>I49ZBzc5k^1<0-=4V1WX`XjpDrYBMZbvBY7ZT zLT{4dKg3Jn9pPdzIff4sO>C?Hg3~kS`FjNu<1K@p4#O4J$O=Q!4=!DN;MpZhp5^{n zeBi+1CC@$!cF?cW$qMZGoQ)Px5P$sS_L3FcO?udeC_Z#uA(s?C&|EI;-bt2z<#fP= zY>0|ybWCJU8A_DSrpse#L#i_&xGvc+TCVa}V_zHg>L&V{Cv6VSwAz4AS$QMK_7! z6%e^5(WOV@$hGQ!yhrKM@ej{^BrnI_;u|8BTVy_V8)KSy8n!nk$7b%LD% zw9p(-+<}LW9p6euh~c+xkq+9|v1YmfXPhhw6@DPmof;$6`vKy^-vx+^{RGQg@hS1C zxnwWAX5iKX_b~~#ACT=xOdmp4`*nR5K$^Z4EMmmZ+EQ3nGNEu3#P^c|Z9uH~j~g&EA~e^e+>)I1$;(G?q>Dtyy{FL*T=eG?k|9w( z+O;~yF>Tk{VTs^Tp*$uiR9+a-F>6e|0>P(&6^sbZ)_O&&}hOJbQ4dpzV5|JiBD^fjjYS{zxQB zhbLT&dLQtY9(;BQN8TdbFgiR@{?R`CWxh#^_Mq(pzB$F0@QYIU1+drfM3pIOBt1xh z!xNxIY8;vhD2-E1UVcyTDRoHteE}0%^1VDKw!B?A?$-m+_a5U9wNzBl0gKW8g}!{(R%QFV}3lx`FNTvFgZAP>+4i7BW3w;Qe{X8O07tfDcJBrhG-53EwNfeRX20lc2p4k}eX?E9~wv3JDFK{1V zcc+)I==czWn3f%rnwI;-(29u2ub(X`E-AJS(Ih2KZ5%WxBse~yDK9N8F?Wjc{J8IR zo}T4p%U5pp@dnnpphD@5gJSYSiX$s0VmzSEtzuJAEup~8q>Dp6S**Q7JALz&i8)P8 zbDA5Pi9KG2Bw7zH+1AkX+D}dMJUsmGvxi5(5U@N?kilg-XXuB%%+9#;nyxo%xo9yt zXjl@rO}W4GSMK_>H>eWxOlDf}-48xnIv`od%I!mt^g%00iG63e%h1#;8wRSzB4n}^ zN4}HPxKVEn7>GXu?~96#8Z|OIC#t+7C%!o&-4Hsx;i-O~pU*`L;Oxw{2A1DDRx?F>`5Rh`D33bG&^EQU*_*GiPdb6z=g>_(9MA z0G~#BzR#Vxh^B3DE4RCi18A}x9vLRP^A(^XT#dbdLHU+JW#)*MS&uzcJSZ(=?fs`R zbC__;%T|pXHEeSK{IKxY=*hLtys!{!w4jMK=*!DDE*U(yq4Dg+`SU#b`Q2}K4j;~q z&dHuJXF!fUdtS4{0f`aCTI8-ctZZTy(BEV*`CI%=nI?a37`aD$d>XFxzDL<4o*plr zCb{EDE|ojp;XmOI3#oKW(czV~ysh&eLaH&bBsjAJzF z$aT&KIcccXvf`RptsPAVI~Yh}*H4L0_@u+Tc~yM8briXtNBX_}HtCmVcU(Mq;v&8O z=Q8TZT0{yOOygCjqd2g7K5dR6eZg*Zhaq^}IW9}>Zt{Q77GG3(XKYR$E3E1=9FbiNBR_+VkFiiM>N8f$18%E#NGQ1<* zFh7+02ZO!T4TE9g4|C`6?#n$elFJ_^TLJrP4@~h6@YI04(haL~Rd7ChJz%f8VXo`0 z3i1$x!JU`u5s$pB2e?|~I1TBB^#|-MgBkn4E-_eaHwi zG>2?rH;e}_Qz#zyNH;9nb(37>y@8h`!H_fVd+blGW&U(5&FoCn={CZ0jd5o4r1KtQ^H6wxQ5@7Yk`0X{|jtBBZ8A-i|-{m$HbcQ-};@BP2; zBkbdU+n>_HYIkV&R;^{wj2yHgd+*Q5>lUS}f_y`sN*~ zsa;4rd5SG>cm1DDx{J#j#q;8mUXNlA?Ap$CrY-0tejoQRk78|Cv-s1j^8>BLkS|iR z|8~1o*QK|bHeLI|(v*TepD4q(t*SbVIbV8N-1tR2CjPa4P66A&rtbMrA1I1n)|V>{ zSq|$Uw&DfE>2abDpOVEM_~Uo+dY-}8zu_gGfNsR&l^Ia{^l1`T1O7|bXGJ)%k&IvG5DEp z#5BMlX9r|C2Cy?5JCJMP?#DFW)-;)O_BiIw* zq6&I{cEery0Z;W_J@=oQIwdiu!_!Na&J{oYP`^s;UGA?DU%mWRLcISwxANr!?y8+S zZ9X(^e3R)J&o5jw;r2HPm8!n)z7yr1{N?lfUv3^-vEu!cpX}VJPw!n~cS^NtS1&)9 zG0|=xmXRJ2F|qa7x$W9_?y`xsX%G|r@yYh-6Fsg`?dr?14!7+UpQvwPtmBoZ(GgcT zUl5+M3%Y^`D0vq#3LW~DM8~G3Gde^~!6|BLX5aj&Po#}WTR-K6wykcg-PvSJllE;N zn)blNDlMA~zBah)(3WEC)d{_yXq((M4$3}tpi|srQI+!F#7j+^Ud*p_`wxewHtGAw zo>hELSIX?WS)5jq(G9k@N07WhBKg^pGKV)h#_cg1ArVDy(xY>|=@l!{pp4`V zD&x|%E)R&|of#XEDL#uGHDPau`t_>i9d?U?mGzo59ktf;`MUnSYwO>1VE@CC?q7Gi zz4qyZ2j^(ogs1xrjBzz?)JJrj$gV7}TXz!clDTX`zvM1#0{XnOSY!4NIfjFc#YiKO zUy%LYSZ~yj@;Dpzl*B_RAXg#l+uV%-RE+fq0Umwj4v=2fVNu!BdJ&60D>7C?1_Ghsf|8 z9ps>4v>CeX(2Ez<);K(VLTcQ+Arr=@#UJhHx^GsqPWTcl*)6w->Q=q*LXCCxk|KYd zEmj_{VcuLj>0vWjCq8xA=@D()e7tn{@bKFYS@I?j@@+n$uR zVkG)Jir>e9YQ!8+(ebd%PB)i>jd(f-nYxhXQFwm{My2e-EY`iYerwTEcK=JP8p}Ad zbCP&rg(#j?Z}6}AFa0{a_d}munD}?~wwS$*uj<-UoD(;`6~mVg=-;{X#bKjoFPO{{ z)_?Q~dROS$0crNmdLOzUHym2&Yaiu8gsLSGe{pMGE>$3Cte4M^fsm$NeTOvQV z<-taN0lq8JnM>jHGDGXI;{oJj zIxiisQ-|@26$d4^m_FF!shiX)hsXAM{ozTI@~)3Kg7!ZQZD}jTY8(gD=Jao z_Lt=iK1!z><*NtyES(O29q=pvRk{PdyNQ3jI=S0X}3yK>A!^c!#` zMX7Ys?XM?y_b3-VC*OPf?%NY58vAgJQ4q74#+Hr{hm z-wGH!KNOH=^HKW*tguOd6I+26XjZ30+Dy6#D45@4QtW3dlzx z91+z`92gVd0}G8fOg`*`Bqmt_A(-sH0n@s_#3pM5d{Lb^jsjvTG?voLMdA zGrY1ioT+_9gEMabA)|s0c=mn8ww?B{?>#$&on;kx^nITFdg9%MysmhUFVKH56iL)( zUrw5&pV8aWy$`eVd?o3xah8OvyH;e6>E5xn6fH30bZVzbj8T;g#yy3vB3eY0dpBV# z@bF$HIZD1E`hM>HeBvo0Y=%J#;l6-{CHu9`Sx?diX0yFPjhi*nbb9V~9xydXpV@K%B61V5@odOyeuXPJSYo-#kJ`|gjmb9S1wg&c4eqC9)hPG=S3 z9@3+;y^!9EY@-cvr0`7WjSFoD9!NcAyeST^JY$CIz-=rp)@HnQ%!^n1$nh>Y4PI@k z{)$+zf1#@*^RYbs5X;-Yz?CT!{mwCQRV>eN_nph)j0S@UrN_D z)nnB4wWyG#pH+ke4C)$9?8V(MwM)3neMzvFJxkh zXu~33MA_PdEbu-yv~l?A^3>W$Zygn;&U8F0AO!2J6Q7h4<`(0eRC4Q@Rv<~a}6Km0~hVpN=ZT|^2aM5SaUm7aD7GF*H$HkAtS=N_z zp?AP!K%X0_nX(6qr0FFL^$n%4BkYoxloFj1>uRnH{&w-Urjt^yve%}emc`ER_8qrB z$8WMmgWdd}%(ZX@iyXdQ)~)!*{+)N(KOY9{RU+G78+^o~Z+F;}01c63yp%av#gLqa z4K{^Gk<$$OsV<7%cWd>xS%aI$WwLKr*EuX~^#jx2c=so9u3fuBKW+ar>*!1G4Xr$x zjT!j}yYCRFJ2W#pz*K1wAue2+9PBq{mVp(?ZOK)yda0+je@4`w%hi$ zY72RGtOr|>SsJE;>}`wgoQV*_*~<}U__u{(FMF{9dr|Dg`V~Y>RloKd<@Y)@WX5ZS z5lIYW(ZbF|u$RT~h%-fZsP1L~{saTQ3lp}?gV%I=XNBhC-?H9fbOkY*^(Oem7Xkmg zq{o?n+$>FVD!T$%wDUpIv@ocL$phi2f*T8k$%!`4BFA?u$WZ`VfNX+e;{J``G$KL? zwaH=#1%WbeS^(8f77|GhYh>%Ky`-Kc9ugc(NmA0a7)^UA$3J6SnBw3MhKc;MGn8jU zei(nyp@d;%%$VEOOM60nQcqvD$fuA{ZJTt%#Q)AQEnp2U6t}e zG$+R8NJvUx?i}UmKvs3)4F7cYSeSlDB4ezvZK76SmWg4SLrZd{yR^okxzwwn)Jhru z2t8>lXAV7HCCO#!iq{nbebM*5yn3PTvn0ZM7pz%CnzN%La|Hy(26hxbN}c!-Iw4`X z(x`kuF#vZK?*&j?vqY-zB~Tp;W#M4O5n%9do54ES$0-G58(gNO<$?0__LkbrL2ufl zm$)P*eHD=Xuz_=P2e#RHVrQF$ISU8eq09c+8T^eveGD5ouuZpaNL@r135glNlLb5- z3_S7(YihhWJv)h}z%leqNp5S_n)cB{8QJ{-eBhk{fG_b3%$+-Mm<67{F)Sl7pk7wdf+OAGUyANkEpvb{2tyCAXelx_! ztnm!7+keCo7nzzI@mU4&SxyM&5*E&Sl6DGhKb$2&;y5|Wvq?Y<$~y|9Y7I_-ypTahMn;@bj$2&#J3=xq1=_%9 zW9@Tubc|`q(O6X(kYdwD?bzauEic7xj$Zoa-bC`_yGG2jG*Q6~`#W;}K5 z?r63|xf{UkAb5Zq(i;I{zl8wE>hcU1bcyrOU!f6~qC~>W$T(*jn%?&pov`LhNDedc+-` zaYOlA4Sn1XfN>T2ehNNN1OUnf2!@RKJM2!O*lBXF7W#&%Hj_irA;x}3xl3j_i$7Qg zUEO!+?(JA;ugwL!FFWNVM#}YKlE@X8B!c=WOjJgOP%3U(c zQ310JC_jp@LY8eJWp&j;ycEDdYS0;B`$+p({X*h1tpF{uP!|PA(;F&}vJ)11o@db6 z$u>pnuceluvsp++b}~RGzu;d+blL{9diEr>5532k#icgpII+;`6;j*qv% zh8-KGwhvG+WaEV!7d8&z?tXZR#C{fzS$K*>g1ZuM2ODr*2A}{~1IbDgN&u>fg}Y5C zvn;3<7SPLC75H~swKw2%L5qSOUINT!NiRkKEd7IRnTbsF{x*N}19v?_*pKBbjpbfQ)w8R%w5j_%MeN0B^dWK@!xfGeUp|zy*m= zewz^rJK%nXPyu|Mct<(ju%nNHAAydh6ZQYLna>y^sp}bkHdvP-KuL$J`W*d~Fv^S|- z@gInZoHSv!kuVbjXO7H5xe2ly(eS20i$E?a2U<>Q=K-@WIq2&?6)qn$}N7@^k~2h>4+lG42i2zK&>zROc#dt))K8?O+?Fm@;ScEt3r`r|!$?w!#4!OlV(@k-tiWM_ zo+O=H00#UR6Dt;p#LxnT^d#j7P=pOKT;xHb4Pm)6$RvQh*-FHwq_9mtXR~N zpn1fk<4g4iGcxqe6rmUtq~G+@j97pth}o(|OpGRZ9RULT%dC1+9`!d<>w@@8DFIpx z4h3jJU4_I32(BrObdx$pQi%x&#i|383<#%OT##|&;!o{0FzzQ_rHyyME2+Zp#adtm z5&{ITDII6{bH~?GmgM-4^M~mXmi+jS=O{~RjrZryP&%ThZA0;=GJZgCWb_~jzD*N` zFQrjAMbx7Jf`Gtl{^K*0CF5)Pb8}2Mhz&fU4UqK6U_v@ZLT&NJSEl8bQ-q%-D4<8_ znB&i_HC|aV!+#tkP>jJ|!+?_@0}L@3q19&i!ZA%{i_8R!(!84b`z&n0CWS+-}<&LoTwU4$xzs$+&PSA8#|=#Cba z;Y(AOsGIcS3VN{#B-oC~Hw_HQ(`zU(ShA25q3}k3Sgyj!$B*FOaXRwZ;8_}Q ztTCg7hsN^;)X?Fk@kl!_dH|H@Y{`wiPLR>12W%Ft$#v5HHd+nhH9nUAi#z49>&njS z{=-)-2+Ef0h&j=}02hUYHZ>rFAUtE039U4-#@BcPDU>S9&t3OtUst*TgAoz&54{fh ztojPVOOs1jXc>#;*W-zjQMNSiC~*X;$e_=ZWe}dRDux!oSpGMjK$`R~q^!crO2D+e zR{Vhm%`n(07&leN58c}wvY|vTU+`nVI(+Hk{l^c4TCIcapRQYQboq7o|`v)Kj0^WYA6Hx zV~wN9my3k===G#0LB*kyvL8yjT&f8BggD7e7 zQ~04$Wwddnn1db%c%gc&j1^BdIYRI{y-8*H5{F3;JZem72G_0~!-k#XeQ(~>Ume5y z2G|6R`S2YZU_4n#!Zub>nSx4^f{TMj#;K#v`G=h|MJ&Oe!{EElWX%2^Anf=_N2A1+|ebHl}wZcw<74i0uWv)Y<9j1a(XhkFA*8 zzYrXDL{n-=9H^Yq;GGgJP#k5gN|?%Wp}_q;)envVA;GtFs0vmhATC@F z)t8oT3MK~ah-5?W`;@hyj)wkiFvYWB!|2Q#H!@$Yu#hcd^=>X#<#SiX>8Xw8@Q8dHU-lMf#{7y}&Rre1uVZdh44v zmAa@n(!YTHu7(}Rn3HzV!d_aJY{o}iv@o2e47>>`i1OpLpZ1tI8RJiHK8ww9CHMNe zSF(#Ov^oW`(0nAG;E~tu;dSp%Z5)2py5QfoP43kT(*ssm$G9yF535%%Y?u5lIhLzy zj^z@Ku^iDWuG=Tz9bDmvh|)YqV1xooV*1v>E6lCUjbKB>)`+>}%>2dmbnIuZAg)~Y zJ#Ahn4b2Pm0oI%#d@hDSa7eHdy#eNWJ}lJFTYWBXUP$vir9B78IXDIY9E{;nHXvZY zoW+|Ka)b(vj#WQj$U7R&f+Z({N%dvWLq2_IT(A^XA#uURg`%-V9s3y61tedV${??# zX_D8tQjk+5&*k|l7T=|LC;z4d|A1}qPq0E|K)7a==U`c~Am=Gm9%W^M6-mtUIRLFZ z>O*9+i#)Df0qOL|ZE5+G%Z(NPZh=-_5g45g%_)0zm!$DK%}~xPuXY1a+yIG^E{Y$~o?K2RE@0|N!P`@@b%iPQ#lq7a^e=ZEXMY^u zrGKe3(|;A$v`=-xc@Yc-@id|MTjdP)&eW9anDMd|OjFdc8{2V{qnwenSRgGGv-!~u zO5q+i!sk)^c9kk!yQDwcrRlR{4}K>8{ptGmt`&~Wix|*z%F66sQ&#dR173M>(c+m6 zYquFC&WpR^HPPwPD}QHf$QLu`3Gur{^D``c|w z?Ku63KUo~kT4SHKeKED+lOGg4$rcgZAM2krLDQ88XMgJBMHs#P53)&tUy?25is)7X zZD+@3{uD7xJanA5-pyNWQQP}YZ6Pp3SE>BWi}lMaPEGM2XRqjmTAcp&ZmpT`l==;_ zGuvgrc4;d03<(%@)QRVjQSm8sMSC6a8;y4iD?`{((PfXgw0k$JyN9mxK5yT!va-fM zrE9WJDZRW8@)d3)o)j`*`oXM_Mbc={#m(Unphn# z=_n|uDL!q%()+D=PEx_Dw76IxrWJ}j*AUjcU-!Xm6I(@;mE@P^<&xE?NUp}w6*?`7 z79}P%W?1Lfg&o}khIWffd+1u?@lR3K5Wnh}0z4O6Ade7+%kV4V$6zi5i~&gltXz=V z0VJ+OOwvOP5ym3-bOYfS;`b@=3#1Q$-#y>07EiE4#4l@BxnZhU9Vh7k{+g^o3-NCM z<mT|>otU|5V1(Xde-+ud&6y4epK-zCd~Cn`ZuXb>Tx*^`PYpE||+o#y9H^M0pJiN{d5 z8-N(!q?35vmUv9t1RAgomzFv}$Z=j6Ew4OiNAaeGvq*K>)U2)%8JT*PQqTX6GOKNT zM3=1Rd|}FZ{{-!fSo2k#TK>}sx|dZ;_#aWbp3;O~Q%kTf^Jdx={s}aW`14-Yc#+_r z7`Br1`wH}1u0u9FFfx>w`Xja5$(!jP6zCt&50z5(iP?o>HhZ#=J<0kNpe-5YJE1)F zmLVt7#7J+>fW?Y6z@ zI<>D{2U3YS5?paEEvXS^(Xi+CT=Mv%9mQxM4$;7KdMd^s-pY z=3RdD$kE3xvw33iWuljjS6nz(f!^6|vtj2u)=l1Q_diM7Iy?@z4GJ`w=FlDpOul;c3sq}+2=`XkA}?Rus$S# zsYBn$(f4!^XXaJIeiWO1-iW)$l$=JrM(M3UpDg28h%#wF6(~hJA&kR*9JQEn zEDu(1p(kj-(u@nafUFb(vA*jQt(HAMark4i_rB6)d1fbV)X-t$#*Iy@F>-Y8?tKP0 zI)##8?@+z^BD26SR!uDTKUxcFShQzGVwEQP2y*GP4ZgfW2+gKfpg%1J?W6TX2XA0@`-T$0~>nA+Aq z`UL+{KZ8fU)5_)(dM(~=Yz}w?7WD$&vxOes3l_278yj99E@BhTiqFM0b+@mda@gOE z>aIjyh86P2&BD&&tIk=mzDV8e@1`8~QD1inw(lxzpQJ6$nHm)zt44W1S88JxTbZ%P zL;CH{h5z$Bo~O^}c~-wi*Lk1gKgsYC&P%`o=GQ{Bd}3wJDxN&wYfQWJ z`YkHj!y_kER#oR4Z}l9Tnc;0(r9uT!#P>~Z$rW~@U;E~56XU9M(VssvRd~gyzU^DI zy{~3eUx<#@Z;F-nm+X}>cXpI-#k`t54ABkad3dJrT!WZPrjtHUAA`3m8~sQ~KcJx> z;h)m6EU^FGg(|y|+otXR4h9u|fo-{2*4W7rQaUntO&yZ@kp;;7^_@^=_@7oRc=~*~ z8V11LGDx_+fG=J%sBZ_gqJgBnJliM0%lGID5kN5DBbp;aIi*mz?!lyXMe9#&J4r3C`I^l2GfRNvUjW4D!%2WjiGu2vK}$sq`20)`Ui?O&|4?)nW_o z6wsW><>E6Y92(o94iiEkIYX|?LbZIsAoNZqaCLtPEdMK>Q0fiZVIn@X;QPa^D~pT& z22UvL&}(vQ>F-{60@CuGHW^Y@S#o2|9Fvq!Ab(SCp%y7rZe;H0@3O^&^~;{M*io`f z=;CGbf_o(zs-Mz$O7IX;KNcSQ2n&JrTQvKBMFd-5OM>mbM)m}65DTo8z(QpVBGSE= z6_wfM?O{zsm$Q7XzetFAd&H;g@LByyWix9#?lR~VXXr=T#*={630DsCMaU}1K?F&` zB87hW#|7M7pdSs4Khz!Y3o2k$4)-vOl#m~jKVPb~4c(<8Di>dh>)Y5PJJ~ef?M*O2 z)NX0)gR%;hO~7E!nT8=(8q=Ul{1saV>lG&tTbDk(D~2^6o8p#(^UMJK^;0HFvzM;oLjHyyivWSsXo8M$~9gKFj!hs4XC{jBFx zK-a#*R8K*HL)>V=BC5Eu%`k=xAo$zx2Fiv!urqCXTLkGKPm=}@*#qbTkQmVeV_;7_ z#=w;UbFhud?)Ci!^#NXrAe;x{7ca8m`g#7yG_loBj85xlceVJ=(=^)*CCEX%@>ap$ z{2lX%?e_H~&f@mZx|VF3RlYgvJ{ z{BdIWj${y5gshK{HjjX48EiqT&nJ|@m1o+Q*z!?@@MYkV5d;iW(16M7FU^@!L0n)B z3s^(^tS*g=*%`u!4aBE~FchQ9M`*O2oABK+E->(TJ(o3??-_NvrWW{HqmL?)$BJ2M zH;aB$r~97K)FOWYl*zCIsOy_jhhTL`hpLehfqKL0NT^Vgh8AQ??@E-hFqmZwG!+Z& zO)W&$c*9LJyW}*7GwzZBQ*#&HRA=~}205VH7?;R=m`enE&J^vc0Y-ECo>phTx3$JD z5wN^9utOH1%_y{V3}6sSi;c%*BgF~rph|io2(eQ9t~u_}Dr2HASrJJyP^Yow{kug67h+DX;mvQCN}Md_(_0RR?s@T4L!~*fX_#Tg$I?Y|0Og@k@N3m#D)#X|*zDJP= zS>!u$!z`lbuxLOBBv{sxGK{8mgJtNKl-o5)E^Jd$Vp)nKD)E=1Tp;vw{=GgDS2PT5 zA5kuKt|Sej0kb5_L%@NtN&)=`kgJ;R&PH+@R*AbnMW2T-(R#|t>V&B|$iJNi(0qadJ!*doPd$NYLlS^*(x z!7LQTPVvo9-d}}(E>?+HHidnu$Fr&I3$edr#=dVp&N|5T&S+}KDFP zGv*HCvk!B8CFtU5`gXTNh6gG;YtA%o-V6Kl6nHAO=1liOxYH@@$S$wgqvi7&I&TYDqSfT_5<6pM$BbD z>u-x8YuHjT5Qf<3yM0qV9=^~ z;v7jeaG;_g~LZY)9a2!KJe(l%Fpahz0rLm!n6ygNGeGs^4MD^7Gk3mbYw~n2)>Lyyk1KiHiC+uMzEb+n+Y( z2*;RLL1ecTcJTD1Gf<$}UMFVAVrgQi6?93?5XI8AMmoCOJdxaKTp%%nnQJL9tK(Cs8RB0-lAjT z(y@h$=^jNojzkfC->6Ig$>e{c@W_sOI3N*7S#KreElnl`Eeh08tTt~eM$0^Gudpda zj>*QVw$zYm1jHugJOcMLb+WyRIdRaSX4NW~Ihf!K6E-a@evvg<;EGJ7*#hwiFIo@4 z%vN7i=d&F723&W@Tm<}RnkREbr8RZ(S!Llm@{4|tU!?0IlO`b~Tt104;y7QK?CWlv z<JgbfL4YFW&Dn$@Z9SF;0ki!M5FYz;?>^p6w#uK=YH$hZQ0&Y!1L4TJ`|z32QN) z<*)^8Ia|kGVSCwe_73}mea(JmejY{|mF#i4>*Mxem?qSIn`1l7C zSU2NVbTWRg89(gx61V2ll0WR}1YZLF-+7?CyjRP6SQ0?|J+j=Z`2V$>#apd}ohu@d*jf8Dy9Oxw|zXK~)nHv`?@3zPWZyt#J*%-MXnYy7_B%O-Sg9b16uCN94D0 z{hxpTx268u{0IL}R2lSNNf4hWBs?FR&^1Bt5(38*k72_rh{ldywttef!x@`c5{DCM z@m-%C8Lb>0&5p#1???N>MvL$NDL4~_^d;@@KHabMa;&CuScVNoUZDGLDC^jD3}qDkH}Qmi%TMQ^pd8DA-NqUK_=0i!&YpGT|B++RvQM}HGhf2= z5Xd+VkZCMu!J799K76*ok$=O#RSXbrF_v{?w|JtGe1rOeP+HO=70yzkTv1N=b_)gz zf5En61w@Jqr$Eo>Oc_a<4ft}@!&izp4i3Zioc-e&naAX74#^naI^G-sAihe^I=$Jygys=s}74JU)4_FQEQ64%rZT2yoZ1e5d z%$E8M$E<&^+PrVvfDPbj2WWZ-?wLqP<85|YwV5VfiX5+ZT#|8w`(AA4-- zgTj}Q!IU0TkBzO%&%|b|5fA9!@rvxo@b)S@-f=WLz$@zCi7xB$4gvm(aD$d7BrQ&y z?kh>b>0VCdp_Z9rSvB$F(YezcPuzKKWA?axo1gj8F~;Ek75z5oSt0qyN;*(}Ourp& z_zgSs8%Q(wbK=A`xvUV!xH|bOfGNIZu4A*OfxUSf1_0)&f8SYd!SqX7h(`qIBv&!f z-V~2Rb=W1xcq_!@)^)*S52j>f2;YO?u|7ZJZM~iyF%-Y5bLA)8-x(KeB3&H<;Y?pACHm$atu!Cr|{?D?IM-dl{&rlPw#$%^)r?4eq*mezPztByMsimIc%)G zhPIFKENud@_b>kz3U^8ulOeWS^b7@B6%ulUXNS7%YHWB?S{0CNc&Z$ z!Re*6jclOUfpTDaEkEiwC+h)p@~Q>;+6u|P{}XBKoW52Gv(gZ^ILF$ViAo4Q>4h=i zgiz#1d5xv|e`59UNhKoaA1a8-SacX=K#TQPqKqVt2$V!BAvBuhuqhq1(g*a?KM-2c ze_J`t_hZrHIJySD5c&i7&}L=)g?JICjZZm+)#4ul@}#mDizwJRmlE>voH%&k;QoVe zSR6_oRmtQ3NLgFuKxOEk+bUOrOQSk$YAIfUm$b*?HiYAX0&Oi%*8hnYR^nUBVV6Y` zg2DKvwxE{cUBWRrFGm6-iN6FVbwuh`z~=F){2%%!`dZDt+qaGIS$TeyHcQrOAkR>- z!{?_wL{mvP?3{8R%x(xAGfxPdK%M}c;+v$i&~<|zM1ml-3;caRAH2J$NYZ2G34s&H zqq2cTTZkUYqlAURVdq4=QnNH13|e3ZpgV4k3ACSg zYYmI)N}k!qKsq3p>Ci>>v%4P~c0{&$vplQ?y9z=~00e(yAYIn8k!}GXI!T8mzpz=P zy|4-f$D}e9k|7hRG-dMvo|KG{k7PrNW9kj$hv*BX+^HgsCnZvYLY8 zK<-jB$n3uQXxTy70U4B_!4iVZC+(3%E9##lpx!lYGf`RDQn7=1L+A{_511wLZ3@&q=p>n{cS%P8@1ArT_R7#F z^?#w$s42rH-);Wpq(%SUFGU{XdCreUj18UfK`STLAclgKi-2`^a( zE2oGHCA1_@vc4sq(r#Y!e-%n-Ft14`LALOR5NhfMcsOg|B zq*7$$pyq~Z%04L|J6R4JcpyFFk5}zwm^-s?QnNz@7?ec-AMBX4CnjgTf-RM_R$7%% zxf|txPxfuVX|!3Zf1_3#=v_j~Nj|sn43v>_EG>IW zh@^m}@dPAjaAfs?Qpf*FmrR*kQV5g@C62@9SYsoj)x(dsYz`VHjZP>}aBLFL1bCT^ zd=B2w7%rJUI)~m`V_pCdXxAiT+Ogf1l9DjkY7(BS1Sia z_QM%R?Me95UieY)X27TRg8Bx9@J#T5@2>0tEk#+TUMK_Mmm@FrBScA@)2&PfgQzb8 zN~RBHn(B>Y0k{?|$d5mQeN<0XCW}}x6Bvm8qAZ}GJ{tZwcXN6P%7;bVF>!;vJG2up<0r5-B6hd$x=3`R8tS69-1W#>7X?l z@*yoS^wF}nilJvHqe1%S=+=;u#D`ilBqepo6jo6Y0Wmen)DI~$!`7I(Wcj&LaHcw` z3*qdVIs%+l6hO+sXftA_6d#n|@S%;SL$M08jgkE1=$~W<&%!J#rB13AdtXQ}Hde-ron>DRseYgWwA_hWw`H!_h+{B;5ysfbvTkO?x3_ zNo8PNB!yHOmczeB(nt-G42VgiAxhKUSoJ4Mn`NcVF+4YDAR7opL9JUlX!ZYwRvC3} zY9X40>|L!kK`|erttm!*2eFvt$hsLCypptC;vzi`;3JuUMy$n=yqPTo{Lx>~f{>eO znKfxjB*}(#Gj+y-6H0eL#wHDxpv}faBSlN#i0zoPkWM&hjRPnG4fuoHP`A(!gDdJc zM2=~DE|{RDj`{mYEkT7-+q2lT+8%6PMS^ODbnOUvR_#4x2X<>eIcNy9WyH%1p4dG< z*I!`Ng&7BtK0%2%Y1PJ!28pNG<2#1*rc(1W+U|bh@g1_5VMk>90WQb_lh$Mw5Y=?E z#|I55AbdXqiJI*D=Z?ppkoMB>nTa+p4j_^F5$RRG5l;d`!H_|0Hv1U}s7UU7N!uFO z+%{6T5Qs}*Q`EcreGW5v2r$JV=~#AnQoFV_eY1b|^r_D$}#x3brb zbcDZ*5G39kL$nH;y;ZSBa-(sX+ul>ym?nI|v_DFw{UNZ)!YqdqZ9~f`Rs6pM(zv@s zn(Fr545TU5N~CGkNHI*9YONA!_F8wZ2hy~-5^0XOJJ$kf_PQm~!s`Bc$xPFxhooss zg)Jma-5!#r9xsumTnkB4ekqye3QbEYk;c1*r16JJq_G7dX>3i2G}|F74bA;sE2+3x zaiNaxm-Y5H?D(U96{+4#zKl4waW+S7teZ%}N{S|69U4Uz&t?ApZ};l<^Zv@`&!6{K zc~|+hyh}qbNH?&Wk-q6OHE?y$XGAmXGwB+5jKYrC7Pbe8M$*=1(nRCJ`1?OT(x#th z&xy&wk6!q{KX?~aFeT&z)eydtfB&~9;MWo0w;EPAd%-ik^%#3sX*3dNeyE0wJ`UeB zAqHDp_Tzq+{_$bw@&7#dI)7fNd;YwbYW4)A%l)UTHtA^=SCUiMj6b~m4HWO5($!(hUsdz#3gAW zdsiYq!IDtQd2Z1K9GK%fR;<`R)e^|Q;4}>9F?$WaJ@)PwNW)xVAPtsWg9eio#TJwF zqIYN5Yb?`R7xgKVm)1Ag5`qhmJc={29*eEU=$keCTAB9s*Zx&s&tTcgG?p!P`d5ja zgTMY-nTf|Ml$r9;3bB*uw(x`Vli%!XN z-OHU}L3(0+*Z|uQtPvYcZ)np}(&DTS!!=H{EAc7)?7zJycntN+yYJu6;`i-ib@uP~ zZ`>33$71)J|0vb?M|q5YEdJHNKc8x^@sup5T-_rY?-vdCiH7?{<2|9b{Ae)gudY!< zd@eOCEJSv+i?T9KNu-ss*cU)r%RDJK<(v-CN~aHz;V^$p+GekE34uTl7$4d;XMWP-NMCke*BALf$=5!`TlDU1Nr_t1=l?ff;1jvm4N7K! z*u{Q*5mUT=-`7k%xxn|p%OLBEmqG5lmx+uJU7~flmC@_aS>3VNS6Nru;WWI}GQ-v$ z>rE{^8fqJ98*7_rn`X;FvyZ_mXK{LTl0#n6mr~-6o|qqKMexRYn8Z?y!fC-LG8Y~r zyY&=zT1*P=q}@o)O`DxOe||FSIe&iIY9Z$5&KGpgZ_0ap{=9kO(7bu`#i9B0=PUX1 zn#~q^?)+SFfW8jR%f*+xoi{JH*fu9MH(7mZezRn85V=tVzz);ZfwVQL^ZD_4$;o&~ zz*5(w&1bb!=Oh>9<5cOCX1S^Q*Ff8h$Ve5%DCmE`+5CCUh>TRB8w7w9g2ryIjm~tmt@%ypTNUqVa(qMOKw}xSN6}SK94CT&KN>%@(W?q7`(f+COG{K>q zw3NeMVkupJz~B>Idw~s~X<6X7&U8w<3GZyI&jh z1ky_M1H6j<%MAY8Q!sSdW?mc>1bVy{J$TQ}df!yGOkE`@BASBffQ8j3Ov4&lED4VE z_Z2@WUmLkYC?neJ=!d-Mqc~{89ynU6Vs=u17f8dbaf~-yc};y=f6@ONWm=}5FM3Pb z527nt5s)`vU<;j{`I+AoIMHOK0Y*B(;5aQ=sFdj`zRmxgly*rvoXjq}O8?K)9!t{^ z&J+Zq)VF=D&{6i`vC@CY2j^(p&QG|-oqF3m2AdZHe?SPF__dqfo5muvN~#;gYI zRE&?rsy>`GhE;huDa974;rx{J_{apDM&htVCQzChsZkos6Z01=oDWmJaKU^my6mxa z+xD%jhd8ix`?js34SVwJ*|*NpiD&pZ`xEcBx?8u^`eA%4&2@fy#E8>e;M-TMEV({? z`gMOUzGWK_amp?GEO19Q!oiBf0@{3m@7toHsHiRSe}J>)TB-@YE51+EMzY<6@_?PE ze@*i@_oh-=^VgJ7|39Oc+4Hp|^tyEJY!XJJ>G0S(!}`*mWe06!)@T=V3~g>m(6?fxr6ehGeHu-cZ$u{yo5HmoW!ZIr#mu+IZ17tP?{LIt=kD%;41Qwl3EcF zQ>{JzRm+a&CTRS!-WvrNpZ@%|ldd6&z z6su^Hu{6sSx{vyikJu#a|CsdAN8)+$ka(W8XN7Fi#~vrfQ5Yu(o_mAtK)!0h)yXB7iQo9iKsMO_1cKjB!E(IF^&!8Rx#VL zvozqLme@*GsfvBV-7C?y+=eM{r{D+GLfd4NGW^hy*f^I+>?S!L^W)=82r^6XjJ z*6w}=3oQLXtYnT5~d+WPzQQvh;;Jw%=OZ^T;a_C}0`j(RY4uNA` zty(X?gAv2+J)f67id3x;@ZYFMxh`$U-7ZFCl=S!*cT2n#>GWh5AjetyP!F0RX*g!@ zS>5Qi#B6O_(Fd%@wyoQ?u^!w_K_T`g!9@o*|ICOHXJkD|UJySrVWwD`i_o{%=q%%p zRkuuE^`drKGjU)WV2T42XA*4)AbZny6W4hLQ1}b*4cw>$%(=RVE)SZS(@sE0i{Q+F zj7OzP8hKr2Ui8lfOZKzqeP=;h+q8O;UZ^nnGpJj{k0jhQ(o;}tw{L?+&H~S(7%(-j1jBST9b_bI&aYc{(?UCukvEO zzX?}{M6~pfjG-{Ce2mZ=p|e0vwAm0k(KlI?GJ{&Z0Uxcus5j)J^vzbGqPGmXgT5-A z$x3e!2@w$nU3|fSHf^%A=VgoJ;1G^Y#3Onvx&;PvQU<~L#rQ@;acDG9mmc_)%^QR5 z%N#?PGC9$|VP0Yh?2(LNMny6ls$z>|IBW&q@v(SW8&hKweqnE4XK!6+Z;MvfMeFPO zF|IL%tN3WT54(r_LRV|~ZVKPx#Y|J(Ok2FT=tXr0tG{-w_{=v@e71J2w0))=X)OZg zP-$dtj`Q(LF;)^I25YEO$P%$uy`El=#y zR?iC8&M2>Z5WiV|6#rC~H)?blzsScL(OxQE7JsljQ6lMYpl=3#tNd7g(I{`yAM_=h zbn0P=p3Ux16|WW*@Zpon^wV6yPVDz%_(S?DF)Yu@qyk9bYLTRDR*pG<(`Cf z#0Zm!o|XA%puabMj=lr!ipv2P4*7|9mGL9s|K#WM4`ampL;+g@YEonL!qVuK6S@kP z`KPQO`1d717_8ragr7!yWak_VWR#UZ@JpcsY190CWI?AF#&P2tG_zSIgi-DR?nnBmQE*TLyU2 z7#X&6wsu3^iyDBPC9O4LYif7j!5LapkJ`uAT5Dc(9>^&sX62Q3?wHo}Ni&V?XQq{+8}xuhi@y-M!|_g1n|&en zk2~ODxa3*<$+r6u;q3|pDKSn*T#{3Z@!;(47)M-UQks@ro6)igS}}nY9n6a~Z&F%< z`KzQvQ|7dU6zfMqP;z?M?LF)~{r)={e%+s;oNL6JemJPo$(p)W_gF(zhv z+o6ZX*APG2d)lr4;=8=rN*i6R-x_(xmYAN>JRM`}nC9te&0{>#F&J^MD;QD)(N3=<-zH3BYdaXJY7K{=P)~fGZk$pR{&hGJZ^P?if&$W7N4R^oU zqZZm9X4~v}+9lcVc`;IMM!uWP8*9TWJMist+ftHkX{mU9hm9p-pKF4Oowtx)a|qh5 znZG;PVb&b;FNef~;$6I_quYA+(4T*@;o{{#{}iwA?2ofLy4V2L!}Y+}K*&VmtJ)In+}AmXSDH-ZO@+VFfXL@J4UGK5W5?F#D2x{fvF# zN{6;|Ss5ue6{GKqX4|-UvvNf~IKM*JGf#wvuXxhS zRqL1=+w6((wyTr0OLp-x4ASsTZIoimAYF$+s=A}y(1R1mAoa3a|HZd3NNshs0Sr4gF6S-q5f5gYI^Y4xNsM6Tn6K^bzuU;)- z@rkesd4u~p9DN7pRR}w=IAOTG-=Ms_ojddL22tk^+C{NeU;7u@dpu~zsWI033N(;R zZC&z$7guUAaY|g8S4mVK`|jl}-+sI0DG($qr{(lJ{Nd14-1FGUlzB87)RG6$v5t#I5fPpT8fj* z4fS38mVx=Z+Y-|jj#CGJK9Ij%?7R7s*!Q=5{@TSYTfX{g%a)6;u<%^QiV5YPQS)EC zbxRy%-EZA`aiOfQ-|aXT2|UMv=frr29kDYu9Z4I#Y%J^&NASw~Oks+;t>Z#!dtF zM8Kw#@}PdSSr{8h5X*?dIYWd)9uEY0W50j>i4)iF-#=~r{-0K?TlvDYsT-1TkJMgDYD5 zW4@>c&e8KNdiHFQ-ZRUc(X{*eDU&vIZ_-A5A^!Qo3oMz%u4A#R*@g|`1Mvl0(KEee zR#waOo;guXyHB3HVZ-Ff-J3bt3i04N{>ggLjUA@XdcDy)hUGAfUj1Z83x}70(~;xS zh;_8Mq%=oTI((ZXk^+c?gJj%OC>l*LB$)#9$faCgw{PFpIcwRoY}NW_pXHoQ$Qr+j ztzNfk)z}^r&8Lj5owIfC@#DwWEsvhF_F})MS8Uj@;^}^T-GrWQetzZhjT@J*)YIKr z6W6jqM%p0tleM#BmQy8hhDCx}ThJN>D{o`oSO|~iSRf~OVR!*1oPGqS)5)!2x7h~P zcucIXRdcbE&j}0j>tU-{r@StaVTB33wM!rN7%u)8>eOEi%L@zB-dQZ-^Q!mS(wZ6> zV-En&ciIK1>CvvJ7@R9*_=0hs$e6ga=FX%zat)i{P$^7aFlGI)OF!C^3e(zc9A3Zg z#r{fSll}{icMm_#S`AXP3){s_aieAbUUj#Rh`v@)e6!ZRj@_pWT>4Sh#z)>`d0Q2! zBd^<-JxBWpt1^;7Lb5B`lbnt>eG%?R2Nqs2sUiyOAVMan0%9^&v3ueSC(h36|7&JV zd!M|XCkkBt)Jk>UtX8E`;nTWePZ>jkG^<~)EM$ducdtqxrEV( zJDhoJjzo|Zt}1JJYyGR*RYXiDe!sx^AUMQi7!Cof?$BG+iQo&fEAh4Zczq1t#4%K5 zwy&XcodE|k3OH3MI>udvrQjGZTuQ@PMr_g!6{wpCV0nD5bHi0TS(+>vkLq^*b*$3oLwkQ^%cSi5T3=JSd zXQ==*z_5Giqy*`9X8(UUyAHr8im!h&yL*>LNOE^cC@GgtOCU#b36MewgwP=%(wmfo z8oG$|rids-nut*mk-vZikt$-L2uQagf(^y`DME5L`F=BddnJSzBqUdM=Jk2==1oK3 z910?BTxtAOD2YnA?lHz7J@Y7;)90<2rlC&_gNgKMn9+Mo=$0OJq|+p3@FVQC9)7Ds z8w5=s^0pzW*C^w%)_y0yUy)O*wmwL?_zg>ce6e)4YtZMl*pC}wJFyQ3pZfg#BbX>89yS0A z2sM)gXhT{{{>gK^AK*AW0a~BjyOyJ#5B)0eF+NV`y3SX=gjEmWtFTlh*CsVmH{1|c zwJD02as3f)o)BRU1{N57Vf-Q_oPxv7ajgap^iUfDS}Lq0P1<;Jbe)pWsH_IJ2Lzpq z>G;P;spna49k<>cRp+0!)`YC6;q^c5@cSzP#nXKMFUznrtLwRvpio16uYQ}i^$u{P z>!%gZi>|vry}{mI#8AIgedWv3?K2l{4bxxFXmNf-fPt8N*~`L;y2wj_*h^|y2jD(Ox*6-LAmlbXEtr(@ZYK^lVX(5#K<3~B83H8)2*RK zsw83obX;(HV$A*~inRTy>!t|D8&U=-t@ZqL2^5R>&dn_Oq0N+hw-FyGN>tZ!~KsY?RFBYL$PGhyJxualyfy+W7R zk<{&)Wn!=U_aZ%CBW2{<(X)LGCz^js$j8sK1eW{^yV=F;#~1jJinrM7QU?{EWDDiV zy>yA%($R|;5)g^#jUhm&kLgs))VdGJh&2{;j!OFKqVIxw?H@1(buWx*$1*ZUv)4ON zKXVsidWM`MpFjUGA)husVep+jn$>6e*Vt>lkeP??(!17C@N;~1zDSc33%Nu7X8x=e z`9HRfo?~lCkt10@Rb5GeOFeyXQxWLYy^ZrUo9IJ$cFu?%+Zg*cIk}ysjoD7;ODpXY z?GwSvpE#Fuv|5Ir-ziz?XqL8}oaBY<6Qz~XN{|6q%i%+la3?q1g^{nzG$$g=6~E#V zFML=|kNeT%`%51y&CA0dxr2HIZtL4$!A?SQa zH&&l2|Hwz+xJxZHn>J6TF@aROZ@zgpO^u|cK#D7_=qI-I+t!b7-Fm!uab3{bf5U~J zE^O#8Ub>LQHmv~46>3+^PSpyaTo*2%`M}%Fi5Hi(#UxV|l?$;T!xTwV)1_}qy0|fH z=PPn+7;w2O?d;al~B418P459;qy zxTUZQj`9!m`atta=T5?H8>=VHb@8QrQP_EWnjn(o-i<4Q)RNs#^x^Ff2xGvWT zpO@!*N44TkEPkzBm2SDQxwvp+<@(m>#Ef~oAd;W(YY4+1a$B|02YpA}YHPLn9=x^b zFY>G(dA784(4bOYSEHHFwhPB5?yyP3vUlIPYNL7Z)+XPBR_m>{z9ZxeHr$U5S1XJA ziUq&5#ayMcw)1iitirV6T6-6ee?ENBNs3R4f5!RTv|9f$SzYi{niz;0pQDejZpd;yDoRc*a0%1BccMLw+3 zEG^V%c7EqUpZgg-Ey{bqs`{B?@}$XKMz_vgU-vSnx9VqF{p!kqUqMH8Wi&WdmzAb+ zepLNP3*Gv0(}?}pLyud!1?oh<}GimCJ=4fyA1Gwe$rU8pX%yYRmKBzPMA=tuK^-mty>pZBxM z^&zjjaCqPsII1dB8IFfMD#6oyz2*-*>Cv9?c+j(ds=ADaz1;(c21m#Rv{#SQ!&d$k zUQNn+$lzabd$$MCSKYIYst?WntCo!>KhSU&FW&mB2^_cls)MJ=q^dHN?W4M~-t@U; zQ4_c*1G&|tPGz4{y&S8Pr^cI#`+nfMUDS5?N_K57ETE$6D>dH6@s=Bg^=O_y7)Rh9Loulll;;Z~MoRq)k1Zaceo z8O{IItZZfb{dc%-xmKqyjYq)KeA<1>xhC){%dRGM)G`_$Ze3MZSJkiZn>FO4`m)~k zQhixXmfmz%Uq^$l$zRiRP4runIvV`S^1mNE_g~j-(>2F)e|0ptnk{IbYa%zT?ETc$ zWPLw%G&}e&byXVgwt0>An)6vx7}8WWR6eZ6ztTc?{Oc9>8F-xL`OL$^gF&-cWi=$S|Gq_Hv_57~O)RQXrS3S0DeMk2Uuyx~+|M$;2);9uZq{;hg= z9yau^@M==lLk5ZN*xOsS-u!BGdfAf)Evo!fdk{X)<5|`60}XeT@vtXBS5;-IrmJe4 z8az!VHGx-MSq)xg`PBq&^>yyDzZ&xI+0fYWwvrQ?(z^bXi?lO-3~-TUo9(sRP_XzBMVU!M~q6m1TE7cxqPn zF8^CYd#N0sR&URm9;(xoCLgV=_F7dP%^o#bR#&#NJ=Ua-2498iw)gwNQ?t5N+kegR zc=_gk)tv@cvm@ z48FIG)(rmr)X{W&KXtVBb3b)e{c1kFCVW(1*4tjHFYB#WxBNBwtFmtmz9yII%2tM7 zlR6rF4Q@^9RK|1vbv2v2A9>wh9hIj0tK)4?_g7bwo3|gXiGAJ6hgV;>vdsSr-v0u_ zBmS>pKOkcKdzSUKzv|0YZFkkz@$Mh0FIySDrc?E`YJGUq@785?bt>bjtcQQE>$c5* zFI#0E{hs>JXsg_QYL3V4*EE}~NnN$ff8on5^ZUV9S?2dsS1qgYd4Kp-d(r&f{n%s8 z>Ui5@&FW}6_vWi+bv1mN{xrL(iOw~A_fuEHS6P4m1@C`{;kMKJ$NS&vYIrm|)jr>k zoV7at1%{@h|5CTIp8pFBmG-;an#R-p%i;cDsq2pQqp>c%4%Qv>{ljAOEf!L{7Vwi; zqlI2CWzEUQrDO}%9*^j(EkN$fHu)c6Lr5)>QHrJ6$FSabr)$kIf9nC?BH;6jfm9rP zzcODp?}bMiQrfqa?IzvuLSn1H^%chjL{5BF;uLGU^*P|ljI*w>wp+b&2Y)NC@s`Gw z(x#42_-`po)z*5G(~i&hTJL402TGTDFZWj0dkcA~umREeQ+eID)S*;`Oq-UH)7tuP zmP!-(`fn#}&n4j4bAvVM0yaO7Tgc13CLMdSz1NjDAXxM-y;{oFy67${B}FboYspco z)v=Lf0o_rKP+hhThCGmBk-)&x7%=$BaeEB9PuFX*dojlIM)*6mb&pvpD&WN*b~*^YfbVy~gN z0x4c>|53P2O1_#6^L6mZkWV-OiFvmOtX5 zBZ=>8#?F_tSl8|seU4+re8)`}_dk@DdTfF5XbYmQG0np7Cv@(?m`Y3LQ+8eMkllPHPng^+cckT^4x+0fKZ0yvRw_1ivp-r+?Ob~ zCap9&%5IYp^T`O1<03|bGv3(-BzO&e4g#Eog0_II7amT^LK2}Y8(fMsdo3;Cjbh&a=Kx0ImYQ_Fn@Xph za2FdBcOP%njXg&B(X^xln=K)Uee~~dlp(?ZWda`mVliO!#m&F5w?sM!-FU7f#NT zhtJ>4Kdq6^R7%L++9q*f?t&cgi%iU zaT++hM4WlY$*^f=NT2-%{)QfOv;{rijM0d~S3g|gUIr#`#nTJ`kH;Dup4g9QiJ*Mj zodM1*j7T?+@Y^EL-ipg`c$U75tij&Bok8=1(4e2bO=KS;-zHB3#uTT|1dMp2C5v+B z&o5C)B=p!3`%Q`a|22TX%F0;rU!(^>z#PZlW_BNDzs<&TzBD>GU)uIRl@2S;aYTUN zSm8;D{}Eckx8aEn)=doC$zf@642PwKFe*K~0bwH^E%Btt{|Ih;()I?rsS@%g$+|Jh zQu#e0A7hx&5T6)Nq(sT4gegkcNFT}Ic*}=Ox8E6QkPNhw4_ih$lj%N=w+xccLz12? z^P!#iTW$-0HCkD$!irZ6N}|zb#92Y{VUj_jL1c!H<4ryF8Hrj;eQ0O?_VbZGvJWlr zVUJ1rkv>%Kc+-dQZN`Arq~c8_MLx=R-{WEil^_yo!lCfCP@HNfk8?DA2-FFZ=$Y67a_ znz_UWvafRba{CF{6)8udCN^ALxi&#ddAJO}x~ z$Hp6cNuo=LxSm2)2~nP#%#vC1WOAPE;hH8t_^@9{0V!a=_>do<)sbw^(Gomuf~`FB|Immo)#`P*)pcl4C*+rTFYd2;?FoMwrW3gB-H@tjKou}QC%kohI$ zKg!`HCrxk z=5bm-b06b>K>zs_+SG3UgW!Fl&}YpAkF|lN;I{$CoA2lP>i1N5L4odB=t0 z4x2q$TH!+P!pCK;#nvv~G>OR(9y~ez&r@_ic<{oXxCH2-Lk+Hr2Vt+!gdE{XdXa}h zX?stSfA>_ZW*bLc`haa{E;0;;skLumCzI_ZE<3ve>3c}Wj^-#d<`&qU633Tb8uO6P zQ6V3$|H|@ly61aH$%6n|m9$_oZUTT$?JIe%CLABMftCdaN+jTTphR0XNyPyRa%0j1 zo!s+mFj6x+2W`*pd;5X8ljmk{KY+I$M-p_*?%Q`BzAq@qegNQ*H#)9tmA~Qf1-}Uo zC(Q9^9^+D+bfc%2SRb;z|2(#fZ1N+U*=tvim(CeTcD)xswy+@q@3HP%t_WZKjEb^{$x8~^Z|_VP8bL!O}O$G zk%<@|;6(L4cabg)Cfiw`{_{w8Ho}h$BR#J|+_+cwfr<)wH_mUu>Fn|RKo1Bxk_H75 zgX-ewu}(!TTNZUH=|87^`#Jr!{_9%jH!obh@MhAOk4a9TAF zoK0{R2hN7!Cx8&r``!?!>?Dyb^Tf$zpc_qc^m)>H0oU1p0%^1=iqveP40DAQ8oN%i zq@*et;d!Blbldc8K&!;Fj@;Vf1&M}4C&j8`^OBB~U%G8u={EM(y@f;ycnRRVr>sblE=w6FUlqAjTO?6W zdvQ7e^-P!qxtDglN*5O#=V>tVcz6Ni#*9>VLSV8xF;P1hsR(93>$V4LizYHG|Y>RE&;XJQU4=2r^bVh3pl@qOsgGK{-|cgyevYreH9ryP$a{*9=5LW+ zLV8t8{LupdsU{fig6Z-{F6fffkMfMSaNLfs=yzqeH4J2#3y?I(4WGCB%Cz1WTshAL z*YSO2xKq)7cwgf$TE0j7k=!`uiAFQRO90MRLY{TOcG3xWe7t!VJhueo?E)S}j?=}u z3!FE7?y(;4ci}-2ZDF=BgNw80CK zdypU4&Hz?N%mI0ncWN7o(vL5%4WSt2KaTj*9sxlALjWIo!`JPtI1AqHaQHZB6KBea zoS@kSQn{mIQ89A+@~VS80*^c(0O>h^WOV>sx#Pyh%j??HJTD%2fM5|kNc+I=FLypw zc@Xts0={mV6yz2-S@CAc91y^%B0W;{Nt`Bo`y>4LG)+eI2bBk;ANZ+87X5gw5W_v` z^b0N@!MLcy`IcT)`R2J0&b8n{$dU7K=TpuyCs5#+N@|HV7K0)KmOe;xl*1gNeTeMuX70GBfR3!ABDQK=^ zxBNvr5HzVqBuAH)mc8OMA#rk*Q~tc&aC*$HSvLLnvR6t==Zws2X;;pu=g_f)SM_RS$v>*tN=q+BgLh+_E(h2p)L* zcj`^yjX>o>dQLPK0XIc7eIaAq_1#|ASf7I{b`pKK|2P(8@WC0d6&d_22i@T$N=M6A%7yCO+~%&qF!%jy*}=G6=zZJ1nTwWSf>!Pc{_){ z${yXF8ad0QWFfCy39mqiCd|)&OCvBMpgZF47%^G~cG69%6M$ytxbRkK0O`c*dgA4C zb=)KI^WV&*Jx2!X+cdfyxY=%M3_uH^jZu}UG?VAhPOqS6R4o^mGIK{`(dU$Z~soLk zusb@HgC3sRvZ(g>){`eZJOytiNQrm6pDDDA$${l7JWWekzMZ9PWhvXqOhbgA)2Ty2E7 z-9-@GMH<|hYj8vV0ZU!&SEXpqqWvm)z^zc)7mSsjVpmQ%=h^$|8Yxp0!dEoKLtqH- zG3bEY%v@@k^sIF6Q>R7-;NQqoPjTS%fTJCMZ3J134Dj;{80nOmCO47`xcyYP$RFZL z0o)Q33Q}>$gwxOQSIO=T*U^q1;BXZJ5>>#QR8F%{2+{qf!wpRG3!GkK^K@KS5C$bg zhvLkBOatK}2_yya`dd|WNqJA58s#4l;6F-bLPI9>{F`nD;65!@cA50i&@x74(Fti* zaeXM_7xAimP!(O|k~d&YI^2HT=N;>OC7i=7Zj08=Hb(!D!k+NIp$|mgu~#WTJb+jF z5?&L05Z$0B*=zVs(1&tTnLbe01VB@byn_wl2hTgNx=2jM@#YdYL6d>n>Q+9v!?PZQ(#3^5(xTuJE3Fi zcJ{z(91-FmgiwY3LqhAd@}zQ@iAd~@ERjGmguS@UMFbtWJ+EJnZGBuKAYFZ|8Z6(1>!*E^J0t0O{t~b8Mm5m*HIN$Ooob)#dz9-Y!G7gsKnFZs#A6M7( z)fU-E?I3fkf#e+mG20RmD;dJlXhS+Aizh3x99yz@LMw~DfAgmO)0;P?=hlk=Wc_-P zB5=Hu_tQ^#{Fl@0p0~#so$$L_I9Rhjr~GFXiu9c0SG6Knt#fR}*UX`O0}NIL5wY@c zS1Ij;by3#2PLIRJkOaLANwd-(uA|qn9LR}ArA4zFlvg~=#nVVKy)A>d?1Iv!`l_TS zRB^6z{6DdFK@*=-`G));YUQsR8pTC4HPJB~^c&fiK62&tq98c~&m9>zp{L zL~fU|?M{?hy=I72Rea7&7q2c>U8-p*mh2*=Y6#X_bs%QF07@SIgTpI z!XhhOZYu?e!tS!TnGsgS?~%mC)3}aRT!xBkSk+5Rz2T~5)hi(N>b0vLB|YzWG@tAr6t^LmtbOxQ_SSkhCf45_#3wqsm+oHUY1p7*x=~S&aH93~bzgJTp;hir< z1v;&4wp2?B#0|ozLT6|QD#N$<%A4h%-SkkC7dg6sN_Wi$Bb&_c>yE`tLleZ~Ht>X5 z8EcvmfB7$8cgg2z#H)Cxe!}dHs|?EFlm6oMNhSElUi$c_6LOc5Nk8G0y;$-s{}O*f zzn@Y<_I&&?dGo{xd)yTKQ+9k`!e6J9eONN(d+izdWJ<~RTqmUBD)L2_6mgeGtj%h~ zuT6cm7-A(1+xU-Uv00^P)1kh{!jC24x8or*?O;CCk#rAdyOPA;Lb|=_to$PK?(9>u z$;{$nwghijk23Z+aM+=wHF}d+4`MYSLUkjNtcF+veu?EZ6WcK1m>CF6$NKFykul@( zCJA2@71373r;5qRBF9O*>L{mK=?j`oe4fiqHHN1+cs~}wx6N_Q!nDPW`9KF>^1CmQ_{T-+f^hjn_X6X{m8rDI=(8Rx1V3P zeoNVG*w-1>NBI``;zfjmSTW29Hl$?Ih)8-2LvcY3ri>8S*hs96QxQnwK|l!bOOCb; z8-y>|V`f{HHyASP>)DN3Pw!hCTGFKZh7MnDY)bSX>hI6rkB>a#m`4(y+0kOkGwd_^ zoiVvdPnK6izIeR5W7g+uhYtTaCg#h3l-9+c9Nw@y;YrdMt0PE71v_lW1YKCK>7g@- zm+Q_d#WoL#h35Fc!$8c3?i@1F4yHp`sr8Wh?#`iJMRiB8SIvhWv6nq^$Xul8ii;gs zN?u%Cu4BC=l3hgSJ030KcA^^&83aOyE%3ppUB06?NLZ+8vq;&*s@^k%8>&n~Abb)H zSDhKsvTXwo12*H>4W% zrB8Mo(bdpv%(KKoI*!WAvg8jO@P=cTvc1UBXYBZgvPQP;%>w=WtgSj^4Cym*(8Qi~ z+xr&|YTY-~L|dLn2f3x_rm&6BKzXy>-e^`^c~fBdFzLfSU^!n2`I_|0FZ-3XgZ@$fXVzQJmHTtO zD|!*i8vqC6Ff|n;Zel?bKnnn~A}Nz2CQ!X~FZn-^*X>ICv13{V(NFy&A`_Yo%v-P_ ze8;>llO~979Ssu2mlNisxGVtc1k)&etZyIsx9sZ|7MZzr<||k%k=M76!!Lk;E^bsw z|NeR;6{xOX#dUp=@;layG=we0MdRvP(IN~M8wO5^&O3hNgDi0p4a2pDn7^{68*%IJ zM3O{0?QNVyW|?-~Ic#Rr66e0vb?}|31$7!r-?CHe^%Z@|;ifzKK9D^ltxmYoJg(h!7v}}Y-5{x@mZG@yTBDf=5zg?;M^V3)h(EPk(z1($Ey zz#-@e!_v!G4B|0EX`tatPS3<_;Ok^*=XUMK4;-2}h$c-=O30876x;XFMUNyWlcthWFTCOL3i$j8B7b!>aF$Z_b!hgX}a#k_AQ z%_$vAE*CzTkXbyT;b1AGZtrf{wdJ47&GMo0HcAnE>uz~pd8YK$uH=9=Uqp0^PVR38 zPUy+-1Nf*X_)t++Ldaz)zp#ER8@y`%bTbK=NZyz?fplw_*nI_Oio{Q8mn_w@f5-WH zPs+BxM`!nF)IaKE?Tm~zm?;r`y~6Ju<1_rcQ_vKLjvgI+tfI4*%|2vuykkONA$s@` zl0I(MkXiI5dI4weu%Drcf!;-!G`=Ax^05s;Ux;-R=mw-4;f_y6?A^E3L7yKtKo1f{o2 z3$InbN&lYjObjS~plMoMOw<=W8@HSK?MJx{n$(YP(`8i453rgg;=A^p;~E78KhU{z zs?`<|QkXlo)v6!oOzze)Wn>2XZQq13M)J}((?0rW&X22Fjm<3#X-SrZjTn3ItFeZ<;^nokwQ( zVyDpR>?D<)=6Q*V6BU#ir7j@`Iz^{*j1W4`q?=?P0=z zfYlxM_8@=qfWPvh<54=lRV({#$)^>r7bUu3h#A_$S9HXU^+sGQ&ad-}Hu9E(&O^QK zH_n=>NU?|yaJ!{Jj{@jI#D#^_5|gNYaE4b{jl*jVYcttEGP~|2lhX}ROw28q!zZ8t%tT5mSQ_}t}lBpJnZ55_NYOPvRc`)2DKj2D3x{ctKYCg zrwH4qPTNx3HYw=eY`{ZkrljI8@W*3k5r1iYE4)J_MV}%}n_C9&C<6lJ=j`^zv)b{l zc4+J)Ltm+zYEE0YHgc?G{i#(`BV!(zxY*V8PCgUaG$67lf7{ea5ehVC!)Etkt@NoPK79wZ$kYvmn!9rBe;J!JyB1Cp^{zxe*ay=3fZ&c+jWG>r!eY@kaw$u6* zlU_rclIAzl$;IU}hkwTUvbRrAL2H2s6LV-e7+Rrv+}3 zyEkJC3fR+ZJNwm=6Gci95g4+_^k(VAx@CF;_62k@2|8&7xnLH7B;*jH!0|v1XpvR~ zmY{)PA&%7V>6if0hBd!4y!Pbab0l|~|6UOMIS&9F`kaMK1 zK-PquFH+DwbfOCZ@D&P-Hcs2pUBc{Um$I{p?%VXoHk!bCTESGu)|aR z7ljDa*-IgH`ySwzR?z|q!RNP_Uyxy+SZIZAe?>dcOf0i;aMNrm#6F)5AESO zTqcv}VAgW-$I_4}6Kf7NE=gGEx6t?9mdWI_=^}d~wDyat@Em(K%=;o20_?#$5?_-gWCsR>uW(ywm?}P1Z^{v(V@=EHpNov=5?LA=Cd{b3#DBi| z9BJn?BVbPki|1fQDglL7E(iW-=iG2d6p&V^?0&K>YdoA8z^*IOvjp#XfV@*f; zTNn>#Te8)r^lbOkZEdFgJfzLnrmo+xE$qz~9?SfPyxy2~^!c#q2ldI@KJT_{=bxuY zEBv2e@rR_uTKnis$LP!P>CMRpWWh@@xg@K9I_dFIk5=qKpYFa1&?9U}X%8CsOf}Nu zyuGN6R1*WdG&iGIxe?o!(g56DWCtesFA6>nJF?m*`7a1LOD1(VRg2{KUx>Y+Y|Uk_ zJ55w$Tn;CWVa=L3M1L^7!eKZKxkKs}A#a;fn~+5KWfD)gd*)u+W>v}14>+5^MIFa7 zgD;T$nf^=ae8S!#9}($c|HqBz*dcO)P4iz0fy1VjPRh38za*_v3W&`A3@BV? z)_fss`Xp#T58(2Jo;+$4h<3!atSmzdwb~~`ofngsE$lRDgANdaJxETFW@!uj7WkcR zpF++BpJ#_SjZRC}L@=?HR7l2m?7*noFK~Nm2O8k>Edsa3HMGlRA*_p502?~_IVp?% z7W<%nkh4ff!QaG|^jyals+_5AD9cs?;qwgQrr&gfLeR${ zMpF#>mKY;O8*P|_65VXNK{iN6->|R`eluQYMGfkb7H~+$3!&u5 z?`@@+r)YxxWTTMB^=E_A*S|cUL>-W(D+L)D8FjV@n_+2&pOsLoFy;Li_eg>>)o7j8 zidat7wNUSs1$FDhv1Wni6IeRIcm?vY{bB#*wJ(F;lcaHNXxZmXBHLImbPG!x zc5nx{=AvDx6i8|IiCOe4?`$Ttl6ueRn8kjuOM5mx3>%hoU!u>8m&ZZ|wFOP+?YR_$ z2eHNb;uX?BUzbCKA8A6kAB&UpkGKErDt67LypUu6sz>u@9z2N)&>PUYo-4gHUN3Sh4~ZF@76;v;S7PK_R= zJRNMb@7_$>qNxO5N+D;sD*zS|gRpn!OXR5ZOhE=5jnkE*|NI=jW+M3T6~4gLf98N#soES$43*e}R$vS8i*v^i(IuOg8KX z?4sF74~iH`3zHz%q0rw7xeoX93Pr*SEB^J?Xj{4^+Gcb*KQt?0>IkCnNKR?WjI2O8 zPrf4^BI~hP>_msJr}!;2p92Nv3m=yREDE}Cf~CH0eVJUH12e5vCuYI>pB$!(h=}7Ga6#GesY!MM$E}Yf;kCDSnHL z=Npn!A>6qi$9{Xih4A=@mJQ}$Gp%fHCaiTkv9oXJPvdOl7xrYn3z9%qo7 zcD%+GvTL1&pBmI~1o0WxbYElk?B{b%716#uNxg%OGHPG`i~QeA{|2=mr%}^}l3o?d zeiJg|K5>QWSNM3(!(VCM1zmwOa&NDAmTA1ed&PyJ+$o|jOh>HYd%go(-s2L>{^~m+ z4nEf45yrHRIZP`5@w>0M?E#0rjoPA82sE{$feO*7mc{%uBqfl(uCr*6zU;vjK%Uv!1d-l-3pBNo$oqkvWghC7}OM z=lIg&ARK?5Wwu$V`V~(H5~IjkhJ{KarW`B0ayd4h_}xgImEOH>c<&}drO*MHwj6)I zLAFemzN=sBagp^}SlXl{U)r&BN< z>2}fuSQKpHcgrKogk&ojiqS3m_1VLEQ<42MZZo6>%2>2ANX5p|F6>tmIlKEXpDMyI z3HcRHN zR(=oClQH6R9&)qa$nEeMQxbT74azD|F5+`v@p%&ntt%%6=_%|B&!5rheEz}nL|tR$ ze^|Mumlg~CcE?=CUvi$VF=n@NA)pw&x~CX)V@8Xoo~Qv+8d%4M**mdrEr*2Us8cpX zthqzll2_6bq$V%})-bkHXjo2o$6>i+Hg`(vTRULbh$li8KKl6tKg*9FeYiz2rN7kN zxGp1h0SRsW{n3u&Cu|5bBfWHb@4nYe()KQK36V{f4QgFGz-Ja?-NwB-E;)7E2YZSv zbw`tWN3v+^WJimX2?q`|oie@S*f{p9oM>+g0Z`rIitD~Rpp*K#BpxYRu{Yomnrm-&N z+3}9qKJON3m7BZw*5B-XycE&S?C_}%$n)eOGLUS4_XxXA!}*MHQBi%;gLJ~75!m0u z_OQ3a8ux*aaS8I-W)WM&iflPj*LR^ zJnHX`d?w-aUPql(ANC!?KK-EY7;@(0CF|A9_4?(Xk!i){pSAyq9J_IYW&8wLR9uCw z-x4`lj36RRmH>y-_mEm)HvN|T0jaNohExte2k`lkSW`UVU@}84d%lf%P}8T zOyiba1sgNJ(g0eM5MI@g=CJ~f(chJR?;CDLsttEV$mLELcrybm z9A4H436TEV>ux_o{Fbs?O5dgBO_jc7+fWvM!MiMG$_a@=S>i7W%W+HXBSc}r>v7NW z==1o@I=Rk^cM!$t?@Jx)RM@&Fsw(?3FS|gLB?p$WkDXtxMUw&7i6=kl_Xd08i4T3Pz* zU1i(xvO9TMCtt3zuWMy_uxH`)`tY(p^Rk>VC`qUB4}Dm%GR9!}3{Po?x~w%gaz5w0 zK%;n$rS58prLD+eQHFiYCk<3MoR7-oW;n|^*15_F9x9i6(^<|w!d;Hj54zw{EX4YM zDByUF(OZh|03mOf!cq_K0O62(R8-%3lFOkE`=_Y!1tp2B;^kW?efFwbvj2mgb4 zLk!QHuGi^;D^K=w7sRLf)yY<|Fh@+gR-W!(%I9T0m*;rQ_S5}*g$~g@iHVG1=>OsM z&{&*Haxg_HWaD06p!U%SXI*P=cFk${O!N=0=FiS(G&rDL&;H}&5*R%NIlX&6-Eg9er~DZpSWRUr(@f{c`ZySa@25)>u-&r^;cF1gpC->(5W> zP-jo!=n@*?IyCLKXApPQDJ4>kdB z=z_ZO?elw@ACD`v^)x@RdHuNJn1l}b4qd6aH20lc>9U}^Ti1jpTVDj>V~U4ouV~iX zLS6BKV|pAGk|C0E2345*wPKrs)ew^iGQj~pbKOQ`7Ck=UWCPNU_)J|tB4c9x zA)D79iA>D85IiyB(?J_d7niKJM9u%-<`W4MGiKbF%D(+AF`DSt%Wcknm1<>IR<7Q? z;Y6e73s-MzFf!%wZO^V;y^>wArk;NPfrnaD|0mjH!;Fcce3hms)h4PFc zU+AIIg@ZTV`}IR&6y5kp4-26;FY zm4zS806!{>TncflAzwINN*0S`W;Ap>W0qo1?mJ{Y)a=(UJ3JxVu~eDrOGV9xvDJv*)Af) zC+Y3HLG_x}i}DZ5N_^3=*2!bLzSCz49%D|vLx!8#vw}5nSd22DOJNPYr*2O(xel&n;yDX~gXSPWbgSJT658=}^vcM44i4fpZ0My|StY)CgV z3xseMG_D`}{Lrwhwo?7bYA?{m$Ly*vfuVDsqAgdEdu0?wv+!(U zs#}y-6v}RPd)eeDGrhd^WfLX@zuw9YFJ_xd*qEXssTX$#@Y7)!FI<${h3IwI>#CC~ zhQo>yppSZpNim9n7vL*%qv2K_juN{K#JM+A?>$~_&kk}(EJiY!d|ibt?A`# zS9C}l^AJ%fF8@^yQA5M0-u4I(9W6wVDCsbMF;K*a5s-W)Z&!)J@gOo3`)0zN3qAzP zdg2{JdVP|6t{S_N9pCj}wtw4y&N{ZYu+*u~U-oS_u>;YI%CDSx^worc-QQjFw5=BX z(BnhI`|nThH8ZsZ8S?hVh*!c)B4FHllyr24m223|HqAWV3p=hDj&a67G0uqMHlxZ7 z_8Vu7)=3yEVeu_LnF)z)5n29lbw3EF^hMpnDnt&66yKi04NxofX@ z$MOR&nt6OpZ~raE8h_tX#~Mm8%U-i!7#5$h7v5msOc*wN#L!VMI0NqTVvIKmFyi3j zjknNo?1Wu&*|vdf>xoevmo2s%x#X&?Pt(OlC+acou!)tdad2H`tUZbM5-wTJ<(l_5 z7pU?13pXZouHB5idV}35T1ic-KWJ>KpN0`hV^c(${ivsCRlyE>Yh%Q)IqS!4%{?oUkdkoHQx%e4V(CsMgN=aSYsOXmmQyiHi3+ zZ2z*wBcLETpT1~fePNj$E}Nx1^Wn7_E6IuPGu9q9liTJ)8``j=j^#yNgIFxN@!|;b zI)o;caM|tb+O=yWQo=G{`;S;9^!#Qd~TwGkXR*1woa8r37DtPA}x(eQHniWZLFejjdy(0#8 zalAUM7Wrn;WsKU0(`feTDjwXD`LLN7$2~UV`@08ig)`6qxt-YC9)F7X{9epP{BR5> z>$!O3eGEMYIu2-XEwP;7sLUc+kU$YRHJe083zqx~H(i8ijwf(<+fIrt-XY6aY4@f~!{ zRV~ykf&eSF(Iq6hmcpSw!$=k~(eniiunl9Z#QU}8zbxz8H9RyUTTr?!gpU!Z1Z(2X z6Oj$~MApC@OX}xRx z!VN9`73>r6@G@+%+cP;E*9+Z97O7k8c%PkPd5c;G)jkWgV`!yOwe#A!o`M!{qx7YC;$m-kJ3-Vn@ zDX_?)bVNJ3317b){ZSNRm}VkA70XJYaTuTImXQ8Z4Uz}?Z+@zcJ+^7@0i&fa8ulFc*R9RV zBSs9JxZ>fp4?kA2V$!hT7Z0-w`0(U}VX3KOw{0Zx?8{Bt=rt0$b~_>4)~a-3|E`(? zLmnCH=o9#S3rJMcV4}%z>d=5Vbr_mpF(fVial-J3YvyYiYq#I{Nqw8Xe%oiOhxcjX z*b$MEmP!lpmwh_CcLdq6?DOK!mabpF^t0m69$PnT>ZpSUM@^;jfss?DjD&n8U2(;A zziT3nPt(CN5zAxyL0yrhb#7EvdvPunzDAz+a@sr z_wK!f^mzB48r8Bu2-34>SN3~#^jxB(J}Dv*6Cu#F?DkpCK7XYUD;Y5~J3l|03%GKZ zU->iV6>De>&p_Vci0&G4UY!X?45HGbL#Qqm3gFBoYKcd&S%+sJN%@a_&Fqbz#s~VD zLbqe>>@alsKTZhrH->J%yc+pOo`fut-gUi=K-`E`wCjy#GuD`#W-`{*ZZINcykUfv zmegLkomcF^n$c}&FGhTbmZ(QhFCjG>D>o#^3I^Fn4gA6ESZO{)Iv+BVWjE>3u4!e; zMVy0Bk0r9Wq9XlvI3n^ISw(`-cKE@PZ;4pm36sy_SOmOuX*rqJrNDl@w#UYZV~7k zjTO_ySd`3RV$_ZH#IXV`c`!xnz|i_JzAu^!gDK-iJoE}2&?J%>@0RVU}_@->oNFv9Mfjl=oOt?+bNYuL-e?(>Irh*o=4e`h%n%pK6!sN6={P%U=JdTU(-0E(Iji`m z>}yR(k$N>z5YW_Wv3-Rt8O<-mvd>_BN)E{`cJGvzNJ7iFlLrzZ8#!okTYVeb+|l8+%1G zJXB3t@R1A0vCJ$v%#Ll%8x4Q3Xzlc^*46o}V%LvXnl;~#O%=uUQ>U=zKk}>uu`=TS zEMQ{f{vzEC+L03_m{~@$X(yrIHk;Ku_fvCoZFE;=sq z=_x)wU8&RQA5bo$k6pmaSNw^6eSJ_KYroJ<@Q#o;yHyN@)14dF0?o(o95<0Ubi>(W zCK_Nm&bRXsLmk;kvvTDRk)u6~y^#CK@B7JLXGv$wcJaIvvf|2o!1EC+vyC{+ zg{Q!fGy-U6n9PZlif6LhYxYM*KDvfD94k#f6tj=6ejcAdQm@kYc>0&#rX^d}uY2C% zQ$%CGefP+90iRS{#8{^r;B&vJ`ZgrLRD-}rbUaX?PdD>H>=k2OFx-o0qs<>-a}~`u z9r}ize1fEXbI7E+Jvp)bvtk8vbmfm?Z`g10eAq(8UUZg|4CAzz3uzGU2x3W}Lww%v z5Xn~qw<7d6>xzqo4Efl^kLOOH8_f3bEkq)BqWVR&e~HA><&Ix>m|0KrD!RIKENz3| zkR4|7nt7FDtk^1rolyTPE>?=lGv$x)JAjYI`0gmK`wHZL*6V-4*{*d; zQZPYA%8YYga8Rqw3~Nj#DI{6K=2Gm&;s1H^&WwXx!y+YYK9mxMV9MKu}NrKvCNIPJpo zgAN`}8j{?4&g9|oCv%pyP0EWLJGuj)*0Ie?7H=HTu&1yO=uO_CzX|KWXTnLw)N3Gh(kU2GIFHFxaG`(;UM7)qWwQ!y zRb~vFC24+wIi*X+fW<@Fga?~V&APW5uy}B`nbeMc;?T9J!%8RT`uhf1JB?htZFGa! zpt_cj@Mej1f`6q_j4{YkFF3Jj`#FO$=tC=un|8~HDwwllSer+hH!etz>N2OaFnqzM z8~bFJl#YmfFd=L4yct7U`{(wG2&!ie@eQcouw~J;k91I>+1_YC7a3_(JGZ`PKs628#^8erxgGUGgMfh3G_-r$0OV-p# zDyG^6yL#!L0RQ+l1Je7he`IikIjQrwysk?oK0uPfADsHw>NV}h9(k&F?dX|X-W@%3 z#n5y=S?Sg>wRhVlK5~7_OaD*adw|DPTz%tn_mE2V%PE#TYPPAcP(gO2SJZKyXMxLJie4Yw!1)*(8`FzqVv$#0c5$euOTZh>T1v`3&DlYSuU~_ zX^Rc+hU3Ka1zO;dW-~sbkm7bYI`dZTGx5(tBvcu2K6Y zX5@tW#-tU*RE>9)hxr8@xyCnI@2%q!1_!!It^PvIZ&&sXRKgP9c`!K%hqN;m+PefERCmq6b^Vz-OJ-zbX0+Zue*K7jP3h*dH}}=9ziqm; zA-ZhC;u#iiqn}6Bw#S#%9LV1ObSAynLDU${iTMpF3Dndee+ybF01g}AapNMZKm_mO z1SwN*6|PPctPUp+02AZLh5yzHLQ`r*D2kS4U%rhkt5HoR@Zd zbnD5eg0+RbU@hrLOd9E_@R9<|@d3%(tc}I7f)F(C@B>fZxU|TNdu;r~cy`v{uC~;S z(z&g9u>rzD@64Ls^pfP>fz|7{@3`;3^$AtSWJP#~W;G-S`Wmg_M$e$Py|bH!3;bjC zbB|27#WpXmPfvEr&Ck%bFvzu$sci$%yBp_Z6<5=+Q05eKj8&Wsr3o^#SVO@?ZeHP? zydo?L*?j*W7j)gTyTik`Wx=N6u;?_4$YYc+<>c`I`=`YK}7+z-pnY_3S|+1g=? z;>uUfDD|Fau$MI^WLuJpEI!umgQMnBQ%-AI;I-j(YkE1OO<&#Wk?KK=J>i)HRdFg0@p}IV@61HbJEkhv6z3BX z?XT3@YV*!Js+K1&9nD$w_-3wTeRfh)Ze-W~2m7!2_O8CtRdiQF{LFsiN9LKe46%ALt88O)c|xHd*RmS%4g>AqwSv(nrv7y4=_V z-sn|WU<^8V;_zCgADdWAkvtMMvN?&4^ULy^9H>Gupi(i-wz;uUioeT}(mK0mDS+ zEmlGD@C)=#-gV|*M+W!x+QRtlSAW|(ym0u8(rq+$)TlDwmC~y*dKR1`mY_OtM8pR z@JBS7j<%u!GzHPjd1Ln^rH%rOsqWzygDJ?tOl1Zo9VUjU%J46r=&bsAhX;3Bsz+N& zA~gZN8o#)T^uFD5TOz$9L-b}_)Y`c02ro}Ron)w*vF7SiBg>8t#0KyW7wx&~`rGd9 zxz={{H|KW6&l(;{&K|6>&42W}UG{y44;57|3O`b^bJzBw%1v|Ij9rgEaKoy~);$jm zHeZiEN|oZoxP`dVNAnakIv1c#-^MSA*=uI^mZTN&x;6_j8Pb^Ja)cG2oJ!_^w!ps4Wl zwCqSJFvz5=JJGtl&Mc|?+ZXSwtY6ih;GszQB6}S{bN?k@^x~X=4YhjQgdvJGK zY#VL!Dd>-XLz}N*ePl+P6jRznbv>pg;eK<-L>%XGHy8Zxjzb?_h*YAZnP?CUY?wsv zGW58ITj0|*+Fm^7s$UN7Ua)@Cnv9T~(capipr(?fuG(Bbm5)mF5Jkb?*YQR`v`v%Y z-PD=US7-Op1ZZHa6?v_<&hctMOrl4+*UW*qhKho;7;mjt(fq@AJlxZ8)y^et$(l~n zjwk-Hvh~EZ2lMMH?r0ghXJd_T%CQHY?2Mh(Sl|^teP~uqXG6Ycc-P>Z<%9Hrh0{G$gmXAha}GZ_(?5y<_t#JL0Qtf5?t1tBESc0kovPB&AmA zV^9TVMpShrR>uAz!CX;|vnW;5#};Mf&W<10Jy;ZH^icbUCsqs;N9M=16j=k3>oT8? zjn|kr-1g%9y2?ksKT;TwRF#%ipJp_s)~2ObCFrx~{&IF~E1jGw==y^=ihj})+HDu> zuypP`DTJYhyYv~RjZbzM_Jg`LJjBzzl>FhSsDhTnq7@_U!QR@HBgY=+!lU-y_iW$z z$u*@KkHF4_TlefKif(Ty_t)q>yiMNX`YrbHo+3}d9Q(cr(zd8;Y{7WS58rqz@{e>^ zOiR<}Ex3Mm&S>n~CBNIV|JTdYi>Da<*r&VJ=7eY+nk)YblyzPo^=) z4NNua;&eeR<9j>8iVJd0(37HzL!wH{DlCyvEnWSI84IcI6w?qIksfE(`bX<|UcvK; zLo-@}I&az7=%LuXq`I&%-Y0GJriI+$j>48?Kl7Yl?LYI)!JMeBBa5;&RLuD8V8bnS zqgM|kc=+hl3WdT;=Nn=*6eKhkMq2_DqC#s5NN%*Z9%}IPP-#5V%3^%e=Nun1R{>4n z-99;5ITJJi^B$G2p*SJ|Zlju-{{@A`#i$TpPBsM_)BkMdhL5udPHx5Za7+%vGRp>~ z(5d=xQe@lAc}vz5#@Le*LhdqV71kw2n>(h@nm#Qm)KXlXIoO=%>!H*5nSGTZI>*Za z(Xk%-1ijKrsR_-j?XD@w%P)!!@H4097@}J;=1;Th4T(GN{jXKovzxO$tuuyZ**bR* zq#5~pcKqSybu$~Hcx^;>{PlTlX@*0pcSGB*~=%1Kh z-C?PZZoaS0lpV;WgeO#`1x41ay8DAeomUj}?3$6S-W@uy?^o-pZs>W4%l+q;u>79f zobH0~?1gtOX@1y=KNaZA3jEOn_ilO5Cb^SBjLn-aQ3jpj-#Ix1B4LchX0;3n7^4F3 zg78-gJI%Wud3))sTUVBOsQj82?XDC2%wa(RT0!F(Zf{O)UE5z~(s)EMp}Y*Qf*j9l}(p8H;tCBqYlwnpQ2t^lD zZZ{bf-XgxbC**Q^qgEyG8eMowd6KVLS2z|(8%l!H z+VvV$NN!hd{<7Kidd??hI5oD(V$Bnk+QPnN<=P1E>=|)&0m;e9hS7 zE5(T6$^e@oZAMeJr-HL4aLIA4#a3R7NX`l20s=zwQ^S09oW& z`=!UpE`|%}G*sBQGy<2HVI1ewZ7?pP<&@tpme`m?xcQArYdW#KSZXnmH91t$5mT=$ zG>u&O(45tAMdN)n!8(JFB`-dDa7L@YLgGcWAgEQMAo@A}?B^F99w>Q=D&8ZlsyVcD zQD0@C-ZwnE))up}Zb5CdmnNip)zuHawlXlqXlsh9-Zb7F(Oa`^&64blaeGvKMEjBT zL(wrU9lfbpW7CSgV}{2UrMK>%ldIS?^6VX3EH_ncerUXEQ--xD(P+#Ys`m)gaJpze zZE8-w(J#Wgs$E~#TC3-ham{W_XjWycPsOTRrZ=ofE^1E?xGAV_&EeM6St(0Cc>VOw z1_67qbzxRrUw(V0QSayBY42ZA6p;|*Y07NN$!pIDjG1=e_rUpT&|fk5l+mBthT%^w zp-lC{X&I(fU`%sbPcNFoF-E0ajWq%c15QSzmMJkksAGKN&b_6*w{EES`de6Vh<|ig zfM^@a(j->&=gnQBR=pM$mfMltxN@LA3X}9;v!6CJ&_@(JbEYk?v754z&A4DG%w~wJ z%CU%w%CXxv_T~m<4IP-4oxt%|tWGic`bWh1U-w2_L#}!8qR?XV`8!wEXV)e9n+H!G zh%GQi+Y_Q-%85-5)kgRx4>qTr<-LLooL^Lw+1HrgFj#1!3+W1W=htg!zdzXos&hA+ z3GM&`2#lHEK!((S!&*8;4R!LO3u#QaNo;+a5*+p}x+R@UwPjRl^=8B?^k||JLgPaH zRiYRkWlq7h!H#zddvb%!#nbcb1p@C|);(rV?apI31? znOWn5O-55;X-TNL2n#2auMdL8J^_yRF}|L(1!5~Sw1&yKF7*9$Y(N3d>CM!Xo~WRs z(-kSFZOtNTI>d5SBYr~?JOtW5v`;UY23i3_bn8f&;Xg`G{3K|b3FZg_`_X;-QQ+c8S z6H-x(v;~=szAAHWZh^IVy4oYa<5Y!86A|nk7GzKwOR8%kiW@ycatf;x@<;08)EY&~ z_=~^j%^bS2FDx&t>ENOo^;*xo_R*ZkLPK^_T3~o)c}-0iFY+pW^owu57_}D#nG+M# zLBZZhnb`rF0Cg4D>RVJ<=CAToAyq)McTk9=HR=kQ5`6obBO^FVyM?=z^N&o#P%Gbt2m}?o86U zzgrQW#IkE%ru0@|oylqK<)4dgYb~GKUJ|4WZ0ahX*ID+Rw|8jy!q(N-Oi%Uo4KU>m zR!8-3nO+*A@#*M@%C+ZVml|%pYZ+U+af7}2z*wPLqpRp&y5(SP?BGCifUUQy&NTDr zoJrfMq}duRY>QlZ;*}MBj~wa~#o(chhiasV{Ioc& z$S2hfB-gL%De#M|G)Gm`wWUVa6(vZbXt5j%v_*M`LHrGd~mw86#w&(f=YZ8mBzD2{EN_KISJ?SHlxM1VZ80Oc3#ZO)rQuskFNEqn_U{Ox7N4i54Ys_ zNZv|GRH;05jt_L^7>($u6eM1y>YY_Q&`@Uf_KM7H>K{(e818G#3GdGwU$iv0=gHam zL3tHTNnHnFB332ty8W4v@q+>8!38VrjhlPZbi$F|`)}Nvu_1nJ-GQb9Gkb>;>PK<| zbA$Z#7L(oX7yRi#@b6WlL8FM_Nu<+_4dBvsF`CY zOc_bh9x-dLd2pt+-hA&Dhf5aC&1|uUgw<{s$lmIto$oMn|+Y*#!G8d+Xm~6Qv6%kzh4NZo01LP8RA&RRYmkeYWEuW(3O*Wd%G@Zi4EpTWH zon|f^N;ESfvs%2V;m_cjfld+q{2dx~xV1 z&(k}wd2HQ|{pB%T%_V+eIpKmLFeWvqYM#-5cYsHIVO(ys4<~$R=p0>?n$lVnrwXcU zo|aHNS{Eybilx?ykbN@b0YV^<}EtynZhJWFy+KYK`sn^X`l~&ZCH#-2(dTVEOjO6UY-E~ z2G8a*vzmXgx>lnx^)BADVQG9}WTtm&ennZ4(OVmqS(jjKX|Bz)sUE^LQU&Jm19#8N z-!{KWA#j@9*4Y{2Vna$ukS)X~G`l%HWm?y?l$PmneMjcTbtVnpwQp{9^e+G8h6RTQ z>@%Wsno|M{FkrQ#kmwO)?iw)0h&-Czxr9Rt+Wi^gqfD(5~?~=7sXdkK+Ceg`- zXb3jlDzjWVJX5JCyt(X zDJ99TV0+H=>Qt?ufK|~?Zwc`e#mypbicJrSD9MbJylf52yA!+0Vg*IZ_3!N~E?;+Y zenNj@L`4)=QPFB zv5xl?F1ofK`kQpx?D1vO6!6Di4L4s(Qws_n2_33Hz=k!;`dH4^k*!3UQg~-H%v!OfEUQW?T$5Hd%NXvHnp+YcQJkIN zwM6Bm@ihy)I@}uX&tstHVa;iOpvAGuWJ*sTPZO{$FCr*btJerxQ>4zM^9^|O&t3+N zr7$xwz>tz#m8iGsS~kzFP73ffXVy&5wZ+u0n^C4)U`Q+J$mLQZ;|r|5VR_xTc?s6C zyi8+2VrpinKFNsbep+d?ceo~bT4_vs)!>N|qaiD&vtyMmMCYOMG5Caqdh7F2yp3Mb z1sMr?2x1kCOuTJc?0ri$9(w;oswXMPcF=b^=sSq5grNW26Y2|VH`p)X>Kfc5$}}YR zESxUIZbKkGs;xWbZC&*)qE-K&{nCri`Y{?3H7UUVLWEl~26=-t7zR z9v%~tzsWx$&`%k-Fi4kCJy2jPO)z+9{33Kg#pPw;DPO#tYwxei4Jh9=UctRsm>yf2 zWNKJ{V_S4hsXZX2IL0@sq%Y^5n$E(l4YB90FUeFPN86d>W@ZwGb5@lBT3)6OrFuL03#5x^jsK|rO3}}_2 zwRIzFi@R21$&o8wI5d!4JW^#*Np?t0Hn567>ltAtcojV5{hivs8o`<8f=QU@4hdoe>+U z(?{t$@7UH_n&7Vvi4J_-m|s$E)&5a|^Y$Z1WP1=R`W2K4O@pz8|h zOG@AFzIE|!T9uze3xs72`% zPr|bBE%*Il!N`3ZtJUhrKVBDr9mn|R8Dt9dPq&q zHY2alB$Tu!m$isW?w!pKEJ};0Th|v>XVcLm}L)0rG0dfX2qDpO2e@FiXj->LN{*xC?Jb%+?t+}olu?` zuNOp#=cg@eNc7by?(&~s6_>8yb#qFrDPY+RkN;~++4j|=4e?$Yb%2LYgf?yU6}Jzr zS>mDcuU>O{i&v1Rx6#{6o7Fi#yYb+{DwW!^wq1jPA;6%Qs_JSxlKgO6op)4Giq59z zy}Ug6;>McpG=s|5S09rX(@?RZD+M=KN2GMGtM@hrNLo{J@w8IKN1e-~f?BdPfj-3@ z!6EHcfyt)URn1nv*ph*bEit_bmT8uf&4n*=rh6LZjfIp(HZPf06_q|aJ!2%pKGV`V zoUMz>DhY|s*PE>hCDu&6y}bl3yn@q(#|P=G!A8A?(*$W0l1j;O>U>3HdSQ6!th&P7 z+=y(yj%9nRQ|TD~n0&Vw0=aJ_wdgCiSfiU3oLrFwBR@8gq0iD_5&#!Ct=}#Q=U%?& zUyq9qOs!9E-7q#iS*H(<&oU)%*u0F((q`54jxH^z++SEQux+^2R=#Y_6@&S~Wp(X| zX;n!9UYgk9z8}-x9!-n za@Z2A`I-yKs7Xw!NelX1q4M=fSia*>jeSniO+P%cwk{%J^zMxq%XKB^JO?`vC z4W{}HJ*lvX8iK<7^ygx8t$JScjLb=DIJk9H)_tjKcJ41Lo|YA;Qdtk4`O|{F6YFY} zD$5H;y#r$+jB2IIn9-bFyLLupfJzyj*PgyETBwLE@0~T0WJpS|hWh&1YVEMCTQaO6 zTA%5DVWDAuUS1wLtvaT9DF0c<*LO{a+-RSX5m6j|?A49gG3{G=!wSNZ#u>_N*fUf}xoR}0{*pccNp-GDl@b>oij?A`M;<>KH zr9s#GMCZlh{-6+pMi=Of6#}haY*}hhUIe$~zAV4E?3&azoIUy!Gt)(nk#U%>ey}6?uMZS_UbMWsGln>&##5s-CK{=I&Qr0F3(D;+Ne-(m^odA| z6z$HNCw(u@Q%k9s9ADliGw0Y_}eh^=u7?pX64K zDWOx=tm#_p1uCP2>>^ZbV5fwto0Mv9p_V39hsKt*S!VP%=ys{1a%*GKr+3ty_v}8l zurM@n%ZcX}=n5;#1J!=guS{_bl_jAw_H^3}0SOy#dS+q4#ypi?WoTJ{&ytwIsPt%~ z`UjONB()+Yb$VA@jLtVWwLDI+u6e4WzJ&`Znb$P&Mx@@F9p#(8rNLt{Hoah9*ocTmTo*xYc8;`r$g9=nflxHSw6Ey6E{z$KYGd&sSW-y}?J{ zl5zew@qtZ>`%|_%A|LdM;d8lPR~1eCIknR9@Wi7BeG41~+;?Sx|5T(s7mm&2^jyV! zbmm#{9M1iJ!umBH=RfWezlUuN`#p3x&l{b{(cjE81J5 zwr>6Vj{lnG&uuJk;OdTuos|Kcr&*;k@<%kHs>e1hSFJfZdW@Y9KRUM5@geupXbb1- zNE@MbuflyU&(S;1=od~vlY3D2cf=joj{~DRyOhFt8kZe!rw2JGaXOD=)2;CQyYx;m z$FV4O%G&BX{}z94`U>{#r8^=g&Ij|;g4y+9I9EM8Z@9EwVIP|~JY2>OT=PMP4!O%z zR-sHQJ?)PZGd%r313d_gyZgYqiU9(R*`i|qA&vzsP^$ z@O;+%_Who7(lSDxz1RO%+0`G3Xjb-aI%-f@&O{_)1+p?c2h z?|Ac~LSK0L`;JlZ_D$E$y0opzO(=_=DY=mE&-B~B#RdPK!!TL$PjuY}Zd}>=6tNUn zp*o5yTz&A!#OKdNzC-&xGx!2pe%yaQk3>d~%Cl%!!GGSapTIHy!-V7Cv0Y+-!&AX~43V*664jo9Jsy4EM3%%BF3V zwx+aV#f@WUT?G6?nv=(v9H95fD4WIi+5RoM%I@SH_T3sM>Hgb_vjk3Q0riz>WbO~& zK$bdh0iahSzHx-|#aFD|)GUUaI~geytG$ge zcU~VGYfB2W#O5plF6xsn;3B0IxL9N|l&6)?-{9|;7a64ar$Jvme3NfzSVdeyQe|q& ztMfa%z6~)w_@G~SSY<{+()?mm=oPn6eDUPha+~TAWgYJ9NTDNdvW)=PYMwu#FofB&5|cc5LwJ_G*OWFR;r2!Aa;&P*w;sk_q91JC8l`R? z`*YjuL9U$7{Gs6dZ$`9UmSC&Zn&s_n39&W^U((w}8#9|NHrEBC%a%Qo5VN{@%wXVl zofpmv{CRu_X(sgL>GUp9dV?GM@4`RG{LxIOpm&jeNADt~lG7FcHH)`S`f>jx;$tTL zFEBq=^f0b3!dX`>dq2({uMA@G7-OCJIqxzhSpC5l9&d4U@K>;S+zRH5m-?7L(d`%h z$oxrezp97%aqtA`abK%4hxu_s0?J4Ir4Uv=rrxglPh;_EEPl1)wA9GrvD)B@f0V_e z=kR_m+8@s1u}2900pRB~7N5oZ?;`(m%%9EtBe26PXMQ{LZ^N0!XP6%xkNj8ReP{Yy z7C#&Qk6Ao+<0Ae=`0r%?d=_5@Jt$u&2Y$<#zZ3pzBt87)%-;cjJJXvW?NPrN_+Mi2 zm6PcQSbP=r%NuYuJ&MKSI118Vq<6tT4CO0U{44UWqw%=d->&Fk{(6?a4eJlH+4~J{ zzao$M8<~GU*8bJ3ye79_ILiFZ%unmPiuqfZzYF#GjQO#;iSkdw|0MIHB>0h^kj?z< z%G$H?Npq<#m|D=Mg;`;Mib=AYyz z#RT)8MgKle`&WV8o+uBhmhdj~%aiFDKk*PHQ|W={-0@ES;bCn-eJ1If#|uc0@|^s{ z3vR!Ye|WSM@ssuAC3n1&e|RPHPx241a>t9#`lzXYN_igccvpQiZokO*i}$=FJ);L1 zmLl<9+Fss^#ZU4R@6G&^{J?9Oe-ZjCl%@Bf{tNuWLnB6g-Uhu@uy{Wf{}IxsQGVrh zEItk8;cU5&q&mj@9r8cK0-+S~K`i|fpf|e|27fS%f7a0k`a^&6AF zbootwLP$k?81v7@_d*|~^v{Pg|HH^{FQr!=^A@BZl0OheB^&&a%zrIOP>iws&D1Y{ zjQT|~zf=A`3VP^ZHaz42=g=fiw}Ca%V+YJO!61c`JZf5{%azlQml{3RohcQ>>2O#Z@#pCIgDekOm(weokuO6E^u^&7|e`Z+>8 z+UJzNI~;Z~pXJBoFQ>#DqJyPp@|RS~-%0qA71E<;fS(chAN-SI0{Z6&^HcfO#@=_z zixK$)aXG^ulb7;&`CH*T7SH4p+TS6DGW-{^_Y)m0!crFRlvlL82U&SVU?^^4mhh?L zerbr^O@P}4CO&@dPfMjC#}2Ud#5}()Z5p0F=BMmTQ_ob*q8n;aCZ z_K1l|O$iF}P{+n`4fpbu1OV2`7HQX1?rL1+0QrHo0UwdYWbx(tPVm!>8d3 zSezq)C2{;+_>@!Ka06OK(=8As`Oo6F^!^gwoXF8DwVcz&$bRL(>184Pw%)$YTeiV; zl9`#cw6I_e-Z?Bvgm=EfrG;{IKP~oF*T^{5Vla(Fi)vbu3rl!bTqp`SJ(iqf{Jpd`;^J9g!&VaQ6eG9lHk# zb5myBz`k`Zomw=y@73R1OK*l5xLbcWZdZI|l-o4s(BVDwG7r*R^J?tJ3O4k8;rI{Kps3ISchVPIvV+x(bQ@uQ#8`NCURSNHtvjLheP59y_>KLra3R;d+Cv3) zqw-AasO3I!w(~XG&Q}zx8DFM5R&bv>!*MaFQt=cA$%j5#5Bcy4=0h00`TwbP0mhig zd&H=Lg3Wm^1TOv`+8atYQ7eQovXQ;-v|S*KSt}f;|6>b;+d#oypz}p{0Bipa$5v*S zfHdVUZ;ZIm5W17xIg4i#cHyDR7$qLVOmB)wCFHRwMhsE9#6Xd9p)v~(^DjHC7^oKd z1@*$29X08m#q_j^l}D^%T@?8Ye|2>cJZTnyzsP>HnuW51~fI;F`O)aaZmrW zDeC7;8W-1|**2o*!V=}`Tl9B&=>NpX!J0~mhG*ui5ZF3WPEDJ%P}%K=fa6PyRF}1R zT!as2f2?DqmG_%=%%(l^Qz0VeyWk= zqE_=Svv$j`JM45mM`xcd(dfDx2sU;$7Eclch7o+*Cruf5=|w?~kCPi`Y+O=UkcID4 znob&l)e^^GteQ|GvcwyR4hb!D;nuJ{`^v)cY;hHW-!OutWEwkTR z`%HI}YnAC3+ZM)L;bY>T$M1Qm~~Nkh~t05;%fNM zE{V&MMlY#LHUAaY>n=|SRdr3NOPyd*V5Wt()Ay9BAy@m>qYW3{TPO|kpQ&aeu8#kf zTT0s}_$t;+zE|n0=asZBQ{Kyz2E`ba9q(0%OBAJutL49=m%O1o#0lxD9K_X#X^OHR z#o1KT5XaKfJcT&L0`}fqXz9*47KXS6eK@03j4pGf!Q}SGR!S7 zcL7Z%v%6ZI_rtNP(W9wN(f~6$)I6Lyv4YDYuzV%33*)n>0*?zG=@*Nzc!IAxM?~^> zndYupeQQwA{MBntOq7|q@HZE?agX{tKC28hJI=njxV6&Dlamw`8PSe;FFQVZSR4Fs zipKj2e4J(|-rslIo@Y5pr*|~oqIh!0)mQJ>dG*yhPrV#6HuETci%aqxAD_AM_WCQ9 z#5Z;<)SE^eLiXJDb^E3d(Xo{rb=s)t{cqSOL~r7vQiUlos2;|6*A;b&<^LrZx%K`p zoKF7y?aDo+&YRv>$Nln$V=Fn`3;v20e_Sf{kZ@}3eBC#1M@HhZ_alGeW4}KyZpZai zoD7SE_&#JObZuOuMKAq=gYT9^a9=BmCaURGUoW2jqeA&ZM$zhE-jh#M#N)EB3B!b* zt2=;tLU(Lib?4V-9+~!A$_H2hitAK$+qs zIgIol&^+8A)R4DP@h#$W@}T$^`K%O1Mx{~ttoTR3UifE`Mbh{3Sw0q!;W#1US!|Ne zs#4^$N+Q25?I)w+Or+aSR!b7%R+C(@gACx@>bv4|WJG00-A>A@#VRse+%La~cF3s5 zjc`AqbwHblK)7+?8B!*OkxpSX>3|y}oFScxbMi(!SBX|KQ?Z{6D^@#p32%}%Jhv&2 zpuJYIUwDk2CRr@t`&YtN`IL|)e*`>ytvJc4;8wYC zNpZg&{$s$~Ik+Q$KAHw~6HvF^D#8Wvzay2x-^mg74scJy5Vrtno}yuV2Cjq5ASQv} zuyY#eK^~u>e;!8~4&nX$QzRDe4=bM}{Vp&8_r(nF6!#ZHo=PFt(Y|2)K>NZ4tRHA! zxIkJef9UQ9+7}nWDK1Fbk3K?QOa;~#BgnH$Zl-v@94NPva@rTPAEp9uf8|sF{xjYE zK>K1Uu>O5jewX&eRG@u<{<1L_?Ph&{iA&o~%l}E2(kSSJwx7BbKeV3z&ZYE>^i@CU zQu+qHQJSYN#WUJF&*jc{xmUurBq2Q4?U&}D{4z33c?5L&0Ob=(tAH((Uy!zKs>`Rt zKOOye8g94zAwEDCNc$0G?!VN3-vHvy(Eg=3zSLD4$#Uff2nP>RKDgASd`WrZ zCtdI?_@JKhF5{mLG6QZR<74#Sf9g_xr#we#jP}#7$%=^ zyXf~&zyN5Vnf5Vc64H<~^qn`_-%tA)I2aSolV6E@9Xk}~96QmcBjQQ2Te*}BqJQ3_ zeS?1ZGy0%iv0s)&Klu#g#+^#y*aloa?BbQ#$gfq^jCwBxoz6r#VI)nGFmkL0u7gOq zc&q$t#nrHSW|3LI&rY}laCZSGZz7+K(hX!G<|Xfm|AdVDTE3skIoeKP3oM^oND?3! zpo4t*MqEcWvG5wQT-1|RMK7u4KLgw;ze}Gr-^ph^u9wfMJ4lRbD`f18XoCl7^T?22 zSFe^|SKa`*=i-$~+H=zcmAU^xUx82NxbtwkRNhdYm!1c1r|^fHjxVJ*XWQft6#E?y zOs%t`5Q>O;vZy8yn$>4FI@+C0dPjNIPMeo!nMhNLH`U%EyypC)Z=-&ppgF#ctDs# zw2)21fSdT^WIte=@GHnk3PB`75%1UvKHkdzo!qLp+Ho9wW(AC(9`V9Cc5+PL z3fd_kw+PPxf2(B&qsP^x5Myc!;5UG!LXi9=`e{tqD8GmHrii&DTWklPed4$dGU2q) zC4YkUPj|ng{1!Y{MrJC{V|-Xa76{LioxuAhrA6K$#*;2_1oHfOlEm*uKNXUvrAYD| zzl>Dy3rLY7M1E269O+R!C!gaN5-&bd{#s}v)rvRdR}?v99J;`9z&(oHIG?kWd;$1Q zQ6RsmC`3OJt`~5VqJ&&Qbqc3TEYOoS0%+QUfUD6DG~H3?7}ap^1XKX#12*%W^5^^! zvYY#y)Zrao@kb)iy!kJJXegXFbzz+bd&LN0QSOBjB z0s)T!u!=i@8OsD#GbUiMoWLs8`F(Ja?mR5Gju-%}styxoE?8ltUniXy1i&0Rfqg2D zO$dixJh8=@e!?HmSZSNUYTS9u^l15xYPioK40%mpRe3@Is03iG=lp$ucLDDMt^xcV za2MbZ;CTS*OyRq)kp4zOeozB~;IDxnaQ;rfX}}5iVZWI8#F?Jfnf=jr4Tv9u28+m6 z$n^+e9&}IIX8=_6h}cfH0>=-7ukryM)TMef)%6g*oAN8w^^|GkkgACs64sML(miCC zG7;|YNf7$&TE^3KjDt>%=f^02({X~zAu3B;V-<}XbnDh4#sM0~WEFI5Iu4&KNxYb;Tv5g2oFI#ENzt#5;R1)*nO}YbbvBQ;sWz(-`Y3$$j9z z0^wT7tqFNTIK^aJ2b~8{ydXWDFXV|-mxVq_bw!Fh@pkzY)cFnglV})q8NR8`Fble3 z9o#VB4>}RW8w2QVs=MU7R9_(Od)Xl&ABOkmNiJMj(#qSJZbJKzzQ0j^kmjkHkhenz z@uO)O(D!IQuJ@<*AFT`PKbq%FWSsUN%R7l2P)A_Qk3cy+%+G_ZQ0PP8mqHz|-TQ)*N6KH(IvR zOs*2Up*x~q#QRZh2+Dm6?#Z>PX0wmWA4x^5+jZ+d?(rS%9%JLP%XQ~T zX^OVXt!J^kDIRGV)OG88PIt)VAEGov`%MImG2CC`V(dRa`y2R_DLyH!vHpf0&F~1? zrSzk|TE0uU1$2aYJ!t2&Td$W^lV_y0(4Q7V|219@a1285qcJ}y5XZ6|gq zk$8(si9z)o@s)l}o|NVTe@~Jkygy62gOp0QkPyhnccmbVwcVsmQlU+=knaHbvm_IL z@JEOAA^fwD|0s0uKOxUl=++L>F8UI0=_#^BdO|)e-Az_X2T27RPlHJ|_qzNxA1=SF z_>jEB8=!X(lCQjq>=QnhpA-*}4FGIPht9NtY!LMF4Pt32F$RmiqQ`A7l1P}%EhYsMrN3l}QhW{XcuRJWK$X_WwmTyyTBM%7ch$rOb zmq@b@I{Q}T03QuvzOEPVrgb06fwB6*$a z8Zu3I8nXXsG6Q`wAlyi@g@@&n=<5;TZE~;V13mK^vQ9cm)(XFtpOQX@?t5I`A-qNw z3QxmswVI@YZ(D_>u#?;)KPbrLUU9eFB%FYp`UlFrMLr>%ke>ogKMlE-p|oMHYLH(N z&d7ffm84d<89aH5{2BHfy#~GbO3=!D%x8L;?zfr@AR!PJo%vPrI|lPGuKh~BPxuvhcOKrk8}^{4B)12gDI1`JA10ZQGdb9E5)CNgjV_o+URFGeXM}M>BuViRiH5G6#HRrKq1Qfx zIJgY(F7|juBhJisK|Ud!;s^OW|G506;sg0_*nhQzR}l-p9Xhd>`~-Im@C==prl;xL zX%y#VhdYh(MY0R>Wh-r?;ydC2nYkZzjaK{~HckNl0@=>bgI@cNe6L~$iQ@l3T998W z^3DTvaM#Fxr=Zv)f1?N@4GI&H_?yTM)a?$yDE~F_#r*m@%qjBGhJ56Az2Z7zQp}d` zP~1hTkXJDO3i$8~lFmOwZdANMQWPiTFZpRi1!&~2C4KZA=!{h7ECu`-`sJ5!u_k-o zgX(LL@1;(=1>^(O4`9c1`(5KqJF}@$dzIU6by-(-xW|P{T=#sq$rau~^(5eN6Xc`Q zp5+`DX1K-&xBbfPpLC(?^aICQs`Jos+cm#${gLamStYq_RxVerb^2vrrlTGq`&{mR z=3e(>+m(C%@3v`OGH(6Ijzw+Bz+ac!b6AI(aoEG%0G(&bkI+J z!e9Cmbm*kVk6rfGpK{MY?l|epZAVR?(*JHd&M55SPCB@}>rTh)ba?;g-Anol{pYmN z{Tr9*ebg@P?w3nk1-?ko*u0V>qTZn9G3l z2eLwXlm=DUIEstR=r=c8m?=chr_a#}nw#-y*#pFyD>WAGxl1 zwD16QB-lTYmad&~^c^?uCtYe!px~kt%5xNy{V1E-Ojw=ShuTyRR{(p!ePHW*5%lGD|ZwDzh(BHAN{bkRjlzLZ9Vd+$NDHh z{tES>Yl8HBYRjWGy==hKf`J?dj0@4wc@6LrGFKq-`@(51jRN$HS1``Jf_z^2QDF$6 zb@4buPJ6vePIIrqZa0B-$5f;X;`l&}dYp4hD{O6Hum!u;Z#~XUuH!0QVbnDNyj}hx;3 zoo!eQ#T@P~fF87fHEy`|>KjSDXDXik5C*#rTv2^J5s|))**TzlQrnOE7Sd1iVy@Fx zkdOQiqJBwOudS0#ai`%fb-6A-mjJ)s1&PjdG!6C!oFWZQ|E2Gd`9BV4X^z3Yy1 z*U6oayROvbXq%5Zfj!gwX!~6*OGC?t|DyM48dtih;Vk`5q;&%=1J5k&3Ak5W$cNQ` zN?DiI*Iftj!E0EBe0=T_!v6S6p;F1F9V1V5+9T`xfcXB?LKh<_A($X z1<^?ICt;MlBi#<5dkO%GHl%rt+{d3pIzMus_!g(6fc)N|0KFnfdIk2&rHrm7%a~f; z&pl%u=1mGem*$cU5_*lUoJkuiQ@_L0vMi-ukf<6oJC4-1C?5e{^v?P3KNKHT~3l{yXtBkE!6! z=l}1nyN$G-+zJ;?;L_)*b!X}R8{t#m{i$b~r#p^4UkSe(P#+qmSmShQI*MQFclXx? zSF&P!``-dy_v81)h0d_c#nJLEgi|{FPe7atyDPw*7BGMy5fc<8GN2E5?`Kb#4Jw=)dlX+a)4(N#PwoY~3^{1}t zE3#l}9DSb5&t12v`QC(h0PM;PXdcRV==bsDM!@Y;LHGcA(VI>{_&v&at`+brJbw#U z0DKH6h5uo=U2y*fw*>BkZa@Dlxl;_n-kNxB1;Wq3|A69cawq>TxeIb`DIZ4Ekbw_S z+~WBmJb#JsJua9HcN66OQq2ld2XMPT^-SZJqHVYxl?(Z4;F0G4=J=m$+y4u3|F`$= zziZ$B3w`|4ZKQI=1()dKZk^bzmve21Oz*Q z)rHo_Ri~*gn|HY8I+N{m&6()jiN({l0k~J4;Ku9J^cTg`{AhYQZvn7**k{f#LS0vR zKXP5=ur%)U?l5=VslQJ7r^z-fRi1UXkHcJ!D?0_+De-E#_? z{)g1Ik3B5isuZHeTz{cdB7ZK{lNz-LY?)hNYjE#7I)*h)xj;p*M`|`ZW53c9sVl2{p zLhe@H3!5&U0W)AXSfM-s`_Mnhji~DinwG_-!XC1L{8rSFKPlfLpNNae3~>(j?7Tu+ zl(%9{Sc|pn81f+Y!L7g={0e0gY=YRojD|-02E(wa{-|WiOUD1D=?|NXG}@0HZ# z7}gbhVEZr&gRrL+VeLgl^uk{VZvV#`F!rvf_sfII-K1RoGTdWuQ{_hGa_mWY0`~jz zNjG14zr07%VQ;M4UQ$cm;#Xq7*AlG5-Yb8sX(MAw2iA*EVBPvXtd;*AYteszzlp4Z z{iPlCp?0PrcR2EyhkDJy=aeFFzT--|Cj;waUtllJ0p+b&hu%w0h%?C!*n9p9_M+43 zUtsN^3A8ng^{N+%R(Tt_NgT$Sd5`=V?DoGrZ!CL%5<&ETFafkdB?CJN2+dx-GNG#GlA$~yO@opsi>Eaxm zhxm|eSH{RMi9_-axPz?-d#xTro(h!zmH3wYsq$H@`Q?(Q(9Zdw-FU3s(eoO6l-N&% zIqQ3XzlnF?97l%}lsn{&%D>|IE4Z!noAUqP{;AT*ubJH&>#%OS8C}ErKXI0Y?(3mz zy>9y&*4HP`tWY~0-4g{l@V|9l1^LjuRS&q^^uM!zkgnPM+#W(^E28@c{}1mKWHu`7 z-J|;g>ApU?ACT_tqjrAm#heY8hdrSpT&%ZGJOaQ;$%$2f1%ShdD}(zo*5Bs?Ke+%u z#eS}s?(3y%+wiB0cQ`hP9gdw8lsg<7lz#=_e1&o=N$29R$D8hB1RQ8+4 zVt2CVL+tl3`#r*buVTMfv)^Ov_c%-cJbQkL{hp=29KC@s8g+OZt`;q|5MTV_{s;C; zOSig0>_`*C>Jv+}jwf-8rw`f~OMKaL$p514ec<{W_s9R&b>07FLKrgPZH7kMGDEh| zwzd^*%hm{?w%UreQqAHFv$e?)!Vqg~$b`lmV;w?{A%w6)2swr@grReE?DxE`cWKV? zIiJt(^Z0zt^Yy;&>v~xAJ~#?ExzrtlVJbCMzGc@-ZtnTiIyk<5s?J zq}mU8v~AS)_1Bhjglk(6d54`!rB(#8!kind>b9B$J`?tGE- z7%SuHfl+vXwKf%-H!R`I$Q}M=rBqsBsFjadx!KA_D<7u^M#&R4+9oTXwDKt{ zpSJNoV`Yogf7QzOjZ{Od+|SB56Nx(3)S^FMl+m0)XCve3|IwUBdmzU#`lIQq%aNJ* z9WASEX^oX@tXyklt<`zj>O5m4=MmOaoGHaV7C4XgLzW_sW$Z3T?ro)+pU2wyImV9Z z7{>i{8AE9W(#-8KockSe9CJGx8Hvr~nA;|8>K<6$k&d^TNzDJ_nBhjwWYmu1 zZAUL6msy?VR+d}2!pfCauC{e+tXyN|S}X6ecJ8*a&dPhNTyN#QR@Pg2zm*SI*vB~9<}l@D>qx&XyxNpzHc;{|3s?}GtsKUt&AgvvGmLxNYgW8=^4`emgJGhQsnWB zT?g_cdgFLT?M-9?@6S43k{Gk&?bsd9xnpwfvN?BKS!d-vR<5`5UMuUZeB4?#V|u)p zF+H9!HFBJ>6BIED$8%>_B_|NuW~7Pj1Y$Gk6VN`6f2XhoN48moYyDHIkwg^tH0dJaw}I@xzftJtp43r)>(Ov zmFum%*UEY;@3ZoLD<813!O9I*ZnE-GD<89Rvz3ijK5pfUR=#HC`$jT?MjmFOWdw~h zYeYP~l!T0=H{$6flQumNZ+jq~9(acINJc!KS!&YDtt_{4g_SFjC()C4AS1DG5PZ90SV?j*Yco`f%>zud}lD_2;#(#ln~)-6`v zYUOQKR$F<8m3LX2cUxI!#e-s$_K1$uyTWyo2-1)%EzqSY-OXBk6ZbK zjk(FnC#`(SO0#yK#QZe!eWS@$jLlS&AHIdv6@QcM)mRd*kT6>BvK@ z9L||Fj(#&a$y~w4iRrg-TtgNiXLE**lMH-~qxarKF0=Z}tt_{4g_SFh1V*Gs67YK{a&MbHc&9`95G#js zHYM0d66}>BfpM8mjv1E(#>J#FtXyU_ms?qGb zdjfNn$Qh9l$YV*L%=MuIxi>P!UQtu*Sfr4%SyC9I+mIz(Nm3Z8+hjVW9lYbm=+8#~ zP~_govq|rP+#7k0O`l`a=UV+tdb^vqt?Z3lX78Do*?Z-Yv7|-7^<``d(XVwdR%Tj zF1H?+TaU}F$K}@Ja_e!q^|;)6Ty8xsw;uV{CH9wFkISvc<<{eJ>v6gDxZHYNZatP; zkLA{5x%F6XJ(gRK<N#SZ+O*TaV?|W4ZNMZatP;kLA{5x%Ifh zdR$>WuCN|gSdS~L#}(G&3hQx&^~mqu)1npD;|l9>h4r|?dR$>WuCN~Yo&@XW3hQx& z^|-=%TxmV7v>sPlk1MUmmDb}*>v5&^xYBxDX+5sA9#>kAE3L%&c5UWwubchIwN_SId7YIvS)H3mpDs69&6~KkbdWapbvF^G zk;|-HZe_WZE38~;rMc(7iFi8XW~^O~H1~}++tu@CyLzr7zd}}7FRLguX=8tty>Gn5 zmfm7ZZ?UDf*wR~U>8-Z(R$F?jExpy2-fBy4v!%D$(%Wq5ZMO6_TUu>Pt8HnuEv>et z)wc8wTY85ry~CEWRuk17wsbY6NwV6Wm8&T=X>&iY+O}x5y&qU@?*~@XKhKbF?gv(j zxgS_9=6+zcnEQbmYlj^(mTRn?8f&M<+NrU2YOI|aYp2HAsj+ryteqNbXN|S9#@bn9 z?X0nO)>u1htR3D+%Kgb2YiEtMv&Pz4W9{(UxWu#8+F5JuthIL5T03j4owe4^T5D&m zwX@dRS!?aAwRYB8JGFLQsKw5qQft?RTI@Ka&AL#Foou98p=#~AP;1wPTDvaP+I6AU zt_!tzF`8ywsKtwsW?kSr)mEByq1LVowRT;owd+EyT^DNYx=?G^g<88V)Y^5SR?NCk zD`s7&6|*kXidh$G#jFdpV%CLPG3!FDn0296%(_s^uFXiZF4T%y7iz_<3$=DlthMVx ztz8#t?YdB_%(}3Se%OFC=hr&=VT1gMUhR-gRz7OwV^(gqveC-Nt$f;E?Vq++`)0CIL!Pnu&)EDH@;6Hh`J3fcn|{@%+ibec`fcmWF|)VB=5*T9&c3v%+iB0`POd5) z(rM4upSdobEkD~G<uaa=wbT0A zX?^XqzIIw)JFTys*4Iw!Yp3z0w9MFfuyTw?B>PPytwYi}WWvrdNLq(vM~P%diDXBK zWJigtwK}wpG_B*^PP7imUJp6Wlp2pn<8e27`*I}LJtS8NB+qkrLd2|4`x8kAlHDJY z-5-+OAClc4(nPX99!(CrKP0<9B)dN(yFVnmKP0<9B)dN(yFa9faDN-&{zOQc*sx=E ze@J$J>HuOp6v@4Z8fqgMY9kqHBN=KV8EPXLY9kqHBN=KV8EPXLY9kqHBN=KV8EPXL zY9kqHBN=KV8EPXLY9kqHBN=KV8EPXr$VPIIjU;5|rwY+Orz4r4NcN;EWcH*;_M~c< z)fr}WhFP6qR%e*i8D@2O^7hM{?BCe8BH6bhP5&Qh`~OI;LRF;Mw<42vW+SIq$-b2| z`&K0TRwVmYB>Pq*`&K0TRwVmYB>Pq*cc)11PLbT5BDp(7uD6oAQ_}2Pk?dQM>|2rS zTaoNrk?dQM>|2rSTaoNrk?dQM>|2rSTaoNrk?dQM>|525TyuvyoFJ z8=1^^)K28iw*z^a%}KTCY4R>PX>vL83@c~aTC=2*oOG)>+vcAstI0V_zC>n774mE` z9?y~W$aCdEWTwqIPaaVx^3PLdKiGq0l|i!mK(fjpS!Ix{GDtJ?&92a-*?l0{eIVI= zAlZE&S!Ix{GRSf(S!GDG${<-~kY;?x+3_7`$9J3^-*I+)$C*`zQg$Cmb{|Mq86>L= zl2r!DDuZN|L9)sqS!Ix{GDub#B&!UPRR+l_gJhLKvim@?`#`e$P-Z_k0?8_)PGyuk zkgP0vi46ax2RV{&EiRE|Hoe@+aw}I@xzfstorebVIqNqgc~+0)Sv`_x^+=x8BY9RI z%;%gXhjaGOpwQSyVjqcpB=(WmM`9m|eWbBpV)aX`ehIt$lgJro<#;O-tTc8?tep~T zr^MPRv35$N;+Homtu>mo{v_UfWMbyY2hp-8wrOK+5iy(mvv+nN&#|)B7^*ugvLmq07; zs;6$y1l#%cLOJi{b0G=P+ieqc@S_s)2A7KL&d+;x$7e($Y~+1<#IQ#Wptol%R06j4 z;@4;QB7d(M=;hs;$(7^1Ng-7Ru3p9fR# zkTjs)p;3?tO(G#;2oXaFy~FaL9H=`iqmLTi`HIrv*dNa4@O3~eNAP)M1a$IlQv4mo zCry=@Xps@*kKka$5@-@Rn!Kae0qJ8xkOQlrgJDKDwg4KT9ePAYMnNUi0d+=hh3&$t zH-LKlU2+*62lUJ6EGUC2sE1}~2ig;dpSUGJowx?r0{D#EA#!Xypm!{KV+H|njUjJL z8Z?R=R|FNX4$N^IbP11$0Uu+jJC?e~Q}=l49#7rlse61LEQM-b2TtAz%PG(OM3 z&KZp&GlxTi$Sms3Y7t4tcRKmAY18a7=oUGXI%kr1RwlHHWW+!d5LX6qolX67i0Pb- zBIl+XT3eYPEK|G{E9xR1w*a$7q z2|XeUA|VE-yC4IKgkMtu>MW$rLh2M!Rx||Yo1!Ghgi@%4I%op=u4udPstTZAE~Z~D zPK6v;0;`|_wm=8$5Gjs;;gA67Pyppn1Dl`~wn48*$q*ox(h$T0?J8{+SyTp;UqY;x zpuac@;vgBafbzvvP!H%YZijB+tHTh2c)(T}?JcA1QuHsy-erl&DSB6tf7MvnBC@O!wu>xxf#dQV*deka6WT;pa=daYY!kV9 zl}H8tDjGztNrqmLKh}#}8x7d0B(JhlxF!9AN9_ zC};udtRlUN`m35nZo%FyrM#|d5Y&m>mLyUwfREdUKo$_&9mKfW1#GR}E>c7Nnk^!0 zu(hThx<%F|0C}}(BJ0pyS1xiVHtwtvxhoDTV4KL@1tN9$s4D|vxMw(^b5Ezp`c!BT zxi<#3@bw(()uVhLcJ9OX{fR)G2g>>CPdwDXCXo#;;D1Ax$b)&%E%H!1UkRe@;iV#f z$`E-ZBs?gA7LiAbL>{BgW7L0ao5*HjX-tATkw3@6I>5%`&@)Y);BK;KQPZa<@1K7>5vDFunl@dUc%N(*nf$# zmo`BQ5c^B`c^O+TCjjlAu?pwt0R=c~d7l{GuM+tn8nE*L^*_M& zhm?Pa-_Ai$F7gp|Kia{s9#)HdoB>5Z%pb3VMrh+#64BY#BJv64pJ4lwPUsQ&l=`2g zigcv`d7q>Ad9%nD#PWB=|2`A80cAUeKrB=NHh$pv2Xucx z=Z6l!#*f(liM*f8CptZYpcKks71TjD?@1Jhgb+~nk2pw#YTk20ouBido!@Os0_>Z2 zF8-79U#R!XQXqz%@vw>Cc8h}+XcwhwMCmAqfkbHIRqv#oRY1AZ1^lficMzcGQpPvi zmAf5!`Rh;U@vT+m7l{h68*CFbi1Z*ncT0nD0>qknV*Y=I8gA?lb27!C=5?lA>W4lSZ$Nyn0otpVzdL~kT*8x;#%MU75{ zOh9k+5~vgvmjsj@OWv`xeN36CbCUQs6`1ATNN_2ON~5_M7MSr>Mk4z{Z3sz~;nlq9&0ysasT1lc>q@&;>ob zrZonLZwk6oHj0`W3u(|HDw$Z4+eD>Mp3)%dG|EoP1M*H^B`S3YECuRKONH&Crl$iw zW>f*b(aw~5Mu+)7dNqG7A3 z`KhAvT%a%Vv43F>bcnhLdj;ed;Cn%asD-hxT~uKsufa_a#l5z=xL#B-pT)#jLcNkL zqDnW3T7>>3F`^bnh$=(3tVh&kLqz={QPdLbEJ5$`22ocM)6(Ihu5v{!8w9<)E|>PK zAa4cft1CoRG>Q5ncK+DLD@U+X$?6E3MpO;@YtUQUBC57Z)VcyuccOPEcJC?!^6yR-RW}GIuj>|d4>s@FC~7@< z>+40`D}c_uv#9$*fUo=Taetnu2gbrC*v{*KX-~rvQ5&$cp$ghWJs1P! zq8_5`p*q+mY9sM)B$kakL_Lh{hq3jiNJxWfs2BA}A~cHH& znhQidL+sDAi~36?Q1)yrw20c04qHS$7YFD)NB!r~eZB&^M7==lFQDHN1?0UL4dtR< z;`pUDQ7_~7bw>Y)NA9D`z!T2`meW( zdV}LPnnZD*q~2T#jX*40W1#_hMg27mi07?j!0y{c&?Bln37SQ{L;1Tdl#6;V5{RKA z1ZA*Y)ce?aA6p+p0XiR0_rok8{b4<{Lbs?+>U3rR_B-*{xegkk4Z1{qB!G>N;(%B_ z!p28sPzBies2SR!Th!kMK?vd@4f0?qRKrGSfllZV^>HM`Kq6#75mdlBXoNQC617br z3gRFcvY-sApdOl`9lAw*G6+Ht4{4AGOQ9MzLJM?4kEl;0AqEm51B##m)J9LZs zVi1HN9?~EWmO?dbgcj(89#LOLLJTBA1{6UBtb;~qgDz3r?y2oj5C_SS1!YhL_0SCM z&@Jk#K@fs?NP|3B3e~U?TA&kpM136zF^~uuPy`jQ4jQ2ix`VPJC(EAR(@6h`Wz3}@6r1n zz3nJK)Q(7qfkeoFGC*$!dOOhDf!+@Een9UB^nO6^2lRd@ zf(lp%jnD>NqJ9*Jf_OmhNA!L~???20MDIuRenjsl^nOC`r#MK4EGUC2sE1}~hi*|l zgCGR)kOq0M6sln(v_L2Hh~i#d{XGT}Ap_Ql`iDRi#6dD-K^as*Jv2i*bc^~q0)_+E zw4b?_{#*cDLw>G-O~7^J=WW0>t9J-svo{s;U@4&2i(W5!z3A~CdG$~9{uv8NkO`%L z?|(Kx3v>c{zo7RE_I|H$3mJ!iXU*M%Vv3ki@8Ie=XkeYXxaK`T(l-67hGfZ>3?hrU+; z+a}AM8I%JfOIGT>_uQN0^Nu$uobq8-UGXPFt&S)g;dCaC4lZ8 z=-%GJ|GfeAqjGT@&jn&0gT@Py`tIo>ZodH0_q%y{(;FrzZ_Tw#C0I~Ly2{0 zJfs47LpQ=!(Fesr#{Yt5(a}*rOwq)0a2`~PJ|q!3L?22VhZ6Up=}-l&qC@x!(T))Q zLItoCh$U1H#2;#dZO|k7um}jjSfD+JWkM0q-ox<2zFZ&H47A~}F6b3KEE0x8JfuPv zVC(QY(ZiRBJ|YItJCgcGp?6dQ5Z_Tb&@MWrM)ZgwKpA^*Jt7GxA3?zs z8lXR#bR7QU%qMl@dPN^g{bQpc7Kq_kVmNjQR6-qW0d&W>Fa*#WlM0zo0O*dX6nz|h zaU8m1Y1{D$K%blt0kMGY3Fw^A1l^)fjEAML3AT%lC)Rl4ieCpDpG5j3bjJ+>Vjoun zjLG=1K)vyljqeeiz;QwmG>bkN-IJ+za---|uy+cdr$$2-R0DA(qLY{iWw2571db(DupU&fELk{u{F6~^pprl zhH_|zUeQyDb1HgMcZg1=ellgrt)f%#mqJ+zv7JV}({g}1r;~qr7LcDRK%G?DklG}A z8pqR;paQx?Pp549I?*%8pF#Z@9ir3X0R6OP(PxBU6SRq*nF!RINqSZ+ke;VEb%=Bv=Q;c6P7mb5bD_8lYSBx!5?DymLus zlApO%^m$pZ6zZTEc8ESd8t{8Qah%^M`T`fy0Dl*36P?9zRw7i3&W;7_XJd2DSf~*_ zSAe{^*vi3A&KA+R=;f}0UeWWCVF_S+-geRR#8h^z*TQA-*mw1(PPe z3$b|-ZRYuhzKHyS5UdluAP2Cuut;LHK-G0!3~aP58Qr`Zr;a zLM-6xwgOlM)V-|}D6gixn(}JOt8-u})BrlwTcKO@?fAGIAGaq#77)+v)zBdN4vtq7 z)9N14HR#oZAOXm$!CnpaYS69O1Z}VldPVbdU%h55P=5_&Yg$FG9S-H9Ynw%{Bc65W z-&F_745ouccLMc$OCLY)Gc}=c^hK@`x~jZaUHZmkLZU(fbWNi>)|%&75%5-Pz4-6 z5(#O*@g~xn_vMK^QYyj}D&S)%{qLMm|lEbZHZpDppCpUVX7J=Y`pdD71}iGBf_ zFJu6^JR{UC*l*b(`o%a%hb7P^`X$=-5_Ml50^3Bl^4XdMmCz#k6@0#e%~z^ntLRsw zAqTqp=oS51B*a1@p!-@G)WAk)1$5gYAO=#Q2q{R@ZU~( zJO1B^2K>K6y?5~cP7~n&UGm?>-n*HApLZJo|L^vSeh+)^k^dg~?~(r={yQQ7{SNGO z;J>2-u>XEEVE=vc-^c#@O@RFm$p3)+56J(Z8d?GU4`U$dmi|&kqR49W6=oI}C z^?7cpKUxB`=Ogs~7J^K`-rqW)TlB{fK)fGQ|KmKU1oS_q{A2uWi-trf0OH%$1jP3V z`Jco?CM<;pXoFtSJm1uxlK(0BpOXJ+yXem%0R7Lf^VvG+0PJ@~1NOVf@4|jp6JY;y z@;@j4bMim0hE_oTi&)5l8fb>?qQ8uSR49W6=oG!3`aEOQ+m`_C*^b^Z=)a;%Af%{MSn;A@9_WK z62Sj==zSl8Ou*jv9in###6kvCLL;E}1A0H8_d^9VLAU51(fctAYM@>8Ptkz=pOygj zf1+Lw^?EV^`#l|^{~igcfStd$ivGtS;F#xa`X7}4oB-7AjetDp6#dV5SPCtof1&;_ zTx)*8-Y@9yi~^2#*1$G#Bug9>4H>Wsc8H_%pj8|v3HWpc#zHx46~~K$OsEI+{Y0pQ z4sn85SOU}=lmHFl>=q4_@75;HVCoL8fF5ynPXla3kQYH-1o7+<0|l@V(BYYgvu7Rj zinAB`JmYX8(TOCM$WC$g&Vz1o`1!fBPYn>yzNGhE1>_ImbH7L+#{G%_Tl;MlXMY#Q z0`>Q=h8Doz0oXnu11g{qy2Oc!f@CNI+7s0w&Vdnt%>%J{;5ul6cGw}#Q2Y%g?xENi zx<#CW1n_lG4y=L}*d|Ui`O)!E4%@{!I32KaNCwnHk2r@WL7h0E;ecKU-#iy^4y%N1 z;tX>k78=DloO*}n0XBw5Ko)Eg=ZGPY1jKp-u^zEioFfN80+4s)M(7sjs2HHmQPt1} zz2d}>7n2T4paD9>8G-E))E&_!&e5q*BhE489aASxY$P;`Gm?5ETf`YP2%5xUU+;|O zI4%n6p;w$^i-1_hgn;tn1j?XWoUycPEHNKH9IBv4oD)ic&l4*Fop^NPw~KR99^hkK z3^a%{J`UE2lYrd>bQ17&@>1v&=M>s<$~JLMEf*&-5~!QlBF+T-Ou+60>`lx9bSC9M zn>b0yutl87*qgirurno7oT)BQXX-|v9qf^v`Zaa#NL^W;+$0kJH*MrW=6L-XD@*san8Zkx$)v; zVk`!#M@8Rh+rlnTy_B zj_2ZQF6B9V=1`VP8*xDI<-ryx(91&!h?#D5`nin7Eh z9t1nYDUB9qQKmSTU}tfaIG4KOTn2xj&XO*1uE6(|u(U#)tCothtVW#W=(4YKR;&_d zWxY5R__?M?oNLjmY!>HweB6*EP8Bw8Y!TY))@pdGrPN1WP05Ct(156O@Lc~AxwP!09a2rbYKUC<-WxH zF%S>QkO6s61{F{Z_0R|{&<o-A%IQJ$4dH0f65BEjFDsk>#C(Z-a;xt5w zvw^$~36KfsuxE2NYy{@!2K+yW{|7^W&Vw0H3RTbmEwD|ThXkS_9@3!*i1#7p_QnF( zD$c|F3{GT^OZ9GYj8qGEE)pq;5{U3lJmJ_y4ppZZE&JaE{3I=$RuaLt%))6czM9>a zc4S{w-j{Ys_v?G;f8Cew^Nzm5`qG1BZ=KPX-dzsX>-*As>~`~h+xyac%Gg7{=u1aR zMChcx^xoo!XqhN?H=<)>*q2rkrRW`-ukkyzFYWMMPkPkmyQHi8(jNNshRyeRC*IF} z=|M6~kL^qEF5~oted#^+JyLJ!OYbRphc4|)^LH&nhxVoSCeA4`NeZP%E|p@w{xDzi zq*Ou@BXea0pJODBf5(xUgGNXuqEjj*P%OEUEej-;+!R@e{wPutq=0`R-iOj}tHd7V zQYV)>mmqV{94twsF2ur_vIvd2_|3-3d~!{VY->M+m4zG?p)&`&`RIkHUx?pqTQ*o^ zQen}h#rgB|N<%SoM})@2#T^%#b7^Q|erZW*ac=g4*ig#CxuZf83JO9qjaEr$W^PGt z@g=!AqXsACUYLF6qR`yD?1l4lOG4SjxuN`pp`t}|3i9WMataq@=P$&;ZzG*$+mSEx zC!lxAb&zpiWgY!~%iErtFs>hjmJ>A@2EsL=M{82bD;{>hoS z#U=TL3qxZ@9mmnGO&e&~$lnXjwsPd}$2QM;G4mostHSf5zjx*pE~L*(840m-tCZ0k z$9v62GmhaIa0#P3in@h-7Bj-R^lc$2GZ#h?eJ(a7ue7vi-00CcbonKVMwJvUDxRA= zudsN2?x=;i6i?YDg8sSFKZpN)&YJmc=3_4L&OsJXdolCf%-~(SJ7-IX z`EEug8&A8&{O{-BV7_PjzyD{v|GUlq_viKRT_JXDbH1G;ruF6ul5OXJIhTv&BJv6u z`QNj!>ovx-EY0@e0%ms!|N7^6*mj;R%k8^f&9`0_+F6-nuT}HN36Ff(TlmToo^8fY zDN&f~&q8~>E3($i+%(srLadsz)?Aeg^R1?tCE+V*e+x>P>1J;2dR}CsW%L#>|HIb% zEg0=^?BOe1E|$&gG@~_amsv8*UXe}R9P8J#y%3xE*fVFH$u-x;xtvD}I5w>|CH?&~ zk5mEq<}8gNKOEzLhmg#o_B=`!Q_u90@i@>YCZ~w}LcA=(i;1v5njG5#Gp70U(IRY^ z(taQPGyUH^80)4V<`UT=?DqG`Vp68Ixh9zP$n=aE@87nl-~PbL6}|$Q5nN>Z(Ae)E z9g{ZwGBDNy>q-f}O!@D%!{mqCIhuHiIWnUYUgyHL^Eo!2!!xQss{h>T{+v1l< zW%@g;)9=U3W7A%9mFyoO({eKt&6tE|n0Xt3IXly>C(~zh&@n6iz!(gSRDYiuU;ln3 zSV&D{*UU20j)C6lKUW5NY}aeRuJugo%w0uzq|9~xw{tDr8>T(R{(n85rk$p4c( zbHb6DtE*XK`^S7>9uM4Cne#l{&x_~*b2QK*Q`cNw=hOay**zaU)0(`#JX53p8fsb> zj>PDPd-h-Z$CUi%HVuq+xCH|<%#2cqc>X!acR?2rRa9 zEysEq_B(eI!>}73>;7KuuMy(f-G8SsjQg7Y^D=x@NX46(hyCk}nOottDSWmq-{5U2~-w=-d97`*Z$%RS1uWS-V2^ z3^x5|Vl)w(+4I|TU|_z4Tlag{a5E;0sBPx-u08yFy*hBeV)}Pr3msDlF})F97tO31xVrXR z{C{!9`q#5|pjF|Wp_#wob#dOW^DS8>6WtV6KC486!Jpc&&{Od zOtu|Kaja$n37u$^M2z)HhyF zx4GfSOrMxhHn9v?G5aXvI~<4U|1aUvNehbe9Go};Jm}Vn4^-W7mj||L)U0c#`?YE=z zd$Xf|wi#Py+)PiUS}(Kc*~yHRi7T9A>YI6GX8t5vFfil7^WOA#zizk}%=k>VBYOtp z93GLdJ+n{UwH3zJS#~4_#v?oeCPFhWjK}^y8yJ1#)5P2#kD1M8mi3RrK(Cnd&&)C7 z$;<+CWIUL2#LO`>N~Wy;{0#f(AII6YZogGi@3*tx%rbKx_3QQ5`%l-7a3A&iHns=a zZf2|L%W#Bdl*7I8-`fpe|j%^skcx zt4RMfdMYc6*$w8}UhCHz$Thucc0Xp#8ra1doBeC@?>*N@LEk)yGkUw;{r2B|gzqB5 zdn2Be|DMI{kiu;k7_0wo4Eo#h-}S$_Gb~{Sh4)nXwujCAabWhDd+c$x?ymQt=6=H5sfXuO_(_1tGk)e95a7 zLop?}xuH3^1%-=8j0*h^o{EkdJb0ioj})^*VavZhiyb`jKmIp(@UNQxzn|Lf61Mf6 z&x6}gX>oQ=?t<*%i$aC-1{A{2eg_Xu%Pn4zUt*toqMespoXZp9`Ni1_OLKE#L-UGh zJk@v%%=5(9P-$T(d*P*_BA%4;ptNvKDUX5k7tY7aTpl$W&CoSUDGKb|YkU9=!~VQF@$c@8@-zknytF~*{; z5SmpuuXHgZG;D;8q&T;zxG-nY++1rWC!dGf`EwSP=GqvHhhHni^6YwU!J-@!$>RLd zyuwAL1hXK&&yn$9ACvPiwlK7)goc{t#D*5++E&}A-X(dlp#dMU#^>n5;!sI0PtVcL zC)B>?|BGwWM$FP@IPB{>>u7Oa;evmUHAF|vTU5L-za)O>9u5Cg1*}o0o*GaIju#{n7VwkYZsMx^5 zGay_RD#^>HQFC(pdW|r6^l!2T+F7`ec~Kl%P{{f6d(94&URsnpFB?ak4<@MJbV_JJ z_NB)Dg2J5qdHH6dWfzn(^+;eeJ157s-1f2ksY7-#F)u2}F1Ah2$t}sBztDE~{DMo1 z@<#^r=NEW02yVBlYj^hMYo%Ya2fTv%{vDE~K8on9!; zU6{QfJYptM5~4HB*z}(wxy-xVa03<>7Uz_NhW&b(7-oE%kWE2om^pQa*=}QWQv1%C zIk}uo#_A%*!HnG{h52@Rn0mQorJOaP?4lx0vFteooC1Y??Z@(OyS_9pyEK%ST|)oo zF8p-_tV!Gr%R7RSS4LuaL=C(oFj9ztX0gz4#Lhh|I(O_+Xm==7B7NwJ~H8EG>o z&zcpQF*B4hEiE-=GI=S}C#B9#N|`=2G?9AKXQYQxQ>LY)V>Eq+t=eZQWis`qgr-fN zIVl;-6DFplrlg-88=8`mKHb=yg3$?~va#qT$$+4jcGgD@n z5t%Y`2H~3Vq=sqZZ2A+`l<9r(nlUnYrtG(~11(d#uNRXhPe{celVtk8>oU70m(9&B z;#@1~Ke@w~M|&v^Uq4x#I48pw0cP~ng`BwIJe%Zvvh2XIF>8Dz5JTX z2bV}zqwwW7=aO8mf+gmP&pBOaE+&ifSxn8+Qe3#8uy5Tf$u7VdwSLtK<>c}M*M;-@ zE{vSyzr7&zFNj6O`50bYoL|btB$T~~WwJQ`vc9Dl54KhR+5+R{U*j*%Eh%E9%D*JH z;L=ezD>mzyiI*!gKbKt4*K~VroLf4s|8}7?G~e_T>m65&;`yUO+?1K0xc~2dDmvOe zkH3g}+R+exx>d%#o_RW3MBZGa+-_NnFx z$rvZ^>5qE93m7d?nZLlbd{=4lZCfwNTb^&wnxF zZ+`x7o)TWdEct@{>}Bjd{vemj5^0n>SQirKw z>Toq&9ifg?N2wS!LLIG+k$=eBDprkDqZEIOP93YpsN>XFb-X%(w|~d0llU#2zsbjH zyh>0ft5ejeDp5^P6V)V@q$aB=YN|?BDY8)>R;Q`cRjQh%rmGn$O`V};s#*M9f?nAs zpQv;-Tb-%SQW@%Ob&fh$WvcVk`RW3drLxr=HCN@RTs2S4S9vO5o=_L6i&TMHAfL)- zYN0ArMe1TztV&d=TBI&fi&dGrR9&Y2pq8l1)fMVWwUoD)U!|6*<*Hn*P%G8dszP0( z{-~~1mFhZmy}ChFsTSnb{-J)()x2bA%yShWIRyAskTB~Z+I(4VIOWm#N)IDmw zx>wb!`_%pF0o9;3s0YGdQv^5o>tB38TA+S ztlFZUQ_rgxREv61y`)}Nt?Cu^s(MYesn^vT>P@v({Z+lC-d64E9rdnyPj#sG)d%WB z)u}#Ge^Vc;ZR!*CsrpQHsn69H>Pxj7c&t@=)VuXd;()Q{>X)uaBd{-J(W zz3QLp7qwH1R$6OEyV}#f4)h?sn;xup*AaRTy{FzwN9w)xK6+n0MDM5f*9Yh*eV`ty z57N>4V10-_REP9odYC?357$TNBlS@_Mvu@(>tl4R9;rv^(K=2atH6ZAwqNhj&adWxQ^lXZ$dO`on)^)x+Q&(LZ53_VlN(&>7( zK2x8iGxXW|9DT0N)aU8*^#wXhXX`n7uFlc9dY+!I^K`zxP+z1A^a8z57wRH?u`bpn zx>PUHm*~a1Okb)m(|^!Q^yT^reWhNiuhPr(a$T-h=#~0vU7@ehf7I9NN`0NaUf-ar z^o{x^eY0MrZ_&5v+jOl(dAuhq4BoxW4wrSH~t`X0Sr->d8Oefoa=fNszm z^n=naAL)nmM*Xn ztb6r8^)H$~{^BS{JC5Tzp5r@#GsxM^8SL!tL^yjmdpdhLkKx=mI|n<5IEOkR=P+lObGS3yIl?*8Im(G~MmR@1$2hUhNN1EY+KF?Hb;dZy zIb)sUofD+iInjxCPIAUM&_d_o6c6} zug+V}+fKXlj`Obbp3~vH?|k5V=yW$`zF$lc8y?C$PH zxO=#Jx_h~i?%wV`?!N92cRzQ3_W(D_J>2U z-@U-iab1!u- zbN}EjaW8kTaIbWix>vc&+~sb$yTV=RUhP)6*SLRluXQWk>)h+z8{8`QM)xN7W_Oi) zi+ihkn_KPP?%v_9c5B=)m_ZdiOr}e)j>l!QJ3K=sx6b zbRTyAeagea?N}eZg&UUvyt` zUv^vFSKL?K*W5Pub@vVTO?RvNSNARVZMWTh$9>m*&+TyEcRz4HbUWRT+`qXWyW8AP z+)v%l+%ETX_Y3z+cf0$Q`?dRx+wFeqe&>Gg?r?u_e{_Fxd)&Xf|8ReHd)|;+^K5?xlLuyy@NyFU>o{o9WH+ z(!JT7D1D?_Jt z*Ls!Sb>8*f4PKRZqj!^cv$x8-#k?ABt@G~m?(**T>b!fr z_1?W+y?38?zxROG;BD|8^d9mydJlVl@*eRvd5?OJd7HgP@6X=j-V&hwd)C|HJ?A~|z2LQYFM2O|FMF-tE8eT#YhIi8y7z|nrnlAmtM``ow%6{x z=XH4RdmnfodY#@!-ru~By=~qn-lyJYUYGZ|_l5VRx83{7``Y`)>-N6&zVp8Kc6dK{ zKYBlTJ>K8Fe|SH8z1}~)U%Z{Z_{!J5U-_PIQKfsUj5A=un2l>(d!Tursp?=6e%pc|-?hp5m@Q?J5@?-oF{?Yz1eyl&z zALWnsSpRtc1ph=o-apA7=a2Uj{FD7t{8Rlze}X^JpX4X`ll>|FR6p5I z@lW$l_f!38{&atapXQ(8&-7>c>Hcj0O#duD!#~?U$3NH4^w0Cp_b>3X{A_=YKiALk zbNzY#d_T|6_b>D>@(cV0{zAXdFY+(;i~SP6)L-OZ;xG2g{7e1I{6F|h{LB3-{44#X z{#E`mf4N`oukcs;SNj$IHU1y{YyC?9I{$kA2EWR`(Z9*R*)8Fd<)ql%>+i&;Z@!$2|^E>?a{SW*P{Z9WQ|8M@s{x<&;|5N`nzsvvJ|HA*$ z-|m0qf9-$ccl+P^-}&GBJNzH~AN`;F9{=zDKm4ElUjLu|FaFLz0u|`M3EaR7{2&Mh z1-k`=*1G91uhW2L?lfgM#Sb;NXzp&>$2X77Pmx z4~7Rv1V;u(1u?;h;OO9(AT}5oj0#2valx^{nBcfzY;b&VLU3XbADk473&sZt!O6iX z!Kp!FFd>*2ObU{M$-$IhYLFbH1g8b32dTldV0thkNDIygW(Ko@^k8;yW^h)J5u6>I z6Pz1l2ImFm2NwicL3S`Fm>c8-xxu_(evlXB2Nwnx1qH!^U|~=g6a^Ot#X(6>8Y~Jf z2^I%s!KJ}v!5@Mp!R5gf!Ii<%;HqF*uskRaRs<`9tAmQ*n&6MYwft?kM}o@Wy5M?w zOg77w;0DmngWKi#;ErH*P!p^P)&{k~ zy5LT}E%0=3S8#Vw7u+LF!TR9dpgy=SxIcIxXb3h04+akf8-s^~KLw8jn}SD!$AZm4 zWANwT@!*M|DR?q?DtJ0*4xS1A5(%zQqd=ggUVKi~aA_lw;xb-&#GO82YX zuXVrP{YLkj-EVcj-ThAYyWQ_~zu)~q_lMmdb${IbN%yDSpLKuU{YCee-CuQo-Th7X zx82`$f8YH>_mAB_b^qM`OZTtKp4|Og_wU_*bpP4Cqx-M!zq|kGE_VMLFN^n!_m87^ zB<{qcaW{@*6WiFuK2GB0@rrn5yed8*ULCKA4~*{=-#I=gJ~+NheAoDp_|W*U`0)6M z_-^st<0Ipv;}n6__X-+_>B0>_^kNs_?-Cu@wxGN@%ixu@dM%u z;|InU#TUm9iXR+b5*E{Z zC&y2TpBg_cetLXkd{g|4_?hvu;+x}V$G61KiJu!kFMfXfg7}5;i{cl@FNt3ozbt-v z{EGOM%WjEZ6~B7ftK-+iuZ>?9zdnA$vggKcT=pFK;_f%aZ;sy*zcqea{Ptz9h~E*v zGk({yo8nvJcgOFEZ;Rg>zb}4&{DJuPSbnK8{!skk_#^R01D5q zKNEj8{#^X|_zUqDmpv{1(z0hRdsh7A_$%>O zGrlAKSN!kzKk;JxU$e~YXZAOd88IC*YPu#i##rNwH;GwpR+yD$l{vtyHfzj*=1%6$ z<{)#hxr@20Im8@l4l{?FBh1~*-OZ8aD6`hw!yIjnG50k0GRK;Go8!znbG#WdsmV-k z3R9Y%>6^;b<^*#ebE3JgImz75tT*Fk!c3ZhX-qIDn^VlG<}`DX%1W{a6Mmzu3+&TKQ= z&Ai!RE;BpLF0xmk28-qPcTn3*O@1o z>&*@3$>u5Mspe_s>E=drlX-@Drg@gR**x3aVxD83Yo2GGZ(d+tXkKJqY+hnsYF=hu zZeC$tXF}Iobn)jLa zn-7@V%?Hhg%!kcK%ty_~%*V|q%qPvK%%{y~%xBH#%;(J)%ooj<%$Lnq%va6V%-78~ z%s0)q%(u;V%y-TA%=gU?%n!|v%#Y1a%umhF%+Jj)%rDKa%&(Wd+x*7-*8I-=-u%J* z(frB$+5E-))%?x;-TcG+)7)YHW&UmcV;0SSWl7?Gc7Ge$5!?4%vo#s+(`J;k1C zPqU}nGwhl6EPJ*+$KKzbYtOUi+Y9Ui?1lD$_9A<+eUN>yy~IAmKGZ(UPT381qn)-h zc9Y#~x7b;GsoiSl>^8gI&f6XKGP~36vb*hqz1&`5ue4X$tL?+>BkVQyk@ivcTKj1G z82ecJIQw|}1p7pLoqdwM-riuJY@cGEYM*AGZf~?V*=N{i+Gp9D?X&GI_Br;s_IdXC z_67EZ_C@x^_9gbE_GR|v_7(P(_Eq-P_BHmk_I394_6_!p_D%N9_AU0U_HFj<_8s<} z_FeW?`)>Oldz*c)eV={5{eZpQe$al%e%OA*e$;-e%*ee%F4_e&7DU{?Pu&{@DJ+{?z`={@nh;{?h)+ z{@VV={?`7^{@(t<{?Y!){@MP;{?-1?{@wn={?p!J|7HJe|6>>Jf88>-pWEL>Zp3xm zsO!4e8E2hy-X(6iTj5r^Rqg<{+O2U1x;wc$yMx@p?k?`G?htpVJIo#Kj&OH#cXvm+ zqug3|4|lXX#@*B1%N^_P?T&Nn-0^PAr7m;1D_rS%uJ0;WyA#}f+==eK?j(0Vx89Ar z2{-8mu5rPg>`rl~y3^e0?hJRPJIkHz&T;p5=eqOU`R)Su0C%B#pu5Oj>>lJE>@IN+ zaSwG5b5m}E+vujFIk(Mick^zCyUgu$yWDQK;4XJpxGUXN?rQgN z_Xu~5d!&1myVgD0J;puOJ)z+y?>^vecOP^gavyddaUXRbb02q~aG!La za-Vjeai4XcbDwu#a9?y^a$j~|abI;`b6#aKCiFa=&)JalduHbH8_gaDQ}va({MzaesAxbANaLaQ}37xPQ5SyZ^XF z_g}xv@8|dTkst9LKkBJRgW`y>3_{N4SL{wTlJ-@_m6kMZ~P_wvX3d;8=3I)A($^Qq5#?h9Y~p6~n0*Zu^5 zAAh31uRqD(&#(96e!@@sfp2{9C;LCf_K`*ZyL{ki@;f4;xKKfqt; zALuXg7yAeK2m4F>L;OSi!~B%r;5YhdKjSy~&3=oY^_Tjse$H?6+x@)X;V<(${Vu=T zFZj#-75++pmA~3Q+&{u!;~(iC<*)UR_K)$8^^fz9_fPOo^w;?(`Rn}+{>lC+{;B?H z{^|Zkf0KWPf2Mzyzu7@G-{{}u-|XMw-|FAy-|pYx-|64wZ}so?@A0?!_xktw_xlgXQ?eiQxBCzJ z5BU%KkNA)JkNJ=LPxw#zPx(*#&-l;!&-u^$FZeI|FZnO~ulTR}ulcY0Z}@NeZ~1Tg z@A&Wf@A>chANU{oANe2qpZK5ppZTBrU-)18U-@7A-}vA9-}&GBKlnfTKlwlVzxcoU zzxluWfB1j;JN&==zx{vwqW^EQEZHyFKZ%l&q?3#$-6T#-ViTA6BuSPhE0UGTs^oxV zb+RToFu7B5=j5Q|;N&jJU6VtSLzBaj!;>SDyCru|j!ce9)+YBzj!uqA?wQ;xIX1a> za$K@5IX)Rn(j-grq)5u7m-Le=sgo0u`y?kO_f1Yp?w71j#*>L;G8rUI5|WdXQ<77Y z(~{GZGm)W)6j+q+X*j*f5GIdl2U=u}&D$LBZ8Qh}}ADJ|XP#@U^+cxcny%$08AzHK`x zw-cu}%DSW7cH`d7(ZR+kIrQkX76ZYV+TCpcl*Lj*;L%0_XWGIxdp~Vw_HK3?sxhPG zXro7*X$yDqzKXcb`?l@Ldk5-Ko@hR?GcQJ#GKlOWkSvj_WSnx9v|~QW3xP z{{)+5b=dYfS&TBfarBI-jk5G=bgnJ@8B6z@TM~?(p&c~W79(d!>qq9~&*)kD`R)4o zvzC0sZ(kCOo~57Pt{uF6YR9}R`wvZnvmJi;a{!8IBgyWdmQX>u*bn32YVdsaj?h19tV3I>~XNio6ZF- z=E6SA3EDdW_5|1yU{8QO0rmvg6JSq(JpuLv*b`t+fIUIGC+P1<`g;=mN$@AZp9Fsr z{7LX9!JhH=sA5H=sA5H=sA5H=qa51Ly(t0D1sD z(E32@1Fa9>huV%0nM5!0slA)s@uq#LJ2lgm?(AK2Q?giTNc?Vo-*(#?`LYR0txYzj zwaLb`HrbfgCL7b*WMf*JY)osDjcIMNG3||POnW06)85F&v^TOb?Tu_qdm|gu-pEq$ zQ}9#pQ}9#pQ}9#p)4o4%2|fE=O9E|CN=;H~l2VhDnxxbur6w6Q$*4(2O)_edQIm|C zWYi?1Co*~>qbD-(Gw?I;Gw?I;Gw^fpbMSNUbMSNUbMW(CENm`ouXkOl4bG`RP6cu* zkW+!23glEErvf<@D5yX|1qv!qP=SI96jY#~0}48z0KWjg0KWjg0KWjg0KWjg1iu8o z1iu8o1iu8o1iu8o1iu8o1iu8o1iu8o1iu8o2YwIy9{4@*d*JuL?}6U~zXyH~{2ur{ z@O$9*!0&_rdRj-v_@Bejofk_OORm+GAu!cCCIP@8I~Z!5@c9{3`>w<39@n8 zKMwu`_}GFBTaaN3GHgMHEy%D18MYw97G&6h3_Flv2QutHh8@VT0~vN8!wzJ~dxpGc z$a#jGXUKPkd}qjahJ0tpb%yL_$Zdw)X2@-Z+-Asa)^J`moL3F!6@r@~xLMN}dGh7* z;Y#}rrj@nfR?C6;SY}!yzT_1>YjXrFN5FCfEFY_qE%WnR+ov&>d`i#V92v`zu^bu8 zk+B>Z%aO4h8OxEe92v`zu^bu8k+D40Hs+~bJ9(au*c^h*A=Df~%^}nrLe2Y4XZQT}`CZBMtUM*NOP+KZMs|E|hdj(N+%!|NTzqD3 zW_HRqJ9f=V3f8_HH}Zs2`~Imi3({`+v$xF-(_#%SShBM{d)v%r-D%aV?EZhSIxW`7 z#LVug&dF0UO`%tXFei8;7t33b;C0U5B3mOvz|QINM9P#*4Q$&mJ+=Rt3;Un7u>S*R zB|&d%u>U!;(YagZJLk=A-ZmATKef=MHqkj-W}`{@f6lI1KRnK!nyg@lJ+YnI+W~%N zNlRj>fHr&Bj&^I!g1*1!qwR~G_VXhfWcSYIVWT?JGjqGAx*TidYI!3XzA1~>rAfns zb+)!mnroY+eK0Y(|MrFbubl19YrCSITjodQ38igQX{Rls-O@JjqaD(&jq+cr(~;Hg zo2UHnuzRYt;(w~?Ii`*lZ?=JLKiqC=HOPVT!Psb9-88;Ho2;UfL!$Yh7?C=pqwVMS zyvKDy{*#mci*AO$%{K@L(t;RO_4K;Z>BNI?!# zkb@MEcL8}9kaq!j7m#-Wc^8m(0eKgYcL8}9kaq!j7m#-Wc^8m(0eKgYcL8}9kaq!j z7m#-Wc^8m(LFQ4Ac@*$=0dE)Zb^&h}@OA-j7w~ogZx`@(0dE)Zb^&h}@OA-j7w~og zZx`@(0dE)Zb^&h}@OA-j7w~ogZx`@(0dE)Zb^&h}BpwBcM?vCIz~=>tM?vCIka!d% z9tDXj8NV5AF-bb*mBFwzA^y1+;m80i8dU0|dOjC8?#T7iKsFvtZ4 zxnRDmV7{zizN}z=tiV7Q%!d^i=mPF9Fwg}Cy1+meaDT!4SHb*OfuSy#|0>}B0{$=H z{{sFm;Qs>tFW~pUh@&ZF%V8{y$d4VA>m;o!80V|jRE0_T* zm;o!80V~j(0=+5Fn*zNl(3=9iDbSk&y(!R}0=+5W?-Kql;qMauF5&MI{x0F?5`He> z=MsJ{;lUCfEaAZt9xUO(5*{q!!4e)U;lUCfEaAZt9xUO(5*{q!!4e)U;lUCfEaAZt z9xUO(5*{q!!4e)U;lUCfEaAZt9xUO(5*{q!!4e)U;lUCfEaAZt9xUO(5*{q!y%OFl z;k^>xE8)Eo-Yem~5?@}zeZ|-KG4)mc zm6-Y}|4K}Km479szRJH6Q(xs@iK(yhZ#t&@D<$<+{*{>eD*sB%cq#u%%y=pPO3ZjE z|4PhwDgR2$cq#v;W6Hl$(thP%iD|#`uf()p`B!4vuly@9?N`4qG3{5spAOX5OQ|>m z_4N`f&Om*=#ELUeUoWxZ4Aj?4tT+Sp^%5)2Kz+T$+Rp>^^%8484^$V@f$D;k+Rp>k z1&Otv2dWDaYd;Uv*GsJZJWyXRvG(&obwgt9=Yi^m#M;jT_4VmMeZ7>lUwysAv|oL_ z#I#?1y~MO%eZ9oAUwysAv|oL_#I#?1y~MO%eSJDmJ(H65tDZ?r`&G{*rv0jC64QRw zGl^-x>Y2o}U-e94+OK++4ph&ir2VRA64QRwGl^-x>Y2o}U-e94+OK*hG3{49lbH6a zo=HsmRnO9a>Y0?ZU-e94+OK*hG3{4hFEQ;`eUq5>tG-E0`&Hj0rv0jK=|FENNJ;xu z=Om{6s&f+4e$_dNX}{{6#I#>^PGZ`xdXx@SkEG;v)s1wZeq2iGsT1E4Q&08h=>Yv0 zpdSPDV}O1P(2oK7F+e{C=*Iy47@!{m^kaa24A74O`Y}L12I$8C{TQGh1N38nehko$ z0s1jOKL+T>0R0%C9|QDbfPM_nj{*8IKtBfP#{hj8pbrDR-<=NB&r8X9pcCS01Ftpk zS_7{&@LB_}HSk&kuQl*m1FtpkS_7{&@LB_}HSk&kuQl*m1FtpkS_7{&@LB_}HSk&k zuQl*m1FtpkS_7{&@LB_}HSk&kuQl*m1FtpkS_7{&@LB_}HSk&kuQl*m1FtpkS_7{& z@LB_}HSk&kuQl*m1FtpkS_7{&@LB_}HSk&kuQl*m1FtpkS_7{&@LB_}HSk&kuQl*m z1FtpkS_7{&@LB_}HSk&kuQl*m1FtpkS_7{&@LB_}HSk&kuQl*m1FtpkS_7{&@LB_} zHSk&kuQl*m1FtpkS_7{&@LB_}HSk&kuQl*m1FtpkS_7{&@LB_}HSk&kuQl*m1Ftpk zS_7{&@LHq(J#Ey#OR0R-sDDoz_3u(DuQux6C01T-)W1utyxORLmsokVfiD~N@AA6x zdINtp>fhyc)s;s5yToDi!uHP7=oMOA*xr2_y`nA5g?pxl%@upLhI77YqyAk=@byNi z#LDXpKEBZ#rSiJ+b))k&64QRYQJOY7eU}oHyZMd z20dxelLkF$(31u|Y4+%euAfR9oiCD-@z)!!5;Oiff0Q=lFAe!iL;li`zcl184f#t$ z{?d@YG~_Q0`Ab9o(vZJ2K;({fVv0NJ)rIZbq}a} zK-~js9#Hdung`T8pymNJ52$xQy#wkUQ15_x2h=;D-U0OvsCPiU1L_@6?|^y-)H|Tw z0rd{3cR;-Z>K#z;fO-eiJD}bH^$w_aK)nO%9Z>IpdI!`ypxy!X4yboPy#wkUQ15_x z2h=;D)&aE+sC7WC18N;m>wr23)H$He0d)?jb3mN~>Kst#fGP*nIH1A-^$nKjnsfcgg1H|T6x8g#ZyO3mVe&X!56SzI9N38-yAZ3Ai>P}_jo2Glm7wgI&b zsBJ)P18N&k+kn~z)Ha~D0ksXNZ9r`UY8z17fZ7JsHlVfvwGF6kKy3qR8&KPT+6L4% zptb?E4XABEZ3Ai>P}_jo2Glm7wgI&bsBJ)P18N&k+kn~z)Ha~D0hJA?Y(QlLDjQJQ zfXW6`HlVTrl?|wDKxG3e8&KJR$_7+6psoRR4XA5CT?6VGP}hLE2Glj6t^suosB1u7 z1L_)3*MOP^)HI-`0W}S%X+TW_DjHDHfQklGG@zmZ6%D9pKt%&88c@-IiUw3PprQd4 z4X9{9MFT1tP|<*j24?*Nvwi{H4CrM*F9UiR(93{chCO=8Y+um3`)Sa-`?9dOUCt(D z>r$m`uUjcwmnvm@-AdWIR4Lop7b#npDrK8>OWC?qDO;B=W$RLZp{d-88#-LB6(DRzVLfg1iJ|+DqDRPnE^P^7e+gpEG=ZX{UUjBl~i= zEMG29GRdMUd6s5IzN&fW^4(X=F9~&T6+>A?O(j(fC8m-ph7xnsJRRLOyM6db&MsNc zwjE5BKv{!LJyilFrfc%b%v`xqR<}r<6<5Vh_Mj6~)MWKGN6-{hVveAqCNZ6>VkR-2 zs$wSbp5swp6*XB6&S0vjNz8Foq-2#igRdebG5f1XNzCA@_()8DsrX1tf2sIL48Dqw ztUl+YQn8VkcBrB&MAzHWGuUVk0qln(9dmo{EpGatBYvM`BK56(5PgSMiY; zd=(#w!B_E-7KF%DmoH#@u=uX%*CUkBQfJV z-WzEacFyZbq>L|1_i3y$yTmk3nOv6aYvWU{Ou50(eqL?>XsPo}S*p%aO6`o4izDUY zNY#O5DJN^H4oqTgT*^tAs-wzMPQJ9vV!0IMt6X?@rb>3z{zy45Q=RgV z*L57ya@@!vW`;kfxyA3^B2UQa_Aa+cz7Umdze|{4I|0Y1iJadl=Xc8aopOGsoZqRM zuq;&*CM8{=CQM@L!*!5y9i&_bDc3>Db&zr$q+ACn*FmZ#EKAjdNl6!SU8GzWDc42H zb&+yiq+Ay%*G0;8k#b$6To)@W@_io`77pTHtp`V zTMIjETee?*u5V7yU$I@cHprmr*20eI_6e;lpQuSI=D&3^&wIt?r(ishjxxCbKNvw2}s^^lJZcxu9G2Nh^ zOJcfVGH73ljt$QYJtHJo*pak-ESv55v3IZGDY7>ho+a8JI@6KKtr24SMZKB4PQR!( zlbC+dnGT8R7xico(=Y1LvQ#~ql=O>wG>PdK^=J}PdK^=J~) zFY3{Q1Ad)#)Do` zYSo41_5HN;Q*!v7v%9v+S5E7A3a{{{)>}?g;z=*xqP=5YzG8cR`_!D3jV;4xWT)mj z@&m|odNF1?laXaQlOd({PL}oT-27(w>iyxv(1y+Voqkq+MMDgqd>8io_Kvh$o@O7~ z#0>M6Vcs&Gd62_XE1h|ec%r*Yex_n>YNvhCCV;MS@VWKijRHicnQr*(c zT(&TKxqL_X_Kh=bi=}=GLN>dX51T&>hJR*u8|ij^Ly@b}@0=MvT+iNn0^OT^^qkAE z92u4)(|k9}upT^yBe9y~|evwGScFYW)Y#;vYgrdUJJeDJSQ41)V z$8zL#Y5_&_SdP3-Erg=Q-Ve{oj{Fh{L@$qvv?w{=CnqbB2SpOe8#t$ARCF($!^?QQ zL(19?Pd2%F=63JcySahAIZt^GBjdROIo-6TIsKKRXgU3rqi8w(mD682{gtC=If|B} zXgNKV>r6qG(^EM;l_O?3J(bf_IbxR6Q@Li&a=Pd7c`|)D{MRAw zUrFv)lKYk9ekHwJ(#s{iT#il10VT8BhoHn&VnNHXFx(;Ew*w=!y*udD&ZU{@b z+)Mm&iC->trd2*b4e-xp*4Ci6!!sw#`Sb)RC-k>&9O zUfENhV$YG=W(_|s{jB@QkhAlWGngcTb&whBAT!oMO3CR#62Ur1d0i!%b&wJ>I3y9Q zgOt}fJ4hl}2Pv;JI3y9QgOu0h0@<-)ZhqrdWd)K5)-%%N<+=FjnNIt+JH1uQq4t*~*d+;eN%m2aeUxM$ zCE8Y!eUxx@30IeJbqQCObujXSS#vVmG=JsjDRR=0v6YZ@30aqrbqQIQkaY=JmymTi zUXPw4X;zW9MLC@88XkV9*ct6z*t&$ROHz-L)T5NtLw=EKYV*Pl-JjH>B>OMP{!4O> zlANO?=O`uTXg|LbJjprQn7pkd=P1cJN^*{poTDV?D9JfW$vN83&u!BBkaLve93?qN zNzPGD)}v}Z*qxJ(RHK}1+K$n?OIfM2yHaw_>+G(?5R%?Im6&smjG`R$&FuEeH^|RA ziR+TBrI2J5C0RvDR#B2wlw=hpSw%@!QIb`ZWECY@MM+jsHl-D_w_QQCbtD!giA70b zQIc4cBo-x!MM+{&l30`^7A1*ANn%lwSd=6dC5c5zVo{PhJG*wsm9C&n+Vpzai2U5#23{;WTV~{Eu)5Q;Q``2;#P*o4>Gf*2 zZDH3ibr>c(%a?5LnS$*xWz&OgdraB%n6l~P%KDtoea`1TXG5PM?K7l(hN#aF^%Gq)xC#$f z;o&MgT!n|L@Ng9#u44YaV*b8j{=UM(Rm>t*%->fyxJvJX%eNEgSXU&F6$Y-tz*V}+ zP4-jkQ0aYfiPbt(dT$Evv|uE3)N^Y`G#^7Rl4|lPTYdDc_1I--;>UiYebpSGmb?HJhq*m7B!0Ust(F ztoFTPinoF-DyDcVrg$r+cq^uOE2elWD5GMEw_=L7Vv4t7inoFpx5AxOxU-5W-ij&Sid!EQ?yO>pw_=L7 zVv4t7inrp{N5!p=id!EQw>~QTS;ei7id!EQ^AHvOtYRLbVjiO67D&ZBM8!Nrg+r@w zXcZ2v!l6|-vpuVU6D;!WYZP?tiqpF__GRsRxvePF*RJ_&no;`g+HtCXBGae!k<;l30KSsSIh}l z%n4WcvkHG!;m<1kS%p8V@Mjfs!WDDE6?#^oXBGae!k<;l30KSsSIh}l%n4T*wTe06 zirIt;r&i(ADx6w{Q>$=l6;7?fsa1MkUZ%I;f98HGTv~-ot8i%*F0I0)Rk*YYU9NCx z6)vs9rB%4Jin-s4x!($lR-xw=dR}4CDlA%sMXRuA6&9_+qE+aBh5lFQe}(>6=zoR& zSLlC*{#WRKh5lFQe}(>6=zoR&SLlC*{!5D5@@tL$*XVzZ{@3V#jsDl@e~tdv=zop= z*XVzZ{@3V#jsDl@e~tdv=zop=*XVzZ{@3V#jsDl@e~tdv=zop=*XVzZ{@3V#jsDl@ ze~tdv=zop=*XVzZ{@3V#jsDl@e~tdv=zop=*XVzZ{@3V#jsDl@e~tdv=zop=*XVzZ z{@3V#jsDl@e~tdv=zop=*XVzZ{@3V#jsDl@e~tdv=zop=*XVzZ{@3V#jsDl@e~tdv z=zop=*XVzZ{@3V#jsDl@e~tdv=zop=*XVzZ{@3V#jsDl@e~tdv=zop=*XVzZ{@3V# zjsDl@e~tdv=zop=*XVzZ{@3V#jsDl@e~tdv=zop=*XVzZ{@3V#jsDl@e~tdv=zop= z*XVzZ{@3V#jsDl@e~tdv=zop=*XVzZ{@3V#jsDl@e~tdv@YFch={VQvIM?Yo=jjAI zF#%6Zz!MYj!~{Gs0Z&Z86BF>n1UxYTPfWlQ6Y#_Y_!HnyfIk6GOu!Qp@Wcc>F#%6Z zz!MYj!~{Gs0Z&Z86BF>n1Uxax_)jwalZ^W$<37naPcqJvjPoSpJjpmuGR~8X^CaUu z$v96k&XbJuB;!2EI8QRZlZ@{q<2%W?PBN~OjOQfdImviVGM+q*Dc|0uGao#SDY52L zJdG)_&V2ARro=iI%+r_>>wFteV@j-knx`=(RzJ=4nj%)-doHC!WTX*VWJS zG^WHl+sM|XPmhQDck;&vaP?AZU2q;l+UDW+b?B%94Xmf`AcHmzpvND zcwhTl%C@~yw*4(-+g>T#{+3ef(bxVS@9T9TrQ-Fqza?(RTS~?6>vbWq*0-o|m%x9(+A7B?e#5ONqhP^HO5)l?NmSUwJ@c@b$cv7<@f%B?e!4K$iW3 zuh+N4;Oq4*G5C6(ORVkgY2G8tFJ*i`N@(-|LOH@AaDYbG@ehT(8mh z)8u!J$v$K)$o`> z@q*$7#S4lT6fY=VP`sdcLGgm(1;x|TrWX`1w0Ls2a|qNQYw`MHEna`D#p{o?c>S>! zuRqq}^~YK~QAhn;iznKsQHv+as8QQK(M63EFIBu$@lwT06)#o1RPj>9OBF9wyj1a0 z#Y-p5^xPTxlK}C6FMaHc55H-@f_F+57vtMGF-tj@EPZqK|3q_L`8|hqvYKUdYGzp2 z4LhgW`;YVTn?X`N`3|*pXP!Q2w`J{&tjs9b7QGp(*p>m``}%O7bjki>OZMOM`tY-R zUeEvMvy<#Ue0|UHCuO_8v4-1wjyc@U*}wNc+j~Ace0|UU!|j^=ho9ZE zEi0wR`kl6aV)`j-caw#i!`@nU>;BiS|G~!>qmQkQKKhZPIv<^mKDvJ7BS%FaPNENe z@aWEmrlSuY9o>FO^nq)l_qymd7rp1*YdY`AqIa)}Zq1^1Ek^HLjNY*ry=^gi>tghl zH=o>j%N^01PmbQS7`^eD=nad}>z7Bbd#&%hZcX%BAH61vUOgSX>aghLS@g1(PIq3m z7`=2lddbbpJ1qnj~AAI(j=-Jnf+`K%xdHu+<)<(~K+*s$Ci_tS~THSfZ+UTYm zlg>@6qnmEsZ~b~Ra^ur&=f)(u@z(v8tv_|-={9=$?ITZ{zozrF+oGpF+I60~DthYr zk*CPkQ%;DUe8X*>Coe`fTz^UDhTEbWt{u7lNozaTUlLuve&k6~uP3dIu6yFD&UJ@H z*WLQx+t>ehMUTBx^q8BYN4x0S>FLh3i_xRzR(2kBaP-J)mUkYR zMb|8k9`W!Moky&W9=;;F`sV1WRne6;y5jO9I#=8gUA}Ng=kg<>g+rp<@}b>_MY|TG zor}?BJCe?2i_wlG+Od9Q{+ej}wv#&Bw?^AeisrWZ&fLmq?%I*9KH9o|FH?WfzgJ=XlgNf*hANK z9<~@gbY1k2#psg7=)tE)54tA0crm(Y5It})x^OXiz-`e5i_v-0(Yb4)`)AQPXRqj- zb4_&iis-EI^%Kz@s*vES4ZK1sM+6knuDXks;Hkty~U_3)^y6nsK{4$iZxN5*-pMX%2LzGY?SHv zq$V0W{-Dm-AUb~Cft}+IijKd1WZhx5v+lrX-L)gfnd#1PH%IqAc1`Err$@(1BaU4Y z9lL(yUQ+dYO-J`UW~_71@#q+-*fC?#(NY|}7~SK9Xl-&(XYD1?QAZxoIqJOVNcq^2 z2Si7%AGv!R-R+2jI(NGyI^ytEog)s4j<|i~Z~;4fRdo2ZBZt}Ou=OK{9vL07BD(8Q z(OnK6>)hqM=wLbO!DG=ui_x70^v;XXomNH%u36JLaBH+?_3F-=HPM>&Bdb?O2grU0 z+$O&Yzp}GxQGOnNWoP9?v_k5?;^t_%ytjNYO5^~^K~b`P#4kop0=K@}8d=%LUK5$= zDDJN6#A~ANs%TVx7kcy>`Q_>3I-N{@gMOuKMRHL2MZx{fi@1(5&% diff --git a/sources/include/tfpdf/font/unifont/DejaVuSerif.ttf b/sources/include/tfpdf/font/unifont/DejaVuSerif.ttf deleted file mode 100644 index ed53a2967c9fadf5f6c5fdfc726f14586b5a45aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 363200 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π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�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%0A%#wF)ijEib6Vq7{)pt~$s6z3xQ9lcbM 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%0D(Zf!UH4N_ z_ft{#Q&IO*QTJ0(_ft{#Q&IO*QTJ0(_ft{#Q&IO*QTJ12-LD6T8Gx99W|J`FoLgJd zBzhI3G)7;S$ZCv?L`n<_#-Lyt(hZQN=gn%=R+gEdH*@Cj90M9K&_EQUosjo)YACy7 zpo`tl*1IknQ~fPp6R}`rgt26~Z?|#loeq8JigRjZt{B@SnQi1^PizbyzC0@8?%N_G zS1vQ}kS5wiTh8ak5?3le>`<-(@xyVc$G|-<1x!#NLD2<6njw7^(q#Qjk*<$>ecVY> z-I4BYtF@Tg_*sAce|W$>tF@Tg_* zsAce|W$>tF@Tg_BM=gU#ErX&F=a})09q;VK?13w!P7 zi~$Dk&;cP(m9H~}KzW~ytoK%*+?U5^z1}Mj0^P`lBLv!Lhd|rZPJfs3MzVCXMJYY! zrsdrh+2y_*{iq=xM>sV4;m&Hc9S)s9IMiTM*OA*MQ8+Znu>Tj|Asp)B(^?@M>a5*p zmE^;E-_oUZMSPD%-PXYdxbi}EuGUfi61!D(MMocl<1Q&MHv~o#zR92?k#36#d6aI8 zG%Zi)rK`}w)pke=8lU! zz{jzDA6$E&-uSt%y}r0v!<4MWuSG;H8h*LMary8?Q4y~#&KhkDxoXj(&6^i3x(dBJ z=vGwgE%h%Thi2Hy0uffMWZVGbDTuvD2q{QoP+X=HL{_1%6Y3-&Ei?75GgBep7+pRA^&CQX0i?2DEKJ+Xl34K-&hiZ9v-wv~57!2DEKJ z+Xl34K--3`Z3Egiq_$I_g2qrmV=9wH-L)^)P(%V6sbVQ(~934ue$VqA!=Wy$;Of|D8UCq{R{QmI`-+i~? z@$bFgJk19Eio+V8TK*D?6F>3|yjrQ|J5|qyQ>QjOarEdrq$Rguv=%NvYdFhfwYB*eoSBYE~(v7T8u#p)BtB|4!DXNg73Ms0Pq6#UhkfI7H zs*s`zDXNg73Ms0#6jex3B_&c690`p^+8T|7MkAroNN6+?8jXZTBcahqXfzTUjf6%c zq0vZaG!h!cuoPm|7>F$nVvB<=s7@y!oq#lnRqBK4iGgO57$F0TLz7MEIHUvNKmFdJ zI8oS1wG`)1TN}<+6pNu%+8SqBo;XIq%8WRn3PCCE%ib9FQ!Jm|5IvU1INb1 zzrD2lDY51BuVTy7%lV6+ZP;+~~skPTaYY{c^WhGcHaoni(}?me@I~ zg3p@8N_?Mg*zn{}>W@!tjGxFx@|7a-ZZ=zZricz0dtjF%X#NcSsm97)U&On{{%z)})mDG9KY1XxM}EF}S!k^oCdfTbkBQW9V(39uCE+`u@#MdE+B z_|@bGG$lbgLy|xPwD>8wl4$&(0T3la!}T%lKoX&zN|Gg=BxF`db46I?A!}3Rmw%baIcF}`CL<5N$rUhQ>qCwpejoM)by!(U~Z@V>g~7WM7Q=4|e2 z@ckzEE(hODm3K||o(>Wyl=4R*;9tS-NYJPwosM*Uq+Q3P&AVXpF5Bi^uz443-UXX? z!RB4Cc^7Qn1)F!l=3TIP7i``In|HzHUDD=l8z(o?grq<=OXAlc2^Fr6BtaE8#*zft zFa<}(ev`C_{nQFIRAS7w1C0gk?Sgf`__UOOEgwlvmdJ4G6>nKyzGmyz>1($Bx^nfM z4^5x8ZjE;5>TTOri+NLp*fspyIef`4eQtSr^Ub0cki(~(L0>yx_O%O@52(9nRzK=4 z21p8SyG_eUgOo_aRRc&x5b+*Huh{(g8oJm0qAAnvf?T#sT%*3n- z8r?Qeb3}@!om4g~nBcgK{X0>wqLo5fqZ0ANwcmWx2yYr&Z%Auq zo}K96+qoHXXYQAF+yZvo!nWfUNVb3-w}2hDfE~Ah9k+lTw}2hDfE~Ah9k+lTw}2hD zfE{D14}5nEKqIlYg4$a9aS)xP)qEH<;p>1jJ?l&wrf{Aidq>O4JK_aZHWisDt%HRa zu-_ESQRmD~CHPZLf2y%R)x@8|*o0L!)1RV~VNH0g{i!^E3Tw9H+uXdYq|73!N{F{| ziX1s^j63E~t%9Lo@Y4KEGffbH1-+(uH^`-)SiNP-lQ*wo_pp1{+;b1-Y|?;<_p+ZPI=T00@ zzKUICzPn00v}%s)j@7bWGAt6(yTD!&pxh@-mq7xhI%kHI5GDjkeJP4-bksBIFh=7} zO{0!I1sK3Xx_ z&zlUB2H)@@Ri+iBlhCx&^CW8B($i4QXd)PD6vlDWbK>#k0W)OWG%m{iWNTU5acNbZ zip6Grb3}yK7jZA^wWv>AgePmTesq8T(c-U>@xJFG7DYtp?=BY27Bw8Sp@cr|u^y1c z_xfS8g^jfaw_@X9WAR|0JSvGHgQBryXMzh`;+kX4nMrZ3%%bA>oJ<;eZioGFF~5qb zYepUY*~sw}bzL{Q<>j9ZRkPa-U9hVxau@4#m8u_pN}Luyb{IOS`BP((zlssxt}<4$ zChC<-5A<#O$_H%GljO8fWnWd8F;hQ)(Y1VKFkB7@D8y9{@=wPV1sz1;cLDTZhbIk> z?L-eKNvQ{em$dK19I$LDzX)U_b&{8pW9a$L)O0rB&o2EAC(p#g*H3Gtop^X~lTt=kXIZ6ofE`|_0UHNNZd)!ENp-&l0ZZaCn; z@fWGF;Ot81;UM%7f!dk`4oK?Mjz!ashq8T&WJ!u68>B{R>MCC1JK40paP{IH1*YR+ ztH)8;CB31;*C`{K-#V-wU*((V8^<5!si>Ey;2(Pfwwt~|BwMXeGU>P>uu%A}08<27 zLc&B@>{OaR)y_)64j?yIVtrPCosyB10eOZ>_K=jBQygEE$?Z=O^j`V_NEAEnt^Ra; zJ@uv%wciluFJoK>n)m*Fyn5MwW2idrfB%}0@>lnQ$YBH2Ax%m?1Fa_u+s|HK(s*C@ zl8+|EU=Tf0JU!JgZe{&d@zeX4bo}A+n8s@Fp3?@$zCQ_boUpvKJ606_h*&X0enWVU zx|C*XOI^x(Xced`(dd+pWnq-oWpzuG7DM4M2FE4y3I0?jN|8P7#1ww}ZD%Wm?>FR! zNlO%RCqRCMR(&NWO(98x{X0>sP{{zoblt7+q||z{Q|WA_sAe&BF5cfqr@%=-nk(uLX zKi|DeJ@viAY+~PcacK0?T}6>!^m^c_=BZ7$e8QSmUGExx8GHw#RmHdwcIARAGvz?? zh=eTg4c@X^X)V;>CaPg8ScoAj8*l!>td`iQbL5m|2j-{k_x)=4KHl{15dH8^SLb;q zPdR>h-^!D|rToQ@zBn|u4g6G~enk6gM{XXDT1jHrur75K`@5&_tr*|O(@_s*4z1^F z6v4lWT|u@X?Z1zH4BljnGLbbQ*J=*TCcy?Yd}<@cqN#`-j8#4~Op`4&Of&S*uAhSl0nWBu6$jSHjL)%1z^h3G@T6s!SnBdrt3;8J>iF5+))LW+Ct#NOSchvs7 zk#-~959w}5)3d?254PT4Zao`{`%vH>1{`iMYu4^0)b2V}ZZz;zu@jrJq-+>#eI|$3 z@HGwJ9P!akT4+0*9)`0yu}h}uOwoS8Clsj$L*y94pzh^JF+ex{^+KmF}`BshRF-l8ty7? zvEy>)Xk5}*KlX924ofz=jL+J4JTxxG!4f0IQ_^P))Wr86^z8W4WiiI}FJ^ymom0H@ z(1$T<c99a z@GbF57IiG*q&igcpJea!-PV8%?f=PFrKh?xafdd^f1IcJANMtx@MM}{A$$k7K_08fVFXjvz z>^ruqN5i9=TU|9sKeA7&{Q04l8?^b!YDX>l>8dZ6w~u(padU>&LpucBapkq@zYLOV z1BmnvlXB`Ja!_bI7mU7h8r90N0gRieLWzT(E$FAY9xKv!Kv9Y zO?@K@5;YW}Za?+9X}mH5oYPJbNz#?LtQ7bKyLtvjD9Ai$0!L;Vv<1dpN$Ew#WKC54 zknqFQfvWe(h~G6KPLI3tN_B*OM5{_TlC)t(Y$yJpZ}=z8UYr-#Rr}_XhaZ-_zFb|Y zX6T=TBB$~Q3Eb=nkvEI5td@eISX_KRdA?{R0%S>V76)&JaWHdKF%C{A4&E#d-YgE@ zEDqi*4&E#d-YgE@EDqi*4&E#d-YgE@41-DN#}Mo!TjNwKqQJXhc`_Pv($L#BYlssy zq@cJU*~#@BtR8O`U!0S%tBtO1zV~Ee6W>c}d*-S4_>KDKhPTVls;CxMT&e1xRvi|P zjAePxMv`8i#h+a8S`WNFgK27c3M z1@!@_0jF5s*)FK|k>{n>P0mS?`qXK5icCfMQ!)NjoImBXQur1O&a!RJ`ylSkjvv1dHD|~Ckyn8TJ8hk&82CWc$H&g3Lb0x>G;4IWEdWLkg6qC7`tiG@>C$nxrn5lqP0mN*U^?Wo9bU zpOW)6<=X`Rvj+ZDia(X=Pc`+Yvi+%+{#0u#C4DB2T2C?@@oxGfr`5>64phYWOh=JB z9(`9hA{?g@&zH5;Z&cMAZ)S7!wz@cuar=b}`GSSGvowrZq>;+@m+(6sCE^bEGOdUB z47sE4?QNnI%e@8dgRMSM|ZJ1KNN-VpB%|f+>@1L#wX-v}ELnSoJxro-! zW){uXl1ka*Vst6HlP9bdW23}a+P{06*vj`CG>W6JmMo{4n(a(*7w2TlMJq{(Dvm+X zQ<pNc}*YMv-_NaBVTWNGRnzXT-GH~Y>mF0UG_YyWTz(0i*)QOJj&RI zkBe;4cC|R&KPifb;&B!wV{)6Ct@5Hmg#M0fhv7nB5QvP7X^CAfV=bIfPj349NWq-$ zJ%{Sr^RF;2`nV^Ft-X0vQh%1XnjK_cJpLhLM+^5kBIivKjfL^Nc>Z!sOT~mJ{~9AY z+e(SV6j7GW&a(fBXi<;-A=dDNViha*wKZm&Ylzf5Uj$ApC%L^Me&@Fs3Dkx-X?vK= zS6IW%;y?Jq7peDnulHVW%69|uO)~Q#6Lyl}lf-{EvxfM?7kRH&?@{lOdRU2gwz>WX z`ag=3)-EUIU~E)g4kYMW$={FS@9*-g@bv77KU(i-Qc-lbs++Vo+f~KuISm?Aey;u6 zuBxkcyNP>c^=E*&k6@BoSrHr``tG>g_(PY`+~V5DBqhtyTZG6PyRD+XNrI$gwvBj5fZ%TE7NdS7I?m_~ z5F2G-Rdo^iP|y$cDR6Wp46;C#HO5I_@^FkLhMg$<#D5SjGT}ct7KQ1NnP_L}zuB+V z?{1w-JFI*C6T3|Y)QH`wv+^q(6?hj1Bq0dwOo2fm3K7m~pG0FZ;oe zvT5Dh#Iif+RLkzu%7%E%2VyoId`S-=$1>&5Xw|ImEGgYdOVbO~X!Wl`TLAn!tb1jT zM6pN23&;=u5Z&7H59t=O>9Zq0wCVnqBXFb_+{XH-DkO0@(b816WDl zHl0{8k|l|hr#`!|-xWJ!+Q?OrGgO+m>TJ#6sXF9^Wl(ZsLp59j+*#|GTrFk3D~VTTq}i z_5QNlW7Gc{=;wZ!nsBh|L{fT=C7t*rh=sX4o`^kHS>pY>b7Z4}0wQQR4%9;Pfg|Gx zPJow8P}4|t`AsS(I?{oWTX!Q(|KSz`YpR}h4Yl7qICmMs|9QE2_7CL$~^o)PZCu%9?GmdSS>}SZAL;3huq4||H zd?Gt(KEruUGCw`D^D9rCn;-BcEc=~}r$)Ij_|)0DuKmlTSzTh&Y&}DMdKQY0e=PHd zytDDucozmAYoe?gIL>9sF3gXY^AtbL&=ecqVfg6TibvBhT>#MpX9DU*J z*Vdo?E*yTm3xm&;5AaDo?DDnX4dF3Z9zpm+@|=&3@bsAc+wwK(A(`2JD^Q=!@&VhZ zOP<>43Frkj;t2M)!8)vovvxTJ;F&xG{C6$z>L|AmxUx(ry{7zv^Z{N1ekdI7(DI@F z#OBw|b3XYYPZ)a65AS^Pv*Cr4Ul4!5DgBJZZRf2EohENJ+skw8&xY?XeO2vtXwq9Z zd#suF!t@68jKfN>UA@I(YXN_{T;xqkUpu8=waOG>trw0D8@~8z)E%ewv&ZdWCX3HVu z9m-32I)d#%TvL0VfLy}nsS76n|lC8-2OY&mcO2Gexlg+vI z7gApGYv(y1U1puA=}*p~Cj{R4PIA5JGWf!O$7nXAXzAeK#!oNtlhv1QA!|@a9j{MX|~xV6f!ru~{UknC&sqbA&d&0I|03(Ga2 z_i*|SL$8#xU6(E_=K%b0@;(pziiOp--aJf{^y}z(qxyp7(PsU4d33>rf*YTq{BMtLCV0k!GBVw?)(Jo%GT*W!B=-Z z1@PIjzes%lP;Vi4C5%vh)!F3Z&G=Vc5{Q58n2Da%jDPKTCGhTCxyyH9@R{+6-T${? zpDV{e`Ec?w?fcw3=c6OM{hIun_G|MK&R%U?Ql5_R@$b2LYNsclmr#9}@(H2`G7R9X zT}}ab;p7ztp45$b) zc(zO~0I$yS3xXSl-gE3Ph=0;)O}`l;N13;Fe_4Cp3(GZNPvPWS)1FKo>t?4xc|&Aa zM_xn9Tnr!Qv)@pE6fXV^$g(c>Vdps?ec|aj$3IFP+wjh3zcxHOZ?HUT)`yyT>q4hp zCe$9n+pkH(`R&()7qFRNdTZKO&Ab<;_u}lgCj1M_IRM|}H84IF=re`bj9pjjY`;M? z*=6KCoczP+*Kr{~Y{L(Q7d(D&F8y}iy2u}S!_Zqd_;r!L4L_Xx!^i`))IM%|KAi>O z3BymV_HW~JnC*A%emqDIvP@n4d2MCtu9txQ+B&UE{WE0|sIzs~QvhE$ebrXqgYZe& z+hzX=pQg;h_g@hIO4-}-Xf1KDq`}S;EU!>|v&T^hS8aNic_h4W@(*f{LU7hD?*Keo zMi-z@!nO0(h0gQIFI0av|D^K^@gK0Ii^+RodIR}m?s^K~vt@sg`2L~ZLhwo$;rI>jZ_n2c z2-Kf&{M2TDcHX+^>3sGUhF)oJHvGEi#fEQ}3D(DX=)Y(^1mUSw{KDOt7i+r9#^S>?F!BfDo?gn$xC2TscPRc7VCmoyMgw88(!5o+*{)|Vg z^3z@JVdZ{AtJvOx0^dWT6zKL6LUYK6i z$8x5?f~L}{x!MP%m1p#b(yAhD3BjoT3@}W7Le??S5+;3&uR6+CZNjkEFO_Obs)|bW zh{`ji+6Ps0gLH&l(7+njxn}xTzZhM7cP;Xr_H+N8#}l*!Ca5mRvd*IPqymUhE`D&% z<`s*0qRlcE=XgAR&j1;kwoY}FcJL>C__0ESL_-muDc-VC>k;DNMdIP$B{%>GWvG7J zwc+?FfJ%v;B&{1OvFWHh!^SOQ<3Ns|7#q$ss}9g!!Z=Tb!CC023s`y)o;{B*nELjp#A-u0($9&dS9IRkN@<6YY*kD2zs2k#inXF|LYdKTAK=x!PHf~y1 znT9P>iWRJ;QtT5RGBcW8MABTE>p7Dc zsXm<*>GA3_5SWMc#EPGuxDVF%RV{`sJO(4WCVICv4?fG5nF~ai&I&a^x~@!HNmQc` z+Nu|AJx2nnIifX{%~hbP2PuVU^TQ`wr~w}p)Qt6Hd$S9B^(frk>tSr>Ua8O|Hbg~WPEbh9?`?05MpS30QUfo0~h~=z|-5B9} z*`Y>^R}HZ|f?rBWvIW4Jq~B)3%F-Qrj??YL2AEkc)uHk@c2k6Jo53R{pw#UVyo{1x zOo-4Tc)tj-LNz8taKpDPg3&T#z-m*yO>d{|#U=xY)hvQoav}~zbSL9P25qV@cRZ+* zB=JuMt^fC+inI}3SUms4rfGsNZ_vNj51N_QWdz_YseVb)26#9{(L7&~PExe#>(#W& zh_nhS5P&eA#ib4Jnl^LL`r~*?=%g?teM^*b{Wg7$NuMpa>_QyU=*Z465_vDa-(LWP zSoCR)eR+QIf$ZZ%U)SMMcIA4m2@j_}n&&;z$&Z#CwW(mkq%R19*4UgQ`V32i5HU zGeV>gNvyApuN?eIe1y#9M-yp_jIksFc94Jt(<`161Z3VfSh}wOpNjp~NPou=`O*3I3jB>Di@0Ib&4Ld=H>E5w4CGwI29YD5KFToDF_v;vfev>2k6`GBHE%&hvMf;VFe zXNvjIG$7#s)tOpKg_s8*VxFHC(k;cm)MmTj`EuNrezW}g<*PwT1<;@M8<2N~dbeMX z-Wj|n5z8|x&ITTOXZY2DBcsFNlh)+2tO%HG%i^mg4=gbN?X2%ug?hIiJ^x-ZCQhIA z<2Wnk%~bF5qxa(@S=+I-pEp}#T9Y82e18Os?zCOmUc4JTj95}vygs}biAmJQey#uovrX43(;7R zeD+HDkp64R$8yiLNGXT_9!^>?nE(O6XSS8JCrJbRusd4m*ia%HyL{!iJF|Rju%NYO zgVD&*4j8+|3!^r7zVgf!x6Zt^^XAu(4BC>QZ|5toT!`oW`gOhn;8<(reSM?$4aFB( zh>Nf-F-7y}%wf|fgMTW9vCShEiY@HnDE6p${`mWz1y{2zdt%snF(zh@7_|Ot>8oGW zH)#iCjFO+6gY$0i|5&+QS4!{W#I_688C(c#xx5CLdnGB zf*@(JVds#pj%J(1un`N{ATcgVT+1#y4sk1tUr}AHy@);Pu;W1%ZRi0Zr}DU1<}h6x zfA7-rPMyjxtr)SOSFZ&l?Dp$K*|x*S4{s~07=E-`{8fE)IN2H6V-uzdm{(gct*YCW z@wfyWpA^dzQxSbpcG;eqU@Ih&6E^e-!;dP}EJ^{~3KNlpt5mT2je+XVM62zAJ2ULX zfxTg92N1@F)((Md7KvhcFiw(zGKqCDda7$BT&n`b@-$Nv`JI`5tv{@=*|o@0n}=nD z#)ZZ!n~d(DRmGlN(%P~liH;nLVpA?S%`=w$&Mpmz(`MWPyvegOtO7tcSK#QSJfh`D z8ivoX+pXLL*N(tKq@(unY}(}6BwnsvNUR^_0M1%v#hNRn`c&;WamC!J%-rq8asuX_ zFxlGW_Vz0M{cx<^V6926sSec@)F*;!9x)zWf!IsSfGJJ^)R)n_+E({43f1Z{PL4n#*yPoH*^f1jImZ5#%x5HE~a zS1TP1o5!FB3>)?n!m0n5>-$elxU*4z zsI7^XH9x5Sr~w=cWu+MxA^@wFut)r`Ejj^@`kUv#3rIlQEa7pCar#;JgA1iE(AT4O z7wuJ!+vRpS{G_=YIgT9ONDOBi@2>dfn~J;H7q)CgwtRw4{yi1Pk5}B|r&Im}v4L^; zrr5By9pJ;*)dKDl({c>jf&FYz zXQ}U(o#6%n=nA6$hF#y$d>2_wcoLd%{>k83g9p#L1HjgwT5p1hr<0U2pih9n}ZG+gXB-4VJMPpBxiR@`KdR znpjMXWM3g=Fpfau`VfHn7(j{?0N2k3uu*=c7w;Lu1L-(j@}TYnzdxTnYVshPmt~}#N}ge-(6ao>1w)le!zbEy`V}5e)$w3EwRC_lI3@?q%wBdT z{$-4biALCLolP@!7WA#qH0&x#hh^515tAlU50VeqwaJB9Ijudt^s}}IBo9>oExqYf z2}~~3$7FSpaNEhMFJ)X^4S&?y=z{I7b0WrKenR^=N5r*&gYjOx`widO-qO$F-T3PE zIFG>*F^=BIce7D$nk+ZbDmNieuKEDV?L)aqlpp1;qw@I2q4#-I4qt9)=P_C7@W}&I z<`kG-a8ISfXkO{i_DmY2rjUd1h`BMImt|SPslH&Al@g>+9*~JE(-LB5s^{=mohJ?A zPGZ@^mQdjucqKwqVcP$#h{1?}Zg;eA+$0Uy*+4ZV2G!1Y_+?KFyOhcXT?g;zjO^K@H)pQB;^Tv&T?RzedYwT5eH}$+OX=ve?uFQ1Wgb&vwbH zDI;Zo(M7#8P)0Rz$}%QG^-fgWO@s^d%?6HX!8o!=plBw51Lh%_lPHKS$`AO{0N*fc z2RVXt6-5F_pbvW#HvW8Vh!!BPzSI z>G^1BGt*~lyV`W^+NP?fwrj?tkIty-$y;&b`c><0M`fj|3yo9=QMcE|EPSlz+wdL73>9{TkV()QZPx$HS_A^c*~& z1%+(;o^R+AKaZ zZ4UHJvgyO_s~`{?!P?RA=Q^(xT5Q!_!KS6J+$`E{6zw*%Ilf*2W}$C_rPJ|f=p8%# zKp5&nMs{3r0p0QaVRkSu9N?n3%Jy<7A( zHW^jhc@JQt(XY3yr>#Z(LZYoj*Dsnb_Y$4H2>wXw(&mr(>j(?Di#WK8BDgbu=Z60c zmIio_t7*id_c*&Epiq7#81sB2zW&Ji&OTgerO(nC&1lMkz!2c0(*e09k<@JI74RMR zel#Hl|0aBNF9GMT`7WV*E68d>OjK0N1WRVN+*nt@9d5$K_#sZS!GWsDAQcCbS$>Z0 zsy7s_?-KqR!POZ^GyxN-M6*-~Q+`!&dbsuk(d#TM#z{FYC?PEw$G6}!5Kiujm-k=8 z(WUmh_oIo?F)`5-O(tw)QqR9CHv#T_a%NYekp?ZJSC*DtR6t#zBE&E9uD>0QF7|0C zU|Tw5KY=}ul}Hu4F#joHM2x+^G1`uH;?C$Fj99cC@9X^#58%$9#63IWeHk6R@Ay^H zhkR6_)R$1{PaE7hp70p2wBb7AFv>WP*tfPKWg1+zon5LmBS!ST3rWBk{7) z`v#5c>TcOS#)yoY9LrgR_=Cld8vWM5@t2gQ=hlyk5|w<*qRnjGn_myGuMaq&`~ugMQ$1wT2pHSg!(t)>pe zV|;wYV|;|Yk)NE>ipEb{O#w*sliO9lYh?Igx|uu6i4Q#v`6buEv}b?tHOUh%@jQOg z*JNrd?9|<_^;CXx=nn)`Y|HcBO#tazZmTK2CPX8?Z!XnGnKa`2fI(^!E^z>=8bKwQ`8S_iE1{f9y#Y(H!`0 zk3Kr11LX*8lF_B=CliYLnC};}AgR{sThW|3Ho7F} z%d?^aKG?tII;I0zXiQpcyFq?E$XtSrq(i7>Fuz?;nILlrHi8Zzst3=u?olRK<-v;9 zM}?>tcr4vg8Sd9;upaeMp~?$<=Rv%QezzQaLhvj_e6GG~=m|xvd5(X`xeK=VERkzt zL$ss5Z(vMPtK|39pc#^=jdttnRWuJ*{f*`@YNV)K9%3yz?2l{$y-9QU zNq1F^(iE%dR9lD$4;y9;DVh2!1HLX6zMyHD>=Di5RVj_6r3E?017TYMHyaNB7#s=PvXSHABx(#{^Q z;ExiHFnM8-HS(%)GIJm=hj&o)bfy9{CY}Rkh0$n*UQ&4(fewXh=EYQKI&frc&761( zTGK(RnJ-dTo%{yh3hy6kJvG+*`#63RzsYyI8t47Zi=Hm!3eN9j@saAIe72pPC;D#J zemhTogm;k~1^5k>^Gpm>gx_Q%s0lwkQhQYUDL@ZT3?T=np4hV1QS)i0XA(|HXo@k* z7HA>!aQc~|fBLiksi6C;%6BSe{l|XC_Rp&L59x#{7zNOq z>U7?Zf>TFPV+x9J(bnKNe-wsA|G};c;%B_^9{#<-d%uBChFj?3n{O#+Z_fK@9-A|H zvRHTPekEL@rVK2H$g>CSe^H?|%0ki+J$i zhaVJYi0E>4`Mk=>CwISj%J)?{KlAvSwd*VA0mlq6%y0uoHjXe?==g4z6J)ChI9oCL znwpQpq>^G0$z&IiaAa_k1*~yEsvhZ8kl+0C?PC28m$=(s`|nXV;*gw*zW4V&_Rbsp ze_#CkobP6qv-+NUR*TR1x6Zb0E)zY=*_U@TZ|=M0i&fW*{V5~k*x!1$$@~Ac?#1l8 zS!>LEV4&w;#&XbuxtJ!$QXiIHpr1mH$QlDnV1C9Mq!rbmzi*T`8z-K5!&~`Axvor} z?8C(H$&;%TF;r!p%lRVT{BpqVC%)Bwfo}ZLOpou(C|;wXFdR8ZfFVqZSqqYeY}~>o z6+AIz%f=0p;^M}M-yR!%^R2h7FW0-4`-V-Kw(nElJK~l*?<(iY-n(~h6%ETx{S*D9 zv&O;n<2VtpfrBrI{#K0niRX(w?6*z61^lDUVBk7miADYgya-HuwNz$S10%;@aKq>Vd{h(EOVH5Eukk{pILnp=V1PZ z`3?mDg(#UM205h{#j13kVSHgiGbg@P;y|jlIN&fAhef73_|s2((u3Wyi40F5>Sp@6_J`+@#;eAm- zDvSsH5QHpJq3^SocnptWYurr@2kTQ_Q!m2C5Uw^HX z=Ch<*d_^*J6RAU#lu2DB!@(CW6LaRUA2zdAEUKWSbb7n7`J;>uCGH+s>T9SES$yf- zwr%3-e{e~s(vi?l6ymHXQ$O-t89!W{MMIq0kYl-Ho_KhJ*eo`05OW^j={qr%Y>0;q z$C>0My?bZ%pWbD(qxX>1e5@e&sVYf(qpG`J4)^h*wzH~(`c>Cag$>fvzZ^ZHVXIcM zj=&xqOTY{2VLEEHttQ0U&d!jhpC3JDt*8`d?-y_1$i8{@7nZP)#T{x?GPdmMiK7g6 z=i=g2wUPH*$yyt=vv&`lH}I-jN&my-(jOMqD=3F}m~OKF{pkBGwcS z9eQ({eDuDe1`ZfC`UU>=!dr%q`7%9y*M_QX*S$WyxX6LC-IWQ|C$)0z5*+qL2e~Rr z8e|~Nm_|K{44U_f!HH%{8piq36!m`JX2aEP;MaqT2lCcYExa86PR zre>z7--v=99XhtVdUVTTcjt!}EqHbAyvxN$FeWd{7a!ADcH3&sURL`jIQT3@@r@(B zR{y~tR$tMNgAN7VX6Yv^Lp*`8yX10~I8wYgRcsx_uFyC5=JQ1*CEhb?L`ey3;#o|{ z`WC*ntAax(F&sf&tT4MBYl~Ban^CoiH!EaPVscX)aD-qZJtHSo55xj(^_(|m>bw56 zb=QpTZ-4p%i~V!bnUyo*Uwrw|C+EKZ>Ict>AH~o82PU*_nw#6Vb)RW*Q`$d$Rj*ry z54@yv->g1t2;2O`oy(@oa(C*s=jk^NwrM5yJbLHCTPELJ;x2vtvCof1H6Gf&drrfN zmu|}M(Wc*sYlrnhV??$*QVi4YMtx`z+%^^Dr>Ynfccp43eb8`QPP_!QSDD%U@-JzW zcBAHKno-iGOIp8$aZ?t3)M4U?-YuteUsUFA$&ypt4byH=9cgK~E@ye4O|u(!=+I(v zx8A^gQ}uoND_R42?w77+xeL@xx9-Sv;+RQifujpL@ba1Vw&?r-dozB2+0jB#TJPZQ zU+V8`|BmzLn8OX&-sl6v4yzA#_vLjd5%>SQv{1dT-BqmKl>AO?R;P}F1~Gs~bkZIM zo($A|uBWN)0!MOsGk04iu^~hS<}9=aUGQ1PNY)lJpHGx@WhYr8&S7o9^mVbKi);V$ zH!O=fop) z6#K9?C{HZzC+{15)3;g_> z`o;jNx^BZB(fPr#+RUhfZ{BcQ%z+g4cFdvUoV_4AE%@(H^}$Phr9%qT2m5tki~4n_ z`u@`QUnE)IBsx1fnzBwOz)8V^EpTMvEN`?U5Vnp;$Ca5~#Kl{p)2fOk(FgYumWJ%D z=p&8UJ5h&s&sr9BaJMLV`Kj;kQ}6F!{UDJnfH1I?DzNeZr?QTk^5Ib&s@0) zw)FsHtWpb>1q`}r%Wm|~RD8?FIygxHh|1Wgsm80X1pH$lcOw9`)AQA5TO8y2sKPHko^jy^d2hNblmHYVNe znSEOfAb&EXka}q9 zk4B5q=!2)#B}?8^8?n7HM~?r?l$US&x`khMh0F$v-d#mEX&7s!zXlxW`Z?NyW|ijp zn7VP8q6!#^%M_QXBYopTqT_1rTN-oFB|1la3M*M%u_*T7TQ@9=Hm#%)m^%38OcV2v z0+N^CD0xRyXv{m^)YV(4f1klNBFO_$RZT|}yR?j%PNzieRY z_~tkKXH@gs`sN-Jo5ZehmuLLWo)$yjVQ;f%-t5ssy({`ok@bd}Q*S4qI}B2y#)NQOs2=%W+>}{sXxR)kTMK)jM$qD&W`Mz zu{7$?9#OgmT0HReN34T(_^`gQtJrGUpv|q;fcdV?%k!DGaZ|O=(Ft;fl+&er-FkiI z%#nW8_OEm=Kt%*LW8?vsD2@6wNpy=k^zNKx@&AXh?*M4(Y8&Rt&vS0QiOz5DS!#Oc61uc$`XaMCm%A3VMaba~O|NCAAmvD_ntFfi zZxBQx4IuXb-^+TQ{EJH0zsitC0vu&=`*IiP?u+Q^P-nl{?Mt15W(?tgzgr`yJ1I)? zKs}##;4n@X;EYhrLjjx)TEkGHQ`3y867!e@hn!0b_yYF8VHPemyE_N3ce|wlUcX&} znq_x)p}m&}2Hw1hUcq5A&LLKmoGOdmgeZPW2+m3PbmUJpy#gtc5-~jz`q`jPhXJpu z;Ju)!$8^|4m>j?_850XaJ@(>DK&OrYlY6!}%JSXIz@m39qf4(-{r&GEM|92j{Yzbg zll0s<3a&;?=b>rIiI^G}Zap61-JqLAg@wHh1+; zx_h~E&={W03P;HdG@3B#PIBnDj7P9mfUYtm-W>{tlt0)W0dT(|KMZ0r7p?-B1dOnu zIM|Th>r{bvA4Qcd{P%-jz?SHZAHT#+=cW&s-Ze+B|65ACuBJRjZunR&<=o~5Z`wZ} zIiICxuv1hjmEBIp1}F>_Y#XRNWb6w8gF)Xo7ZR2b^CS!!xwIi)z;Ry9$DxMr+u+Da zcP@iUQ?1(n8qz(hqXtG)XW+{UXPC15WP)i-ae+As6Va| zu3lh#=hE~+(>r$Pipjl89Rp_cnj~!mvA$sY`_mMZUSJv9&w3S}39&Hp;3|l`k|zon z$Bw{dZ7HBH?#F7w53Y1AGP!#NR7~drv%A+0;D|fOHkBxFa3@AIYET3rBlUUs*U$9$ zVsr~US4@cv6>^t}xYFqZ7PU(IgTx#0_TWg<_pcD6cNtyY)Y(7j{V%j-R3AE{dpc2H zAQp^HJ^*&_v|iSL4isBt;6V0uNP=z*3$zjVAS<#_9M_{{iGPsE&*hYFB6NiU_IGmv@5i_0sWl3%mhaj4&9C^7C z_}=&fM|2frxnqFw0r187G`d1>Oi_W3(5YImrAL8wpTN3}8Cf2+WxPlPc8dnacGVd) z1`sMG!?9es_}e^r-<6W$uE39R^{>$dJ`d1^1q)8m8p9r(F>LK__5~F&ZBmX|w)WOT z_ZW!L*1ao=LF<#E7(BfPK3y%qL2L?uLHsw#7{2s8Gr`kgzXIBDV+SZ;z}%7|RE)pI zzZb6U9GFB|Fb=-nu{yAjZ|wUO{<5R9q@%LG~LNoWc>Tp8z~>An z>YXs+gQ+>tWe=K*cnC_i1Btw#9SpV+XfS%j5!0g>vHr}{j_m!PS1j;%SG7BiQ+MCS zPc7aK0Hbr)m%eEG?k?O(t$0+5cW6KNc{Ku^#;OA!Lw5FzcRK5vl+deNb8#?!lfX3} z>|C6Vu3*t1@?!kF3Esi;9vX`29598T=ZeXFVsk)p?_6o0XLidPhZ*0!gd@NJn%<^2 zBq7z@B-Kb;81;S<2s2o7qOXC}>Ri2DC;sME;9t_`1AGMWy#uMC;f?#s%4raKpp!q~ zs>=vre1`%rbJD$Oz*A^G#RIO%RyS)0b0#u~0gFVh z945vJW|L^v-H>H0`vfn;UrD2Hs_kkKRpmI%0l)N7=1nN24nPj)d{h?qe?|Y(ZR%yQ zlyaV4jdGtY{*jRZh-+BKb-Dt1L_&L#K3trjt2qLC-~B*q9AgHyc!4>nH?Um&{qKM7 z{~L~Y_%(wC;>HuZKRr1T)5G6={gBWBo(=uWI{8u>>cS!}3BVbm(}XZea;;MthV%zk zU#|PC^%t|dZ%iLBx_|ixw+qrIJ9?K)dLPt=S*hzsduPqqfeb`Mn*tpikKPbcKaHs+ z&>wF+8|IKWNd$8`z#FBN5P%Z)b>msF!7(25h`}S3KpZ;eE%VrG@vo=?JxwVMOEbIO z6^!o$E%y8dzkuHUT|vhg4;%ZsF>$iUBB z+kDPRB|%%zv01iplyGvC7~jV;Ei~Bo8rz9KhZ+KOgA^=%_BH)2`xnR>3te_ehW@tcLf)tN*~3S@p|<>F>*|N;AB0;FQ;0u3|U>kzcf)ApwUvu{e26$EEAHYcOM58>=Tnz zh8z~8vlOGLE!sp6DDtkhUfn)>&8si>K6;4Ir+F84YSJ^5stnc(c%-*~`{J!{``}Yp z{=?~$ANWBI?hxetAZKRDL5)leDePC!udw3aGvx2#d&t#Nr`Y%4a}o171wPlZB$gZs zcn7{uFfcHh4BvaugQSMYz?XfPp&vLIoZFC}wFGYf@|OsILkW- zw&KVR!)W>!9r$%7_4d9i(409>d-B++FDFl*QTHW%L!ZT^&+SHLP52f327aeWbE*}c z9y!V+bRoe+84N!A(%1p;t&qsYfNNtxcLUYiQmQLXcdY_@{5-o(G+IuP5b)D!rz}h{r$J6Pn)PTeBtIBXcwA{%F)4# zm++UAE!l``YH~!`C>1*Ep$P(?#3yt$=9EGCvoASkA)jhbtR^Byh`YIx)G4G>L8QhO zBWIH>M;DHz4LkRDi=L&AzsKK_{OR)9roZi@EM6wCYt7aUZNwjL+=$+LXW=GY0(H}} z2WWb8gtL*!P6JgFwh7I+LggFbklMV;D%lgP|n^=38YW86 zsr_GQQ%2M6)X)EWfU;hz{e0gn?Xp>WDasu`0ob+2_4)VjsQ#zxVNW*+pK79n6j%}R z&M<)We*sphfeK({-bcihB-H=%cBqjg+q$qPqR(H`3bHN9?8kC)_u{?bJDXp=CB!EP z+%HoW`_PdYw-B{yT zUUK(9UCn(juaC7~e?GmZbw0BP_W>vrA-f2)iXlidXgXLU_k)86(S=3qqD900?4qX! z2ps>%eJuAyBX$2D_fbDB(hmK9+=tFC!tea!eIy4!HdJ-%TeJw4NLKf^^%0FtCWKHO z2M^+Zk=qzZ{_A~uNdD`6dPx53eR@d#b{}z)L=)CWRtS1=6vvOu`a2e(3*;934&3x#?$HkY_j^X_p1TLuLh5ZnM^~T=+SeJJllOE`Td8^M zpGmzJ;uFytZ`#;j%ue4^ni4_7aI(!$8 zaPY`o_D5Qo?tbbvxt}sPMlFL~jL#q^%w;M}VT(dnV#$M0$xU(0-`zDJz}4NK+T)W! zec*?+H7_{#<{5$=h_3KO=6pD$RLusckh8Le3eVWoim z1lz8E&uGoUUtaPLg$q|+O6rfOG|bN_E%;0A!pN_C&%l;uRY~tW>dtfZ3w#{R=?A!c z8Lh~eBE~4d6@slIW-rJ?qT6L7yGA}x3`pQZ3oqd0UbbH^PKGwLm6@k*z$VupU5}<| zOpa{d^zzALl_*8~@r5SVuir!2=+5u)^#Uw36#jhi@t>*?6t`>NwL@>*s7FUfj(|NS zx)KMo--Uh(dzg?0c7eP^UyTAL!cf1*7bNi@DJF*f5m*dn4-)pOV1Z-@ z6hkdFN|a@gr4$#HmW~YV-u*g#pDeR}^73V{&Q{H|6%jFLKdeAozA!Dna&@e)#jbsI zwTIrQpG;Xd!*G(5%!0dTUVJ>O&(Sdiso60JFTz@pK@s={>A+v$67hoEp+*Kg4jnmQ zZxE`L4Q-%wTcTIrN;wylz6Zg!i>81Ow;sj-?Ss)gyvNJ=6kDVZ#%sGh>2#} zqb~dv{{GQXR?O{(fpYxms&y}Ke%ohP-ns)`^|GZ0wyj#X3V$jOeD~`9x1a%@tb^=L z8o@eXe~hhj0*TwhY_X4fLnMneYD$!Hb3_$C!NZ^JUvl=-OBFA4X(rV!Y-?DsHL!Bi zmURnetgv4v`B3=e^45oLqVuyh-|+Lrf6kt}wY_hD{hK=$UhSK8@D-p{B)m5Oc!nYw z4JeTSsbV%2q2L%aH0U?R%25Zf7=4U6OkG47rQJw1-hjR9t57S!8i9gdbEt|~dvhv% zdL*v-=Z{>;b76DH9DE}IsQ?%0tE%E?U0OPH3&a`gyFkl4{b{{xJ$7HkRmCF1{ik|={caV-*9i{u}{7C}oY zVg&@d@aKg^8cQ6Ukgvnxzajx;YX8LIeqTqoUDbl{SlZFaFIdFy{|{&Z{s{y7PwIC_ zyh(g7U6}#=J?a_JKQv)m#D~&=ANFgX?%&Un;79xLg+aW%9XB#Q=0xAviepd!d`Xkq z7UMmDZwJW3fR_#ui=aYd%)v4gO!Tw}^3D1w{sC|^SB*Pa%7o{=E$SrWbFrI;pRlZS zzSip3CU{)hP~vs5h)fvffzRaydL$YurAddv^UjrvGn!B$z|dL3{2y75-)V!!9We3u zW&M)}6TB{Dlw{60UwQ{^fSMu~_3nxdtu{d+^$ZqQ# zwwcZe*(cGn06Fue8n^2FwDwVVjo=l0`EtgWcP6~U;1yy%fCfBzJ_X|(z_}#7F^mgq zj3zkr42BQ;&952R49@(jX`0&MO+(MBr^Jo9v-Bt6&;JH~eG|JGk_`PdwYUK9c@=-& zT2otBJ!OyHvmI^*zdi*#d*auh0M8zhZa{Me?{dJq8(0!j`3VbQmP7Q>Uwm5uK|ct9 zWYonc#Xve=SHYI|yqA&tHem5NOfSErOnJNOdt`^d|JS;W#OWWxtMv#KmKK#3o!mE$ z)xwgZVu)K<_-5^B2!Ot4oL)w6QqLYf`_hQ$17{`%0c3&S4|auwVU{*7!FHq92BZZA z>WAG>_t0Kk)K6vHr{gc2L2sYAfc`j-pK6y4*4n`!lke+b6XldH6c`!7UwrWea-yLg zapXJv68>gI)BR>To!B_Sn^M4$i2>wUCj$L<99a|V##EaTxg;x`z^JrrjH#Z((!*~N z<>%iGRg0(yG@^WW^UGBxkw*ZTluQS|#WuVj+7`RLj^jC-*cA%9ra5u`(3Cbr->@yKe?HxJ?Xc5Qo zDbY;~Y{bTpj3SX0LVh`@AsvjM{Aq|Fc*qpdXSI*^@5N<|dP;!30|x>w{t6w&-nR}R zgYPM@2wT|IP^A#zyd7kih(Ef|)>jT;YRznNCR;RR=EAuMDjy%T$ zajfj-=0ESrPP@A9cdXm61zmhDHm=7ZoHYzTL_Wt4Ja9S%dPR$FwRvfyN`AqyUAuG;`L+Ns&kZa)B15P1&0oLNe)MtjKO2)pTmh;0* zb@>RXE2mbaQ|EwbuBVR-kJXeDyR3#7U=qY%40q}t!BtW#NFDiOsPugd735TJGHu?Z zWhcY!&wdBpG8=4z6YQS(>+~-%1wc`f6eK1B(mmjs5pUWYNuXkmC$fUXpoo${-ocPV zp9XWF36>fD^s}*Vu!gY{Z@tR<`6ok}QZxC_O~1|RFdlI;?wIul{jpi=>|cMM)hev3 z)~x8+(6gj{MO#hny$kp*d|269SKWMI3lif`wjQ9qK!WuzzPLfRKK5y#H>qY8ll6@) zj!FG63nQyiLIWqP3fAso$e}*`Zu#s1S=|giW2QM^&KMH(YOAm4L9`*~Gj?NTm_v zQg2z=XY>~YbFly2goGMEoFXD2TyJex0s8y{>Z&7>k|N;ZZ?^V7+un_UTU+q9ya{Yz zTuFr{Kov~t5=jjt0cOnLGWGl zr7!9)g!&vC&)S-|NoQdGi$hc_&ub78enJ8zOb%Vc-BhDUyx^U-5|?o zP0}gQw@Ty`M(wdywprp;$EnHMEjNy#-jwg2vOmO^kNwcCz0#z$HRLy6Z|@+_Nx=oM zlSc4Pp5w<@^yi)gi3|FDrucL<`Wic&f)0b=gFVt(mKXj#Gvn+r=pq0VH9)m#vpGC3 z036syfG?1H2-@`6B3=pW(Rq@I)D}Q>aMLjKJFtFyin|=_LS|Ir*?}0F_LzRt8Rapp_j0?QTtaJ)pnCl>(FNOaOkoMf;?n z^umP==ij;w_JIK0i67z{+S|R|GfwTNtdRRh_}TwHeFRI;;Q{s`zi_vH6 zQx#7~8!QS+U%F5QZVJF&-+YerR^T)J-L*AfCxcuoGClyuozdHQjl)# zX!eYe)0I)ZzyG-ZL;q7T`1+GIPeCP0h zj*;m$@;ulv+)D{z&5*kT--c|HIv^?z_-5qB2sGRoT&EAB2Kb&f;GRSVH7o;)WqJ3V z00YZk-|+`Tb5X+%_C4)A$_MNm;E(+#`ySZ2erBz8(Ce}feiv$R^tmY=E0KKUSffkb z_3LO3J?AaT>^f=Ei64o(PHNPL>sc}|t_bJRNW^+Pyp5!N7~c7s^%L+8#EGMMH4+~D zw;r8+On=Lh9fXZ`Hi3i3u+eyn4zLkv(E(lnf3E`Y3pIhG`81JENT8>P$d=qXW#2wX zaNgL7{@96bpoU||8tJ^Ik!(7?scGa4eY9!hP@`_G5Z$sJ0euO}Q`}fkZ!$;DEF) z$>WfD2Cy)?0slc7x~SFKRo~)kpOJyxpHY_~hw=y2zH`&iF0D}$<@VLZOJ6cihI|mf zO8QrbKGNwA2(EQX5C7ajfXvBq|I!5Sry>cD;}MzT>sM2r6X8yI%=ln;W&F}xO9mg6T#8y0Q@FBT zl{sfuPWHx?i(|uk`sT)$1Vl;%CN2rd=@PHf`u6^H3|(i!+CJjE3HAj0;0Z;S*_uae|K=LuCoCWdOoFN*hBCGY^yYgE$MCh9nWR z(vJDiV^WL^~rSjGDZnD$M?xMe(em zOhr?5k=uY{RBB0Z-R?Q1YDZf|PRE9d(1Q3-Cy%0v8d=M!!L*EpuQetQPOpylfDsX% zf`E{C-;_$Fwa=87<_SVvg1b8#(>ysWzquFZMupG5w4nQ7OJG3rOCw_U*dQ0KILv#Y zqtwlY^8hSUU1e;}%@( zn|<%#Y>Ck%BV;D@4$EmFy$(dCUIW}jO_V9%QUMVlT^2&ugvT&50evFLS+8ZRc&m5% zjScy(s>IYJM^`Jc6K`nA;`MX52=FMsW|w&=xk z+w%kEg_;O|XEC1>nBN{1GbPbOS*!^a`+1gT$Y;+BX)jSZ_y*et$}5t5()y3ohIVUe zQ+z^7G{MOO^=fo~`niEb`@odSuGsjVs#x?6Zk&Ksbg z(g`*w1`GsLwQ>TNAp%*6gRB_mK_|L|yeu69AS;FbcFNGk%9>9R=L%*s(?_h-?bT%s zax<>7KEJFz!g}OR$n3Y*EV>vY%Fa%8%wIdREXu_*p}eIdBq7{8Kf%{Gb83ufV066D z&s#O`_NL`;&sEc!L=7btP9Xp4iwfEV*=YPfub} z@17H9C$5QLecXysI{h#%YtT;}7y(kq^y`vrG;}8G6)04BkW1D_0qo?IVU>uZarE=Ux-VCxf}THptjfflCLPJBZL zBjhYfY)#K>&yRAXvRA#O(;thTeP}!gvbBJLiRC6?w1jTy&?jpn0M{h~LH9AEIG+EB zp*b6bjs<30;P!u+4m}$h5Bg=+w{-?_LQ5lEJfaI^fw>W`_Kx^-NBe0V%EE9L7a{)G zQ8>5PCr%-@GtC%0@$SQx+3)Xc;OB`Kyz)_R-mW#XWSuT)IR#!tFK(Pu9^{==qv;Ow zsVPgh;ii^XOFSyeGWfit(#igzUDGNPyjY#BM+eG79R_21kF->8n-*rPDvRCeog_<1 zktKQW=~&57bLN%xlJPfy&o^yl*Rrz`p&?ktvNP3;|s z5?7RE2{sOeP0f>2z5(Za-ww3GekQgdZq_&9HVY*b|;X-e1=qLFs)r z7Brda6e`$2VpfO*kT_7MPpuu{loh7s+KEN~BF~>1qSh1!$#UA`)Kl{UkZIwjTixl) zdnYG(N{jjnMM+6~5O1@0q9j>T!7x_C|AW?B?u0!mSxtctGs(jw| zBBy}HeVr>_trxpDUfOp4&$U3(iWL{y`tgWD1<~=hobOQR6>v$e4A2H;hVc3>B#wQ`Wj`0Cf=0`-k0;dzD zqkPUULRN-OE+JV}Q$wY(>IlgK&*aohsVFTqUg2yXRuQi%jt~J`KM-2`rq-$Aa{Vkt zK{2u6*4aUtsnsby$UZ2uc~P!vYGsCVj}P=#XLwL%PQkw0)j4vT zrG~P+IY+-nF25h2?3LOSg{MhUyi-!VlReRzsHRk}%v1RGqxLf!+p}aw1NLcCSDyNM zS{#7vZB( zKRl?kC!Wu>=b0O`e83juwI>L{dCQ*?uw!drRhpkHt){*vP1YG&(LJlXA~dY5O_4EJ zqe5TKy|N%KX4Wg3^0c z8t7=jbySrlr!*#co7$#Ne_jpW0g98b`n-$oAv%@3S%|qfu8=Au(=9=q7Gfq1p zsv+$Jo-N!bXML2j_GXXf=GJmWaeKIzmz+YbDQy|yZ3S{FpgGtp-%AuOgZzOcr770J z#UglefG9RP%+@PNXzHvk3Q?xByc;@t)VW({CiPJ%hkslb6WzY0B)2<1$UNG6d09qt zv=fEwBb&2X`CKkEmZ*|SRf?Ld5L0-M7m|AAMtjg~k$;HLEh}E?jBG6h7Dg71K0=09 z?;G}UUL|#VgkE3=#}zb-8DzjPDuj9C#*u>jHWQ058fIKTb+xq_<($v{0A0ruCP*o#W$T zozmt^$#ke!w@;g@@~)X&CoNsooM07uv?-*cKG)tZyRJ33{^a5;s;cSwp#kxh!(MTSLJdz z9G;Vym#r>P+QXp3*)3UqhJ1G+3{f;grS{4~_2P|QnbXs=+LBzI z{lkQ|e(p9dvGob|N~xo*m(n?4O1_eEZ+>Zhd6=VfSbp=|WO`FVvE0hq)!TZ{d%l@r zuE&my?CaWI<>gj)d{uH|nnJ+y3W}2k)Md->vnDy%SbMmO`OZnTgE}4D3-Ejg@bC;s zdUb;R07D8f8d*4mU^=jLu_g(eCxoRsURMz14294F#!NG!%|zQIMF9P~my85HZcd)I z#>N7PlgP);q%yrN*P z5_{9Y?8)+s<~T8zGINx<`pU^URTgGXOwA1`WNho>>fmZ^%Hm1<)e>1&s0(`0o}#=x z%!RgGisKuZB#N#PTKT9FWvTtuD$1NFAQyFU+v3dZwH>L(oo1nV&Fb?0JP()Pgp^cg z`lfF<42qZe8Y`?~lA^7WsT8Z2+jsYQC&&WE^cOwLEZb@gzQh*=Mk7GCO(UokMfQ0^R@Tu=dihg@u}uILKMY>5#n zs>&JQ{vQQu_!Dz5arOzARUVcZ8;cX!%E%yNiJtJ z5_!&f*GYoTeP`?3cg}d?2LQ6sdF>PjdzNmP<`t7FHg*gvkBO{^bQaj-U+k@gku`DA z1#)X?X3Lx28JS)03Mr0e5AFiBP7ySqNbKspN3F@gsW!e2zVaC(V6){P!D;L@+^3>E-@1$TS zMg6+U+!Zq?d%L=&RQBb|rWC4_1xL^O>2kAzaJPMDfij0mZ3ssY)vFOPOD#qTq}E| zcYeQN@%?of;;c`hS6q?IBO%Cn`oqZi-A$R&fUL%8 zQ>6hY*d{$iDa~jO4{I+|{f44vyin^?Q&|`*@r*4AV5ivmIXnA1TMAVt;H1w90FxGQk1^F7}hB32Xq2*3AlhbDOBfBK9aQfit#HBwRszQ`7 zv?wgNE0X8T<;w)pEXVR7l|3u8eo0pL?0jGU%*hJ3T-S}Ec`65cZ-u>Mu(y2|a#baW zeG1~d?W3mVg!k4(QvNN62P?yc)kpqkP2$qTq7#R=Mp53u*Jz672z@q8s@igEHl8>8 zM29k;ri?Cg&XJ8#fw2# zfQKcoE=aH!#Wy6ipIw-WhF4sgE_bauytMhnt_WrQny_i-mSh5|7OqXI-M0Xw%{e&5 z7aa;s_2CZ5>(+u|BeJsvXp|1J6G0*XJ=ct-s^O3=kP$HCI$>dQMqIs!jEa?VRPyz( zZBbRtPw~r7QgOKW(;{s@x8$l~GqcWxB)UY&odr2nlYJWB7%IzI`%dr7Tbl}h z4KD4DOKXmGlB8*p)$N4}wkEExLM4#K`voNU@`I!->8o5I{0)sgxlZ)t_1w+432)qaB%4; zUybiXOw?rn5#!$m1H0<&wN9ZEtVl+kLnii7LRk|e@M$7%z`TqB4{K~->-YPF4n z$jZ==>m;y`icoMVQ+%BEicI(P&Wi9*mUhkRQ>fN?wtCeRviDho*=ILs0VaRi_#}6MVbE1Ro9Yd2Vqw@#rll`puJ~5@8 zN!fF&Vt947^5}xF#M*F2Cv{19OhZAE$Wf(^_vQ+@1%+O*c|P*u7>|Oa)Ojk8SeHZZ&gx+LS}90Wa?KV+uP$32fNagff1tz-h};Ml9K!jzX;f) zoTSg-FubO71+0PD$UX_^2SX<|`qd@5s{jIIXXp6VY?3>t==ze)@3b$zy*$~;%f{ZE zUGET55*bn!?QWxtjB{h1eM4Ow?Q5y(Zl97NMf>C0a{SWg?k$-A(qvEfn2OM2J0EXK z$y#}BCW~_QbnppwsH)Ftj;(rCx~pP^(g+Xk zBuPSuxrkdC)U)Pj(z`)S$zdL z3)`!_eVfBVXS7x&d6~P&-K8oQGsJOAF7E+BAN4oiGiV*7i_T|(Fl5|0A)!5EdIW*6 z4W+}Y4;kE~fIJ7|suOt^FdWJv%_?IKInbB&pm4)mZQZvv7y0GSOf@t$;d4#=aysJ^ z8sl9ZrK*r1E0!qRb(N98M3@xeElEo8JU z$}KF-OPU?-E)33;2Np!Squ2Xi>j?5~I=VnzmKemZH8HjIPJ=9NZZsshD zmck#QnN3WwW=toteL&|=GMEb38qG*Y&}?SYcmmYG-6Y!6ZGtdA|Erbej#_Cw5*b#7 zqc3S{XGEqf)Y-IH6D6RQ=0`chex#k3(#curWt+eCqk+tgi#l>;WdCi;O5cVTXQ?V@ zCuH^I`51ZTB=eR0%EW9hQ|4O5uSm_681cR1{G*}=TH@F{ljHr0=Vn(p_(v6QE9?2`9?N)ff9~|+Br&eq^m?s}yDHkrKUE<_ z7M>Q!BpzA0NQI6{ZwF){HvdBn)eW(t>ZOg@9!kfSrLbp4a?k_J9=tWI_s?{v65XPnD_~b1pm3b!D_pMCNTs^BkSwhdffsD6CL~X~vzdhyU)tWR9L=_$U zb#ul0*N=p7t&GvXkyCJ*OqQl_{GKxAan(n!y;rhNdv>)oIPsFpl#nA2Kwk6cQ9b)tO;67R|GLpbYQfBgz8T1t4)zRQUXC@PDx&hUE%7+ zP!lUV3(H}*04FnKDo#>oF7B-Ie8E8$ou2Pg-Jk7NvF%+=^R><8>z7Hb9pLRrEh*`3 zDej7rnX#RS<>-@C(am+pIaz%EQo+*M^Wo{>oECPra?)1U!9jT#r?bTYOb zdc5F|K3X9bo+t##M14KM*h3i~lh|S^s74(hsH}jUr-HSYn&y7Et=K-IAv1_4n8ZRz zUNj>nv^vq#CZeT)cF7T;)v1lK&UVsBaZq<;)a(%7lwjxJ^4W=~1F!N-&`Lp7yBG7Li?ru>AHw@K=RASBldXkgOl$7+6DqriYO?>^ z4R$yKilrs*-llILS>4u_ zlBMPTl7fZR_!lFA(f5)Yw5bDB5P^)&g<1@MfQxTX1W+;d)EsIL^+eWfTr)ZhtZy)6 zOLcoHu;W02SeR~0ctokk!dN^{$vNUlva&2mNqUffTBW}tH^gbAd)gc83S;_SY2!s_ z2jT;p_O_#1cRxE51lznpf!Qi2-_%+aJv?w{RjM#% zYL@m6Y<1ZNb)Cg1b^9;-Pa%s}3R$*_K$m3uUcW#AtKl>r*?Rbo9cd22p9P1@>k>z2_fq~aiEV2%nW4{q+zlB@w`*(W}p?7KVKE=q} zzP4G^s{sqK>&Z!;bQrpv6s7$%FcH75J+qn{fg{kLakk%4@@p;$3@u3QdK3F8bi(*R zJYflgCl!|BV7UMis4$DsO#-FiWPpSKVppb;*gy#tAyCZgQva2t0d?hP@3!mUS`?`x zPQP5>n&cIz3@2SWP(zHrxj(cP`DhPPe3Z6DIu=nbZ9qf&QKh?lLgsjh|? zsu#a{jNU~zi7uGMMsz<%4z;9N$IbbM298jjNa_<$aB15MCXW7=cYnAV=zq*CHSd^l zYF=rP!8rrRXBPn!NBB2NWfi0AUMF|=m}D)oo60536> z0JGx#{o^@-Q>O-U$d&Z)zI`XX*%$rd|M+-6seesHAgu8kyPOW;)I;@N zKCF>rU_ZV_!37ih(KW*Q$TIAi<=I2OiGFz&uy!k0`!Sv#0Qd$L3U~aU3x&B29@qR` zUH$C>`}zXy$W;&?#=}7z2M2$Dci7@|6S%wk`#U)7*#nP*b*4Of#_@(e0)@f!C>Lpf zSn3|&E0eef2l+Z081kh&8re&D!NzP~Q$zn?%U{)B1%5T6zH0fz@~-+T-4!<^z#vNG zBeXYTxyz7IkApkU&B{}-(#4|9UqR7^J*E!6Tjgw-`bl8m6G0$`zdumF8E6R~tpp+d z2#$)>mubUp2f;qsNd$yLHb?ZgA3*gob2oili+|7_I(F>XspBz&F;!GfR(&2tP56L3 z@rUFN`V4~pVN(7%@XASBySGy_+Ey=KFn-xgzSZLbYBwc-3s-|#Q2~aI2DX+xMh32| zmCkK8R_3%xkG;`Wz8R7lObWN)`5IbCOnnWE?W}#dh7t#XzZ)Ruhrq7_?_T}t2g|SE z-zNbE1ZD#AlMmhmaIHc@{G*I5-DU2r?mOLCFbpI0m~~#!IRiJKJ_6}-1L|{?s$#@! z78CgOs2TkmIyLkdVaY1!p59F>sB5I0UHkJ9?PI{j30*}%Y zs!j=L)I+rVsP_9~_xB7U34Wl1>PHU$X#q4(Ma|z<$50DsS#|xYj%GgrpFB8>V(U0LAOu+X zKk)KNS-5k6b07hK49qc-{hh1-1DWZE+V^$5{rao1gE25jDRW95C1r^FcdFB8|IXeF zwIBSI4H$U`jc)h{;49dmJIZoQzD*eUR!%@olu4j(fUiUW7~~OIA5ni5W#r~7l6Zi6 z_#{M!EeltV00qV7^!PcLY!wHMBPPny9~t+Uc=m|e*gPx2N{co|21cF`srUb{$QeW4 zb38&n(BAtyUVMK1^=~}$k2tx0^?5GR@lPhqGJgp8@B`t1G9D1Rzo;XyYjDEx*rWj_ zLqv|ffC00y?VF(4N-ub&OJWf!!Ta=+1y-!yu>ekGUEnt+iOoQjN&E~vuUS7$U~u`1 z)ShOL$vWuEvSNS3)G6w@gxFIu!5T~vhxjv)E+re5kfYL#m@Q-#=zdFE36g2$1?Ns9&>>MumrVd3pI%Y1*HM zuzm94);UE|P(R?~I6ccVvN23!W;2P&bS5yg1S~gKKzsziNFauyFet17M-`UOGp6Wu z`T3h(5d`4(x+ym*?C5X{ z>q~%(L-OGq*w%$7JHY%8Pw3tS&7|)pfSM%|g+uOv1+AnExNwll=mkwWDr`uGkz)wS zBS?@-JZR|3B7aM44EctfstXtBF2qGv=T3kA6Mh+Q!TpE!?RvR?<%LtH&#mlUNhih7 zl%<`uurX5L=E_Tp94wT|bLH8Ih;7u(`m+1f>jPW))^G0p^bTD=Yu^0n!@{8*JGX0> zvc4P^Qqsodu_X#`R~t`rQBb;nb7T;b@WtL~-71k)$r5*`Fd`=`2ENSzpAmF6*fG;L zp*09*LBSX*UH5=)U=-}Za$)KQ*V2L<GJuGDHHa~&a;Wa1C#bMiEu!wvs ztcW7(VIO092!O9fyEdTZU~E1CX=(r@a{+nmh$Y%(XyM|;xSLwIc=)@O%u9CO$D;Gv zk@MQU_wi148NBIB{d3pCbD1f!|MXlKYodRue6e;2^}MQAjyJK41V*_~oO3q-69On!6JPZ#x|tI+ADHH{T>X^5n^Imcg4Z!=SIj_!z$8 z;ej^K)LzL*L)%dU9R9LBDjMdnM&l`lJX_R-8_mz5PSkzYT%vvn-@xy@1Wo4*Zs{t( zfvN7)7N&!a=@rpKP8(djh*b<0yN89NkW$Z}QH>^NQ!uB|(4#7gKnTCh=fFXqaC{K( zI2^>VVLm54tvdYy?Qr2Y{9En;^mAaMS1#WCuZp7eH`zYj-A`}+&u6Zjub$rfW-?!# zcAhN) z%28xGmA{-&tXunt5_NZD`N-pL>YjG59vJQ87%eFX(D7LZypx<=HOgo3#tGa-UXiwN zM6Ab$^as3jBJIIHAvhsx9`9d*o*M?C%ww3NVh}X*h+&$eya0N48qh&>h?;WYg4W4~vn3yGWsy~CBov7SBb%sy zm!TM#29bth@ENAf?Mye?O5KHX+Uh{eH{d#UJQ|*R5fJH|lUtWp6`c@MnO~ciErgG? z`IS)#QC09U$0;DI@9mj*?nMgdvJm?2(wJUd(6h?%*+cphE8sjV7`VfP5s(`iJF&u@ z$3&`n%WBBzSojS#IlyH59N~u-w(OpE=(CSsK@w!rj~s^P2(O-4x3S^IXSdGaxA5&X z_%p-M(CCw&UCXKz)JDf0{4A_W9bjWkl_a5>1N)}8m(=+vRo6~^`oF%u_~ho5Q|imB zgOov^T>9c)fvh{3vzA0B$&>+!d25o?Sv%LKW%(#Aoa}5ZE$PgSE&vnQBsS^ow1Ay0 zrYoE<3Db!-%G4ci;wg*SZ!N@i*RTv!&ig-r5HI~l9!FR(GR)bvi;Box&^8|drsJrkEmO&oKk^%Hr z3c;=ikcmI!v7)gF6k*_r5l52r8NiGH7BiWH@!NRt<{&>LfzxZrz(S@tjMXrNISGfR z?KwKEJ>4_6sl&Fd@|`xozcJoEP}`KAnN!!T@r(+vv&3duUKz<%)N<_)-3#-wj_!H& zmB@L$g|%P1y57}(davc}x)$`6b|=NpX;<^*725Rto%N}9Rr%BEV9hdEa{~D7JZ3@* zbVBGXDe)kg929fF73o}Nj-`X{Nyg10J{ZT4*%o478$wT|Lz*uU8xMb}8IocSdRo~u zwYYd{Q)Rb?TJP)c@9PqlD0j1Vk@*C*-=ncn9#y>IeMVGx7)#gx=UsJXDAH0>s)g zi8L_%tbUJwy$!>@-aT1`MtR_sXPbYw!8OReH<3RS0taRqj3Y^%M>i9J9D0zj;M@YV2_d;TJB*g z05cs`1Wq^?=4mizP3sp%w^lVyD=wMZScPgfVngXB%@`T75sfZ&kVl7Ki~)8a7_Y4*pK`XD?U%1b6?~}72SDp-xaGFM(@7X(|O_`C@6D+ zM0{O4z2nQ(7aL%h6@CX!rMvM7p*6>Z1 za=wmMIE38*I3N?80?8x_aGT(`rLib5999c`-+EesccsG-LrMh?yesgw#(9aMAnP{1 zgdaA2)X`?Kbl%>D6Df!O#D=3}P1>c=e#B6(kf9`fWTfh|-$WwZSikLB_e3Ht?8ck* zy9D zgpJ!NgQ&f;UVUvyJ1{RkzqxKcUaz4nxDFPkG_4W1DP)Xb&Z^9N|EBgHXj8?)#%(WQ z5Z5h)$FS5|<|mg0SZi-kK5zIKd4*tI5u6ZOzQqp#C9kD-4zW6aUWVy9hl!h0fM|kw(ML%WiFjd!`L{F~mhu zA)gOldh+?h99m((de(qLsBq@pPC#Ax^Y12ueMV0b)YVZbcoP=E;XzPLi2F)wPKJi8 z!wZ)1?dR%6$!%0vOmb)zvluT&7f-AB7-lh=ELaRa*gagfXFs3!1gCFNgpa#KETC(9R=RK!@j` zuitC~dZd9Zm$=_=<-QDClPbafob@Vez0{QSa2#4uySs)*}!~tWqK>C=h$3J}_ zrjxmq4ZB8+?V`n_S8V8f=dwOdIn?pmi6QO6IpMh#4Rf?R=S1XG!rzMsm=Qat&EJh~ zIoNY4jg4!NpVrHfTvCP>4j!S}k2G|5Q}uhd2^XT@uQjY5)PmI=zXDm`P+m}L?;5h8 z8=Fu*@l(_iOO~s;e+GOq_mU_2207b}yap$8+|bivH^BJ3%;;7RvcY7`#{eZBfOvw; zz*_%{%#g+WO=LjYZ_o<+ze&uf{b0d*j2Mdx`#@r1SY2U03`=Lt$p6`6X$#QE6O0*k zNK;z!MOhhIqJ0-%LXj}y(jGHy&FfAJ3XYHNnR2d{u{P7GX8*yPD!R1z3C#sOdq z+^A!KlfZ*}G%RBM+g8}79cg#8vy1CQ$2!2g5&K4lxxhMYV3)yzO#0IKTFd~@|ESUl zdB@PH*XJ9xwR``Q8t>LYglr8B|rC_6BxXD;5ry%V>|*$E?{!_ zhhpZWl6iMt2D$$b#}T#sPjQ^b=+JuRls_`&6$6XZgAerDdD7ZPT4D=Ji^%!`ZZ|&3(3BgRNudW=_9h zku`mG>-VSkx$ax>ng2}?`pZs^l|SIOUkUK)(_6pD=+=+ z{g~s4AHC%_D!X%!`-_{IKzo#B?P%GLWptNn|7zS~0cgAgq2oVYC&aq!zvSDuf1^xY z{bH)A4+h%j31?eAzuRjP#fPly`{Ih{jL4lZ+i~7`=cLDkw2hc!-*}(ZwPl(0(4v+i z>w);TO^x%e@7d!M>!OJhZaB@!ooDM3n~6)yEqRVmd}L+CIiB*mn7-=p%g-FF+L)>K z^=+f?bbQjf)@r!3t+};)R=gd1mt*W!Ysj4~yLYthF&#DDeDIF-V~)KMtk(o`{pe?o zzUYxG4|4(O7IKPj6^gHYa{XW!9>n^wxqO(_32ue#OB=7cs`0A*Z6CDl;z~cnI-P6B zuC7A{6c!GM9p1WTsM#1gJo6)#L#sads4cbag0>f}hwSgH7|E`Z#~nVIVI(a853uoetOv5 zd#cR2{t)fml{%fyS8(V@W{&1hr%ybF;AZ0IH8cH-*7kWWH~B2ww~wNxdL8OYXY};A zHy1SD!R<%X#_~6I@NL)HJB}~Dt8?iCB^x)Dog2Sm<&wNR9_V_PeKcci;^?!--f_XT zQ%A&|J|g~-0p0kJMRNE4n7wp$h9XaBPaaTkQIAz4yBPU*dQBVBJV2*kwesyI%mOtug|HhK} z61aH+#@CBDFuM(K^=WzQlh%jr*(_FyS3YU2Xgkk7qqz7kD`bwNsipU#wnpn=mV1Y^ z&Gh$S1^4JbvCd+?_d48+jru$AkJIAG8%{T0hwN;ObZ~MBjsjV^Q zbZh*IV`^~e@wZFJA>G%b`<8rpYeAB2t3%>tahZ+7R`wQ0qeD1~EW{8ZXc4iW* zRXcelp}TKZ<~oCEFzYfsLR|y-!@cffIGxODpVfTM6W4yplE+7F-}7e8n|#zNbMiZP z+|_HzZClFjd?z#Wohz+3-nrxY@Tk_UJw{sAd3}37vM96?GI{b#tJadY?abDQ#m@6v;vGX`S~fZVc6_k&mA9-fUt)6a zkz0KJ_r(999M9*-g>ogWpik7ySJTfhuO#u6bv?oz?bBlOlgs)797`(ZnriNyXcCTT z*NL^NQ%-ELeh|vbZ|0?JNA;GMSqRwLR`<$_YfD))4CZ+6yY}yCS=U^6;VTyoy5{yd zS=Zb?d&-%U($jC~-}-)!{?}icK7MG#)z?n8{}egww#nTFPjvL@yZ5Pg>g(TmYH#1@ zXYyXFt9vc)8EeqGJMUb#cHX?!54JtH{=3aEkyfs%u&C9sx zx|X^dw>&`ZyTTI``QSZ#NXHBpyE2Uqr6^kNW_t4uf(Ce)$M~}8Tf7@&YwLQoa$(!4*>(|c; zn0oWStg##g-_E+C?T1G<+xh!jTH9Jz_KMhKO}7$Ou^uf}>tg43Z4dHpltaR+xRyH1 z*X0iE-69UBuoYL8EBA@bI~4q$a_jEh%jdbLwiR;>wd`@WdB?cEVvc{ROi%9A-5n%h z!95&-VIc?V_4{-OlJ<^_lM6R@$uMu$T+ORBVUo-Pc79fm*QWH;#+UpVMa|?a{*2Z$C--+1?EwZS=7-P_Mp}u<3a~_8x-%%wx?bZ zeb$%}r^a?0Jp4NQrYYy8y3Pvk(sk@GE9Z{x5xu)~9W(sq+lQKS&}#XK<9D{NKds;B zPY3dspS4}+XaDhe$^fhNm2LCdj+y?n0<^rH&hNZuQ=Xf5wgR0lTRcwN z?cwmz4yzeC)*SPCczCp7Jd6(QhfVS+=I{#UxA7vZ2&Xy3hC2hzduLks$=by0@lS4= z7c2fs@x|#uo&l{Do4=a-_SFOIJN7^h`L=(B81V zV~@j`GqbBUaaT?vUlZ#Y9P9}W=n~kai?T#KngR@RA1H2+))t96M>+U9Yt zc9x+pxh2RE7{u^rO6D`0rbD${iVV^sgYeHc7<3qe+GP0n^G1$5Z@la4pNAaA$|jDP zNVEJ6yev*9=>1O)VzOg;?0wC-#4kveXUtRs(C1=1O_khUJ@lhjLGN8~<^VRAep`%9H_7L~%ZaJ&k3VF~u^LcA( zZNmDQPu<)0$@S-6n6~@xNzU%mkI$ZMO}^(^{P23c&21OjOHcUcvG+NcL95@n9sKs# zZ#ej}9A`=n-zne7+$NfL5JLl_Jp-bnI!8x(g1a~+Ix5(XIxVEBffqx0JJh@w`lqnq zo}45NBa(xoJXTPEV`eAU_5H1x+=G{VuGGWSNPa?P<*2P1+;wbjMMXuU$XH(+$FvCNQeWC5l&ATOP4Qy0W4`Msk9;T6e$ID?`xa-X zU(}_abBC3sJsJLZeOoy?fG&@Q+>*#4eSNJd^eEqM$+)ho=+P2%(t8I z&*V!{|NQy-x{`f9EO6i8iVYY?zP|1lJB56aC-RZzyj;^XjYzh%{4u?zs)-B@lBMSzJ<5ytt%f zan-whr(gd#@|<&%+8Va6c=n=4=Ehz!X?AGuX>HDg8CTr<;I&iR#|YlZFk^(SqUz1h zFJJ65Z)2GA)M|DNx9;21@#nx+-nGZRj8ENeb5>1nN&9zw|Ni_c(qkVv1|Ms2-EY3A zYsR1lxG%l}`;4FMFBkDrgc*0EtfSU})(h@&zTG;_E;&B>9!HR4m>tWfhFec<<*zQ5 zlb5kH=|%c`yoPWqQbm`R7op5>?TworTcpM$OAy37nX%&yKzOuWhGxwWmYNS9Cl zbFgJrmziowliEd>3C_QW@m}m_VF_2~G1jS$=Vgz(O4hkfmFGRHWws|mR@kHX=5&Ot zhliak!I1tT`V;LcnM}CT-hy|h%KdN*mOv?-4bQ`3sPu)4(ER`=8XJC`6J-e%zu&dn z+vNI8X1gO~j{6pw?fM%mV?T%eV=~(@7)EzQ|+H*B5_k)gYfquxW}95{7@3vPV_uR8u8Bk?fHzJ<9+t~$Q;KQNhEEIv(S6Y z{h>rT^QD*Bc8-zDT&HqdwZ#fBp|35q?P;UczIK}CI@Q}~bf{Mr>?|jk(Y?Ab@b0`><=J*h2ssGLjIkeowCA5j%j;schmMK z5y0>4n7+_{Fn!@e`@!_ZV7U^mbQ zW0XEO{_8P9`oae%8GFnz;SY5j@*e~AvHO;vb@Z5{pS2BI_?x$7-qH3?-bC%&Ez;dHuf1RBo11+7 zFkaigyJVPg!z12N{dZ;8M<;c^p62Qx5g;k7e3s6>_;<;!X0k&z1gmqD>}a zC)T}Q7VvJsY}Zl7xQjTZeSSI%I3Io{k1=71>t2qF0vW`)|A~vg&9SrOkfRYQrMubg z{2!U!=?R$~I7y}k6mo9AjonU?*om{w_2`4yN*y`OF$n@n5#>wKad#wFT4%^!av zJn8&(4EBCR8AbSN&b#1~>v8gNe)4g8;&}HT*G?&Q#>xcW`5k2R-TCy>3c1WVo&NV9 zqyF~s)#q2`o^&4ik9Q}(3+R5D!)5rhq8ai&ttdy zb;)&}CO0~}%QW|J!lPVYvFo~1^G$V5Cfvd`DqohY5G<^+A@cI~%Ca)I&Jl?YeJ zc>5pi^9W}qKH|S$-_y)FmqLHFa316`cGuCD=i=u;{EEfrX&N`dv4rF2Y|{EmqT>!3 z=9neJ?7pzO9mj0q`qS4h5Z*xCI4Nf?u>S<}WS(s}i?p-R6WM8Cu6Mx9DNcl2lPH+44uygVCkndNF=TuzqpX71{| zmGR#68Fn7@G&hxk1&s%fOXk580;&|5ivZhax%Z-jXSIznD5`5?S$lP_jo@diY zH*@QA(WxRYzUz2G+o;Xe9E%@HFZXy^si&k!as*Fp@07D&hftJN~2v(9CISm?r^OcX9G4#e83N+9rM2E9$`Z4)=8N5 zQLu#R+{E;u$-jtlxHbf|N|>`nW~z?qOOwyop&lC7q5rf@(|^Y12AOC2Pj!Y%XkZlA zd~jba<2|2JMh@H5F>op29rTHrr|*|5on|cKO?2l!=ojX@o-FQduA!|tMitYKJtW#a zmOeGdt?5IP=DW8t$F}n&%0EvoG51BT)6knpnX{M|0dtfj_Y_HTUJbOb``?UvL2`~M zOKFuMTE1y}GiICnGVTMkPhO|o&nat=4AJAsluuc%WNe19{k|jx2H;PnB${?Jb@wbI zOz{3y`;+Uh`!M>q!qYO6Iz+p&IWH5bLz>*=j3a!X{jYz{Pkm=PFO#!EAA8q1u0Ea%f$bF8?c~ zU}pz?w3+t3iTyvp)7%%V;kf^jJa;k%tRU`vFm*87%cUJujgZ&ETd_NLCOdH?J zn%DvInmOV~?+3buVa7`{R=q%IxRtT9J9A$%uWglZGfpuN9NuxfM1PUX%%6wKjSy|_ ztDU_V56!jBaI4Iq-eHOvPoEdJ>k`TL+#qXRXGzhCIjWi4kCAE4vl)|qAio*6&AioI zQ?cPHlMBtc=6KTE?CR|O#!)2`;2dWs!cFZs-ID6OQ6^ZeGQoCvSF(;Y!I3EwT!SUq zIZe)1q9oOBl6dBP6C7_tmUN-aB zrI9`*1_SbT$gZC&M0qEW@V;x;2 z#4077IkC|@Ou7EDP5rD|p3olf7HHkEXMM{4 zk6^-2CDl6UEwFB)ep9_)+l?~X)J^?3hdfE@&uG6Nb~*YlqVM;G=i>Gc;xzTwdOjub zwx6%teP@nn=AnH$gd^D=Y36mher4tb9o8>8u49_4S2;I!EQc@8nSD%hcod zLcPv$4*gze){?ayec`X}?|-?z)z{47%sk{b!yz5wxz797ZGI~>>i~?^|8?zz{%+87 z*cbY*i~lV&b3L7J`9tRFYRA9caB^to7-PIGx_-@=;ThMy9!{T+(tcmh9M{b4{KsF% z@GD>Z?}cW~prigD?Vq$B^NZuM0XruB_d@11W}c*DtuOq|e*e;UJp5kRe!S>99r^z_ z{B=LJuhIF}>V79YG4J#D%SoYU6@G4H{>lB-A40pDwsrp~fzXL-X%KUqE+$Uf{6g-{ zegpUW(#8F%bO~52fdOl!Q$RPiCoqnid$d1*wTdpDM(Gl`MFIogl1_o+*}j9kb<#Cp z7wgpA+qL8Umt%nUA8aQ>FR;Po96}krsNZK2$opfRTr=5zinvzk>iibW_3k&IAG$DC z?-KA6<+`Mk=RWGOm3(H6<_~bcL!R~cHyQnM>1ys1|B&^R^AkP=QBD};JVHKfcoyJr`s=^-i@zSf8~zXd{>}RP>h3@0 z^tcmik*;BAsB1=Bf9tsNTqps$jj~%j z&D?VYnDq~Ii=oiu@wfen(5xpIe0`$p7MyRMDU@y2OfKU%GS38ATQT8pwUOsV*1gRd z%V9#+Sj-wo`+AJ=v;ASLKeV6Z87pxX@1$_QsLxxi$BEbrzwu9>t@4ZyU9;ZCvpz+z zZ=MO7{AMlhVKC2NA9kK9`{7~MRVHgF+zS}0tx*Q%_xoA5*^eF8-G2Sg)TPsQncanZ zF>AlX*sT)d94s*%x9zRcnYqt8*y&7=C9GMRH9+&wIm(*Uw%EaQRanQlalYFlOAOS% z0G)$AqFA$fm+dIWzz8!GwZO-Pw{b#nb)~e&9h!_ zbHF_2E*rUb|he?8a!8$9XUD?TD=ZnLJ=ER)XSOflo@s@-raE87rwdri zcvb7u;Q7$o5O}k=t?TIZ7ed`UzKJ|;|nQxlA%Bm)u z=L>!N)=>6CeGF^YGdir%SINcg`zPn)KJi!fR0o@yw_|9^$%cCPSBJ1O+vCxn49nOK z_T_zz@HsGP;0PqmS8rqc#J(xR*IT(fu|0$qcv7wf%#ZjnRoXTiLe0ComC2joS^ z7WBHyi>{9?j{$oJ4a`l3yZ6cPz!~ay@lzD?Aw1PE?ge*kL~`@_`^L9OJ?$K-5z4SKwF*8er4ySlFPbX zZ^rq}zr;4z@RQ=qetW!I>?c`Ys%Q^8Zc7Ef0{a5v&_%_R#2=_BH$d{`xs|5ArtrKf`g#uk*WRx5xcfnknz+cyk>7PjJnUR}6k#=S}j8 z!97Ua9dSCvZScpPy#IUgzo)1A$7PnI37dp)yDv1`zl(E>%z{_k8PxfWpJA@!?#Kxn zC;P!X)9-7?&|iNO1~kd6j%jB5ggt-VI@;YpI|nc@&v=}^scd4Lo5%Qf zn?l(K#|)^Yzgwv9b27EE65O{_`oD*H-sP?ovRng(W^WZQ~?2@u|n*2UDv zSEr7l-go%!bx!!{yJs@@PMU6f18aXf{&wxC|BG~E&*+=`7SQ{!#`ZWdp|8AOg}!oB z$FJ{?^Vi+%r+Gd);ln)7VZVPC_i|P;>HjpC>vT|Wo)vMgq4yhlZ=&~3=AOgcLz&Rm zE+^{hkN1b9s}CLPk@l-=ZO3b?xt4PMHSYp)e;v(pkDJW14*&C-6VGFO&jrl;f9BrZ ztUZ`*^PXv7C)Ps?c-OXp^?=)1k1+4#nD^{h@3eUzjpvF#n&%?sokpJf=kk0z*A*h& zUFXT4U0ql^*dn>^Anq4l;N8GRp1}@b`%k=g(^YDG+qpbv%ys{Rd;87gW!u2IL9S=H zJnufr{vaTqrj3*eo~!@Gbqd%2kL6w09O7@5YVP53Jv^s%1+yO`Yj~F~m*@Dothc;r z*0H#b>)Mq+G;#jtIcBYc^~H$+f92hR-n>7uREl^f<(j~L)Su_6zk0Xrx88UAoj9JE z&QaX_O@a??|5JF5_8RXX1hVe&rDW>!;~RL^n#|u-1Q31(eM#fFQ{Y41Cf0wZ2EI$U zns6lV(cZ;-Ij_@C=XVJI#C{3SIsEG-7vk4lyniv*`;%+4_ovPov~e5#%R95q&$Zl{ z<~>P{j}d15h5F2-ttV0+jmOS8)GMC98|lOQf_uz+9Vec-RgiBP?~z_F7nozlv|->H zoyr;F=Q^vD!lV>jd)yj4= z&oyq4dtArm9Q?k|^s#3F;cRpk@$LwDTn9);pZzti3_`wb;5mi4)}?Ge1($=dX{hC0 zg%@R^Cz1P1j$7_gS;yr!LSDd!N$v1#Ej8dQ#(`M5#B+z_{L%X4|DCjectX8jFn{;+Fn{Osusj4APyvfz zJ=_8_dDqdr=efrhns+LHf}K8y*EI7Erg_g(-}yCbgs|JZD{Gz?n|*V9S+U;lUAb1F zk4JoA9--Mb;T^ExH$s1$NjLe8t_k@|KmMLALT=ULx5E6rmic?BejkbD>L13^xO=aJ z$QbW7D28_LzU^_D>rBZ?nz2iD=!Tm0Aa@yKaZ7Ofc4H zeoGO@%btXR2Hf%Qn_CBpH#U)d^@7HHk33yl@^o#t)3qf}=V-4d-t_P3+9N~JDVCw6UWe?a+As`l`pB>s&bpkYL&0h0>k80t?hP| ze^&XL%Gb62J5|=H{yQoU8EJ*8?4dHw)WjNLa?zf9WH=+tRmcR|e>mez7vwnlcQ|de z0GUO(!}+~olUk~Bt;%&O%T(ue)!AtzV++=-IFpKfEHDD}K+Z*upzjtSyQws1!3aGI zMrxm$uR34I*KoVhzayzhJu(r=+vsiAAw#e^iZjS;o4lhm?7@rj^aGpfJ{|+ z8ND`&ujKDR=BZA;$^w;zDvMOE(Y&Q9*Q#8na=qGlQsoAfPpRCf@@bV7DxX#PoXSd- zn^ab59bQtoRpmC7)hb_6dB|v5JaL(aSVNT9df+NRF#*hoWyxOMkZ^nJk`%vS)j5|Ws%DD-Z#;FQgdz4?Wa_3 zRQa^Z3Qc`R<+I+k=s&01mAbu2WtI0u;$PDEt-8HUWwpvzG=7iDcU2xTk{&cN%G8z~ zG}2tx5@@9qWC*R1Kr5MT(*gsa&bK9##36 z%2g^$RIXOJUTr?9a)ZjJRBlxHw8{#V&#HV*Wu?kZDyvk!q;jjuZ7Qo(zM}F~t@C!3 ze^&XLN;9_^%kgRCA*0DChwt=)*&bnZI8!b}&P9&X)*DCbO=sJ*-Z)zCVq`y+(VSW1 zXg3p+$_O@2OuLQaT09SV1!w3uzGJ!xnZ;Q)j@C2!`6>%k7OE^#xnAu&sd9tLr&MlK z`Ls%Nbsi_rYFW>ztW>#4WtFDBq;jjuZ7Qo(zM}F~t}8}dB;fYsU&)&S&}F>0@+Qs`+6O0_fr|o*_5O;Nz#!a ziGI157}GCF^o!ZfRGFum`6>%k7OE^#X=<1x>vh|V3`w#<9N z=!klO_QeInY?BM)}+QtRb1)xQG$2)Tmo2)T;wF34`k$+|sRx35@^|p59aB={-fB-c#gR=AI(YGWQgDdQXvOnR|*nt{_I5dx|{E+*9OP<_;oH?<*Rr3>RrBim#^OCt9SY8UA}skuioXWclqjFzIvCh-sP)z`RZN1dY7-><*Rr3 z>RrBim#^OCt9SY8UA}skuioXWclqjFzIvCh-sP)z`RZN1dY7-><*RoE>Ro|)SD@Y% zsCNbGU4eR6pxzazcLnNQfqGY<-W8~K1?pXadRL&{6{vRw>Ro|)SD@Y%sCNbGU4eR6 zpxzazcLnNQfqGY<-W8~K1?pXadRL&{6{vRw>Ro|)SD@Y%sCNbGU7>ncsNNN-cZKR* zp?X)S-W95Mh3Z|QdRM646{>fI>Rq9FSE$|ncsNNN-cZKR*p?X)S-W95M zh3Z|QdRM646{>fI>Rq9FSE$|ncsNNN-cZKR*p?X)O-tqS}TqBCqyCU_j zNWCjk?~2qr-X-OjFH-M{)Vm_}u1LKrQtyh?yCU_DU()2rFH-M{)Vm_}u1LKrQtyh? zyCU_jNWCjk?~2sBBK59Fy(?1hiqyLz^{z<0D^l-@)Vm_}u1LKrQtyiOu5Gc7V2c@f zwz2+U?yQ%nT&i-J%12b^5wt~>Q?n>qg@w26^OIAyn);}wKB}pYYU-n!`k1CZrm2r< z>SLPvn5M4M)K!|gN>ll}EG)0m)DlfC(bN)6Ez#5xO}Q=V&;l##LN{-)lR9}DOEeAYNu4~ zl&YOlwNt8gO4UxO+9_2#rD|ub+F7f1)~cPgYGX&Kr5H^!XDFi-Bh8$lj8cp=bA~dVGnDDwM46a5 zLz$R4Lz$R4Lz$R4Lz$R4Lz&JQ%D9g(_RXB3Ow632Ow632jQa>9&77f3%$%W2%$%W2 z%$%W&J9;C{oS{t2oS{t2oS{tTOJzD|DAPGZna&x?EHh^)ryVvS&G}VMJ8Y6Iv}(On zseDQ0R+ZaSR;zqPWcIim9OGm0*I#TV@k!qKYRJ(Mf+NC4aE*+_M=}5Ip zN2*;qQti@_YL|{wyL6=5r6biY9jSKdNVQ8xs$Du#?b4BImyT4sbfns)Bh@Y)sdni| zwM$2;8uhM5y{l30YSgu13A9QSWNhyBhVbM!l<1?`qV$8uhM5 zy{l30YSgu13A9QSWNhyBhVbM!l<1?`qV$8uhM5y{l30YSgs9G6tyC|E^}2JMcD_oE>$=%-@^)d{teYK2a{N%JX2-E(bj%vdaatQm3uDbP>t@HXPb%%u18LUHyjqr5%kpYjUMZ`uFF(10cSu&%ka&m0J7kh~BognC zteYWOH$$>+hGg9gS*AL8$2Q(s4pSnM6)ogAlWIytni2zP?FC4#;7G1_NY=)!P}BZa zPij(+WQ_~S8W)l^E+lJQNK=!ZlxSjD<3h5=g=CEj$r=}uH7+D;Tu9cqkgRbbO$~c$ z4SP~Uwy7I-%o-PxH7@H^>K1|I4$JDTHR-K2>8&;4IWGFWwI;o_CcU*Ly|pI2wI;o_ zCcU*Ly|pI2wI;o_CcU*Ly|pI2wI;o_CcU*Ly|pI2wI+SECVjLfk>>cc%x@}Oh~)T0 zvhrp{nw2*sD{oeR)#hxC~o?^7U&ngwGb4XU_kf!|yYWol5db*r# zR_Bl@-s_O#RkAwAHmh?;R_Bnc&LLTyL$W%DWOWY7>Ku~QIVAVsNbbRrTu+f)Pmx?t zkz7xatj-}>okKpWlGQo3D^+e%S*4QIIpVjf+@`WxC98A9vpR=lbq>ku96zDQ>Ku~Q zIV7udNLJ^pI9e$M$vria85h#DK%BNfoSB)h&FUPI85fcn7m^tlk{K708JA_&Isby} z#xG>Ck}0<#$IBJS3344WRVE=Xkb2}qjY-q(i{v9>(q#eiQk9o!uFGX9F&V0Pg~m^k zHN;#g-y$<*Ir1toB~F%&$gAafWR}KUBY)zzLCnu&jtQ!x6tni#jAYh?WTgektO?1i z2^mexj5D()r0Hd|0(LQyl@=tkCL}8@NM=n)W=+TfmCTyhX4Zsc)`T>@JWhLgoc8iK z?d5UW%j2|{$C+6ZI;^xHnKdDqH6fWbA(=HHnKdDqH6fWbA(=HHnKdDqH6fWbA(=HH znKdC z;kk)(e;bnLwn(1aB6)6$XhZW7S#Ees!s4_{Vu`@^Q%uzdY)Xp5WGe?Ts-Y2!pXyW}?{%Xe5nN?nD%le;g z8*B5Zvx&dTTaTQqvdqM2{pV5tZ5%g@Fi2Jfk>eb!H_B$x0N`tVH?$rLfVFMjm^| z^Vem({@~zy-A-`j!Un!_fvP(bcs}n*g{4r9NpnHB5~v$K|My0Hj?s2kuN?$c(5XJ26Y{iERrybKd~cj zY_-U^T#-axN&&qod*KMQh+G>Av5*2;BH8R`v!Bg= zw%MNx)G2#|$aP^N*GEGVWWWq4fKrhgs8h~LsDv7*hbEC5gMd6!mqP{YfP>H|a#H|A zLIP07o2H3O%Z6M)e;WGJ(4U6>H1uz#F1JwLEtGdl73_s0&>}K@I~;%p;d2@g4)Kr% zIWQkqLM7BdJv52j8U)dh1Q~$tZ7Glib73iLfbDPq8iY^jKsdxh8jxq^d{_yUPy_YQ zBr+=qqD5whiQLZi?QGwk1Q{>`3ZN9KU@sgInUe;y0DE&Pp$4!w2Yd6-nTO827Lhwb zAr?{~3+BR7kvn6c4h}=JNNxxamzxZkfbF~DMD8a3ZsPAI{%+#$CjRbXC>OaWS7d$x zP`CM2K)LfNcRuAVpxgzNyMS^RQ0@ZCT|l`DHo$f`01YDdIw2h5Med`l`>=l>_V2^~ zebulJj*2W42!l9Cg>0bwh0CD=cECYs6j>Aik&poCFbx($iAWy%dDJtXxP0;#2xP(z z{&bjn7O`Kn5;pLO;t-(T_qXt;#iejmWHI{>P}c|0SrQ4=B1>Zco67p|D+KWir%@JW9St7m7R<220_f$SUf%stPD) z6}C!pp+V$v{CS+X)!14+4amQSxHUB*rPQxBI^=>^4HA(?5#t8U6V*z z5JW=~kX}Z5Spk#+dS#SRM!99!Di4KNNP#Sv3rk@GY=;BTAo7G0!XX~eeFEJl(0u~k zC(wNY-6zmpp8-dONjQW-9MFzWW&?gcxg08B2ONY(kqrS53HY-i9i{JSN1ksQLl=t)uD1cI^g1vAATKJQ+P>6*T$bz}B6gI$iH~3F zYRLPh6DYTqu$D4*#{ywpGGJ#<3hWhmi@a}@0NZaTK{bCgkIlW=fX%<;io6p9q`#X1 z_`NR@mh-3Xp+Fh$r9wG0i@cBi`};%=WI`pMx)h+!f5qls(fwOI5FU($8j%mfUwT8%O4fe3=Z``8#@Fv41oLnnb={4u?g)nFf_2-(vS$^cphYh{!+Ep@PqH z;?sAocKT_t8 z*FKqn_+drZIZ|eB(rGU-mFsS7Fmz4h>^8Ke6%>F*Wk7J>b2{T|JtOV>G ztAT^i!1pup;W&E7$$y-3k1vM}umdQsB>h=)|j0u#^gJlUZ@ zyqy8XPzeXcauDa32H0>Mfu?qx0b)5*ArlH{I#5B5Byd6EE|%>OM97<^fqHjBuM>Km z(CdU=r@25KJFOI}b1Gy4Wd_v%c7vM4>JkK$--YtKWWWrux`x6Av4TkpHer=mA+%oz z_3kze%3-ru-HGddRIF3dU@u@ZGzZx35f3FmTu}==njkq${rL7*cybbLD-5Zh7z#` z&l2nORI!E#U~5PmnEfNrBvxz%REsr~w4rryP^{rOV#Q%Mu0gC3F=CAjhZ;BlB5u^VlCvokq_W>x>}4?wCxm63Cmd9S(>!cA8k@u$LGB)HRX1CQ3p#+OBL&K(k~}I z1O1E`NEYh~0n)D^&!k*v5$nogu`)x!gy>%t0MzNKDzPS0?qqCEt`qC(SXd4R#md5V zR)tvC5MG1clvKzDY)+{ci+dvLTI!e`4h!LkSl1DET{%$3_31#|4cNY+07~JoSUJ%U z59G;V|Hfp%&Q$D7oeR|CrWjZXq~Fvi7DJ;oEeztIMy#9DV7pkiP~TgYLz7t3u{%8p zGJrCtQ|9!QumRAWegKXDx-)_R{Tb-bKz|1MGti%b{tWbIpg#ls84Y6H>V$BJhZI2n zR`hR0|JG8dg1vAATEx076k-A0+p=IT;2-x!)=Vd0YbNP4$vX?5W|fOII|;}?yGg9u z(YYNP+zVN^m15mNd)zTgtUD86pIEtsx$~h#th+Xd#l4GlH~RNv z!9lU+FBNM+0PGO!Udp=nh*5f zHj9eIx<4LL0Q>iweagR|e8uP%v%fe9NLzeVtOwGel22$yLIzZcwUo4_hs9b(xy#sI z)-2Y8%b`K6hf>8_PFsvJw^Bw;l>)Vp3VVmR1j9M|4as8_t^rmo}=E+?G>vs7pT*wQn8*7 zg}GwA5DoL;fLNQ$#d3wv~ugoh{bO+r@fip;)h` zinTo)j)?W=9b&x(uajp7!W>Q zF>ka!ChcR=>a(E&D676jtV85Igv~?cuvx56f*=d3#QHQD>cu*Y&f)n$`eyCb5oC&m+Wr84oFt0mOYd7pULg1Aw@{qw`f9REu@g3F%M@ zEn}zy6T`1wa|!%?0BASuR#1wi~BG zjac7P-uKx20sBAf6YEE8GuO0!Y!s_08#ajbFZBNv4>_<`te?>NiS3`N#QJv<%!PWf znu%+!6YD?N`VVCuqpV}-93$=+>Bq2n99zf3U?Hr83VtgQ8!gnKh4Pt0TCJ4ZdO)nU z7$Cnl1rCTUF|ZJt#kMk_0_w%K10V&qi|t_BkqO0OGpDni z4Ppnf&wR@cJSui4@^)Gdbz*mpg{9CWc2EwGH>eW!0dZZT0sStsfV3{x6(_kT#z-Fj}!_X{tNC?D0GGxLmD28&VhJA2U z>}~>K5C^G{4Y{x!Dqsg3ghsKu2S6kwKsro=g-`;Up$-m1v)HGEKnx^9Cd`6jD2Hm; z2S{A0E5)vRCroloefz40{hoM>Qun>rWWXObBPz>cz4g27z*u4b8AP!O?8**Ve zRKN~62#sR*4uD8VfOMD!3!wxyLmeE3X0iK(Knx^9Cd`6jD2Hm;2S>#Y7vNY7uMxX% zHlWuRy}sx%m$v(&*B8Bh==BSOI7kI_`{lxN*bM0PLoWio2=pS*i$E^|y$JLo(2GDX z0=)?IBGHRPFA}{-^dixVL@yG($O_m22cc2yr~rtBWI!(py(sje(2GJZ3cV=w`lHt$ zz5WT14%1*El)z@FgTrDE5I}DLdIQiKfZhP~2B0?py#eSAFnY~mM~6TRBts_5f?_C# zYS;%y#Xe0S4B{XavLP3iLj~-BgU~4UzyOE@bOvH$AT|bKV~_wg24Q0mHU^PC2pfa2 zF$f!j=%YdPz*rFz1dJCkNss|Epa2+mVya*-U~{k&C~I&6pf?!3!RQS}Z!mg;(HndO zTEsp*6k>t0PtSpcPy*)Fuq1YQ*4^3hZ3xa4!f()1e1yByvun!u<9`1y2 zh=(-Df%&i!Dxn6jIlNiyxDbei6vzhj;?RrR0NY_N9DydWM+8AQV0Q%iBeGxy6aaZf zR6-5Z1NtM;9~livkOAn9M0aEX3WZomfh?E{OJM_ShXc?ccDxh9As*5o z2j;^{sDv7*hbFN{2SGF>K?cl#0w{$l*b7IXMeH*|Ar?{~3+BR7*Z|w%05pg_#tG<- zL3d0Nq`^u+Zwz{4&>MqZ0(#tg+6nQH4zz8;d{_$TChUNN&?xrU0EmPH;Mg0B?$}&d z4i!)X*d2@RICRIMI}Y7(*c~?w&>e^FICRHhcicfhm-}2hF&d~tBD#s_CZd~I4CPP_ z`{1b9NdnY23BQt3Arof7La6(HfhMufq)pDm{+Ss-TbxNdoVgwF?W{1!0_t@Z<(-`b zRbnT{zznDt`<#`4?m75&F8b$YL(}h*g3ssYKmnA(b~p&+A0Gnoun_h^gV+-&X9D{Z zsMiGcQ^O$*u#q|+N`Ue&Z~}QRpq(yQ3Kg(d?1|KMB4z%sp}dJl#J(^Wj*6W&3#ji! z$xsI^Vqc8E7qfpcIu}=p&Dw!|Ni-w?b-W}S=0Y)$_ma&}0|%i&>~w)pppNNDKt0oQ z0DI|6p&Y7!^3v;}QS3{d5C*Y8*_V=b8EKbq5IckYD*~WI>`CEJ0Xu;5u1tkWu`?rK zzSvh`<0|wfvwd}j*jc1!Er)WTo>}C}+9&okF@XIk*qf3I*t!~yiO z3jpeRJ^I&^m$e7`2GVb!%o`3slh`?-5DytJ7gjayTmXtT@PlQlRZ-lYcgO zXS07h+qYx;cI?cd{&Uix1dfP3mwaFZb zg}opek|7In0bBQG!ggpD`@VRX1(jkiq@D}WTetzpzlgL&^MUg6NXw&cdF0Cv1@hz* zUl0Ps7iR+F~6QtUO9v1S%jiCs#Wr3=MgTLRc!M|tbWTZV2K@nzJZ9NqE_Vn5-8Y{147 z&0?>o-1UuOKS`b^%f;Rh1i3(-r`Ucf9;QJl)By1tSBm{~C>#{K0$UYF#C`@l&ql)r zv7aODIr2P*z2}<5u1tm;SPE4@zRDJ{H^o90EQft!KOX`afX)kSzpxN?0QKA)1__V} zxljTPV!udzwouP4*x#}pC~sRO92UDe4B}x1P_JriRX2UvCt9M+n402FwTS?;vdl`F3J+C-FNMLIn`Nvsvt2#P3Rn zTp)he0YLu^;@=?t4eY#uoj3LZ`ZdJYq`@pGg*s>y`^_*&0pi~*0pj1pPHi0I0CBb0 z*i9SkP5|_FQ{L{wV%LR2Do|G4W;i1Do&bo4Y*-3aP%rjd#J@%SThm}A?0_b*-;M<8 z_4Y!jgo9%54T2<~ti9yli`~D3K_+1HFWaF-?02Z+JCyTIIUE)H-B>6F(%;4QzGxuN zzFeTpeFvaX?ETo^9|I{s{{8cz1So6&L9yQxAn$u=K>B;6zeoCeq`$Wh8pM7-0ML0q z8M1&f-lvTBH^W|_J_no-2JC-8o&K5w=>2smRDg-Y-e0lzH+26N2}zI+)1Uy#f&2$a zJD32=p;7FQVuAX6jDCHK*oP?RPzq!N_77qI&;e)?`;!~9i)vcDnjn<~KmH{|;^ z7BZm#DuJ>as8d50P^X5?V*eu?*#Ac<)QkNc``@wsPr`o^HWD_b0A)5(r^X#nFZTBV z5DjT!|3JNeY!LgWAhDa{#QqQUI8NTyT(P}QaY%_ctR!*R@#1h~io>}>9PUPO{9m-a z1$^Ab);=t0#L|`_HF3)1#GBZSW4nexnVB(VZc}DvW@hF# zWlEX8XEcvv_ul)z@B96K-`DhbG}36!8G4>`W~E){4^6lyXu>-L@}4IAhcpqEAs0iC zUosEDwWXGWyrqeyAJfD#H)&$ot2D9v0T84s;MxlNKyHKJ9_;am6?cYQr-?yBAm?jh zrA~-UpVP$3gCLC%=v{fCCRSM+vO8n}Dds}yXsRAlwHk)41sJ4*&c$j ztIdbp1bGeehbC6X_0@5GbzEN^*H_2&)p31wTwfj6*TD5PDv%b)F_7CJZ)qa$LLvyx z=l6l&zC7;BvC;k9`iY-a<_bfu12{2=os*0)qOmryjaDGG7zu{;I>c{h-ZvoXqTd=+G&CJ<|jOAF@ajTeU$R z(!|ywq!EJqw+7aXMSWvYe(c2%e+hAhy;cDTOX&Jf(Y z{c?~)Aa7}62h_0x&h3bEJHnnFZ-V@yiJj1AgpsyKq zH-DrF#H^xPf%HHwhP=On*qC9P)Ex|$T1M; zYWY?Zt$9czq!WVktq*BpkEI}UA@6BoChD2_ktW(A$RUvDG%>3Na-AmHQLY`j+fi4? zAV??V1jucg=&V3+U*{rC?1?(|oDca@6J1+E&WAh)fvw%JwR?BSDUin?IM=f&WFN>) z5Zu$dHe_eW5fGf~eNPj!T}T;6}1;($CPf^=%)K-6>K#hN$>bsuzu zCJsh=FzPyZktPno^+RCWq1!_iXyPzjJM0)u9FFvG*mn4rnm7V=9&wu{jzoP&;@XkF zXyPc?dh{R&bRPY!CXN{mIbRdUY7o?Q>|>fZ4(EJfsnVa+mdJV!=enLQPyAK@Nbx_A8+Cim?z}zXJDNxi(~X$O27V6+)o< zD(JXM=5N!))i`%`8wAJKXprq8*FoOW#I>73Uem;N^EGij>bv0tP25<~#7#pqadTM{ zx2y_5*;^0M#BC^d`ze~ZW3DFdMA^G=@7>US&uC5DJ4h4v!KV9h?E#c|uu&5aP1MB0 z(D(3rns{WsCLTRo6OZAZ$5H1K=WF6g*z~li3B)Jj*_}1<9L_(#lqOz)?iX?2i;Fbz z(lMHN8RuWVPZO`SXyR4qeQkS9ypA$&Abk_(-uzM%Z@u>ay}XS!yp6WMbAl$`%|qrw zp3=m7`#^5e#QV!Zj(|L-i4V5a#D^&J;UZ0Zv?=5+O?-^De2jZPaUp2yr?~zp?q4_& z@{1-uI|lNHCg7`!FLs8Y4PW*^7HR@Mx%gUx;QnuFAh`A|bbX6!-@T`a?;9aF_rnm# z`I=Y+TNYuA7ConlAEE2Vt2FV`mYVo^5TsKRzl0E6`xWVLIQQFIn)n^}{Qi_C{wQnW z&$Bi07q0zvu_pc=3fUd<&RWF&~0^#dDA^HPdt zL@a^GLt9EaLvu9E4DgGes8Q3jmG#YKsqDYqwEK9hYa!m?Qs)g=ybX^9&UfuWJqXM%Yemp4O$cYBRJJtw+miL$qny`bdjf z4gQsIG!-TC+DMe?(YhgBT2*V(W@$rlc8u1J^22acj~Ua3bkgFwy0csr_f&DuZ2ZM9 zc4@v=!Ob(5O)}HR3u4>b)q4_cG(}v~i+uHJzWU21_q-uAyYj(AH zm|v;x(X?%Eep*XY`;2OLzNxF4Z*9+a_D*eUotAIznAOzU4h8?TbaK{?R&6>isM{x3 zyIPSO39~x1nKr1R=c`eJKFQbVI|}S*7k3P z($0Zp@@R&vP!4Gxf7OuoHEeoEJG!d}ov3Bgq6Y)9F}~VxIEFwC-fRraFx=aLvL2_YS*wFlQE zph%gKm6X7vz^|_bJ(%foZVg-)O(-SH&BFXwwfEH^ODo$II8{-zoSkyC1`n7egEKId z_cmvGW!pPYXDjMc?NhKe4eMwY?w75WSNi&AI*!_KUarz1IInE%*O1pHqrU05G6(m` zUXmL7`$V4U#Q6^B?}c7zVV^b4SqtQtwxW-EQHQ+Rr=xGC|GNfRyX=Q)u&fvL_Vvje z9Lc*SCP*rgJtN2apDpUEzn^pz0?85V&H7N*-#0q)SoTZ*Soc#xH+0GC|EV4FylUrg z*wcla934ebs_s_grDipw`mFlzt?uhNHQ&@cQ!SKKC9PDmuD?Zdvi_I_J^!-?*{kx- z>F9?p^smgx@s=}3X_N#gThfuWyBp=Ef=a9CE!p3yOrIV(k7au$O7@MAY`L6?a!k|= zlP}53)!CS7l6^K6Wh7bmk3s)P_4TRL_3uc~jyq+&a+b+<^!HZZTIuhxffz9GKG{0y z5U7!oIRDSNrg}rRN7ny;9#7d$d9ND#Sy`&`60Q3B=>I(0vdp|}Os7MSYLViHzMlGT z_eyk>PLr}+d{DsWY<8YG$gH zppaSiPv2^);z;$>z!8{}&9&yNrw9KBUL1^i)mZoSa^D?!V0WLVF*tLT)w)!uFc#Y6 zJnZ8cIkyxysnymFG*IiIZ{5v?p4I^^>(f`&=4K-eYUKMfPw1 z82;a`S&6Z2S>H8fBPsb`t~%Kda$ZSaP^~=~xJc{d9Rqn-GJ;%NGx1lJk-edKQO>G< zbnUD0{}06a*Hzo!Dizep`Kx$w`r`RET1#MEs!hNbAIGLBLlZHEwVQg&?&&gJ3H zO~RFJ5dv0lwt_Q*Q9@pk*9T{-aXTD0YNJtZN>-PuV-m{Ax_3ZXS+@)x$7i{%QGPt? zlBkzx+h;lw)Fx}40DZFVaX32`snjXU$vYZwW(xB1cofc!q`vXEOSVCl9|viqrHwe> zul1i+$(ofuY1ugBCZYb(w7DL2kICwj_DlU~R`2-iE_t8qIcaG_XNN{!> z&Z&A;t$A1_TO#dNy)gy(3QEd;kS&yT$ZK*`WPgrbTvGL$nhSDF>rrA{X1TmywnX+w z|7;l8lD^vhIXeGocJ$3QS(h9)*;8XPEtAo+3C2p=rOwFv<-C$JzX2`ipK)s5%l_^w zt9n6>&-iR)x4}585mEKYICWqvWL?{3Bhfz|Y6PT(a$ZP{eSOwH`ckK~xz8Rso8>I) z8;Aa0k?T*+F{w$;0-2K<Or(#>>TS!k_Mb*;#SCMI7)FPun$;bbU_qt)D9#vxs(XHIt9lUdb{d{f4jGMbcS_Cmfd zW>NbAvJL%X^*@b4Ut9jC{+IrEH)fEEsamrhmj2{0=#njyma6!yuYc8eOwX=KpS90Q z*^m9RPx{y!XZH^DL#00ZIb{WoLxuqm%#dJ=M$xsbTRAL$U2Vt*y6NS~91#r=_E}2gb~5r6Q>z z+u_D$Y)8Jg8x57s8JeF}&03vpSa-J!&G+jVDs>L;=*o9jvGI-4tuU3%{}Y1YaSgny|=5qwYvp9f*YGV^4%Rn^WD8u_ozG92JK8ZXy7IF+uwMRCv-3UkI;+#0pa|D(84}j`fG%V?QQe&t^b(n=!LFod($j6V)CFnkIs~1 z)3-#bn0HmxfH@sq&E5IIi(z80)GbYx7xIJU(jA<28%Ad=*UZ!^R+Fr?7vmtuZgxj& zHa+Bh)ww-bHTkB_PAsvescl#S9c({p{%6nJR!5K9H)mO_xTEPV(u5@s0V(6Vk@*>L(@nF_ZHXCr#LPOeLx02iH$Ve(=!z zc4HbxPngn}M~O-G;~RI#Pe}9i<9En!J!X7mXg=9~;-qBqHDs7yQ-O8%QB)Bilk4q*sj7H7%Bgc##)40RXd^)Ca zysR@trS6On z`nyBkFe(|JOsXF{G(UM_(lACIpdZIfN*Z7-N}})46F7^S8YYaNoNO}%Cs3|W1qNhv zlC=X3sK@^enPpk?$D_Hjp2i82&>=KsyD^iKq51krVpkTK|e5~mX2_|z| zL8g*gx;kcckoUTq+Mo<~EiRRBt~RydHUc9S`9A@nj}SY%T2b+wuGSuaNxrEUG}+a< z7pWK;vR3_T3#68RwZE&{-3g{@on394Hw?&({S zt$@S1!#Z0!hZB?k`Ejre-({HaKYwzq;R%cEzrXjxw<7nQb#F)XD=+x#FqIt*ou0t*Wi2t&XpV&1-97b7(DX z?d(@e*TaWe>*LocH$>R65jtTwo;fJs*@Kc6;VWKi@y*#~e3$RW_}!~b@e5CzYg^#i z6d8mzWLq0)wgEB*-v_-lx@{Z+RJk>>4FX%aJuw9v7~5eJX$Q1rCv9hK7j0KXvg9^dXLZ^)ZWp) z)6Uhd(0`)m7Y2WSUsU*b#U?!Y&|oA_>OTX%F<`&0W%_jF$m^ica-*Yupe zgubM%>r3fN>&xiN>dWcN<6GHR)CcJ+=_~82XuoK`>Z|Ij>8tB&=y`ojeXzckj$gIa z*VWh4hv@6;8{jLie$!snhw2;Y!*u)(rC!jBdP$G;Sg*x*Vwd$1c(UdL?L&PNeN%li zeRF*aeM`MwAE`I!6+O{YeUv_0AERBTU9WGYZ>^8j$LZts3Hn5R8-0>K8DA*(hxU>7 zvEHap(YMvN)3?`m(09~#(s$N((RbB%(|6aK^r`wZy;-m7)Abp8i{7f;sqdlB)Z6q~ z+9%qldb{4Ccj|lUU3$0Pqxb5w^*Q=neV)FTzPG-QzOTNYzQ29|zSH|a{UH5d{Sf_7 z{V@G-{RsU?{V4rt{TTgN{W$%2{RI6){UrTl{S^IF{WSe_eZGE%ex`nwezty&ey)C= ze!hNzexZJmezAUueyM($zCgcRze2xKze>Mazec}SzfQkizd^rIze&GYzeT@QzfHeg zzeB%Mze~Sczem4UzfZqke?Wgwe@K5=e?)&&e@uT|e?os!e@cH^e@1^+e@=g1e?fmy ze@TB?e?@;)e@%Z~e?xy$e@lN`e@A~;e@}m3|3Lpx|49E>|3v>(U#Nekf3AO_f2n_^ zf31I`f2)6|f3N?bFVcV1f6{-}f6;%{f75^0|Iq)`|I+_9G($HGLl~xE8MfgVuHhNJ z5g4J7GnO!xG?p@!HkL7#HI_4$H&!rKGzJ+f87mvB7^@nq8LJy>7B*V@spn z7-=*Z6(ccHW0W!47-MW@Y;BA+#u?*{3C2WY8)K3&*=RJT7~2}#8QU8>7&{s}89N)h z7`qy~8M_-z##CdP(QH(W>BbDB#b`D5FlHKU#w?@V=rB5sJ&i7-+vqWRjoHQ=W3DmJ z*vr`4*vHt{*w5JCIKVj2ILJ8IIK(*AILtWQIKnv6ILbKMIL0{EILCIL$cSm~Wh6oN1h8oNb(AoNJtCoNruUTxeWmTx?uoTxwiqEHExNt}w1Nt}?DR zuF+o8-Z!o_t~0JTZZK{%ZZd8*ZZU4v-qhaG-qzmJUf13=ZZmE-?lA5&?lSH+?lJB) z?lbN;9xxs>9x@&_9x)y@9y1;{o-m#?o-&>`o-v*^o->{|UNBxXUNT-bUNK%ZUNc@d z-Z0)Y-ZI`c-Z9=a-ZS1eJ}^EsJ~BQwJ~2Ku78;)!pBrBoUm9N-UmM>T-x}W;-y1&| zi;N$QpNyZ4UyNUk-;CdlKa4+(zYP4ikI;o7gfN9AY~cu3c)}Nf2t`gTA(j+NiKWFd zVp*}ASYE6kRuqH8N@8WPida>wCRP_~h`d-+3>IsNwZ%GOU9p}RBGwlhhz-S1v5^=i zhKm|e5JgcEk%&dDcAlscWidi*EH)9Fip|94VhgdQs23wegQ$o^q+*m9Eyjqg#MWZ0 zc9s|?#)}DJqS!`E5|c%vm?E|n+llSP4q`{Klh|48B6bzKiQPq$m@1};W>FQ>#SGCR zTE!k>rf3thM7!t^onlYXCAvkA=oPcY95GkS6MKoh#Xe$Rv7gvq93T!92Z@8lA>vSR zm^fS%|S?Msbt4S==IS6}O4o#U0{KahJGT z+#~K4_lf((1L8sPka$=;A|4fwiO0ng;z{w8cv?Ioo)yoD=fw-+Me&k&S-c`%6|afc z#T(*H@s@a7yd&Nf?}_)t2jWBVk@#4AB0d!h#b@Gk@rC$Od?mgX--vI;cj9~TgIFYf z6hDcd#V_Jl@tgQv{2~4ne~G{Gc%^O{rZ7!BYH6E}>6)JDn}HdcIdchfNpmT4X>%EK zS#vpad2A&7tN- z<}h=(Sz{K=qFFK{Gd63@IqcagSn%*lex3Gi@B@0o4LE$WKK1wnayU^ zoNmrATg+B-4|As3X3jF(%?`8E+|%qbyUiZ6*PLz6G3T1|%)QLL&3(*$&Hc>%%>&E> z&4bK?%|pyX&BM&Y%_Gbs&7;ht&11}C&Ew4D%@fQM&6CWN%~Q-%&C|@&&H3gT=9%VM z=Go>s=DFs1=K1CY=7r`(=EdeE=B4Ik<^uC_^9u7y^D6Ud^BVJ7^E&f-^9J)q^Ct6V z^A__~^EUH#^A7V)^Dgsl^B(hF^FH%_^8xcg^C9zL^AYn=^D*;r^9l1w^C|Ob^BMD5 z^EvZ*^9A!o^Ck0T^A+<|^ELBz^9}P&^DXmj^BwbD^F8x@^8@ok^CR;{Kfp${LTE`{KNdy{LB2?(k$IFEMb|J zW!aWvxt3@7R$zrz&RW7+(pt(|+FHh1)>_V5-de$0(Hdl}WUXwiVy$YeX02|mVdbqg zt-;n>*4oxO*1Fbu)(~rbYXfUTYpAu6HOv}r)mR0qXqBwUimh6!&MI3Ytc|TrtWB-W ztj(=0tSzm2Yoyg+RjkBHtx?u!YmBv(wY4?Y8fT5SCRh`#ZLCSwWUJAdVr^?}XKioo zVC`t_WbJJ2V(n_}X6p$>j3LO>mci3>k#Wu>oDtZ>j>*e>nQ7J>lo`;>p1Ip z>jdjW>m=)B>lEu$>on_hYrb`cb*6Qeb+&bmb*^=ub-s0hb)j{Ub+L7cb*XikwZOXE zy285By2`rRy2iTJy3V@Zy1}~9y2-lPy2ZNHy3M-Xy2HBDy34xTy2rZLy3e}bdcbdc%6tddqs- zddGU#de3^_`oQ|o`pEj&`o#LwT4;S{eQteWeQAAVeQkYXeQSMZeQ*6>EwX;JezJbH zezAVFezShJ{;>YE{<8kIHCwk0TiB*;*|zQ2uI<^r9oV6rvzM@!w3o7%wwJM&wU@J( zw^y)Nv1F_*xTCM+1uMY*gM)g**n|2*t^=h*}L0K_EdYC-E3Fw>Glk} z#cs9tuxHwB_AI;I?yx)UJ?$>L+wQS@?b-Gmd#*jt-pk(G-pAh8-p}6OKEOWEKFB`U zKEyuMKFmJcKEgiIKFU7YKE^)QKF&VgKEXcGKFL1WKE*!OKFvPeo^PLFpJ|_EpKYIG zpKG6IpKo7aUua)sUu<7uUus`wFR(ASuduJQud=VUud%PSud}bWZ?JE)Z?bQ;Z?SK+ zZ?kW=@38N*@3QZ<@3HT-@3Zf>AFv;^AF>~|AF&^`AG05~pRk{_pR%8}pRu2{pR=F0 zU$9@aU$S4eU$I}cU$bAg->~1b-?HDf-?87d-?QJhKd?WvKe9izKe0cx7uuiMpW9#9 zU)o>UU)$f<-`d~V-`hXfi|ilmpX{IQU+iD)-|XM*KkPs4zwEyq&Cwmh5sv9tj_o*( z>v)du1WxGWoF$wkou!>wSkiCpsrNCu>(ar#PoNr#YuP^PMxaN1QXAvz)V?bDVRX z^PKaY3-E;hz0QTsMb5>}CE8uirOsu}0_Sq)3g=4aD(7nF8s}Q)I_G-l2IofSCg*17 z7Ux#yHs^Nd4(CqiF6VCN9_L=?KIeYt0p~&IA?IP|5$93oG3RmT3Fk@YDd%bD8RuE& zIp=xj1?NTQCFf=573WpwHRpBb4d+egE$40L9p_!=J?DMr1Ls5MBj;o16X#QBq4SyZ zx$}kdrSp~ZweyYht@EApz4L>!$obLv$@$s&#rf6w&G}tB#`(kf)A`H!+r{e$uHg#T zbS>9*9oKa|*LMRqbaU!s>$@Ac8@fZ?joe}GaJR-SxJ9?*MsDoZx^-^Z9pP^5ZsKn0 zZsu<8ZsBg}*1IF!2DjoSZt9M5N4sO(t=z5MvFkmF`vU)$TR!weEH9_3jPsjqXkE&F(Gkt=fF|HurXIfqRF0r+b%sw|kFvrh6~m zarwr*&%NJ$z#(ma(&VAl}K|9-h(S6B% z*?q-*)qTx<-F?G-(|t?3%zfK^$9>m*&wbzhKs(<3P&-9C)&0o**!{%))LrO)=6>#e z;eP3U<$mpc<9_RY=YH@0;4X51bboSxc7Jhyb$@ezcmHtzbpLYy_B2oT3{QBbXL+{g zc&_Jpz883*m-CkJmh_hLmiCtMmi3nNmiJchR`dpWD|st>t9Yw=t9h$?Yj}BYO>eNb zmbbRIj<>G2o;So>-`l|3&>QM)O+&jWM(mTpK+B?QO);rES-aElN z(L2dI**nEM)jQ2Q-J9>7;hpK7<(=)Fc^q%sb_MY*c^`7&d_g?T`^j`8__FnN`^AxAnL4xA%AOcl3AiclLMjclCGkclVq8ss1#-*{}N3{TY6X z-|Fw-&-B~;S$@0U;dlCb`dxmv-{bfCv;8^#Tz{Uwm%q2akH4?KpTECy?=0EN~;Xmm=<-hH}*r_<#C;`F{smpa(`E0yD4zJ8%Lw z@B%*wf-uMhO9V>>O9e{@%LK~?%LU5^D+DVBgMyWUm4j7+RfE-n)q^#He6VIPI9MxK zJ6I=JH&`zi609F=5NsF>4K@mf1;c}ypb!*;QV<1kP#e?*tz;kOXNkDi|G%3APHh4#o!Kg7LwGU}CUMFe#WEGzL?GZG-KC?SmbH9fO^M zor7J1U4z|%-GioJYA`Km4ywWQU`Egqv<7|jnX zH<%af73>}C6YLx87wjJ#5F8jB6dW8J5*!*F791WN5gZvD6&xKL6C4{H7aSj)5S$pC z6r3EK5}X>G7Mvc;56%eA49*J94$cYA4bBVB4=xBU3@!>T4lW5U4K5271eXU_1Xl)E z1y={x1lI=F1=j~R1UCjZ1vdw`1h)pa1-A!x1a}5^1$PJc1osB_1@{LJ1P=xe1rG<0 z1dj%f1&;?$1WyJ}1y2Xh1kVP~1AgU^D`gD-+FgRg?GgKvUwgYSaxgCBxL!H>aD!Oy`j!LPw@ z!SBHz!Jolj!QY`4>Y)*e&B?aAFde=4%Z6T4%Z3S4c7~YgzJYJgd2uK!;QjW;qb5~EQH0d z6h>hj)`oRqIUEsg9BvYB8g3SD9&QnC8PGTw z%&;w-6}E>RVQ08!*cEn%Jz;M+JDd~F4d;b>g?oqlg!_j3h5LsGga?KPg$IX+golQQ zg@=bnghz%)g-3_SgvW-*g~x{{geQh4g(rungr|n5g{Oz}!!yD&!?VJ(!*jxO!}G%P z!wbR-!;8X;!%M)<;mzSK;jQ6q;qBoa z;ho`K;oadq;l1H~;r-zQ;e+8r;ltr0;iKVW;p5>G;gjK0c<1&0@agcG@Y(RW@cHnC z@Wt?@@a6E8@YV3O@b&PG@Xhe8@a^!O@ZIpe@crD)58Wpm5rmd~w_TQN5%w^DB9+$yFjzt}a*3jmT}B+a$MX zZnNCxxh-;A=IV1Ja}BvlF3F|2QMu7x_w=3?JZMpEcj{*~P3!7tcbZgc*H7)L&aT=` zS>n`p%)saOGo2=t1`X3%yYNKM^tS5UU|RpN-+<5fnx^4lpdNqP;zPSKtqE1z%_^xt zPg9SRP$8aRl8Ws_DXeCRpDe!HuP#1x5}Hv}shy}At636^>Ng~q(SPiZT3mrYWAR}) z3XfgPYEs6AGX`XW(f#)ZE&a#l=&4OzW()qaRE0qyISEdVnF}%ztEN;E}ENHasEHI?W#2G!4%~*=<=8jvZL8 zZ9v8zt2(GHOU$uoz1fC8_IP!FySjh;fLp@$0U3L|y1!j@aC=i{2cE_1z=RP=`wUTS zpW#ekH=(7seMVDP@2oa_?40Wun6oD-8@iMYlLn{_y9Q+JNy>&U zl}uK5b!SO1xxedz?*8MjaXvGO$g#-hnx13WvT|rNMUn76x+$9PcpTcwYapy`yUDURmPrxOndR zdo4b++B)z6fYaOFT2m<3FfA}GGA%KUn8r+Nnbt8aGsQ2oX7$xG9m%wTX@zORG*#&c z>K{S%D>8ndbYWq zy6dUCp1SL)yPmr1sk@%K>#4h*y6dUCp1SK3Yf7fGw_oQ-ws$0TkEHIA)IE~AM^g7l z>K;kmBdL2Nb&sU(k<>ksx<|6zBiY{#?C%EZZ=n7L>TjU_2I_C1{s!uAp#BExZ=n7L z>TjU_2I_C1{s!u=P=AH`E7V`1{tES1sJ}w}73!~0e}(!h)L)_g3iVg0ze4>L>QAUY zq5g#W6Y5W>KZ)&8YSquk5;ap2YEP&=q4tE@6KYSWJ)!o5+EZ#zsXe9kl-g5jPucpE ztxwtdl={;Ve!WBzwaA+mA3F6(cFJk0W@#{?yR8XN5J}()0vZh$0tSQ#0-YC|n-YC|n-YC|n-YC|n-YC|n-YC|n-Y6ER zzd-#3>Mu}#f%*&7U!eX%T{w9FJcr!_GO9%dT2i1T1zJ*|B?Veipe03GQluqCT2iDX zMOsp%B}H0NWKR^?6Giq!k@}0&U!?vb^%tqXNc|=1FHwJq`b*SbqW%)~mug+0IUb1a z-a|FGL<34RphN>oG@wKSN;IHE14=X?q5%;Nh-g4W10os_(SV2@5U~Ry>W`>DqW*~b zBkGT+KcfDK`eW*ksXwOvnEGStkEuVV{+Rk>>W`^Erv8}vW9pBoKc@be`fI7bmilX{ zzn1!IslS%`YpK7M`fI7bmilX{zn1!IslS%`YpK7M`s=8_j{57UzmEFrsK1W->!`nu z`s=8_j{57UzmEFrsK1W->!`nu`soG~%hX?{{xbEKslQD9W$G_ef0_Er)L*9lGWD0K zzfApQ>Mv72-GCz9fZ_=1r#n!jJ5Z!MP^3Fhq&rZgJ5Z!MP^3Fhq&rZgJ5Z!MP^3Fh z96|l{?EiYUpDsa>EAOg}E|PYOq}w9twn(}yl5UHn+hW3bm2h4qoL3~=A_=#c zBpzNznJpiGpXz0_CXX@MPk5RYVMXu zVF4 zU?nnGi40aEgO$i&B{Eov3|1n8l}c)$OC@#!39Li{E0MrTB(M?*tV9AUk-$nMuo8)? zL_#T%5K08}5&^bEfGrVVO9a>w0k%YdEfHW#1lSS*wM0NI5l~A6)KXny^>nm%bmy8| z@#;!9UO$pKzrL*#Z&=7fuL;j^SKF$sO<~g6-HH$_JMAWT?I^oG2D>2HQ8-~%s|<@( zX3BuV{)Ac88LH6IttkEvT~?;c99ivYvPLywn?kJ$ASd;iJK~anKC7_>N2XM0ZH?DN zny@u6Yie_oF|OAb-)n5&iU2*cz?j%7Cbe`}lUrxZY7&i2y$-Dr6I)tE17u=%YbfjK zvt&sY=*#;}i#s5!4rqxB15~qRJF=tYde!y5TeFi^cE33l#jP2#QC4%ct*6OhUFKf6 zfbTeMvhYMXnj|Z;W@b%l%bKM6U}S^Q-fPTlbvjhLL|03Pjn{@|H5IHZ5j|)d^@~ol zYZ?URSa<||MpG!O?K5l1e=##;oocjrG0XVb&Do(cgE3I4Qe$W47ThVS$%=GJ1kq9@ zGGRl(&hGEK#&yE@r^NWD#Q3Mg_@~79r^NWDL?A9P{wWcVO9bQ+Ba#v$k`g155+jll zBa#v$k`g155+jllBa%`|@Jb1usUrSTs))aoD&jAtiug*YBEE<*NK~WR88HTl7=uKN zK_WtULb4aXTVzN5t)jxE&FM+>VIb5pg>r zZbu9}A_g821CNM!9x?EU7cfkZ?ei^yXUc`PE2MdY!FJQmUMj_7ztbhINn+7TV?h>mtdM?0dU9nsN_=x9fD zv?Ds&5gqM_j&?-HI-+A8(Xo!`SVwfMBRbX*9qWjWbwtNHqGKJ=k&fs{M|7kkI?@px z>4=VWL`OQJBOTF^j_627bfhCX(h(i$h>mo`{j`VT_uZa6!5gqD?`(F|9KO+7|#Q%u+9})i};(tW^ zkBI*f@joK|M|8*|I^+=@@`w(3M29@0Lmtr~kLZv`+yRTY0~T=yEaDDW#2v7RJ75v{ zCL-TN%3OdO1fgE4V1CJx5L!I(H069;4BU`!m0iGwk5FeVPh#KD+27!wC$;$Tc1jERFW zaWEzh#>ByxI2aQLW8z>;9E^#BF>x>^4#vd6m^c^{2V>%3OdO1fgE4V1CJx5Ly_mQc z6Zc}`UQFDJiF+||FQ#7}6aQl3UrhXqiGMLST4HXr#N23!xzQ36A7kQU%#D_q8!a(6 zT4HXr#Kg~-_!$#FW8!B_{EUg8G2?)kaX`$CmY5qYG2?=maY4+uAZA<;bE75ZMoY|% zmY5qYF*jObZnVVQXogBH1j8sX2B=Y%zs0g`EN)w{|#y8zah>1H>8>WhBWiv3N;FEky5|HTjZ%<;Vtsi zukaRm>Q@^V$Wy<4T;uRhNx)F}K#N_!Rl zB2Rl2{vuC%75*Ymdlmj7PkR;qB2Rl2{vuC%75*Ymdlmi`Y83t=rM(J&k*B>1f05^S zDf~sAJ@QIVMfvr}D?JtE*CVg=RFq$jywX!qem(L^Peu9l$g6&? zD8C+g)z1~h3x$f}1*EEkAddXGqz8#b?N~{ff_!XZsbOA?N@w;Jln7Q zdgR%D#c#;7{fgg^XZsbuAa9 zJln7Ms8CUSgp}tMZxkxZA4f_%)y6mSv{U)#g$ntjLjI_bKPu#p3i+c#{-}^YD&&s} z`J+PqsE|J@I&$|m1<+32`kUt|i2^gt(Rv*An7d zLR?FTYYA~JA+9CFwS>5q5Z4moT0&e)h-(RPEg`NY#I=ODmJrtx;#xvnONeU;aV;UP zCB(IaxRwyt65?7yTuX>+32`kUt|i2^gt(Rv*An7dLR?FTYYA~JA+9CFwS>5q5Z4mo zT0&e)h-(RPEg`NY#I=ODmJrtx;#xvnONeU;aV;UPCB(IaxRwyt65?7yTuX>+32`kU zt|i2^gt(Rv*An7dLR?FTYYA~JA+9CFwS>5q5Z4moT0&e)h-(RPEg`NY#I=ODmJrtx z;#xvnOO*d!NR5ZQT{vf3Re^5zay`3H6dOm%74ds zh3g6NGg1CK&MRI?l>d%=YHyc)@?_6Z$#&VNPxhQF@wV&R9`@$+9mzf4LZbY4q|~oI zC`Df3dO|-wQ6H4zyu#~5?bjgB_Nxy{3yIplLCW^4{Tt-jezkvtJln7KZ;+>cwSR*= z^{f3GPe36hZ67oetzDURy3Hc%+UnJy< zgnW^ZFB0-aLcU1I7YX?yAzviqi-dfUkS`MQMMAzv$QKFuA|YQSH}BgIsR(@sE{yz zNf^H*j9(JQFA3w9gz-zl_$6Wdk}!Tr7{4TpUlPVI3FDW9@k_$^C1L!MFn&oGza)%b z62>nHOXen}X=B#d7Y#xDuumxS?4!uTa&{E{$!Nz#J7gIb95vP7*m zMlT7YmxR$v!ssPo^pY@oNf^B(j9yZ*drEds$?hrHJte!RWcQTpo|4^DvU^H)Ps#2n z**zt@r)2k(?4FX{Q?h$Xc2CLfDcL34-YMBTC3~l2@09GFlD$*1cS`n7$<`^^Iwf1DWb2e{ zosz9nvU5syPRY(G**PUUr)1}p?3|LFQ?hbOHcrXHDcLtA`=(^yl03 zzA4!^CHtmi-<0f|l6_OMZ%Xz}$-XJsHzoU~WZ#tRo05G~vTsWEP079~**7Korexog z?3*CEKQC+mvjZl5JD6ZA!LH z$+jukHYMApWZRT%o04r)vTaJXP06+?*)}EHrexccY@3p8Q?hMJwoS>lDcLq9+oojO zlx&-lZBw#sO14eOwkg>*CEKQC+mvjZl5JD6ZA!LH$+jukHYMApWZRT%o04r)vTaJ1 zP06w;SvDohrexWaESr*LQ?hKzs4QhvmXc*tvTRD0P06w;SvDoRrexQY?3$8YQ?hGH zc1_8yDcLn8yQXBxXi64M$)YJ)G$o6s zWYLr?nvz9RvS>;cP06AuSu`b!rex8SESi!*QrWA{orb4dV6)Pz z$POjg35wM4^fqfyAt>^!L6I8r>|8}=$g@)wnIYd-AMI77hNr};kf%M0Y>;O=71@vC6zL$(#iK|Ec`hDBI>>YJDAGZm<6K{BCcRx9Y7!~L$D{jftU`9= z**Jydcw}E0Q{YN2aE0Onj;tPh;J{RMVu8!8p!T7P1?8zCRYnz*XId;M&l9O?OhI{^ z$g><5RY7@p#R4aNfs?+VJiKB-d3Z=wI|^J31?A!4yz0CH7e|4Mqrk;c;NmE7aTK^X z3d*x97PtrsanS`N;Co)XnmvF)cF?VwuADm*WmC953To>G=hb{D#PuGksLG$oYzcc> z@TQ(R?hdBo+fsQPb_0>xnPL6xTCTGK*I9wZm z#paGV?doVM22~yPb~a~kiWLi7Y6UK}0+(8WORd1AR^U=AaH$oPe~0_II+TA`EGYjD zDQBzl?~qpzQ&9dL@@f?plz)eOUC0JBw@>Y^s(GQDJY3|GQBEH6YP}bflZQNw;F2#W zC$CuG(l00{4|y6fGFk$!Ky|g^`?d_e|@@zkSNH~)o95(5W zHMIrRxp<-)Z-}=xDW?bCiHm(7?6tP{IC!dB{!WCi9^$MPv8nKD!VaJnQsX372BO1`2OvV_NF!;2QBhl-KI7R zKWyBl7GqKEs1%FjwW8WlLB7^+>zIM><(DsIdpzvu3S03L8*n`FMcEzg7TS%s>ZQ9{ zq!U@B6IoO{AgG>JsT~mHM>^g34U4v>E_EOIu}J=pQZaUsx-@}Iaj3X zQ>5!tRB?B)NEe8&10k>Ge332?UI+5!E6;7!&bHoeRpp4`G&pxO$w!zIL+6CP>NO% zqWO9d&eIA)G+z(Gd0GL8MwlVzq=la;A<*Nsl}t;CzE_FS5nfoyA%5YU!lS^ogTzoi{r8!UeK1h-8H(VwMDv{Aj zWV8|)t;C)xsU3@Ai9JSO^t8^5@KTJ3y#5jA8slm`@`4eH}s6j0<5s|{bQas}S8+VDj_ zGhsx31swO7{&!6OJ61csxPcbXACHTf1+@bzpaqO_V@A2L+VTay&;qsPi+pB5U4I1( zc==={3Ml^Ilam<=Zm@W`q5Xtq!tO)`KUw)tOQ@{PM2F2U%~*GugP{ptSg)?-E`(P`4NQ>d8)I7WSEnhs;%( zsIO+cCc!g(_C$R(XU&qgqn}k73^@xAn86Gp_&jEj&tn$(JSI|34+ar@9uwykMe}(~ z>IM2ah5W(j$aUKh#b81`1w3!MO7)0=S%%XfA6R!1u>&m;~ z^O(3^XAQhc?F{i_g!paK2VUpYB+td*xvm~{y{!lD=Qmfa?61>2Q>BvoV+Q&$1O1rM zN6hFWX7mx0+hRr^F|j%(R>#EZm{=W;NIm?TRvUJ`I_BD=G3gkw#RTh^U>y^zV}f-| zu#O4VF~K^nA7PJ1m=%?>B$k_QvidH#Gpcuq)-lmKX6O+!^oS99;ODxUX7qNd@(ev< z?n1=eg@_q*#Edy&#vCzXj_m#}>O;(t|x9iGvm4)qdw&-#%h-tDd)V}Wk#NWq&~w%o^y^7 zMO>-#TH9w&#cw{r>%!4Mm5eH4MinumikMMF%%~z}R1q_(h#6JHj4EPA6)~fVIEj5Y zd+kc8Y8?ZMn1Myiz#?W~5i_ue8Cb*&EMf*0F$0U3fkn)~B4%I_Gq8vmSi}r0Vg?p5 z1B;k}Ma;k=W?&IBu!tF0#0)HA1{Se;^-N-9)}C6r)U~A%UN=1G?1#$WkI!D55#7DY z8?P;;_H=yr6rKFqs9+ArsL`t>oz!xNsg`t78`W9eomlBgDK~9uYl|j+i*71UMpjD| zzmerMw>Hh{+Yzqieobxdh+tN4w+tO*ptHn)u=Bb)3(2 zoX>Tf4RsvSIu2NrGo z9HKf75$GrDm@+>{D0BC*%-zQ_eYi4xxH5gXGJUu*eYi4xxH5gXGCxNs^K*nUcQ4Cy z;mZ6Rq0G+_%JksM>hpMfOM)8fG6Tpm9k?)g zekjv@E7N@|(|s$`eJj&_D>J$*GrBC(dn?m>E7N-`(|aq^dn?m>D|0us%;>Vr=(0@b ztxV^wOy{jk=dDcVtxO~<^TUcVeYY|{tSHlWD|2a;>ARKbyOq`F^~ExGbIXiY%XHn! z+|4c1bt}_#D>Irc({(Fzt(Cdf%3Nz@?&g;1x|O+`Tc+z)=B{p;u3MQOd6en8mDSUB z#WJJiGNa`(qvbNAWl)})pWN~-bIZ5PE#ES?e9PSOEvu*PP_K%n%Iax5KDJfnh#j9L`QPi1|;#E?- zN{UxW@hX>KluIzmB^c!rjH1t!OEAhM7$py(=rbh`q2wWyOEF3wLdioY3QbXHib7Kq znxfDYg{CMpMWHDQO;KoyLQ~GBm9uGO-c|&fBG43prU*1epeX`P5opTUv~o7BoJ}id z(~3S*^qHd16n&fyt!evFJDJo4-X^Kiya=%LMSCME6&lR345>1h4 zibPW+nj+B@iKg&h;lILvh5riw75*#ySNN~+U*W&Pe}(@F{}ui#{8#wzr>N!pYVhCS zzrlZl{|5gJ{u}%^_;2vv;J?9tgZ~Eq4gMSaH~4Sx-{8N&e}n%9{|){d{5SY-@ZaFS z!GDAQ2LBEI8~iu;Z}8vXzrlZl{|5gJ{u}%^_;2vv;J?9tgZ~Eq4gMSaH~4Sx-{8N& ze}n%9{|){d{5SY-@ZaFS!GDAQ2LBEI8~iu;Z}8vXzrlZl{|5gJ{u}%^_;2vv;J?9t zgZ~Eq4gMSaH~4Sx-{8N&e}n%9{|){d{5SY-@ZaFS!GDAQ2LBEI8~iu;Z}8vXzrlZl z{|5gJ{u}%^_;2vv;J?9tgZ~Eq4gMSaH~4Sx-{8N&e}n%9{|){d{5SY-@ZaFS!GDAQ z2LBEI8~iussTRj+i{rG#aoS=(&6p=L=824XB4eJ&m?tvkiHvz7W1h&ECo<-VjCmqs zp2&!w5kDh-#ypWRPh`v!8S_NOJdrU^WXuy8^F+oxkugtX%o7>&M9%o zbw93au`1Mk;xnJKTFalB7UfuF<$jc7m6iKtoEEtUw`KpiE!*$5?7vn$<}~FW_?{!=Dx7%n(Bl^45h~vU-#A`%5n(_g_m_vx?To%`kf*=jIe4aTbxyzQTXO3|_h#L@Rl6JI6UMtr*>Bj6o`rnw zM^8dN_oF9S$LcpCM+;cT>VC9&Rb(F3ewbw7H5b*%13 z4{%5E4(=#+8{gXzdyf0dhL)!en9cFcjHddQ%f&HielCvpLLEn0lC2n5b+j zDw~SRrl@R3S)>+q)}pdnR91`1YPBd5b=Df;MRRM>+*$;xMW9*)szsn$1gb@#dIYLR zJhIV@#+z;UdC&*%l|dn<^LM(@_&ss|0~OM(2eXIKlgS4~zAkNJ9HmwJlL&e zvaSn$pMM@zjNcyrv-ZOOy1w5P^*KM!7XE*pzjk2UZ+7Ut<=&gi>rw~(eKXxgPIw-9 zVv22_dnT0a##x_t%WOKU{KQ%17e4QPcj5ERpZji3`R?Zn_2<6bIP3F;di);l&ti4A z7wYV8Z>D_xbK48w?S8&czPoLd?|ye-+wa<)Xr!_;me47aWih{ruiHb5PMtH`{NH~I z`Ok=a^6}dANk=|uRz6-U|L&KMK3tbR>d1%djLMNypPp`hT6uC!eGBY5LJUo~l8IgwvtprTa(azC!LT;aU-7j}HD+g!ft~z|LiX*QPW$F%-)v>?ZDVQgwCrtGZX1(5UTDu5 z>2&1Q<#J0QHy3i#jpOO2LT((F9~UxR$d7i(4`<{Dg?zs)-z((1g?wjTzFo-fj(oE! z-XC_! zE7C+;HjXb(8&}B2)0Oej-ZZ{k#%C)VdOB&toLsrSny%a>>-|Tpugdyn+^j3)%Ufiue?=ObmbGh^rM0_djel*;GFj8CT)IRqS-m1%GA*lD z4X4#BWcBIFDi5}5SXRweMtfznS-E(PTr?oJbe$mX%)X$_ZIf$ORtsfiZ`S*>F+Eb@-6X7{S9=B fcgvze7N1(&dE%MH>%Xvni@vZe>o)A-MT`Cq-Uh0^ diff --git a/sources/include/tfpdf/font/unifont/DejaVuSerifCondensed-Bold.ttf b/sources/include/tfpdf/font/unifont/DejaVuSerifCondensed-Bold.ttf deleted file mode 100644 index 55adca4120afca034e63ec6eb825b55f2a4593ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316440 zcmeFacR*A}*9Sav@7)5sl-*@nqasbfiUkpSMI?%dh=|xg0Tl&NLB-yC*BFDw7&U;3 zCB_!xW9%AZFHsYF0b`mm#@P1m_nWzkE>Yk2Y47*_^X+)hY&8;rl~E!V24V?$T;z z#y@To(r_6es%;%R*Q%R#*{CC=c@*l$_svMos&;i&8+>0&h}(|7!?S&+{Zu%gkd8e- zV{KYizl@R@zaJu`6RMNh{gQ`e5e*XQGzZ`H{RZWxl^^(5IecG6#IF1LrzWR7YkF8F z;yT7p{r)I$&GN9~`vQEg+&?3GOti%50iaKBGxaz^S*^^JS@o=u3KYu4al*+;(4KS!j_QwSOD zku@|mYf=2dMnpQr`a2%?FzJya7lJ=x`8NxUzOQojiz|R}MuQVk?jHAppth^nFb zdW7mj^`S)6*Voqv9;RoP;z!AiRX2R%|=ArL&3W{5jwOF_aW|`V_V@$9DieU9l!S?ZY>kr_>f+$ zW8-jb+p;aL?|1HiYx|ao>>AsiU3p0qzjo*tg_3BF$97~jJGbx5uDm3!C8HC^?<&)h z$i|m=WF!wANXlmn%os>~?EEsWnfw`uL<^3~5jFo_j`xiUPthyS6Es;R*1D0eB>iM&L)@)Au0Uc&CJr=G&EjB=>GEmp@7 zFXaK{^n~gOtN+hj)e@wl6;=zMLt(E8*ND4tL%2ZhZRU5B%TLY1;_^!0k#5m0rmn80geOC0KNmj?hx1( zav$(3;4$F2GN=@zN%a6Dpd6qQpfaEupf;dB05*)a0z?9$0hr@75s(B(0}KKT1&n0! zk^b@O8p81q=^0AOUY|RZC^);Tw7w(0=Z$iuKD*YF!ugfa59N3WzlN4+@f9_C!httO zKL16${Q7c9L@0lk=xL#PwYpHfNxebktMEz1DXtWwv zjfbYZ#zzyVsiCQ>X`pGQ3D>mK#AxC*Jv4nZ{WY1IY|SXm1kE(f9L*xlGR;cOTFrXR z7R?UL9?b#GG0iE>1n)gICw*PhXSr@gAZt-Y`P zRr^@`+=)1;o%Bx71E+FMm7JghPS63T+D`SIF#b-hoFbi~o#LD@?oLTgX-*h(r=dz%ha?{MDZe8Bmb^C{;G&fh!VbS`%O+4+(4Q)gKx>6~@$I!|3iou96XE?8Gj z*GShw7om&N#p)7ty>uzMbX}HixNZy~x=Fejx_P=Kx;)(~UB0eJw^g@Gw^w&acU*Ty z_nq#l?zZl}?pNJo-E%$BtMz)lQD079NncrCOr%= zOL-R`mq3>qE_GcRxHNMKcWLJm;}Y-E!=;Z)f0s;`Y?o0k6I`ab%yC)dvdm?r%UYN9 zE?Zo7xa@H`;Bw66l*i|i`7I=i~Ndb(D0^>eM_8thunwUKKJ z*9g}r*I3sC*IuqEuIa8>uESl&xK47N;X2QCiEEzgD%X71BG;|1yIl9W9&$bIddBrT z*Q>6#UGKa8>iXFAxf^j)yXoDGZspu6xm9+n=2qLSzFQNwR&J4Q(Qa{WiEc@5X>Nnu zhPsV(8|OB~ZI;^tx20|?+*Z34x^03lvkd@!af80NL0{aUFK*Bmx66R*fV+SP0O*Yy z^u`T(<1PTS0O*c8bjKaK;||?%hwivTcif>n?$90gW`J-2^v6905D$P3xkHEC`vWoo z*?>`i34m#UIe3@L_mLzZE@w^%95Ng?oH2Z7xN5jf?tI5Mu-sEEnG}SQGH8n6bGliSlnPN=wrXHp~rv9c(Q?_Z8X@Y5* zX^v@;X_;xIX{~9!X^UxxX^-iE>6q!1>4NEd(@j&c>1Wd;(^He|A$d4^xO;edRP^xk zsNxaqQO~21M+=V#k0_5=j|7ii9w{E_9$6m4J;r!U@|fW<&tr*4p2sSWe2*fJtsc8P z_Ie!hIPP)A<2#S59=AR2d;IG0*yFjGnAK*z*=R0ju4Jxku4b-nu5WH)Ze@-%N1Nja zF((3&0BL|hfT4hqfN_8+fLVYA=B4Hp=GEpx^Ct5)^KSD#^AYn2^EvZn^L6uG^8@ok z^Aqz+Pr*~`>FVj>S>DsfGtje!XI;+*p3OYNJ==N4c*cA7@a*H+-!s!Q+jErX1kY)n zb37M$F7sUJxz=;N=N8W$o_jnGcpmdS<$1yLd(WGm#hyQVKJt9(DO)6qv&G%wX{l)O zvsAGJTk2UFSz1^kEK!zNOM<1BCB>3%$+8T$jIm6z%&^R}EV1NSR$1~bMV76WU6#F; zLzd%~GnVfxS1q?K_btC#9$TK5BZQPwm(!OsBFC3n6i)d022)i2kiT&r@C<)Y#1 z?ofTnuDF4U&I}iwIqt)8pTCz2*LeMFtX#OjaJre-smtqQZh^u8jt^is-Tb-^{fgu7 z$+4*Ok!l;ezOEx&;P;;9<)=B`nA2&@aet2cbDZ;OZ`WQf&u5(TI-GxD0mFp_tiG^~ zF#5u(CzUVfb6k_*En7osX#E-d7A7V`R^a{N<{S7g3~P?6!3^C0x(NS!{yr~%pW{xfoWkCKLLXkBHZ@OBkC;uS_m zyuxWJJa9TfKTf|NFVAN?f6gP;lo`jxoD)6^1Wr@YF5yFk!`FNY|6sWA z58eu&12?_*!qJ5kYmKG%c} z{N4^+N>w>tmE-o=%16PjfgD#x+?!ET__WVHhZ!U~&J+hLQN{u|Xtm?)77lVA4ssqG zW=feE>Zo;&v&^nVoX^d?zudwIj&#cL(PU!P)~lQ#d|__tb6&c=;G! zK8BYoy;J709cSfb>_a@OugqUMkmCb6KW!KfG?&vg3noU#ZZQ;Ft;i>e*J;PwZO8F(oQ|TOt9kiqR_?e43F}z7BruxvTV6*Qub%8) zk*_K5;!R~^^;I@TvlM4^9C2wWr@xfdk<6UtOkT%{-`kz{Wf#N6U967ipu@uVoPVY7 zds!V}FRwG2(;3Zh!J%J{b6@1vzSM4Os-xy5PK~c4irtgG^vYP9&wUFc%80X&Rv=ImU>EWcu@A4&g(nkmDNmd;lbm2o72C|aV~$Vcy|u+7uN7P zYj_>Uz9^cb(BW2H;2tC0t~!g+-!2q^{^txAK4&<6z{?-l@tdsVjq+2x&M990DaSu$ zxFB*mBF6(b9>D9k@j7lCw=kT1PQOO|aMfvcb*OWU-U(L={Rw`j_M5R*AZ5L ztLL2NbAGSFvqImI|Brc{k9nPK9N)(2a2^B;FCVFbgy~35^Q_7p_*qsimN0pWB}|@l z5ieiF@8zq8-E(%pMUG3gxcrq_Kab($vKo3$E_0gPVkn*={etTT*F8sE?5TQ)KGx*z z@|~38rz!K%?)f{=DfO?og&e?WipnmG+bDsr&SiF94&}ld-lo7kcG12g<9h4p2ipBK zro)cAC&wLu<4(}g>e5ZDU-lK>VGhy*Y)t6^CjZhMoE#6_&Kt)aJZHPD=KhbWBez}c z*+{A8^S(c1xHO03+y<8N!}{WA)07>e^c9y|5~ri%{oTuOWd#wGaqP~N>~!8)?yzqXqq$B-^Lw8$I%0W_^KyajI>rCF zd==+ep;L|bcNXv0EJjCA@qS@KKvtXCcu9z$pu8g2Nxt(H*YbAP^76yH{$YlzLRq;g zl;Pr8&gWT<+jW(mv?wwU%0^WchFH* zcF~8?DYN1$^c9a$S*Mga;@}Ajk-RNsE$hwk-HeV@g|CBEIB%OZoxmISqE!ufoj+M5 zf%f8kRIYr#Z};2VI+XKYMb3%iPC?{)C?+xb!Wu?XVD?-f$)qxA3M`!TB<0C8qUA~nQWS|MqKv$Wl$F;01YBu&U4NX@7Vbs^2E2Q`xxv?{Gi zTG5s`$!Sd^X*<$}M$sq|Nn>a%d7pNHt%;%uv>S=0Ni>Z@Id&9oDjW5Z*odZ5|hYjv5(l7oDm0!gUC5?Fns9q z;t+8txgchX+2lKMxHz0#5=V)n$YpViIEGvi$BX01_u@2hI{87IDb69+#QEZUa!Xt& zE+V(ZCE^ltS6nJCCHKTUF^?3BE5sF~MEpejgxnYN#RBr9xK7+aeiFBcTgb2C7vdM> zH*t@6kUSKRh{woN@r-zuybv#l7l>87Bwi-6Ztsm!YPXaiMkRc+c-6`~5E%~Y*at!Q&qiYkS+P`j$#XiN1Vbp~y% z*{s=2+h~5!{6Hf#w=}nDTg^|JpXmF#A-Yktoo*!LPQQx2|af0xaeg;i);-}<I=U3Ig{|bP0fm4~0Qi}7H((#& z2;caaI{+ZU94J_r^0T1PP=~*qS^M)jGR;%3mpIrrWUG|)U zyNA)4R3$8S{r}NN-iRkI2HF+?m=E}W^08r-fqovY0QRw6RdSARv?0CzUKRsqdH9{( z>%wdED}T~}eGTMTpyNG`v>nU;H@xh9>|5EA|Ly*N{de0=5(s$X^IvYajC9^;?7vW8 zt7}^e*lC;bc4B<|p#$vmce!GGOVd@`430bKhH?+T?;WywUE@E;m=@ZS->r-Pc?-NJ zEJ8}4)8Fu1xk3w=CfLi)vtN{tjpH`h`_k{W^R}z@Qipn_zrQQDb%ShOY&mFS?AzJ}PB@W8c__ zD5LVW-)!F~N%`&X_2j4a@;vmzZu#D%@_$#t<+PLOifun(5rH>8c1u&s{_9&Ug)+um zJ9nZVW$cxrhi{Pm4+?DF@3wqU9l+9xUU;eeC=iR96o{E8{qm-I{pf$ zrTjY7{f|+McU^!8d-8VMk8!lIzLd%ec#ffmVJo( zS`v1(OZeZU^H1MaDu;jihJUdlpG#$R?q8(vj_U16d;G$$TrdAG{9cDPUTe%d`1vms z+nS&iyFL0Zkb6y{Og~;1qcv`UOKq9sFaHS+s@%5!UAL6)e=q&_T7umQl>Y^v<=<(A zar*zoTKjfhZEkNb|MyD&8$KLX4eoKWarlqc+9t5OSc!4vmZEf>EA83e^;0e`{pFv{ zZQ?&$v$WnDZ8Ss#lBIWk{`EE-NwIZUK97~s__r0BSNfON8-aAjdkpS4rKyZ0kN_l+ z?{Fm&grp)>kkp75RK*)K)sVELCXy2gMskJ^SBvOK9V9&>3U!GK2|;p2jJ6(eLyR^Q zwCf`o5TgwvM#N|v5EGY=2V%61@cv3;Bu~U>n-B})yiF0Icps@8-j|3b?~z!f@}vt= z1=0=gPgEq`k-SI`q)H?M$(xKt@+OlI85VeCSWRXkNqDB$nrid}fD z*o7=dtk^_8L9&olNWOS$U@O|%hBpVw^XPGT@-_@6Z4j>8S5R!m5HICqV z3`xQp2FGzdfh3VrND|&RI0NaOLsF5eNNREuNlRWJ>4*(UM+GVne=1UuRHjbU3D3}b zP!FP}p45}LQwz0_3bZ^e54-}c0NjWA5Ciq2ez*qGKoUS})7p5?su68OEVMaoP9$NB zFopzb`f2(Rsu`>q41Abo7zxtkXmUsu&0Nhq$Vz~$@Tf9IosGSK(J^4uz0g02>w$`E zfSQlDhL5+FkFFCROJ_coIzE5(1vS#DzL86e% zq$83iA6*k4T?^h1ipQvTMe-mCNbh01yI~{}kt*=O?@D~U)qHfF z_~<(E(beBk*lVeq=k6iR^$j z_;GFUCto2|CVPDc2)Z{dhkz7OyB$to^$rYqP@&i&JxrSuITS3<`51A%u@D|H$T<;=js4Lz! z(oi?*Mgpljbq8*s2H-|&1dixCaHd;M)Qt0wAg)^$`W}6cRN=a1;kxBaeW@=g$2H8E z`cr@4m1$*Cl?KoN;=y%JM}ue(@anWW?yX5{;#!N=!jYE z)+g0y7!4!UX#?7T)SwM%L*Ptn-RWnD%?I)m6b;=-Hv->;Xt;)M#`#hpy-Kg5^=tGR zT6~Dew}$>se@FRa`WSTnq<@m?sz<6vq?+mv)gQngs~!XYQ^m@k;O(Sps=ri!k?QIc zbqcA$=R-|RmL`h?YldiskXn3h)W#bp*`yAiA+`7n@zOWYH-sKi(hu{aGHhZXY+)7H zz-pKc!LWICFdsr-<3ceb!Y~sWVg@vZ<~N0oM?aBI~adYb`#okS+%ZLg`Abu*x= zv&d{R2exSuY|;|)0p0-n5OygKI=g~=46F1BtkG8J;C5)=PUzom=-EDK*#YR)5$Moy zXw4~DmvgWxH(^a|up=VuhX?G21@?m32|tWgZAiGeFb1|@F#4Ipdq%NLI73^8mU&Mv zn7^l&#NX4)h7G_6F>w_#_MV;yEh~Lj&xgOO=kvzztiJkHeHHF_8H_qWLzHtt3@r~ne@r~ne@n!P2_%h$hQ)wS0a8#B@ zHA=L}$%C><-M)P@vPgrJK?C}cX1FAiaDI)#o1KG5EWaiUV>Ns69)c3&!akJCh)Ia` zmLg|Y_8XHMyQ;B9dcv*-LTl=iX0V3QuyeiavWija3ODWfU4@QtU&%%Ldxc^Pg|gVo zp7&Ski&O0RCbZ^3l6V3qLbfmstqWN3qDTi|zat4kHK7{b^Xx73#wx+y7ggbHyql!F z*ir0ADv4Xgt;Ad0CT=4>{0z)j^@-{e5~OabZVJs8V3FB5tjMjn$oEqsr%t&o7op>L zn-*I9DXwgl6uA`?x&0HlV3xy=*#Dk<_+QY06UM7*Q-9j=#=MDjh7$X8F1 zTRsu`j(1hLG7gR+= zs-YTO*~%+YJ>L8ixg8a`1r@pN6uH$D`HC#ka@Qi`++t%8zjI5iY$4O#=&U>b}ovy>vOOY7oVkJiJL*+`LFM-j8OG4Q4o(&lTr zh;!q5F1*AM6ixUQvZab>5{BDba@{hmUS z+?tBqj*8rZid-is*9ppXLf|?faGjuBCn(nm<;`G$>jdRG!Sr0wdZz14=bd;7n+3`Y zAn|rlNmEiAcR6ETC~wkw>d|NDR!7)f0oO2G-$yM8<@gQ^-%(1r zE;?gI;r&qJs&B;aiqbd0_b6V!ksT|o&uThzTQ0G8nBiYAs!i;efHVA-C}A9dTRqNI zk=g+;#wc~i>}92b{)YZ9U{CRjNZLVLazUXyan_&JpT_%YXY?2K-{HLYlKwp2j;45> zZBtp|C+H5;o(GitzpZpwIMI1YiC4`m1;{fPK5B$N4UPVYBsjL5ET4 zjS<)?Zc}}N*+(T4&RQXBoSJ_Gqf$x9#Y-ejFk+gkwQ7}Gg~zn-616Rs{QkmOB0d-o z5|h>@1(=V`ruL9MXr5*=y^}<+zLb8Lb!0ZH27u9@11|7!f!=To8VlL6a!HkhmgDfV z2JbNwGEVpsZ4mr1+snI+ zcL(pT-rc;rd-wDn>%GnUkoS4-AH09_e(Wv#1o|}cY39?)=Y5}!KAnBK`lR>_@tNnd z!YALS$Y-<9=RVtgzVsD+oqXMVJ$?OrgM6#|hWobno$5Q&kN8P`PJVhnv!9P&O~0mo zt^FeXy7(pgrTR_x+w6DPU+~xY8~oq%_w^6(ui`(}f0O^|%KkX?YZBNtuwUTdpihI2 z1lwu77QpDQ!u??Zo$F=+vC8;Rh}Gva`wrE7i!tfX2t5sK0aiX@Re{xI3b*YR4)rR zAyx89s#$o_V+y1?Ph2BDl=?{NQkFDFS|F{I)=RskebQ0sTj{jQT~%IHN7YT0teWY* z%KeNN@fyLUy4>qfCAhxc<-C2oBfVqnQtjdK`W=v&RVC8QeTJJWZ8pWvtV)A_miS^WI{8u+z>RAc;- z{8IcT`OV={)%v^pm-F|rOLaMuYQTiR27%23lL7}os)r%f`#}#ORXwCiY9!U@Tccl% zoEo_`#=z++7wiYAhUdrR#}#M`Dij13L=?0uh%V?~FuGtu!R&$s19!uWL|eQq7SaAj zwg$HPwtBYOwqRQgTQ!@9&0V(2FXZR)vp??s@qNjqk`pDzOZJx(l@yi?Ey*kyRFYoO zza*_BwIrpaZ%Ln$q>|nxy-IqNbT8>vl2FpMB(9`$NlZz{lIW5SCGARDmozJBQqs7j zZb{9O>Lt}ms+0s2UoE~=e7^W(@qyy6i~mtvSiHJ;W%2Uj4~mx*FD_nGyr6h~@!aCc z#p8=d7iSlz7xyoYDvm4;x%bz-NB4fccmLk)dpGV~yEpURpnFkwpWXTRPTHN6J5hJq z-!6aauUpq|UAlGlR@$wITY)#@Zy0X4-*CO*azlSZcYXG?kFG7aHY0Ud>cG?iDPN{+ zPuZNZE~Oylvy{0hV^VTchNonw;6>hYI`d$2in)&=%(a=m3%3hgS^xjbe^CPLxox8L zu~RHU&Tu?6#O?DcSotr3v!`{w0_+Ej0UQA!vL;LhoB*5zOb46+Al4?#1bk4pNmfGLY5-5XBbJ7il*Daum^TiP1U)oV9rr z02<<-$iD@g0R9*9(*VXJ08c{`6=LsFW#r`nUcjp%uLHnSRZ=kWZUFEvVWm_-J}Qif z)Ezm-Lp2NdBs_()3UC-WWaEAY@Dez91Uce`K1!F6LzZ46aSz79YqSEYHpr(cpo&0_ zzIuI)I&G1oA70Q0)gS@~3Gf2=Q2dP=;NIX_or%000F9{8uD1^W^wi+VI}*?V_!i_b zfUdytl$SU9!a%(jIr_jrjrP2IDxltn9DVg3i}L-*CjhnqzlogP51uq=+Z(#-4V~0f zMvn3D{sB17V!W>begobB`6Iw%;5f1IegcqzM=MjoClEMz@`0><8UY`Nya}Kg@cGDF zDWF+|JRI;o$`>OCEg$Hv<|E{t0G)xaM9yddG@l{||2`?eS0hgc3;|w|Q$TYUIppCRggW<-Lngk}ftMg}2|)ifKO#rp8EAe%jxqIx z-e`VBK2rg0W#s4=$P#S;aseO#Uy57}08d)T%})o=1OFH~`0~SeYCl140r&uiJpB9t zHGxA`ei%!?rog{K-U`qf_Z+hg}|W$1<;!U8*sJqXMrB0 zZ9U}r7`nkgA413zj1dF;g)H*qtO9sem^^`AGQeNULP!n(8rZMG4+XdZZw6l!ZQHEC z@s|itm0kcneP=?yD+JsEKAq4@#{u60-;ewh;1ckI_*+QMAVk10{+0Q#ow4#M&CC4k z@I|?k#i~@;J0tpq3E_-gryge_t~d>FM||9f7_$fB^PV^rDTg?BdBol;Vo_pS2Oq@7 z{fPhH;-PTV?J?2X|3g%?8EH;hkd_3`+mmq8263>qBoaIPc8DagU2in@_%Zl{ZLv6y zibM1?o^(aTiJkbc7-~;M%zBd~ybC}OL!FKo>TJYLmmyZV2C@CM_`6S^kpe{XHz1bJ zV)&cMCbETmPQE}4bsLZ2??lx8D;Blaj37fv3P~jcG`VCXqE%UBAnfUIk`C)LgXC#9 zl405t+LMUH)# zh**(Xldc(vXlpiNu36+ur+#EVZKPSOxx%8aEUK&-NpcZ;&e2RkM0gJ3!gCQ1o=+B# zg=8L&1rx-CSsZvd`9qj2EFwdMdBS{Q0U0GM78VLqAOV30bTqpnC6OnH_NNofRD6ra zFFj}*(`Bd|4H-5ChmTM`k=;kV=|m*hB7F9u1XhM&C@%sPf-x9^o-Si` z$x*3?lqQXq(r6z#o6bhbHTIiS6R9fdP6Uj`Z+#ffB3862{>oW6qUEbm@&v!G7OUtE)46R>LPlTLvnH7MV=nwdkV=_T~vDr zPtdPO{HB(Y$URUWLWWRh8X|_ks}w*x7aD?I(e*?S)8R`cAqDXijis;F0SWSBEH0X7oju_{4?3Sr`k{AHSMUc+LhMQjA!u>wHKKv zq#=G9PGCnp$PTqi5(P?X__%Ko0^U#A(xOv>&#`X4HEaCstBN_#i9*F&TUf0lo&`9^ywYPYEZi_2i`**Qbw$s@b>-zM|Pb^g&8QL~3e8M2bK=4IH~VIx8!>V^)@G(#sutnLY_* zv$$R~;C|i~HTa`7e*>L*QAoy^S}zLK8K554TGbrYUetrtr~YDyj)s^poMuFD0RAR_ z2BE$j#Jpdd{~8qkOV^`apUIb+Q6is>KZ>u%;$P69<}$4vFZP#z1&pT?39a0sPQ87UnFbfi&DDU0!vmM=Qt$H5K@UYriNe|TCYC77%EYV!9SP=0YQH?U^2DsmdL$!tS3-u{%&bR;@1D=-`z;NQ>K4^4qkFG}&TCY+ZlgvaA&rW5 z>?qo>bEkMS@8z!L;_0I8+u7F*jq8T6pH;JG=NHVGQ;KNV$HLM z4xc}N_|Vyu(qH+Qz7O7dgSTLudf{j;$d&s05GFS+J!l9Qoj+p(f8~cZqhT00v%f3V zSV966A)*)R-g2j5iB~4dkL1%U@`Hn)-fXpXaJGB@5cKt|{r%QdAeL67s}I<6#6~o{lb?D4O3`+qrqJW3Y8eGUh~F| zorfTQRr!Lve`FHPWiOP`+@z6H@@P8sx8>^#S3aUMH8g6ALHi7&qjlLp1a3}PVvA>YEv<$|buCHZ#3_jD)ScKv%fQhxvY9Gs4fKw2PY z$up6L@c!Pyn$RBf;Zuc#h8R?#uz?|F>r44Q?L;eDbERFoKDhmSCKgpn;6qC6y=3^L zCVxXS8sZ}{n?QYWqi<+fWg{jenEPW;=A}%W9eA(2AOzmxB!-yWUeJZH?z50=kwQftc8u{r5uTryPa{r&fEn_lSU zed6=8H>y;jk@G%Sw|w=Mku#=`pFWX!5be>oooL&YX;UK6 zAh}y>H(Au_DfN+W%GS&)!w0FykC`%I?D#eVgA-L35n|mHQcwQz;bZw>m1;C%@q)w0 zj~;H`O1Q(;lWerJ3jDrDu*-mH38`yDGq68QDPCJ16StCR4;GUiX|%A*>7V4k9?QST zcVXr0clt6t!*gukRSS;w?AWnqkB%M1oO<=-#}EFJ|DZ!?8vT%dQmK;sG;P4+7iTwL zzPyTdoC8 zmErWMTxupOE5j^u%~8y{$pII;ttyc3%TJL?3O|`Umy*YSP%`&)c;~p*t>fZa`^TmA zkL}zqEl#Z9b>g#ASFfJ>?1We4b(8iUJGOVyIvTWc#E6w2=j4F5S+jP2ITt$}$gVGV znh)9Oxa=HO2@@>1pAcG)geY=+J!nEUq|*aZ8q|1UmyVA4k_3}Jm~w_ruD=)6qr ze0o;GEqM>#9)z82rHYWSv%+`^W<08*YV&fwION4RX_9ze-Xw4Njh?wpPjlHFq%~C$ zIB!#YCT3It2c=1@@{4hT`yF9D^s@|2Qz)La38lOe-q}6>P_A=ZuKgRu_E#VyYr7)v@DpG6(h@sLd!fsj6;% ze%DSO|Iv7oR{kdutc6rz(Gv7s-7qBH}Ht>PaNw#QX?kk>6 zFbdTgwP5xzTDa{Av#@%Vg94!=#<2QKcP*Yqvpb&Pk#e)Tcgx7=);+7r#F(PPhl^q+ zRyjOzPT#cHo8xl6?J|B=*O=rNi!x943>o%p(kA)p(4oVJ4;@AWzg$H%{YH+E@7OBR zr%@9>-n?YVmgUnTqaL0=|65esvDWfI54OyIkQ5yk(I#Eqb$Ge_OX`SG;jMec#f=*` zhPL0gkG2~-ZcK8Y!SdZr^3U=K^wah`e8>%$pKjR068}&X3$1lt0<-K=@FaKcSC&MRh$S+twF;}{iyX(uTD?H3c)?Pm+ zrj4CAY4{7TWuL5C$;OA04z@e0UeE=^Xt19twPljsi(=jgS_xD243&SmFK>`@um$Tf zf=Ua9`hU6X@ZP;grmqjA>q~CZPiZQQ*QYI7$_w{=C4Vh{fwV8bkm~^J)9>7NnW1m6 zn($JpQ)chcHD%TdJ;$CqbnyIG>$9RFVJl6C$2>v)Fc*(4w54rmb%+W5U`6r=@_5EK zqv;KrmRB-j#IS&HqCAIKq+MgI-_oSfqvcgX#Ar@q)g{??ul40#>)K25DzIm#r2;K* z$JS#;$B|ZunNiv_+WH;s0!kasm!-3WuhUG9A3%qk2v94g- zcSR2PnfbprB|&Vc`bo%Q!k2Pv>;Tu5(-u{Q39x_>&T?CshA%B2VAbg*8_ zWnDhIZ^d@sWpn2)h5RVVg->%B{YA8b@8K27wJ`rf>+yAp?c$a7&fD&U`Bk1bw8DX+ z*^Bxv|K{*2>h#-iVw*X%!j?5tXY|@}{HsFvUB6A1Uq;eCh55sWCZ<#mYjAYe^}lM= zkay(G@0Zpyxn5YktNU;Ngs=f+b5Hd?`s{{t6gJ;WEdY8=P#Guw$#XCV#T=FYbE?4;18*|4#mHk6iTe4);cd}}{FnkgQ zG;@{eBD9@Rd+9G;%f-FF;jE+v?nR$`{h5brzt8p<2teBL6($8Y~k#G+&02WbWqlsP>Q`^3MGF5wwe0FLi zlZC^6*97SvrQaWugV=soy_m~t5@<|PXkZV8p7@6flVq}QpW5T;^^xkjBSB-gSct#- zbdme4ln)ZN^|$xQ!{y=o=#PkNoTrWD!$M8op6n&&$v?1tI>r1G^IoROKk&F5CF7)D zg}&-E{+r34(oy#p%UjfG@(c=AF_+t8UQLj~5sAgAhcbVe56FDQ#&#D{;~$Fsmyah6 zedSMzf6bH|HecR%@yECC6lM-f>gSmjzcY=}U*!WMyCp@mZI>v_wf>wtJuYVRnlH9C zpE$Z}-+O+37p&JW4oXc;8H9GLq1~?`18g1HjK&!9y(Dv2(0UNMK}%y`tko}O(qmO- zrk?oerxU3&tH=%Lu`Wq{Vq*Fvb;(uvkF?I|+)2KOr*>Y*7dmyGo=ekq=Wn@pZ*%@` zE^pRHcl43@UFaM)lVze;Y(|Dj?*8X@*a!jx<|ip92Bf+UO`AF-b4*f>o<{BX0`pEs zwX{mLYVwuolaKxN`{@Y~pd!EP=!c&5qm0k3VhYb>skkRBSQhFlTH<^6jp@{rJ*{Da03 z+EY76Wp7^({d8shQeNAlEYc^AL4Q~aibeH;dr<1;z}dEMBE&JNn($_kEgnAHWt})< z-n?%QcUTmma*mD~HgRU|%WrdY#n9ZTpYJr8n2h9x(sl6djq@Yum=f-=J2Fk#h`bUJ ztdG(!djM35mv70>lMeMubsd|%B=@zr=ux?0sU*csFOzQm>FX;GNc;F`uA|_l=gN6@ zk>aoIu)e8`=o`*%OMOokSnxF4mn~((gfGo!%%dk8F3I}zvzgXI+0CMo60^CQjqM$G z{-pIH3{>d!0UvLW{h2WlaNb3P`Jk&~UajLkRoRxXabK7EKHKrWpGtequzo&c20f~Z z>oj<9r;dX&U*vFMVP7*sZYW5c4m?{&I&9@Ia91xVRN1M8u1aYak;(`LfYzCB>yK)c zCWJO_RgaO)iUC=9eeR1MYYIF}w`okUZ`a_odSGSQ&0x#dA6LWK)SodQmH9A4QhVCnLdH=Bn1iW$p1hu`R zxw-64dp%7y^q@Aryj}3j7`_?>yC-4hRi)momiJ$~W~TMXu(0-BdJeT-8`|Lgc;rVJ zvtbMR<}4C()00o1Wy3?C9PPhwniY2cH3ofL+B3dysT_>pKfc!05b9 z4eYjH3h1&}{_9vKRM}#mmuz+l{ZnE)rKWZ6oMvUAOskc8%QxfpVTC1M@0aBRL*PcK z@wj?b`I7t$F|vzH#;})iy!16_>k(&ym3Od>0T@Qkf2r+Mw3$9CwUF}uGRAYU^|P5m zBuovrklfU~ww-b$Uu)T%jpuXLlecG|Api4Jong&i{H_`L0=oyg>wlP=p|Cs5MwCPE zN?kd7tEK((6tAbLBHQ#IxzRdj#v*z)I4`SWj1(dt?9%zfb{YN+hUOoG2SN)W%Z`Y< z90a|$`HMUXQrd`zr{XWNv#$6wm+9Hb{aW^({K3@Ax4L|tlcpV=ot)CB{iHn$N*;GR z=1r@P7~4LgMMU|4svk|-xX#;Gew>lnrd9oB=77)@v$t))yhYnM(-GU_f7gN*VCJ&T zA&Vn9Sn0sfowH|S3OLJ8s?=)~CQQ@L-FSG8xG9&mlXv7=b7qIfC$5?}b0=uAbyAjs z*qn7-o%w>PC;?C@2WyF+A!rJ$Fwik=G9bFGVy3|v`6;rdY9b@)9!K@WbT zuQK;5C>f>8<&6V`fb2)VkEQ(v%NxN?t~E(m1-~(t=^*#N)Css3ek0yIV#5O0QCI3e zR-oeTE8E7>v?211AHF^Dy?njDP-)2L-$_B%#zGXMBIH@qIMw~aE+!{@Bt{SWYN|NL zqGE?|Cdl>?aGqEj!t`~+Y0mh^)N8!;lhNC@O^}Drl;vLr3X$1DKGnieoGM2^y~@e= zah*%yIx75@VBP5f`dG_UOmzcGt!Hyurt3oU>ZAJC7}O$7XxgN4WMx;mcRwL$=pT2+ z(|*|xbNYCiuhS0g+V%~Q;D}mh3$WLmK4}4+y#o4g_>e7y0J-l#akTY&`qjW(vEdF{ zeZrc<|% zr}84fd^Ag%D?baTO zjY|u@w>O|UzJ@9ujOc3$4KWMN5pG2oIwDn&HxC%As)HCbPPT_UpD4D22Q82VI6sb8 zMZph893{ZOPlf|hb&!bjbrI|vr9^)oY`;pD{qSw`r>^fZ^giLt$$ zdx-3mG4V1A4R?<~$` z-`#Rc!WKqlal~rLjhWPEkg8kMfF87|e2|VB{ZhMW)24@iHCi)B+L}D*gU#~eTqb(6?~XREm=hW4)?{7937e+-Q(;#v2wChEqc3D~DNlNK~z{XxKTh zU!V{bJ8W2N?64tOduHsZP@!V^J+pS#NDiyhr{1oadn%MKUt!Ojuc{_BsMm+)kMGfA z{P-R{$K{>QI~zQ(Me{+yCs&@Y&qu7{bsZ<H z3w0aVnu>EU9-(-$32X4*0uFql+MTplM|nzs;`NESaw_f(+s_X7#h`(zUR~dhtsqa9 zMfNEi)_+O$TH_OEF0*((OpI;UhL!d$9NKSDjo^vhW_)C^7WqckY?{_6!M|g*CTZ;b zs&T5SVg+@y;-fhFn2u)?<2%-`-yu4*en+|pSVsn`Jx$`{n>6W~(3s_o6A~aX8F8Rc zJnLhD{7ex2g^?JYOpn<(w zC74wwGcz*e=XuNI7a19uz^Q6k9#sR+>)JK`^ypEibbLa*)i8U`qa(+E z4+y%^D}CpupKkBb4dX46`t+%ojPVw+x5Lf_`+XiJRd#i6?vU$xim!LbX~HRMU14#5 zc|&k^hs=@dH;(JlrAYDVccg(j_@jd-<}QDAimn@0Gt^ zLMIl|iLX%H0Q>3<`#K#@ny@o`gspK*b?Rl5INiF8PQ~xiS9u;~O>ofg}Y9PJmU*DKm|C<3`p>-`CblIRW-Q>$n+IHyBwn^uI zQWJzny3neZV&(Aa^1awtVRCF{?`~<8BU`tQq|5##ZD4a9f4N;1BmAh=W9<33e=dYs zzftS=a67O{Oc9={WSpd92f?(S9TqVihgrnpQs%jwlZ`X0SFcf{YW1w9z&K55g~C&vl3_+8D;Qju|`U=?;F( zD6D(+h{v5fDoM_}E9cR)yLfJm@!kP%Ant?S!mol`#qBrvb7SExxK+yh!vec5uEmVV zHQV~ky-ITut#fk<6Wh0H&`~8F^e|5t8apv@cGB~yaiiz-jO*Q5kx3_Eg>W5o;kWST z7uc{Xs{;3}UKu^d=NH^)O2=u9Ru}Z@F(_--_Q(a1@tO{8JH{o%22^}MI-+IcNW2&L zjmcv`N@Op0_rX0!jW&B8i|H628`Cu|yhZbf_gio`k~QKQ}F*BB8=g#(JU5& z5Mxz-uYli`@*t($T|=^2ZT#Npjr((6-wz&Ru}|BN{_B`;=ja>0TA9KiLcVmdMJYs- zN}a`5XY*r+XAbH!&}qVa9+Mx{mYLQE}All@v59zYX%wvnP=m!(Vvy3(44oF zpMFRAxiaO0U(q>JrhM|N@>8swi1v0f(8oZw7j_J)QkkT`L^X6lL zm^UAb^=vGZb8d(7)6(0^&y^`>GFRxFdR;C$b2{)E7=3X}Dg83#r{7V2u1qxHwf!#SZV!s%usgwUju6gZ zGh5lRvagP@x7W`<24T_Tc1fJ5j!*5AAUB-x^3gAk%6ZJ5U$uS5PZDl^6S*=mL!Zzk zyvq`kb4-s;3#7wi`i_|XA~9DIzBzOLUiWTQS~qPzVdbDz+wfqTFtATT`X0}p=;)1~ZTq}=_O!0aIK%5;?R+J3$dIHgCNFs~J6A)0BDfq!jeRZ0mR!CF!Z7*1 zqkQ<=%Z15h%9$J$I_dUucQ_dHIsHEr`U{nI**Q#+L-}xfIeZ~u>+5o1vb~(qDN-}~ z3Y~OT4*SaVU<%@7mDuZVlv@Lwtg*)?;p^jF0Tqjm1cl+jhX9LRv6WD4y+AQ=-FEqw z^{IT7djAj@9b{@$UA|TGMewY|_r{%%rB$oR*Q$kAOzF}kB_-BV)$jv3<1QXn{e}iS zE~deHee=wEAEZnUY-Y(cydRd=&wAKo{QBO5y?cHh_%*Wwn5RZH)3;9Ow+3$v9eAa; zQ+WRnsKq+h8gCSp>a%0{@VA%aopQ(ej6SCW`i|vHP73{WRt~*ANJiti%9%WtP=V?@4x7}lU;#|B{?OLMsmd!SN$+%zGfX|sd`Ya%Yq@I~;w%V^iM zhRTLZ5f-kxHo)n*g-hMQ94cr1}^J7A+>EZC_h3sTX~X%DwfZTiL;Tw^2p#6E1? zRKEE#r7$utYDwe9IBn^_zU7C}bQPVLnDF&a^0jW=_WV4TY9qfM&Q4nD)Gdl%(|&&r zJAJ8Jr!bz$kjLM-Y!mFV-NI%2_wwO*3+*lSAzR0CCPRfzx>9cAF=|e~2iN7{QHl=o z^B&mFH_v;xx5Q0@{j6Ns=lqlBJpvwbD|1@TPJG~pDts{h6h6`!AFuq=822E&dG(Zr z8`aEzePt`l!}lK2*cGL)qz?7Rx(DGe5By0Z|5iWLJy4i85dW|D>-zA~@GK|lFJ$ki zy{-@2g69%=c`z?W3uu==L&?`L?$hZ{OTX|nlFeCnE=OjIGbg&(%o{?7S_R>OBXFI_6- zU+u5<0G+nH{G=wzRs?>qL@-|uR&)^rtk|aCxn3}D9@|1?9mW3S&F2jeHw|TRQ$%du z`P>1XDDuZHI4|$rPag!0>^bt{NbsWg&5AA*b6tSnYnNq9b$PBM6A9A>*y~sI2SSz? znP-f0$NF3s#xlvHwnKeI_HWjYhVINSTOYdPtLTm}o{yoOK6D4qNpRhPl>f%h5Xczy zxaArUJO$OI`(DBuZ|G_?vT-(_GJJQh`N zPu1_$=J^UgSnH3~@~*mL)z!!7cU=Q4w88;aE_iG4$O!F!pLhhP@bG$?n6xIuQ3hj8aq{sDzz^hFg2}{5Qh<5A) z`U^ZqGy~B*wZ9(yH|YHd&l`t2wO7AkA79{kv+;2{(k8vY^XB988RYv5e89M_dTHZm zb>39yfA$I*kfXLkX-jab@HEMR9|}28_;W}bp!aG;QlL%O<>+?-gShxUFVru^JrVP{ zA&LtN*l~g0^A) za1P_PfCDz9?+w#%-WTO_Y%bu4QsKaPY}eYyh;~p{+Fu?+e#`>CY5||tpU0423$@FA zM7!3X#;5)+7xb=;GaSd4U!eXj7nG}whtS^CpHqLQYT4cCaI^l$s6XPH-*P&j_Q$@! zHn04Jd+4R!3xhetP24`W5Fee8pvE0M1rs(z`2#E_m2Z&TvHSyzEB8qc!MZi*t;#>G zi-pTI#xh{dm+)S=*>MC66AkAEi=NaPK02$`B)-0ion4!B8lF0mXUXIh(vm9c`(r1s zpuGX72_1mgOP#;iv+lON1TPv7*ylRcHeLek=t=!~4EbY=y?jsXnbx1j=-_iB+LwuT zt-lzb-cR%+nyhnHWnRJS5=}-w2bv5kg#H)O`AG{uM7vWSvc?Krf)03&?l+?BDlIX3 z#V3Ftb?=}m_RN-8&0T_?OoJYIYrRsRs%76~jv2M_{G~5`8?bdyRd)KYj1kjo)A}4B z2jp#IBf9W!`7aF<;6xuJeCp-$Tc;M!=ighS;Y%UzP95Yny!^H~HM-T@4A|t-luFJ@ zf^=Ov7hj{fY^nZbHou~VE9A6wjeNG`2+hk3`>N_(1WiKCLZV4AV!u^cMSXj>i?7}x{8U}|bfh)0 z+5KYgQtBzbvv2%<^H-(j&Zy&mj#~H7L+eKV_KLE3f%PgIfM}0nQg@0Q;b$O!p5bS! zHeUf!~GF{^v&Rj7xM~#sb=ut)d3!<{Z$@l zw7?6;{$;p_%X$zNp|{!}ychiRF)#X&&J{UeX`EcVdGNhfo!>+255E1h;D<$j z@WW-|{;Tj1{Gz|KT+7tCK}ZJ^08PGNuuVDmf`P?phLyb_)WzC;!dm!+tyyF94C6n+|48!< zv%)lmeN}aXg0~?pANB(}KeVgzX(8}s6G@tAhumrJuhNn2f{r-$SLw(ZK}Q_>3p#R- z@l`r<*Z9sA*jJ1TysKwd*$6v4#PeWWYIoYxc-#&TjsMX-##iZ1v+;Q`#Z%bF-^eC5 z-lXw?7rhj-ef*6Qs2g~dUn$nXFdO5)r~8yGz&<3~+V#U#9)JMEh+BG?y@O>!thLr5kpLjF$10KCYI#s{}X;o=#cF%fIf70*CpESE?VE*j=9|4>n zDzn)J%;4DH9rJETe*>+=DmL|}dyjqsugk@}>iBeT&=b7nawv^7UR(HegV(b2iZ)+v z)%U`n_mcDu&fLPkJ1`JT0iGt|%KgotoaB@RG@j%XjC)J|`;@an`0uNdf{k}~Z{fx- zqWZm#tY1%l?qJ{l#h2g4#{WtF{MNr6y!qKV^5&NtgK(cI?xi!VS$NTy5guY*o(8=^ z`&&3R<9)}y#rqE_A_2BjGo0A$5u8ktX5Ff)DJa}~ZrZd5xA0f2UIz}Rq&_>~!=dc- z-0cIhvodV~ox00K#m80*8su3ue%F_iC*y4zG3q!g%ZPBZZcIsCvb0AJHM|q&2P&mI z1-hh{r;Gie`$zlJo~#TE`7sC*S8{9vY)mj1pK5hfaR8ChYNUr9Ltwag)n9{qk`%dtv3urM9KHaYrKY6@&i@ex^WJ|YTtPE)iW!fG%MlXUFF4y zW#7h&d-q{8PP_zb^g#UATZGlBbLdy;UnEIF#O|6y-CPsm3HyA+IePnenXrMv$YBx= zj0Qc$^I~Uh0llZsoH>nv-lcH~?Q?R9;%oYpcJ%Mr$1>YAx@ha^;$p=24jn22eBZr9 z0lx2E3T*4XC?kWIK~wOU8U*`}8U6SUYZ-qnKYt&s8@!(`MR!p6)5EA`5(~!>TjGfG zZGxy1@J$1WGPMYx5bZK~iY?q_eCgzgqbY=-lOI9|O4}tRm90ojN=R5xlH7x$Uq+6w zg}->k?JUT*K{N-UFn#+>nDEbU6DRfVT_xxeBpye7mAJ1IkL=|X2#}2gqCtO;OX`NZ zfjDJJ(!(aU_~fhnLF=HVYq{{f@o)xve<89)h`8jFuQ}Ys+q<@Gq0r^cTR@kzdx%&c z&?VumK~Fdy?m#nqa|qArzaFTE5y9vxdXjso{E~Izd|d|woO<%7w``pzNlTw;<+A97 zc}v?J9-Kc!UvN~HgV&v+PbW|Qa@Tk!RR&4S-RdD#=H~8rEJuOf2y-{T^K_r+w!5l3 z&Q!$-ofB?5a7WxlmBEny6WOJBTv&K`*tp^@k?c$@oK(WoGbUW9oIAJj!i0?UaGp0^ z{)$v|xc0+%{BT@*W!~*C5GNECzGaKldh?dBaKs7iV}XDpn>#BMhaj>Eg@8P^XDW%Y z#EQEg8m8evxyy5<;HWjaroH1>3sjgkC@E#@8k~^CWs~XpD zsNcYD)z{Y-@^htK!otGOcL~oAA5*_SL!a8Vt?%VvuXe_6(f+34yEbo@TsCjnvKe~y zTMvwopDQWhPQ@i9V_Cx~>{YXv@^InUE_MRvr0xivnXdDl#0646zN4mwl~~U&P@YFH zZ^=he(JPYj3cK|m)hb8?<_i_b`;8-(IsbA;<7y# zU$+`0;q;l;P9Y5h!g}GWUX(v__kn^TFut{2vm-x$|97)yzIzFjVaq%3P+;%S$N6_F zpLl$|SOaL>JMbSNO>9#*f$Addz}`6|13_{DWy|!o3$|`uxZ-A1kB04a2j@MZKN8+} z8L^$8KfkAb3j!h&=Uve~$uHL|S+#6gZPnpNAKSk=X~tVu-hJvLzfSvBJ$KTC=^DpE z-laJDK=748B;2Z4W)?3CiT5^N3LNdG2Oh2*>C<^wP%v|htzR~i7pDKTp>wP3?6(mt z-XvkA^IPTc7jGQQYXr{#$(#`ZQSn)g2g8#qUM)LH;Q_(iU@0`rMu3>aTKk()G6Mr| z-YhFSJuow?f2kz3_76gnasB$T($fR8vJf-YzHL%KXmS$8jai;48r7<`$2X!WDS3%} z5uC@UqSme85+&%o{wQcLp=e#T95Qly(IyD0XeZUmtKJzZ;qBx{gg2~s z%z<~ujU7G4mL6csgGdh`$n?k$GIiUxr#KMbGs8zb@+hSWcj+;#&q2pLF<5)THLD^!vIB$o=6aL^6?I#1RKSC@E)l&<|gw!!fqep4>0SK$B=4j zQ|}(^Oa8Sav0$dOYl8&wyQWU1K-j5Mtv9Ul%KA5tvQ2!+@-4EorIPj}vC(Qs2A=_W zk9j8G_KIg*oQhzJ#13>|8ZEL#IMLpassg-|Qdc)BF)=jCzv9u+W4c8S$sRkdoF{e; z%qi&>Sz$eGi-a4J&qjX5X3l)^@seu)$lgnquAer3d{&w%m=&`jt1NMYaw#0n79}@j z@&)ydiyQ~8fQ^m=mzvNNArIIH_^Ca2&=frMxueGEEKg~J010ISipl&=&o2eAkFmkU&xdeNnw)00K~l zUTyJQ8}zzB-p`ilK!l|uZ$Z++#oaP`;Wg}-G)5Q4N7<4dkW#3cG9k>9fTY(32ZzdF zb~HUE&HyitNAsr_56s;WcEsqNoj4f^Ae95~^Sdk74k38Txt;k1^wI{KqPkaG$2SkW zLkNnd|HZs+jy%1?o4J*3j@5RkdT32c(-<8zb%@)jOvF#W;Imce4;V8>NIP^4)7*| zj0jY5{DCBI(N!)`;{c^(H4acRQ5@iyIZ{$>El*CQIKV>`1}J|5gesyiK>38@zwm^s zVSu1-MbL{=?g((G@J7=pC{ZzBjEb(vAtBiF&|Q@yeLD>gGC5|G7@xJc{Z=H~APPEw z(rq+lmbmjf|9aA(AX+Qvv>V>yKpP&bv3j_8njOXAX4e#6pDdflshAr_$KK!Dp zfxlJt-B~PDxC-?3uZa*+VbVgS0Gi0HL!_UF0JgBk&!XC zRCjsa+_P`at3uuo2X5KgZdl>Q`k}}ltHzW1bk2kr592q3GmSBYfDVNK^%^F zP{A3sSHpaS)39=QC2v^9e_gvaf9Ol+jzvYKr?1#Ke1zZZy2ba+{dM_@!Glk~wSD}i zH3v@l&B=_7shs=O$?|e!9*OQgx-2fXKYSPmM0$HKsQL1R@e>jgA|{NSJ=Z3a+G1Rx z2N86X;EGQbu|?{IZwVEc0oy6VoB5@gXGi{7F{l2-vH{86W5>?vmFiqtQCu?g+O%nX z(>5b88;9gm|UI_YE>7Bur;6#`dlSLk}*^85kboXEOEf z7ZRG13UM5C0M=(^yU>NS6}Vl;6QnbEr@};bQ&QIGy<|OM8=R`OpuYqU!B1M^LgH1C zI)PbmAwBM$jmu4>X*=Gz&il}8tm8EGNd|W%U;Y-~j z{QTzaZm;`eL|$rwqTGJBqJL7(pl>`pMwRVVE=X-cwtk6vS_v6G9V2u32g-tO9VNr? z#S)!yBu^4CyU>z2=xIg3qoXk=0r8ordDAR__ZDn9ke!*OXYY=FlGHqq_g&4J6V-KL z2?BZrJ_X{gQ!W`VOl-f{nzck=vE=kpZ0eEh%Y{?qEXpba4YMvMOH)0m$z|yM7jeee zSI8d(bCcL_=hR6Zr+E)*3_C?0YrKc#=if86lV6jzIk(@z)BXBE*}Suf_2_cnPFp~7 z?>-snSOIk8c+&`ef8d=et_h|?qaXGom7Hv9a+3)Z+oY=;^kDYQ@)_Yeld3Aeef`3K z?8wM5KLrKNB!9wm@CEDjtMGm#>csn@w@M*s?+QJ~1@W#7SJd|gx>mpe%az_6?+Q_G zp{N%rU46U*6Ocv}xC15^1OsHk3y(N%Em1T{$KS7!?q6F!5=mZ1j>yVdBWAJ*)%yKdi8F2pQpKRN{eH#mBx@`{yp5*5j7VUWabNRX{o}WLy z12Ak9FbEz(WRAkcQ<-l(!^Gzbc0y%*Wy`@MS*h{UzFbw#r|~1i_#Qy2Fq5eoIJcfZzsB;sTt`3MGksQ=p8-W-=wY&$dVt zm{(+jNbA5KJ8Dg~C&kef)wCwQwSSa#A`;=)Q{&M1&~L-HI-R`pTZxn$*giF0uPIm> ztRV5tm^M`Yjt{?g&~*H^j%qH7EP2IstzCFkL->#VQY^YiouQ$#V@bhqI4L{hNPLbpR? z>oI!Ca{2k2h{|r5^vkM`z7tW}-%7))`Bp?{6OYVBQm{7PN3elURdN7ZXZ%1|bdNl( z+NjdTGo|&8*;%(dyrJi>d|?gpLH745sD95eDeG0X2yoY_>o3O~lv@sSv|=j4dO$!T z-)KP|5q@GK1p+WPoWCf~s^JTN>9OJA&2D9we zY~R0mJ%1rA?8>|ERTt1Y%6SQLx~uU~(f}Wyhdkud}3)$3btW4~@ zXVlAeTOPUZ#0%q2?Ra_lYJ$H8@5vV2bKquEUS0!aoTl8o@dqz=QRnkB1oRM zy#21MynLssWO+!=40!vTGf$VEYWX9TG*d5PKZ*uu-6)Pbt9q1h76m%iQ5l{n}-pS@l?;#AjpfdgVITnA4#nWH>+$s7?&VPbk<$+JU z`vebUSD(NzSX0y72CT^osI5Y9>eR;wU9;Z#Oo0RqIG}fKlR~~yELEREmN(J{sO_zN z$j-=mH*1IP-uWxF9d>@|-(T&|3!P(xeY>j;Ye0LH)}CbW6uv?Oo3)ew7V?I{9zGD2 zBdLF`=%2?6TRpFiqu(sr!My^WJf7tIklMdlJH|2e*2X7GrsmIcSKQkBYP?y?SP5x) z9=1zeZ?hPu_vOXHF4+c~c|`al{6V8j%Qvb0RlgRpV}gqncFf;If7P#r?3j4vAxkdT ze9={VH}x0xW%vuJF*2&XoBFHv<>iP#BzQ!B=K-**UPEkP z1AbM&P5tgu*VDL1tS7xi|F8e0|JTj>pQSiG)%Q`V5&i+Sw(<3cRUcorMfeBci3EMY z`ROx3o8bc`LLqFqSS`3@!ykR-Kf3s zeVlnGbsXtW(GDFcjn9iI2Pk|zHnNe8H!%+GkQl$1>_61*v_rJx4%zyvXRG>MmM94>VB%eh)%+ns^xw@-n5^6~VLOj@do)D7!W*pEhvdw1F)DvX`l#azGD%pF7(i zZ%{yRwNmEo-*Z4^K{}KJiu#TirXiBm3>!voKqllFaJ?e>{GK@|1>mv(+EX7C3f?$D zwl7BizjIR#zVlH?K=zgowq*Cp%gyK>lTN??HDTqs3DflRE_<2^e%`zH=Yq7h{M&>a ztZkq;2Q{u)_4CoY3!HSMmvjz~>w1WD0KLSyiTKlIenHzryNGuZ=k~Y)TMo|cxVTe- z-Wz7(oIh5Mv-xNT#iu(<^j`FTTK-Y=ccAx%Co%6c^isFzPySlZIQAFz@&Il8>tg&c z`}m0AL;t50Uon2BXvdvJ?6f-mQ(}C_{$l)Q{lSHT9}w`%D*Vs^gH~WS;9ETz?=|rQ z2I*-z1XwC)Ao`2(<%ME=(VzHN^f%f2KO=`U{(}B0{~*TKbrtYyG!XlP*f#;cx}O>i z1Wo=&gCCp*_Q$cm3cq82tXFSP;n%r}@$o6<#h>I~DaKdt*-+d5puf65AB*uF`>W$S z_E-5C75?F3diCZRt9iJiKPEiz`w2L6dANf=rU721 zDjs_BaMiyOJ+XGon;`l}qCfdplK&}sqJ0=H0Aw>hM473+|3WrPh({QfND5-mD`5T; zAoQ6-+cOI;DfvGc^uNrhKfn45=21I$`L>VhdDoYwUS>U##?`&_+A2#*N^bwliW8gB zCqt;6JEZ zid%djQ8E(SbVwm4=7%v$1At&*Cnv6LS9+Q4`Oo#L)z(u7_N-XXjHSI3Lig-1$w-Pz zlrJn>#mqzBoc;EF?Oz;o{m-nRSwVvy*+j=ji8BO+sM51Y zPc40*3(0UuO*=R|xt5<@ROBgi@ z4qNx-(@Xa;E_{mrjB`L;G|cINeNyL)Gba$nX!9k|gXaVFi!NS{QRkF> z7nQz#j`?w49&_i^iQLJ|a^RP%{PKIsrP&Ymc=WwB+h5_w`DFIs7cZ>;^WA5=72m&L zXIX<6>$3lWxo7!@m=b57Zv9r|oA#u$x9PaTvHg<43?xW!NIPvrEv5tGCxn=F_Vm+! zRFrAm$Z-><(^$Q&-wGYqzm4UPelUdUI*lI_X;$oM2t|RXbp?|~AsxCcFNqq1cK3Th zF=%_6zZdYch5s$u&ni0v9nk2%J?8GL;v(AB_d?KTP5wG0+8yYvCa?T1i}=@}6!BO@#|+#`ZS0^R6*zc4;B$y~0$nY=+0zF)TXFI9 zP@v+tL%W9xUQ|jgSi2zada>_{Ctl+3J~6j7${osno>j2gfB6t&Qx`Jnt1+_&eEOa& zWd#ncuP@E@*v2HezDk=*PkvsMH{id|<)#IS3f@Yj2hlR#DzE3STafoH&3^*(&uc9$ zV2Yntm551!_lGT9<-Y*)gchWt*{R>ZAod}$v4eaQdM5+vL2Ua#aZFIekSYeAAa`$x z6h*u7Egx^oj@m)pmU*qjws_66f$=5VqvlHGBS*H_9q6(}9%bm(+=X2PQ<1jIrp~sU z#+n=wCd1s(JWsO7$6!D#E__!bNn6m|dzCm-$Bf>N&a9o7QQK)jMU}#)6ueD|aiQyS z@Nhk8qo7TGuDp9Y$3(fv{;fuAtNzgKs?|tcK|f`uEM8~`0uBVJG@rH11gyh`3y{ef z)!PRJ-_-CJ0U+#of^Qa{xk_OZjJ4LobxlA*CT;>V)wU-25WqyiyE`y&f0&ogGpkVd zj#B(aAmvqLUVgi3Zq(@f@yV2Kn4EZl8%pE1jnC>1BL@prJnT&O#K(+8O9?0h$$Yfp z0kTmT0NSt~k{M+M6Y^XN&FsgIHn1Ie9L1khx#I}G@gTQKDbwE_@c7Xppk7$ zB6QtRpW~g8+@%54353ic$Fd0P=?(llH^R-v|6u;tF@GRQhL{_!yr?M#lM4J?$d8N^ zvO@VTjJ+Nt1<{#%4#@j#m8i+Hv}Dqg_;Q{(-Y_$zG>t`{JjA^t@?tVJNE4R?&@o7vGjq5+i0rY1B$M~v`v|Ud=j*DKAJg-)7x4Nc75tNGR$#q8QmT~B!%mnpvVh-M%_myJl=u0I0>)gP zCUQIDg<*onp^Py&B>d+lJX|$5IMJwDMUi|TTL!x`jFj;B)udhZpE&ANCU2ZGE-+q;%|KG-GpkdK@g)Nk3AK51W!TC(@6GS}~3YQ>T|MlU^{IpDELhjlu0 zaBy%>=bmyIFAr5%kCZX*c)94EWgQDY5!qUr)!r>H#M?8ZOHR(xztcPR=6`-xqt|Bz zxwZ?j49s2g-jH}*8<+BN!NCItl1-pDbXh*CohH^~XAk5lf)8IxU0_%2Y6Kw}JYx!C+o zJTM(S87#BN(^n}=T#&-XU1hEK-&ahZSd9nRkCkiJ%+(cjG!8iv6nKNr{*||b-`7-; z`A3W|&Zi^B*Ye2`vx!-HFwBB~tHuD9Id{#PxwaWLVS*JoQ$MlxJizj4B>y07^m!Sb z=c+lEWy-uN;y=8>MPo4@z(}Z2U}4Zw5sIh=3%P*+eut!6?Bjr^h^$d&`%OI*Y@NRNZ-2)YVWHDJMoLmgq2s0!NV&xnF`Vjc-5FHd=pzK@&t zh&Lv8DCxTbMJmEVI!@{^EpxFm4=qU;t<|sSX-O>g?l`2st0hAketb*^4}QXGF%2^f z*aUMmsG3r08f6~-FjCp?iKW68&eC)?yA>*3@H4MFmjhNN;@PQw4DeERsH0`0a5y@Z zRnY2befS|&)Oz(*hniZ_R?3kkh+PSSf^jCqYfy}MsLN->O-f>0fFlFpTlg~M8k305 zAj}Xit>zpN+RH|`D2haw^F`rPHD)BOiBSZC>_@aB^kVOp}>gzW&EE-bS zy=r+~V&d#o%d2$nExmp1!sg-RL2>nu@=;wQFJ2N3$?rsV9R=yg_dm;)TZi!f{D=7x z-e&V;-7fG70U{a)cv?G9bGVp8M_EXqmAp5(PuquL7`sYm8G2b>QK zg$Xz&URdZq01J-lL7N`^>YKggbBZTkmr@>k+$J1O*4756zErzI# z$UWA?og-$jdAKG#%T?u(J&w*HitZ$%`~rPSB}>mfabf8QAG8-vvWL_0?uti>J=XyL zI4?Y`DdrOE7V%}ax=EDpS9rw|DyeaGfhulUB||*`$iL(r3qx z@K5<)sBQakmoCiQR5l5FngKc4pd>;*gf$`rcVEcKaLtEpCdh1)l3{+Z(??qfn~yj9 zGJoCIFMQi?$>+c6WIla&g(@DlX}xvpL$^2P4jw$zEg^Bz%Jlvc`|?4?Dk~((JyZJr zY=2dPZry4dcWQiStFKQqzqz(|?>SXpjZx1TK2SS_+y|Jn+)9D~f+FZ!NPT#=)aOhi zoel^VmhPxJV-9q)3D`LotLV9i3)_##s?ZXH+j6^8=Gbi4+JU)YQ+t7<-b%WezFm z$DeTKH-2ZX{GVGFzcp`mzi-llnbL6g*Z1t_&qGa^z&{33{La64@@U2U=ihPG?pRZ8 zE3vn|Sco>4!9+AgolIg+_A3~YX)TvF&0H`Ec^b^$Uc3d?^ycq3IJ?-awiW*Za{&1m zRM@nqsEe$pd>yTXzq1ZVC!AkoA>V;PrAdUWr8&v^Xu^frKu+Nz+$ll&lE1A4m^%iY?)_(+$oaU-0kWXN5HPKIawW8Da<#r=XFm&TmlJD?zc$QvxAIAIjA zC!5^8=E@OcxKC(p?kEV0rV>wZA+d_hZiu;s*CPR%0JmL{0bKKr7K&y|JOL`dvT(uT(YXiKoI7%Jf<8EB z)#{8y#(L$gOz2V33kB!O3wo!up76r;?`DmYBS+2kZ*O+|jR8Uet_ASOn746zpG>SL! zpFHlfl<}i1J7sisKNb^PlGQttB@LgqhXVuXB(MsTUXXU)7Q6u|B36i zc{oRHV}n`Tu^?}#*Hm2_<)HFYB_Wc3TIk!r6U36vZS`sgt=r0#(7SQOHSHpzqn0R> zipaK2v;cINXkTk_Pa!7=A`EhHZ+8yhd@KkB*l5i=6{-<8+4q>O&feV)9rG&QW?l|N zQQjxa5yvNg-|%Hir;cy8ZrA%+D*RK;w#*ULN%_-Q>CoRr%>IgV(}mK19MpSv@;9F$C)}C0~5-YKgsi|Q<8Hmi^m<> z_ps!L%vS$Vi#=Wc@REinjYm-5DFU{?c%qWAF&-ptLeYTGX4y^xRH(#0bwaHw%}brG zl^M&(dF{dv%sDT%EgR$R`_ZJt)Z*@UKAyEEwQK%Se^=i!R^r)tRDzdFfVWxKGgF3E zaV?u$vehGtzw*TFr5UBkod-`S-_+Oq+)t)#Z|hW(hkv+lr;vDabgLe)vw~hCkEc$- zzQKD-cs2+TtH~>zcnES4S1Q-@xMWdrQ0j?_gJVZlD(2gJtEAqP&<-`cs;%cq&yFfK zDh{ZA9-bu0kuC8qegH%O_rWo|3YUT^8#-`?mgKAf&1xLVr`I;2`kQ0AbZJ@bkZhPq zN*(Sd?2G?(-cFKZ*hG9U*)a*$-7wH)Y@QD5ZcupjuIhz$_!d_0VjG+CV_`p<Mq;7!Tibg1?ND zhgnta2<6JzS}C_y)HVbO(@I^^cbF6WJS6yHl6_apu|oF*=!i#=BqL(jEwO@ROJOuZ zpqKaf=*S@;j_z&ouh6~}J^8X6XzJyyDaQ32~a(V&`f(vuV%P@x*Bre-5 zCZIU<*J29LUlvNYGa**`t`2joyTBUF+TieiI^aJ8lk97ZDBbJSS@{eTBOoGH3)dqJzRCC6)$t(T-7m3 zbT=^uQAgX`oz~Up~o+Le3{s2c2=It z-e~DZPafmeg(Bvdd(5M|hWL>ZoEd!T{@=%y_D-)yG2|n zT}9rS;z}i`Je&T7lBc$~Qo8g17jUSQLH_>;2MR4py=`?ad6NET@Dd0i(dun>fJhFm zC=}dUXVQ`OLLLkuk>5oqG(Dm!%xlFrn_f)If3LyGtNGUsHx-rRhWvX$PS#k3_nzu; zs&Py<1%iej8hDVm909ku5hgZE0?HiN3*5{WMLMldHUY%8*>PR>A?DR+D7{-G0)T3^ zlD^H2vfbLmKwEwGa)=g;hU7;E<;$k&V&RWrcSo#RJG#h@sh&J?++U* zDR1Q$j~zlZ2k;ttDUsmEa6**pPh~)%-3BI!O#P@S6bllGtE?^vmL5y2{K)L=?0t{) znxMEfl)d!FsP$X7u1CH=mY>0I1o?U9=RY(fXQ1R3RyE}`n|5&j zX+^oP{~&+h^pvVF-nf2n?#vnQ~Qn{qN=Jk7IHduu#biJ?B0X*>~+^@Ws{D`o2sjkv_>t`it)fpYzJ((e}GLeX7=$k zHcfkY%utwjx7d!jEIc@4k^tA=uWt{3fAt1VniMrCXJ$upIKkc}Tm>FF>8Pk+6X{j* z3wADic}Bbig|%p3_;68g7Hh%fQ`NpUB4{TBTEW?#J@2kKi`6td2Nx{cYSb~4#F+5! z)5ZkP)m%^1OTFoW%-G7=#x=dCHeIu#RkgK#-9$wef~aZbZ2>>{6S)Ai3wBzK*Kibo zzyL^k0=kK0`+Jz6H-cOG|*ujH{2=6D`22CGDsN0*7;$RH7a*$m31u!sYX>G zRaIq0`dthpXoQaH%7zL*d|zFzA&Eo?=LRYnr^>g~L#`YU6C1Luo=@H# z=hG&@rJZl=4(qzd9+NigEOU3CThKqhGe0=JsC#mBP^4efbku(_8dLb4YSw2|Cxe%) z@JB?VI!h~;?7A7f6WsL!Vtb}!b_sNC{V(uoK$vVV9W?$#IZ?xtqSs^~o6aFKnn|t< z?wsGhV6MA+*-q;$z%^$_tZzG)fHppHyV-;F%di-}YI>AkWKeW+_aZ4!(Yq(~DX+_R zX=NeLm}>rrB6}G+jbeSO`JEJ_aTwp*+BL9CW=hXk!kt|3T~x0aQoo1#Hbc#(8L)|y z*K8AD>|nIkii4S({}k8 zLbgyNLGc#&cz6@-1ydmcMxp<4^<7kUI%iYAQbSrwcIWPHM?Dv)X#uE2xu3bMa^UIF zMIIiMPq4@0+wX2FMM^Q!0Yqhu#a@t2P2?Sd7S^MgTo1HH^wqsp3~r<(IV;N0Q|7{~ zfIz8*#-Ub$AZAZw*kdv0sFB`60RfYadM}`ZkheiUjrB4uR$Vib!FN(k6=Az5cxl;D zkFK~Sntg22%Fai962efy(Rl)5)sN3wC0%MbGAtjLhOA@x)7Hp&QwArC$n>Ienonx1 zkBGBa(uQ`+OG8 zd`UZnzUFAxqpUD6f(N*@-#yRIFT#zF$c^milaZLu$BM>ujm$^3Cs}4i z(vWIv>^;*viE{^k`3mNM46V6mX$88G>6qnDwthx6!}&uqSiY#ESS{_amVg)^(!Q(T zi|@i$)oA-xtUp7d4!kX~ZJ2cQ)8`iQ?Xy_m=jSeb%8Zk(U(I^vL+P{?kE?vhS|)8n zA@gb})e2`H8!Sh3zX(f&c%^*2z=Gn{YR_y#ijk#J5j7LFn%>Eo!R^`O6Rn?6O>h2C zh0e#pl6mJmhOe})5$~AFn}48$3wVK+jCcW)t=KtGiVZr-zn&wl*mB~fRY=>!`O#|T zCv^gfKg=fJPapm)D2VXo(S>8(kkXs{eW?_OqdZM)O_Q^(6w2&~es=04yAMx*u&WaX zGi3KddTV<(W(ogae|Y`D%bPq(;}UdshoM-I1K10^z0?QRpqBT=O{u;<^d)K~H{wNV+HH zgQ2GflfEWph_4o$EtSa~I^-4kcq?*v$3ByZxtrD^GW&8kPOAAFDn7fZ1PgC=%NTGr zi?mzzIZBnLIr>i0fyJ^uaIZyg+bt>7I)^4mN zHnsPHprA!5sj+cc<8wx*uxx&`%yORx|A{xMh8)KFwej@Z)WAGyLRz`U#TMtJ^sY+j zomCPWBU|0QgO2gH`QdF*&K}#=P3+&_*Eh3&**X%eLF*d-(PcqyB?eT(Y*o0vmmQ%Q zBc|^p|2LyTaIk|e=HIOg@@~5}x8czefTZpz)$+xjJ|ukJo&jHUQT4CFVd`BzM>m2! z8+!FFpsyY91JP-5cM??eW(k@Ti1cGMUo@L%Kl?YIK2Zvp#afR*a@AU1SS?3zNG^X% zsUX=ahO>vO?*vwfaiQx_QZa5@yKaUE8fKV-piI=;$QDvYb;D<>ud9Hg$!9<)t5lyU z6(R?ZDx9}g`p{PE+`(rcrOvwNew$lWMtYdz{$<*{ry6cT@Fx%JNT!4A-z6+OkA>N{ zP~8_B&4Q)|5C~@3Nc$FPN=^67l6YuURqkS8ywu5x&8>A z&*%lW1z?GTpO8{0$$UH?W!v=CVPOB{xz%DMq>O3u=)l{R%}bn-LjhW<6oQ0M($Q(d2FbrZoz1~(=E5Oh<1e0>P!A>D^(kM~ zOl!SvflW!yM>&AIu(?-<3M==#hw_|vwflHb9B!6@_OT73CXxmG4tqr^MZ9!SY%x1? zfhaOHltp*fB0IpxtO>W};_sc??kWu7676oh%6UxSa~Wbf7_;U!I{-S9rae70w6j)QlM;6rd9n0)kS*XEaF=Y+gO~?0x61W)f^E zXBHIbt@+z$3cxr2wgCMHf?nbA*TK1)CQO;LFHo;hmFR9p8>{R#Z(`Rl%U;ai)SNT5c9<;~sJ z(&4Mz!6D2g!mm%=^BHgzo4QDnR63f7d?+c{fAS|0>OnXw_rL|vG-EA{5zTBU5t6w2 zD$P~3a!7`Z&Cl$8LuPN-%l~NZd1N=Jw7yZhLcZZpeL>fHP|lnsbwc>OS4kk~l%SX; z&63b)h;u+Jv2G4v4khcXh`S(p7hFg){ZVrSm)*Jx&mG4rA+5F^rN}RjA=9o6eYFy} zT`_h-rzYGsA1o6$U}9ik31TCG|K`b+u-a8S)stVzu6X8T+EW*dKen{>bUGoSDL+}6U|b!Ii~Z~jNt!Hp>UE*f#ZzDo&Fd>ibxk*$ zXR(Jy6!Z52y2oZ>Sm`PIusqH-EbxFGl)Ea(>vWGXA#SNY4C)(0Q{6qqa5uLu<{+tW zggM-_Y!$Q3w%b0N^~nrB|FEu$+UWFSM)hl256%TRxD0bs1{0wf5eANE90oC+VqI{3 zCvh+Vk!H{*;V$bD10|X)abQDCQiiXmrCWTCPugT&IB_C-a8gkFR?eOVXG735=A2*R zYc&4Vzq5Ng|L|~cpGf(0Np2kwoHDSBOQ&e|M|AXOlH{T|JI6j3y~pJ4(eVeJ&a+ce zVnBP)A#sjVkpJ&x(rMj`Itp4iH@-k>#R(iS>IWj=`+NY<3@~xz? z*i<UP=!Yn$>!3Tn$f>KGQ5)~R23A1TZn66M>9|CYwe20VIy-VZtKo4)=X zU0fEjh%RA?p3*3czJrydr$hd$S1Q;hXh1T{kK1LtVC!rVWcAKb2V6J7cB60E`250)VoZ3vaj z(WI7>e2TX}X!t!>=~i39{4XY~c^Mx&eJFp*KEj>DPI}4+Q4u=6J58l)_IdE4V60eG`6L*ICT$J58TVl9k>SHHju_z@ zo1C1uHDX|})K_+Owe)D;UXuJgBGROrxaOmD5m74^#l^XM%;@If>F>X6o{t;$qFVVy zHtNfq;9`UrUz6EjVkMt``@pNO-LEg>wb!oEK0Ef2V||dGn3a5c|7)*4@U8L-tNQwD zUaRiS(~3VE0eTNog1vD&ydOXRhXXr+JJ09_OF!sc5RE?zote|qjhSo&>rH)OUq;^- z)UKj0Uo8F5*aH>n(DxSE$|a{a@ujPB75YPt2xlI#vQai6CEyQJ`yOOIQ~NR(X&V1i zh2u?Wn${P26=l;~^toJxPXWh=(Byuklpw3kVkak_BVcQ4yH9NceB;>=sf#=SG8fT7 z5{ThKVY2+bf5V3T>!kyaK6(QGqu)acmzmx|Itk4-m=G%%(1&K}N=J++)y>+u@&3p3 zmaIX8vNr90g4WJ5b>Y$w{UE9hi@NM0J~AkjW#&#BG-z6`?nKYR!k#^b52v+APH!vM zq<0MdfCH8t4~Hu5396w)aJO$iIAzL~EmNjExF(}}_l$ngG3h!!ckkZ0^cxA0;^QeJ z5@VfE!@%QKcvsi<54UMkR1ha( zp_$Waoxj{(Ur01Yv;PH1LT1A?C3!50S-=qKz19>L8GDEKmcs%=BF7gO1*LZB6OMoC zI=OCoutVo4sZ&3A&e6YE=YGAg&U3&+pqzTXFhL+XQZ`Aie8B&@fAQ;|gX-{FRwWRP zVOvUNSz)veH+GkMIAiUbIellg<{wD6nW33KH@}WK^Vktt(NP^%K{27J_QnIP@})kA z1H+*k++XcxcWhCawEEgDuFJQ9khZ{6|kRgoxkB2$zSyp4p$J-~Sxznx6i^ z1L^4>@LLy)ne+y<=7I-e@8M3+S=(P{RyBg(hZ13C>DM%3Z$!UCQoYVdUNpcrAqRs; zXeI~?u14qrh26>?Dvez)?CTuSH9IvZ$lEJr=-7yewVM)CQgYIiaC1&-9}oAKf|_no z+1ZaJFO@FtO*5Iiyv)I#9_>ASyF_G-9pl`}eM_&-0ihuQZf-7Kog*R#l}1Ios<6w! zcss!hAkJTGhmTl;nZo0c6~HXsPxjZ0fq&#b_F_J-7+hIdz#B*Gezrebkgb?$Gyap7 z_Q)e?X;*Hfr>pz%{|{Yz23YcgZY^S8om5k(l*(sI3Cg7tw<`z^+vlJr>gTa;)Pt?x zFF$;O#i7%G>myA%Ax-)peOTNH`Qc`L01Ipt&{#^T`>k)CP%hoBI6-$DZ=SqSyrXUa z&GtHm*#5z8sqZ8YYx!Q*+8<7$V-4RZzwkHlJ{z3U8p?=#G&WivR(@$*BHHHK+8VB) zZ6&oy%j|78b^eW&sJCs9Hrd*&-nzk!gY+&$hiz>QWjc@&eH&MUVWYi`E4*={-h%J0 zx3yUh>B9N*$nj#3HrU!4zR`sP7PL7{QQMrDbqQec)88QK#_)Cvs|_eExG_yRpAgTJ zPWtQo!*cg$CU^WSZ{abT4SuiAM@7R z=Cwv+j{k`D-fwGj*n{PESU$)8t<*1}Hwki{oArzRc;D{l(`g@LF-Ek033BTkY#b)C zq8)VFPkZbnH7v(x$hoM|E)NqkdYEME@beGwzogDjZu-ndycnsmaZX~t3`rP^_U5Oi zeRE>!XLwKGQY=HaK^{MX=x>{;FMU>fO%!f>O_=p9c~7H<@+oO@LLYa{}H~~wt9#THxr}bxqRIgVJ;S_`*_S_uLV-rKnW>a!XM7U4r$Pvl9 zr(2oBQ{uZvB=$`l5!QEJRJWF6c>5TH3YmBkbr{|!IBEFEP@k~Klw_0H9HM)=s$0~& zzF{LUMnw1clyGu8ZXB=t;`E5vFDIh%WA5yEfVN2N&2{T7{#N5`6^C!(^~K&lV&#oX z8|R`8IDE?$o5-xYts(r2#!kcykWPVkc^&d*H1i3JO}!$MxRq^AD#AuTUYN# zr?2sPJ2AdNSM5}2m_;-K5x_<_Qvv^moq1A!^aKsS8qLyk;CaW&53d5ywLcPF0&T)0tkTNNW<6sIlw?#2bIMHtEsY_ z{5eM^l`ji5Pcw&ZE6D#jzd-$Nf%Wx9KW&Y)L~tS2g7y11&=SFXi1BmL$J@RSkYBt^ z)-Tty)9d&1u_v%ff}y|~BF4dPs(XcjsNYxE3a~TkaMTrjbNN^?9^COrYq)~%PFKIn?3z$5KC|H}OR-zm z&t0Og+f@m4{)c!rf1z=vN=t5m^Tr*z!m}F}P#b8;SZZ^UtfRSSqYkm=ZOHRZr|SJw zlRl-Qgpn-9n=k1W6x6kAP*At!HP6nU|7=ZTaBNISXiRMI_`16B<7$C~%(|S1^LH9& z)16YOvA7}D73!tpGwqiOunple_>V*noaWnTi**^F(Fgo*lMTsPYn&F?8TIs%y#)9rK1*68ZS*_Dk+cGwXwNA@uwfa~P$RT80)~mA4Rrn%Avi-@PqfXsi(V1? zYok}Zr$(R+ z?J2j>?A!a<(~UXuFri%(yb@zGt2 z3r3Du?&{pOsih=;&J#+|d{qihz&IZsAD=S>NnuabH%lD~%sY!^OGMeOW0D zM)m=?4>++qPWbF-(`R>_l;`Z94Qt%icn&#*fDbY<@Fd*%G+PN)V(&~WRA5|Xx9&7P z+jtszdhj`le)-(a$gm%qyKxHDN-P&U@yHnKM?*oVjAg%oX^~0p(5pra>q2 z=y*{+rT|IMZFs5>8IO|0%M~BX&m^S!vo8KVwaeQjr20u+{9W4AE;r~(g9Ac+SbUJB z#`o2V~z zO}Z_}e}OkiD8bO5{v(4lt9NZ(@r zhB`tIoq?a)Q;Do}d!#PR3YmDhY69U4#F}loBf@8Rn923YXU9XE^gC~daqD>@+vJo< zpM}UK54I5>W^z;;#%Foh>D_>pIAeGc07RM)1zSn{7)G!|& z|L}{KH{JP*^7g26lRd*t^BbV=Y2&!D<2CF!`*S-gy7D&i!THvCQe8v-e5uY#o6J}R zA0{nrTq*X{poh-N%QKZpOZ&Y2Ot)@)qHD~Rr5i@KZHulr4~oNgrCjjN;(fCJY<8+< z(;9~$XMewD{m|}IPVHL%D7axZ%0ELt0-A`q6Ce-!t2`1(!&2ZKepqlxm}`+PT#hjO z1OD+hCs(!+V^0yd_8Zpu6y@=k8pP}KTcb(Lxfw~{ZpbUp4;uoU{2F^&4u04yJF#4~ zCqF=2rG93(C_a-I*bva^-yA2EL zJ01}Z-vNFZkwN+&)K&kz9)2Y9Fxz zDt_M@d_XPz0jC9IPD0uw8dRd_RNXM(mrNS4aQG=QBhwY$zABkMvOXhy%yCa{?~<>J zeWdv)zowq@x!@ci&{Ez|{EW9yy_0&>i^0zk7`v(dAL(v@6{KC(@Yf{Y+Y?IO#TyV| zq}0?b{TDx|>r`O(6>9^x{0}E66&|Yb33wt~zz0?y{H?$jti2to#EW}{)vJGB+d)ag zZ-2z@P&Pll1)HWT5*O<_#)SlEctVUDEykrgnk|0rF4kR&ec6F=$<{`?1MQ6w>&JNz zkE32=n8&)$xO1jl9^J6BTuGi`T{L3`+l$}c^?W4TQ!nqYXM6ZaeoR~RD;S>Ur##Wf zt#8XeigVG=r}^a?+d8RUA3l$zb=qp43BRFM;68y7_zO^FOGB+sDT8P5I5v^HOZhXT zpQRu8bFcF*)*XO=<|0}t=&YJ+*_Jy9WA_wm#a`(C##)_W*^RL+VY;a_}r*WiMJ5H`p? zX7=@OXLonM^H+8Ch>qo3{$cW((qNFcqTtds-1^U!@{SASc=ztJzr8*?1~B6d&}|m$ z2gSzv!M*8g0VBcZCQ&e0kPihw=^zJS8!V`K+kwU7Wi-Zsug8NVh^wfYr+gqCVun#e zSk)BHsX8D3dwi8NWE9gMVnf49s7BVrprLX-^JLwtU*Mndujfr}e;biR?I$l{-Yn#W zYJQRbe6zS~C%F{iO4~gW>Hrd88UmQ8J{aycGKr8(1h?%=^An^s$=&1c;{{ER&y3c+vw{Dp=5{K-HT&02$(vhee8#JR&S1fFD; zg+;8-=d34NhKiJLe9m9h?kVz^FLM_qVo}%R9eF9$HPQ0PQafHaYFAd;>YeC{iH3pR zzKBosGO!x^Eb@S8?GK3d0MU-RqKLy*`+qLlVF5+|RHAD{@1)=MI?y%MPh8OR-<=MN z{x~VnCcG)SVx77~d7cPM%;!AlSI2+09~@TE+M*C}ntOHc%_5#uZ0$QfEO zHQwFa-8g7q)_`o`IC3n@#!c}|D?o zD=$#W@y7dMr}U_jg1v!H4#Zufhr7@v38kw1$1|&wqw~iu@78@LM+w};SNDar^7l-v zcp+^J+xPYh{AT}ol032eoc#9GhNH}QA+BuTfXL+4ui4H6dFumUO9b6xY9N7-F<@=R z+R6VI)!fOTNdbmVKwKP+y*4T9y=k6aSNZw~s@$%$Zxz;)Dz^t2Tx$6GdVZDSKsOY! zgbAWVsm!TxyDYb;-2T88By_dcEZsc3A?Gz)rBWL{ih4Bv4{PrM7Uh-wk8|I5W)KU# zNN4EMdlir(NG~D^(gZ=JgP;teVg;<&O)OEPrijKE(~B{isAiS1$6!&&*lS}X0(ETJ%j;mB zNF0<078wz3Df}co(=6Uko0?);dWny(b!YXZhehGcO(S}3!%5{nH0svSKj^g`SATxv z>(+{#rUUDUH<@txePYGu0l(w!i7o0fIdrf>9Gp6AMA-?~UkILAM9;ID8rY(!DQH;m z#*H(IIjm8D^dR(Q_RWt#-vF*R*g3Mdap5))_E0X?YRL$SE)w{aoF=WJcfgB*-lU0c z!-d&b{k&$3-lP?iN#VMK2iMUkdheQ@JJ%pzdI}A2myuywOxMwVwq_=avQ6lv;FTOO z6@Y!wVi^7U;lr?+TUrX#ZN2T!@%tAaDHItpO@Xb>_;)}6T@?@18RIh~3$)r37fXc| zcqV#4Nb0`r`DpYO>+VJq+*K%XmCmDra@idE5r)Q^lA$-*yU#d1*?!Tz`^=e(JzdJ; zqNq>4<-O<9nN#xgPd)#!j+L8hpLzb&-&PQOywGBlz42_qp3cKO;izXp9WU3-TpP;$ z5BYUbuD5uFnh&`_&!e_6A-}3@2{{WRIjkntG0GYLc#cLI{;=hq6L@n6H$axp%&-O~ za36%m!uTbdBu3!M0K82 zC(CIdr6(_^%i^5%8_-iicgr9XTer-{m zX-ECK_LgEDMIidDt*4(KeP3=IC+~;R=O^&hcoxm~3X6jDGtb+W*m5vLNCr*yg@rQ0 zk&lmRL2o%R7Y2%-Cq_SK`h%T{U$%l{O!Sw%8jScQYNr2s-NqgTw_Jc3$3h;s7H75}Gqj)} z*dKI)A%5m$Q5qWK9T-0k=lon`Yr@pjz{-k)ole1C(UAo{6Tf+C>)DKoz?6iDr7?}F zae*@miEyE!^*70dmXiBSZ9}4>`sVCEy?RY@fc=X4XTNA$U}{W+7D6&&WAm2m+rw5I z91U<~{A-Il-aEk;kvJ{w6U}U;+IlufE<i&l7A zdYeYsJ1S=d1_b#;InX9u) z+N);c#sy93qhFDQjg1KF-rHnq@G)N}>({yzw8c94&3pzaql9Ft9{)kv=%~!!mt{Fr z9hDV=iJx~^bSelL>^K2On$i%toj$)iv~4QrJ0aMq>!F;Km~c-A2V9cNA`>UnwSDnY z1!y>>#s5FUAX&V>ttlh0nGGlKFi|;!1!nX%Kl)|M0uy7E_!y(-jGK~*_1lVqKgF=e zV3CY;U<3=^5rI1hV*nAx3O88(jpbBSvg7uSiO*~#NsXD{#306r6#=PJBbUxNwyL6R z-R_d5{kNQR7fj!BdX)YS{(QFHfIowy@toAot)l1?%`nW4+n{;o-bM|3Z?i!Wr}9B8 z0a^k!E^JU8=E*keeD*1@SGHxDOpUR9rP3G5N4oj=%@8VOnPtEoH@N zBG?%dFJciMZC8S;9A{4ou|wqdN2s$fL=W}k(&@yP2A*{8;ZJxWCZ)#BknoXjY4^Y^ z^8FzpQaWnZueBdm!+tP<6$lTV`C>9RD{Yy-#hzAS1_U6G;I$%|n{gKCAje87#Q`Hp}sz|#AMsfE=x6XF9HwXdovZu-#&|uvT_pz zW+{ui6y}y*MWQkJ&wKA#uGoU+78_uT%m}Tj^Yc{DyG4Pxog8R}ffKj?;O7*NmY#h6 z?|*+&@YP5MKZ2!0Dg;926Y|ap@FVz884a2{VRl zgiOFAJf8HheC8}xWNs`@B|Z2n#y@-w{0)%H?9D51knA_(j*zMwwy6!Y5=#nN;8fUC z&@2$CeGVFNI;|^#)+;Q049rvrq;}2F&}MoceV*R8W$V_pq?SzUnNd(&+(4gioH?st zhRT`-Zo5Z9JB}T+oowBKRvgkj+sM`HIqfT6`gLCA$lYRn<-A{CTG7t<61qXfdQjOh z+$L(U37h5?VU0F`Xq~7sd!I`J&({Jp$^t)pZ75v6%_M@K_QVmW>8Zr_2G^NZhFlyBi4l7eTN zf+r{@hiJMMhTcum_Vd4cqbbAQEjV?Z^uY3L_RzG47ZGpV6(zzF~P<2*{F@0`RHNyglxDHhpKd*JSs_1;OUtPo7 zypSopInN(EY9MpDbe1v}doi@N(DRP5G`10@(DsTD%q_*MB+TEYYu?4Pr)l_W7x?29 zL^0Ii@g$z8c&_}%_PNZ>dh-?1$X=?LmQ1%j^E5pt)zjy}sMrUy>HfugAlO17YLzl$ z-&_4Vb0cB)D;^nj3l}6VDvi6{!6P<`G!nkR{H3X8CUx`w7~|nFGmp!039tn3F2nX^ z8i3rKMGM4M>=Vd_t8=_65neEJ_pk&Qzvwi{K#p-5OTk7*om;-}Y{FncQ*cz8Ys8;_ z_BNbN+>qZK5|!o_Zm$@4U`fqnyKl?#Vk@@Mk2I3aeM@WYCVx|!7dsbwtwu2QGH`4X zulyq(toa#SBh(IDrXMy)KONn_pLjJ1Gn)7B7e1o<#D8j}B=Xda6O2yyMPZHlE0$YD zZb6O0L4~!{dr(>|_1-OhJmN0&ihHD2*`Dwgcd@b(djejXpc|pL5Br5TU9pJr4Cm&u znmNtlhjd3L`FOmS6x%79)}7n?q{rfIMC>NTWFzgO-&a*v2r1HY!fzk#ys=O5?%}7O z!J}!@XcbjThiR4O&;iUtD@B&7|DkE8YRfc+6r)kt>3XZzJucsui zZbD%7>YRbc8fO`LP^13S$UuJ9ocyUmz!PznQ*r{u%B&NDaH~tDvx$)FL9T}9bmTXU za1U0+BI5>ee`93$fM`Tk@|Jqrnz-q&J}bJUxy3V24Bsc3B^RAKF*C)KegJNHvKj>jqe(Mfy|EYxH@A4>ciw@V1ab70n?oBi70{!Dl(3 z$0Lx%$qdb`5R4wnNQf}tzsNBRm{Ud;<*om=t?S#@>jtKf2D%&mT2e_>O+i6TRSCVI z5$bN`9QuT&txa6bURz?`I?hQ?qj7S4SogCxqZuk6G=h&2-m%bq54O1m`qJG}rTsp` zWLIOnw=KeyLA?4+#e+OvEq~79*z)I>+2_FQ6EsWtDR2}KTf);2T7YJyO|Tv!;jjCn zvYKaD898NcfYMTaI?g_~^_#4{d0oo%v^nldmrY&&BKxKC2kF+J#qFwN!7NKQa_IEDqahs8^5QnKVm;vpW-vV?pD6;Hxzr>`gHqb zJVHjFrB+&a2x>PGM_{RTvr<;@*PKq!E~YTQBW@k(^ewvGS}2hooJ5w8@ww!|uRkS+ zp)>2q;Z<}SSt?yTES)2HU_;EUfo#0Qb4Nf!c`di*$h5hE8osv6VlU4PXlRM(&h;Ot z2cGf8`^5#ICC~ccg)A4udGS^xGX@a@VtzBcPX&;PCpTbdgVtz61D#*R8)~9|Zp)~WGKOhwX4vCTDZa?xuzUa7{E*Kp=Nus;s6q0C!!zE_t-JQ< z$B$c@fSmMu=`Q--h24Aay8A)C9?*2$Io*1AWRiuT*yQq(_*t^0!Oqsj8}#c@t&%cM zNZ&%{_(ggFFDaiHP9sP55us^M>$VK~L;jir2iD|kg!yA1Ql{gFVUQpFcu^i!b!Z!3 z3-}DV9rm^}vLVC*?4!SWbvt_r2RP>pOAGdnWhrG2c;ym(2?5ghu{{Em(?BcLKdiPf6Cp!>DT{`TO*J?pE}$A- zZQ-TmXA6%A!9(pXaNf4G5GEBm2xiiQ!%CCkD^2RM5t}k~bIqn~WiI_rLMvOPo#JgX zMhc3{z<8ieK$*n|`I}bWMsw((Kf~^MnAe}{1(-rifQXi9wb23DStYuDjXwC*!sKJWvkz?8xNF}?eDF`}mhau$JE>Xupoho#v;FrwC(fh<;4>%XY;rwFg?-!S(_NK^B+})z=1SX^YwbR>Mme_sYsm4~?oGSQ>dc?8Cme zk#QCEPK>l#+0xe%Xvc?LgZZGN@$;Da0L;g62J<1rs$>r@$huX>$TD}E67sHQf0uH4 z_0Aw0=^7pu+Jn1LCH;6I+`SU9-1y^MGaYfp@PefeI3ek8PO=_+9j%NgWCAHFS*>7`%Q?fOueNQM}G4F93w zs*h}Cs&A9LLe2vkdA)3%x%Aw)KQSglNG3PXtqc}#)3KOO<&I(AY<4UAPrSjnn2Rr% z!=fQEKoaN()ElcdWBhT9d-Tc~DwNIThVn95uiJ?Ejl;)}4>yiHBmOk}21z0z^a?#M z`3=+Untk^i+DAG_7wmwr{ihvr&pntNFt+;Z1Xdp)+(GCYbdH` zrkjTayk|RG7Tt6A%zY$}n2@EDqz8o(Te_3JmA;s$zauj*T)6NeJ@F0w7kQAL5t0uJ zv2>8MuDbG;6#2%RpUG>5&GjDl&k>Ut)ohG9meEma*+EC71(0u0UL{oM?3%Z&Pn_og zqtz$|IYm#NKVkK@cw8G&lJ%iR`jiAeewjy%cGLNnA1C3`c{pF$B!{HXr|IML3Hmgn z8=@fmowRX~MOZoP${W~J$vQ53vI-j=!pOQyVf6lrfq@nDwVHQ~ZhkA)a7KQd{$rQa zwn4NOX6)X)dGB`d(8)N#OX+!ervglW;$p znkY&8%zBoZ6N?XTeK9L>^2E4t3trE2i=y-=L>3Y7l>Gd>LM^BY8c!bVDafcjw6`$>%?}5J_2k6TIN%8Y?2E@+?b~Ty8 z*6S)WGaYsz>Gbn-`Xvm<1w?(4wOyu7o40J)Opcg}k*DZa6oD3CBs(j-lZ3OH!PjXE zT@{RZW!r{mZ_8;xO;!ook^xa~+aM2TyO8Yo{S0}ugOqj(9-X9YF?saiKgf=S(m&eh z)K2N6&iI?{XuJ43@NOkpJ+_*lAp`L<4e`i8(H^H2)|3z5mT?PLMl5-z#*LXUw8_Jt z+)W93S3o}XXXD|Pw9BgZ-o=^I>3z}uZzTj;&|lXsu~W_`<@3q4?F)7vrl0%_9U^)U zCWjV&G#Kg;>vE#P!}FbK^xC`?lg#hx-FJZT1wSXHJ@)@U>>8Y!5Z_61mIw)Qw*0J| zEvGJ|ajE=@1No5dYUg$hcui@q8iZXFW%S9-H(|%4@=80Gwk~57#m3N>8#daxR)eHx ze%F%pk5bHchoTHlKR3|t9qa-2jGcQhze|uP7&b&e=^FAD!s*yTRa$JcbBeF&fcP7K zgMwc1OmcQ!?&?+Y!O;gf*RY;2r|2)|DB?8onpGmk9*v1O%6f(CDHNj0EKTTF|0Fjs zioir$&9+)^~)jIl>V13i*bhNE-!6y2&bkH{XG{Is|N88W? ztWR8q4LRE_y={|0-$h~9pY+`fTe=kj+-{pe{6H)GPcet@X)dP?uuN$M+KkcG`t#** zrsZ**?bLx?jb^50j9q|P@~;fJ#`1|3k6BowkAN1Mv_2y>fvkx3WWPy^D_E3ZBB zF-mka^sTfoZToo*ncTROAlo62X}l6^8zb+!wdsE6D6QqaDP5cc2RK9PS17NO@g5tK zerdc3W4h|G9=cUGmhN{LVmQ>%ee1^E*=TAycg*e$Xdtk4Diblb1-DpaGb_y2T#ngz zpr0Ch64ReJie3YorI8Uy8Xovr2w9TR*O#$G7$N=|`ou2!;x0^ZMp|Bdwwm!=4(x(o zFebC7JPg;28!;G}SyXIHtw!W_LJsgRU!Gy}()3lU(w7Qb@lk=6EZRvhKDE;Bh0_Lc zOYp|s+PQR^kc~KIrrSs7gN%+U(^(rcX1NcYp1^y>YTmw=B^1?MDAaCwyT^A{_rwO8 z&|Rca*|5I7-mDG{ynZLP^lLc3cafxqRSRdnzVwCXmJAS|8F)}iHa!G>ZLLOx8+jm&L%R&E}nO8=P&#FE?~E_j?vMgMK_NI%&$^VOol*W^9y z{en2sze~TuEU|kB4Z}rC1G_|EaZWBP{B1-dnZeybd8;6_T^M7ek&BJx&pkIs`eWM% zCC9EkEugg(%C`FGpJLYfR#FNpglu$erF(ennAB2~{OI&OyKfT+yT|9PJN z^9J@gc-ay7gj*8q_JWmc5rOBl;dVS?sPsVzG>a=($nKnl<1j#ltfjqZOLpuAeVNj< z;l{R-hdY6P5JS?1R$ChSkE&w&*;^p;iL(ndL?q*fU!+gG!&D7h3-qP<8(-sAzQ!d5 z@>-a!f}8f6^fDp75@(klapzjYXdG3X!ug_e#s(~IQ-fZrCyl;WN`JfEEba^fO9Viv!T>NYf zrWjU%PDa1-wKaf@`23c9ieLmCthx$5_h6QkP79;B!=N*fUTnECX1)`XGQCo^u^Ojh zYFQ`7Of?H{Eluz1OJ6Fh=;r34BBrGEA}#Cb-CV4}yP%`75^FGKp0{rNQ7P6V(da_J z%Ze4UJl|lopt8E1I?l{{x)(eHUQt@!nP*13Xc_Q~=e?sm zbNJYx^kQdX$?4k|=IZO*N(}5@q+=EB`6!(^ufWbm{$YvH0o}R5=3;yfTMM738hy+^ z=lWK)o7-aRZ+;A0>>keNOh^4U8wBR|SiFYaN7Ktp&Fb~a>V46Nn;}~^Lt8QI09LCA z_l;r6>V0E`n6x)5Z~(0O+`vy}#n{3NO~c2I4L3=pB$v7QB(GUCEn0B}K65aAll#mo z3Qa}sHUCD`rMO=~KbhP|zn6Vy(g)K_U@=O?MVx^nLv)?wBE`+;(;ql8-#U$9`6CYD z$9WS=r^pO#wGHk$nb^JR&VQ_U7J%ENb&c?ZSkEFByT=RLL|IZgCLhi`i%HLab--Z zgfOgD?E^jlL;0OfH{Bx_V*vtJ**R*f^+6EfA7(up{yl#!#$e7nTeiws` z&C4g9=|@VAp}R2i!&N(PfsP$(Ki57NqM^rd^fLWJf0S4T@9C6HY;M1WQ zzZo&T{-1@!C~SKho~g~EueNOuBSy@r``N+GjJb7YZVo@Ui|{9j1JgLo>8T`n=~8+w zHJ$E&NjS#~sGuRsz3BaHF@)W6H5f>$^@+#c(Y$;H4`}iH z17fN_u`#(FY%+Ei#8OzYnlzC5)HO|@RYJTAwSAW=+1=6+5AmW*qU%?bGZU%SCY@Mr~^4UEVyZq0ovtkHm%HJ$Bz&5QF z$>dsxYPM&AYG=>tAdMtx@$9}nj%VFEI13tii=i3MGbnylUB4v{1&3Lehf*(-n&r3~ z@uEeXr|(ADe~sPOF|`G(#9q&|ZZJS_n^a*Pwj>?G)Sj1$hWjLQ=D2<5So2DWXJqf5k% ze%h}gi!~%u0}qrwuAy>0LJ9KgxEIN+6euDYjIb8I9+m~wwjW?MQ3fe@4;?j5EtB3Q zRUeS?hROEX9xT}|{KB*7{N5_hi{2s6j%{Ec>*w8;%36mC#m}V?-Rj$LM)jQz~(>Y-8bb#OY9% z-7|-Mx`Q1j=&H+4yXp9n#g^r`77})2>8VW+j;8FIEzQbkBv0GPnqHr@(~^rP?)W^+ zW@GU)*W2fTI@QtVjxjVHIc|%i$s}O+n`C{3npK|XWL6Zm0WZg3D@R&q?mP=bvmv$31o7vSLM6{q7YWe@*;G9E zSWUX_m{4W88_dDt6mQ^7X+DQiPc&xcj3JthqiBN*XC36MK3x1qX*c%pGolp%=p=K? ztuqL9)FWCRW4XLBJf`<(^gPC4*f0tGCg(2;eIlBUCx}V&tUr@QRx6_CEf%vH!&?U9 z%aEW$d3{`x$FAsI`rA{w*rd!>+(qI#hS%YMHZpEA`H(S};jY$9!SDKoD+YR{>&)EI z<AZ7;rFZHQ9q(J^_>GO+}$LvgUYH0I7q zLH{bBZVT9qjfe6wnsXA9ag*~}zRBK`-=&%^7h`q)pxqDByTdB4lVT%EXYQaP{A!PPfm%N>-3tV^K0c?gGNUoLHBwSo*2 zNfyV%<^1z(U?PhP0~41sOgsQ?!ZMAl={a^MpW9j5vmQl42%(KKqK9q=cDcA+O>DeI69&&={zv&@A32JvRjemvyNVii9^HY0hR z54+buZhnng!g7oW8&G6Nrn^0*{ujBU8yC!Sy{e&UI-YrdelSA+j=Vyh-bCODg~ zWh~L!)0}e+b(OZz#Dtg#`*#urK@Hg3$LU$}BtJ3fk6lQpT{}iSj*}WXm+gU;vtYAy zO^TEckX)c~5Y>1AVShHK5zdj_{RY0EVZIgNGio=4I&s~RvM0_4Dg9TYFr)K9JZ#^! z@;Bm)5HWOQ)3UQ?`!r-TxgWD>pR%XvGSEz>{5cbu?{JHV*D2`o5(X%yD+REzK>_-! zg4cks^(3nRxIXa6%Q_C6W>ESdr{>xEXF&IE!}@{qoMzxdgK@R!=wUNM_^7#tESxL2 z4|1-&@##Q~nDXV9O@^U;NL3RXGY0h;r3UA~uJ{@Zs;hFtE5VT#vASvsB>As2F`L1h zS6Oh{%M}%RRF^9)WV-8e5pLRbV-9@|Aw*AheorMEtx!0JMRWqKQ6 z`)&1vv8Yb?UB~JmW^h zwBAu|<@c33`1jx^83&`srH`qDCbT1%KUdRO~c^a zKDXstR$Hrs^R9pKDl1g&gbBv1{_4NtIU+dJjQp&C<&_r z)1j4KJ7eD4HJ@TJbTZRntn!T4x#?V?Hs$o`aD|*_2?Jv*P_O?yrs9~N324CMk1Te2 zi@S5jl_*w>KE)e}yV^{B>8%j{G`Z~S2#Z+&hNX~XQ$#0ctaiyj21ez~M$Jn~S$xnC8emBi85&P}z<+^!C|@&P&gH;{%z#z~ z+~9Lwrvmx#7Pd4pUA>7dUH|eW`h5&oj+NgpW6!CwDZexq#w;yq;T|mY&>!g|C#^2 z_I@H|<0*vE@8Lcy?#cFIeF|}OKfs4InE$d0-C;1lAwKZ?v!nRH){D5+Yh&&|YW+QY zp0B-cdywM^JU)CM@5Cr_*!~IZGxoFm<|6vZ74x65f7CY@z*cG}X9)HocFNxaUF=m3 z>~o{fj7;(QPJ{3B^(wRZdJVrX-}n8D&o6)9kRCtr@8c$?mcDDX>)pq{e>eYJAEy(M zSkiru(N};ufS+$0kHzzJ-!mLf0V_=V{Yovp`uY5W{Bxe4l+T0v#}8=FBaqj1%k((L z>9LZ3U(QX)^mvrhLq2c$`!YR}`S^z4=jYwS_!r;iFk6BsV_HXe|S-gzZLhaO50B}!)saU=q@X@%L+I1oyfgShr&vUT;U*vU?hxt11 zlfMtXyv*+NkRrbBO#EDiSZ5G6A*hiC;CEqB{${QYgNuqgV_1Wmd;y;|=iqp3^aZ}gQ-^Q5)B)o+V9rvYYb{tJiutL|LPxJHk_2%Z7 zPg*gLOrG|Rr-fxu@Cg?uXOGaqj|xMR)25>gm(kG|wH_0J!@ztZhu09?;`PUFJltk* zJA9j60jBaH`$l41TAO4)Rm)?yE++D9L9ktgi#*`vofBn}_-T9nu(6y{K z2usjqB}Z$6ZdE*YC=xP=vfWxMbmN`T5Szl^pk|2OJGp^<@)#qkt8d+%)<@9W*c{7E zptr|va|i5h0=xSdv%6PH^LEoO>9yn3;}~r2I^;v->m_6MJ!*x+kI-4*dl~Ine)b=- z&2bwYM$K>*tI)nOY=ttX+iIq|PQWJbT=5%mS}7e`cJ|R#bjbjvKhUqnR#A}TdvjSJxVB~JIVO0KUd<7W!|RTYE2kXKe= z>h8mO;RFf#Qe+naOdKSF+pX-3t!=Db1iM5M5hVC9v1LXLt8i4=CeT@K0rCCWYd^cU zoYl@cCe~$VCirGXdx&`z6N3usV<(wfd&hXOzYF${U!c+0Om;|F_sW1+jm*Nt(CVCE zGuNz~9QR2RNsV2cXzVy^eq)$NL3vsJG#hjz(u^FMwJT{#sJv!ii=_O8^>@=&#YQA5 z!oyqy_81kY9*Om_0#)3_!E%j*L=Ux)&hms)au%)_%I&6^wzvLd}gOEAiQUGqe zj5T-~f$l_}hm2aijD*@n*;p`oxtrpKiHi_V6u%`7tZef9)wQuWXc)HN+nsM8t`5j+ zUcDo?)UCvFf+X_ z#np4(iT+i`st{!aZvqcgUt(R%9@Y{=rVTD7-MUIGnaG<(loXB9#&7HbWipA&G@8m$ zy3k~Ug^9n(Bx3V}pKvyE?>%-AS`QF5)}}a=Acc;z49{j^S6p$VeUV^PG;LB@_x_5jo%)t=E_)~=b$=01KO$s{wmd;=F>=I0cS z^^Z!9mWx3`+4Z*|kZN!_*cxj#6zsYtrofA1V8*Oa<+A0O;<(qh&H*a?R$Fik0I_cIOPL~JnkFhz)z4s{eBT=#Y{m2k-429vMGlcOo0#m>Zk(Zg$#rz;z##!hN`_}cnI-|x?HPg}U@bVK&mft9hO=EKt+Q1N=ua~Jf#J&UIqwcyfu!|i~*;8)XezyMFOK0i#(Gkb5l;OGYBhkB5BYw{N~l0-3oSx7BPR+-mnLf zpe_kOi7?c_3E_;c|{d2B(5&D6GgE_}24E7GCx$z9zr%gw^k z%2cGk(YcFAhIL>_gp+S+_5AsDA>w0pvw2#<7+8M*XY)YhWfH)^MEXh{vN=r5`I z_XhvK_0pdf?oJlo(Mk3>8>dFpm!q-#ZKyqC`<8(Oo50BhCG`2g@_@v2*Npa=37ut8 zX(@HTZ-3{D8;?x1!5Be~CV_#IeVom;=XA44^$PZen9pD7S|6Ar7Js2<&Gb4&`e^u$ zT6W|#7pRm1K{Kjjd7Y<9rTi8-Z)SU-7!J=NyRhUpA|i~l#UMZ^n%mmC67V+;>0ImM6CK@r9aD&J?)qr~wFd_@2_xT;qYf^n zbZJ*pf#TneWwSQX~A;jv`+YC+fgU; z3~&Cad_wu7Q3mF;@sQ;iItRv}+8E^k(D}e=ei+a$YETNRVvu0$BI=Pra7*^dYtPPF zQs^I3vLKY+FsB=R$r6))`)0*>cqSGFhZHAz(#_RJ|MA;e+& zE*L0U_DE;6LsW6c4sMU%do5Ll>Pa_jY>2??Bwh3niUmhKTAad;Hjvg&#L)J&fQ+7%V zFIFYZ6f|DZwBzDPo@C<#sfoe+&%k+)nSdb z_w^5}FUMyC2V|;iQe}Pa657r}^0Ebzr zu*^lb*otevK3NxD(z$vt`O|sQ1JxTtBQpAG;?-&Ox4=!&fq!nRymzoM)2EIO#SnYa z96!x+`udBj8y;SnuE&4l2&{+6j?RXcZ6t#Y`{UzzI3ZFgB{F7J`|9ydF|XZ*-lAcOsQpTv?_Oe`4P1-(D4{1siq5%bVmj6`c7 zNAc@ZK`I|^M>B5=x5Wiqrm}*2#hJm*#h42d18wo|I&3Q%xkAdblG{SYkBgeKxTmLX z#soodnKpmR6P?9}wk(|;GI!@QwTDdOiW?GR=FRZ4HjB-kH7hT{Q!#Fm$=iIVTJ6rd3O^unW`PAOd1-Sw4sdej)*Y3J$^vYIGv9R^P{2<>MwQ zPB7m~VW-yNFXncI*3!e9;Fdzdidzz6D^k3Ii`r9$>$a5#CIs8XxtF)CnNfMXcZQ9B z%G{2OqUIDQ=ZF~r$;I*hlcT(=I@ab?-Mcg`ZO!w&Y~8>YZyURcY`kRTr;Vmu6+_k9#pwi1-T(?0CWd!v>=1Be&)fla}tB;+2Tgm zUtNmpTB7|j!kp&Z{no#)>@N1nX-qBISQ}Y0{1g5Bw=?zRLW)yL^AT)0AftTAqGy|3 zBC-M+MWG<=l8uYi1i>ycKGm~qQ*~HK#iqIOb$L+}Ofwg)O6z`9laRdn`M##$y5gvW zx-}V@orV4**H^4wo=_UgoI06KN1-R|^|B+g?5O`LQ;56nEe6gcyWw@Kvx*v57DE}r zc&@OZn3si}+qj74P{`Vhe2{1kb0*S5Fo$7kVJaAzv%piLAWRk>KC$iVBeQ28`Fh(4 zDgVKtYwXY0h90c+oiQ&udfp5%%{#p&F0LjWWm8$>Q&zk{zkhMn^a*I;Fn>bY%9qIG z7kZ~n$VT}rJz70QC041tD`*7~4p(@qMh>g|s@b{S)L?zZ;EOP$=~$gk{lf2)y#}x@ z+Pi!E*yyYq4@44pg%Uq6ovop=A*B;^kWp+Vmfm%_yW`3|l>xa;eOt2=Tf@mKTCi*? zreO@b$y}G%nNg9&vChu;y{(PFNrl=@D-f1w&UVF3?S6b&QGY{zguR8uLt3NgAdq}z zd0&C2XYs)NnvHXO?|l?o0Ppd91nPaqv#JWO(QD#LcTaCL<%@#rZEFc6N5)6nY>>=+ zfd2aQ{Q1w2Nu+>G!k?a|zmDlQC@t1BTteA#197|5&~S-<`si8u*`-FzC!#0p7pkYY z-51L4AhP_LiwNbZ3y9%o3oi9U;pQ1cJOKynM7co$vc;1bwjO*wf@lQbtzZ7dc$ zrM47C6~%konP}*Xld{*GTeahjH3_jxpUn8@p2}d8ktfE7%~RAGJH^&d^D@P<5l7X& zt&BWQA3h*Plf^Xh2KHfsJ+Ox<)u55_uZv-rw}l5ro=^UeIbO2zj=q-s8P z&+5{xga~?B`c^fcJuSumUR3-dTs8J${xo-HJh*!U{s@O{M;50qNOh}P`CW`k&cNMp}t@JF) zf^GsH@q?oa(~cQRkS~)7bNcSiiCJ2c6kaqxG^Q-gf7}wqWOpyis3-@&Sl4OorLii- z&s~o$OL9x8O--wevv-Zn51H&~KWSRHOQ_m1ysUSIyrx3M&tfrhsY=j^StK@v$Axmm z&&1;i#t%#%ePLXRSh*j#56Z`lw~XSA%ds35|GHx@b}=?(-$MH2Ai3!1ls&7WgFGCQ zIlCOc4ba%=q1vwPryAywLxR6X+IA^CVyIs*#h)%NzS49D?ZWe4oUO3e(N&b zL6)YK$4owOf+B<`7&W0M+ZoK^#3QZ-b=W97<}qL(w;iS=?4p}&GqZzGEFn|riv!Z} zorM?cjDeM{Gv%6WuQH=Sbb|rFYnwvK*li&K$R3nMtgUG=&K$cQ4@t;0WdF+Jg~O13*v3WDUF2H}OJL*^pTM z|EA~2FaLv>H_%6!{8viy_qP;{*xMxR4Rn;}W^AfxkWP{BM{)*EcA3wV zo-&`|-;AZS%yhbgP?8(C=Bj5h-4Rrmjb$W{g1!%%%-BkP0uzywu8Jy&p(DqtStRg!-CQS(f?jUn|8djDK)kKbz=K^e=6x@ z%;Q&m;MxPtk<&l=m-6oTZkG5}o-9zrU&l8Z!%ciE3)nw2OulaZQ*lL= zkNP`g&{%9<%O}xZ$nhx=U;y{H5QXkwuuLBu6jAJ&x$XSNFANnYHf<}WKYmgYK)m8= zr~JG>Buol$jm-4(O$~Rn3C@jjb&d8H%s0KcVfu`XudQi%bi-VWE2Jhh^NYap5KYO; z4jwzwm19jhtBd7;Bg3)A*4CH49gk1{bZ^n?BAfG|n+6EjqMhmW`=n!u(9<#HrCX z(dzQrN{`F~tBUD)m&h4@p%HeXvrGQGQjN?Ck&E`%ul(S#?a_jAyvgL;kf4RpO}Q>+ zW~Q!Amg2YxCheAyNz>IPdFvkUSa7H{K@qul&F(pzOBm1U^a*50=I`5>Ri{OjpGp>Y zR3v|`Mn?Q`CM-t(h2ndaKe#X%k{V&j-dvaM7To0v;$a0wAKsx;rlyxnqXd>w1<8gY zLTC4f^b8#<56n$ZbZHmuy@KqbstQvbmtNXdL=5Rj3OQ~3GO8lY?aarKHLHlrCQZ{b z8w-^aEhl{wGR?;#sb$A3qeebUgbcAc#wbRv6rBP>{hi|)_f~o3W>0r$pP+my zd74+!)M>eu3DP*7a5IZ%hb+lGQ6*W)DKq?%>N9*)6D=ox!@!2zT!6PF*}X1kQr0#a z`FZ|C6^zYC0Zdn3{pCHkK&MGa4BXHhJ+83|E=4HaO9||W1w0+HOMilen+`iUeEMc#+lx)gDC?*Tj!RV7;a(apExUa`r@J>-Db(nZ_uN3wj!6^ zWgE43W${uY7|xZSDmp4cZ}wV-Gb8k}3Zpf)$y!Y#;|9FhW@BYf-vb7~gM zpBb$p4pBwXzG<-`R$^XURf=awSzmtPmcGuGrk2hmM|Ue@jfF>;+9xM}*1WcL`zt0` zO_;hc+uz1B6b=^T1~?Na+XA{8-oL<^vODXZG1k_o8Ngu%@Ytx=8 z|CkVnt7G6)b@9VzP8Sm5kysSsR~kr6OJ;Z^I=Mx7Sx+phxODOP;-oxT2B6b2z-Iy2 zv;~{qo8@l)w|TGJ&h2;Kzp(Go>W02S0OPd_|JuU8j;eKzxzHH{iX5X5BdlpO$i!m$ zXbi?-R?i0l>jUMDFENt?Pz$FN4Qo}#EJWo^ih>cE(XX%4$3uEW?tXe)lSw$?> zK@NiN$Ue6SZ=2x4hFH5W@|4mip)e$1nxD=1i9W#*jy`s_!7~%!i}?o3tZ15ExT7sK zc;1fr1)I>Vd_n!9Xyv%c4!Cb`?HTIgnUR_6?;jFgNA8JjDT#0kM@GOqI5{@XXXk5NDI>2@#^V0#UXi{7A1Pd zXZw&)=_wyIL|$l0Yby+7Zi{TtM^2w&9^H9nS?+JwG#tJb2DwrH>T-anMpnsXqz-?qLju?U^`?K=Ih}1voGjM3^M5AT6B;=xO z;f#(gUef&MX&Jv{KQoQTk#Jj{g{Rr_bq}&}s%JvJJPiZORfYt`p=}Y+}N6!_7i+6Ac@ZO+-*LkZ6 z%6z0)1;zND@+(0+Nu<4J%Svwkm$#I)>9sY_Uap_i+m*Rsn#=$2L95$Nbtk3JhC0ug z19h7J=81Cr6Q7dpV)&t2>sx$k>*cj7z}}ks#JzoL4xbSD>jA5XDG|SO&X%uJxMRpf{^Ek%ZCB{X zm2G(i#q?p(d{M=^5?|lSeb@F^`1qC}mM$38LJnC!3QJz;p^XMJ>@s%|Wgm(!hzKh~ zGyJWs{WC(tG6Jlv12RsJT-unOz46k>%Nw(@HWvFYIJs)gaJ`@Zf?-OB7X-BD4qYMR zt_7EtU{Nwh)ej;VQl9O=x2lfBloaMkJNg^zEWXGzgZRh(Hh zI5%R#$h(uKE!-}CU_K?ICDR`T#Z2xHn@|N|FC4$v3EmNB6y4-eX~L~AW9UX9E^*_y z&KSXYoV)o2IW20?g#nc}(Vz#&uXSg&HW15XxCfEvt=#;>{oSlAT>~NmTrI8C{*xU7 z+$=5K0>T5_7CMD`+Squ7MzP;KLxqhop`O-I4o=P??02lcklZ8m3E#2!gB80p9~G_D zu7$DN^D~F0;@7O9c;P!oXGdrHJ^PjITQFK=L{M-2GW@4_kO7S8&&@dAKEVzah#j*) z0X?Ez9jS{_;N}(ng6BEJVoN7a%LwO~AZJ|mCJnw;fg#~e7iKml+LLyg+uAzO!P{Qy zX=@YQTZvJ@hWfa6>0{;7u94oh-YKPFzx6J&^!IWg3AM{pmfTqT?RZBA%N`+q(IV+3 zb#hh0<4ff8!8%nvs*B9?^cr0XH`YWy;_VI{z>0wkE^md|^5rS+s&(`Wv!SoF(KFRU z^Fl;%oQ=OH))F2^)ND<2+n1+N*Y5irBK#bB$dGGhPZ{3IS=LK;%_$b_dV6ntwqy6k zrHn@w-7Hi7th&Ua5=vb*mu1IpsY-$lamJHSp`A8Pmd5s>*6aNJhiyC1~;R+0xSu^hrf%!J?(BrfJU#>y8GUtk_xI zLLA0Q)|?z4x3wuQx3^0lEmdBXzFDdSExF^G#sb zCDH4vWIE^Eq^h@67a*hTY9<3`FOgl*VQWLnVNbtUvL+Ly#WA6J(h&?0!WPqMTbFQ}S{&##}0p-urVW<7elJJ#04E3Y=4{dVP+skIrtBT+rE3$~m%U-#z17arJH8@-G!j#;q1 zl>Vm&XOwgErXmLGV%Z_6I!+o^{=o`Qkac9jh@}Z0O+Unz#JdU&f@|w|Yd2eRZNUQR zyKY4p5;Q^mLT~Tl$zfCM0hvsXE&|^y! z=;w4Y1TW2}wQb4%c;@c*REgF!H7N2s2&q2aJzY$SO(jyjIw9D(v@o@Lpu{)4a$uI? zW2tSuFtMjs`h&Pdnugbkm@i(qN`g6$4M2{xHtucA%*hrG{TyAIYa!3=*}k!yRtn^r{pBL1-qGr%w2om#rD@4E}Yu7Fm~mK^n?5FDLXvW7oAh!mz3d5 zVr2PKZO0y2{u_Ev&k}dw1}y`z%|Jj^+u8!=-QE0d`=R=fB?-k*4$TnF33lF2q^f0{ z?G)E{9o;OI5Ff=`Bi%E5XHM}h=$x`Qd>q1(( zj>T|1Dw4&t07*<|xH2@sOFh9f)AAJX-jD%XJe!KB2r0*;MqX})7$g> z2woBgcJ>P%UD_nb#_cP-5%%nF%g@9jA3;N>t$Xcs)iSEUC^Hq48Ns@+(^-%6Pr zIXltaF(lPTILPfG87s%({7rZ)9(aYE6ZSdQOyjzMF*>dm>vk?4k4mE763fK+7jfR+ z&Qecnt8j7I0}Fxz>mTf;-;sz#E2rBLp+ovWd3HvDbUrcr#^<|iW5Ydq6mC7P2^C57 z?DWc5dx72)T-1^{$j^c4sX^n#suy8Lq6Q2n!Omce$XRK95rkiL0%w^>#z>sV4L0RO zJHN!jnpjQ3f|=9&Z5_hW=PZn!8CO@55@dh3Iwi{8(ml}8uV?qk@}*U$?pj_JHt(UI zx81+_$A@ain_8KqwdDH8&R3GaNz!#H8YRjwXP;6vTF5R56&6+z&R>A z$T!N%&ZKf#j&zvOAueG(jNYUie8J>s?%T)K^T*o03 zABNqT1Ao!~*pkCDS5TMK7}y0|BAF7?w%9Va#DQBnG6@v3noVrIoj!H+upLKQrO#U5 zf8+C)-Xa1F!fwT?d2902Zn&VlFar&s(axJ*zwsoG2{GNWM?VL*3Pxqj@K(9l z-cI{#_tb@P5wrFPbtWm;SzDX*51>n8*Zqy;J+y^aq~NlJ=+!Nw3IQ+QRIY|>F>8=x ztKP;IqDR5h%FrBPT)^8#C|9*jZ`+hX-=4m?Gb^^NE!x7_&*49I9<~z%`trPk?Fk@p ztC^#}6A8geR5{mwPw1Q*9ahqndd7Et?JRrgH=oQHclX$=DZ*O!;?0f3x~GS}3G4$pptB4|*C@ZfO-m$=Ju6B>>YgUXNAe?jS1z3!(?QcL&24=n5>njq6B^3WLmegu zCKuPm7RA(;q=z~7l0Vzp=(RV3a-!Xc|Ev|qFZX=%6mj`m9dVsHXYtlqy}eF>j?-tP zN2z0L*X_P1=fR}Sn^)H*D?MY=r%$!~+nP00$u=R|QFCyHmfWv3u%n;`t?p<@85)+1 zj>1qxcCej=XSDYwCx2ISL72r1*k?&x)7{mtRo&B>eEqvW+61o-;t{%FW<)!!5?^KM zG`cdjW`>`4dToM`vDYCA2Q580e|vRsO#Rk5Wd8kUaEv|D?>=SQ8)+~T8Li#xji7E!d>%M?R-NW=zGM?CDPaK^_KDGc9Y<8N}o10iILOS z)hETxU!OyJiA@O{4JKd8&#k;%tZ1l}I>2G%@F_DtA16_Iq`O=B_OdA{g}y%o&rY54 zqB^N!>M7ZlWAf07^-YI7XtgW%ID~K;Q(V8&DmL~}kOF#$a{*%$=K8UKs(_O?FJ)3SY~kD3$*7sC~yuN<6vVt4PHQ1VLV z^7_0eM{vl@n&`^R1t~6t?hW|?3G*|2+@dma@;q_^DrV=#sfFV`J)d`zGU+Y1gwl?| ze65^x03)D_S-jxRZ6K-4`^xnXGsVaCurb4;NxVjr;~h4Qvtz!wUL&YE12V}8w}NJ1cZkNK zv#cvr#n!$FK94;Xl;CAfQsO#}HGbG8eYlu@9}wd*u|@i{l|(K)u!u~fD=XKR_=?R~ z>_qj{V9}@c-mYXtG=#=g`qeHdEwB*bFX@kNjWEtCs) zclVn*SWQqfuY+TX@k#7~-?=cbC9z7qx1;li+36aeTpYh}>#VnHk1S3?+w$!8c13&J z|3}(?fVWv)55TzZtL1IUk}O-+mMvMK!H*yg+eLNLd)o{w6ys3ckX>9$ENiE{GabjAeOH0d){-;J^P+} zudnPz3G8qIiC|rx-_|r0P-Zl2Y388$)tjjlC;`^a?$8$0nW^^8KsQE@bu&6VWVe7> zFnvPogSnenDOTQOj3hmU{`K1V-{a|7i{dw59?gbttd`FUtBw5sOhIV>=G@%NmKDc_ zZr#kl=CXlb@qUglzY^b<1g8)|!~9@orSuXD3y02FcSFVtN3Igka9p;zZq3f4l{Zuz z*)`c{Sxr$ZQcUjB%Jk0QWL3JgYi9%MKip&S3?HaMhv+Zflx6vJ#aHc|YRN$#muwzu z^J>zH+J>j{k!aJFr%Zi4%|$xz%x%NPHCu;jl}PKY8?S3AYR^rf-@NbZ)O=?aUz}6i zIDQZUKui~!(*tyY^c>EeU@l=XYISLD3(RN!1pUeMg;6WDmQs)9=Al%~y4ZM9L5XjD zFH&#cPA?3uV-B`*r^ycq4grYK~xu&H|w=AFckCegI}m#L&+xq?%Mf} zH$eV0cNZlE0r-?k!T;{Yz7dXBy+n7Z$WAS6hOk(H1Yq}QQ9IyBN*E4PfaXp$ndwD+ z2Gy`k%0R$Pnu&=aMmMKfn=2hsji!%7BnYI+ACtLBA)Zmos>-|Rb#Jbzp zIGw9+8SzZ^H7NcPnVfFZx;x!UOXF0DcOaOTB=ZD&3p?68Ern*0ta@l0par@H@M6ok zZ@`&pn6ojZv0A~d2gZnGsu)z+%%%$lL#RN-Yz<4gu;rdbeHoP&C@d;f@p#(G(gL4~ zhb-O=_pF_Jc+Sn&dwaGwu~>=n^hAZ*rbH=`d|^ydmOdF#uGxMsP3{RiV%G7NCh@G2`a$|Ts3zho;m+|{mNv2s%F!JOibyp)vO zwxZlRn*`}wuK7vdx@Qj8SvvQ3l=r)(1$jD~DmEeUvM(>I@4DgoL!*U9_OR-2*id0= zJ~-&g=sY%Bzp=rf3T~U(@bp!cRl6S<8@P7;pgps;GN36ejgw}|B$nj88LR5@R@P-% z>c+jTCp{ct-Np;doX~|_#GZmV8T^qsAsG&sB&Kkmvsm^(R<7`R^A+Z@g_oEa9mIYi zT4py|q0TrV-D@@4WzoOQ?mIS+Y_#U&kNE?%B(0t<`ReDF0x?(5=%& z-gRgDhc9m~;|W!%C{dMeQe+iq;<8(});MRz`^!z#O}?>Url#r8SjVPnwXAHm<3Ing zjd$e5XO!hVmzt?gj#T*T`Zt~I>A!z(tw63%vgVf`cz*lLqdQA$_ukuQZ?CV`#qpz9 zS>5~F`p@ki$&lL%%6m8ApbyqAZLIIu>&Tf9%+PQV3p-p-08S&bHHKkYe857OAY#_P z+%xx1RqPmRb}Q4}!TK7dEMA!^XzJ;yNii0tsa=`LG07S7(Y%gARq51;`jOk#6-KVP zYh#hl*ETq6D;lbHris~uaps~X`!&0_ZDzS#rMftgp~#e!u2BhoE3WD4)vY?(VQ>r` zUx9JOJjeoE0r6!Vw?xK4OF_a4Zh&IM{R$giK^sPiD~;H!;MVi4BaiH_$?e+}R3>YZ zqLXu~9XeNfB^jV?|M~SLs=MV|T;3ZMFL1Mx(K<%*2|yd%B=_ z?e(nwixPRKDmIG~4Ss8;&n%sv4(__M zr{#R1tfaIkdGNON{`BIu;R&ZjpXN47gc(I9o+8~KLVVa3Te9{3@zJ}tlu!k0PIP8u zbY3?$ezGSsv-`xvwXhw@pD(kh6H5-hd9?fHZ7Yh^_ZN>}Q;j>a1ZirGue>4qz+2Z= z)g6aYY2Z(+>mz|b4e$ka5NI79?5Qv+pBPnK7Dmhx&iJ!=8#djnFi2w)^kuHB!n6dA zNUy!TX1#CyrP0y5H~XmusB>JqIZ9PB(Y}A?WV=?@bb7}``)q|idh-;@yl?K8N9$`2 zzXw3sQ)-)b=rWKoAIt)DT8I)*^X{K(PK+x98rTobk~Wl}7)_mi#o4 zS`sfdm1Px{rA5U{lmhw>+Pb=OrzZCG6c^dO>wEJ>`+hQM zg#wkX>9W@KHJQ<4VoP3`xxC#f$ZXx$WzAkuoqd~7YlTfoDziL3N|K>KF){H`EK|d5 zrLD2FK*p}$cr9L*ju@Z|d3Uq7M(o41guOTVB@zv^Op<^vg!gJJCoi;JAvs(g$^p+% z3lR>OeW;NJjgA;`At%U$*b8=^I?ps>zd zZuFNJ%T0~;fH5)A7_c`>^y#`JUrCZ4E-b9K`*jKVoogL$(mx*%W*1g>uJ&dI^356v zPp0Ivk=W?BJfH23vm8EuTgl+{Yb(t{i6K`Fi|?sYQ=z7`**J2~qF?eRWXJqKVH^Z5 z@k^F!S1gCZut8s@|0y~?S!=S(&EAZ}Bul{REXjyR%Bn5rS~otn-Cwio_Kuv@M$|f@ z^O{ovPs@x7e#x4v%l14zmq#Ub@9uQSBh4NAJ0?$d>2*ze%vb$nBCFxV>)STGaHK9h z1UvEFZN+1BW8Dm3wv?74-SLb0p76&yWV zrdAP~n8N3wRCj?>+;eejB~|vbJ2HDujLjYnrkpxDcFjB21qK`t1~t4nH2_~&rp$B0vp{`+08Sh@~b(~9M77zf|xD(sS`h2JN?{|2Dz<7pHZ44YdZcS zk>v=AoyvU^S4)E|UvZz7*lnzouIP9!6er^r#Jo-Pj8MFwPLdR_V}|dbo@rthjhb8xH1MhWp$68IK0G-95bG z?%hFC=fR#7sa6~bK7u2s%p^j&JN@=tVcuxlFF#LKByzZ`p;|E zys#}le`x>diR!HQeyJ_L%xv&klJ%9Ne%7=g0jVb2b9+m4wvTT}(dQ&9T!!QnK%em2 z0_RJJBYWWsb`Kb(cg4bDa}~z)$9Rt^vBag?#69$|T()=)E3S0MM5j7qz-Fl{&6S8< z{-9~axmlm7eNWqo+$yt>Cv|0~%fD&&5FTUbah=}7DvY%u-E}Ok7xZ_e!-}zY|D=sN9UJ%9FlbYA=@sC#O zD;iv727xTonkf_7J1YvTHiNgqn~6SLbN`l-+Wn8LV!f|1CP%^=o#y5jjKMrLq(>XS zfBKbYlS;R*ZXGK%Sqg3Hva(XeTT+R&w7^}v8vBAu+Rh1bF2I?kDG}3vGuFO9e|$y? zXkw_nCC4SfMoPRXAL}&-)YCKO4YW0`BeL=0!9P-fnZv_@M?&5rs6yM7hz#6CtAfMw z=2+78dWE?l%52OrWoiWJDiOtMxarR)SKW7XvN~h;4sEG7M^ItzFee+66a_K|C07f% zQPQlMwYA-w%jF7fY__l7l;7!9b5rvisIExu?aVLi^JxpJ%6Cq*dDQIZRT)|7id?zQ zOV^ltGt!&0<+{iOF`avX{``ftxkFc-|4Hw?DECyPDbJfq>yoIbggJBns`0#Ie|}(l zy{_)&&rgp%P^EI{#md~8Y-LWaKg-hZ%4x_~sqz~JS2~q_>-QhL3ivz? zh%8&-TIrCk!FePo3tjFtU`NfN54%MnTDjC=Ixlq=#O(jeU2}e{&pbHTQD%7Lp|q5= z4f$sa9iJyufHH)K+Y2&vCAP?CLssZr$Jp|Ka=6`ozxiZg+M|u}atzjLfD_)@ij#RBVbU zPFv8hVzq1N{Iu6Qd;6#&5GYNR6%`js`p!-lXI2d4IlEw0^+d~bsa#hzSy?kvqff7% zoxi2;%#^3Ff1@Wg*J%@jA;^|0Ty;6KZJm45n+^;W^%beO2~uIAwV*6x#o=MUKA~#c z?L7l`@2HBE8Wr-))HvVz3j^(Y`~69LOJHS4ZvsEbATBFf^sU2rrNzq7MRvj>x+FlB z2zdH*8#^^`^1|xzM-K#DeY&M-01Gl=OS$8Rf$smRXf=lE$j@OnK$0yJh9UDusVT zhdnw;lZ-yz`|@$(JA1emnBzW1-{C|Cwy!^?)LSXp~PHbG3IL$bpAG5-p(Bxx?F!_8Cv)Eaw0jh;(SZ= z%b7dcN_VaF_&3}(kkwpOD3JylI?O9>nkb|mX*scfi~EEj(6~BSwWcynY^ic74AnZH zPgiYFxT-8-eQ>I}WY_dST1Ht_`}&(k`C{wrSQ8(~VQOD1D2X-A9=msV^WEcCS&lC~ ztvE+fFm(ZFP!99Pf%viz&)bi?98AeEGo3b~FPWsAK+WcS^+n%ZdumLryW7NkQ4EU@ zfn!dI?v6Ot4qg&zjan;ixZUD8eN$~373B@(ErYAo++zY8??l(iPhT*HL`q* zLR;LCi?*gHOJ;8F2u}92SZ%#s-B#~JeU=nzc=2h<;Lj$4eKNsbZeaxEGJhzOA%~V& zBkEG%sqt)8@a*v)B&1%@P~EZOqFMD_NOI)|)c+vNf0 zs3A5~1&bbZ!rJ zoEUSbG~Qyw*`}<Um6M|+z@AXnU8G1(aj=J>zEemLbb?A8<4kjj(@qLXx~ zNy?;{M5C+J)P80|z!2yhT4`=<71^^@{IooSvBsT7|K7RsSWn$ty}?x3Yi0jEsV7Hn z(@Rnd`vdeBf)qhyVCPRJJI`OWrp9oCeeBk?)jN9~>ipWQ`5caU?98Ymqr5-g-Wl{r z2;Kw0Tb}@LL7oO?hiE}ilAtod1`CJ_;eu5*7O4UY`BYbYTkspfFf*Plhy97EX4QsW z#oJ##9MtBPY6baa)!H;uT2)D&@J_2s%2j&WXWH@=Qj14hb1Ydaj?vl*?b?^Dl`R!H zDS<76s_H6OS5*Xek2mKlRz3LlgXjFW+@(1wNAy*T?@jPcj7) zVU~1&o)A;CD!(pU=g=f18cJ;jza<4}O1Ipz`s=TJvuAtC<}9)db7IwThd|h9bvS!!d#wYg%PzI8%eBq|PTr-*t)MrHRcMcxu1d@Y{)YF;lDv*&BxLax| zK0rw>&jpp~I8-2tj)a56ty?s1>`;tPs29XhQK5lki$Aj_GM2~Esgn$9(LK>{lWdAc7>Otji%VG#_S7GpD2kS3DEZaB zBOSh|pC+@|0=Xt#$`cBO@lo2EtsUyTY<&XX=q%FLjQQl${jSd9v~+J%ws~U1rm3Oy zs01ErIDX?@th1TrCH}N(xy59Wn^jzaJn6|NQx);71Y@u;F2Ay=)-Q4gypuO}DJnbH z_|s+&-+XFs)<9>HLA3JnrH9t4Mz$Y4vM+b$?sa)0jWH?7s20l$+Cwz7v-4q2ML2?9 z+#VGQkx@E!7%_#yRz2)9E&9ZZThDNIj#ve(fxx-Mgm>A%h~P;`mvF=!Dn3Dg``r%F0aXz5eTvQ`M5zY)apYk6glRHCiry>| zT1^U}(wIzN_4mraP<>h5VCnXI*I3K9-@n?wrokTFo8+$PcRT7`^32i}Q_<8=du>3u zE~_A~so#*jvdNj0o-HjOC@~Au0_9a1@<3C!b+@#rYip~ysw~hnTr3MVG^l_6o2HCw zfiFpHF-dec&ZC3^h_H?pbHe0g_9hXobYj|pl0$fB0j4od)&91=+Fff-6lLV-OHwj4;Y*X5%4{58#X zReq!W__;qGDr!0Y{1lrfijS8(vv>1^qUpp2`VWbcsJad9Mbe)NGA(u)uX5kBpnoB6 z$gzW;00RkI89bR+QmYPEc%h21G-RG3NdX=L_71`7EUxZIJRnL;CT3|fBXJN8FBad! zsdg-m%~U<$)YsP51cT{{?98-8(_l-Ut?zKRb0BEBRjAMqv2m0SH5z4 zS-QhwN{x}hc2n?l);BlW>W8vBt{QF7D*S#=mdvb(OHGQ4nM_W#1e$cYeHDiMt~EAI zojzKr%goH+3w4S_L28o~!%B1`|w&Hn6r9O71O6cYA>YZ<>u& z7g#b%ZSo|oxn#?_)j6AP?o5jk%7pT4qd|PB>TED?xZ3QVx-b$aRqAaerZhuTf+*T% zl>}r^)|{j)9w;g3s?1O3>!h+^V||f6Dk)tqR!S119!Sm)G+~{_?kcya3zPZ_z|=hHY8XOL&k(8#Ia}2R#a}ewIg?C?Ld`r`+;1%@}nwfux1r% z%U9ilZB(mlfDrN3`r&#RpR%V{PXxi}B?NsbDh;x%K zqkcnO^V*<2g_iW}?R3Z@Wk#n|U6QM1S0Z@@M`dwjxU5<#kD=c}5#*=Vfo}I;`YoD1 zX4eT8ZytCiE&)VrI2#~P0I`;?9Z{ddN^+LTXA;XTt`w;}-y}mhGWUv-3{OF473^?z zmQRdMR%TbJ)%mi@5uXAt7Ia+NRY$E`wW}gk8Qjr-)q^7j!^neIHD9-T+7>9G|CXFp zV#*BIWJs)1sa38Gd#`JpeSA-#YTsjc&T)?4##XRDj{tGN}pjs9AE2?OI9bL7@ayY*`h1xZ?4e1WUU)=psNp; zZ@YVF@SYvj*`0fuv;t*v0$*QjReQ6QNRUxzDyPhO9g}$}MrER;aI`VK(3KGf3i*I#peQKxQP}b2mklC=QJwI_gLFaDsmGyh%*^O(9P`tIHG?Uwm(n`6o zjbBmKQ<$zcl#VtwZwP8t!R;$tu!USC*5{}D8*Fl!#ye1B@2t!fNb+k}fn9{07G4{> z3v^v3>^sDHU_IQ#<`U?&V5dS3M_RgrtI?{`!b68jBG+QIE_S1F(OT$$UD$_t`B;kR z)bV7LJ#@>&)T6u0;YQ%91O=b|4gLF)t@n;?xHM)>I!Sw0?5xqGSSzyeu7CQnwtnXd za5i)XC{kwKDSy^QU*7+x<|89+sPt=n`U&bO^y1U4hlX;&6m@-lY<`nGzq2sE)+)x@ zn_XDnV~s<@QjIuLoKuH&7H#A9b54QGfs?u@bGX_R>u$6>IRY~d9DGGb;oYUg+j0>_ z&+q_aS8W`~3i%9Dhgqg}_|@86ooL>)_9uHPOE+KaPcT}YsVu2yRYR&V#W-vmxP7j) zXy($Wt;=X%b7>aUDd22slxE8pYjO=qkZj1Ny!&np3L~{;9=g`%&)_SXZ=}8Xd*8j~ zhIjURc=3s`U31l$@wF*sS<~Vq&z?68|Ys-h$^h97xZZcP(9hmUtx92_go>zvHBbXR4K%$jQ5P&zA1 z%CB7CWR})!Sy5^hD+^jC_EcBQ4K$RwWl~$N-{`3_#FaMiQe`RJ8>P+ykH#_Cq~%+7#bvVtxxfLuT9Mqs9sV7$2OtkW+h zi*;eMq}5Q48I-29m+AC5vKT0H$v)e)t3@A}JJ;!KPiq}A7NqmF+R9Xaz;9RA?z*S< zuV1ozXs5ZpFijblYO0@T4O-IL$9C3qo*Z*ar1Z?hY@*(4@s3NKQ4*!WS!yhuZLy+g zn&Cb640}t2fLT=u<48O(4on1N3Mn4WYb>KU;W@&ZSpB0TQrPTR+?|&?u`M@fO`_k( zC|xnRwRj4uaqfA%bf{EQQIO^~rNFr|kw;Z<=7(qE#-4`#1J1p>Yfr7Opr)Jl_2iiQ zPOd(GhpFRWTiwB_wnAmu_6Nq!(*GRM)dVY5rKQoy848giC54|CskhpM1^s~xOUc|)!2<^zlEI^R>gDq1P)Mc-ZjOL*zO^G|B z+@VZRnDPUSm4)UwxNs*v)oKvf?53zkj1zt;uN4s6dhclO{^YO94|(V(eKc|GuBQ8pspb`lGjvftT8A}3K0*n*c47;^P{!e zQ-|NLC@V`<#Iaak(l5g%tteNQFD*JYS}osTFmob#EQps`iK!aFyWH!}Jo@M(kdni= zc|rF-4(9|U;7nKO_8vVP(T&R)5lhX2#~MfGe>d%=Z}4oPub)7TYf!>|vO|0BZaCJS zb@%)nzA`KXi)#m1O0r`I7eES_vsajHegF|_T^Yz)2ZyB=a1G;h#lObK|An3&|Iha) z=zA(R;a7Csi84Mw3bvm9;5PbKd+AMk>5aG1A29EOTkz(;q2RPgR)i4tm~Vi+`8=pB zgmI7v&sm6Ii4Vk`r6w^Cm#4*g9k0*8zu=J?nH3sXharU53E|ceINcSrBAO~|ZV234 zdU5azI+D6}?Ut2W6Hn^@^y=KBWp$6Q{pnMm{Q2UxiLRC6;pU$VZ@PDCLw|3eF4&A- z{q-HUJ(Eb^TT_Fa$Q=2rN9JZ8x)iLfsk!UIgZFu-_qO)^Nuvo;cfGUbqZN?m2fQ)O z{|I!71PuY_wxk0BfGbHuF(06y2B=30I#uMlLO2L432s#sv9%PpeDubv=gI>EXHKmS z(0Tj!?AcH4MR(RjMg979KEDsqU;ksSZgqG6jg{pkm2i3wIyi@{bM$w;xm@mCbWC9S z<`Y0Fd~Y7>E1(@-g5-k|0(y{~D=gfTOs3WXL`3&Y?irqn9~yai@LSl)B>r~r<&mNI zso_1W7+Ubcu6^`7nVBeq5}=ICO!}RDyF&bQD;b-3$;g-isZ|jIeuSFh)*sxy{a`&H zzn^LVwoHWEmKNro`^{U=0lsiB1^p$xK*NQpVgAJM_*ZU3X6Qmd>BFRhT4%U<4AWu} z;6dgsFTOa3dhmZ?sN_ZTIl{9D*QB!Z06t_7@r?`r#j()Fwk+e)6aU4RfHF`KExfw$ z9%~qAngd@{5c%=owhMf^4P+tVS~7hap_{VUfdUN3HGVwc=-&B{O^Ik`MAe9aBQ#Pqkj z%@(_@x7t&*!BbSR!j=Qal5XD72TRJ-!rOETrDvOA%@XDWkqg2gmW64)vcUxXe5fKY zI2foHqR;QAYWKr&QS>|Y6BG5d6KmK9$?X*|MBtlL;G1WGULrVs!C@njN~jc^x$rY} zhErD3TJ|jU^5yrwt~#kF7n&is0+^0ut}lZ#UV;Ddo$rZU7O*0~1h<9l1(<*x=nDs| z%;1@T;&Mn=k&^j!m!I;Y2y&cpj+Z`+s^;e2+BS0sdTMU&cQ4NTAKmf=eUO36Wf8ci z2weOg0l*c)OPFG4kSW-K#8hS@j^F^fH#+9VO;q77d|KDW?_b%tkxH0f&$^TYuS*Qor?pZmRFf{th!G9t# z{rNu!e>pmoFu8IMlA$j_c90%q=C|`-(!T{6(i7RKT6m1@W{<%hM4+xvl%&GiK*go7 zNMd%^YVN%Yy>iz*wCkQh6#K;&D3<=mU%#M4Yr8t8CObRnSt|y#q8a)?t=~8`!t7uL9khfcH5>f%l9-lGqToh!PzfA%KjD z-bGYz1iqn6!lMxCsIR^AE&4xob$7hA^{+*DuKt|<#%#VZcx}mDqkly)X7i~U>OFe1 zptE{Sk0_zDX1tUB)>ndxQ1Zm1b(foNEiR^?hD!a%%5R741S=v6Y`_~Z7m+}Gyk}Lz zk=s%&t0!Jgu+Iyn><9}>Br zay|OlXOGTJv}rV5=mq*da{ACo`fm?^cEccj4D%Be0ZY1^dVrTsv?sa7k=*R)3?F@f z%^}=s3#Y2_z_i=oFlf*cxB(~!dX=h8mp2BQW)l-vo}&)ma?AWRXKa%AIAwIQ{Q^C5 zWS4FTZ5X$t8nxN^)-H<2<|ev|*Bq#dje>KK@Xb5}Y?hcO@1&oYLmZE<6}3n6Rhi`; zx9z`hgWGZN4icy|!uK3AC#W*o1#5ZcK1wH?sLCLQdr-9%L%Ll@(8&w-5cTVbimf`Zrr4Fp zt+cs4<(VpeG}cWJ2jRQqL6_c4<}(xc?I_R@?0R?)C${cObhJw6c;Eo#p5ERaylM+t zIdj*a=x<*pw>icBV)eua=xuPY-g@NEZ@fa_%`B{92Vw69h6iL9K&}U;^_b1ySU=&9 zv#h%Dea+R6|CEj!r?T!}ap*?6d7N!JMRUCuHb3ylDfDk&+v z8El9~XLl06jDYup{XU`-G&}- z+t3F8p-)Z#9_P0%;;|j;@C~$xUB^u#D`;1S1Z+%vF*3d%epwtn>-yf-pFIX+9Y@bR z(6e)n)-U};eKfwWDcFv7R9;^9$U~>7xow4wJ*&1+E4FzWdg14WlP77O=ggX&=kUFd z@5B6c5j`)g?WE*>*`8eHEj;4 z^2P7+gRTD#&a8*MQwUTR=qH<)s|BT%?ofdm(}=YWr%ff`bEwA`BHsAr@Yr+n4}dO2 zZ@fG__6sUVKS!1Sb>Z+Yd}zaWt$+CEKj0I6Ej^NLZ#Cbwh_cDK-Yikmv{+&gnCUVpZ;D(3Lq+~Jt2j^|!qG55}M2g_wC zlo^EbjkpZR)B#>_?cu@=gq%O0LaXw^XI9Pf>@E6B#B#wg^E~*rH_aSdR zJ>5`BKUFrwLcE>SWk2=Je7xU(@uDA@Q9g$A9(9>L18`V)Rv^2g1z03vgII)d6_@+R z;*Sx}SUg7mw!ZuC#i(|QwYG-7^m=vm>!`n)^;`7(e4PKb+x&j&Uf)x*^uI>vk4NYS z);|p>!yBA{^9guYBJ8ffZ^Oa`bR%a$GV;hAl+PFvVo;nQW#8U-diCn<`yYSlNM(Od z*I;G+_^OeydOVnWeM7?)Eip0U9UG_7`=x>M;`zG9dx?*b3GaFo_&5rz3!Xa?G=Q$w zBJ$S7H-j-@0xhiJST>k8&~HYBwm8OC*|i1h>7S0z%@G`&@%+n|MTsSkzchWouE+vJ zsIQvaJ52Iux~~Lv29c;_<*G_kOk^-7!PT{S7JU(!q%E)T;jx2H0QfusW9Jdi6tLmr zw}dGG_7iQX-Mx9!o?3X}IC|iZ-+c2&>dOmg_yQ0V#`y+4^(Mdp83H)@00&~1@Y#ky z!=*8|7-&X)S3{qEKNx%;O#~T2EuW2LaIo$b!^{(d2KyyJ#IcgGvGTs3uR#+S41KzW z`q$VPb@}P_C^&*-BPeqADc^h@9vh0trcSeVhja!GA#rUa7Hl}dPtBa5#>ZM-B4#P2 z>&JF&n%$h$pczKi-p2>t{qDPWJML{~e=y#6*Ux@>w^;O%kABXW`7yfsV{O_?%y?n* z^M`mp&f<8NZnOjn!szjs(Szft9{)Q|SC7;8j5Fi*;TYBjsQUe=j=t9)q9OVVz>HZ6 zGYljA96SMi7w$w)qwkNpYfB}DjnfFKKgEaWMq8x=qT*^Zu$G)-}=or)Cc#W zvHR|)Pu%bSBRcfQKhjeej)gi+{U2w6@!N&OZ|6C3z;922n_j^Bf!}V2&0Iq8+4WqB z=wEkjn*Da?ZxFqMe)QbB4@x&b^ywkQkt<5_b5A1oZ`y+EPQL&C=KhMFbME;~Cu+LN zR@}hgi)A|)l5T4gIu+1yJ1d2fa*TZ<_?j{bQ3%p`rb zvaY$gu998Ivt@tm{}qc4z6Ps#+u)F~0mVvw@pf~KRf_Z0T!mfj>rocin zf=)6?SPduv9jsY3x{h-Grm?mzZ~xXUL${x(I@4M%m{{4=oIkyFcJ+Oi8*ZiEe7dW% z*puUuC>3jlHttVOez>_NH`nHrDP?n`TXx9sSW!eQ(5{)#j^Q~*Svl}YX>Uw?TEhxd z|78->>Eg~;UfDU{PWV(0_`V0v{BQplPSrj>h8`H}-!RiZhV3Vb{d}@E}%(+JydIt%gaKJ}`C>RTl+JV!Lz#UF}!!G7Nyx9yVA6am;7?)^6>gHzp zql|t}_rT#JBc&CEMe#+>bw%e+zF6%lG@7&W*h2a}f2GB=qNBfG8z{+kZ50Y<=r?EF z6D~LK=9PD50M&_fkQV@Pe>A(vpmA#}QfBmdy9N#&9xW?(`{Ih6(?w@byilF%HkmDX ztV1ZxUzKI*Yai&>z&o8=6NNL#G*gi4azT)RWdh#I%HnW9SE^vF3{)~6Y$vV^ol)=( zitj4$gBR+#tsDfN633IHm>tAyPWso}3(y z+ev*%z2T#8vzRX&K61fquJk`U+}Zd2iq4f`+QU0y@JT>RX^&4VVOWl#J7$L~qC5Mnp%)@kM)#4~s*CMOzINwL z7cZYWaZ6}cieX0l-Yc*X@XRUd2;gl2tcm22m;tm8xZtoW1~`X_#S0L4?D%7n1cw@s zIzXrIIyb#?<@C9ma&mJ$K2DjxP_53$s1=K$$fnp+To$_`)@7$oH3#!*;^J#^Yno%C zMYFaXxy+ua(fTx6gFP47N&-$hym}cPOFda8`-^oW_9&Mme|6e$?ziZ!bL&>ET6gZW zH80oe;|7X7YL(tllay4Op)d9n1!DT*oemBMv|vqqTuol^3LXY6#v{W)@Nhsn8|D$+ zPvlfVP77r6vY|7nVR?j1V@O8TaO@>kQDiBDQ`-)esY@x3&*Je2i%IS;cT8k5YUXKybc6us1+1KSer`FN0f`=&@&#SGZKUntZ z8GoZK+ePqzIidg$-J-w5yaNi8iP8w$(kln22k}eNx&uQaySJ-@nMFvg%T#A%d2%bj z#vy=g&zhd31MOWg(VIMKt37LZ=eQ33NDN*W9@=T zd#29ach8O9?f#;uKyg!`wANk8V|xY%&K)~?ULrYHS-xifp2;$-b6}2HuTvN=oVO$n z1MCULdCMS1;zPiQ^*Vn2)gz+^L-Ti<`j+(?$yX9eL8TqeS5n_Tbj#TXKeWRGuN^&q z{^&I$qgOMs@HEQ`@MG|K(cpe0K`=t_Bxflu9R)sN3F6$bur_{SnV#;Zcek?sn$IZY z9)DF>Nq^%DjRX9EQqCn3i$S;y&NqaTqz(Zz4Wl_Pw6(o(`|VOyx)wEY+Q&DyvG4ak z^pKyvp<0)1Z3|REZ8zrm({Pu@KM2oXF{vbd$3Vj$Srn*sV1?n8fMdGNoma{J$Nazj z4R*`)B(nPHOXCHty@-QlsFDg$4{-v--yt$|CE0Z))m24_OPifp>u2a+l%N%B-5q`O z-%HrvG}C|5c9#yWY(}Z+R(Ebi2tW2afFG70W?01k2n}^H&4|ey{<3JGC~sz;Z`E)s zS_$&w%r8gnp`R;30epz%r;8O^;FwwmWAM{ojOW)?BK5LQg;2tjAPbTmdav>43f zofvjzYzSQG`+QfC$ypqTD)J3@H#9YF@b>$?QRT%>Q&IOXIQ+Bq1Djlyis}o=lAIh# z@`dUOi)+(B?Rm_5<>=?svs?x61Y|l9yvOCl8Dg@~%UA+1Mgm|HJ13OF!|R2x9Sv4q z6J=U+mV?WaYBJO1l4PYyEU$kNrQYmouw>QOH#*UyC-bR~IN8p+W=Dx%m(x<7nTn_< z=68O?n*NePHcx9`wnZRp%WIt7jOisqk5MnN7qILi$hG0TxnAc2%GrdF=K!?G@+7r+ zO7J8{0RkGQY8}my2elIJU zo2+w}qzlEY$eJ@99S_k@Kh)veO_US+GkZg?4(_N#k-WGKqS(kpX=;MV+J%}L>31() zM7qYD`M-`K#p*HoV@!W1`Z?=k7;`MSAqe9`%r7J^f#`T9@L#gZ0C`QuMZifrKplQS zoQH|T<5E+JQMoE@vMjyuMYKU(rqgB03kn7+66MKSl`SRm*mTE~xd5dab?PcD^%;wk zl3_kNVfXB(`~Uja$ki^qM}QRUvj%??=$Ww0bih-3^n51BaU)zVznjmc=tp^%r}vIWIYi30cs$TN6jp@1sA?z zwNe#{JPu^sLj8h}H_?!`oW-{C1p)OeYYO^-3l-`oTi{bKQH{_B?hJ0jvIPBpLk+@Q z;%qdd$3wvYuo7Nc4;drKHzbBt_=_KBHy;aB9NSUUEPW9L3RZOwY(LcB{c993L{SYb zN3OlyoJBuJ#^78Kus$a51oIriBYpu|sAH=(*@cGA*Ywi zlr$y^_)x`3!VqRrl%zz&V~`r)_CB|AIBv`I@wtqvhJN|yKmT&*sth_0J>SyXUtizf z+d{v}I`fBrsMYky@J-LpHP*wmum7R{P5-98ao-#o{@HE!pqK8&7heKjKpq3<=J;F= zWYU0_VeOqd47qZg4+3rlQ^rJy*o%Yzy|~6;|9(h?!ykN~;3c?C6PDqI=Mbc9;dw;o zQHSCF2=M*VZIDf0>J-5(u#7iIareLWl5?YP7&+WNJN+fT!DVi4%lV5U;fHmBo=scu zWpMxw_-A?Sy2KAyJd=<30+4*gq++}PTcO)Ye~8_#lveMKYp>nmZA~FQ0FGVhRzG@{ z_yP1EZZ(^u0B3kd*gp!{#vi6Yu&JT$O4_sT%>DPA_HH8%Qe&XB#$6G~8W`#)4pK69 zkoN7F3V>sQ@iqfxX^4kIHUt)4xO&h9WW9$AQw?ej)EE|mMQw|t9Ek|kI@)S%M@pTR9h!`0ilu8RC_&MBgto8I3$ki!bB$b16H0Ds zii?w;2x`-ce4AkjhK%o9ZWPpOm|%*+$(&H02bM*7dN7($afu`@3CjXu7Y?<^dK#6o zdg{S5r+@m;L5VdbHcj@R>}Ex4o}hM*?J?;ishNphhhwWffpf6o_ghcid3Nu%+jv|} zp}fIWF4n{rMrSCR^XOkhM~`gXKC)^@!3gG$aLkAO5Ul!e>Is)1EHkfw0i!rEX+S@a zlOG`JE86IA#`nbpiaf>ojM}868iQV?_7n%WK5uTG^>lqbj>YQhsZ(}mpu~o9?FOyJ zr`2TIW%3-`tSCChm>CYlGC}MZd@fU65Ub$GnaOxTjr3BU50Q!LDqt zN5}Tf+1)12R3;omUWLOR?8#U34aG#`F{1ma3h;5T#>24>z#~cyhU*Axe|$)+4XJ=f zdwX|p1Kx$eKp;rZMzCN0G>-6BLZw0(dbx0e;{Iv zUISZ*Ps9%eh^QaE-2B5Bv8obTrkF$z`yc)vgoj7AHZ{=ydKwE1jt%jco@RBydm)EU zvSrMgK-g7e;!xt@cF?~MdAO@8^j5~jP4FRi$j9~5FIK`Gy$G&)WX3~XMo$C%1!QHE zxbm>%V8hD}*b`^LKo}+PI2pr77QuGToE;AAo~ z47kB_5hTjdGwP72u=6b>_ytU0u0qp~pTYdiJQLENcnt7AJj9GDh@S(mnT!F*{utnl z(S~OshlcK>N`Mxjic{ea#x4YRL5uyK9H0pH-UT8twx3$!4{3E`5%HAfm8vY0Qq551 zE!c%o{@f9YB~5Nd3YR$5%j3uXDmr>qm4MIZ+<*zCG!a65|C3Bv7PWDVqNo)A{1nAf zXw6nrvY-y3QY#zr6Ka|90dE%pj$*J61O?(AGrkO_r~^o&R2y`B0V+1=^_uNPKF-s= z?+5&Lp~$p3n#-|RV8NWo2>LU?!TbbgM}qps(h)ATBhrC~h^}p2E*+O)>J`+N`-yOD z4$B7Q-x%6c_e1_74sc@(4HjewE`qR%@!w=#9%J;Ttcq@A}rB;=@v_1*yd=VPgRISS)Nq+BK3$W1mSA5Crk44CrM_;StXMj zjXm_#QhJ4Ocmr?%>lU7OGABu57P;>f!Uy7OgNxu0E}1|kGh@ku)C?uy8`1@dMFu#m zVf!u$BO{Y7CTNl+I78!?N<%!{)ecD-1{ad13Gv^K;Z$ z@K((zeM7akHJw?L$luDL(wqi$rRZpXxgl&{h7??Z9{{NS?vPsSBDz}t)C&iegl=*tVeiHTW_>&@nCZ%C2y1u*Xd1QV~_J zQLF)5t=Ga4y&_3wW?+RSD=JcW%&k!9(i8%ItXOW$3=Z^AuBFVt$m4y~0MHbw1tE$C zg%I}U!J`vG*pA)PP=dm#znfoIv^l%W5mw7F$+*0sa)rs*OXTNv7Kg(lZzQ#9 zz>Dw~s7B@=SRXVk;l!j+HXg`Hy?l0XMkcdo6?(4PnC+0sW`^ED8i7($wk|C#MV|N< z_OseUwFORBM!Ha>Pd7Ln?%G3Ie`jo&vvp{*$1~LK@FjE-nx;Yw@FCGyP>q`z3W0wmkH#d`W3b-}X(1~5EkAu5$)lD1hU6FhaR1z4SOVrU&rwGKFJdFH zMX_Y!MqnB_@$D(ZzxXEF1`^L_uw>-n5(xX;b01# zLZ}w@A}lPTuZ8U|*7~|4^hHuDi_${e786rf7ZV*G5szD?%#kF*y?m%ZA1}f*LC;g~ zhUN-%%2F9(Dv2EUE=NqLXSR4dAAP`osHT+LR@>4$(2;%u6V1xH5Nq*&vMDL)p_+!S zmiE3)n0PQAtkbWjzU2x?y)}+8LfRWH!jND_P9i!Us|(-3fiEr_RN2yZ z-hTWuTFSZf7`-36mJ#UtZP2GC)CcZNVAC&rZv^J?(}g$b|AXI@Gw>JtfAT;2f3mzk@Q;#=7a+rUUtwR0kcRLn zCj0|%NxOu!x6paZ`o9MK8G7cim-c^+EeVZxf}`ZE20Y(lU&8!`{u1gx!7k=H_&Vy) z78n=$JTxvmUQTF!&l3JLkp7UlWNjw%TS4%-$a(?dJa6Shg!m^9 z=ot&`l}tMuGAww$A|kk(82B6~fe(ofXb1S5L;}Bxfq#YnxtkdN;W*(pT%4c8{Xs4g zL;N#C+Tpon@PD-w{=!>7fPecU{0R&n@C3Mk|MT2mh2T$M_|VSa^E?N*7sICumi33X zg!&gO>;EhEbf|wGE1JNEXaL~9#@bBU6Cf{noWQRRwS)d(@MlFw&cJ&~|JaWg@<=-$ zjL~IY3$*_o_mBM;cISM!INm8}hpGiEznlpK_rfrHqjyQwAR)Euwz5r2no3M&5%F5xjGRZosdEp0|hT$(ttnu#Uh#%ehG2 z%kS_|+QK8L(D^sfPYnEr<;2zFq+LAr`}F2v8LVPElLe`ud(mtgvEZi6>) z@pI50)#ihdvH&_LeH^q++GzeHUAul`lIec>DW-5>PF@IQ^X`@i}#`uQ88 zpO?bN{Xh91{XYTtSf4ZffrmMTM1Q^-ve&@9K%Y#wTl@*a4~+~zg!!NJUuxf%_Q&(Z z^gkT&5`hEoxx8ie6k;lX5C5{>C-d7(;9q2Gnf@@pypVi>CjfjB>Q7g(-e=}FBwz3x zz`^p)W8?^ON?5*LX5i!g+*mAk#PV}FuY~$PjNt>G0GG%Y<8L_VhcSF;XYdKj*Bscv z=R){*6aHlMVJ+-XpxZpX!pMifD z%-28Ik0M}sy!Rd28Th%RUA%Av+L!c?+za;lb6CJ5y|47=384Sy3)j+DU+ItWS&BdB zO{PD_XAys_wJ=uTm$80BelLP~t_VH1gN)ln+D$NSkXN8nYp8!3v6CW@zlzYjfdznh z3-yQhRB?dc;SDd6c6biPCj$9{{s0I1k$Kp`z=wH&{)_NmXFVP2FIv`rSH#Ce{!Fxp zRkx)7u88cAyjF1;zXL2Uz<-tlscCp`CeVY1Js~=LYB_FagT04#FP*on|7(l=^Op60 zZLz;-S^rm{KlW=f!7pA4{}t$u+r6;=68l+LPrO0+0`S89fxl>8J!xmt@4>tQUW@&) zp7;oBK4@RspK0eV;C9k~;U6$x_wgoRTwqT@ufN7VhW!*~-xL?yRY(KFc+a!G#PApX z0rLfZH{sLs@Eb0E4)+K8z&7%H1;TMbe5IyuG{jnY*{i%!iEx12j7ikLF zjd!tWfirxV_9|{0;RmMwGwiQ$JC3Em?_>1bNitp#aA=1=>^34dkjDUeUS#OGr2ntj z|G)a*9-=?clj8`%?+BUe3Aa(@2ny1MIeuOpPVj&>HiGtolyUWm-T;rvH!!%`oA9PpNs7$ z@h=$vF>F60f1n?3XA%8?`G?!aOI@6oOQCro<0b9PcrS(M3HFn_1N^CQe7P+Y2Y?h{ zKOOjucd zO+X=q5IWg}WPy-`)D69a-kYH+#Q>u89_d}G6h)de73rcBQ7lMRKv4lfALKzw1Suk5 zf$W|9zh~~fyPJZ)-}}Cwe_-30nKNh3%$zyr%*?rU+=mw}I(fA1(q{b~P3pIZh*(hj z*nWN5D?Dz{^yS&J-v2N(^jf<%wd+qj`s|-I7#ib%}HPQH{8&ujOkk66aJ z2$kVutep^qLV-)95}d;blt9=1LarS`1@uFILr=xH+@j7j z>?X*&srEa7V?+~Nk@lLIe;C%aJB>)Hp_G@7srJW^3wQE1iTOxDIm~ARKjpvsg#34l z$bSd<9~R0#*D)UW9~O~+5%T|DDF0MPS>*pce}3YRoS)QQtaij7IZw@YV?Ium^Az+; z>3UPPe`CJ(lO6s?n?mh(q@un*@(ziE1=>&f?>`~`{lfVJt0Dh`BJ$q^{s)Eg2T=R( z6_LLk^54s!U$%d%+27vw^G#O2%l4<5{Z86|(f&-@yC3tts^rUIb(_)uC9?#10h;qPV&?CoVq5N%R{=4vt(D?P`Zyg}VW1;*Xn&Yux{>rjHelL{2 zkvSgoBL`Yr(>Q@lI7%iB|F9o zAkldq=nW5y_G4Xv9{~Mi z)Ds2pgD-%Ck^=aNzuy*tKNIk9rVlRG-Gt$Q~Zm>$z zxX~)hcA5IV%-!G~J3_+a zz|XHue(sWVjx3P>yC>w&uocR0@RKM(yZrGR`~)R{`{S4VECRp5&wTjde_3RoLwq34 z`0#_DUz_{{e=Pi@uR%X0{~GjC$c^vR-sC6BGxXCmz)4@T+cE;brS?LOuWw(nI!*kzd+3 z*w=zQcC6OUVc#uSMoWUKM(2r0X=8X!Z07du+Q1z=_+?Ld@h~}z7VA2;k4$A@wxb) zoePCK7iu<*Bj{CHZ~F&9E=MKXdE%e~{Q2OSHh3zEfXCX76$wwbeOe^E24h9SYcWSb zct9xVi7Q;Mgx4m&mPL=DcY*#GN2ON*2~W=l=dcq(Wd0f}C6<8(-!#CJB)rzg5)VC95B+cGfuW!$&dBdi59p6^)Sl@_ zr>%S5uZl3}e*tg>b3xK$!9l-`G&h+7`Ym{jBlg*%^2a#R2Nnf)IcnJ6DguwoQA_SP zS@`W}S3S^!@gTlOeush+qb5z@ojp#bWeRw;WLgPdTENq?9g?q#jbp}wUhvg~OTK#H z;HzVr%ujqpE!f>wR7|9QV zube-!_!{`Kgd2S2JWs;G*MO@MZt#`!7bF~f4J<3+246W}YrzBB812ZLfOa?(&LBZ$ z8fXq^X3V*~iDueKGp&IQd&m-BrFV#1QH9`{oBZH;*S+~;m;1wWyzulDesJ8XxA50^ z&kvsG@xp7p?+3S~5M0i$xUK&18eVwqjs9@7O(pt$<6LFc%r;=0w7UMAZT8tUvzd@d^?gO0Gxeq0s2{OMAZt5>&0{qQ<{0pTOTeb~c2{XmcP$hTGI^Pgjs&n@#AV@&2_^{%@@e|-nOt>9R=U>7bP6nfFE?4`d39I zOTt%5cnkESq?6xfs1bM$JppdWtHSv)`)OVk!gKTqaA+At=0EO(8{^-k=gTL+zmjmY z%aqX-nbb+_kodq4{+lwoB9m*V9onV=m-3nT2FZr@!ukLl{Fm~X;MFDkYY7McrF;gQ z8~pi3!ohzjp9wB?75ix~+>p-|c~6N)`Vff!rfjarr4C^KPUbh{GJN2Ck-sf!+S0}z z|0jgUvZbZG!r4Ci_kcPKDFOPWJW(5k#8AG1aPp;*eD{Y-TOGa>M`cr&Lpci%`HUT5 z{`n1C)G>h zK69-D&wl_sh>*TmL&WpT=Euy{vZn! z35Ung<{0S5+md7<7`(OLlDvH+=|d0M`xyK)eL_z$%m|q_Sk6t16PlCYVXM45>@|!x znzOOgc79*xo2=f&-5Kzpea^ z%IuxI4Hh1PJKE*TPc|jdVa>^6Y%tN2cNI2kDcRD0YQW1MRy~)RdcK4S2v5AVxs=T`xAC0LW^1S_W`-c+fA9z?!m8)yoha7k0sl=qg&T@ z50F(2$@pZU`#W)?FY={{zu0Nkfbt>yoRQC++5SPm8>?qze6qlOTI2v@K77m(gQvUT zDm=T_d({fZgZ663oW88gckYE)+{q^oI+c$loxy&TB9y*Cvhq=8hX;-oYs4q{NiWy; z75_GHY6Ic`QyU16MP0P@h2>_peTeqxc?H`w$J;{C{Zp9WxB4}?RQV5TIt*kSgVkP;Pf6{lYdH?3k`uA_vyuZFV%lP&$ zb$IJ?*l_kT@N10!;^1f$P6;LB6ntwm+zK#;6Hnn*AYsIO!80C=_#OD}^2_5ykm@Iu z33zGSzJ1%aefZ(F+KGv^YbPiFbF+3*5`C$?ec!(ANKh`X^6X!&oZh~7Fa6wBCn=ed zm7wpA96fX9=#lTT=5F3HZ^65p=JWr~-}LSR`quxuqes90{^-%~9z9Uvy!otD^lKos z?Wy06C*(v_#AT`-$2mm`1Lw!0thx|;v+%vKsAvshVBtPI6XolD?4~H2 zo6Dn+XOV3NPgUc{ug=1h&@ephGUdVr(L;?}CO#9Nzs9C*mhIkwd|ixup$xe~m7Q#p z=yCqM8YiY~7E@khjaXyQIu3J~+8<+67twmAGT5Ww7T`(_#!?7w)JDs7%9zs*M6*)p znroC9LQjeZX56zLKkUSFS0CKEIEnQr6_gq<#yG^4N4BT?-BO3#NYwR?{qfNweCKEIB=Xp-%87|;wO%cBnp zT*N$hkay8bk9S0l*GprzApdmapKjzQ-NZPj7#ua7+l1{P{_Lgxxip^t_8k8W*}=y; z(8FGpXK^Br5FaCzEfNksY9API8b3Bw8C3vo@I6xUo!MsQ)ls7{UZK&NG2?=99iRTC z^6`g$JA3GrWpf8;=Wcwq|L0)O2lk4OuG%Y3f-IiLW+)}q&S-lOwLaM4qVtXM=929P4{f3q;Wb($3YEvfNH=bSS3)c#EHelgPvskrLD|H(xUr2mo5A=u zEHyc4`fIebp#4=bXx1nnh8X>E98BT11hJ3hDYs1>p%gAg(;5+qbs1a#P*G+*zbGqf zVODn5_IDZUro^=yI&{s5;kjQf8p4|V(rw;p!qGSHno`}~7g`2Z28O5lxWEep|G}ev zf|G;Yp@kqy^}Bc7zfZX5zK8!4es|~lr45@uf5b9zhlMU1F@OH>B?v)zXNl*jB7oGV zL3xdpPiP+7g7YRQ@{@g=_YZn8#0IYx{+O)?J8J()X&__q$cMbSY1|%af%RB!# zV`~3#@=ve4bfrx3z>pg=Uif_a^b2!lA1hP5)a9iw98?;7li8`ZT~V~gEn0rlwPP)Z zVsC=g*pyG&dxhkX%aB7PkCcbVNOArthWI^O2}y~0X`6z81R(?gZoiu`n}TrrczH(o zvSrI>G%1I_CR-^U!`3Z5diLzWFV?Ml|6aX%h{jf-Zrz4Mhq5(8@h7r|!c|RmxDY4i zO~eb3&-U`4{>Ei)Iv(<3LnG8`!;6_>!7~Wof_N=Ps8xNMj5kDhY9LbLO-U>1j+k4i z&QuIp8FnT*Sm9?y{0Q+8d*O9K=UF@P0cc^i-e~U`;DBsm zVMfeU!z)9>-W!vJqA?H?@X##2MAVAul{|k)uUALPc3rAgbye*U8|kc6 zOS`vtPlXCS+s>Tbx^?OB-5sh{b*Bv*lI9KxuEO3i+TRj&-bS63>3klO2bQT$td5pr z$Q$j!VGoggKv6Gn-JDg5iHlF0-n!N1l{26>Y6l{$6Z-?RE+o&4!d!Mn}T^!Ou`81&vMCN zs1z2-okk%?4ASYwH?Pz`HKkj3vAcWs7qhz8sL`P#OW7D#V@8b^Vq;TMONW&%SAKfA z^5x6nP3;?$p5AjrT@0fUJ%adM1(k<6@$O50WSPu zJTw4}SJ0lPh_5!QT8i5t!w31eOI|lK=ng_~fiQM_OqsG}%Zy1b8ygcJmo}|c>&{(P z?%b30{E?)(wKJNQXx|_!K2FMa|mp8o99Z&QrA>!93z%tw?9g|HzNHMJ58;&rIV z7Y9CNdgGLDKmF`@eh?Qh}*am zYjc*AV^eKGIPD6U4QsUtYYW&x3B$T?!aAbtB?%kjh1Ed5n-bqHFAUZ=KO%DGys$ce?U%5Ry|A{Z_aPsIxR3CudHG`Frz9*QAM7s)gEzv< zt01L{jD@+v3nP3+S@f`9zVXU9#LOJ&g@N};Pu^{a5_m&YiMNRNp?O zMRUe-7#`xDy)K)r&DL+?EnD=%FZ~RU6KxOya!>ZUb?f9@%KHa;@D9izOf4Bt(WXSX zlOY62Jf`Anh~J}1@l->HlO9Z8I^0PQq^C%W>h{PRpI#Sd61F7_VVtuy2@?}o-1WYv zC%sr@#tUO+g|W?vVy43JjN6(u{|T8ruK)BhZ0mn-uqv$hI7i9Uu(IjJ?BiH*R;7N1 zSaRgUpDvH9kyuJe3mf6HgMy;}8-1SK)RRT8`0kv+%e*ml6uu9zsvkvX^94=2!3IoFBI8;;T#9_}c8^ z(C(-7>%HqgVA{BsD!dqo_K(EOiQ?)}_BzXcb%VZBbj5YOV6q6{|I48$G|TN={rlfBT{GBWDYJrucoqf?}7LTEUUfTJ%=J z-l>t0(R9{Z-MW<jZvwMu&fd zzQ!C6bz|Dllp&7F=+mS(B6z16q}uItJ3&}fmjpE}Q4H=B#-2+QKLvE^@nHvdTJYUJHAcxDdU>Q zw*gDA9yP;xtPD-S#vO^he}^rG=NNGK#DDXHS0gxRt`C~m!S<_&85SDlb}Hm`liDS= zkes1rciSCGgWN@7?CTM&-WtB4VYR3G&J7dkdQr_IAZ~M!`s9kxP74xCb+*SJp z@x}YES2&)6>QB|UQ$}2mZ@m#urTf*aszr}-DPq6ARr#}dR&N$NUW^zxTm0R-3uat% z*r}7WAED!v!g)pLlgwxtjI$t|NS7|1q%`Q1PMD6#4*aHIaL{qxW{`DeA3mg0yS5#! zt$tJQIHqHVu^q(#UO~Smz8Ld48(;61ethibEW0j5GLKU`jvcdU^YC#wtkVr~bo}_t zu4BfDh&k%cd2ha1t3z%_HQ94UepNeX=UxS0xa|jJnH~NJ*uStSDVlGpCGhc_uxPk& zum~9U29+p`6eqegjvF*ggc4M0;39m1|*tV_sx!uwMOWOU~rj2%PPe0M8LkG6L z-yZQF7Trny7$~l?iee>!JJA?{??>)?nEM^pZ=B^f>~;8YgGj zUto^x&v@ARDUcf&Gofi!k|S*N^l7?bNXr9cF2W+)adk4-nJ|rozs@?aSHy7f&g{R2 zjJP!X^yLf3)1Hk!t6$Tynl%%>#cJ_}=$Gzhsm+@)_WK>iO9qKcLeSU@f}MQ|{LyT- zYIJnoshkv>^mWPs^#ex!q4pS8#f@~C9IO`eH06D@bB|+LlnT8FdGM$8LLS%;)!+=q zbHJRzS}!q6e1m^8xsCPYrS#iMA3jEhmyFvgKqe-kZSi!^Bh*Qc!ikWNQMAJH!d)O& zL6Uo=!HDtWmtN_5ez3kLATyl_SCb`*OXqb zi1fX_^kU(#$Cuu-V0j00c)#+fU!yn?1^JG-D&y(c zr9CO{v8azQ-iwo04WS36)k9(gp1@$-Vo~4Pu|v;#&A7l)F&o!cDymnZm(rX^92r?I zv~WoTNv6{Fr8{=yj(LssEPy~Fk@F3B9FKvgv>y%_?l8TgV7?O}M8tE`*^6xGdiLsY zq5UAVK072mo+#z#?Ci&H6H(caJAY#CBIW?@K-MDM^xN^3fg4i}vKs#gv56nJwXp5e zB*rOxtWkxsc?TgUqYmf$hfxz9^v^Dl?!t`5K9Q!MIY$?Kt`;8={4-Q z@i*DoO=1uGXo}wNbv)Jl#ycWoHtQ#P%6<^N*xPt6>J2>=cEd4ITaFT5hi}F_4n&{4 zF8c&JIpigNJBC^Hd+RIEEuev+my-Diswrv{)ii;xF(^^~#F(1%I=lEe5!8t{K!w>< z8!Q+}2>J_T5jhyAs4wt2SzjgclKxAL#MdX+s$JW$Odb zeyd>mQ)&L`f$tWTkJ{rXf0YUt z^%y;dAlRpYR%yH2wRQHf&p$u1;-jchOPDgAbz$?x7_t3^xXre1-ozU6Rjkp0PuQ?V z4WW9jg7Vq>GP(`;&2c54!DT6UaHmrRWD%JvZkyMi9^Gf+(BZS`aoK}TW&OoUi(m6> z`_8a7k_zjT9_Ik2lUqf5 zR&44$4lzB)u=(tnaZFu2GU}rhM?d@Q*qp5~Y^!HG+g6EfVEx$uwxMAovE-8j;&Xj~ zIJk-AGM@XLPd{^+nxLKhl4xHO+e2-=nojbQg&}k(!!CrPt;;<>I$pfO#>bCV)QjR2 zd$SmO6X(PjTY&jHNqa!~omiicn}tOy1CQZRzoP@$C~-?&KRtzQ5WQ2TOZJ< zG!@4Wu@4&+I!LWPCV}Be=m}$Z)r%}eJYP&a&r(1FTab4i_)kcBl7pj>o26=e!!Z^n z76yt1EKEC*+h=-;=*>2u27`XW53Poo*sWHm%dAQ~SADJV*5+%Kuigg|k6Ej)b>7Oo ztz^|L8kDjA?PVoxb+t(K5YZp)V2Vp|YvGy}xj-*5!pZGC$SHoiutsSrPDb-q4jw%j zb=z`mb=5~^85fIoM~5p8g^gOs?~C7@yd=C?BkQ8fSU~wXvw{|GhV^n`T)W6BB z-)(jookp_LhI3R2RuT_pf$=9dknu&0>Pvlzqmz*%`ql*zE9+M5P|ek`Qs0IB>a1zo zZdIL1?WuYd7X^4BW|sC`ln zgqgE4)hiG1aB)*6fH=qnPY=w=uRxU{9D!Ukj$Ib6goQfPQhGm& zNqjAs^VsrL}L%d^(l`ZPhsWxI;(}i z^VLEYT8xD*6kmCpDCd+RbDu`rU_W7p&Fnk%$79DlZ(8&yDl6}~%gTE@%)hTtHX5@L zTXS9+Y|GQ@+VZ>|b@Adw<%rcql76dyWW6xC;5aelF-tghOv&=2`??Y$uKP&#lgm_A zYVkhVoX3ykdAmZrd-0;DuGI%-Uz%%1m_;-7p+z_0Q3iTx&p*(p4b+YNg4GbcDs{5N zYpz{O>Ddh|H3^Toi?SGrM=hqrsB=fX_0}lQ9WOsaoe2rbzKeVFYi_#KNkaA4u#t!xU)I+aouk36>tx3Uk#y=>ac=;kMEA7f2j3hyFJK14Ogc{-vF ziWN9VT@CAm2!vyi{WhBEZ{+}2hhsu9DCLtnpt8mZYPvYped=B!*W>XgI0YO2RF6fo zQIFA;(pyL*CzYQmcUC&8_woO9c#UXHbfiJ*t5pDgIH#cWwtUh+!<9qKJ{{1eEFz|@Te$@ zcV)__x?418*s)=QmhP1DWxU;^#-uFRxN!jv99jxNkL4>?EbrlMI`vZ%a}A-hp#BSp zS*tTNT=A{@;zL?R@~j$I%j^SvF{>=}`Bx}53ab{41y(2Tk`|zyr&Co-!7A=z?(k5J zFn1fvVgf|RKyfBOZ>pc4b@&<8rk87-B6e_gHF+P~o24{!>9>Gm3dVeY=t;$agDg%{ zJo8;_&#}9Z&Csn9)X#GpDOb(rq0HMTGuJF*Nlp}1x>=mNdrbY@OTDL}`Z+HZsb+jdF9%a^%P{#kJB+v^jRytdkX2KlfBL zD+T}W+4gJo)SI#{OHYCnQmaA&EC>_}S(v^^N$15a3BWm)YtUH2Hbgy#XAb(&NLBKN zV-mz%HZEZdJADjlqorx`4?RPuoNWPfYJG7cP@esb$DvGEM{cPVhSQQCQ92|{UEOuX zt~Y8_EcT(u2^2Y>6|dFoKCAFx0dLlCbKkyQ((4a5R)jH=2G3cuMm$(cc;5xyi6-8t zln@;Mz^0Iin3nL!5{wNwwh)N!H%~AA8Dai)U$Kg@sHq!oww67;X3dBisg57JdgV_)imz8L z?9;pN>^Xh=)J>0UY-is_s^vF)dvE(Tmifp1ZEFUtSpMSR!7nWz-Sbivt~pvsxx#D* zQBSH_k4tK!F8?arsGGJ@u`kRPpLViu9U0DAb^7#~GrMn}J_}ZfQ$PN+a+O-Xadaz( zo?GQo&(X_Y8a(*L?XAv31+_d*90Ohcho#pLU870ofZd=#!?6GgbRaR8JV=si~;N@Q|Ps8vaCI-gnZj0l6B+J*JLf z)Wj!fk8-h0>wn68(0jfEeJ7|LIQ)ubGFcfIDB@Yzu>@W`Wx84yW26bj$Pqb4$df>0 z1RY0X1Zf@f&TIR%2N*w989Z@Fi=iiO$~0d&dogCl;j}$`vn-tUrsd1!jtZB?tHY^a&oCUO zNmcf;XjX^)sh@24vFpD{hCQ3aR!yiYdPYXVu*g2V=kSr%*|Vf|J4?*n)1wFKQ2f@I z3Uo#YwIsXb>I%eu_22|VxHH<}bi0)F165}w87pj(IEd#^ zU9cjw^sv!9jBU&2FF|cHnFcn7BP!^Ai*DuD+|xjk$Sn4N#>0@~miBF? z=9@ZRx&X%Q>e%r;H8b7t0;K0|RX4}PfBti@0?$>mH{J6KKelvNWWBXdtH zyG<@x^_qSGDr<^qOrvmjaI&h6lV-s9_d0gm#YU$aA~{{n%n1+u? ze#K%_C(p|PiY<9)3bLjhB5d(F7FHJSCITR3HWox zIk=Ued7iz|J(bo5J<|WM#K03BF1-)o@IzE)ES#SnZ#W?+HyBPC-4f!MRTz3pWO9Ei@I@xc=B(I|Un0qTiP0c+Sp@w-}i#hK1u(xfEwkAAtbZsso;zg)@is-JHu=jr_9nTy@UITqX9tLw><(2rtb5zi0`qKy_LrIKe^Jh#@v4Ic(u-%r4}{M}I5IA9zn>Z{x(5eH=nu)}+&W$Rx z6XHdn5vMH8kfjh-EZbgrL}x^Ucw8L^m%^s6m$Uk^YZfI zMcm%7WRwq|aYBMNJxyyF->|SAqd%{~eC!zi@`@+(iqdMd)pE~~E1=Kn8y`L#BEsGk zy(}99zxZ#bJiAZvKL=SIrH7w{sz86B{zz z9)|Lvr0J0H032}II0q?f#>BHSR9xJMALGfA=F=&!V*KS*()ghH z8KyP$bUAlU+1|s`#Z6|9TdC9Zx8Itwo%-FCa^+nqWvSHP9vC>HgOgp3D)uv;U?F!oBcs#;ACFNO1U0`46jTl{fpWX92M@43XX=QB2A8DKD_?-XX=Yd?B}_1 z&6%eS$h~#@wi=d|d#fIG2?)tQ{z~A4ku4gd8I5t`j7Y(DiSyJd_H&Pd4P3rFi#_)x z?|l2Vz9Wlw_BInV_C+P{!cKfz;+DhEVw6i(fXSU2r99Z@nfaD zfh_CxZBNCdBsANmcySiTPD%x|JQ<53MgbwhLt?>0s|KW?Hxk9CiS-Fz55G#pSBqPy z*={#s&GOY_%Oe%fuMRsrBiM5TCUj0g^ue-PRI!Ow$dCQnJN5Ud*&pX7`Xl$WS5JS8 z3JJe8?@Qv80X#1_8x)m_LyELT5rs!kD#ROl&YJ86epLkFbN-ZZr^?@w}n#w_HDm5ghKy>rtFR1Ubvo6qqB*HW>*xdZ86maE}~O- zlY%wAtUQGddMG=H#`aOHSp$teM|&_Lt%2>91D(!@rLtDP{K8Ke*{`fNUfb>aBOw+ifD(7c-g zJQFQE*f*tx#=9q>O~?&U7v#Q$t%(tl%&z|t$-=dTk4KHy!Y<_7pzznHXoa!noH_8A zoQl+i$^&!q8Dm?2NOO`nsfOw6jakV17`><0y?tA$ijJf4=au7#lSR*~gmsRcPk6Ju z>n$CzgqAGEw9Wsemd;Q$@Z)Aoz_P`JB{o!*f=p{uNicTE7}ozE9~ur%CmH)W)g+NaE6ZJ z{|$R-X$dS{e3_7z`$N&+)ekOyBK}iM{O6O$x2n@vhjBM}gey(YJy)N-sYbD|FIhZ9v?C~@|#%5a_6fYkWk?fLM+0WBVIHkWx z>I9^-`}_F{Q03?6J9|u=^HLWJ>b%S^Or@`_G|FUKX~Cq06QY8ogZzg!FWc4PJ#ov6 zH|)I@yR3E>Yh6Yl)&mz7{@06qU^7Yp<9;TBbcOZD%yD8viN4=--A+lVKXf!ohN zNQk|Pr%An!HwS?IfYpWrvI+T_^Mt1Ot?Qg_*RWtmG%<^q6wIctRQFlyIlId`Y#!>< z!7vVdYq43@tx?Nq9S&A!ugq;_Ey7BDu?uCr6rrr*?RyT%M3z;sTSMhmd6Nd9@jSm0 ziajO+E$8~rrglLXHxor(q^5Q#=?cKwxg6&(9JnD4Zz)}oO%4q&&y+G7eiq@Mi142` zw4OXkxxwx{jzyG%&>S&^O(R|)-tP*n8RjD-hxa@u9NzNrAUM7Oj~KpV!@jg51qTGU zJT4!?cj8InRbBg2Vp7%&+i^zZTv+wxcdL56T(W7Sp5vP}>N$=te|~r4tWitr#x@)* zJ{5n69irLw_m440*E^#piifAiWaA1O=I1mp=A1mQ0)CK$HD1bD&rUu=pF}S@-Xe#(PEw7kz&VCY7L`I)RIdWg%QM0rSf%5L~k{Cz9IBOlOoYg<6{Z(B0@V?)% zfWG1lw!ZF{@oD|u`A^yC0dE4c39W zR8#3}2j;1C{bG%xE4j(|jI4t55ml1aC1P~ewxsZ<_&q)7sqmz2S!{tA{igV9^=ek^ zO-;=i*1JZ{oP^lk!*aH>s;n2Qx}A7)SX@_^+ABlXiIlel;Nu|;0SaT1MDD__v zUb+3L9PvYrxRB!zm)f&RYNknqr^cm(*bZzlt4;)hkNMi0jLRQ%HvzpQH$=kBTXtv-@R&4cZ@z*puIb2>ZUqFN3INAv$}@p z5&DAl`op#Q0>oJVqRXS_x^%H`G~U50zw)p+NINAgkPY%PS-bqW)wXSX^m_i(T0VOF zb}=f^3roh#>n z{2@(BPGeeYhB2)e)>fEPlX@3O$DB5DZec$P*J%;Me$v#dBgCp}Vig;3jUo|w%a4L? z0Lf^RQAX(UZMYv6-rWp2u+xi39k^!r@HN9)_#uN1V#{mH=^2Z5TZrVxVcWZ^TYXNR z^>~^&Wat-H9CK?5BEhI>;uF@SoA|NJJ7vX>-C0v{pgVJweWwh(N!2%RUH!Y5z-Ilv zdh6!3_i?U&{C%R8wc?MI&vC|{@XL)zT%f3uW<*gyV3aP+`ZZ~i)kF+?JA3roZ{OR% zKWf)zc&pZFv-W>7b>`mPa!!~y0&TVsZ^6T6e#K#CWVVK|sXw!?l~Nru8DibxiVjtk zkDt|V_YgNGmuJ<_+Sg8d^s&+-dBkY_CDOrU8OLloyKbw;mWS8_wn+bT9m3@pjMLt` zY$e%51CI9Ww;fk2;mk*IdE=T+XqlIy@VIst&VHDSL20@i5C&NRImO?vHndrn7yGts zGJ82m=rbjk#l?3hgU{mZ2xH6s3mA4u`=WQ0hA4=mXN#c z8)eQ$^;=Krg6XilWV$l?v|f{6vGN?wOJ~dMZ_@l=&|TQl)Al$2S?%ag{k<+PUHJlO zwCFip3^lmJk%@iz#!^=8^czdX`P1x&%^O)OWrqIz=8a;XXCionv4(O_OPme^D``c_ zQ>V9?xc%^}50H=iY;am5jDoDgsz<4`?ewUnOhdU*OGWN!{_babdv>HCmV?PbbazptQ}Y|cLGlhF&`UnA*A_eNug&<(1aV z!w&ZAP`72x8l@uRnLcN9eJmU22fVhrU%UFP8dR-aiRLP3uzzb0!G6(x{w?e!d%%7< zR{;-PZ@{(nfago6alwPYgSi+_vii^uYR{~ zhptH-!8XAxYv@mYrGx#xGhkBFElk#@XTDO-ljFsx_W;`ZK+m1PtzjMT;WlD0+5DqP zhWi zfh#lGYW9yw!$fNIE6)(A&%6>1 zQu)Yle1y?lr1knC=r|9qVAma*ic^yjPQVY`(u9nc0ZuA&U{8~)w>rJc=AO^YEu%fP zs$0|LUAu1Tk@-sa(`$M*eM32ab=K);I@d17wZ_d`ozCo7tC);%LhEE4##s>RfMrK@ zu%e=<6sqKvl7aR@weX;;{3=4JAbyGwN(EoN^-x<-PX)R+Q)C@hq?XX42(S{hrm~48 ziut!O$RQhp!_6c+y`Scy1wnHr=}g@Ftq{KcrUvE1+ft&{Uhu~b@&9l5 zee}|~S)y0DYvT0`H^20^=>A{hFYTq;hu@|xJZ=#?^(F=Dg)VDXasl0OCU`=~CAU)yD|#r%A{^WQ6goXGnN{ri+*M}(3U zC(i>YWaD6C?=V00%k()viD{d7w4Qo-=A56{)OYm%DCb$~r2SW~T@_zV!H1N22QW8U z;+unX51NJak9y6V*T(qb53h~9qAa-L)y37fQ3k#QI7d?1(=Z=Wnbwr@dd?_u^m+B_ zRet8onLDh*FRX(pQ?S0HoSn+yB|RDCOiNg6svpeSmWBVkp?=Wc0{-mMXa3f20bFEj)@M*Nq%mk(nY^Ka zNk!4v*9*FB&GuY9kZ4o3>qNp8F;6B8oVLYQxa1W1&g$=DWy&)dpM8-kZ z>u`r^)eM{Y__K#H^s`KzKs9ETfywUqG6%-wUm@izW0{q2e=0XmDL)JZxPuDSi~Edp zNC%D_x>9c#vY>&ES)ySe%3zWX~SzP`#>Qz8>#&ID^*^9$D=(WpkAD98^P< zn(ZTdR%M>+W~HQKb_D--qrc&mbfclHh+Z&9OHp0n&awB)A#C|NqX@jgMfC^`ilTbO zox`59uv$ICy}Dl@d5}S;dD;QKyFz-P>K60U;>8tKDLzfu3MhsA?!|9etzxX!w>U6b zlzNCY(x+#lE`%#7T!UAp6x2D{8|F+eTKP%l@RG%{V zgPKoFOjZrRK$+?36EVSsR$T`O49D@}B`v!ds3&)twZI#_z<2jxa=3MmVlde6j&_ z!zhEXAiW8v^$H-yqgKkLePYY^AT1jId|{agq)f+db`V&VC6&(0SqS|0OAJe z29}LPaoC_W<)cr!2+4oNr1Oltb_Hotp3>c*24+-JxZZ?+1yb-mu}nc?SU>U{4(pAx z+aL#DYUJZjFyx**Bj#U!C>@q`Gna$HhS8Bs7VeITEJ#7W`1swd$p;^F{``7;{0HLW z-Mc#$uI?9wB^yqOT93Z{di8kCnq4@S#2|BAeN9w?3?>W zicdc~BP~{X6JHk?9z4a+8EQZ-O5r$6MCTt7q(@l&O}?Z`OmkcL6 zA~V8g=2o9TklOLWg>DDnNc*JQk3V+%1WvRA`ig&{>8EZzRrK8g!Mav572GPH*>m=zN)$fDw>@#Qb}BWY%O zH}R)hNnF4+wF~-vR#m^R@!V_l%NXzZanrs_Fumv`hdNfT03UD#Wj7(>e_1Ht=hwJl z-&=Iqp<6#i-UnJwSa2wg=&)dgITdSNxxq$?#9!ISU&Uf}G6!pnn5-ipD=u8-iRU@T zJFdq_d&q2SA$y1@qL%vR+gU&2jQRDml9qdoXfxIUdZsDX0j$|h99zV(vPUF^Yfqr0NhGox?aI@% z)%I_xPT~X3QG!gI?v#Crd%~j*An@!up@;%F+GXfH25yCBq`}8zgGePT3S!dWXOx%DEqz}+fH<@IY=cNKnj5B{h>o7# z3UPz-(Y%uN>~@(*rZLKk@$$+nIacJ_CgYmMc&%Q3oI*9X8#WBQn}L3xq8}DJ(WHuSfvvuUfr?d)e|Sgl@mKo;?4ZYDxKW1eMj>F1Ddz! zKVT6)^tL+?+q;GNYEJz3=dToVB;~(R_OQzQ1u=p6!Pt6%VdEGe_qBsl+#&SL5ZtMO zOG;|cQShgS1+xwIl70FdgZJEBExj0d&pVgZQ1HA8OYG8R=`fFj!(5;JYSiPpgx6M8 zl;*D>Mmyb%sEK%LT;9l&2NdXb6SP9aZ42ge48((*5@MADaT!E>&#kO}D-=J({N-1p zv~OrGQ~#|%%tg~PA|;KJZlA8^VZ04nqu@D^lJAg-HpJCV7J?5e3>0zTbEVxvZGcq+eB|NxPvNH)^@G~^5R4j|E$5QIx z#-iW%Xut28-*^8!PlEgBdD3_Pvi@~FDgXZq+~r5VzMV+zW{I&7NQsbEu!-M@|H8Q7zNDQ%@4+$lb!V6>AVyZ;dIV25SR>k+#)hkdDH3C z&i$Nw{pX+6@;~FVRV%f8D^G=%(a|kqqFY7d|A+G3`2N3t|35ADf0}>K{}ojR{r`y; zm!hLzkBDv=t+(*Q^O}(i85%C)9kI6eNC&|B3r!XOuuifl@sRzb^kzSahq#Tm_NwS7 z-=y3frF#^YV~8x{ObrSR2~Fk-4`$io@#4*|=d4>ZQuq9(jAU1MO{R#I`eiZPvlw-u z9D5n^S|ME^*g1;X#bd|pzs90!+bB^AIA=?oVT3X&1}IZm_Q>fU<;?$Jv19gco^7Iw zC?|T~;~DI%GVQlQw4??h)^2i0Xh?7vj~KaT-LJ2|yO<~$&KC0sHc;sLx1y3~5ehOM zA=@w;3zO74YAP`XErIiZwg5fOFd%kB5n|x6FaBWOuOCkvNfb>HHT2K^Krosdwq1Ef zmNR)n`ix{IafR;|opn#(2=TK;^Z&>PQy)T4WV0Q5TgU9b-xogzjN70CWvQSGaY+zc3eF+eK?tq7%;7V?=l2j?Cm;U#W5yKqW|7_S0T~pj!F!zz8E0xh7N?I`9Kt?jC7W%`$S%lB_ zhW;DUjJ6Sl6ls{Eq6YJnimqPzKgWj*L(?V!9}8Nr@XvqdOBx)K25K8Lm$KxFm6VWw zkPa*$SQNjRRt0UV{gvB&It6WW@h_ZpSFqxIzux7@n5H=3sy3SVsosfy%z~HJlWhaf zN=Z72&p>H}JtlUc)x(A#`A6^Ns))vIc{Fzc3o`gjI+fIYsBPdX+mIt{fwTXDk;>`$ zeRdagb$LFKIT7tM*lCY>JdJ;aoK|{& zBjTY*W6tYSKqKzN-sPpVHTJ4OjzD7N#n zFO7BgOJgtPOS8RYr6mW4?6s2e5UK=yv|9FCHU0w)H``OxZ)Uql!zCXQ?SxiFY$38( z63}#WBv>QjfBLP~+~*m!ci%qG=)KCqqP`mAg2o0LBH!uTQ17>Yg%QoFG1kz=5S&Fz zmrw7KKL121V`7A-Y8ii8mq!@{qSz4XVO`*`HOeflN(ejYaB zYk0lx_uWPv!+tPc=p60u3s(1N`;2e;LZ<19eBTYZphcN-0b41KD1xciy<@J13L%3( zInVeJzj@8iVGz>1Hpl2HUJ9}$*%+gSyx~XWxP|+ly1m+^w^fvE-3 zywC!0qYQGROzi?`R3?TnS!qP8tV_~VWc?CL0X+V6p$^E`ck>kZ3!_QC;LK|9yV?|w zJ>t=2q(M%5(;$7xr%6(jl~6y(Z8uPxGEb}fxKp9L^b9*&w9ohpQ-Xu4v52ya-dTyS zmGE!A@!b4+AWKogaUtN8=cYK-Z73`7W{`6J-$IC7ktTfj@&i!1LO6tc#9afz$?Vswc^qG^&;2$T(?eQ z9j&E5{xbi|1}}g=KZ}xU$u>8hpwK`*A+I%}W_PxAMO4n-w&!gF!GAo3zJ?T4&h)Z&W1^DrfPHB|DjYaZ2VjqP@EelIl!suEd92IzB z51MYp&?`Ju_W#L~?Aa^&7yP>`p0;Y!A-M;ZD!cWBCA^{7xb&3lGS=k^pW+dd)CwNY zf0uc+8d(k$`HVV@|98u5_ z4?%8)x}p?(qZe(A8o%g^`NG9j-wzAuQj(4Asa}YY9bkO1p!lVQC*zlt8*#&H4v8Bv zB96t67?CjZ#)#n~uG3GxVdRLKGj5I;F+%(R7~V#XR1${A4Y@gN#4vGoINp93J{)%y z=-b&5!-wY#MXFkAL|i=bQmK){Mu_t$CC(+xiXXwp43Ce;Z$gzYv*rlK6Nbj;hQT|W zoH#K>zm_z4aw2O#d2))#n>=x{=Tze4Ns0V6{njT=|kyFD>+iqI!c zo+$QA!rQ)y6DNwj^5;ZknU*p!k>8n|v@%ibL2i_rNN@PICnaSvt28+gDSIao5Wgp< zOi47yGGwl;v|3vYA(`t2XWmtol~z0+Sb9=7w$dPTX@|;?x%{YJXP~m|6{U=4teKba ztg^e5MTCcPk_xR&S%r%Z5|5PzJj8#J-`c_4c3K(A#h&6p`n{2qm(~Eg(q4=7t^s`W zV|#^1*9>~RY5CRw*xfM$`Q}$31h4FZ4hrff`r8m^7m}`H& zb{Y4=*70Z_lUts$VJ%HlPmGj#^YNJQD9eOf4Kc@aJ|3HRSWT9oJ1Cp7Uhly-jg)!w z@flmPpof=If{LVv(FV^Mwe|nU+Is*-Rc!y`J9F>dP4An<(6XtdLh4czYLFg64=vI= zh_nbs3>KFUOEE^ewbNpp(Er6$lEXIX>=gglOdw6?$kHuPY?~S43R&B66QO3A$Pdm z)PoaLe3@&ty9V5BkKE}#kSQ=2r%?7VWK(q=t6!U)6=@=kovjB&F-;M5+80_H zViqmwEI|^&0~BLG1O&H67cRVE;TK=v&q8r0 z%h+`Pru$ijID?l>Vh*b~bolULRv~uc<VQa8)|wZicc4R{g}ov6uyQt5Ji=ZPMWRT%#rdA|4W*NsT>DY&Dddr* zI=+3tuA@K4`Q4_mRPOzA%xK)7R>!pSTB_Wa+ZyxG_VCq;v3_DorllMUEfi_A>&ix3 zv7+gtgB~Q)$5eU{jon8!oMvZ*`FIp#VJQiCkZWV+7*x-9uuiE3X?dB&`Mo+Q%W~7& zXO$Ne<#k_=FLN`x=k@B~T$7hpkXoMEH^2By?{&QsM;;u>e+vtn92MpI*!|fR5+07v zcXiE4iJ#T3L%05m<5MzwbQ|2cLpwFq_sg8FMSXg9Xm{mwZ0x+2E&0TLJNu=MJvLV9 zFF(5;a(^aY+e=@XgD0ckm_ro$Nkeob^^`6rr|ZdCB#BKVgvKVbIYojNco#91RUC#` z=u&a$a8Qh`bC)iiZOgZAWpk1668};^?$W7+)!L%d+gr+fBtw0@_J#29WSjb%EjfJd z5!X4S6uENTV$nKSl4^tSU4+^_B0PDQbHx#!0GUvIa3;BS;5*!!PVqh5st#G^&6aaM za(aGVe%|!y_>+I;|Aye-jve$@T-&rX@dw1^o_2dr7J$Dvox5pjUfxtO3xD~crsRy7 zrqrp>$#{x0`|cr|dX)7=q_yPv=f%Io9Y{plgY9CoPoBgr^Ap7VCr|3S;Hew!Ut4qQ zaeXLUG1Rs`yz6uw1z6ItKZDB>EU*Z%c@5#h4B$>BK(B|V`fOhdrzW&$j?3;4lCl+~9*1}#A9 zNPB&}xndB62=3ZfzZHWlvIF&K6WOqxKWl)GYz#0^hg^v|B?-13mQ`wRWI`%55(;@p z>e?Ug!vafR5ap)pI&k2o75n!)mzcZ$@fwX?j|!7{1nSbbgBcu#7@x7lf83Ga z+8JDLe1H+Fwa4z4BZ?HQ3hWW55#_wJA%9$}M?^`EALTK!-4Hsf8x2Gg4S7g|WJnwy z)gH6auyyFL*r{1-hf~Y*g$R>BBkK6;z?I+@kemWrvqlm*6C4(GfQfxE zK*_%>OGuSPWApfHM3-4C19;RC-lTN8+)P0{ihK!3tHjxZ3*oLy8f^b8L(TL~7`VCn zBF7rwhttW?9lVrulX2=yLkwo=j)m9>m(8v9Iw1*fuTP7iNcYvH3t8`(;m0@n%&ylX zeei*YH9>qYJ!H;e*a;;=wL|_POFr^%F*YhCq_F-go?O0s%-9u$$RNIT+vnT(l__i2 zPMN%B&19&<3aACiq;HIkVi`1(L#zO9U%6|K9uUyv8q=Sbz48qo?b`ciWpNtT4HsZ3 z6y{UV7p75;QS*Ap%u^CN>w_o8CIeGix*=>A@f6Iy7U59OM@FS9ujzPuebpdnJPwO^ zPJMzzm~`>t!JQm~23z<<}M`fIZ3dK15fWo`Dz zK#nO){V5{ZbYZgWgFTY5%cuwz8}C5Y*_3#Ay{s_ahQG*7{Q-O6Ew=eB_JEl2mYDgL z>woOTx9r3>xY9QJ8`1t-Z0Y}A)UH~^G&P24t5#ikP~FSYH*FH{*NztNZ`vg7o|}dm zG!ScPG$VJ<@9|1;RU+YZB0kX(@l{uvD~;x{NR6W8=)f=|&txuRp{BLl5g!Ya4Q~6oFz8in9 z9}!8XH~mIWvqi=2cu^kzJ+;9Y&E8wSLVS;vbJu597NeVGac0Ge21DM5VM87l2NsG0 zkHbiF=gULFTp5rD%y&F~OpE&M!*_Sjblhmz8nn*~(H7=7(s~1rJ6x5(W5x3N?N10B zLakO*xRDqV#wU}FY_ffviiQhq=W?=z1VBmA4SWdrJ}Z{<)mHJn?E3^@6JvFKTEBVa zs7pnc`587G{jW_1G1%~CwNJA>*f_I=0gZOq8o3(mqGkV-xY}JtQiPl*7at;%UsS5qOxV-XjAK_2Aj; zdhA7qw-)fEA(G>MU8OcmJp>NG`yr{-V`|DL&V=de0jpY8+f^&Patw`AEX*h?ZQP^k zfjivK$X0%=BFv=2A)RrvvHn&h48h1d##DV&x__ha5T)@3muSre8cxA2vb(_7QGwz)%t$CXz8i)A96 zNoee#eL>MRgRP<{C2oI3wWCc!(9M&?fHvuo>qq`CCE>vI#Ep+4YQ9@uuh)5$tSF=qkB#T7O_s)g9k_-Ez?i!Fik7n$9! zSB-xx_J3(f*m(tZUk&~(UIhN)EpaBY^LTd4)pZ~+1iQy}N3~!hgkY8Rd!YKz--;FV zWPj?j#3(H(I+drIfib0}E`(Uh*9H`4llxlPY_`POf8K`K(0 zx@+>0eU}$!E{yC|-D4|64&&E@bsdyu!0qW)XYpDR$eWrAzHeN%o~TmkpYk zFmqtp%4P9CCd?dE_Q>LekCY8mN5&>V5mFtH%r{yhWY5NBa=Eo&>z|_B3n1X~jdoUg7ugFTdoED!U&3;){oO|K~p! zAH4J<4x&8y>R(^pXDj6%L! zZ}r4EYUe(F<=2N+Y!W9~0pgg0VVk?)Rvw2QOVhM$&sQ*b6`KKy-HQO{XMl^i z3GPtFL3=uS9f{ZlfSL)uyD4nTLH@u@gKJE+S;1G4n z?b|muw{J<5Bcu14Nfm4Rq<0i9@%{Ssm@q4=nZlyhtPz)li>)8x=rkA;zack7br?8j z&Xz56<_ye<#PxjxHuF;ti2m$p`hCEawV6EyWK7=yx3$0xQ{iOyNpomfY5@*+!kVbyD@t2t*AO2)5Zx2~?P9@}T4`&-8D zn0McU&pr3t=5?_*ZaO>s&h=ZitiN+O-#lYT3_rGE-PWz^HnTxbPpn z1NO3(L%DYPQSrU_uG5Ipc8^xXejFmc++^O&S}UV(JJB!unYUQ=BZ`!fJtn5TtDV5^ zi(Ist8y#!SbwH%4ZDfnJBr<6M71%y(zyJ%RzlQTOiMr!vX1}~P;~I0wl+#D&CA=YK z6>6??bDq5R-J@*3!qo};y60aS6lm@~cHe^)3EBzqLurc=R&Z)?X{ZoiyFTd2e|Y@q zlPj{sT@fFB;X2BnduVgYfd#EZkCeECf9V=6uzCqL1LzN0OwJ_!Ri6!*|Noi zvpnoC##?DD6BME`%zj~HK_U{I>V}`5=TTNx^c#6uySzL$Sea9(^c)!Z{-~IvN!>pz zSNcC^9;B3iynmeSlP=i-gZlCTafL5;*G^x^@3?qp*H*`Rc710?h?zwNihs;Cn^&?y zin#b@@6O*23u&eF?K5v^*qbvD+*g<#d>95Bmmqy*@So}2Cj)1&AKcgNor46xVP=Y7e#sSpNMd7;Jl@o&_J`5G#Y=hh+PF?(1&*D(!->2F1 zes75R)wexY5cpxqeUG+l)AsOttZnTATX`ADuxU5wd=hlFx#>*fC1D3DWABUQKl09pr&eH5kom{}Bp}wx zkig8LbY`y?xm>}*G6h_}VMM5_WdQ#;Y%R^piPw9zbCBo?+G(XTIh-|%-7rDK>X^37 ziapx6$VyIAFpmWl0O|5_I#V3 zABw(PO&_S;^_&M<${K?zjW%o~*X^r(n`*S_1TLYYi= z2yU(WjW2|(A+}5NPN)JImHc9o_DG)I!*V1e{)IT@h1TVzs&*#eifeb4dRyD-7Fu`p zG^$X2MWB9bS)XJO+=c28Ia0BoJTU<@1k)pVtHA*+w*P0I+S2jPu-IdHAHEnfs#H6J zb<*OJwf9uS=L|3Dn;uvD{+6u0t8CrX_rdG3y7tKLb%x?OOapEJ28t7Ek;yuy#z%gb z&r=R|cxgxC;C>={bywS~TT)A})y^DKul%qr{b98#R_Uw;|D*P!H5~)CS#C^Fd#R@& zqVOmFfjf=fLL2g|E2Bmd;6YI5DOw`2M{_n@IHbLyTs#qRVp3nlS!?-F{pL*hkRghu zol$F}&R8E_8`g#2?<#*U>BvnH-PO*PCA)(Ki2#^~R9rif%}DXACaK~CNBSAYwGTAW{vlpFS<~2;JJq$WE#jt) zaxD#K4f%P%YG=xn+{5*cRIqpzn7u5H^0ne$ti-j%yjb5Qq2#y%oOenb zU&dMHXK?Np(YI)phg+atX6#o{hd;bp+2~y0TtM>3O!uPP8oe9};npU;M%4X}G5q1x z&IQUwWuq)t1-rQpc`srCkM>)_n@8#?`jt0%;tejq4CJ>waH!%?hYp7(9#-4vNvP6l z|EVsGtDUdD92#0%tlk}0yGHG+w_SyNY3q=04KRtVtN_{ohe=N@73shmZLRC(Kv&fR zhbI!yibL#xo_r-u?OVGhPQAOfI5bp!xpsb>y0rG663_L>pLd=5GxuRJzr1mxF$`DJY`mu~LWSI)ED-<-q zAWJlWa2ok?Ff|Qh@#In46RnV5N1;|A9qL#muYg=kI4W~M{F7(w@dGlW*hYNJ7}yr+7%E00?c*II zE3o}rPjqU0@qMth!|=p6zE4gZ-oeVA_xnh4iTm~gzfZ(l64 zfyaOZZx7};FU>LX>&e^)k}f(NgQ}P|=e6d@Hs>Ym<@qCRTENj4Rx{i`g`0Dyf?+txzC_lc>eE4Uf{`o%hr#I|})M@`RXb19(`Eem(sbGSGSOI@2E68!^`Qai z)^ytj+@|a3^war4cI2=4*?1X$el}jF5xJ6mXsk^GoqCRTY};QSDLrIgC>oYsV^T*mG#HZON-{fMH$eoId$sWoTlm66g`c;>1|&PTrXXl z1K*%obIR&vymV+zo%*zEP93A2tEsEoBN~eu%BDd}qwU7Z_{&Fg;CSiW7(5^QD0Qx} zGX8jZ>DpLXfBc#*TOV$HIyMGhuj7@oKQCk0zvh*#FTZ~c*Gt!?_+|7F@C=)F)pTwS z{Q9(OP943B(GM@LnyRbwSK7^H_M_>t{_@gvS%a4TcsE_gfN#*>;B#~M+nhQE{QC62 zns%;4-HftVQ`eyN)zmTM;P2Gcacn5_2JX%8XLDgF>0*J3 z-NR(}>Am6q`uTkgp83dEgJ+HCLxVCt_PxQg`t|ib`{U-*eyVRA;ZN|FWqfGs)27~k zy-g{LKF`Si@S_9ZG+oBv6J+2o;28F;X?Q*|^q26OQ`UzDf7us9j+?Hd(@*Dzw0VDl zXX9o3`Pq1x`f_2=8m|r7G~gLDX{=0rcukcx;MJ!^bKo{zr-A%QzWg;@KfBqW|3=^R zwwqVhpWn@^W6(^m+dRHqO`ZC*yP9^IS68RMzyC|$HEIVXZ-9RTdi%?V;r})T$E*L1 z!Sk_?f7+(OV}ox7T^obvkDqsJXsm2~xb^AiU#D^T^)K_McJwd%R$qSq8m^bFhO9JI z2hSu9%_&=-&dsS)pLWfuW3Hddy-yfs#)J{$wj#>)EJ|K{PP)4TDq_3>+}?4RNJ*L4h8ZX5@H zxXml;FSE^o>$N|+>@;1+Uq+iQYrwmjItGugrjF6h)zsDbYuM@L^rPvr{_@gvS%1EI z>2KiQn0y=X4Z1W{wm$sk)G^>2aGO)7emhrR*O2L}q1V;b(Q&%EI{xx>b#)E8=`gOQ zU*2)^YU!A6%lw^wd1-z%?bWCG z)ztkf{b{Pdy1W?n;cDcud3F5dv3Ye2p8NN!d3BBU4E`B%(-aNrw|6yljrQvE@9(tx z_hESD^y=IFdv%R=3^_GEUk#m&I)4X-!K1%Z*O06KFEDi68|u2zr>m#K)xpyDt81@e zzxp-UU#xGG_H56`#&x<%AG?g%OEoML+ooHD8+)h2#W(F2i_ zv3&a_YkAHGzFop6*uL=TqJH@w8?5o4_dWbv!)Bg4eC?sHzdm&BpSFYMTb^Sr#h3d2 zZEYv|W0e`ujQ!|1vW(sE@_+q(+^km(`$QzrZ;iOYcRx3FVZS;@--<2wb4xnuZ~@M{ zrQ5ju9fz?Tsl0Cu>t*b67thz|kl80SY(qkV+IEh6pF6>QRo^YH(4KP%o9@#lI=Mm1 z?AGoc(4lLK+)Yo7sHH{=-`0Gan=MweW!bsk*3^i1fPY>M%k$k%KIb;}U=VxoHZ)mY z{^XP8WPbNQ6RfP zTm(EGeU2Te)=wQ(iy`NT-V7&~)w4PbW*k|PCzc43`u?0l6Y+m8dpD51qqd>5N^6p8 zhp7jXYL}{g(px=&g20X z9JYV-djo~q_W{HAz>OP5x#?%fRu}M7<_%{Oh5;v$%pTbbq(3cC9Jo?Lxv^tIH4q;! z5kHDAZ@zNnX4W!AZ^U08K)5$IFx-_By+OPQA<#^d-Fi;<_r)Wt3}iyjpDpt~CK;eQ3sY5Mv)b0k;-(cW2$p?l{#Y8j@1e%*PB$IIr6JjjxoaE2c5_E9@e3;C(&R6 zG*ym3)F~Qw4jQCC=pGgH6Ff8$_)y&kHr-u;5ymYn?or1JpGF_0og95+6Ex;@Gur6p z8GC$M@o!0vK4`+XFM)34Nk2RdgMsXS24MC=L&1W5^@>e{VU=uvrwwnPe8J1UdFU2b zbFyI@Cu>p+6jJ_tRQ00a(IHVaY~%hnQY7NlQ$p7%nNTW1*U z&e&Q-%J0~)&!_c$8~oaru*je|Jo23CP{vVWU|_Osrh(4PZ8wv}dvn7+9}#fFA|HWl zr*5%fH!Vs*H14}lv>h%w9eD5O-+%u(o148zx0&}`W@-RaFSC2Z+iv>lJ_hRR=Mo*! zRwWhEIFru+o92G@{r8`Vd)qJ8E!n)w!Wkf(m&H7WYgvdcM*I3WsvpNQP_U~X!1tKw ziv@c~ZR@-Qt$3T&Lq+mZ$Aw@Su7`n+o%{~A%NHdvfrTnj(#LFo7YjGdQvXn2A-lz* zZPAwG)MTclDh|!2sZ$o(xyALfoyEG|zTVEwJi;!%WBXY_vg>IJPp;w%#aqd|KfR?s z`oaptMLo$j#iB6HqNPSV*u%&>_nn=GTey9p>m3$rcl~7McDA1{tV%{BPbaei*PZm1 z_a_x$;dQ&!L%<8C;gfMuaek_S6+?F8gjA)%)~kIB*C`KLJhN=~S7lq`^83f}Sst`p z_m|h1o+<~tF@Q(?BzU;eJte~7!O)DGkon#XWnb?qpH6M|9KH5Io!pkNe;~)I-MQTwF$H>y>TeSzZdBF5C5WnR+iF=-T8Z;p}oo2zuyu z$PE+M%;QpjH}#@%0ewn>Qn9}5tKDU;(+2gf=UFY<_fqc#l69tX*ZpqtiMRMHLXu#b zzA|;y63}mq4apW*RF-Oy+_fM+dxaesEwEao8ks63A;yj>j4k=PdFmnUIi+LN^-CoG2 zh&W<^{pjhg0MB07E_!+)qcssHTQl02g?`93qLCuQhKx0C&=#ANFq`8mKxg-?7xTS< zPaU<3{*bflPpiWLUT?z#S+>T$GWr4eC0fZg7}A1RmphT+H{434&pdZt1>`WJ*D(9nsh#=KIz{l$v^U~VH=Yz5JgYF zKqwm|-C0V+_4LUVPTlwqsIy%}d;8*iPVay(za&heH*zbvMUP}eO8~!=!@Irsi%^NP zI^0clFY3x*`J-9CU@3c}Gdx}hL978iFY>sSEBC*2jjJa|jj*6lJ5n+8~~p7zLS#*z}|Y@6FNF_HD^k$@orHaOJuvUZJHE9a)3DJ4?C z!|%u~RJy_Iz9En;5*OdSTg+sei_3XmcAaNlx#OWP&rJas31>Ipd@SMMrah{Tq^<6G zuF|c%n5y6XEt9@(M8$l?v9 z3yO*stRt<$=qujpv-_1}uk7x#eaz`vai#XOq)|=XSGW&IhndYIieMzdI4;Dn=}rUx zcqqXby1r;shYq8Pu1_GxAz>XLFmvtcG27iBjd4%X-86x%)Lv13BRqj%E`V9Gc|sVo z=t%!>$cq;)o_}HJ`r>;Yd-~A5MTGUw0X%`fGPj5(b#&g+<_O1#-g_6%FMkUITSJhOJY5BT0wv|;FrpMQV;#U1Wh*_u@R7B@^A(#hbG65OKYwq@pc+{ONn zbrlso%G#$)AO5DDoiO*bcikxFh_}=ix6Kx(XI~o|+OvCdKa0zm{LQUw6gv;P{Ej_MgSY4d5Yk(aPYssQ;b{DIP3-k+;BX=b?1}3oe1_U=M!lUqO)_ zbiOyzerg^rBW|R9OQJ(>f6{`P?O8%bTD|tKY58gUsU7o-_KQPK{WmJEk@h2l{`FR{ z-Q9lgx=q?^+9u4`=sqYAayx&v}s~x$xd&1)m9ANp-*%uy|~>%>s3D%w*S2 zn)}*ob0@Lh1_8xU{Ts{<=Tv_5QRN(u<<>tEY;PR9t;|*BxzC2Kpv7f{sYbMquG^#Q z4efNf4^pSw=+YltOr+jxG0(U@H#=C$G0&)o{g_L0i z^A`5&kn}tXf#FvV^3vP9^dbNE`HmaLR*xH3&0?xXXUDQ-6d8*&M(9Y2kBQZ>*`up& zI(+!`jnk%WoJKe>Q~5f|I@ zV1(XgyME2DCY$P0o)ICW>mZ|kCvlsl$PQGyR_F8J+WV{XUB41Oyq$qR-NB_ue2NKi zK2t|WVy>fu9Ptl%@u3)IvKzicMZ(wqAXHps27IEALRm)L^r24c^l@#Lz1Ha?JFVld z%<%0mb;8|W@a$xu>@R)Jwi` zRG;$60B%H5Dfa0OqMlPPdE%$KEKxjsr`lGwfv_tmMe)Bp)?QuUoCjx+}t5yaK;-Cu0crN2n0*qirsV$0?p*LPg1}Lwc2S?H3Id(lA#;K7t$q^ zk9Nn75jdV%qXdy8)=sO@z4-$V6RL&Zx)-D-dKN)DMJEv5ToL{-%<{R)Q9uPhfe`ydT{?Z;0 z{#P!LJy0sJb_M)1wVfLF!v+imKmHwI2`Ix^h>mm~!t@{5lN{|2JR4?ulFp0;46hqV ztj4pMsCP`(8{w`u(p#_Y1nM0_z0p)2^+r*B{NuPHxPs~->z|BFN=1Y$((V$A5xyyRL|7L2P(6(Y9Xu(NgL&JMgQMq&h~wg!m|jGQFB;0`s84$MUMkDXH3 z-(!_nM4O=Z+udd#ZKv{tyAIj}vZVD?=a}rRG>}i6tCsD_Ix|@%WbA9uiKM{jr(Y*` zYK8o)-oXbT_q5K}2ef^{T}P)a1kG*`mYU-u+%%m4dXRibK9hV%x$yGY@0lSxQWk(8 zbO7VYPMktS3^y7xUt@&px&ckCRRhG9{;~q`i zqML^-Cp0C12DulIl)dvtcAjDz<(NNb&V0ux+my~D=Q&^YX(8tB-VvSlzPqWiQYohgGWg-DUVq9JH1b{3tv5~Ic|INALRZc4pPI9Y67rwM)en=pgOMScDWpYg|uY{QcrbcFNiJ z22Tpe;bK)cN9?bv)wNa1_09sXRMoz(P5w#boEIH_WTmdj9w*#@rPV@*FwZx|#O6T> zuu4!UU%f!t@j->W#?^U!P0f0GEffQN!K*JV8}ZdSR(S3!=R_}b($U@~tN9k~8p;~N ztab{6Nytg{{Q4yMEgXIe)}^|Jw8-5*g?D$ov|aoymQ;Sj~(0H)sH_zuY?z1%>%6M@}Aom+(e68U<>kO8ci9YL)cI2T_e7oJXv5b zksBEM(hH0~mC!oU+6^wWB$PGW=?}xWXJxC1NFc2w)=qh}a>Bm7rK5%p_CzFTc~DTdXm$tYl0S zXHKTY4V!j);^O|DJ9iF?7;DAl#=ixIMkaO~HF{~qqJc$)U3mCqzO7s4_iXudU(Fic zeaN8xDY34pmhaEZzH8c^VZ&yO>M{7*ULhe$3xq3(Rt8?UyOuTHbY3oH6v@XO>ljfn zrLBiEc8~yHyOlqvVy}@eA`zvwU!96s)UsA>I(o4l(DJenT;U9H?t+y1Sn;+$*rFzk zxOk?@gTCl-ap0g{KLB0O`v+5dt)+SA&*^qA8DUNhD|~?LUb8sO zw`6j0I@2}%q&UR4Oln6fo2ipV@C!L?Aj@&JrZ_LZFegK?xSq6clE5&PBC_o!xu&bfzjd|FVQgTIa=okdoDA1f z1dv~F<7k?t-Dbcz{qT`>qfD63*VWb(-(Od68hP*rzaDhobCoUD7KOYhhp3V=hMf z(NI1OoA)FViOMe`ajlF`tWmAq*h69>iLPh=8^K266gYC&?!;r+$7|%Kx3$=ibFmxU z?2OVV;*lGa*L=jqS4cYfO9u1E1=aBp2VWuR_t0n-clXz z;ixYkwF&;r(`iewINBdjpK}fPRgX`o;-=p(vc5q+H_4S>+%(k5u3B9?bxQII5B=eT zk#E#m&d=Q|GPI*sJ%lN}z8d3Psh03g#!?Imkn=Xg8^TeqMAoAU?)4${Q0>2zm6&qV z$`JoWv^vKE+yN(@f4$M(PIr6c2+R2@UGVnnyZWql50gqm)FXPKxtCa}nPtKntzTUjAC?Cxt1C={@p;4U2xK^t_HBla}Tp&jU?x+po zFY=d=T^CjOGNXZd_(aUVM;{*%uvTYA|T6=W?apiY4lIL@yw~Gl~1QlJB3&A#`Jfm;~)OS zezj;Jd;0CS*^|ePIg=LQpLXD@h4i}UO3lJWUm4HX@kI;2BAzf)PuQq$^!yvxl?jc> zE5I*aVc$rw=s)FAh#Yy~Mf^L!pFF5vM~!6DkvCSdBWs>o!)8}jiu>_KO#EJ~)8RsL zcn$moc)7_KV*NowK@+Ka+`QU#Wc5q9xZJw2npSpP6+9gv7PuCwn`v7-+&H}{mpZ)d$zi{yG zjr+xwHO{et}F3QPLM`8MFYemV~qEUki`i$z+M_W92^MIc|KEUg~Gu1uidVf*X z>eW??_y?icS))ZoC3|)KAlLox+&_B4#e{^XYEj@1DC&kES;WXSqCle?Hu-e$U-PWRtM6p*bh>ZBLyxSP9UfLL z_ADwISW&*HQcGOsx@qF@Q}4LWh&dYozTl3T5AGL<)PzqTFiZFLL65K^afIwc1|yES zJJ4w(`|SzQns2;~I`NrnpWX%6r`(Q?Mju+E4}hPhO9E_eQzbfb<=Y7PUqK3!rUkjC4YnZ;-_rJhT0yY5VS`9?ug`m zpr+E8qDMGxKt{go@N~OSFezfDL1Lt37y9g#3)n|A zD82mDf;`M8Y1;wZ6W}mt|9+mqZf3Xe^aJO99ve)vk6zXYs4G^Pk$uZ7trx+SzP~Lt zlJc$5Iv20-(98A1^Uw3>oDsvSYB%CvZPl<5IZDR|#W$cAe~blOu02w%zU!u!ctC76 z=vDU#`p{Cvtea#|N53U2v|$5^H8Gndrdas4I+Hj!lP53w@6Ux>Tiw`m8ZYS5FIsu5 zveH$-cW!1e(Vv(0Rr5@&?njd;;Fxw+o`@mULzXMb3nFPknOveVcd=OmrYO^rN}|N> zZ^UtN{2Q^dnj;?%!*lGe`nLOHC3mRrZSLEnHbE_}eVGX5oUMk{ey$Ws;?l9MrW})`STUE^5_2*-=oM8uIPQy~5uc?~${DlS6!;nFH9%Fr5wHmx++ve?~R~GiM7lB>{br+OR zbbE~52E>!Z0>dDKcyicDjdZIY59@JlQE$uCl6wZd{?`Izc*v46;WL-~-mO4;MWB0gtr*%kb*yXBUDR^7~|_UV28*?&2Yu?!x{ z(!^QUF93)+?$A2U{!nHhtI;Bp$wfhYR(F|iS2k&%nJ9OOSJPWUxRv`$#7lRGmrL1( zvM;`#s(semg(z|F-mdp~I#$&|n@TZKeI2&2m&t_FGr9%JPiYU?Eyz#G%T;ZWq-q$d zVq)8}HVl4%Jt4J?#XDeUYpE%BE^PVAfpzyx-uC9}J6Yh5OH6fZ7PdUR`?l2+o<8>6 zUZg1garCIbHc@TkQrZ=?={`Ape$Jku-4_lYP~53|Tl=+a(%wBw7M4%RaCCg**-w7Y z%oI;=y=(fk@z>=$^3T0|{$g-+aXUw1N^JPtfzRjk&K@*=((oR^!N9$@7>Qh;avWz~ z2ZF+`cF&NKOK2-p>0Bx6#-#^v6$Ajt_X+-3`-7W zbId4Z4oe6X*qTJ+P7k#YaL4pklpquGcpqqPvNZrk)_T;ojLm@#C?(9D+kEvGHx z)Q>G(2@dH{iR4%zUAlDbp*}QtUSeYR)|QCC5L@Uq9a|__<3r_g>M+g z!rFv5KM83WW_MVJt_1$0MNe%x@E;;+4_lH*kul`;idRzYw$xaAtW5EjM+PU_98Ubf z4{*06;?>}b9hrFW9d*gg7fr3@Y8LBcHg^*3U0-6mFbm@8Om(#m%Vd4c<1$i9Q_Hff z>DJin5H=ZmfkoZ&b|u*X(E*}vFf+xbmFWD5PAeT!hP-Z^nb|#&DKXQ#51toSoG3nG zEN=UQ{5HO+SMlQFNfTq+u&)CwVV3ZK`6m`I&gO@<4(4|RMg(PDm&IY~mW^r+B5!Y92y7LCkW zK|W=iqMt~7DSaF8mIeuBprQ;6w1wV3HYvg$77!2;*zdl69b4R<*twl8!zx0<6T=-J zh`WR0f<6lj2#pJE@yxEIqO`MTiBR9&BurM$bx9-6Z9+3lGq6EygKEGfl+d39Yy)Rj3K2%GwnU>qf~705c^YlW-8Ds zXQ8PsGNoq*7{^#_#?aETOghZK-emj{(VIEeE1-3Fc)(-g@k7&dm0K*K0mz~TbnqrD zF@#kHgySi+sP-aH=xN{23D=>bmw7vI?PoGUuq2|yg*K>bMBTl&pYdRz>3*R8u zqAWpgm4k6zqLwp_D>ny(LuQVPsmI%PZuR`Vob_teGex;UetS?HJ~%zNRj{&pJoM^D zy-$e{GpZ7n7|fhEF?tSJ8w&f709gx_*?xhv-apN2;VejVoX*S%m@q4O*4#o&JrsBE zlJP~NvNAHhtvwQktt>O4hn*)1Va*(Z53plGoCF(ElG9rJkNuj~uS2b3MOTKQSK!IP zDV4`Z@87p?jO55c@yug8XInx;Vc%MZsC{^wf;MbCd)~=z6*n%_F;56#&K1+8jsS1- zR<#x4L>SYOVY%FRySd>-A0t_T4a$&gDJ+IAkzN=~!IG0T(ZZj#_ecQt!!i@P+m(v_ z>7_%5Wu^^jC+e{I3Ni*A7tY7xx<%ax2AJxs>Fr9}m1RkL9qZwXY5(-fz~hHm>0xhY zl$G-RaWU@rY)c6Bt8K7yJ7eQ{SleK>%mS+r77&&cy3AmU^QP%o^kJq7_-QGSw=}oB zL27i_AwOPPYeTxI1El$5_sI?fMFmY>B4udk%u2%0WP_RjSyF+=W-O--`#Ms2qw}T* zw+?38NkH6kkq`>vl2l0lU-VMTG0q0kX-!FAIRG-G+jV%%tv#BoD{w-FaSuuk7;FBN zy?es&?V}Qk6IjhwOGdjPscv~V1HEL67yqop0<+R=4$PD{*}>yS*x(}(ts+PYT)X#H zevoZ3hnaOz7|e@qD8^>)?$^7efRuC74KGMM5lS}S16l=}`uoX&R7PJ+-3G>^r6dy` zLGa46ddc1s(f|WLS@ltXx3(pPS~IPRmYF*#r&VTD>n^QVXM8H&WnuR4 zH$#G>lB1&5E@kDZ0|pFA`Hk%3QA&E;@ZTF^lA?x(LCmyCBet>BZLV9+ zWELp=Leh2l6JMS%a868T79SWL6$Nu&@myedL_}Z@7cEf0AAwAl1NRPuxq^JAI?mF9 z=q8`cznePxeMjX5=a>AzcQcRV(MFF@cdmA#H*MIoYuBbx!kxkR$lS_C&+G zbH8fQ@S3D!lvmG90!gLQL`o^UqMfRX&X9IngVl&g9}K^U6jD4MR~&Vt8mNfJ(uWKw z%}nT>IJ*k+#29IAX%IU@=zp=M{+^kpzMrn)xSWAe06jd6YG0`k+Akhq%;OoiFu9xJYNfnyLqppEwP zc$mCh_|UdbYamR$I?P5N9*_PI!qVu_INL+}4l>dm3`r@dr@TN(Gt8gj77j%>>0kk_ z6d)@UsW@WbC)(6c_p2GYokmB*s@D1Wjy3@y0m3z8+A^$gF;kaLQ@dHB0+_OeJieh> z86z{;k|n<*-Rv&WW7RW1nJsX+iS&Gr77!SyB@RUF;32Y>;_bkw;Pmoz=XtX^#2jMz zoE`m~v()kup*VYS$9%_{CrO@Qm$soV7@edu>XmM{P+?cFpXW`(Y&}b=tAl!CAIW-8 z`_xK|`@$Imff-89j_a|R%cTfm$ig@6%F-BLyx7I8aCwuE+4nMMHOUK! z6U65f`@d5dMaGUT5!^7dAsCPJ;lQoGqtPEkat(Qc^*3-1W*$x$y>gFC>#?PINU1*K zInLP9rL}BdM(U7uLo*Y4LTaS_KRC4#>%Shv)Xse9mZ6fKYbA-zBrD^>+J+dS0$Vsl z^j5oJ|6qi)g_PbJ0zxx1j7NnIIKmcK8S)mpV0ugrX13zSjEW%e1E1NU*tHfVYx|}2 zPwjnsFWx&6TNoCPD405VY9U*9`3JG+(a_ed;sP+If#Vf2`rznRZT=4ulh~?l4=o@n z;7w6=EHEZ8^tPaBiy#P~Vp6}PZTGR{XOt;0L~I<$n-dZjtW1eOEQw@7bTMzzrke(k zd}AC1hQQNHPQ%K0Cu6!o>Q=^*pCSdsPC`!66>Zji5t-7~C@?T&c1SG9fxM<$WF@&+ zrhiBuGNF6IoGJzbVu7(4GBhh~5JGE9mzwHcWb6^qW!^IfChC4y8;nhE)1%yq@?#au zRv;mv(!dON8yMZ-oMJmp@!T;v{?N7Yj0howR)GWd)GC3 z__VNq2+Rrg-txfC<)?yMhM3QE9L(-|JFhUNL-dBAm>~0S;py!=Si#>?%vryIj$jN) zCO=ehM8=>`1(EcDIPFz=X?Q*A6G;{r-INX~3aX>aQ~UJk+in0`EnKU6r}XYs(#{fY z5p|2EFOzn5!nJn{icPmMwrrW`M~_njqp$~de!uY;B5z}7WW+#B<>JcW&9nEjd^T4` z2a<;-@iCExl@X>omk97z|ti+%aVoo2M?s{f+SX%^@NM32o9*Hp|lWdso z^ns1WM8?w_uk)lkqqiL<1(%b7xQ$6=U|J#k3R zNodZ}HkjsN5doq0VD8a*ifQy#%Yjd}TYr4~P+hk*?|@*KAzf9J)^|xCZfF*RH-F{e zH0iUc2i%sZd&1PE(xLx1V_QV;ovU_Ear)t+126bCh_xi(xE^yLHU);(=X(PyxoUv8|FO;SMfZ*Daa|iNK$ZFllPz2ar!6J7 z-Lzlgm<1i4BCRENh~@qFW@quO_s6BR@~Eqv>0xN~AW8NTJe&MFO%g9%8ryO2(vX%JGoa;g|1I*uunorHX{!*PX^B zlAD%bjP3y1M42#)kYT@q@BN*);I{PT1g=L0|OB@I4HrO?8voY}G}eKD9k@3-`=Y{SD5? zXoOkfI${2cxe!K_p=FtEyS5E?idSEZSvhqXPI2n{R}!-#oOzgp^^t?}Z}-ZOFEgj!|ZJ!~qe~ zjCZ8i<0b4+j*#EKo|6^mJ zc^+AFy~U=5Amo=9-YVjzKW++$4jL_O>#fiMnzv&2g5B%sI=~k@R@xv*PzA)63^V3C z(QtpS1Kd+j7=PB% zR%c@OF;*SfCQP}V$nTj+=oSu!m$sl%j0oe}DK!bcRuS}sOa<&(8^solUrRE^a?CFa zuzHZHn>+9PqA-cHB~M}M#NfaP%m#BNjGLGj*|v4tsIOz%w$F+V7q9QU`J0=+=C@}L z&x%b;%V?omls_^MR>okVro75-tt4 zv^NH^yJo#U>+mN$dG5P&RZBpC8l4qoJ`bxM@~_0ci81YCghRYRb{Z=umLs4!V#>)B zAHexfBXDf!iSD)HlN_*RSYIEReWFLC^uDt`%k;&Hnbk$=6ArF1;oLurW~T{LmZBe` zZl5hJH6u<9(11vEi+1hO;>duqC`1(~EP}z%ynn>j(Qt^-aT2@(lXKyC`^E|6HG6w|(o2|LAEM>A57#L^{OA20MM3aJ@w}!@s(rj=nSPG+yewRXbdce+Qxcw5? zveeipo1MXdkHSK(9djo40AP3^{LYOs_=RbQdD2^x#rNWl0~o$T#Q!k8D8(WLiI{Tl zG@9<+&aX(7eoQ=iDBx~!{2o3;spdB`wQAPXH>Y`K6E4M==gp|QqPA0aQG5$~Of_=` zgIz7gUPaPQ-M)gpg;=2{21wrz*7e2oPsJ0Kz^G3xU9iKMweGa2qa)6iZwt=pvi7F| z&MsSLo#F~>do;(vw%OwUV9r2maAzgZ8WdK&ibbu;&t#J>CEXMdg|i@_3HcIZKog2T z)4CTm>mv<@-gyRW!&ig%O<3BL?BT-#HM5$YI=EeFCTyTSV$&$3dlgv-88N z)T5$z#j|75vRkIM_6C1w$R_Vv4%u=7HvX}3plKe-2O?-Z`XGnO%IxV7w0EJ{Nt=I3^a z-P0%{v4RW*J2;h`%wbxv`Q)Bks<-}N4wNfSZgjDKEPY)1D|mU9O?{TS;2GJ;R@`29 z8G*ZKtcFgM+|{Y2qZdtRW9ouWG-$@l6=C;4V~4wsSsX3YqL3VI^W<`|oC}}^wn)S9 z=z$^3gs_~!JC;O`(bTle2^s0RK{v9UX{FgL*c!}I`zNqATv3PQmq4BBOtTcu7l$WU z&8nqsm$pgYvE}iD21T`fJIb1Bz2+RxEiW(6`!Zud4!d+o867-JBc7A(>oo?W{0s44+~@2Sa=#4T2QbS8ofBEsu%nlIkKT{+Wl}luH%0j} zkvYeviT~>5T0j@`F!nDn_AyK#Mm}noj!`$?HoM}tj&LIxKObTq=rdgwQ(LD_pR;J; z-~ajVPba=|2%{^-D8W{*E?cp6)1I^NOncSg>sMa=KuO-0_u-v9-f!E<*-rZYycEyA zAY>swh34T)!CT4TGtOcyMt%6haYqG}ot%S&L>>~tG8^S8Mk9x%)lSZ@0uFiN-=WwE z{|S3|;bHz9CC?#5I>@Q(7)}kuEAm))ubG^u=({&hK4|rN zoidgfWhYOZIC=8E`}#Pg`05j{vHRF5>{NE&Yfp%8a(=|Qt*_6U&1Uo1d^THrR(wo+ zT!gV5dcg3f3KqT&?%3O#Jj95D13IIPVO&T05@-h}2;wlLV2uwCJZdlgBFf?F;3FDY zhcS-~kZ}(MRbDBtXom)0b5;Br{(y4q4nxGxKV>Jwzvl9OcIft z=0PriOS*9gV>f;%dB_+)=63&n1fG)7;_DRW%@}7H#%W2kGsOGSa2WV>(8rpXHtx1g z=#xOUH~mcfTx5g2^-Vds1r2QKpqOCT+q!kXr}(b{_-A6~2iPeyKe%uD?50UB9W_sM z;B6^ea&_7(ZPVCY#&7!us>&WbT$drac z55nFNPKNBn)2BZ(}0zk})jYdwD7GdJ%0AJpR}KQr|A|3N)A_8HOcj`jRW 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

      JgaaC(v)f!i|##OCxRcl<;8dtT(RjqMVYh2YD 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 diff --git a/sources/include/tfpdf/font/unifont/DejaVuSerifCondensed-BoldItalic.ttf b/sources/include/tfpdf/font/unifont/DejaVuSerifCondensed-BoldItalic.ttf deleted file mode 100644 index e2119573440cefb2a4072a6d877be7c0e2379ff8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 331128 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𝔍xl5Da1U6<$BHs2N4oP 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

      +u`$oAF!m7vnF*Z^!S%@5b-NUyi>L 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 diff --git a/sources/include/tfpdf/font/unifont/DejaVuSerifCondensed-Italic.ttf b/sources/include/tfpdf/font/unifont/DejaVuSerifCondensed-Italic.ttf deleted file mode 100644 index 275b26d953747cd400cc33d7d648eed2b4934e14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338140 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≉r=x&}$TNk9kT-BX7Ar%_ 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

      piJ1vaK(5O8L6_j&7%~ZnAalsX__IY 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↱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%0A78L1x~}}5_1BR5 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

      D2Wn;GR1sRW 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%0Dly~9|iD7 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 * -* License: LGPL * -* Copyright (c) Ian Back, 2010 * -* This header must be retained in any redistribution or * -* modification of the file. * -* * -*******************************************************************************/ - -// Define the value used in the "head" table of a created TTF file -// 0x74727565 "true" for Mac -// 0x00010000 for Windows -// Either seems to work for a font embedded in a PDF file -// when read by Adobe Reader on a Windows PC(!) -define("_TTF_MAC_HEADER", false); - - -// TrueType Font Glyph operators -define("GF_WORDS",(1 << 0)); -define("GF_SCALE",(1 << 3)); -define("GF_MORE",(1 << 5)); -define("GF_XYSCALE",(1 << 6)); -define("GF_TWOBYTWO",(1 << 7)); - - - -class TTFontFile { - -var $maxUni; -var $_pos; -var $numTables; -var $searchRange; -var $entrySelector; -var $rangeShift; -var $tables; -var $otables; -var $filename; -var $fh; -var $hmetrics; -var $glyphPos; -var $charToGlyph; -var $ascent; -var $descent; -var $name; -var $familyName; -var $styleName; -var $fullName; -var $uniqueFontID; -var $unitsPerEm; -var $bbox; -var $capHeight; -var $stemV; -var $italicAngle; -var $flags; -var $underlinePosition; -var $underlineThickness; -var $charWidths; -var $defaultWidth; -var $maxStrLenRead; - - function TTFontFile() { - $this->maxStrLenRead = 200000; // Maximum size of glyf table to read in as string (otherwise reads each glyph from file) - } - - - function getMetrics($file) { - $this->filename = $file; - $this->fh = fopen($file,'rb') or die('Can\'t open file ' . $file); - $this->_pos = 0; - $this->charWidths = ''; - $this->glyphPos = array(); - $this->charToGlyph = array(); - $this->tables = array(); - $this->otables = array(); - $this->ascent = 0; - $this->descent = 0; - $this->TTCFonts = array(); - $this->version = $version = $this->read_ulong(); - if ($version==0x4F54544F) - die("Postscript outlines are not supported"); - if ($version==0x74746366) - die("ERROR - TrueType Fonts Collections not supported"); - if (!in_array($version, array(0x00010000,0x74727565))) - die("Not a TrueType font: version=".$version); - $this->readTableDirectory(); - $this->extractInfo(); - fclose($this->fh); - } - - - function readTableDirectory() { - $this->numTables = $this->read_ushort(); - $this->searchRange = $this->read_ushort(); - $this->entrySelector = $this->read_ushort(); - $this->rangeShift = $this->read_ushort(); - $this->tables = array(); - for ($i=0;$i<$this->numTables;$i++) { - $record = array(); - $record['tag'] = $this->read_tag(); - $record['checksum'] = array($this->read_ushort(),$this->read_ushort()); - $record['offset'] = $this->read_ulong(); - $record['length'] = $this->read_ulong(); - $this->tables[$record['tag']] = $record; - } - } - - - function sub32($x, $y) { - $xlo = $x[1]; - $xhi = $x[0]; - $ylo = $y[1]; - $yhi = $y[0]; - if ($ylo > $xlo) { $xlo += 1 << 16; $yhi += 1; } - $reslo = $xlo-$ylo; - if ($yhi > $xhi) { $xhi += 1 << 16; } - $reshi = $xhi-$yhi; - $reshi = $reshi & 0xFFFF; - return array($reshi, $reslo); - } - - function calcChecksum($data) { - if (strlen($data) % 4) { $data .= str_repeat("\0",(4-(strlen($data) % 4))); } - $hi=0x0000; - $lo=0x0000; - for($i=0;$i> 16; - $lo = $lo & 0xFFFF; - $hi = $hi & 0xFFFF; - } - return array($hi, $lo); - } - - function get_table_pos($tag) { - $offset = $this->tables[$tag]['offset']; - $length = $this->tables[$tag]['length']; - return array($offset, $length); - } - - function seek($pos) { - $this->_pos = $pos; - fseek($this->fh,$this->_pos); - } - - function skip($delta) { - $this->_pos = $this->_pos + $delta; - fseek($this->fh,$this->_pos); - } - - function seek_table($tag, $offset_in_table = 0) { - $tpos = $this->get_table_pos($tag); - $this->_pos = $tpos[0] + $offset_in_table; - fseek($this->fh, $this->_pos); - return $this->_pos; - } - - function read_tag() { - $this->_pos += 4; - return fread($this->fh,4); - } - - function read_short() { - $this->_pos += 2; - $s = fread($this->fh,2); - $a = (ord($s[0])<<8) + ord($s[1]); - if ($a & (1 << 15) ) { $a = ($a - (1 << 16)) ; } - return $a; - } - - function unpack_short($s) { - $a = (ord($s[0])<<8) + ord($s[1]); - if ($a & (1 << 15) ) { - $a = ($a - (1 << 16)); - } - return $a; - } - - function read_ushort() { - $this->_pos += 2; - $s = fread($this->fh,2); - return (ord($s[0])<<8) + ord($s[1]); - } - - function read_ulong() { - $this->_pos += 4; - $s = fread($this->fh,4); - // if large uInt32 as an integer, PHP converts it to -ve - return (ord($s[0])*16777216) + (ord($s[1])<<16) + (ord($s[2])<<8) + ord($s[3]); // 16777216 = 1<<24 - } - - function get_ushort($pos) { - fseek($this->fh,$pos); - $s = fread($this->fh,2); - return (ord($s[0])<<8) + ord($s[1]); - } - - function get_ulong($pos) { - fseek($this->fh,$pos); - $s = fread($this->fh,4); - // iF large uInt32 as an integer, PHP converts it to -ve - return (ord($s[0])*16777216) + (ord($s[1])<<16) + (ord($s[2])<<8) + ord($s[3]); // 16777216 = 1<<24 - } - - function pack_short($val) { - if ($val<0) { - $val = abs($val); - $val = ~$val; - $val += 1; - } - return pack("n",$val); - } - - function splice($stream, $offset, $value) { - return substr($stream,0,$offset) . $value . substr($stream,$offset+strlen($value)); - } - - function _set_ushort($stream, $offset, $value) { - $up = pack("n", $value); - return $this->splice($stream, $offset, $up); - } - - function _set_short($stream, $offset, $val) { - if ($val<0) { - $val = abs($val); - $val = ~$val; - $val += 1; - } - $up = pack("n",$val); - return $this->splice($stream, $offset, $up); - } - - function get_chunk($pos, $length) { - fseek($this->fh,$pos); - if ($length <1) { return ''; } - return (fread($this->fh,$length)); - } - - function get_table($tag) { - list($pos, $length) = $this->get_table_pos($tag); - if ($length == 0) { die('Truetype font ('.$this->filename.'): error reading table: '.$tag); } - fseek($this->fh,$pos); - return (fread($this->fh,$length)); - } - - function add($tag, $data) { - if ($tag == 'head') { - $data = $this->splice($data, 8, "\0\0\0\0"); - } - $this->otables[$tag] = $data; - } - - - -///////////////////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////////////////// - -///////////////////////////////////////////////////////////////////////////////////////// - - function extractInfo() { - /////////////////////////////////// - // name - Naming table - /////////////////////////////////// - $this->sFamilyClass = 0; - $this->sFamilySubClass = 0; - - $name_offset = $this->seek_table("name"); - $format = $this->read_ushort(); - if ($format != 0) - die("Unknown name table format ".$format); - $numRecords = $this->read_ushort(); - $string_data_offset = $name_offset + $this->read_ushort(); - $names = array(1=>'',2=>'',3=>'',4=>'',6=>''); - $K = array_keys($names); - $nameCount = count($names); - for ($i=0;$i<$numRecords; $i++) { - $platformId = $this->read_ushort(); - $encodingId = $this->read_ushort(); - $languageId = $this->read_ushort(); - $nameId = $this->read_ushort(); - $length = $this->read_ushort(); - $offset = $this->read_ushort(); - if (!in_array($nameId,$K)) continue; - $N = ''; - if ($platformId == 3 && $encodingId == 1 && $languageId == 0x409) { // Microsoft, Unicode, US English, PS Name - $opos = $this->_pos; - $this->seek($string_data_offset + $offset); - if ($length % 2 != 0) - die("PostScript name is UTF-16BE string of odd length"); - $length /= 2; - $N = ''; - while ($length > 0) { - $char = $this->read_ushort(); - $N .= (chr($char)); - $length -= 1; - } - $this->_pos = $opos; - $this->seek($opos); - } - else if ($platformId == 1 && $encodingId == 0 && $languageId == 0) { // Macintosh, Roman, English, PS Name - $opos = $this->_pos; - $N = $this->get_chunk($string_data_offset + $offset, $length); - $this->_pos = $opos; - $this->seek($opos); - } - if ($N && $names[$nameId]=='') { - $names[$nameId] = $N; - $nameCount -= 1; - if ($nameCount==0) break; - } - } - if ($names[6]) - $psName = $names[6]; - else if ($names[4]) - $psName = preg_replace('/ /','-',$names[4]); - else if ($names[1]) - $psName = preg_replace('/ /','-',$names[1]); - else - $psName = ''; - if (!$psName) - die("Could not find PostScript font name"); - $this->name = $psName; - if ($names[1]) { $this->familyName = $names[1]; } else { $this->familyName = $psName; } - if ($names[2]) { $this->styleName = $names[2]; } else { $this->styleName = 'Regular'; } - if ($names[4]) { $this->fullName = $names[4]; } else { $this->fullName = $psName; } - if ($names[3]) { $this->uniqueFontID = $names[3]; } else { $this->uniqueFontID = $psName; } - if ($names[6]) { $this->fullName = $names[6]; } - - /////////////////////////////////// - // head - Font header table - /////////////////////////////////// - $this->seek_table("head"); - $this->skip(18); - $this->unitsPerEm = $unitsPerEm = $this->read_ushort(); - $scale = 1000 / $unitsPerEm; - $this->skip(16); - $xMin = $this->read_short(); - $yMin = $this->read_short(); - $xMax = $this->read_short(); - $yMax = $this->read_short(); - $this->bbox = array(($xMin*$scale), ($yMin*$scale), ($xMax*$scale), ($yMax*$scale)); - $this->skip(3*2); - $indexToLocFormat = $this->read_ushort(); - $glyphDataFormat = $this->read_ushort(); - if ($glyphDataFormat != 0) - die('Unknown glyph data format '.$glyphDataFormat); - - /////////////////////////////////// - // hhea metrics table - /////////////////////////////////// - // ttf2t1 seems to use this value rather than the one in OS/2 - so put in for compatibility - if (isset($this->tables["hhea"])) { - $this->seek_table("hhea"); - $this->skip(4); - $hheaAscender = $this->read_short(); - $hheaDescender = $this->read_short(); - $this->ascent = ($hheaAscender *$scale); - $this->descent = ($hheaDescender *$scale); - } - - /////////////////////////////////// - // OS/2 - OS/2 and Windows metrics table - /////////////////////////////////// - if (isset($this->tables["OS/2"])) { - $this->seek_table("OS/2"); - $version = $this->read_ushort(); - $this->skip(2); - $usWeightClass = $this->read_ushort(); - $this->skip(2); - $fsType = $this->read_ushort(); - if ($fsType == 0x0002 || ($fsType & 0x0300) != 0) { - die('ERROR - Font file '.$this->filename.' cannot be embedded due to copyright restrictions.'); - $this->restrictedUse = true; - } - $this->skip(20); - $sF = $this->read_short(); - $this->sFamilyClass = ($sF >> 8); - $this->sFamilySubClass = ($sF & 0xFF); - $this->_pos += 10; //PANOSE = 10 byte length - $panose = fread($this->fh,10); - $this->skip(26); - $sTypoAscender = $this->read_short(); - $sTypoDescender = $this->read_short(); - if (!$this->ascent) $this->ascent = ($sTypoAscender*$scale); - if (!$this->descent) $this->descent = ($sTypoDescender*$scale); - if ($version > 1) { - $this->skip(16); - $sCapHeight = $this->read_short(); - $this->capHeight = ($sCapHeight*$scale); - } - else { - $this->capHeight = $this->ascent; - } - } - else { - $usWeightClass = 500; - if (!$this->ascent) $this->ascent = ($yMax*$scale); - if (!$this->descent) $this->descent = ($yMin*$scale); - $this->capHeight = $this->ascent; - } - $this->stemV = 50 + intval(pow(($usWeightClass / 65.0),2)); - - /////////////////////////////////// - // post - PostScript table - /////////////////////////////////// - $this->seek_table("post"); - $this->skip(4); - $this->italicAngle = $this->read_short() + $this->read_ushort() / 65536.0; - $this->underlinePosition = $this->read_short() * $scale; - $this->underlineThickness = $this->read_short() * $scale; - $isFixedPitch = $this->read_ulong(); - - $this->flags = 4; - - if ($this->italicAngle!= 0) - $this->flags = $this->flags | 64; - if ($usWeightClass >= 600) - $this->flags = $this->flags | 262144; - if ($isFixedPitch) - $this->flags = $this->flags | 1; - - /////////////////////////////////// - // hhea - Horizontal header table - /////////////////////////////////// - $this->seek_table("hhea"); - $this->skip(32); - $metricDataFormat = $this->read_ushort(); - if ($metricDataFormat != 0) - die('Unknown horizontal metric data format '.$metricDataFormat); - $numberOfHMetrics = $this->read_ushort(); - if ($numberOfHMetrics == 0) - die('Number of horizontal metrics is 0'); - - /////////////////////////////////// - // maxp - Maximum profile table - /////////////////////////////////// - $this->seek_table("maxp"); - $this->skip(4); - $numGlyphs = $this->read_ushort(); - - - /////////////////////////////////// - // cmap - Character to glyph index mapping table - /////////////////////////////////// - $cmap_offset = $this->seek_table("cmap"); - $this->skip(2); - $cmapTableCount = $this->read_ushort(); - $unicode_cmap_offset = 0; - for ($i=0;$i<$cmapTableCount;$i++) { - $platformID = $this->read_ushort(); - $encodingID = $this->read_ushort(); - $offset = $this->read_ulong(); - $save_pos = $this->_pos; - if (($platformID == 3 && $encodingID == 1) || $platformID == 0) { // Microsoft, Unicode - $format = $this->get_ushort($cmap_offset + $offset); - if ($format == 4) { - if (!$unicode_cmap_offset) $unicode_cmap_offset = $cmap_offset + $offset; - break; - } - } - $this->seek($save_pos ); - } - if (!$unicode_cmap_offset) - die('Font ('.$this->filename .') does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)'); - - - $glyphToChar = array(); - $charToGlyph = array(); - $this->getCMAP4($unicode_cmap_offset, $glyphToChar, $charToGlyph ); - - /////////////////////////////////// - // hmtx - Horizontal metrics table - /////////////////////////////////// - $this->getHMTX($numberOfHMetrics, $numGlyphs, $glyphToChar, $scale); - - } - - -///////////////////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////////////////// - - - function makeSubset($file, &$subset) { - $this->filename = $file; - $this->fh = fopen($file ,'rb') or die('Can\'t open file ' . $file); - $this->_pos = 0; - $this->charWidths = ''; - $this->glyphPos = array(); - $this->charToGlyph = array(); - $this->tables = array(); - $this->otables = array(); - $this->ascent = 0; - $this->descent = 0; - $this->skip(4); - $this->maxUni = 0; - $this->readTableDirectory(); - - - /////////////////////////////////// - // head - Font header table - /////////////////////////////////// - $this->seek_table("head"); - $this->skip(50); - $indexToLocFormat = $this->read_ushort(); - $glyphDataFormat = $this->read_ushort(); - - /////////////////////////////////// - // hhea - Horizontal header table - /////////////////////////////////// - $this->seek_table("hhea"); - $this->skip(32); - $metricDataFormat = $this->read_ushort(); - $orignHmetrics = $numberOfHMetrics = $this->read_ushort(); - - /////////////////////////////////// - // maxp - Maximum profile table - /////////////////////////////////// - $this->seek_table("maxp"); - $this->skip(4); - $numGlyphs = $this->read_ushort(); - - - /////////////////////////////////// - // cmap - Character to glyph index mapping table - /////////////////////////////////// - $cmap_offset = $this->seek_table("cmap"); - $this->skip(2); - $cmapTableCount = $this->read_ushort(); - $unicode_cmap_offset = 0; - for ($i=0;$i<$cmapTableCount;$i++) { - $platformID = $this->read_ushort(); - $encodingID = $this->read_ushort(); - $offset = $this->read_ulong(); - $save_pos = $this->_pos; - if (($platformID == 3 && $encodingID == 1) || $platformID == 0) { // Microsoft, Unicode - $format = $this->get_ushort($cmap_offset + $offset); - if ($format == 4) { - $unicode_cmap_offset = $cmap_offset + $offset; - break; - } - } - $this->seek($save_pos ); - } - - if (!$unicode_cmap_offset) - die('Font ('.$this->filename .') does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)'); - - - $glyphToChar = array(); - $charToGlyph = array(); - $this->getCMAP4($unicode_cmap_offset, $glyphToChar, $charToGlyph ); - - $this->charToGlyph = $charToGlyph; - - /////////////////////////////////// - // hmtx - Horizontal metrics table - /////////////////////////////////// - $scale = 1; // not used - $this->getHMTX($numberOfHMetrics, $numGlyphs, $glyphToChar, $scale); - - /////////////////////////////////// - // loca - Index to location - /////////////////////////////////// - $this->getLOCA($indexToLocFormat, $numGlyphs); - - $subsetglyphs = array(0=>0); - $subsetCharToGlyph = array(); - foreach($subset AS $code) { - if (isset($this->charToGlyph[$code])) { - $subsetglyphs[$this->charToGlyph[$code]] = $code; // Old Glyph ID => Unicode - $subsetCharToGlyph[$code] = $this->charToGlyph[$code]; // Unicode to old GlyphID - - } - $this->maxUni = max($this->maxUni, $code); - } - - list($start,$dummy) = $this->get_table_pos('glyf'); - - $glyphSet = array(); - ksort($subsetglyphs); - $n = 0; - $fsLastCharIndex = 0; // maximum Unicode index (character code) in this font, according to the cmap subtable for platform ID 3 and platform- specific encoding ID 0 or 1. - foreach($subsetglyphs AS $originalGlyphIdx => $uni) { - $fsLastCharIndex = max($fsLastCharIndex , $uni); - $glyphSet[$originalGlyphIdx] = $n; // old glyphID to new glyphID - $n++; - } - - ksort($subsetCharToGlyph); - foreach($subsetCharToGlyph AS $uni => $originalGlyphIdx) { - $codeToGlyph[$uni] = $glyphSet[$originalGlyphIdx] ; - } - $this->codeToGlyph = $codeToGlyph; - - ksort($subsetglyphs); - foreach($subsetglyphs AS $originalGlyphIdx => $uni) { - $this->getGlyphs($originalGlyphIdx, $start, $glyphSet, $subsetglyphs); - } - - $numGlyphs = $numberOfHMetrics = count($subsetglyphs ); - - //tables copied from the original - $tags = array ('name'); - foreach($tags AS $tag) { $this->add($tag, $this->get_table($tag)); } - $tags = array ('cvt ', 'fpgm', 'prep', 'gasp'); - foreach($tags AS $tag) { - if (isset($this->tables[$tag])) { $this->add($tag, $this->get_table($tag)); } - } - - // post - PostScript - $opost = $this->get_table('post'); - $post = "\x00\x03\x00\x00" . substr($opost,4,12) . "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; - $this->add('post', $post); - - // Sort CID2GID map into segments of contiguous codes - ksort($codeToGlyph); - unset($codeToGlyph[0]); - //unset($codeToGlyph[65535]); - $rangeid = 0; - $range = array(); - $prevcid = -2; - $prevglidx = -1; - // for each character - foreach ($codeToGlyph as $cid => $glidx) { - if ($cid == ($prevcid + 1) && $glidx == ($prevglidx + 1)) { - $range[$rangeid][] = $glidx; - } else { - // new range - $rangeid = $cid; - $range[$rangeid] = array(); - $range[$rangeid][] = $glidx; - } - $prevcid = $cid; - $prevglidx = $glidx; - } - - // cmap - Character to glyph mapping - Format 4 (MS / ) - $segCount = count($range) + 1; // + 1 Last segment has missing character 0xFFFF - $searchRange = 1; - $entrySelector = 0; - while ($searchRange * 2 <= $segCount ) { - $searchRange = $searchRange * 2; - $entrySelector = $entrySelector + 1; - } - $searchRange = $searchRange * 2; - $rangeShift = $segCount * 2 - $searchRange; - $length = 16 + (8*$segCount ) + ($numGlyphs+1); - $cmap = array(0, 1, // Index : version, number of encoding subtables - 3, 1, // Encoding Subtable : platform (MS=3), encoding (Unicode) - 0, 12, // Encoding Subtable : offset (hi,lo) - 4, $length, 0, // Format 4 Mapping subtable: format, length, language - $segCount*2, - $searchRange, - $entrySelector, - $rangeShift); - - // endCode(s) - foreach($range AS $start=>$subrange) { - $endCode = $start + (count($subrange)-1); - $cmap[] = $endCode; // endCode(s) - } - $cmap[] = 0xFFFF; // endCode of last Segment - $cmap[] = 0; // reservedPad - - // startCode(s) - foreach($range AS $start=>$subrange) { - $cmap[] = $start; // startCode(s) - } - $cmap[] = 0xFFFF; // startCode of last Segment - // idDelta(s) - foreach($range AS $start=>$subrange) { - $idDelta = -($start-$subrange[0]); - $n += count($subrange); - $cmap[] = $idDelta; // idDelta(s) - } - $cmap[] = 1; // idDelta of last Segment - // idRangeOffset(s) - foreach($range AS $subrange) { - $cmap[] = 0; // idRangeOffset[segCount] Offset in bytes to glyph indexArray, or 0 - - } - $cmap[] = 0; // idRangeOffset of last Segment - foreach($range AS $subrange) { - foreach($subrange AS $glidx) { - $cmap[] = $glidx; - } - } - $cmap[] = 0; // Mapping for last character - $cmapstr = ''; - foreach($cmap AS $cm) { $cmapstr .= pack("n",$cm); } - $this->add('cmap', $cmapstr); - - - // glyf - Glyph data - list($glyfOffset,$glyfLength) = $this->get_table_pos('glyf'); - if ($glyfLength < $this->maxStrLenRead) { - $glyphData = $this->get_table('glyf'); - } - - $offsets = array(); - $glyf = ''; - $pos = 0; - - $hmtxstr = ''; - $xMinT = 0; - $yMinT = 0; - $xMaxT = 0; - $yMaxT = 0; - $advanceWidthMax = 0; - $minLeftSideBearing = 0; - $minRightSideBearing = 0; - $xMaxExtent = 0; - $maxPoints = 0; // points in non-compound glyph - $maxContours = 0; // contours in non-compound glyph - $maxComponentPoints = 0; // points in compound glyph - $maxComponentContours = 0; // contours in compound glyph - $maxComponentElements = 0; // number of glyphs referenced at top level - $maxComponentDepth = 0; // levels of recursion, set to 0 if font has only simple glyphs - $this->glyphdata = array(); - - foreach($subsetglyphs AS $originalGlyphIdx => $uni) { - // hmtx - Horizontal Metrics - $hm = $this->getHMetric($orignHmetrics, $originalGlyphIdx); - $hmtxstr .= $hm; - - $offsets[] = $pos; - $glyphPos = $this->glyphPos[$originalGlyphIdx]; - $glyphLen = $this->glyphPos[$originalGlyphIdx + 1] - $glyphPos; - if ($glyfLength < $this->maxStrLenRead) { - $data = substr($glyphData,$glyphPos,$glyphLen); - } - else { - if ($glyphLen > 0) $data = $this->get_chunk($glyfOffset+$glyphPos,$glyphLen); - else $data = ''; - } - - if ($glyphLen > 0) { - $up = unpack("n", substr($data,0,2)); - } - - if ($glyphLen > 2 && ($up[1] & (1 << 15)) ) { // If number of contours <= -1 i.e. composiste glyph - $pos_in_glyph = 10; - $flags = GF_MORE; - $nComponentElements = 0; - while ($flags & GF_MORE) { - $nComponentElements += 1; // number of glyphs referenced at top level - $up = unpack("n", substr($data,$pos_in_glyph,2)); - $flags = $up[1]; - $up = unpack("n", substr($data,$pos_in_glyph+2,2)); - $glyphIdx = $up[1]; - $this->glyphdata[$originalGlyphIdx]['compGlyphs'][] = $glyphIdx; - $data = $this->_set_ushort($data, $pos_in_glyph + 2, $glyphSet[$glyphIdx]); - $pos_in_glyph += 4; - if ($flags & GF_WORDS) { $pos_in_glyph += 4; } - else { $pos_in_glyph += 2; } - if ($flags & GF_SCALE) { $pos_in_glyph += 2; } - else if ($flags & GF_XYSCALE) { $pos_in_glyph += 4; } - else if ($flags & GF_TWOBYTWO) { $pos_in_glyph += 8; } - } - $maxComponentElements = max($maxComponentElements, $nComponentElements); - } - - $glyf .= $data; - $pos += $glyphLen; - if ($pos % 4 != 0) { - $padding = 4 - ($pos % 4); - $glyf .= str_repeat("\0",$padding); - $pos += $padding; - } - } - - $offsets[] = $pos; - $this->add('glyf', $glyf); - - // hmtx - Horizontal Metrics - $this->add('hmtx', $hmtxstr); - - // loca - Index to location - $locastr = ''; - if ((($pos + 1) >> 1) > 0xFFFF) { - $indexToLocFormat = 1; // long format - foreach($offsets AS $offset) { $locastr .= pack("N",$offset); } - } - else { - $indexToLocFormat = 0; // short format - foreach($offsets AS $offset) { $locastr .= pack("n",($offset/2)); } - } - $this->add('loca', $locastr); - - // head - Font header - $head = $this->get_table('head'); - $head = $this->_set_ushort($head, 50, $indexToLocFormat); - $this->add('head', $head); - - - // hhea - Horizontal Header - $hhea = $this->get_table('hhea'); - $hhea = $this->_set_ushort($hhea, 34, $numberOfHMetrics); - $this->add('hhea', $hhea); - - // maxp - Maximum Profile - $maxp = $this->get_table('maxp'); - $maxp = $this->_set_ushort($maxp, 4, $numGlyphs); - $this->add('maxp', $maxp); - - - // OS/2 - OS/2 - $os2 = $this->get_table('OS/2'); - $this->add('OS/2', $os2 ); - - fclose($this->fh); - - // Put the TTF file together - $stm = ''; - $this->endTTFile($stm); - return $stm ; - } - - ////////////////////////////////////////////////////////////////////////////////// - // Recursively get composite glyph data - function getGlyphData($originalGlyphIdx, &$maxdepth, &$depth, &$points, &$contours) { - $depth++; - $maxdepth = max($maxdepth, $depth); - if (count($this->glyphdata[$originalGlyphIdx]['compGlyphs'])) { - foreach($this->glyphdata[$originalGlyphIdx]['compGlyphs'] AS $glyphIdx) { - $this->getGlyphData($glyphIdx, $maxdepth, $depth, $points, $contours); - } - } - else if (($this->glyphdata[$originalGlyphIdx]['nContours'] > 0) && $depth > 0) { // simple - $contours += $this->glyphdata[$originalGlyphIdx]['nContours']; - $points += $this->glyphdata[$originalGlyphIdx]['nPoints']; - } - $depth--; - } - - - ////////////////////////////////////////////////////////////////////////////////// - // Recursively get composite glyphs - function getGlyphs($originalGlyphIdx, &$start, &$glyphSet, &$subsetglyphs) { - $glyphPos = $this->glyphPos[$originalGlyphIdx]; - $glyphLen = $this->glyphPos[$originalGlyphIdx + 1] - $glyphPos; - if (!$glyphLen) { - return; - } - $this->seek($start + $glyphPos); - $numberOfContours = $this->read_short(); - if ($numberOfContours < 0) { - $this->skip(8); - $flags = GF_MORE; - while ($flags & GF_MORE) { - $flags = $this->read_ushort(); - $glyphIdx = $this->read_ushort(); - if (!isset($glyphSet[$glyphIdx])) { - $glyphSet[$glyphIdx] = count($subsetglyphs); // old glyphID to new glyphID - $subsetglyphs[$glyphIdx] = true; - } - $savepos = ftell($this->fh); - $this->getGlyphs($glyphIdx, $start, $glyphSet, $subsetglyphs); - $this->seek($savepos); - if ($flags & GF_WORDS) - $this->skip(4); - else - $this->skip(2); - if ($flags & GF_SCALE) - $this->skip(2); - else if ($flags & GF_XYSCALE) - $this->skip(4); - else if ($flags & GF_TWOBYTWO) - $this->skip(8); - } - } - } - - ////////////////////////////////////////////////////////////////////////////////// - - function getHMTX($numberOfHMetrics, $numGlyphs, &$glyphToChar, $scale) { - $start = $this->seek_table("hmtx"); - $aw = 0; - $this->charWidths = str_pad('', 256*256*2, "\x00"); - $nCharWidths = 0; - if (($numberOfHMetrics*4) < $this->maxStrLenRead) { - $data = $this->get_chunk($start,($numberOfHMetrics*4)); - $arr = unpack("n*", $data); - } - else { $this->seek($start); } - for( $glyph=0; $glyph<$numberOfHMetrics; $glyph++) { - - if (($numberOfHMetrics*4) < $this->maxStrLenRead) { - $aw = $arr[($glyph*2)+1]; - } - else { - $aw = $this->read_ushort(); - $lsb = $this->read_ushort(); - } - if (isset($glyphToChar[$glyph]) || $glyph == 0) { - - if ($aw >= (1 << 15) ) { $aw = 0; } // 1.03 Some (arabic) fonts have -ve values for width - // although should be unsigned value - comes out as e.g. 65108 (intended -50) - if ($glyph == 0) { - $this->defaultWidth = $scale*$aw; - continue; - } - foreach($glyphToChar[$glyph] AS $char) { - if ($char != 0 && $char != 65535) { - $w = intval(round($scale*$aw)); - if ($w == 0) { $w = 65535; } - if ($char < 196608) { - $this->charWidths[$char*2] = chr($w >> 8); - $this->charWidths[$char*2 + 1] = chr($w & 0xFF); - $nCharWidths++; - } - } - } - } - } - $data = $this->get_chunk(($start+$numberOfHMetrics*4),($numGlyphs*2)); - $arr = unpack("n*", $data); - $diff = $numGlyphs-$numberOfHMetrics; - for( $pos=0; $pos<$diff; $pos++) { - $glyph = $pos + $numberOfHMetrics; - if (isset($glyphToChar[$glyph])) { - foreach($glyphToChar[$glyph] AS $char) { - if ($char != 0 && $char != 65535) { - $w = intval(round($scale*$aw)); - if ($w == 0) { $w = 65535; } - if ($char < 196608) { - $this->charWidths[$char*2] = chr($w >> 8); - $this->charWidths[$char*2 + 1] = chr($w & 0xFF); - $nCharWidths++; - } - } - } - } - } - // NB 65535 is a set width of 0 - // First bytes define number of chars in font - $this->charWidths[0] = chr($nCharWidths >> 8); - $this->charWidths[1] = chr($nCharWidths & 0xFF); - } - - function getHMetric($numberOfHMetrics, $gid) { - $start = $this->seek_table("hmtx"); - if ($gid < $numberOfHMetrics) { - $this->seek($start+($gid*4)); - $hm = fread($this->fh,4); - } - else { - $this->seek($start+(($numberOfHMetrics-1)*4)); - $hm = fread($this->fh,2); - $this->seek($start+($numberOfHMetrics*2)+($gid*2)); - $hm .= fread($this->fh,2); - } - return $hm; - } - - function getLOCA($indexToLocFormat, $numGlyphs) { - $start = $this->seek_table('loca'); - $this->glyphPos = array(); - if ($indexToLocFormat == 0) { - $data = $this->get_chunk($start,($numGlyphs*2)+2); - $arr = unpack("n*", $data); - for ($n=0; $n<=$numGlyphs; $n++) { - $this->glyphPos[] = ($arr[$n+1] * 2); - } - } - else if ($indexToLocFormat == 1) { - $data = $this->get_chunk($start,($numGlyphs*4)+4); - $arr = unpack("N*", $data); - for ($n=0; $n<=$numGlyphs; $n++) { - $this->glyphPos[] = ($arr[$n+1]); - } - } - else - die('Unknown location table format '.$indexToLocFormat); - } - - - // CMAP Format 4 - function getCMAP4($unicode_cmap_offset, &$glyphToChar, &$charToGlyph ) { - $this->maxUniChar = 0; - $this->seek($unicode_cmap_offset + 2); - $length = $this->read_ushort(); - $limit = $unicode_cmap_offset + $length; - $this->skip(2); - - $segCount = $this->read_ushort() / 2; - $this->skip(6); - $endCount = array(); - for($i=0; $i<$segCount; $i++) { $endCount[] = $this->read_ushort(); } - $this->skip(2); - $startCount = array(); - for($i=0; $i<$segCount; $i++) { $startCount[] = $this->read_ushort(); } - $idDelta = array(); - for($i=0; $i<$segCount; $i++) { $idDelta[] = $this->read_short(); } // ???? was unsigned short - $idRangeOffset_start = $this->_pos; - $idRangeOffset = array(); - for($i=0; $i<$segCount; $i++) { $idRangeOffset[] = $this->read_ushort(); } - - for ($n=0;$n<$segCount;$n++) { - $endpoint = ($endCount[$n] + 1); - for ($unichar=$startCount[$n];$unichar<$endpoint;$unichar++) { - if ($idRangeOffset[$n] == 0) - $glyph = ($unichar + $idDelta[$n]) & 0xFFFF; - else { - $offset = ($unichar - $startCount[$n]) * 2 + $idRangeOffset[$n]; - $offset = $idRangeOffset_start + 2 * $n + $offset; - if ($offset >= $limit) - $glyph = 0; - else { - $glyph = $this->get_ushort($offset); - if ($glyph != 0) - $glyph = ($glyph + $idDelta[$n]) & 0xFFFF; - } - } - $charToGlyph[$unichar] = $glyph; - if ($unichar < 196608) { $this->maxUniChar = max($unichar,$this->maxUniChar); } - $glyphToChar[$glyph][] = $unichar; - } - } - } - - - // Put the TTF file together - function endTTFile(&$stm) { - $stm = ''; - $numTables = count($this->otables); - $searchRange = 1; - $entrySelector = 0; - while ($searchRange * 2 <= $numTables) { - $searchRange = $searchRange * 2; - $entrySelector = $entrySelector + 1; - } - $searchRange = $searchRange * 16; - $rangeShift = $numTables * 16 - $searchRange; - - // Header - if (_TTF_MAC_HEADER) { - $stm .= (pack("Nnnnn", 0x74727565, $numTables, $searchRange, $entrySelector, $rangeShift)); // Mac - } - else { - $stm .= (pack("Nnnnn", 0x00010000 , $numTables, $searchRange, $entrySelector, $rangeShift)); // Windows - } - - // Table directory - $tables = $this->otables; - - ksort ($tables); - $offset = 12 + $numTables * 16; - foreach ($tables AS $tag=>$data) { - if ($tag == 'head') { $head_start = $offset; } - $stm .= $tag; - $checksum = $this->calcChecksum($data); - $stm .= pack("nn", $checksum[0],$checksum[1]); - $stm .= pack("NN", $offset, strlen($data)); - $paddedLength = (strlen($data)+3)&~3; - $offset = $offset + $paddedLength; - } - - // Table data - foreach ($tables AS $tag=>$data) { - $data .= "\0\0\0"; - $stm .= substr($data,0,(strlen($data)&~3)); - } - - $checksum = $this->calcChecksum($stm); - $checksum = $this->sub32(array(0xB1B0,0xAFBA), $checksum); - $chk = pack("nn", $checksum[0],$checksum[1]); - $stm = $this->splice($stm,($head_start + 8),$chk); - return $stm ; - } - - - - -} - - -?> \ No newline at end of file diff --git a/sources/include/tfpdf/font/zapfdingbats.php b/sources/include/tfpdf/font/zapfdingbats.php deleted file mode 100644 index afef4d3..0000000 --- a/sources/include/tfpdf/font/zapfdingbats.php +++ /dev/null @@ -1,19 +0,0 @@ -0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0, - chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939, - ','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692, - 'B'=>786,'C'=>788,'D'=>788,'E'=>790,'F'=>793,'G'=>794,'H'=>816,'I'=>823,'J'=>789,'K'=>841,'L'=>823,'M'=>833,'N'=>816,'O'=>831,'P'=>923,'Q'=>744,'R'=>723,'S'=>749,'T'=>790,'U'=>792,'V'=>695,'W'=>776, - 'X'=>768,'Y'=>792,'Z'=>759,'['=>707,'\\'=>708,']'=>682,'^'=>701,'_'=>826,'`'=>815,'a'=>789,'b'=>789,'c'=>707,'d'=>687,'e'=>696,'f'=>689,'g'=>786,'h'=>787,'i'=>713,'j'=>791,'k'=>785,'l'=>791,'m'=>873, - 'n'=>761,'o'=>762,'p'=>762,'q'=>759,'r'=>759,'s'=>892,'t'=>892,'u'=>788,'v'=>784,'w'=>438,'x'=>138,'y'=>277,'z'=>415,'{'=>392,'|'=>392,'}'=>668,'~'=>668,chr(127)=>0,chr(128)=>390,chr(129)=>390,chr(130)=>317,chr(131)=>317, - chr(132)=>276,chr(133)=>276,chr(134)=>509,chr(135)=>509,chr(136)=>410,chr(137)=>410,chr(138)=>234,chr(139)=>234,chr(140)=>334,chr(141)=>334,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0, - chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>0,chr(161)=>732,chr(162)=>544,chr(163)=>544,chr(164)=>910,chr(165)=>667,chr(166)=>760,chr(167)=>760,chr(168)=>776,chr(169)=>595,chr(170)=>694,chr(171)=>626,chr(172)=>788,chr(173)=>788,chr(174)=>788,chr(175)=>788, - chr(176)=>788,chr(177)=>788,chr(178)=>788,chr(179)=>788,chr(180)=>788,chr(181)=>788,chr(182)=>788,chr(183)=>788,chr(184)=>788,chr(185)=>788,chr(186)=>788,chr(187)=>788,chr(188)=>788,chr(189)=>788,chr(190)=>788,chr(191)=>788,chr(192)=>788,chr(193)=>788,chr(194)=>788,chr(195)=>788,chr(196)=>788,chr(197)=>788, - chr(198)=>788,chr(199)=>788,chr(200)=>788,chr(201)=>788,chr(202)=>788,chr(203)=>788,chr(204)=>788,chr(205)=>788,chr(206)=>788,chr(207)=>788,chr(208)=>788,chr(209)=>788,chr(210)=>788,chr(211)=>788,chr(212)=>894,chr(213)=>838,chr(214)=>1016,chr(215)=>458,chr(216)=>748,chr(217)=>924,chr(218)=>748,chr(219)=>918, - chr(220)=>927,chr(221)=>928,chr(222)=>928,chr(223)=>834,chr(224)=>873,chr(225)=>828,chr(226)=>924,chr(227)=>924,chr(228)=>917,chr(229)=>930,chr(230)=>931,chr(231)=>463,chr(232)=>883,chr(233)=>836,chr(234)=>836,chr(235)=>867,chr(236)=>867,chr(237)=>696,chr(238)=>696,chr(239)=>874,chr(240)=>0,chr(241)=>874, - chr(242)=>760,chr(243)=>946,chr(244)=>771,chr(245)=>865,chr(246)=>771,chr(247)=>888,chr(248)=>967,chr(249)=>888,chr(250)=>831,chr(251)=>873,chr(252)=>927,chr(253)=>970,chr(254)=>918,chr(255)=>0); -?> diff --git a/sources/include/tfpdf/tfpdf.php b/sources/include/tfpdf/tfpdf.php deleted file mode 100644 index 698e7a5..0000000 --- a/sources/include/tfpdf/tfpdf.php +++ /dev/null @@ -1,2302 +0,0 @@ - * -* License: LGPL * -*******************************************************************************/ - -define('tFPDF_VERSION','1.24'); - -class tFPDF -{ - -var $unifontSubset; -var $page; // current page number -var $n; // current object number -var $offsets; // array of object offsets -var $buffer; // buffer holding in-memory PDF -var $pages; // array containing pages -var $state; // current document state -var $compress; // compression flag -var $k; // scale factor (number of points in user unit) -var $DefOrientation; // default orientation -var $CurOrientation; // current orientation -var $StdPageSizes; // standard page sizes -var $DefPageSize; // default page size -var $CurPageSize; // current page size -var $PageSizes; // used for pages with non default sizes or orientations -var $wPt, $hPt; // dimensions of current page in points -var $w, $h; // dimensions of current page in user unit -var $lMargin; // left margin -var $tMargin; // top margin -var $rMargin; // right margin -var $bMargin; // page break margin -var $cMargin; // cell margin -var $x, $y; // current position in user unit -var $lasth; // height of last printed cell -var $LineWidth; // line width in user unit -var $fontpath; // path containing fonts -var $CoreFonts; // array of core font names -var $fonts; // array of used fonts -var $FontFiles; // array of font files -var $diffs; // array of encoding differences -var $FontFamily; // current font family -var $FontStyle; // current font style -var $underline; // underlining flag -var $CurrentFont; // current font info -var $FontSizePt; // current font size in points -var $FontSize; // current font size in user unit -var $DrawColor; // commands for drawing color -var $FillColor; // commands for filling color -var $TextColor; // commands for text color -var $ColorFlag; // indicates whether fill and text colors are different -var $ws; // word spacing -var $images; // array of used images -var $PageLinks; // array of links in pages -var $links; // array of internal links -var $AutoPageBreak; // automatic page breaking -var $PageBreakTrigger; // threshold used to trigger page breaks -var $InHeader; // flag set when processing header -var $InFooter; // flag set when processing footer -var $ZoomMode; // zoom display mode -var $LayoutMode; // layout display mode -var $title; // title -var $subject; // subject -var $author; // author -var $keywords; // keywords -var $creator; // creator -var $AliasNbPages; // alias for total number of pages -var $PDFVersion; // PDF version number - -/******************************************************************************* -* * -* Public methods * -* * -*******************************************************************************/ -function tFPDF($orientation='P', $unit='mm', $size='A4') -{ - // Some checks - $this->_dochecks(); - // Initialization of properties - $this->page = 0; - $this->n = 2; - $this->buffer = ''; - $this->pages = array(); - $this->PageSizes = array(); - $this->state = 0; - $this->fonts = array(); - $this->FontFiles = array(); - $this->diffs = array(); - $this->images = array(); - $this->links = array(); - $this->InHeader = false; - $this->InFooter = false; - $this->lasth = 0; - $this->FontFamily = ''; - $this->FontStyle = ''; - $this->FontSizePt = 12; - $this->underline = false; - $this->DrawColor = '0 G'; - $this->FillColor = '0 g'; - $this->TextColor = '0 g'; - $this->ColorFlag = false; - $this->ws = 0; - // Font path - if(defined('FPDF_FONTPATH')) - { - $this->fontpath = FPDF_FONTPATH; - if(substr($this->fontpath,-1)!='/' && substr($this->fontpath,-1)!='\\') - $this->fontpath .= '/'; - } - elseif(is_dir(dirname(__FILE__).'/font')) - $this->fontpath = dirname(__FILE__).'/font/'; - else - $this->fontpath = ''; - // Core fonts - $this->CoreFonts = array('courier', 'helvetica', 'times', 'symbol', 'zapfdingbats'); - // Scale factor - if($unit=='pt') - $this->k = 1; - elseif($unit=='mm') - $this->k = 72/25.4; - elseif($unit=='cm') - $this->k = 72/2.54; - elseif($unit=='in') - $this->k = 72; - else - $this->Error('Incorrect unit: '.$unit); - // Page sizes - $this->StdPageSizes = array('a3'=>array(841.89,1190.55), 'a4'=>array(595.28,841.89), 'a5'=>array(420.94,595.28), - 'letter'=>array(612,792), 'legal'=>array(612,1008)); - $size = $this->_getpagesize($size); - $this->DefPageSize = $size; - $this->CurPageSize = $size; - // Page orientation - $orientation = strtolower($orientation); - if($orientation=='p' || $orientation=='portrait') - { - $this->DefOrientation = 'P'; - $this->w = $size[0]; - $this->h = $size[1]; - } - elseif($orientation=='l' || $orientation=='landscape') - { - $this->DefOrientation = 'L'; - $this->w = $size[1]; - $this->h = $size[0]; - } - else - $this->Error('Incorrect orientation: '.$orientation); - $this->CurOrientation = $this->DefOrientation; - $this->wPt = $this->w*$this->k; - $this->hPt = $this->h*$this->k; - // Page margins (1 cm) - $margin = 28.35/$this->k; - $this->SetMargins($margin,$margin); - // Interior cell margin (1 mm) - $this->cMargin = $margin/10; - // Line width (0.2 mm) - $this->LineWidth = .567/$this->k; - // Automatic page break - $this->SetAutoPageBreak(true,2*$margin); - // Default display mode - $this->SetDisplayMode('default'); - // Enable compression - $this->SetCompression(true); - // Set default PDF version number - $this->PDFVersion = '1.3'; -} - -function SetMargins($left, $top, $right=null) -{ - // Set left, top and right margins - $this->lMargin = $left; - $this->tMargin = $top; - if($right===null) - $right = $left; - $this->rMargin = $right; -} - -function SetLeftMargin($margin) -{ - // Set left margin - $this->lMargin = $margin; - if($this->page>0 && $this->x<$margin) - $this->x = $margin; -} - -function SetTopMargin($margin) -{ - // Set top margin - $this->tMargin = $margin; -} - -function SetRightMargin($margin) -{ - // Set right margin - $this->rMargin = $margin; -} - -function SetAutoPageBreak($auto, $margin=0) -{ - // Set auto page break mode and triggering margin - $this->AutoPageBreak = $auto; - $this->bMargin = $margin; - $this->PageBreakTrigger = $this->h-$margin; -} - -function SetDisplayMode($zoom, $layout='default') -{ - // Set display mode in viewer - if($zoom=='fullpage' || $zoom=='fullwidth' || $zoom=='real' || $zoom=='default' || !is_string($zoom)) - $this->ZoomMode = $zoom; - else - $this->Error('Incorrect zoom display mode: '.$zoom); - if($layout=='single' || $layout=='continuous' || $layout=='two' || $layout=='default') - $this->LayoutMode = $layout; - else - $this->Error('Incorrect layout display mode: '.$layout); -} - -function SetCompression($compress) -{ - // Set page compression - if(function_exists('gzcompress')) - $this->compress = $compress; - else - $this->compress = false; -} - -function SetTitle($title, $isUTF8=false) -{ - // Title of document - if($isUTF8) - $title = $this->_UTF8toUTF16($title); - $this->title = $title; -} - -function SetSubject($subject, $isUTF8=false) -{ - // Subject of document - if($isUTF8) - $subject = $this->_UTF8toUTF16($subject); - $this->subject = $subject; -} - -function SetAuthor($author, $isUTF8=false) -{ - // Author of document - if($isUTF8) - $author = $this->_UTF8toUTF16($author); - $this->author = $author; -} - -function SetKeywords($keywords, $isUTF8=false) -{ - // Keywords of document - if($isUTF8) - $keywords = $this->_UTF8toUTF16($keywords); - $this->keywords = $keywords; -} - -function SetCreator($creator, $isUTF8=false) -{ - // Creator of document - if($isUTF8) - $creator = $this->_UTF8toUTF16($creator); - $this->creator = $creator; -} - -function AliasNbPages($alias='{nb}') -{ - // Define an alias for total number of pages - $this->AliasNbPages = $alias; -} - -function Error($msg) -{ - // Fatal error - die('FPDF error: '.$msg); -} - -function Open() -{ - // Begin document - $this->state = 1; -} - -function Close() -{ - // Terminate document - if($this->state==3) - return; - if($this->page==0) - $this->AddPage(); - // Page footer - $this->InFooter = true; - $this->Footer(); - $this->InFooter = false; - // Close page - $this->_endpage(); - // Close document - $this->_enddoc(); -} - -function AddPage($orientation='', $size='') -{ - // Start a new page - if($this->state==0) - $this->Open(); - $family = $this->FontFamily; - $style = $this->FontStyle.($this->underline ? 'U' : ''); - $fontsize = $this->FontSizePt; - $lw = $this->LineWidth; - $dc = $this->DrawColor; - $fc = $this->FillColor; - $tc = $this->TextColor; - $cf = $this->ColorFlag; - if($this->page>0) - { - // Page footer - $this->InFooter = true; - $this->Footer(); - $this->InFooter = false; - // Close page - $this->_endpage(); - } - // Start new page - $this->_beginpage($orientation,$size); - // Set line cap style to square - $this->_out('2 J'); - // Set line width - $this->LineWidth = $lw; - $this->_out(sprintf('%.2F w',$lw*$this->k)); - // Set font - if($family) - $this->SetFont($family,$style,$fontsize); - // Set colors - $this->DrawColor = $dc; - if($dc!='0 G') - $this->_out($dc); - $this->FillColor = $fc; - if($fc!='0 g') - $this->_out($fc); - $this->TextColor = $tc; - $this->ColorFlag = $cf; - // Page header - $this->InHeader = true; - $this->Header(); - $this->InHeader = false; - // Restore line width - if($this->LineWidth!=$lw) - { - $this->LineWidth = $lw; - $this->_out(sprintf('%.2F w',$lw*$this->k)); - } - // Restore font - if($family) - $this->SetFont($family,$style,$fontsize); - // Restore colors - if($this->DrawColor!=$dc) - { - $this->DrawColor = $dc; - $this->_out($dc); - } - if($this->FillColor!=$fc) - { - $this->FillColor = $fc; - $this->_out($fc); - } - $this->TextColor = $tc; - $this->ColorFlag = $cf; -} - -function Header() -{ - // To be implemented in your own inherited class -} - -function Footer() -{ - // To be implemented in your own inherited class -} - -function PageNo() -{ - // Get current page number - return $this->page; -} - -function SetDrawColor($r, $g=null, $b=null) -{ - // Set color for all stroking operations - if(($r==0 && $g==0 && $b==0) || $g===null) - $this->DrawColor = sprintf('%.3F G',$r/255); - else - $this->DrawColor = sprintf('%.3F %.3F %.3F RG',$r/255,$g/255,$b/255); - if($this->page>0) - $this->_out($this->DrawColor); -} - -function SetFillColor($r, $g=null, $b=null) -{ - // Set color for all filling operations - if(($r==0 && $g==0 && $b==0) || $g===null) - $this->FillColor = sprintf('%.3F g',$r/255); - else - $this->FillColor = sprintf('%.3F %.3F %.3F rg',$r/255,$g/255,$b/255); - $this->ColorFlag = ($this->FillColor!=$this->TextColor); - if($this->page>0) - $this->_out($this->FillColor); -} - -function SetTextColor($r, $g=null, $b=null) -{ - // Set color for text - if(($r==0 && $g==0 && $b==0) || $g===null) - $this->TextColor = sprintf('%.3F g',$r/255); - else - $this->TextColor = sprintf('%.3F %.3F %.3F rg',$r/255,$g/255,$b/255); - $this->ColorFlag = ($this->FillColor!=$this->TextColor); -} - -function GetStringWidth($s) -{ - // Get width of a string in the current font - $s = (string)$s; - $cw = &$this->CurrentFont['cw']; - $w=0; - if ($this->unifontSubset) { - $unicode = $this->UTF8StringToArray($s); - foreach($unicode as $char) { - if (isset($cw[$char])) { $w += (ord($cw[2*$char])<<8) + ord($cw[2*$char+1]); } - else if($char>0 && $char<128 && isset($cw[chr($char)])) { $w += $cw[chr($char)]; } - else if(isset($this->CurrentFont['desc']['MissingWidth'])) { $w += $this->CurrentFont['desc']['MissingWidth']; } - else if(isset($this->CurrentFont['MissingWidth'])) { $w += $this->CurrentFont['MissingWidth']; } - else { $w += 500; } - } - } - else { - $l = strlen($s); - for($i=0;$i<$l;$i++) - $w += $cw[$s[$i]]; - } - return $w*$this->FontSize/1000; -} - -function SetLineWidth($width) -{ - // Set line width - $this->LineWidth = $width; - if($this->page>0) - $this->_out(sprintf('%.2F w',$width*$this->k)); -} - -function Line($x1, $y1, $x2, $y2) -{ - // Draw a line - $this->_out(sprintf('%.2F %.2F m %.2F %.2F l S',$x1*$this->k,($this->h-$y1)*$this->k,$x2*$this->k,($this->h-$y2)*$this->k)); -} - -function Rect($x, $y, $w, $h, $style='') -{ - // Draw a rectangle - if($style=='F') - $op = 'f'; - elseif($style=='FD' || $style=='DF') - $op = 'B'; - else - $op = 'S'; - $this->_out(sprintf('%.2F %.2F %.2F %.2F re %s',$x*$this->k,($this->h-$y)*$this->k,$w*$this->k,-$h*$this->k,$op)); -} - -function AddFont($family, $style='', $file='', $uni=false) -{ - // Add a TrueType, OpenType or Type1 font - $family = strtolower($family); - $style = strtoupper($style); - if($style=='IB') - $style='BI'; - if($file=='') { - if ($uni) { - $file = str_replace(' ','',$family).strtolower($style).'.ttf'; - } - else { - $file = str_replace(' ','',$family).strtolower($style).'.php'; - } - } - $fontkey = $family.$style; - if(isset($this->fonts[$fontkey])) - return; - - if ($uni) { - if (defined("_SYSTEM_TTFONTS") && file_exists(_SYSTEM_TTFONTS.$file )) { $ttffilename = _SYSTEM_TTFONTS.$file ; } - else { $ttffilename = $this->_getfontpath().'unifont/'.$file ; } - $unifilename = $this->_getfontpath().'unifont/'.strtolower(substr($file ,0,(strpos($file ,'.')))); - $name = ''; - $originalsize = 0; - $ttfstat = stat($ttffilename); - if (file_exists($unifilename.'.mtx.php')) { - include($unifilename.'.mtx.php'); - } - if (!isset($type) || !isset($name) || $originalsize != $ttfstat['size']) { - $ttffile = $ttffilename; - require_once($this->_getfontpath().'unifont/ttfonts.php'); - $ttf = new TTFontFile(); - $ttf->getMetrics($ttffile); - $cw = $ttf->charWidths; - $name = preg_replace('/[ ()]/','',$ttf->fullName); - - $desc= array('Ascent'=>round($ttf->ascent), - 'Descent'=>round($ttf->descent), - 'CapHeight'=>round($ttf->capHeight), - 'Flags'=>$ttf->flags, - 'FontBBox'=>'['.round($ttf->bbox[0])." ".round($ttf->bbox[1])." ".round($ttf->bbox[2])." ".round($ttf->bbox[3]).']', - 'ItalicAngle'=>$ttf->italicAngle, - 'StemV'=>round($ttf->stemV), - 'MissingWidth'=>round($ttf->defaultWidth)); - $up = round($ttf->underlinePosition); - $ut = round($ttf->underlineThickness); - $originalsize = $ttfstat['size']+0; - $type = 'TTF'; - // Generate metrics .php file - $s='"; - if (is_writable(dirname($this->_getfontpath().'unifont/'.'x'))) { - $fh = fopen($unifilename.'.mtx.php',"w"); - fwrite($fh,$s,strlen($s)); - fclose($fh); - $fh = fopen($unifilename.'.cw.dat',"wb"); - fwrite($fh,$cw,strlen($cw)); - fclose($fh); - @unlink($unifilename.'.cw127.php'); - } - unset($ttf); - } - else { - $cw = @file_get_contents($unifilename.'.cw.dat'); - } - $i = count($this->fonts)+1; - if(!empty($this->AliasNbPages)) - $sbarr = range(0,57); - else - $sbarr = range(0,32); - $this->fonts[$fontkey] = array('i'=>$i, 'type'=>$type, 'name'=>$name, 'desc'=>$desc, 'up'=>$up, 'ut'=>$ut, 'cw'=>$cw, 'ttffile'=>$ttffile, 'fontkey'=>$fontkey, 'subset'=>$sbarr, 'unifilename'=>$unifilename); - - $this->FontFiles[$fontkey]=array('length1'=>$originalsize, 'type'=>"TTF", 'ttffile'=>$ttffile); - $this->FontFiles[$file]=array('type'=>"TTF"); - unset($cw); - } - else { - $info = $this->_loadfont($file); - $info['i'] = count($this->fonts)+1; - if(!empty($info['diff'])) - { - // Search existing encodings - $n = array_search($info['diff'],$this->diffs); - if(!$n) - { - $n = count($this->diffs)+1; - $this->diffs[$n] = $info['diff']; - } - $info['diffn'] = $n; - } - if(!empty($info['file'])) - { - // Embedded font - if($info['type']=='TrueType') - $this->FontFiles[$info['file']] = array('length1'=>$info['originalsize']); - else - $this->FontFiles[$info['file']] = array('length1'=>$info['size1'], 'length2'=>$info['size2']); - } - $this->fonts[$fontkey] = $info; - } -} - -function SetFont($family, $style='', $size=0) -{ - // Select a font; size given in points - if($family=='') - $family = $this->FontFamily; - else - $family = strtolower($family); - $style = strtoupper($style); - if(strpos($style,'U')!==false) - { - $this->underline = true; - $style = str_replace('U','',$style); - } - else - $this->underline = false; - if($style=='IB') - $style = 'BI'; - if($size==0) - $size = $this->FontSizePt; - // Test if font is already selected - if($this->FontFamily==$family && $this->FontStyle==$style && $this->FontSizePt==$size) - return; - // Test if font is already loaded - $fontkey = $family.$style; - if(!isset($this->fonts[$fontkey])) - { - // Test if one of the core fonts - if($family=='arial') - $family = 'helvetica'; - if(in_array($family,$this->CoreFonts)) - { - if($family=='symbol' || $family=='zapfdingbats') - $style = ''; - $fontkey = $family.$style; - if(!isset($this->fonts[$fontkey])) - $this->AddFont($family,$style); - } - else - $this->Error('Undefined font: '.$family.' '.$style); - } - // Select it - $this->FontFamily = $family; - $this->FontStyle = $style; - $this->FontSizePt = $size; - $this->FontSize = $size/$this->k; - $this->CurrentFont = &$this->fonts[$fontkey]; - if ($this->fonts[$fontkey]['type']=='TTF') { $this->unifontSubset = true; } - else { $this->unifontSubset = false; } - if($this->page>0) - $this->_out(sprintf('BT /F%d %.2F Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); -} - -function SetFontSize($size) -{ - // Set font size in points - if($this->FontSizePt==$size) - return; - $this->FontSizePt = $size; - $this->FontSize = $size/$this->k; - if($this->page>0) - $this->_out(sprintf('BT /F%d %.2F Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); -} - -function AddLink() -{ - // Create a new internal link - $n = count($this->links)+1; - $this->links[$n] = array(0, 0); - return $n; -} - -function SetLink($link, $y=0, $page=-1) -{ - // Set destination of internal link - if($y==-1) - $y = $this->y; - if($page==-1) - $page = $this->page; - $this->links[$link] = array($page, $y); -} - -function Link($x, $y, $w, $h, $link) -{ - // Put a link on the page - $this->PageLinks[$this->page][] = array($x*$this->k, $this->hPt-$y*$this->k, $w*$this->k, $h*$this->k, $link); -} - -function Text($x, $y, $txt) -{ - // Output a string - if ($this->unifontSubset) - { - $txt2 = '('.$this->_escape($this->UTF8ToUTF16BE($txt, false)).')'; - foreach($this->UTF8StringToArray($txt) as $uni) - $this->CurrentFont['subset'][$uni] = $uni; - } - else - $txt2 = '('.$this->_escape($txt).')'; - $s = sprintf('BT %.2F %.2F Td %s Tj ET',$x*$this->k,($this->h-$y)*$this->k,$txt2); - if($this->underline && $txt!='') - $s .= ' '.$this->_dounderline($x,$y,$txt); - if($this->ColorFlag) - $s = 'q '.$this->TextColor.' '.$s.' Q'; - $this->_out($s); -} - -function AcceptPageBreak() -{ - // Accept automatic page break or not - return $this->AutoPageBreak; -} - -function Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='') -{ - // Output a cell - $k = $this->k; - if($this->y+$h>$this->PageBreakTrigger && !$this->InHeader && !$this->InFooter && $this->AcceptPageBreak()) - { - // Automatic page break - $x = $this->x; - $ws = $this->ws; - if($ws>0) - { - $this->ws = 0; - $this->_out('0 Tw'); - } - $this->AddPage($this->CurOrientation,$this->CurPageSize); - $this->x = $x; - if($ws>0) - { - $this->ws = $ws; - $this->_out(sprintf('%.3F Tw',$ws*$k)); - } - } - if($w==0) - $w = $this->w-$this->rMargin-$this->x; - $s = ''; - if($fill || $border==1) - { - if($fill) - $op = ($border==1) ? 'B' : 'f'; - else - $op = 'S'; - $s = sprintf('%.2F %.2F %.2F %.2F re %s ',$this->x*$k,($this->h-$this->y)*$k,$w*$k,-$h*$k,$op); - } - if(is_string($border)) - { - $x = $this->x; - $y = $this->y; - if(strpos($border,'L')!==false) - $s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k); - if(strpos($border,'T')!==false) - $s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k); - if(strpos($border,'R')!==false) - $s .= sprintf('%.2F %.2F m %.2F %.2F l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k); - if(strpos($border,'B')!==false) - $s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k); - } - if($txt!=='') - { - if($align=='R') - $dx = $w-$this->cMargin-$this->GetStringWidth($txt); - elseif($align=='C') - $dx = ($w-$this->GetStringWidth($txt))/2; - else - $dx = $this->cMargin; - if($this->ColorFlag) - $s .= 'q '.$this->TextColor.' '; - - // If multibyte, Tw has no effect - do word spacing using an adjustment before each space - if ($this->ws && $this->unifontSubset) { - foreach($this->UTF8StringToArray($txt) as $uni) - $this->CurrentFont['subset'][$uni] = $uni; - $space = $this->_escape($this->UTF8ToUTF16BE(' ', false)); - $s .= sprintf('BT 0 Tw %.2F %.2F Td [',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k); - $t = explode(' ',$txt); - $numt = count($t); - for($i=0;$i<$numt;$i++) { - $tx = $t[$i]; - $tx = '('.$this->_escape($this->UTF8ToUTF16BE($tx, false)).')'; - $s .= sprintf('%s ',$tx); - if (($i+1)<$numt) { - $adj = -($this->ws*$this->k)*1000/$this->FontSizePt; - $s .= sprintf('%d(%s) ',$adj,$space); - } - } - $s .= '] TJ'; - $s .= ' ET'; - } - else { - if ($this->unifontSubset) - { - $txt2 = '('.$this->_escape($this->UTF8ToUTF16BE($txt, false)).')'; - foreach($this->UTF8StringToArray($txt) as $uni) - $this->CurrentFont['subset'][$uni] = $uni; - } - else - $txt2='('.str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$txt))).')'; - $s .= sprintf('BT %.2F %.2F Td %s Tj ET',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k,$txt2); - } - if($this->underline) - $s .= ' '.$this->_dounderline($this->x+$dx,$this->y+.5*$h+.3*$this->FontSize,$txt); - if($this->ColorFlag) - $s .= ' Q'; - if($link) - $this->Link($this->x+$dx,$this->y+.5*$h-.5*$this->FontSize,$this->GetStringWidth($txt),$this->FontSize,$link); - } - if($s) - $this->_out($s); - $this->lasth = $h; - if($ln>0) - { - // Go to next line - $this->y += $h; - if($ln==1) - $this->x = $this->lMargin; - } - else - $this->x += $w; -} - -function MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false) -{ - // Output text with automatic or explicit line breaks - $cw = &$this->CurrentFont['cw']; - if($w==0) - $w = $this->w-$this->rMargin-$this->x; - $wmax = ($w-2*$this->cMargin); - $s = str_replace("\r",'',$txt); - if ($this->unifontSubset) { - $nb=mb_strlen($s, 'utf-8'); - while($nb>0 && mb_substr($s,$nb-1,1,'utf-8')=="\n") $nb--; - } - else { - $nb = strlen($s); - if($nb>0 && $s[$nb-1]=="\n") - $nb--; - } - $b = 0; - if($border) - { - if($border==1) - { - $border = 'LTRB'; - $b = 'LRT'; - $b2 = 'LR'; - } - else - { - $b2 = ''; - if(strpos($border,'L')!==false) - $b2 .= 'L'; - if(strpos($border,'R')!==false) - $b2 .= 'R'; - $b = (strpos($border,'T')!==false) ? $b2.'T' : $b2; - } - } - $sep = -1; - $i = 0; - $j = 0; - $l = 0; - $ns = 0; - $nl = 1; - while($i<$nb) - { - // Get next character - if ($this->unifontSubset) { - $c = mb_substr($s,$i,1,'UTF-8'); - } - else { - $c=$s[$i]; - } - if($c=="\n") - { - // Explicit line break - if($this->ws>0) - { - $this->ws = 0; - $this->_out('0 Tw'); - } - if ($this->unifontSubset) { - $this->Cell($w,$h,mb_substr($s,$j,$i-$j,'UTF-8'),$b,2,$align,$fill); - } - else { - $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill); - } - $i++; - $sep = -1; - $j = $i; - $l = 0; - $ns = 0; - $nl++; - if($border && $nl==2) - $b = $b2; - continue; - } - if($c==' ') - { - $sep = $i; - $ls = $l; - $ns++; - } - - if ($this->unifontSubset) { $l += $this->GetStringWidth($c); } - else { $l += $cw[$c]*$this->FontSize/1000; } - - if($l>$wmax) - { - // Automatic line break - if($sep==-1) - { - if($i==$j) - $i++; - if($this->ws>0) - { - $this->ws = 0; - $this->_out('0 Tw'); - } - if ($this->unifontSubset) { - $this->Cell($w,$h,mb_substr($s,$j,$i-$j,'UTF-8'),$b,2,$align,$fill); - } - else { - $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill); - } - } - else - { - if($align=='J') - { - $this->ws = ($ns>1) ? ($wmax-$ls)/($ns-1) : 0; - $this->_out(sprintf('%.3F Tw',$this->ws*$this->k)); - } - if ($this->unifontSubset) { - $this->Cell($w,$h,mb_substr($s,$j,$sep-$j,'UTF-8'),$b,2,$align,$fill); - } - else { - $this->Cell($w,$h,substr($s,$j,$sep-$j),$b,2,$align,$fill); - } - $i = $sep+1; - } - $sep = -1; - $j = $i; - $l = 0; - $ns = 0; - $nl++; - if($border && $nl==2) - $b = $b2; - } - else - $i++; - } - // Last chunk - if($this->ws>0) - { - $this->ws = 0; - $this->_out('0 Tw'); - } - if($border && strpos($border,'B')!==false) - $b .= 'B'; - if ($this->unifontSubset) { - $this->Cell($w,$h,mb_substr($s,$j,$i-$j,'UTF-8'),$b,2,$align,$fill); - } - else { - $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill); - } - $this->x = $this->lMargin; -} - -function Write($h, $txt, $link='') -{ - // Output text in flowing mode - $cw = &$this->CurrentFont['cw']; - $w = $this->w-$this->rMargin-$this->x; - - $wmax = ($w-2*$this->cMargin); - $s = str_replace("\r",'',$txt); - if ($this->unifontSubset) { - $nb = mb_strlen($s, 'UTF-8'); - if($nb==1 && $s==" ") { - $this->x += $this->GetStringWidth($s); - return; - } - } - else { - $nb = strlen($s); - } - $sep = -1; - $i = 0; - $j = 0; - $l = 0; - $nl = 1; - while($i<$nb) - { - // Get next character - if ($this->unifontSubset) { - $c = mb_substr($s,$i,1,'UTF-8'); - } - else { - $c = $s[$i]; - } - if($c=="\n") - { - // Explicit line break - if ($this->unifontSubset) { - $this->Cell($w,$h,mb_substr($s,$j,$i-$j,'UTF-8'),0,2,'',0,$link); - } - else { - $this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link); - } - $i++; - $sep = -1; - $j = $i; - $l = 0; - if($nl==1) - { - $this->x = $this->lMargin; - $w = $this->w-$this->rMargin-$this->x; - $wmax = ($w-2*$this->cMargin); - } - $nl++; - continue; - } - if($c==' ') - $sep = $i; - - if ($this->unifontSubset) { $l += $this->GetStringWidth($c); } - else { $l += $cw[$c]*$this->FontSize/1000; } - - if($l>$wmax) - { - // Automatic line break - if($sep==-1) - { - if($this->x>$this->lMargin) - { - // Move to next line - $this->x = $this->lMargin; - $this->y += $h; - $w = $this->w-$this->rMargin-$this->x; - $wmax = ($w-2*$this->cMargin); - $i++; - $nl++; - continue; - } - if($i==$j) - $i++; - if ($this->unifontSubset) { - $this->Cell($w,$h,mb_substr($s,$j,$i-$j,'UTF-8'),0,2,'',0,$link); - } - else { - $this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link); - } - } - else - { - if ($this->unifontSubset) { - $this->Cell($w,$h,mb_substr($s,$j,$sep-$j,'UTF-8'),0,2,'',0,$link); - } - else { - $this->Cell($w,$h,substr($s,$j,$sep-$j),0,2,'',0,$link); - } - $i = $sep+1; - } - $sep = -1; - $j = $i; - $l = 0; - if($nl==1) - { - $this->x = $this->lMargin; - $w = $this->w-$this->rMargin-$this->x; - $wmax = ($w-2*$this->cMargin); - } - $nl++; - } - else - $i++; - } - // Last chunk - if($i!=$j) { - if ($this->unifontSubset) { - $this->Cell($l,$h,mb_substr($s,$j,$i-$j,'UTF-8'),0,0,'',0,$link); - } - else { - $this->Cell($l,$h,substr($s,$j),0,0,'',0,$link); - } - } -} - -function Ln($h=null) -{ - // Line feed; default value is last cell height - $this->x = $this->lMargin; - if($h===null) - $this->y += $this->lasth; - else - $this->y += $h; -} - -function Image($file, $x=null, $y=null, $w=0, $h=0, $type='', $link='') -{ - // Put an image on the page - if(!isset($this->images[$file])) - { - // First use of this image, get info - if($type=='') - { - $pos = strrpos($file,'.'); - if(!$pos) - $this->Error('Image file has no extension and no type was specified: '.$file); - $type = substr($file,$pos+1); - } - $type = strtolower($type); - if($type=='jpeg') - $type = 'jpg'; - $mtd = '_parse'.$type; - if(!method_exists($this,$mtd)) - $this->Error('Unsupported image type: '.$type); - $info = $this->$mtd($file); - $info['i'] = count($this->images)+1; - $this->images[$file] = $info; - } - else - $info = $this->images[$file]; - - // Automatic width and height calculation if needed - if($w==0 && $h==0) - { - // Put image at 96 dpi - $w = -96; - $h = -96; - } - if($w<0) - $w = -$info['w']*72/$w/$this->k; - if($h<0) - $h = -$info['h']*72/$h/$this->k; - if($w==0) - $w = $h*$info['w']/$info['h']; - if($h==0) - $h = $w*$info['h']/$info['w']; - - // Flowing mode - if($y===null) - { - if($this->y+$h>$this->PageBreakTrigger && !$this->InHeader && !$this->InFooter && $this->AcceptPageBreak()) - { - // Automatic page break - $x2 = $this->x; - $this->AddPage($this->CurOrientation,$this->CurPageSize); - $this->x = $x2; - } - $y = $this->y; - $this->y += $h; - } - - if($x===null) - $x = $this->x; - $this->_out(sprintf('q %.2F 0 0 %.2F %.2F %.2F cm /I%d Do Q',$w*$this->k,$h*$this->k,$x*$this->k,($this->h-($y+$h))*$this->k,$info['i'])); - if($link) - $this->Link($x,$y,$w,$h,$link); -} - -function GetX() -{ - // Get x position - return $this->x; -} - -function SetX($x) -{ - // Set x position - if($x>=0) - $this->x = $x; - else - $this->x = $this->w+$x; -} - -function GetY() -{ - // Get y position - return $this->y; -} - -function SetY($y) -{ - // Set y position and reset x - $this->x = $this->lMargin; - if($y>=0) - $this->y = $y; - else - $this->y = $this->h+$y; -} - -function SetXY($x, $y) -{ - // Set x and y positions - $this->SetY($y); - $this->SetX($x); -} - -function Output($name='', $dest='') -{ - // Output PDF to some destination - if($this->state<3) - $this->Close(); - $dest = strtoupper($dest); - if($dest=='') - { - if($name=='') - { - $name = 'doc.pdf'; - $dest = 'I'; - } - else - $dest = 'F'; - } - switch($dest) - { - case 'I': - // Send to standard output - $this->_checkoutput(); - if(PHP_SAPI!='cli') - { - // We send to a browser - header('Content-Type: application/pdf'); - header('Content-Disposition: inline; filename="'.$name.'"'); - header('Cache-Control: private, max-age=0, must-revalidate'); - header('Pragma: public'); - } - echo $this->buffer; - break; - case 'D': - // Download file - $this->_checkoutput(); - header('Content-Type: application/x-download'); - header('Content-Disposition: attachment; filename="'.$name.'"'); - header('Cache-Control: private, max-age=0, must-revalidate'); - header('Pragma: public'); - echo $this->buffer; - break; - case 'F': - // Save to local file - $f = fopen($name,'wb'); - if(!$f) - $this->Error('Unable to create output file: '.$name); - fwrite($f,$this->buffer,strlen($this->buffer)); - fclose($f); - break; - case 'S': - // Return as a string - return $this->buffer; - default: - $this->Error('Incorrect output destination: '.$dest); - } - return ''; -} - -/******************************************************************************* -* * -* Protected methods * -* * -*******************************************************************************/ -function _dochecks() -{ - // Check availability of %F - if(sprintf('%.1F',1.0)!='1.0') - $this->Error('This version of PHP is not supported'); - // Check availability of mbstring - if(!function_exists('mb_strlen')) - $this->Error('mbstring extension is not available'); - // Check mbstring overloading - if(ini_get('mbstring.func_overload') & 2) - $this->Error('mbstring overloading must be disabled'); - // Ensure runtime magic quotes are disabled - if(get_magic_quotes_runtime()) - @set_magic_quotes_runtime(0); -} - -function _getfontpath() -{ - return $this->fontpath; -} - -function _checkoutput() -{ - if(PHP_SAPI!='cli') - { - if(headers_sent($file,$line)) - $this->Error("Some data has already been output, can't send PDF file (output started at $file:$line)"); - } - if(ob_get_length()) - { - // The output buffer is not empty - if(preg_match('/^(\xEF\xBB\xBF)?\s*$/',ob_get_contents())) - { - // It contains only a UTF-8 BOM and/or whitespace, let's clean it - ob_end_clean(); - } - else - $this->Error("Some data has already been output, can't send PDF file"); - } -} - -function _getpagesize($size) -{ - if(is_string($size)) - { - $size = strtolower($size); - if(!isset($this->StdPageSizes[$size])) - $this->Error('Unknown page size: '.$size); - $a = $this->StdPageSizes[$size]; - return array($a[0]/$this->k, $a[1]/$this->k); - } - else - { - if($size[0]>$size[1]) - return array($size[1], $size[0]); - else - return $size; - } -} - -function _beginpage($orientation, $size) -{ - $this->page++; - $this->pages[$this->page] = ''; - $this->state = 2; - $this->x = $this->lMargin; - $this->y = $this->tMargin; - $this->FontFamily = ''; - // Check page size and orientation - if($orientation=='') - $orientation = $this->DefOrientation; - else - $orientation = strtoupper($orientation[0]); - if($size=='') - $size = $this->DefPageSize; - else - $size = $this->_getpagesize($size); - if($orientation!=$this->CurOrientation || $size[0]!=$this->CurPageSize[0] || $size[1]!=$this->CurPageSize[1]) - { - // New size or orientation - if($orientation=='P') - { - $this->w = $size[0]; - $this->h = $size[1]; - } - else - { - $this->w = $size[1]; - $this->h = $size[0]; - } - $this->wPt = $this->w*$this->k; - $this->hPt = $this->h*$this->k; - $this->PageBreakTrigger = $this->h-$this->bMargin; - $this->CurOrientation = $orientation; - $this->CurPageSize = $size; - } - if($orientation!=$this->DefOrientation || $size[0]!=$this->DefPageSize[0] || $size[1]!=$this->DefPageSize[1]) - $this->PageSizes[$this->page] = array($this->wPt, $this->hPt); -} - -function _endpage() -{ - $this->state = 1; -} - -function _loadfont($font) -{ - // Load a font definition file from the font directory - include($this->fontpath.$font); - $a = get_defined_vars(); - if(!isset($a['name'])) - $this->Error('Could not include font definition file'); - return $a; -} - -function _escape($s) -{ - // Escape special characters in strings - $s = str_replace('\\','\\\\',$s); - $s = str_replace('(','\\(',$s); - $s = str_replace(')','\\)',$s); - $s = str_replace("\r",'\\r',$s); - return $s; -} - -function _textstring($s) -{ - // Format a text string - return '('.$this->_escape($s).')'; -} - -function _UTF8toUTF16($s) -{ - // Convert UTF-8 to UTF-16BE with BOM - $res = "\xFE\xFF"; - $nb = strlen($s); - $i = 0; - while($i<$nb) - { - $c1 = ord($s[$i++]); - if($c1>=224) - { - // 3-byte character - $c2 = ord($s[$i++]); - $c3 = ord($s[$i++]); - $res .= chr((($c1 & 0x0F)<<4) + (($c2 & 0x3C)>>2)); - $res .= chr((($c2 & 0x03)<<6) + ($c3 & 0x3F)); - } - elseif($c1>=192) - { - // 2-byte character - $c2 = ord($s[$i++]); - $res .= chr(($c1 & 0x1C)>>2); - $res .= chr((($c1 & 0x03)<<6) + ($c2 & 0x3F)); - } - else - { - // Single-byte character - $res .= "\0".chr($c1); - } - } - return $res; -} - -function _dounderline($x, $y, $txt) -{ - // Underline text - $up = $this->CurrentFont['up']; - $ut = $this->CurrentFont['ut']; - $w = $this->GetStringWidth($txt)+$this->ws*substr_count($txt,' '); - return sprintf('%.2F %.2F %.2F %.2F re f',$x*$this->k,($this->h-($y-$up/1000*$this->FontSize))*$this->k,$w*$this->k,-$ut/1000*$this->FontSizePt); -} - -function _parsejpg($file) -{ - // Extract info from a JPEG file - $a = getimagesize($file); - if(!$a) - $this->Error('Missing or incorrect image file: '.$file); - if($a[2]!=2) - $this->Error('Not a JPEG file: '.$file); - if(!isset($a['channels']) || $a['channels']==3) - $colspace = 'DeviceRGB'; - elseif($a['channels']==4) - $colspace = 'DeviceCMYK'; - else - $colspace = 'DeviceGray'; - $bpc = isset($a['bits']) ? $a['bits'] : 8; - $data = file_get_contents($file); - return array('w'=>$a[0], 'h'=>$a[1], 'cs'=>$colspace, 'bpc'=>$bpc, 'f'=>'DCTDecode', 'data'=>$data); -} - -function _parsepng($file) -{ - // Extract info from a PNG file - $f = fopen($file,'rb'); - if(!$f) - $this->Error('Can\'t open image file: '.$file); - $info = $this->_parsepngstream($f,$file); - fclose($f); - return $info; -} - -function _parsepngstream($f, $file) -{ - // Check signature - if($this->_readstream($f,8)!=chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10)) - $this->Error('Not a PNG file: '.$file); - - // Read header chunk - $this->_readstream($f,4); - if($this->_readstream($f,4)!='IHDR') - $this->Error('Incorrect PNG file: '.$file); - $w = $this->_readint($f); - $h = $this->_readint($f); - $bpc = ord($this->_readstream($f,1)); - if($bpc>8) - $this->Error('16-bit depth not supported: '.$file); - $ct = ord($this->_readstream($f,1)); - if($ct==0 || $ct==4) - $colspace = 'DeviceGray'; - elseif($ct==2 || $ct==6) - $colspace = 'DeviceRGB'; - elseif($ct==3) - $colspace = 'Indexed'; - else - $this->Error('Unknown color type: '.$file); - if(ord($this->_readstream($f,1))!=0) - $this->Error('Unknown compression method: '.$file); - if(ord($this->_readstream($f,1))!=0) - $this->Error('Unknown filter method: '.$file); - if(ord($this->_readstream($f,1))!=0) - $this->Error('Interlacing not supported: '.$file); - $this->_readstream($f,4); - $dp = '/Predictor 15 /Colors '.($colspace=='DeviceRGB' ? 3 : 1).' /BitsPerComponent '.$bpc.' /Columns '.$w; - - // Scan chunks looking for palette, transparency and image data - $pal = ''; - $trns = ''; - $data = ''; - do - { - $n = $this->_readint($f); - $type = $this->_readstream($f,4); - if($type=='PLTE') - { - // Read palette - $pal = $this->_readstream($f,$n); - $this->_readstream($f,4); - } - elseif($type=='tRNS') - { - // Read transparency info - $t = $this->_readstream($f,$n); - if($ct==0) - $trns = array(ord(substr($t,1,1))); - elseif($ct==2) - $trns = array(ord(substr($t,1,1)), ord(substr($t,3,1)), ord(substr($t,5,1))); - else - { - $pos = strpos($t,chr(0)); - if($pos!==false) - $trns = array($pos); - } - $this->_readstream($f,4); - } - elseif($type=='IDAT') - { - // Read image data block - $data .= $this->_readstream($f,$n); - $this->_readstream($f,4); - } - elseif($type=='IEND') - break; - else - $this->_readstream($f,$n+4); - } - while($n); - - if($colspace=='Indexed' && empty($pal)) - $this->Error('Missing palette in '.$file); - $info = array('w'=>$w, 'h'=>$h, 'cs'=>$colspace, 'bpc'=>$bpc, 'f'=>'FlateDecode', 'dp'=>$dp, 'pal'=>$pal, 'trns'=>$trns); - if($ct>=4) - { - // Extract alpha channel - if(!function_exists('gzuncompress')) - $this->Error('Zlib not available, can\'t handle alpha channel: '.$file); - $data = gzuncompress($data); - $color = ''; - $alpha = ''; - if($ct==4) - { - // Gray image - $len = 2*$w; - for($i=0;$i<$h;$i++) - { - $pos = (1+$len)*$i; - $color .= $data[$pos]; - $alpha .= $data[$pos]; - $line = substr($data,$pos+1,$len); - $color .= preg_replace('/(.)./s','$1',$line); - $alpha .= preg_replace('/.(.)/s','$1',$line); - } - } - else - { - // RGB image - $len = 4*$w; - for($i=0;$i<$h;$i++) - { - $pos = (1+$len)*$i; - $color .= $data[$pos]; - $alpha .= $data[$pos]; - $line = substr($data,$pos+1,$len); - $color .= preg_replace('/(.{3})./s','$1',$line); - $alpha .= preg_replace('/.{3}(.)/s','$1',$line); - } - } - unset($data); - $data = gzcompress($color); - $info['smask'] = gzcompress($alpha); - if($this->PDFVersion<'1.4') - $this->PDFVersion = '1.4'; - } - $info['data'] = $data; - return $info; -} - -function _readstream($f, $n) -{ - // Read n bytes from stream - $res = ''; - while($n>0 && !feof($f)) - { - $s = fread($f,$n); - if($s===false) - $this->Error('Error while reading stream'); - $n -= strlen($s); - $res .= $s; - } - if($n>0) - $this->Error('Unexpected end of stream'); - return $res; -} - -function _readint($f) -{ - // Read a 4-byte integer from stream - $a = unpack('Ni',$this->_readstream($f,4)); - return $a['i']; -} - -function _parsegif($file) -{ - // Extract info from a GIF file (via PNG conversion) - if(!function_exists('imagepng')) - $this->Error('GD extension is required for GIF support'); - if(!function_exists('imagecreatefromgif')) - $this->Error('GD has no GIF read support'); - $im = imagecreatefromgif($file); - if(!$im) - $this->Error('Missing or incorrect image file: '.$file); - imageinterlace($im,0); - $f = @fopen('php://temp','rb+'); - if($f) - { - // Perform conversion in memory - ob_start(); - imagepng($im); - $data = ob_get_clean(); - imagedestroy($im); - fwrite($f,$data); - rewind($f); - $info = $this->_parsepngstream($f,$file); - fclose($f); - } - else - { - // Use temporary file - $tmp = tempnam('.','gif'); - if(!$tmp) - $this->Error('Unable to create a temporary file'); - if(!imagepng($im,$tmp)) - $this->Error('Error while saving to temporary file'); - imagedestroy($im); - $info = $this->_parsepng($tmp); - unlink($tmp); - } - return $info; -} - -function _newobj() -{ - // Begin a new object - $this->n++; - $this->offsets[$this->n] = strlen($this->buffer); - $this->_out($this->n.' 0 obj'); -} - -function _putstream($s) -{ - $this->_out('stream'); - $this->_out($s); - $this->_out('endstream'); -} - -function _out($s) -{ - // Add a line to the document - if($this->state==2) - $this->pages[$this->page] .= $s."\n"; - else - $this->buffer .= $s."\n"; -} - -function _putpages() -{ - $nb = $this->page; - if(!empty($this->AliasNbPages)) - { - // Replace number of pages in fonts using subsets - $alias = $this->UTF8ToUTF16BE($this->AliasNbPages, false); - $r = $this->UTF8ToUTF16BE("$nb", false); - for($n=1;$n<=$nb;$n++) - $this->pages[$n] = str_replace($alias,$r,$this->pages[$n]); - // Now repeat for no pages in non-subset fonts - for($n=1;$n<=$nb;$n++) - $this->pages[$n] = str_replace($this->AliasNbPages,$nb,$this->pages[$n]); - } - if($this->DefOrientation=='P') - { - $wPt = $this->DefPageSize[0]*$this->k; - $hPt = $this->DefPageSize[1]*$this->k; - } - else - { - $wPt = $this->DefPageSize[1]*$this->k; - $hPt = $this->DefPageSize[0]*$this->k; - } - $filter = ($this->compress) ? '/Filter /FlateDecode ' : ''; - for($n=1;$n<=$nb;$n++) - { - // Page - $this->_newobj(); - $this->_out('<_out('/Parent 1 0 R'); - if(isset($this->PageSizes[$n])) - $this->_out(sprintf('/MediaBox [0 0 %.2F %.2F]',$this->PageSizes[$n][0],$this->PageSizes[$n][1])); - $this->_out('/Resources 2 0 R'); - if(isset($this->PageLinks[$n])) - { - // Links - $annots = '/Annots ['; - foreach($this->PageLinks[$n] as $pl) - { - $rect = sprintf('%.2F %.2F %.2F %.2F',$pl[0],$pl[1],$pl[0]+$pl[2],$pl[1]-$pl[3]); - $annots .= '<_textstring($pl[4]).'>>>>'; - else - { - $l = $this->links[$pl[4]]; - $h = isset($this->PageSizes[$l[0]]) ? $this->PageSizes[$l[0]][1] : $hPt; - $annots .= sprintf('/Dest [%d 0 R /XYZ 0 %.2F null]>>',1+2*$l[0],$h-$l[1]*$this->k); - } - } - $this->_out($annots.']'); - } - if($this->PDFVersion>'1.3') - $this->_out('/Group <>'); - $this->_out('/Contents '.($this->n+1).' 0 R>>'); - $this->_out('endobj'); - // Page content - $p = ($this->compress) ? gzcompress($this->pages[$n]) : $this->pages[$n]; - $this->_newobj(); - $this->_out('<<'.$filter.'/Length '.strlen($p).'>>'); - $this->_putstream($p); - $this->_out('endobj'); - } - // Pages root - $this->offsets[1] = strlen($this->buffer); - $this->_out('1 0 obj'); - $this->_out('<_out($kids.']'); - $this->_out('/Count '.$nb); - $this->_out(sprintf('/MediaBox [0 0 %.2F %.2F]',$wPt,$hPt)); - $this->_out('>>'); - $this->_out('endobj'); -} - -function _putfonts() -{ - $nf=$this->n; - foreach($this->diffs as $diff) - { - // Encodings - $this->_newobj(); - $this->_out('<>'); - $this->_out('endobj'); - } - foreach($this->FontFiles as $file=>$info) - { - if (!isset($info['type']) || $info['type']!='TTF') { - // Font file embedding - $this->_newobj(); - $this->FontFiles[$file]['n']=$this->n; - $font=''; - $f=fopen($this->_getfontpath().$file,'rb',1); - if(!$f) - $this->Error('Font file not found'); - while(!feof($f)) - $font.=fread($f,8192); - fclose($f); - $compressed=(substr($file,-2)=='.z'); - if(!$compressed && isset($info['length2'])) - { - $header=(ord($font[0])==128); - if($header) - { - // Strip first binary header - $font=substr($font,6); - } - if($header && ord($font[$info['length1']])==128) - { - // Strip second binary header - $font=substr($font,0,$info['length1']).substr($font,$info['length1']+6); - } - } - $this->_out('<_out('/Filter /FlateDecode'); - $this->_out('/Length1 '.$info['length1']); - if(isset($info['length2'])) - $this->_out('/Length2 '.$info['length2'].' /Length3 0'); - $this->_out('>>'); - $this->_putstream($font); - $this->_out('endobj'); - } - } - foreach($this->fonts as $k=>$font) - { - // Font objects - //$this->fonts[$k]['n']=$this->n+1; - $type = $font['type']; - $name = $font['name']; - if($type=='Core') - { - // Standard font - $this->fonts[$k]['n']=$this->n+1; - $this->_newobj(); - $this->_out('<_out('/BaseFont /'.$name); - $this->_out('/Subtype /Type1'); - if($name!='Symbol' && $name!='ZapfDingbats') - $this->_out('/Encoding /WinAnsiEncoding'); - $this->_out('>>'); - $this->_out('endobj'); - } - elseif($type=='Type1' || $type=='TrueType') - { - // Additional Type1 or TrueType font - $this->fonts[$k]['n']=$this->n+1; - $this->_newobj(); - $this->_out('<_out('/BaseFont /'.$name); - $this->_out('/Subtype /'.$type); - $this->_out('/FirstChar 32 /LastChar 255'); - $this->_out('/Widths '.($this->n+1).' 0 R'); - $this->_out('/FontDescriptor '.($this->n+2).' 0 R'); - if($font['enc']) - { - if(isset($font['diff'])) - $this->_out('/Encoding '.($nf+$font['diff']).' 0 R'); - else - $this->_out('/Encoding /WinAnsiEncoding'); - } - $this->_out('>>'); - $this->_out('endobj'); - // Widths - $this->_newobj(); - $cw=&$font['cw']; - $s='['; - for($i=32;$i<=255;$i++) - $s.=$cw[chr($i)].' '; - $this->_out($s.']'); - $this->_out('endobj'); - // Descriptor - $this->_newobj(); - $s='<$v) - $s.=' /'.$k.' '.$v; - $file=$font['file']; - if($file) - $s.=' /FontFile'.($type=='Type1' ? '' : '2').' '.$this->FontFiles[$file]['n'].' 0 R'; - $this->_out($s.'>>'); - $this->_out('endobj'); - } - // TrueType embedded SUBSETS or FULL - else if ($type=='TTF') { - $this->fonts[$k]['n']=$this->n+1; - require_once($this->_getfontpath().'unifont/ttfonts.php'); - $ttf = new TTFontFile(); - $fontname = 'MPDFAA'.'+'.$font['name']; - $subset = $font['subset']; - unset($subset[0]); - $ttfontstream = $ttf->makeSubset($font['ttffile'], $subset); - $ttfontsize = strlen($ttfontstream); - $fontstream = gzcompress($ttfontstream); - $codeToGlyph = $ttf->codeToGlyph; - unset($codeToGlyph[0]); - - // Type0 Font - // A composite font - a font composed of other fonts, organized hierarchically - $this->_newobj(); - $this->_out('<_out('/Subtype /Type0'); - $this->_out('/BaseFont /'.$fontname.''); - $this->_out('/Encoding /Identity-H'); - $this->_out('/DescendantFonts ['.($this->n + 1).' 0 R]'); - $this->_out('/ToUnicode '.($this->n + 2).' 0 R'); - $this->_out('>>'); - $this->_out('endobj'); - - // CIDFontType2 - // A CIDFont whose glyph descriptions are based on TrueType font technology - $this->_newobj(); - $this->_out('<_out('/Subtype /CIDFontType2'); - $this->_out('/BaseFont /'.$fontname.''); - $this->_out('/CIDSystemInfo '.($this->n + 2).' 0 R'); - $this->_out('/FontDescriptor '.($this->n + 3).' 0 R'); - if (isset($font['desc']['MissingWidth'])){ - $this->_out('/DW '.$font['desc']['MissingWidth'].''); - } - - $this->_putTTfontwidths($font, $ttf->maxUni); - - $this->_out('/CIDToGIDMap '.($this->n + 4).' 0 R'); - $this->_out('>>'); - $this->_out('endobj'); - - // ToUnicode - $this->_newobj(); - $toUni = "/CIDInit /ProcSet findresource begin\n"; - $toUni .= "12 dict begin\n"; - $toUni .= "begincmap\n"; - $toUni .= "/CIDSystemInfo\n"; - $toUni .= "<_out('<>'); - $this->_putstream($toUni); - $this->_out('endobj'); - - // CIDSystemInfo dictionary - $this->_newobj(); - $this->_out('<_out('/Ordering (UCS)'); - $this->_out('/Supplement 0'); - $this->_out('>>'); - $this->_out('endobj'); - - // Font descriptor - $this->_newobj(); - $this->_out('<_out('/FontName /'.$fontname); - foreach($font['desc'] as $kd=>$v) { - if ($kd == 'Flags') { $v = $v | 4; $v = $v & ~32; } // SYMBOLIC font flag - $this->_out(' /'.$kd.' '.$v); - } - $this->_out('/FontFile2 '.($this->n + 2).' 0 R'); - $this->_out('>>'); - $this->_out('endobj'); - - // Embed CIDToGIDMap - // A specification of the mapping from CIDs to glyph indices - $cidtogidmap = ''; - $cidtogidmap = str_pad('', 256*256*2, "\x00"); - foreach($codeToGlyph as $cc=>$glyph) { - $cidtogidmap[$cc*2] = chr($glyph >> 8); - $cidtogidmap[$cc*2 + 1] = chr($glyph & 0xFF); - } - $cidtogidmap = gzcompress($cidtogidmap); - $this->_newobj(); - $this->_out('<_out('/Filter /FlateDecode'); - $this->_out('>>'); - $this->_putstream($cidtogidmap); - $this->_out('endobj'); - - //Font file - $this->_newobj(); - $this->_out('<_out('/Filter /FlateDecode'); - $this->_out('/Length1 '.$ttfontsize); - $this->_out('>>'); - $this->_putstream($fontstream); - $this->_out('endobj'); - unset($ttf); - } - else - { - // Allow for additional types - $this->fonts[$k]['n'] = $this->n+1; - $mtd='_put'.strtolower($type); - if(!method_exists($this,$mtd)) - $this->Error('Unsupported font type: '.$type); - $this->$mtd($font); - } - } -} - -function _putTTfontwidths(&$font, $maxUni) { - if (file_exists($font['unifilename'].'.cw127.php')) { - include($font['unifilename'].'.cw127.php') ; - $startcid = 128; - } - else { - $rangeid = 0; - $range = array(); - $prevcid = -2; - $prevwidth = -1; - $interval = false; - $startcid = 1; - } - $cwlen = $maxUni + 1; - - // for each character - for ($cid=$startcid; $cid<$cwlen; $cid++) { - if ($cid==128 && (!file_exists($font['unifilename'].'.cw127.php'))) { - if (is_writable(dirname($this->_getfontpath().'unifont/x'))) { - $fh = fopen($font['unifilename'].'.cw127.php',"wb"); - $cw127='"; - fwrite($fh,$cw127,strlen($cw127)); - fclose($fh); - } - } - if ($font['cw'][$cid*2] == "\00" && $font['cw'][$cid*2+1] == "\00") { continue; } - $width = (ord($font['cw'][$cid*2]) << 8) + ord($font['cw'][$cid*2+1]); - if ($width == 65535) { $width = 0; } - if ($cid > 255 && (!isset($font['subset'][$cid]) || !$font['subset'][$cid])) { continue; } - if (!isset($font['dw']) || (isset($font['dw']) && $width != $font['dw'])) { - if ($cid == ($prevcid + 1)) { - if ($width == $prevwidth) { - if ($width == $range[$rangeid][0]) { - $range[$rangeid][] = $width; - } - else { - array_pop($range[$rangeid]); - // new range - $rangeid = $prevcid; - $range[$rangeid] = array(); - $range[$rangeid][] = $prevwidth; - $range[$rangeid][] = $width; - } - $interval = true; - $range[$rangeid]['interval'] = true; - } else { - if ($interval) { - // new range - $rangeid = $cid; - $range[$rangeid] = array(); - $range[$rangeid][] = $width; - } - else { $range[$rangeid][] = $width; } - $interval = false; - } - } else { - $rangeid = $cid; - $range[$rangeid] = array(); - $range[$rangeid][] = $width; - $interval = false; - } - $prevcid = $cid; - $prevwidth = $width; - } - } - $prevk = -1; - $nextk = -1; - $prevint = false; - foreach ($range as $k => $ws) { - $cws = count($ws); - if (($k == $nextk) AND (!$prevint) AND ((!isset($ws['interval'])) OR ($cws < 4))) { - if (isset($range[$k]['interval'])) { unset($range[$k]['interval']); } - $range[$prevk] = array_merge($range[$prevk], $range[$k]); - unset($range[$k]); - } - else { $prevk = $k; } - $nextk = $k + $cws; - if (isset($ws['interval'])) { - if ($cws > 3) { $prevint = true; } - else { $prevint = false; } - unset($range[$k]['interval']); - --$nextk; - } - else { $prevint = false; } - } - $w = ''; - foreach ($range as $k => $ws) { - if (count(array_count_values($ws)) == 1) { $w .= ' '.$k.' '.($k + count($ws) - 1).' '.$ws[0]; } - else { $w .= ' '.$k.' [ '.implode(' ', $ws).' ]' . "\n"; } - } - $this->_out('/W ['.$w.' ]'); -} - -function _putimages() -{ - foreach(array_keys($this->images) as $file) - { - $this->_putimage($this->images[$file]); - unset($this->images[$file]['data']); - unset($this->images[$file]['smask']); - } -} - -function _putimage(&$info) -{ - $this->_newobj(); - $info['n'] = $this->n; - $this->_out('<_out('/Subtype /Image'); - $this->_out('/Width '.$info['w']); - $this->_out('/Height '.$info['h']); - if($info['cs']=='Indexed') - $this->_out('/ColorSpace [/Indexed /DeviceRGB '.(strlen($info['pal'])/3-1).' '.($this->n+1).' 0 R]'); - else - { - $this->_out('/ColorSpace /'.$info['cs']); - if($info['cs']=='DeviceCMYK') - $this->_out('/Decode [1 0 1 0 1 0 1 0]'); - } - $this->_out('/BitsPerComponent '.$info['bpc']); - if(isset($info['f'])) - $this->_out('/Filter /'.$info['f']); - if(isset($info['dp'])) - $this->_out('/DecodeParms <<'.$info['dp'].'>>'); - if(isset($info['trns']) && is_array($info['trns'])) - { - $trns = ''; - for($i=0;$i_out('/Mask ['.$trns.']'); - } - if(isset($info['smask'])) - $this->_out('/SMask '.($this->n+1).' 0 R'); - $this->_out('/Length '.strlen($info['data']).'>>'); - $this->_putstream($info['data']); - $this->_out('endobj'); - // Soft mask - if(isset($info['smask'])) - { - $dp = '/Predictor 15 /Colors 1 /BitsPerComponent 8 /Columns '.$info['w']; - $smask = array('w'=>$info['w'], 'h'=>$info['h'], 'cs'=>'DeviceGray', 'bpc'=>8, 'f'=>$info['f'], 'dp'=>$dp, 'data'=>$info['smask']); - $this->_putimage($smask); - } - // Palette - if($info['cs']=='Indexed') - { - $filter = ($this->compress) ? '/Filter /FlateDecode ' : ''; - $pal = ($this->compress) ? gzcompress($info['pal']) : $info['pal']; - $this->_newobj(); - $this->_out('<<'.$filter.'/Length '.strlen($pal).'>>'); - $this->_putstream($pal); - $this->_out('endobj'); - } -} - -function _putxobjectdict() -{ - foreach($this->images as $image) - $this->_out('/I'.$image['i'].' '.$image['n'].' 0 R'); -} - -function _putresourcedict() -{ - $this->_out('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]'); - $this->_out('/Font <<'); - foreach($this->fonts as $font) { - $this->_out('/F'.$font['i'].' '.$font['n'].' 0 R'); - } - $this->_out('>>'); - $this->_out('/XObject <<'); - $this->_putxobjectdict(); - $this->_out('>>'); -} - -function _putresources() -{ - $this->_putfonts(); - $this->_putimages(); - // Resource dictionary - $this->offsets[2] = strlen($this->buffer); - $this->_out('2 0 obj'); - $this->_out('<<'); - $this->_putresourcedict(); - $this->_out('>>'); - $this->_out('endobj'); -} - -function _putinfo() -{ - $this->_out('/Producer '.$this->_textstring('tFPDF '.tFPDF_VERSION)); - if(!empty($this->title)) - $this->_out('/Title '.$this->_textstring($this->title)); - if(!empty($this->subject)) - $this->_out('/Subject '.$this->_textstring($this->subject)); - if(!empty($this->author)) - $this->_out('/Author '.$this->_textstring($this->author)); - if(!empty($this->keywords)) - $this->_out('/Keywords '.$this->_textstring($this->keywords)); - if(!empty($this->creator)) - $this->_out('/Creator '.$this->_textstring($this->creator)); - $this->_out('/CreationDate '.$this->_textstring('D:'.@date('YmdHis'))); -} - -function _putcatalog() -{ - $this->_out('/Type /Catalog'); - $this->_out('/Pages 1 0 R'); - if($this->ZoomMode=='fullpage') - $this->_out('/OpenAction [3 0 R /Fit]'); - elseif($this->ZoomMode=='fullwidth') - $this->_out('/OpenAction [3 0 R /FitH null]'); - elseif($this->ZoomMode=='real') - $this->_out('/OpenAction [3 0 R /XYZ null null 1]'); - elseif(!is_string($this->ZoomMode)) - $this->_out('/OpenAction [3 0 R /XYZ null null '.sprintf('%.2F',$this->ZoomMode/100).']'); - if($this->LayoutMode=='single') - $this->_out('/PageLayout /SinglePage'); - elseif($this->LayoutMode=='continuous') - $this->_out('/PageLayout /OneColumn'); - elseif($this->LayoutMode=='two') - $this->_out('/PageLayout /TwoColumnLeft'); -} - -function _putheader() -{ - $this->_out('%PDF-'.$this->PDFVersion); -} - -function _puttrailer() -{ - $this->_out('/Size '.($this->n+1)); - $this->_out('/Root '.$this->n.' 0 R'); - $this->_out('/Info '.($this->n-1).' 0 R'); -} - -function _enddoc() -{ - $this->_putheader(); - $this->_putpages(); - $this->_putresources(); - // Info - $this->_newobj(); - $this->_out('<<'); - $this->_putinfo(); - $this->_out('>>'); - $this->_out('endobj'); - // Catalog - $this->_newobj(); - $this->_out('<<'); - $this->_putcatalog(); - $this->_out('>>'); - $this->_out('endobj'); - // Cross-ref - $o = strlen($this->buffer); - $this->_out('xref'); - $this->_out('0 '.($this->n+1)); - $this->_out('0000000000 65535 f '); - for($i=1;$i<=$this->n;$i++) - $this->_out(sprintf('%010d 00000 n ',$this->offsets[$i])); - // Trailer - $this->_out('trailer'); - $this->_out('<<'); - $this->_puttrailer(); - $this->_out('>>'); - $this->_out('startxref'); - $this->_out($o); - $this->_out('%%EOF'); - $this->state = 3; -} - -// ********* NEW FUNCTIONS ********* -// Converts UTF-8 strings to UTF16-BE. -function UTF8ToUTF16BE($str, $setbom=true) { - $outstr = ""; - if ($setbom) { - $outstr .= "\xFE\xFF"; // Byte Order Mark (BOM) - } - $outstr .= mb_convert_encoding($str, 'UTF-16BE', 'UTF-8'); - return $outstr; -} - -// Converts UTF-8 strings to codepoints array -function UTF8StringToArray($str) { - $out = array(); - $len = strlen($str); - for ($i = 0; $i < $len; $i++) { - $uni = -1; - $h = ord($str[$i]); - if ( $h <= 0x7F ) - $uni = $h; - elseif ( $h >= 0xC2 ) { - if ( ($h <= 0xDF) && ($i < $len -1) ) - $uni = ($h & 0x1F) << 6 | (ord($str[++$i]) & 0x3F); - elseif ( ($h <= 0xEF) && ($i < $len -2) ) - $uni = ($h & 0x0F) << 12 | (ord($str[++$i]) & 0x3F) << 6 - | (ord($str[++$i]) & 0x3F); - elseif ( ($h <= 0xF4) && ($i < $len -3) ) - $uni = ($h & 0x0F) << 18 | (ord($str[++$i]) & 0x3F) << 12 - | (ord($str[++$i]) & 0x3F) << 6 - | (ord($str[++$i]) & 0x3F); - } - if ($uni >= 0) { - $out[] = $uni; - } - } - return $out; -} - - -// End of class -} - -// Handle special IE contype request -if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']=='contype') -{ - header('Content-Type: application/pdf'); - exit; -} - -?> diff --git a/sources/include/tva.inc.php b/sources/include/tva.inc.php deleted file mode 100644 index cebfc9c..0000000 --- a/sources/include/tva.inc.php +++ /dev/null @@ -1,341 +0,0 @@ -'; -// Confirm remove -if (isset($_POST['confirm_rm'])) -{ - if ($cn->count_sql('select * from tva_rate') > 1) - $cn->exec_sql('select tva_delete($1)', array($_POST['tva_id'])); - else - echo '

      Vous ne pouvez pas effacer tous taux' . - ' Si votre société n\'utilise pas la TVA, changer dans le menu société

      '; -} -$both_side=(isset($_REQUEST['both']))?1:0; -//----------------------------------------------------- -// Record Change -if (isset($_POST['confirm_mod']) - || isset($_POST['confirm_add'])) -{ - extract($_POST); - // remove space - $tva_poste = str_replace(" ", "", $tva_poste); - $err = 0; // Error code - - if (isNumber($tva_rate) == 0) - { - $err = 2; - } - - if ($err == 0) - { - if (isset($_POST['confirm_add'])) - { - $sql = "select tva_insert($1,$2,$3,$4,$5)"; - - $res = $cn->exec_sql( - $sql, array($tva_label, - $tva_rate, - $tva_comment, - $tva_poste, - $both_side) - ); - $err = Database::fetch_result($res); - } - if (isset($_POST['confirm_mod'])) - { - $Res = $cn->exec_sql( - "select tva_modify($1,$2,$3,$4,$5,$6)", array($tva_id, $tva_label, $tva_rate, $tva_comment, $tva_poste,$both_side) - ); - $err = Database::fetch_result($Res); - } - } - if ($err != 0) - { - $err_code = array(1 => "Tva id n\'est pas un nombre", - 2 => "Taux tva invalide", - 3 => "Label ne peut être vide", - 4 => "Poste invalide", - 5 => "Tva id doit être unique"); - $str_err = $err_code[$err]; - echo ""; - ; - } -} -// If company not use VAT -$own = new Own($cn); -if ($own->MY_TVA_USE == 'N') -{ - echo '

      '._("Vous n'êtes pas assujetti à la TVA").'

      '; - return; -} -//----------------------------------------------------- -// Display -$sql = "select tva_id,tva_label,tva_rate,tva_comment,tva_poste,tva_both_side from tva_rate order by tva_label"; -$Res = $cn->exec_sql($sql); -?> - - - - - - - - - - $row['tva_label'], - 'tva_rate' => $row['tva_rate'], - 'tva_comment' => $row['tva_comment'], - 'tva_poste' => $row['tva_poste'], - 'tva_both_side' => $row['tva_both_side'] - ); - - echo ""; - echo ''; - - echo ''; - - echo ""; - - echo ""; - - echo ""; - - echo ""; - - echo ""; - - echo ""; - - echo ''; - echo ""; -} -?> -
      IdLabelTauxCommentairePosteUtilisé en même temps au crédit et au débit
      '; - echo $row['tva_id']; - echo '"; - echo HtmlInput::hidden('tva_id', $row['tva_id']); - echo h($row['tva_label']); - echo ""; - echo $row['tva_rate']; - echo ""; - echo h($row['tva_comment']); - echo ""; - echo $row['tva_poste']; - echo ""; - $str_msg=( $row['tva_both_side']==1)?'Employé au crédit et débit':'normal' ; - echo $str_msg; - echo ""; - echo HtmlInput::submit("rm", "Efface"); - echo HtmlInput::submit("mod", "Modifie"); - $w = new IHidden(); - $w->name = "tva_id"; - $w->value = $row['tva_id']; - echo $w->input(); - $w = new IHidden(); - $w->name = "p_action"; - $w->value = "divers"; - echo $w->input(); - $w = new IHidden(); - $w->name = "sa"; - $w->value = "tva"; - echo $w->input(); - - echo "
      - -
      - - - -
      - - - - - - - - - - - - - - - - -
      LabelTauxCommentairePosteDouble côté
      - '; - echo ''; - echo HtmlInput::submit("confirm_rm", "Confirme"); - echo HtmlInput::submit("Cancel", "no"); - echo ""; - } - //----------------------------------------------------- - // add - if (isset($_REQUEST['add'])) - { - echo "
      Ajout d'un taux de tva "; - echo '
      '; - ?> - - - - - - - - - - - - - - - - - - - -
      Label (ce que vous verrez dans les journaux) size = 20; - echo $w->input('tva_label', '') - ?>
      Taux de tva size = 5; - echo $w->input('tva_rate', '') - ?>
      Commentaire heigh = 5; - $w->width = 50; - echo $w->input('tva_comment', '') - ?>
      Poste comptable utilisés format :debit,credit size = 20; - echo $w->input('tva_poste', '') - ?>
      Utilisé au débit et au crédit afin d'annuler cette tva size = 20; - echo $w->input('both', '') - ?>
      - - - -
      -
      - Modification d'un taux de tva "; - echo '
      '; - echo ''; - ?> - - - - - - - - - - - - - - - - - - - - - -
      Label (ce que vous verrez dans les journaux) size = 20; - echo $w->input('tva_label', $tva_array[$index]['tva_label']) - ?>
      Taux de tva size = 5; - echo $w->input('tva_rate', $tva_array[$index]['tva_rate']) - ?>
      Commentaire heigh = 5; - $w->width = 50; - echo $w->input('tva_comment', $tva_array[$index]['tva_comment']) - ?>
      Poste comptable utilisés format :debit,credit size = 20; - echo $w->input('tva_poste', $tva_array[$index]['tva_poste']) - ?>
      Utilisé au débit et au crédit afin d'annuler cette tva selected=$tva_array[$index]['tva_both_side']; - $w->size = 20; - echo $w->input('both', '') - ?>
      - - -
      - - '; -?> diff --git a/sources/include/user.inc.php b/sources/include/user.inc.php deleted file mode 100644 index 0d75f2a..0000000 --- a/sources/include/user.inc.php +++ /dev/null @@ -1,180 +0,0 @@ -'; -/******************************************************/ -// Add user -/******************************************************/ -if ( isset ($_POST["ADD"]) ) -{ - $cn=new Database(); - $pass5=md5($_POST['PASS']); - $new_user=new User($cn,0); - $new_user->first_name=HtmlInput::default_value_post('FNAME',''); - $new_user->last_name=HtmlInput::default_value_post('LNAME',''); - $login=HtmlInput::default_value_post('LOGIN',''); - $login=str_replace("'","",$login); - $login=str_replace('"',"",$login); - $login=str_replace(" ","",$login); - $login=strtolower($login); - $new_user->login=$login; - $new_user->pass=$pass5; - $new_user->email=HtmlInput::default_value_post('EMAIL',''); - if ( trim($login)=="") - { - alert(_("Le login ne peut pas être vide")); - } - else - { - $new_user->insert(); - $new_user->load(); - $_REQUEST['use_id']=$new_user->id; - require_once NOALYSS_INCLUDE.'/user_detail.inc.php'; - return; - - } -} //SET login - -// View user detail -if ( isset($_REQUEST['det'])) -{ - require_once NOALYSS_INCLUDE.'/user_detail.inc.php'; - - return; -} -?> - - - -'; -echo HtmlInput::button_action(_("Ajout utilisateur"), "$('create_user').show();","cu"); -echo '

      '; -// Show all the existing user on 7 columns -$repo=new Dossier(0); -/******************************************************/ -// Detail of a user -/******************************************************/ - - - -$compteur=0; -$header=new Sort_Table(); -$url=basename($_SERVER['PHP_SELF'])."?action=".$_REQUEST['action']; -$header->add(_("Login"), $url," order by use_login asc", "order by use_login desc","la", "ld"); -$header->add(_("Nom"), $url," order by use_name asc,use_first_name asc", "order by use_name desc,use_first_name desc","na", "nd"); -$header->add(_('Dossier'),$url,' order by ag_dossier asc','order by ag_dossier desc', - 'da','dd'); -$header->add(_("Actif"), $url," order by use_active asc", "order by use_active desc","aa", "ad"); -$ord=(isset($_REQUEST['ord']))?$_REQUEST['ord']:'la'; -$sql=$header->get_sql_order($ord); - -$a_user=$repo->get_user_folder($sql); - -if ( !empty ($a_user) ) -{ - echo ''; - echo _('Filtre').HtmlInput::infobulle(22); - echo HtmlInput::filter_table("user", "0,1,2,5","1"); - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo th(_("Prénom")); - echo ''; - echo ""; - echo ''; - echo ''; - - foreach ( $a_user as $r_user) - { - $compteur++; - $class=($compteur%2==0)?"odd":"even"; - - echo ""; - if ( $r_user['use_active'] == 0 ) - { - $Active=$g_failed; - } - else - { - $Active=$g_succeed; - } - $det_url=$url."&det&use_id=".$r_user['use_id']; - echo ""; - - echo td($r_user['use_name']); - echo td($r_user['use_first_name']); - echo td($Active); - $type=($r_user['use_admin']==1)?_("Administrateur"):_("Utilisateur"); - echo ""; - echo td($r_user['ag_dossier']); - echo ''; - }// foreach - echo '
      '.$header->get_header(0).''.$header->get_header(1).''.$header->get_header(3).'"._('Type')."'.$header->get_header(2).'
      "; - echo HtmlInput::anchor($r_user['use_login'],$det_url); - echo "".$type."
      '; -} // $cn != null -?> - -

      6yQ8Ov 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 z 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 pY*n~2EM4SH~N!VxIe@w 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

    45. -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�Z*cgcU+xX-B5Y!_4h(vT0YYnh^1 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

      \ No newline at end of file diff --git a/sources/include/user_common.php b/sources/include/user_common.php deleted file mode 100644 index aa8f67b..0000000 --- a/sources/include/user_common.php +++ /dev/null @@ -1,248 +0,0 @@ -exec_sql("select jr_valid from jrn where jr_grpt_id=$p_grpt_id"); - - if ( ( $M = Database::num_row($Res)) == 0 ) return 0; - - $a=Database::fetch_array($Res,0); - - if ( $a['jr_valid'] == 't') return 1; - if ( $a['jr_valid'] == 'f') return 0; - - echo_error ("Invalid result = ".$a['result']); - - -} - -/*! - ************************************************** - *\brief - * Create a navigation_bar (pagesize) - * - * \param $p_offset first record number - * \param $p_line total of returned row - * \param $p_size current g_pagesize user's preference - * \param $p_page number of the page where the user is - * \param $p_javascript javascript code to add - * \note example : -\verbatim - $step=$_SESSION['g_pagesize']; - $page=(isset($_GET['offset']))?$_GET['page']:1; - $offset=(isset($_GET['offset']))?$_GET['offset']:0; - - list ($max_ligne,$list)=ListJrn($cn,$_GET['p_jrn'],$sql,null,$offset,1); - $bar=navigation_bar($offset,$max_ligne,$step,$page); -\endverbatim - * \return string with the nav. bar - */ -function navigation_bar($p_offset,$p_line,$p_size=0,$p_page=1,$p_javascript="") -{ - // if the pagesize is unlimited return "" - // in that case there is no nav. bar - if ( $_SESSION['g_pagesize'] == -1 ) return ""; - if ( $p_size==0) - { - $p_size= $_SESSION['g_pagesize']; - } - // if there is no row return an empty string - if ( $p_line == 0 ) return ""; - - // Clean url, cut away variable coming frm here - $url=cleanUrl(); - // action to clean - $url=str_replace('&p_action=delete','',$url); - - // compute max of page - $nb_page=($p_line-($p_line%$p_size))/$p_size; - // if something remains - if ( $p_line % $p_size != 0 ) $nb_page+=1; - - // if max page == 1 then return a empty string - if ( $nb_page == 1) return ""; - - // restore the sort - if ( isset($_GET['o'])) - $url=$url.'&o='.$_GET['o']; - - $r=""; - // previous - if ($p_page !=1) - { - $e=$p_page-1; - $step=$p_size; - $offset=($e-1)*$step; - - $r=''; - $r.=" ←"; - // $r.=''; - $r.="  "; - } - //---------------------------------------------------------------------- - // Create a partial bar - // if current page < 11 show 1 to 20 - // otherwise show $p_page -10 to $p_page + 10 - //---------------------------------------------------------------------- - $start_bar=($p_page < 11 )?1:$p_page-10; - $end_bar =($p_page < 11 )?20:$p_page+10; - $end_bar =($end_bar > $nb_page )?$nb_page:$end_bar; - - $sep=""; - // Create the bar - for ($e=$start_bar;$e<=$end_bar;$e++) - { - // do not included current page - if ( $e != $p_page ) - { - $step=$p_size; - $offset=($e-1)*$step; - - $go=$_SERVER['PHP_SELF']."?".$url."&offset=$offset&step=$step&page=$e&size=$step"; - $r.=$sep; - $r.=sprintf('%d ',$go,$p_javascript,$e); - $sep=" ‧ "; - } - else - { - $r.=$sep; - $r.=" [ $e ] "; - $sep=" ‧ "; - } //else - } //for - // next - - if ($p_page !=$nb_page) - { - // If we are not at the last page show the button next - $e=$p_page+1; - $step=$p_size; - $offset=($e-1)*$step; - - $r.=' '; - $r.="→"; - //$r.=''; - $r.=""; - } - - - return $r; -} - -/*! - * \brief Clean the url, remove the $_GET offset,step, page and size - * \param none - * - * \return the cleaned url - */ - -function CleanUrl() -{ - // Compute the url - $url=""; - $and=""; - $get=$_GET; - if ( isset ($get) ) - { - foreach ($get as $name=>$value ) - { - // we clean the parameter offset, step, page and size - if ( ! in_array($name,array('offset','step','page','size','s','o','r_jrn'))) - { - $url.=$and.$name."=".$value; - $and="&"; - }// if - }//foreach - if ( isset($_GET['r_jrn'])) - { - $r_jrn=$_GET['r_jrn']; - if (count($r_jrn) > 0 ) - { - foreach ($r_jrn as $key=>$value) - { - $url.=$and."r_jrn[$key]=".$value; - $and="&"; - } - } - } - }// if - return $url; -} -function redirect($p_string,$p_time=0) -{ - if (strpos( $p_string,'?') == 0 ) { - $p_string = $p_string.'?v='.microtime(true); - } - echo ' Connecting... '; -} -/*!\brief remove the useless space, change comma by period and try to return - * a number - *\param $p_num number to format - *\return the formatted number - */ -function toNumber($p_num) -{ - $p_num=trim($p_num); - if ($p_num=='') return 0; - $p_num=str_replace("'",'',$p_num); - $p_num=str_replace(',','.',$p_num); - return $p_num; -} -/** - * Check that all the index are in the array, used by function to check if - * the array contains the needed variables before an extract - * @param type $p_array array to check - * @param type $needed string containing variable separated by comma - * @throws Exception - */ -function check_parameter($p_array,$p_needed) -{ - $needed =explode(',',$p_needed); - for ($e=0;$e diff --git a/sources/include/user_detail.inc.php b/sources/include/user_detail.inc.php deleted file mode 100644 index 52e4901..0000000 --- a/sources/include/user_detail.inc.php +++ /dev/null @@ -1,255 +0,0 @@ -id == false) -{ - // Message d'erreur - html_page_stop(); -} - -/* - * Update user changes - */ -$sbaction=HtmlInput::default_value_post('sbaction', ""); -if ($sbaction == "save") -{ - $uid = $_POST['UID']; - - // Update User - $cn = new Database(); - $UserChange = new User($cn, $uid); - - if ($UserChange->load() == -1) - { - alert(_("Cet utilisateur n'existe pas")); - } - else - { - $UserChange->first_name =HtmlInput::default_value_post('fname',null); - $UserChange->last_name = HtmlInput::default_value_post('lname',null); - $UserChange->active = HtmlInput::default_value_post('Actif',-1); - $UserChange->admin = HtmlInput::default_value_post('Admin',-1); - $UserChange->email = HtmlInput::default_value_post('email',null); - if ($UserChange->active ==-1 || $UserChange->admin ==-1) - { - die ('Missing data'); - } - else if ( trim($_POST['password'])<>'') - { - $UserChange->pass = md5($_POST['password']); - $UserChange->save(); - } - else - { - $UserChange->pass=$UserChange->password; - $UserChange->save(); - } - - } -} -else if ($sbaction == "delete") -{ -// -// Delete the user -// - $cn = new Database(); - $Res = $cn->exec_sql("delete from jnt_use_dos where use_id=$1", array($uid)); - $Res = $cn->exec_sql("delete from ac_users where use_id=$1", array($uid)); - - echo "

      Utilisateur " . h($_POST['fname']) . " " . h($_POST['lname']) . " est effacé

      "; - require_once NOALYSS_INCLUDE.'/class_iselect.php'; - require_once NOALYSS_INCLUDE.'/user.inc.php'; - return; -} -$UserChange->load(); -$it_pass=new IText('password'); -$it_pass->value=""; -?> -
      - - - - - -login', $UserChange->login); ?> - - - - - - - prénom - - - - - - - - - - - - - - - - - -
      %s
      - ', $UserChange->name); ?> -
      - ', $UserChange->first_name); - ?> -
      - - - -
      - Mot de passe :Laisser à VIDE pour ne PAS le changer - - input();?> -
      - - - value=array( - array('value'=>0,'label'=>_('Non')), - array('value'=>1,'label'=>_('Oui')) - ); - $select_actif->selected=$UserChange->active; - echo $select_actif->input(); - ?> -
      - - - value=array( - array('value'=>0,'label'=>_('Utilisateur normal')), - array('value'=>1,'label'=>_('Administrateur')) - ); - $select_admin->selected=$UserChange->admin; - echo $select_admin->input(); - ?> -
      - - - - - -
      -admin == 0 ) : -?> - -

      Accès aux dossiers

      -

      - Les autres droits doivent être réglés dans les dossiers (paramètre->sécurité), le fait de changer un utilisateur d'administrateur à utilisateur - normal ne change pas le profil administrateur dans les dossiers. - Il faut aller dans CFGSECURITY pour diminuer ses privilèges. -

      - - 'X', 'label' => 'Aucun Accès'), - array('value' => 'R', 'label' => 'Utilisateur normal') -); -$repo = new Dossier(0); -if ( $repo->count() == 0) -{ - echo hb('* Aucun Dossier *'); - echo '
      '; - return; -} - -$Dossier = $repo->show_dossier('R',$UserChange->login); - -$mod_user = new User(new Database(), $uid); -?> - - - - - - - - - -
      - - - - - id},{$rDossier['dos_id']});\"");?> -
      - id});\""); - ?> - admin==1 it means he can access all databases - // - else : - ?> - - - -
      - - - - diff --git a/sources/include/user_menu.php b/sources/include/user_menu.php deleted file mode 100644 index 76b8a37..0000000 --- a/sources/include/user_menu.php +++ /dev/null @@ -1,164 +0,0 @@ -'; - echo ''; - - echo ' - - '; - $Res=$cn->exec_sql("select fd_id,fd_label from fiche_def order by fd_label"); - $Max=Database::num_row($Res); - for ( $i=0; $i < $Max;$i++) - { - $l_line=Database::fetch_array($Res,$i); - printf(' - - ', - $l_line['fd_id'], - $str_dossier, - $l_line['fd_label'], - $l_line['fd_id'], - $str_dossier - - ); - } - echo "
      - '._('Création').''._('Recherche').'
      - %s - Liste -
      "; - echo '
      '; -} -/*! MenuAdmin */ -/* \brief show the menu for user/database management -/* -/* \return HTML code with the menu -*/ - -function MenuAdmin() -{ - $def=-1; - if (isset($_REQUEST['UID'])) - $def=0; - if ( isset ($_REQUEST['action'])) - { - switch ($_REQUEST['action']) - { - case 'user_mgt': - $def=0; - break; - case 'dossier_mgt': - $def=1; - break; - case 'modele_mgt': - $def=2; - break; - case 'audit_log': - $def=4; - break; - case 'restore'; - $def=3; - break; - } - } - if (!defined("MULTI")||(defined("MULTI")&&MULTI==1)) - { - $item=array (array("admin_repo.php?action=user_mgt",_("Utilisateurs"),_('Gestion des utilisateurs'),0), - array("admin_repo.php?action=dossier_mgt",_("Dossiers"),_('Gestion des dossiers'),1), - array("admin_repo.php?action=modele_mgt",_("Modèles"),_('Gestion des modèles'),2), - array("admin_repo.php?action=restore",_("Restaure"),_("Restaure une base de données"),3), - array("admin_repo.php?action=audit_log",_("Audit"),_("Utilisateurs qui se sont connectés"),4), - array("login.php",_("Accueil")) - ); - } - else - { - $item=array (array("admin_repo.php?action=user_mgt",_("Utilisateurs"),_('Gestion des utilisateurs'),0), - array("admin_repo.php?action=audit_log",_("Audit"),_("Utilisateurs qui se sont connectés"),4), - array("login.php",_("Accueil")) - ); - - } - $menu=ShowItem($item,'H',"mtitle","mtitle",$def,' style="width:80%;margin-left:10%" '); - return $menu; -} - -/*! - * \brief Show the menu from the pcmn page - * - * \param $p_start class start default=1 - * - * - * - * \return nothing - * - * - */ - -function menu_acc_plan($p_start=1) -{ - $base="?ac=".$_REQUEST['ac']; - $str_dossier="&".dossier::get(); - for ($i=0;$i<10;$i++) { $class[$i]="tabs";} - $class[$p_start]="tabs_selected"; - $idx=0; - ?> - -get_exercice(); -echo '
      '; - -$sql_year=" and j_tech_per in (select p_id from parm_periode where p_exercice='".$g_user->get_exercice()."')"; -echo '

      '._('Vérification des journaux').'

      '; - -$sql="select jrn_def_id,jrn_def_name from jrn_def"; -$res=$cn->exec_sql($sql); -$jrn=Database::fetch_all($res); -echo ''; -echo tr(th(_('Journal')).th(_('Débit'),' style="display:right"').th(_("Crédit"),' style="display:right"').th(_("Différence"),' style="display:right"').th('')); -$ix=0; -foreach ($jrn as $l) -{ - $id=$l['jrn_def_id']; - $name=$l['jrn_def_name']; - $deb=$cn->get_value("select sum (j_montant) from jrnx where j_debit='t' and j_jrn_def=$id $sql_year "); - $cred=$cn->get_value("select sum (j_montant) from jrnx where j_debit='f' and j_jrn_def=$id $sql_year "); - - if ( $cred == $deb ) - { - $result =$g_succeed; -} -else -{ - $result = $g_failed; -} - $class=($ix%2==0)?'odd':"even"; - print tr(td($name).td(nbm($deb),'class="num"').td(nbm($cred),'class="num"').td(nbm($result),'class="num"').td($result),"class=\"$class\""); - $ix++; - -} - -$deb=$cn->get_value("select sum (j_montant) from jrnx where j_debit='t' $sql_year "); -$cred=$cn->get_value("select sum (j_montant) from jrnx where j_debit='f' $sql_year "); - -if ( $cred == $deb ) -{ - $result =$g_succeed; -} -else -{ - $result = $g_failed; -} -$class=($ix%2==0)?'odd':"even"; -print tr(td(_('Grand livre')).td(nbm($deb),' class="num"').td(nbm($cred),' class="num"').td(nbm($result),' class="num"') - .td($result),"class=\"$class\""); - -echo '
      '; -echo '
      '; -echo '
      '; -echo '

      '._('Vérification des comptes').'

      '; -$bilan=new Acc_Bilan($cn); -$periode=new Periode($cn); -list ($start_periode,$end_periode)=$periode->get_limit($exercice); -$bilan->from=$start_periode->p_id; -$bilan->to=$end_periode->p_id; -$bilan->verify(); -echo '
      '; -?> -
      -
      -

      - ';?> -

      -

      - -

      - get_exercice()."')"; - $sql_year_source=" source.j_tech_per in (select p_id from parm_periode where p_exercice='".$g_user->get_exercice()."')"; - - $sql_qcode="select distinct source.f_id,source.j_qcode - from jrnx as source ,jrnx as target - where - source.j_id < target.j_id - and source.j_poste<>target.j_poste - and source.j_qcode = target.j_qcode - and $sql_year_source and $sql_year_target - "; - $sql_poste="select distinct j_poste,pcm_lib from jrnx join tmp_pcmn on (pcm_val=j_poste) where j_qcode =$1 $sql_year"; - $a_qcode=$cn->get_array($sql_qcode); - $res=$cn->prepare('get_poste',$sql_poste); - echo _("Résultat"); - if (count($a_qcode) == 0) { echo " OK $g_succeed";} else { echo " "._('Attention ').$g_failed;} - ?> -
        - execute('get_poste',array($a_qcode[$i]['j_qcode'])); - ?> -
      1. - -
      2. -
          - -
        • - - -
        • - -
        - -
      - -

      -

      - -

      - -get_array($sql_account_used); -$nb_account_used=count ($a_account_used); - if ( $nb_account_used == 0 ) - { - echo _('Résultat')." ".$g_succeed; - } - $ret=$cn->prepare('get_operation',$sql_concerned_operation); - -?> - - -

      - -

      - execute('get_operation',array($a_account_used[$i]['f_id'])); - $a_operation=Database::fetch_all($ret_operation); - $nb_operation=count($a_operation); - ?> - - - - - - - - - -
      - - - - - - - -
      - -
      \ No newline at end of file diff --git a/sources/license.txt b/sources/license.txt deleted file mode 100644 index 295c64d..0000000 --- a/sources/license.txt +++ /dev/null @@ -1,138 +0,0 @@ -GNU GENERAL PUBLIC LICENSE - -Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. - -Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. - -Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and modification follow. -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: - - * a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. - - * b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. - -* c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. - -3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: - - * a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - - * b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - -* c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. - -If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. - -5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. - -This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. - -9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - -one line to give the program's name and an idea of what it does. -Copyright (C) yyyy name of author - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this when it starts in an interactive mode: - -Gnomovision version 69, Copyright (C) year name of author -Gnomovision comes with ABSOLUTELY NO WARRANTY; for details -type `show w'. This is free software, and you are welcome -to redistribute it under certain conditions; type `show c' -for details. - -The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: - -Yoyodyne, Inc., hereby disclaims all copyright -interest in the program `Gnomovision' -(which makes passes at compilers) written -by James Hacker. - -signature of Ty Coon, 1 April 1989 -Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. diff --git a/sources/patches/.gitignore b/sources/patches/.gitignore new file mode 100644 index 0000000..783a4ae --- /dev/null +++ b/sources/patches/.gitignore @@ -0,0 +1,2 @@ +*~ +*.sw[op] diff --git a/sources/scenario/ajax-add-card-category.php b/sources/scenario/ajax-add-card-category.php deleted file mode 100644 index 3988aeb..0000000 --- a/sources/scenario/ajax-add-card-category.php +++ /dev/null @@ -1,15 +0,0 @@ - '42', - 'ctl' => 'select_card_div', - 'op' => 'st', - 'fil' => '-1', - 'ledger' => '2', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'ajax_card.php'; diff --git a/sources/scenario/ajax-detail-operation1.php b/sources/scenario/ajax-detail-operation1.php deleted file mode 100644 index 8245ac1..0000000 --- a/sources/scenario/ajax-detail-operation1.php +++ /dev/null @@ -1,14 +0,0 @@ - '27', - 'act' => 'de', - 'jr_id' => '2856', - 'div' => 'det2', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'ajax_ledger.php'; diff --git a/sources/scenario/ajax-detail-operation2.php b/sources/scenario/ajax-detail-operation2.php deleted file mode 100644 index 851d0f8..0000000 --- a/sources/scenario/ajax-detail-operation2.php +++ /dev/null @@ -1,14 +0,0 @@ - '27', - 'act' => 'de', - 'jr_id' => '2870', - 'div' => 'det2', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'ajax_ledger.php'; diff --git a/sources/scenario/ajax-detail-operation3.php b/sources/scenario/ajax-detail-operation3.php deleted file mode 100644 index 9a99ed6..0000000 --- a/sources/scenario/ajax-detail-operation3.php +++ /dev/null @@ -1,14 +0,0 @@ - '27', - 'act' => 'de', - 'jr_id' => '3532', - 'div' => 'det2', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'ajax_ledger.php'; diff --git a/sources/scenario/ajax-detail-operation4.php b/sources/scenario/ajax-detail-operation4.php deleted file mode 100644 index aaa2428..0000000 --- a/sources/scenario/ajax-detail-operation4.php +++ /dev/null @@ -1,14 +0,0 @@ - '27', - 'act' => 'de', - 'jr_id' => '2826', - 'div' => 'det2', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'ajax_ledger.php'; diff --git a/sources/scenario/ajax-save-operation.php b/sources/scenario/ajax-save-operation.php deleted file mode 100644 index c12c38a..0000000 --- a/sources/scenario/ajax-save-operation.php +++ /dev/null @@ -1,35 +0,0 @@ - 'det2', - 'jr_id' => '2856', - 'gDossier' => '27', - 'p_date' => '05.12.2013', - 'p_ech' => '', - 'p_date_paid' => '', - 'npj' => 'ACH607', - 'lib' => 'Consommable, ptit matériel', - 'jrn_note' => '', - 'j_id' => - array ( - 0 => '7629', - 1 => '7630', - ), - 'BON_COMMANDE' => '', - 'OTHER' => '', - 'raptdet2' => '', - 'related' => '327,231,330', - 'Fermer' => 'Fermer', - 'save' => 'Sauver', - 'Effacer' => 'Effacer', - 'bextdet2' => 'Extourner', - 'rapt' => '', - 'div' => 'det2', - 'act' => 'save', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'ajax_ledger.php'; diff --git a/sources/scenario/readme.txt b/sources/scenario/readme.txt deleted file mode 100644 index 6bd9065..0000000 --- a/sources/scenario/readme.txt +++ /dev/null @@ -1,36 +0,0 @@ -* - * Copyright (C) 2014 Dany De Bontridder - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -Afin d'avoir les scénarios pour les rejouer avec test.php. - -Dans include/constant.php, changer -define ('LOGINPUT',false); par -define ('LOGINPUT',true); - -Ensuite, aller dans votre dossier de test et faites une action (une vente, un achat...), vous devez ouvrir le fichier test.php -ce que vous venez de faire a été sauvé dans le répertoire défini par $_ENV['TMP'], (sous linux il s'agit de /tmp )avec un nom ressemblant à scenario-.php - -Vous devez d'abord copier ce fichier dans ce répertoire-ci - -Si vous pointez votre browser sur noalyss/html/test.php (après avoir créé le fichier authorized_debug) en cliquant sur le -lien avec le nom de fichier vous pourrez rejouer l'action. Vous pouvez améliorer la description en changeant l'annotation //@description: - -Vous pouvez aussi utiliser un nom de fichier plus parlant. - -L'objectif étant de pouvoir tester et de rejouer facilement les actions que vous avez faites. - - diff --git a/sources/scenario/scenario-1415994947.php b/sources/scenario/scenario-1415994947.php deleted file mode 100644 index 955b524..0000000 --- a/sources/scenario/scenario-1415994947.php +++ /dev/null @@ -1,17 +0,0 @@ - '42', - 'ac' => 'COMPTA/CARD', - 'cat' => '3', - 'histo' => '-1', - 'start' => '01.01.2014', - 'end' => '31.12.2014', - 'cat_display' => 'Recherche', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'fiche.inc.php'; diff --git a/sources/scenario/scenario-1415994966.php b/sources/scenario/scenario-1415994966.php deleted file mode 100644 index 9c00416..0000000 --- a/sources/scenario/scenario-1415994966.php +++ /dev/null @@ -1,17 +0,0 @@ - '42', - 'ac' => 'COMPTA/CARD', - 'cat' => '2', - 'histo' => '-1', - 'start' => '01.01.2014', - 'end' => '31.12.2014', - 'cat_display' => 'Recherche', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'fiche.inc.php'; diff --git a/sources/scenario/scenario-1415995071.php b/sources/scenario/scenario-1415995071.php deleted file mode 100644 index 670a2ec..0000000 --- a/sources/scenario/scenario-1415995071.php +++ /dev/null @@ -1,12 +0,0 @@ - '42', - 'ac' => 'COMPTA/VENMENU/VEN', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ven.inc.php'; diff --git a/sources/scenario/scenario-1415995185.php b/sources/scenario/scenario-1415995185.php deleted file mode 100644 index 1accb43..0000000 --- a/sources/scenario/scenario-1415995185.php +++ /dev/null @@ -1,43 +0,0 @@ - '42', - 'ac' => 'COMPTA/VENMENU/VEN', -); -$_POST=array ( - 'ledger_type' => 'VEN', - 'ac' => 'COMPTA/VENMENU/VEN', - 'sa' => 'p', - 'gDossier' => '42', - 'nb_item' => '2', - 'p_jrn' => '2', - 'e_date' => '14.11.2014', - 'e_ech' => '', - 'e_client' => 'CLIENT1 ', - 'e_pj' => 'VEN1', - 'e_pj_suggest' => 'VEN1', - 'e_comm' => 'Première vente', - 'e_march0' => 'DEPLAC', - 'e_march0_price' => '120', - 'e_quant0' => '1', - 'htva_march0' => '120', - 'e_march0_tva_id' => '1', - 'e_march0_tva_amount' => '25.2', - 'tva_march0' => '25.2', - 'tvac_march0' => '145.2', - 'e_march1' => '', - 'e_march1_price' => '', - 'e_quant1' => '1', - 'htva_march1' => '0', - 'e_march1_tva_id' => '', - 'e_march1_tva_amount' => '', - 'tva_march1' => '0', - 'tvac_march1' => '0', - 'jrn_type' => 'VEN', - 'e_mp' => '0', - 'view_invoice' => 'Enregistrer', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ven.inc.php'; diff --git a/sources/scenario/scenario-1415995188.php b/sources/scenario/scenario-1415995188.php deleted file mode 100644 index 5a4f1d2..0000000 --- a/sources/scenario/scenario-1415995188.php +++ /dev/null @@ -1,40 +0,0 @@ - '42', - 'ac' => 'COMPTA/VENMENU/VEN', -); -$_POST=array ( - 'gDossier' => '42', - 'bon_comm' => '', - 'other_info' => '', - 'e_client' => 'CLIENT1 ', - 'nb_item' => '2', - 'p_jrn' => '2', - 'mt' => '1415995185.7619', - 'e_comm' => 'Première vente', - 'e_date' => '14.11.2014', - 'e_ech' => '', - 'e_pj' => 'VEN1', - 'e_pj_suggest' => 'VEN1', - 'e_mp' => '0', - 'jrn_type' => 'VEN', - 'e_march0' => 'DEPLAC', - 'e_march0_price' => '120', - 'e_march0_tva_id' => '1', - 'e_march0_tva_amount' => '25.2', - 'e_quant0' => '1', - 'e_march1' => '', - 'e_march1_price' => '', - 'e_march1_tva_id' => '', - 'e_march1_tva_amount' => '', - 'e_quant1' => '1', - 'ac' => 'COMPTA/VENMENU/VEN', - 'opd_name' => '', - 'od_description' => '', - 'record' => 'Enregistrement', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ven.inc.php'; diff --git a/sources/scenario/scenario-1415995192.php b/sources/scenario/scenario-1415995192.php deleted file mode 100644 index dc3340c..0000000 --- a/sources/scenario/scenario-1415995192.php +++ /dev/null @@ -1,12 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUACH/ACH', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ach.inc.php'; diff --git a/sources/scenario/scenario-1415995229.php b/sources/scenario/scenario-1415995229.php deleted file mode 100644 index 89776e0..0000000 --- a/sources/scenario/scenario-1415995229.php +++ /dev/null @@ -1,34 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUACH/ACH', -); -$_POST=array ( - 'gDossier' => '42', - 'nb_item' => '1', - 'p_jrn' => '3', - 'e_date' => '01.03.2014', - 'e_ech' => '', - 'e_client' => 'IMMOB', - 'e_pj' => 'ACH1', - 'e_pj_suggest' => 'ACH1', - 'e_comm' => 'Loyer', - 'e_march0' => 'LOYER', - 'e_march0_price' => '2560', - 'e_quant0' => '1', - 'htva_march0' => '2560', - 'e_march0_tva_id' => '4', - 'e_march0_tva_amount' => '0', - 'tva_march0' => '0', - 'tvac_march0' => '2560', - 'jrn_type' => 'ACH', - 'p_action' => 'ach', - 'sa' => 'p', - 'e_mp' => '0', - 'view_invoice' => 'Enregistrer', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ach.inc.php'; diff --git a/sources/scenario/scenario-1415995238.php b/sources/scenario/scenario-1415995238.php deleted file mode 100644 index 82d40e5..0000000 --- a/sources/scenario/scenario-1415995238.php +++ /dev/null @@ -1,34 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUACH/ACH', -); -$_POST=array ( - 'gDossier' => '42', - 'nb_item' => '1', - 'p_jrn' => '3', - 'e_date' => '01.01.2014', - 'e_ech' => '', - 'e_client' => 'IMMOB', - 'e_pj' => 'ACH1', - 'e_pj_suggest' => 'ACH1', - 'e_comm' => 'Loyer', - 'e_march0' => 'LOYER', - 'e_march0_price' => '2560', - 'e_quant0' => '1', - 'htva_march0' => '2560', - 'e_march0_tva_id' => '4', - 'e_march0_tva_amount' => '0', - 'tva_march0' => '0', - 'tvac_march0' => '2560', - 'jrn_type' => 'ACH', - 'p_action' => 'ach', - 'sa' => 'p', - 'e_mp' => '0', - 'view_invoice' => 'Enregistrer', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ach.inc.php'; diff --git a/sources/scenario/scenario-1415995254.php b/sources/scenario/scenario-1415995254.php deleted file mode 100644 index 6f70f6b..0000000 --- a/sources/scenario/scenario-1415995254.php +++ /dev/null @@ -1,35 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUACH/ACH', -); -$_POST=array ( - 'gDossier' => '42', - 'e_client' => 'IMMOB', - 'nb_item' => '1', - 'p_jrn' => '3', - 'e_comm' => 'Loyer', - 'e_date' => '01.01.2014', - 'e_ech' => '', - 'jrn_type' => 'ACH', - 'e_pj' => 'ACH1', - 'e_pj_suggest' => 'ACH1', - 'mt' => '1415995238.7737', - 'e_mp' => '0', - 'e_march0' => 'LOYER', - 'e_march0_price' => '2560', - 'e_march0_tva_id' => '4', - 'e_march0_tva_amount' => '0', - 'e_quant0' => '1', - 'bon_comm' => '', - 'other_info' => '', - 'ac' => 'COMPTA/MENUACH/ACH', - 'opd_name' => 'Paiement loyer', - 'od_description' => 'Paiement du loyer', - 'record' => 'Enregistrement', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ach.inc.php'; diff --git a/sources/scenario/scenario-1415995260.php b/sources/scenario/scenario-1415995260.php deleted file mode 100644 index 41d4c3c..0000000 --- a/sources/scenario/scenario-1415995260.php +++ /dev/null @@ -1,14 +0,0 @@ - '3', - 'ac' => 'COMPTA/MENUACH/ACH', - 'gDossier' => '42', - 'pre_def' => '1', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ach.inc.php'; diff --git a/sources/scenario/scenario-1415995262.php b/sources/scenario/scenario-1415995262.php deleted file mode 100644 index 8401f52..0000000 --- a/sources/scenario/scenario-1415995262.php +++ /dev/null @@ -1,106 +0,0 @@ - '3', - 'ac' => 'COMPTA/MENUACH/ACH', - 'gDossier' => '42', - 'pre_def' => '1', -); -$_POST=array ( - 'gDossier' => '42', - 'nb_item' => '10', - 'p_jrn' => '3', - 'e_date' => '01.01.2014', - 'e_ech' => '', - 'e_client' => 'IMMOB', - 'e_pj' => 'ACH2', - 'e_pj_suggest' => 'ACH2', - 'e_comm' => 'Paiement loyer', - 'e_march0' => 'LOYER', - 'e_march0_price' => '2560.0000', - 'e_quant0' => '1.0000', - 'htva_march0' => '2560', - 'e_march0_tva_id' => '4', - 'e_march0_tva_amount' => '0', - 'tva_march0' => '0', - 'tvac_march0' => '2560', - 'e_march1' => '', - 'e_march1_price' => '', - 'e_quant1' => '1', - 'htva_march1' => '0', - 'e_march1_tva_id' => '', - 'e_march1_tva_amount' => '', - 'tva_march1' => '0', - 'tvac_march1' => '0', - 'e_march2' => '', - 'e_march2_price' => '', - 'e_quant2' => '1', - 'htva_march2' => '0', - 'e_march2_tva_id' => '', - 'e_march2_tva_amount' => '', - 'tva_march2' => '0', - 'tvac_march2' => '0', - 'e_march3' => '', - 'e_march3_price' => '', - 'e_quant3' => '1', - 'htva_march3' => '0', - 'e_march3_tva_id' => '', - 'e_march3_tva_amount' => '', - 'tva_march3' => '0', - 'tvac_march3' => '0', - 'e_march4' => '', - 'e_march4_price' => '', - 'e_quant4' => '1', - 'htva_march4' => '0', - 'e_march4_tva_id' => '', - 'e_march4_tva_amount' => '', - 'tva_march4' => '0', - 'tvac_march4' => '0', - 'e_march5' => '', - 'e_march5_price' => '', - 'e_quant5' => '1', - 'htva_march5' => '0', - 'e_march5_tva_id' => '', - 'e_march5_tva_amount' => '', - 'tva_march5' => '0', - 'tvac_march5' => '0', - 'e_march6' => '', - 'e_march6_price' => '', - 'e_quant6' => '1', - 'htva_march6' => '0', - 'e_march6_tva_id' => '', - 'e_march6_tva_amount' => '', - 'tva_march6' => '0', - 'tvac_march6' => '0', - 'e_march7' => '', - 'e_march7_price' => '', - 'e_quant7' => '1', - 'htva_march7' => '0', - 'e_march7_tva_id' => '', - 'e_march7_tva_amount' => '', - 'tva_march7' => '0', - 'tvac_march7' => '0', - 'e_march8' => '', - 'e_march8_price' => '', - 'e_quant8' => '1', - 'htva_march8' => '0', - 'e_march8_tva_id' => '', - 'e_march8_tva_amount' => '', - 'tva_march8' => '0', - 'tvac_march8' => '0', - 'e_march9' => '', - 'e_march9_price' => '', - 'e_quant9' => '1', - 'htva_march9' => '0', - 'e_march9_tva_id' => '', - 'e_march9_tva_amount' => '', - 'tva_march9' => '0', - 'tvac_march9' => '0', - 'jrn_type' => 'ACH', - 'e_mp' => '0', - 'view_invoice' => 'Enregistrer', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ach.inc.php'; diff --git a/sources/scenario/scenario-1415995277.php b/sources/scenario/scenario-1415995277.php deleted file mode 100644 index 64dc924..0000000 --- a/sources/scenario/scenario-1415995277.php +++ /dev/null @@ -1,108 +0,0 @@ - '3', - 'ac' => 'COMPTA/MENUACH/ACH', - 'gDossier' => '42', - 'pre_def' => '1', -); -$_POST=array ( - 'gDossier' => '42', - 'nb_item' => '10', - 'p_jrn' => '3', - 'e_date' => '01.02.2014', - 'e_ech' => '', - 'e_client' => 'IMMOB', - 'e_pj' => 'ACH2', - 'e_pj_suggest' => 'ACH2', - 'e_comm' => 'Paiement loyer', - 'e_march0' => 'LOYER', - 'e_march0_price' => '2560.0000', - 'e_quant0' => '1.0000', - 'htva_march0' => '2560', - 'e_march0_tva_id' => '4', - 'e_march0_tva_amount' => '0', - 'tva_march0' => '0', - 'tvac_march0' => '2560', - 'e_march1' => '', - 'e_march1_price' => '', - 'e_quant1' => '1', - 'htva_march1' => '0', - 'e_march1_tva_id' => '', - 'e_march1_tva_amount' => '', - 'tva_march1' => '0', - 'tvac_march1' => '0', - 'e_march2' => '', - 'e_march2_price' => '', - 'e_quant2' => '1', - 'htva_march2' => '0', - 'e_march2_tva_id' => '', - 'e_march2_tva_amount' => '', - 'tva_march2' => '0', - 'tvac_march2' => '0', - 'e_march3' => '', - 'e_march3_price' => '', - 'e_quant3' => '1', - 'htva_march3' => '0', - 'e_march3_tva_id' => '', - 'e_march3_tva_amount' => '', - 'tva_march3' => '0', - 'tvac_march3' => '0', - 'e_march4' => '', - 'e_march4_price' => '', - 'e_quant4' => '1', - 'htva_march4' => '0', - 'e_march4_tva_id' => '', - 'e_march4_tva_amount' => '', - 'tva_march4' => '0', - 'tvac_march4' => '0', - 'e_march5' => '', - 'e_march5_price' => '', - 'e_quant5' => '1', - 'htva_march5' => '0', - 'e_march5_tva_id' => '', - 'e_march5_tva_amount' => '', - 'tva_march5' => '0', - 'tvac_march5' => '0', - 'e_march6' => '', - 'e_march6_price' => '', - 'e_quant6' => '1', - 'htva_march6' => '0', - 'e_march6_tva_id' => '', - 'e_march6_tva_amount' => '', - 'tva_march6' => '0', - 'tvac_march6' => '0', - 'e_march7' => '', - 'e_march7_price' => '', - 'e_quant7' => '1', - 'htva_march7' => '0', - 'e_march7_tva_id' => '', - 'e_march7_tva_amount' => '', - 'tva_march7' => '0', - 'tvac_march7' => '0', - 'e_march8' => '', - 'e_march8_price' => '', - 'e_quant8' => '1', - 'htva_march8' => '0', - 'e_march8_tva_id' => '', - 'e_march8_tva_amount' => '', - 'tva_march8' => '0', - 'tvac_march8' => '0', - 'e_march9' => '', - 'e_march9_price' => '', - 'e_quant9' => '1', - 'htva_march9' => '0', - 'e_march9_tva_id' => '', - 'e_march9_tva_amount' => '', - 'tva_march9' => '0', - 'tvac_march9' => '0', - 'jrn_type' => 'ACH', - 'p_action' => 'ach', - 'sa' => 'p', - 'e_mp' => '0', - 'view_invoice' => 'Enregistrer', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ach.inc.php'; diff --git a/sources/scenario/scenario-1415995285.php b/sources/scenario/scenario-1415995285.php deleted file mode 100644 index d8dd41a..0000000 --- a/sources/scenario/scenario-1415995285.php +++ /dev/null @@ -1,11 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUFIN', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); diff --git a/sources/scenario/scenario-1415995301.php b/sources/scenario/scenario-1415995301.php deleted file mode 100644 index 079f791..0000000 --- a/sources/scenario/scenario-1415995301.php +++ /dev/null @@ -1,14 +0,0 @@ - '42', - 'ac' => 'PARAM/CFGLED', - 'sa' => 'detail', - 'p_jrn' => '1', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'cfgledger.inc.php'; diff --git a/sources/scenario/scenario-1415995308.php b/sources/scenario/scenario-1415995308.php deleted file mode 100644 index fa5bf18..0000000 --- a/sources/scenario/scenario-1415995308.php +++ /dev/null @@ -1,33 +0,0 @@ - '42', - 'ac' => 'PARAM/CFGLED', - 'sa' => 'detail', - 'p_jrn' => '1', -); -$_POST=array ( - 'p_jrn' => '1', - 'sa' => 'detail', - 'gDossier' => '42', - 'p_jrn_deb_max_line' => '10', - 'p_ech_lib' => 'echeance', - 'p_jrn_type' => 'FIN', - 'p_jrn_name' => 'Financier', - 'bank' => 'BQ', - 'min_row' => '5', - 'jrn_def_pj_pref' => 'FIN', - 'jrn_def_pj_seq' => '0', - 'p_description' => 'Concerne tous les mouvements financiers (comptes en banque, caisses, visa...)', - 'FICHEDEB' => - array ( - 0 => '3', - 1 => '2', - 2 => '4', - ), - 'update' => 'Sauve', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'cfgledger.inc.php'; diff --git a/sources/scenario/scenario-1415995317.php b/sources/scenario/scenario-1415995317.php deleted file mode 100644 index 9238ff0..0000000 --- a/sources/scenario/scenario-1415995317.php +++ /dev/null @@ -1,12 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUFIN/FIN', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_fin.inc.php'; diff --git a/sources/scenario/scenario-1415995350.php b/sources/scenario/scenario-1415995350.php deleted file mode 100644 index f41c47f..0000000 --- a/sources/scenario/scenario-1415995350.php +++ /dev/null @@ -1,54 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUFIN/FIN', -); -$_POST=array ( - 'ledger_type' => 'fin', - 'ac' => 'COMPTA/MENUFIN/FIN', - 'gDossier' => '42', - 'nb_item' => '5', - 'chdate' => '1', - 'e_date' => '02.01.2014', - 'p_jrn' => '1', - 'e_pj' => 'FIN1', - 'e_pj_suggest' => 'FIN1', - 'first_sold' => '0', - 'last_sold' => '', - 'dateop0' => '', - 'e_other0' => 'IMMOB ', - 'e_other_name0' => 'Immo Bureau', - 'e_other0_comment' => '', - 'e_other0_amount' => '2560', - 'e_concerned0' => '2', - 'dateop1' => '', - 'e_other1' => '', - 'e_other_name1' => '', - 'e_other1_comment' => '', - 'e_other1_amount' => '0', - 'e_concerned1' => '', - 'dateop2' => '', - 'e_other2' => '', - 'e_other_name2' => '', - 'e_other2_comment' => '', - 'e_other2_amount' => '0', - 'e_concerned2' => '', - 'dateop3' => '', - 'e_other3' => '', - 'e_other_name3' => '', - 'e_other3_comment' => '', - 'e_other3_amount' => '0', - 'e_concerned3' => '', - 'dateop4' => '', - 'e_other4' => '', - 'e_other_name4' => '', - 'e_other4_comment' => '', - 'e_other4_amount' => '0', - 'e_concerned4' => '', - 'save' => 'Sauve', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_fin.inc.php'; diff --git a/sources/scenario/scenario-1415995352.php b/sources/scenario/scenario-1415995352.php deleted file mode 100644 index 5abb0c9..0000000 --- a/sources/scenario/scenario-1415995352.php +++ /dev/null @@ -1,50 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUFIN/FIN', -); -$_POST=array ( - 'ac' => 'COMPTA/MENUFIN/FIN', - 'gDossier' => '42', - 'p_jrn' => '1', - 'nb_item' => '5', - 'last_sold' => '', - 'first_sold' => '0', - 'e_pj' => 'FIN1', - 'e_pj_suggest' => 'FIN1', - 'e_date' => '02.01.2014', - 'mt' => '1415995351.0398', - 'sa' => 'n', - 'e_other0' => 'IMMOB ', - 'e_other0_comment' => '', - 'e_other0_amount' => '2560', - 'e_concerned0' => '2', - 'dateop0' => '', - 'chdate' => '1', - 'e_other1' => '', - 'e_other1_comment' => '', - 'e_other1_amount' => '0', - 'e_concerned1' => '', - 'dateop1' => '', - 'e_other2' => '', - 'e_other2_comment' => '', - 'e_other2_amount' => '0', - 'e_concerned2' => '', - 'dateop2' => '', - 'e_other3' => '', - 'e_other3_comment' => '', - 'e_other3_amount' => '0', - 'e_concerned3' => '', - 'dateop3' => '', - 'e_other4' => '', - 'e_other4_comment' => '', - 'e_other4_amount' => '0', - 'e_concerned4' => '', - 'dateop4' => '', - 'confirm' => 'Confirmer', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_fin.inc.php'; diff --git a/sources/scenario/scenario-1415995357.php b/sources/scenario/scenario-1415995357.php deleted file mode 100644 index 925c69a..0000000 --- a/sources/scenario/scenario-1415995357.php +++ /dev/null @@ -1,12 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUODS/ODS', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ods.inc.php'; diff --git a/sources/scenario/scenario-1415995424.php b/sources/scenario/scenario-1415995424.php deleted file mode 100644 index d028bad..0000000 --- a/sources/scenario/scenario-1415995424.php +++ /dev/null @@ -1,12 +0,0 @@ - '42', - 'ac' => 'PARAM/CFGPCMN', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'param_pcmn.inc.php'; diff --git a/sources/scenario/scenario-1415995434.php b/sources/scenario/scenario-1415995434.php deleted file mode 100644 index d698b13..0000000 --- a/sources/scenario/scenario-1415995434.php +++ /dev/null @@ -1,19 +0,0 @@ - '42', - 'ac' => 'PARAM/CFGPCMN', -); -$_POST=array ( - 'p_action' => 'pcmn', - 'gDossier' => '42', - 'p_val' => '4519', - 'p_lib' => 'Compte TVA', - 'p_parent' => '451', - 'p_type' => 'ACT', - 'Ajout' => 'Ajout', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'param_pcmn.inc.php'; diff --git a/sources/scenario/scenario-1415995437.php b/sources/scenario/scenario-1415995437.php deleted file mode 100644 index 4675ee8..0000000 --- a/sources/scenario/scenario-1415995437.php +++ /dev/null @@ -1,13 +0,0 @@ - 'PARAM/CFGPCMN', - 'p_start' => '4', - 'gDossier' => '42', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'param_pcmn.inc.php'; diff --git a/sources/scenario/scenario-1415995449.php b/sources/scenario/scenario-1415995449.php deleted file mode 100644 index 98fdd20..0000000 --- a/sources/scenario/scenario-1415995449.php +++ /dev/null @@ -1,20 +0,0 @@ - 'PARAM/CFGPCMN', - 'p_start' => '4', - 'gDossier' => '42', -); -$_POST=array ( - 'p_valu' => '4519', - 'p_libu' => 'Compte TVA', - 'p_parentu' => '451', - 'p_typeu' => 'PAS', - 'p_oldu' => '4519', - 'gDossier' => '42', - 'update' => 'Sauve', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'param_pcmn.inc.php'; diff --git a/sources/scenario/scenario-1415995545.php b/sources/scenario/scenario-1415995545.php deleted file mode 100644 index 4c50305..0000000 --- a/sources/scenario/scenario-1415995545.php +++ /dev/null @@ -1,12 +0,0 @@ - '42', - 'ac' => 'PARAM/COMPANY', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'company.inc.php'; diff --git a/sources/scenario/scenario-1415995575.php b/sources/scenario/scenario-1415995575.php deleted file mode 100644 index 41a7e81..0000000 --- a/sources/scenario/scenario-1415995575.php +++ /dev/null @@ -1,32 +0,0 @@ - '42', - 'ac' => 'PARAM/COMPANY', -); -$_POST=array ( - 'gDossier' => '42', - 'p_name' => 'NOALYSS', - 'p_tel' => '', - 'p_fax' => '', - 'p_street' => 'Rue de l\'espoir', - 'p_no' => '14', - 'p_cp' => '1090', - 'p_Commune' => 'Jette', - 'p_pays' => 'Belgique', - 'p_tva' => 'BE99999999', - 'p_compta' => 'nu', - 'p_stock' => 'N', - 'p_strict' => 'Y', - 'p_tva_use' => 'Y', - 'p_pj' => 'Y', - 'p_date_suggest' => 'Y', - 'p_check_periode' => 'N', - 'p_alphanum' => 'N', - 'p_updlab' => 'N', - 'record_company' => 'Sauve', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'company.inc.php'; diff --git a/sources/scenario/scenario-1415996970.php b/sources/scenario/scenario-1415996970.php deleted file mode 100644 index 335ec53..0000000 --- a/sources/scenario/scenario-1415996970.php +++ /dev/null @@ -1,44 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUODS/ODS', -); -$_POST=array ( - 'gDossier' => '42', - 'ac' => 'COMPTA/MENUODS/ODS', - 'p_jrn' => '4', - 'e_date' => '14.11.2014', - 'e_pj' => 'ODS1', - 'e_pj_suggest' => 'ODS1', - 'desc' => 'TVA', - 'nb_item' => '5', - 'jrn_type' => 'ODS', - 'qc_0' => '', - 'poste0' => '4519', - 'ld0' => 'Compte TVA', - 'amount0' => '250', - 'qc_1' => '', - 'poste1' => '6700', - 'ld1' => 'Paiement TVA', - 'amount1' => '250', - 'ck1' => '', - 'qc_2' => '', - 'poste2' => '', - 'ld2' => '', - 'amount2' => '', - 'qc_3' => '', - 'poste3' => '', - 'ld3' => '', - 'amount3' => '', - 'qc_4' => '', - 'poste4' => '', - 'ld4' => '', - 'amount4' => '', - 'jrn_concerned' => '', - 'summary' => 'Sauvez', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ods.inc.php'; diff --git a/sources/scenario/scenario-1415996980.php b/sources/scenario/scenario-1415996980.php deleted file mode 100644 index 0868b28..0000000 --- a/sources/scenario/scenario-1415996980.php +++ /dev/null @@ -1,35 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUODS/ODS', -); -$_POST=array ( - 'ac' => 'COMPTA/MENUODS/ODS', - 'e_date' => '14.11.2014', - 'desc' => 'TVA', - 'period' => '102', - 'e_pj' => 'ODS1', - 'e_pj_suggest' => 'ODS1', - 'mt' => '1415996970.8822', - 'e_comm' => 'TVA', - 'jrn_type' => 'ODS', - 'p_jrn' => '4', - 'nb_item' => '5', - 'jrn_concerned' => '', - 'gDossier' => '42', - 'poste0' => '4519', - 'ld0' => 'Compte TVA', - 'amount0' => '250', - 'poste1' => '6700', - 'ld1' => 'Paiement TVA', - 'amount1' => '250', - 'ck1' => '', - 'opd_name' => 'Paiement TVA', - 'od_description' => '', - 'save' => 'Confirmer', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ods.inc.php'; diff --git a/sources/scenario/scenario-1415997148.php b/sources/scenario/scenario-1415997148.php deleted file mode 100644 index a3ecb36..0000000 --- a/sources/scenario/scenario-1415997148.php +++ /dev/null @@ -1,12 +0,0 @@ - '42', - 'ac' => 'ODS', - 'go' => 'aller', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); diff --git a/sources/scenario/scenario-1415997352.php b/sources/scenario/scenario-1415997352.php deleted file mode 100644 index 7187c96..0000000 --- a/sources/scenario/scenario-1415997352.php +++ /dev/null @@ -1,44 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUODS/ODS', -); -$_POST=array ( - 'gDossier' => '42', - 'ac' => 'COMPTA/MENUODS/ODS', - 'p_jrn' => '4', - 'e_date' => '14.11.2014', - 'e_pj' => 'ODS1', - 'e_pj_suggest' => 'ODS1', - 'desc' => 'TVA', - 'nb_item' => '5', - 'jrn_type' => 'ODS', - 'qc_0' => '', - 'poste0' => '4519', - 'ld0' => 'Compte TVA', - 'amount0' => '250', - 'qc_1' => '', - 'poste1' => '6700', - 'ld1' => 'Paiement TVA', - 'amount1' => '250', - 'ck1' => '', - 'qc_2' => '', - 'poste2' => '', - 'ld2' => '', - 'amount2' => '', - 'qc_3' => '', - 'poste3' => '', - 'ld3' => '', - 'amount3' => '', - 'qc_4' => '', - 'poste4' => '', - 'ld4' => '', - 'amount4' => '', - 'jrn_concerned' => '', - 'summary' => 'Sauvez', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ods.inc.php'; diff --git a/sources/scenario/scenario-1415997358.php b/sources/scenario/scenario-1415997358.php deleted file mode 100644 index 97135d1..0000000 --- a/sources/scenario/scenario-1415997358.php +++ /dev/null @@ -1,35 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUODS/ODS', -); -$_POST=array ( - 'ac' => 'COMPTA/MENUODS/ODS', - 'e_date' => '14.11.2014', - 'desc' => 'TVA', - 'period' => '102', - 'e_pj' => 'ODS1', - 'e_pj_suggest' => 'ODS1', - 'mt' => '1415997352.5804', - 'e_comm' => 'TVA', - 'jrn_type' => 'ODS', - 'p_jrn' => '4', - 'nb_item' => '5', - 'jrn_concerned' => '', - 'gDossier' => '42', - 'poste0' => '4519', - 'ld0' => 'Compte TVA', - 'amount0' => '250', - 'poste1' => '6700', - 'ld1' => 'Paiement TVA', - 'amount1' => '250', - 'ck1' => '', - 'opd_name' => 'Paiement TVA', - 'od_description' => '', - 'save' => 'Confirmer', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ods.inc.php'; diff --git a/sources/scenario/scenario-1415997389.php b/sources/scenario/scenario-1415997389.php deleted file mode 100644 index b08f801..0000000 --- a/sources/scenario/scenario-1415997389.php +++ /dev/null @@ -1,12 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUODS/ODS', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ods.inc.php'; diff --git a/sources/scenario/scenario-1415997404.php b/sources/scenario/scenario-1415997404.php deleted file mode 100644 index 52244f9..0000000 --- a/sources/scenario/scenario-1415997404.php +++ /dev/null @@ -1,67 +0,0 @@ - 'use_opd', - 'p_jrn_predef' => '4', - 'ac' => 'COMPTA/MENUODS/ODS', - 'gDossier' => '42', - 'pre_def' => '2', -); -$_POST=array ( - 'gDossier' => '42', - 'ac' => 'COMPTA/MENUODS/ODS', - 'p_jrn' => '4', - 'e_date' => '14.11.2014', - 'e_pj' => 'ODS4', - 'e_pj_suggest' => 'ODS4', - 'desc' => 'Paiement TVA', - 'nb_item' => '10', - 'jrn_type' => 'ODS', - 'qc_0' => '', - 'poste0' => '4519', - 'ld0' => 'Compte TVA', - 'amount0' => '250.0000', - 'qc_1' => '', - 'poste1' => '6700', - 'ld1' => 'Impôts et précomptes dus ou versés', - 'amount1' => '250.0000', - 'ck1' => '', - 'qc_2' => '', - 'poste2' => '', - 'ld2' => '', - 'amount2' => '', - 'qc_3' => '', - 'poste3' => '', - 'ld3' => '', - 'amount3' => '', - 'qc_4' => '', - 'poste4' => '', - 'ld4' => '', - 'amount4' => '', - 'qc_5' => '', - 'poste5' => '', - 'ld5' => '', - 'amount5' => '', - 'qc_6' => '', - 'poste6' => '', - 'ld6' => '', - 'amount6' => '', - 'qc_7' => '', - 'poste7' => '', - 'ld7' => '', - 'amount7' => '', - 'qc_8' => '', - 'poste8' => '', - 'ld8' => '', - 'amount8' => '', - 'qc_9' => '', - 'poste9' => '', - 'ld9' => '', - 'amount9' => '', - 'jrn_concerned' => '', - 'summary' => 'Sauvez', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ods.inc.php'; diff --git a/sources/scenario/scenario-1415997407.php b/sources/scenario/scenario-1415997407.php deleted file mode 100644 index cee4af6..0000000 --- a/sources/scenario/scenario-1415997407.php +++ /dev/null @@ -1,38 +0,0 @@ - 'use_opd', - 'p_jrn_predef' => '4', - 'ac' => 'COMPTA/MENUODS/ODS', - 'gDossier' => '42', - 'pre_def' => '2', -); -$_POST=array ( - 'ac' => 'COMPTA/MENUODS/ODS', - 'e_date' => '14.11.2014', - 'desc' => 'Paiement TVA', - 'period' => '102', - 'e_pj' => 'ODS4', - 'e_pj_suggest' => 'ODS4', - 'mt' => '1415997404.8993', - 'e_comm' => 'Paiement TVA', - 'jrn_type' => 'ODS', - 'p_jrn' => '4', - 'nb_item' => '10', - 'jrn_concerned' => '', - 'gDossier' => '42', - 'poste0' => '4519', - 'ld0' => 'Compte TVA', - 'amount0' => '250.0000', - 'poste1' => '6700', - 'ld1' => 'Impôts et précomptes dus ou versés', - 'amount1' => '250.0000', - 'ck1' => '', - 'opd_name' => '', - 'od_description' => '', - 'save' => 'Confirmer', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_ods.inc.php'; diff --git a/sources/scenario/scenario-1415997877.php b/sources/scenario/scenario-1415997877.php deleted file mode 100644 index 0bf7397..0000000 --- a/sources/scenario/scenario-1415997877.php +++ /dev/null @@ -1,12 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUACH/ACHISTO', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'history_operation.inc.php'; diff --git a/sources/scenario/scenario-1415997886.php b/sources/scenario/scenario-1415997886.php deleted file mode 100644 index 5567703..0000000 --- a/sources/scenario/scenario-1415997886.php +++ /dev/null @@ -1,12 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUFIN/FIHISTO', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'history_operation.inc.php'; diff --git a/sources/scenario/scenario-1415997889.php b/sources/scenario/scenario-1415997889.php deleted file mode 100644 index a5a4dc6..0000000 --- a/sources/scenario/scenario-1415997889.php +++ /dev/null @@ -1,12 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUFIN/FSALDO', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'compta_fin_saldo.inc.php'; diff --git a/sources/scenario/scenario-1415998124.php b/sources/scenario/scenario-1415998124.php deleted file mode 100644 index cfe2803..0000000 --- a/sources/scenario/scenario-1415998124.php +++ /dev/null @@ -1,13 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUACH/ACHISTO', - 'go' => 'aller', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'history_operation.inc.php'; diff --git a/sources/scenario/scenario-1415998134.php b/sources/scenario/scenario-1415998134.php deleted file mode 100644 index 3c57dbf..0000000 --- a/sources/scenario/scenario-1415998134.php +++ /dev/null @@ -1,13 +0,0 @@ - '42', - 'ac' => 'COMPTA/VENMENU/VEHISTO', - 'go' => 'aller', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'history_operation.inc.php'; diff --git a/sources/scenario/scenario-1415998146.php b/sources/scenario/scenario-1415998146.php deleted file mode 100644 index 4c84df0..0000000 --- a/sources/scenario/scenario-1415998146.php +++ /dev/null @@ -1,13 +0,0 @@ - '42', - 'ac' => 'COMPTA/MENUODS/ODHISTO', - 'go' => 'aller', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'history_operation.inc.php'; diff --git a/sources/scenario/scenario-1416078146.php b/sources/scenario/scenario-1416078146.php deleted file mode 100644 index a16a410..0000000 --- a/sources/scenario/scenario-1416078146.php +++ /dev/null @@ -1,14 +0,0 @@ - '42', - 'ctl' => 'div_new_card', - 'fd_id' => '2', - 'op' => 'bc', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'ajax_card.php'; diff --git a/sources/scenario/scenario-ajax-add-card.php b/sources/scenario/scenario-ajax-add-card.php deleted file mode 100644 index a6e7b7c..0000000 --- a/sources/scenario/scenario-ajax-add-card.php +++ /dev/null @@ -1,30 +0,0 @@ - '42', - 'ctl' => 'div_new_card', - 'fd_id' => '3', - 'av_text1' => 'caisse', - 'av_text3' => '', - 'av_text4' => '', - 'av_text12' => '', - 'av_text5' => '', - 'av_text5_bt' => 'Recherche', - 'av_text13' => '', - 'av_text14' => '', - 'av_text15' => '', - 'av_text16' => '', - 'av_text17' => '', - 'av_text18' => '', - 'av_text23' => '', - 'sc' => 'Sauve', - 'op' => 'sc', -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); - ini_set('disable_functions', 'exit,die,header'); -include 'ajax_card.php'; -?> diff --git a/sources/scenario/scenario-historic.php b/sources/scenario/scenario-historic.php deleted file mode 100644 index 3ee4169..0000000 --- a/sources/scenario/scenario-historic.php +++ /dev/null @@ -1,24 +0,0 @@ - '37', - 'ledger_type' => 'ALL', - 'ac' => 'HIST', - 'nb_jrn' => '0', - 'date_start' => '01.01.2014', - 'date_end' => '31.12.2014', - 'date_paid_start' => '', - 'date_paid_end' => '', - 'desc' => '', - 'amount_min' => '0', - 'amount_max' => '0', - 'qcode' => '', - 'accounting' => '', - 'search' => 'Rechercher', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'history_operation.inc.php'; diff --git a/sources/scenario/scenario-verif_bilan.php b/sources/scenario/scenario-verif_bilan.php deleted file mode 100644 index a457b3b..0000000 --- a/sources/scenario/scenario-verif_bilan.php +++ /dev/null @@ -1,13 +0,0 @@ - '27', - 'ac' => 'COMPTA/ADV/VERIFBIL', - 'go' => 'aller', -); -$_POST=array ( -); -$_POST['gDossier']=$gDossierLogInput; -$_GET['gDossier']=$gDossierLogInput; - $_REQUEST=array_merge($_GET,$_POST); -include 'verif_bilan.inc.php'; diff --git a/sources/sql/ac_upgrade.sql b/sources/sql/ac_upgrade.sql deleted file mode 100644 index 9beca2b..0000000 --- a/sources/sql/ac_upgrade.sql +++ /dev/null @@ -1,12 +0,0 @@ - -begin; -ALTER TABLE ac_dossier drop COLUMN dos_jnt_user ; -delete from jnt_use_dos where jnt_id in (select priv_jnt from priv_user where priv_priv='X'); -delete from jnt_use_dos where use_id in (select use_id from ac_users where use_admin=1 or use_active=0); -ALTER TABLE ac_users ADD COLUMN use_email text; -COMMENT ON COLUMN ac_users.use_email IS 'Email of the user'; - -drop table priv_user; -select upgrade_repo(16); -alter table -rollback; diff --git a/sources/sql/upgrade.sql b/sources/sql/upgrade.sql deleted file mode 100644 index 3516c8a..0000000 --- a/sources/sql/upgrade.sql +++ /dev/null @@ -1,274 +0,0 @@ -update menu_ref set me_file = null where me_code='EXT'; -update op_predef_detail set opd_poste=trim(opd_poste) ; - -CREATE OR REPLACE FUNCTION comptaproc.fiche_detail_qcode_upd() - RETURNS trigger AS -$BODY$ -declare - i record; -begin - if NEW.ad_id=23 and NEW.ad_value != OLD.ad_value then - RAISE NOTICE 'new qcode [%] old qcode [%]',NEW.ad_value,OLD.ad_value; - update jrnx set j_qcode=NEW.ad_value where j_qcode = OLD.ad_value; - update op_predef_detail set opd_poste=NEW.ad_value where opd_poste=OLD.ad_value; - raise notice 'TRG fiche_detail update op_predef_detail set opd_poste=% where opd_poste=%;',NEW.ad_value,OLD.ad_value; - for i in select ad_id from attr_def where ad_type = 'card' or ad_id=25 loop - update fiche_detail set ad_value=NEW.ad_value where ad_value=OLD.ad_value and ad_id=i.ad_id; - RAISE NOTICE 'change for ad_id [%] ',i.ad_id; - if i.ad_id=19 then - RAISE NOTICE 'Change in stock_goods OLD[%] by NEW[%]',OLD.ad_value,NEW.ad_value; - update stock_goods set sg_code=NEW.ad_value where sg_code=OLD.ad_value; - end if; - - end loop; - end if; -return NEW; -end; -$BODY$ -LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION comptaproc.update_quick_code(njft_id integer, tav_text text) - RETURNS integer AS -$BODY$ - declare - ns integer; - nExist integer; - tText text; - old_qcode varchar; - num_rows_jrnx integer; - num_rows_predef integer; - begin - -- get current value - select ad_value into old_qcode from fiche_detail where jft_id=njft_id; - -- av_text didn't change so no update - if tav_text = upper( trim(old_qcode)) then - raise notice 'nothing to change % %' , tav_text,old_qcode; - return 0; - end if; - - tText := trim(lower(tav_text)); - tText := replace(tText,' ',''); - -- valid alpha is [ . : - _ ] - tText := translate(tText,E' $€µ£%+/\\!(){}(),;&|"#''^<>*',''); - tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); - tText := upper(tText); - if length ( tText) = 0 or tText is null then - return 0; - end if; - - ns := njft_id; - - loop - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=tText; - - if nExist = 0 then - exit; - end if; - if tText = 'FID'||ns then - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - end if; - tText :='FID'||ns; - - end loop; - update fiche_detail set ad_value = tText where jft_id=njft_id; - - -- update also the contact - update fiche_detail set ad_value = tText - where jft_id in - ( select jft_id - from fiche_detail - where ad_id=25 and ad_value=old_qcode); - - - return ns; - end; -$BODY$ - LANGUAGE plpgsql ; - - -CREATE OR REPLACE FUNCTION comptaproc.insert_quick_code(nf_id integer, tav_text text) - RETURNS integer AS -$BODY$ - declare - ns integer; - nExist integer; - tText text; - tBase text; - tName text; - nCount Integer; - nDuplicate Integer; - begin - tText := lower(trim(tav_text)); - tText := replace(tText,' ',''); - tName:= translate(tName,E' $€µ£%+/\\!(){}(),;&|"#''^<>*',''); - tText := translate(tText,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); - nDuplicate := 0; - tBase := tText; - loop - -- take the next sequence - select nextval('s_jnt_fic_att_value') into ns; - if length (tText) = 0 or tText is null then - select count(*) into nCount from fiche_detail where f_id=nf_id and ad_id=1; - if nCount = 0 then - tText := 'FICHE'||ns::text; - else - select ad_value into tName from fiche_detail where f_id=nf_id and ad_id=1; - - tName := lower(trim(tName)); - tName := substr(tName,1,6); - tName := replace(tName,' ',''); - tName:= translate(tName,E' $€µ£%+/\\!(){}(),;&|"#''^<>*',''); - tName := translate(tName,E'éèêëàâäïîüûùöôç','eeeeaaaiiuuuooc'); - tBase := tName; - if nDuplicate = 0 then - tText := tName; - else - tText := tName||nDuplicate::text; - end if; - end if; - end if; - -- av_text already used ? - select count(*) into nExist - from fiche_detail - where - ad_id=23 and ad_value=upper(tText); - - if nExist = 0 then - exit; - end if; - nDuplicate := nDuplicate + 1 ; - tText := tBase || nDuplicate::text; - - if nDuplicate > 9999 then - raise Exception 'too many duplicate % duplicate# %',tText,nDuplicate; - end if; - end loop; - - - insert into fiche_detail(jft_id,f_id,ad_id,ad_value) values (ns,nf_id,23,upper(tText)); - return ns; - end; -$BODY$ -LANGUAGE plpgsql; - -create or replace function insert_menu() -returns void as -$BODY$ -declare - n_count integer := 0; -begin - select count(*) into n_count from menu_ref where me_code='CONTACT'; - if n_count = 0 then - insert into menu_ref(me_code, - me_file, - me_menu, - me_description,me_type,me_description_etendue) - values - ('CONTACT', - 'contact.inc.php', - 'Contact','Liste de vos contacts','ME','Liste de vos contacts normalement liée à des fiches de sociétés'); - end if; - - select count(*) into n_count from profile_menu where me_code='CONTACT' and p_id=1; - if n_count = 0 then - insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display,pm_default,pm_id_dep) select 'CONTACT','GESTION',1,22,'E',0,(select pm_id from profile_menu where me_code='GESTION' and p_id=1); - end if; - - select count(*) into n_count from profile_menu where me_code='CONTACT' and p_id=2; - if n_count = 0 then - insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display,pm_default,pm_id_dep) select 'CONTACT','GESTION',2,22,'E',0,(select pm_id from profile_menu where me_code='GESTION' and p_id=2); - end if; -end; -$BODY$ -language plpgsql; - -select insert_menu(); - -drop function insert_menu(); -drop view v_all_menu; - -CREATE OR REPLACE VIEW v_all_menu AS - SELECT pm.me_code, - pm.pm_id, - pm.me_code_dep, - pm.p_order, - pm.p_type_display, - p.p_name, - p.p_desc, - mr.me_menu, - mr.me_file, - mr.me_url, - mr.me_parameter, - mr.me_javascript, - mr.me_type, - pm.p_id, - mr.me_description - FROM profile_menu pm - JOIN profile p ON p.p_id = pm.p_id - JOIN menu_ref mr USING (me_code) - ORDER BY pm.p_order; - -DROP FUNCTION comptaproc.get_profile_menu(text); - -CREATE OR REPLACE FUNCTION comptaproc.get_profile_menu(p_profile integer) - RETURNS SETOF menu_tree AS -$BODY$ -declare - a menu_tree; - e menu_tree; -begin -for a in select me_code,me_description from v_all_menu where p_id=p_profile - and me_code_dep is null and me_type <> 'PR' and me_type <>'SP' -loop - return next a; - - for e in select * from get_menu_tree(a.code,p_profile) - loop - return next e; - end loop; - - end loop; -return; -end; -$BODY$ - LANGUAGE plpgsql ; - -DROP FUNCTION comptaproc.get_menu_tree(text, text); - -CREATE OR REPLACE FUNCTION comptaproc.get_menu_tree(p_code text, p_profile integer) - RETURNS SETOF menu_tree AS -$BODY$ -declare - i menu_tree; - e menu_tree; - a text; - x v_all_menu%ROWTYPE; -begin - for x in select * from v_all_menu where me_code_dep=p_code::text and p_id=p_profile - loop - if x.me_code_dep is not null then - i.code := x.me_code_dep||'/'||x.me_code; - else - i.code := x.me_code; - end if; - - i.description := x.me_description; - - return next i; - - for e in select * from get_menu_tree(x.me_code,p_profile) - loop - e.code:=x.me_code_dep||'/'||e.code; - return next e; - end loop; - - end loop; - return; -end; -$BODY$ - LANGUAGE plpgsql; \ No newline at end of file diff --git a/sources/unit-test/README b/sources/unit-test/README deleted file mode 100644 index eaf6ece..0000000 --- a/sources/unit-test/README +++ /dev/null @@ -1,23 +0,0 @@ -Ce répertoire sert aux tests unitaires avec PHPUNIT, il faut d'abord changer dans le bootstrap.php pour que le path soit correct. -Il faut configurer Netbeans pour pouvoir l'utiliser : -1 . Activer PHPUNIT, -2 . dans GLOBAL PATH (propriété du projet) ajouter le fichier phpunit.phar -3. Donner unit-test comme répertoire de test - -Ensuite copier bootstrap.php.example vers bootstrap.php et modifier les variables (le dossier à utiliser, include_path ...) - -Testing commande en ligne -========================= -Génération - php /phpunit-skelgen.phar --bootstrap bootstrap.php --test -- Intervat ../include/class_transform_intervat.php -test (depuis repertoire include) - php /phpunit.phar --tap --colors --bootstrap ../bootstrap.php class_acc_accountTest.php - -Tous les fichiers - for i in *.php;do php /phpunit.phar --tap --colors --bootstrap ../bootstrap.php $i;done - - -Génération pour tous les fichiers -================================= -Permet de voir les lignes de code qui ont été testées -php /phpunit.phar --coverage-html html --bootstrap bootstrap.php include diff --git a/sources/unit-test/bootstrap.php.example b/sources/unit-test/bootstrap.php.example deleted file mode 100644 index 62936a0..0000000 --- a/sources/unit-test/bootstrap.php.example +++ /dev/null @@ -1,154 +0,0 @@ -object=new Acc_Account($g_connection,400); - $this->object->load(); - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Acc_Account::get_parameter - * @todo Implement testGet_parameter(). - * @backupGlobals enabled - */ - public function testGet_parameter() - { - $value=$this->object->get_parameter("value"); - $this->assertEquals($value,'400'); - - } - - /** - * @covers Acc_Account::set_parameter - * @todo Implement testSet_parameter(). - * @backupGlobals enabled - */ - public function testSet_parameter() - { - $this->object->set_parameter("value",500); - $value=$this->object->get_parameter("value"); - $this->assertEquals($value,500); - } - - /** - * @covers Acc_Account::get_lib - * @todo Implement testGet_lib(). - */ - public function testGet_lib() - { - $value=$this->object->get_lib(); - $this->assertEquals($value,'Clients'); - } - - /** - * @covers Acc_Account::check - * @todo Implement testCheck(). - */ - public function testCheck() - { - $value=$this->object->check('pcm_val'); - $this->assertTrue($value); - $value=$this->object->check('pcm_lib'); - $this->assertTrue($value); - $value=$this->object->check('pcm_val_parent'); - $this->assertTrue($value); - $value=$this->object->check('pcm_type','CHA'); - $this->assertTrue($value); - $this->setExpectedException("Exception"); - $value=$this->object->check('unknown'); - - } - - /** - * @covers Acc_Account::load - * @todo Implement testLoad(). - */ - public function testLoad() - { - $this->object->load(); - } - - /** - * @covers Acc_Account::form - * @todo Implement testForm(). - */ - public function testForm() - { - $_REQUEST['gDossier']=36; - $this->object->form(); - } - - /** - * @covers Acc_Account::count - * @todo Implement testCount(). - */ - public function testCount() - { - - $this->assertEquals($this->object->count('550'),1); - $this->assertEquals($this->object->count('500'),0); - } - - /** - * @covers Acc_Account::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Account::update - * @todo Implement testUpdate(). - */ - public function testUpdate() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_acc_account_ledgerTest.php b/sources/unit-test/include/class_acc_account_ledgerTest.php deleted file mode 100644 index c936326..0000000 --- a/sources/unit-test/include/class_acc_account_ledgerTest.php +++ /dev/null @@ -1,290 +0,0 @@ -object=new Acc_Account_Ledger($g_connection, 400); - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Acc_Account_Ledger::get_row - * @todo Implement testGet_row(). - */ - public function testGet_row() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Account_Ledger::get_row_date - * @todo Implement testGet_row_date(). - */ - public function testGet_row_date() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - function dataGet_Name() - { - return array( - array('10','Capital '), - array('01','Poste inconnu') - ); - } - /** - * @covers Acc_Account_Ledger::get_name - * @todo Implement testGet_name(). - * @dataProvider dataGet_Name - */ - public function testGet_name($id,$result) - { - $this->object->id=$id; - $this->assertEquals($this->object->get_name(),$result); - } - - /** - * @covers Acc_Account_Ledger::do_exist - * @todo Implement testDo_exist(). - * @dataProvider dataDo_exist - */ - public function testDo_exist($p_value, $result) - { - $this->object->id=$p_value; - $this->assertEquals($this->object->do_exist(), $result); - } - - function dataDo_exist() - { - return array( - array('400', 1), - array('400A', 0), - array('550', 1), - array('60BXX', 0) - ); - } - - /** - * @covers Acc_Account_Ledger::load - * @todo Implement testLoad(). - */ - public function testLoad() - { - $this->object->load(); - - } - - /** - * @covers Acc_Account_Ledger::get - * @todo Implement testGet(). - */ - public function testGet() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Account_Ledger::get_solde - * @todo Implement testGet_solde(). - */ - public function testGet_solde() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Account_Ledger::get_solde_detail - * @todo Implement testGet_solde_detail(). - */ - public function testGet_solde_detail() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Account_Ledger::isTVA - * @todo Implement testIsTVA(). - */ - public function testIsTVA() - { - $this->object->id="4111"; - $this->assertEquals($this->object->isTVA(),1); - $this->object->id=10; - $this->assertEquals($this->object->isTVA(),0); - - } - - /** - * @covers Acc_Account_Ledger::HtmlTable - * @todo Implement testHtmlTable(). - */ - public function testHtmlTable() - { - $this->assertTrue(true,'Ne peut être testé car vue HTML'); - } - public function dataGet_amount_side() - { - return array ( - array(0,"="), - array(1000,'D'), - array(-1000,'C'), - ); - } - /** - * @covers Acc_Account_Ledger::get_amount_side - * @todo Implement testGet_amount_side(). - * @dataProvider dataGet_amount_side - */ - public function testGet_amount_side($amount,$result) - { - $this->assertEquals($this->object->get_amount_side($amount),$result); - } - - /** - * @covers Acc_Account_Ledger::HtmlTableHeader - * @todo Implement testHtmlTableHeader(). - */ - public function testHtmlTableHeader() - { - // Remove the following lines when you implement this test. - $this->assertTrue(true,'Ne peut être testé car vue HTML'); - } - - /** - * @covers Acc_Account_Ledger::belong_ledger - * @todo Implement testBelong_ledger(). - * @dataProvider DataBelong_ledger - */ - public function testBelong_ledger($p_jrn, $result) - { - $this->assertEquals($this->object->belong_ledger($p_jrn), $result); - } - - function DataBelong_ledger() - { - return array( - array(0, -1), - array(1, -1), - array(3, -1), - array(2, 0), - array(4, 0) - ); - } - public function dataGet_account_ledger() - { - return array( - array(0,array()), - array(1,array('5*','')), - array(2,array('4*')), - array(3,array('6*')) - - ); - } - /** - * @covers Acc_Account_Ledger::get_account_ledger - * @todo Implement testGet_account_ledger(). - * @dataProvider dataGet_account_ledger - */ - public function testGet_account_ledger($p_jrn,$result) - { - echo "ledger $p_jrn"; - $this->assertEquals($this->object->get_account_ledger($p_jrn),$result); - printf ("\n"); - } - - /** - * @covers Acc_Account_Ledger::build_sql_account - * @todo Implement testBuild_sql_account(). - * @dataProvider DataBuild_Sql_account - */ - public function testBuild_sql_account($p_jrn, $result) - { - print "\n--------------------\n"; - $value=$this->object->build_sql_account($p_jrn); - printf(" ledger %s [%s]", $p_jrn, $value); - $this->assertEquals(trim($value), $result); - } - - public function DataBuild_Sql_account() - { - return array( - array(0, ""), - array(1, "pcm_val::text like '5%'"), - array(2, "pcm_val::text like '4%'"), - array(3, "pcm_val::text like '6%'"), - array(4, "") - ); - } - - function dataFind_Card() - { - return array( - array('6191', '22'), - array('6192', '23'), - array('4400004', '25') - ); - } - - /** - * @covers Acc_Account_Ledger::find_card - * @todo Implement testFind_card(). - * @dataProvider dataFind_Card() - */ - public function testFind_card($p_value, $p_card) - { - $this->object->id=$p_value; - $result=$this->object->find_card(); - $this->assertEquals($p_card, $result[0]['f_id']); - } - - /** - * @covers Acc_Account_Ledger::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - $this->assertEquals($this->object->test_me(),0); - } - -} diff --git a/sources/unit-test/include/class_acc_balanceTest.php b/sources/unit-test/include/class_acc_balanceTest.php deleted file mode 100644 index 0ee7926..0000000 --- a/sources/unit-test/include/class_acc_balanceTest.php +++ /dev/null @@ -1,74 +0,0 @@ -object=new Acc_Balance($g_connection); - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Acc_Balance::get_row - * @todo Implement testGet_row(). - */ - public function testGet_row() - { - $this->object->get_row(1,200); - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'DATA : cannot be tested' - ); - } - - /** - * @covers Acc_Balance::filter_cat - * @todo Implement testFilter_cat(). - */ - public function testFilter_cat() - { - $this->object->jrn=1; - $this->object->filter_cat(array()); - $this->assertEquals($this->object->jrn,null); - $this->object->filter_cat(array('FIN')); - $this->assertEquals($this->object->jrn[0],2); - } - - /** - * @covers Acc_Balance::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_acc_bilanTest.php b/sources/unit-test/include/class_acc_bilanTest.php deleted file mode 100644 index 3cb07d4..0000000 --- a/sources/unit-test/include/class_acc_bilanTest.php +++ /dev/null @@ -1,176 +0,0 @@ -object=new Acc_Bilan($g_connection); - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Acc_Bilan::display_form - * @todo Implement testDisplay_form(). - */ - public function testDisplay_form() - { - $r=$this->object->display_form(); - - } - - /** - * @covers Acc_Bilan::verify - * @todo Implement testVerify(). - */ - public function testVerify() - { - $this->object->verify(); - } - - /** - * @covers Acc_Bilan::get_request_get - * @todo Implement testGet_request_get(). - */ - public function testGet_request_get() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Bilan::load - * @todo Implement testLoad(). - */ - public function testLoad() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Bilan::file_open_form - * @todo Implement testFile_open_form(). - */ - public function testFile_open_form() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Bilan::file_open_template - * @todo Implement testFile_open_template(). - */ - public function testFile_open_template() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Bilan::compute_formula - * @todo Implement testCompute_formula(). - */ - public function testCompute_formula() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Bilan::generate_odt - * @todo Implement testGenerate_odt(). - */ - public function testGenerate_odt() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Bilan::generate_plain - * @todo Implement testGenerate_plain(). - */ - public function testGenerate_plain() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Bilan::generate - * @todo Implement testGenerate(). - */ - public function testGenerate() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Bilan::send - * @todo Implement testSend(). - */ - public function testSend() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Bilan::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_acc_computeTest.php b/sources/unit-test/include/class_acc_computeTest.php deleted file mode 100644 index 2f01e15..0000000 --- a/sources/unit-test/include/class_acc_computeTest.php +++ /dev/null @@ -1,191 +0,0 @@ -object=new Acc_Compute; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - public function dataGet_parameter() - { - return array( array('amount'), - array('amount_vat'), - array('amount_vat_rate'), - array('nd_vat'), - array('nd_vat_rate'), - array('nd_ded_vat'), - array('nd_ded_vat_rate'), - array('amount_nd'), - array('amount_nd_rate'), - array('nd_vat_rate'), - array('amount_perso'), - array('amount_perso_rate') - - ); - } - /** - * @covers Acc_Compute::get_parameter - * @todo Implement testGet_parameter(). - * @dataProvider dataGet_parameter - */ - public function testGet_parameter($data) - { - $result=$data; - $test=$data; - $this->object->get_parameter($test); - $this->assertEquals($test,$result); - } - - /** - * @covers Acc_Compute::set_parameter - * @todo Implement testSet_parameter(). - */ - public function testSet_parameter() - { - $this->object->set_parameter("nd_vat_rate",50); - $this->assertTrue(true,true); - } - - /** - * @covers Acc_Compute::get_info - * @todo Implement testGet_info(). - */ - public function testGet_info() - { - $this->object->get_info(); - $this->assertTrue(true,true); - } - - /** - * @covers Acc_Compute::compute_vat - * @todo Implement testCompute_vat(). - */ - public function testCompute_vat() - { - $this->object->set_parameter('amount',1.23); - $this->object->set_parameter('amount_vat_rate',0.21); - $this->object->compute_vat(); - $this->assertEquals($this->object->amount_vat,0.26); - } - - /** - * @covers Acc_Compute::compute_nd - * @todo Implement testCompute_nd(). - */ - public function testCompute_nd() - { - $this->object->set_parameter('amount',1.23); - $this->object->set_parameter('amount_vat_rate',0.21); - $this->object->set_parameter('amount_nd_rate',50); - $this->object->check=false; - $this->object->compute_nd(); - $this->assertEquals($this->object->amount_nd,0.62); - } - - /** - * @covers Acc_Compute::compute_nd_vat - * @todo Implement testCompute_nd_vat(). - */ - public function testCompute_nd_vat() - { - $this->object->set_parameter('amount',1.23); - $this->object->set_parameter('amount_vat_rate',0.21); - $this->object->set_parameter('nd_vat_rate',50); - $this->object->check=false; - $this->object->compute_nd_vat(); - $this->assertEquals($this->object->nd_vat,0.13); - } - - /** - * @covers Acc_Compute::compute_ndded_vat - * @todo Implement testCompute_ndded_vat(). - */ - public function testCompute_ndded_vat() - { - $this->object->set_parameter('amount',1.23); - $this->object->set_parameter('amount_vat_rate',0.21); - $this->object->set_parameter('nd_ded_vat_rate',50); - $this->object->check=false; - $this->object->compute_ndded_vat(); - $this->assertEquals($this->object->nd_ded_vat,0.13); - } - - /** - * @covers Acc_Compute::compute_perso - * @todo Implement testCompute_perso(). - */ - public function testCompute_perso() - { - $this->object->set_parameter('amount',1.23); - $this->object->set_parameter('amount_vat_rate',0.21); - $this->object->set_parameter('amount_perso_rate',50); - $this->object->compute_vat(); - $this->object->compute_perso(); - - $this->assertEquals($this->object->amount_perso,0.62); - $this->assertEquals($this->object->amount_vat,0.26); - } - - /** - * @covers Acc_Compute::correct - * @todo Implement testCorrect(). - */ - public function testCorrect() - { - $this->object->correct(); - } - - /** - * @covers Acc_Compute::verify - * @todo Implement testVerify(). - */ - public function testVerify() - { - $this->object->verify(); - $new=new Acc_Compute(); - $this->object->verify($new); - } - - /** - * @covers Acc_Compute::display - * @todo Implement testDisplay(). - * Cannot be checked - */ - public function testDisplay() - { - $this->object->display(); - } - - /** - * @covers Acc_Compute::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - $this->object->test_me(); - $this->assertTrue(true,true); - } - -} diff --git a/sources/unit-test/include/class_acc_ledgerTest.php b/sources/unit-test/include/class_acc_ledgerTest.php deleted file mode 100644 index 5494dd7..0000000 --- a/sources/unit-test/include/class_acc_ledgerTest.php +++ /dev/null @@ -1,839 +0,0 @@ -addTable('jrn', dirname(__FILE__)."/jrn.csv"); - return $dataSet; - } - /** - * Sets up the fixture, for example, opens a network connection. - * This method is called before a test is executed. - */ - protected function setUp() - { - include 'global.php'; - $this->object=new Acc_Ledger($g_connection,0); - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Acc_Ledger::get_last_pj - * @todo Implement testGet_last_pj(). - */ - public function testGet_last_pj() - { - - $this->object->id=1; - $array=$this->object->get_last(2); - $this->assertEquals(2,count($array)); - - } - - /** - * @covers Acc_Ledger::get_type - * @todo Implement testGet_type(). - */ - public function testGet_type() - { - $this->object->id=0; - $type=$this->object->get_type(); - $this->assertEquals('GL',$type); - - $this->object->id=1; - $type=$this->object->get_type(); - $this->assertEquals('FIN',$type); - - $this->object->id=2; - $type=$this->object->get_type(); - $this->assertEquals('VEN',$type); - - $this->object->id=3; - $type=$this->object->get_type(); - $this->assertEquals('ACH',$type); - } - - /** - * @covers Acc_Ledger::delete - * @todo Implement testDelete(). - */ - public function testDelete() - { - $this->object->delete(); - } - - /** - * @covers Acc_Ledger::display_warning - * @todo Implement testDisplay_warning(). - */ - public function testDisplay_warning() - { - $this->object->display_warning("Alert", "warning"); - } - - /** - * @covers Acc_Ledger::reverse - * @todo Implement testReverse(). - */ - public function testReverse() - { - $this->object->reverse('01.01.2014'); - } - - /** - * @covers Acc_Ledger::get_name - * @todo Implement testGet_name(). - */ - public function testGet_name() - { - $this->object->id=3; - $name=$this->object->get_name(); - $this->assertEquals('Achat',$name); - } - - /** - * @covers Acc_Ledger::get_row - * @todo Implement testGet_row(). - */ - public function testGet_row() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_rowSimple - * @todo Implement testGet_rowSimple(). - */ - public function testGet_rowSimple() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::guess_pj - * @todo Implement testGuess_pj(). - */ - public function testGuess_pj() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::list_operation_to_reconcile - * @todo Implement testList_operation_to_reconcile(). - */ - public function testList_operation_to_reconcile() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::list_operation - * @todo Implement testList_operation(). - */ - public function testList_operation() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_detail - * @todo Implement testGet_detail(). - */ - public function testGet_detail() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_propertie - * @todo Implement testGet_propertie(). - */ - public function testGet_propertie() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::GetDefLine - * @todo Implement testGetDefLine(). - */ - public function testGetDefLine() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_solde - * @todo Implement testGet_solde(). - */ - public function testGet_solde() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::select_ledger - * @todo Implement testSelect_ledger(). - */ - public function testSelect_ledger() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_fiche_def - * @todo Implement testGet_fiche_def(). - */ - public function testGet_fiche_def() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_class_def - * @todo Implement testGet_class_def(). - */ - public function testGet_class_def() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::confirm - * @todo Implement testConfirm(). - */ - public function testConfirm() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_min_row - * @todo Implement testGet_min_row(). - */ - public function testGet_min_row() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::input - * @todo Implement testInput(). - */ - public function testInput() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::is_closed - * @todo Implement testIs_closed(). - */ - public function testIs_closed() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::verify - * @todo Implement testVerify(). - */ - public function testVerify() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::compute_internal_code - * @todo Implement testCompute_internal_code(). - */ - public function testCompute_internal_code() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::save - * @todo Implement testSave(). - */ - public function testSave() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_request - * @todo Implement testGet_request(). - */ - public function testGet_request() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::next_number - * @todo Implement testNext_number(). - */ - public function testNext_number() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_first - * @todo Implement testGet_first(). - */ - public function testGet_first() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::update_paid - * @todo Implement testUpdate_paid(). - */ - public function testUpdate_paid() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::update_internal_code - * @todo Implement testUpdate_internal_code(). - */ - public function testUpdate_internal_code() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_default_card - * @todo Implement testGet_default_card(). - */ - public function testGet_default_card() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_all_fiche_def - * @todo Implement testGet_all_fiche_def(). - */ - public function testGet_all_fiche_def() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_saldo_exercice - * @todo Implement testGet_saldo_exercice(). - */ - public function testGet_saldo_exercice() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::check_strict - * @todo Implement testCheck_strict(). - */ - public function testCheck_strict() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::check_periode - * @todo Implement testCheck_periode(). - */ - public function testCheck_periode() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_last_date - * @todo Implement testGet_last_date(). - */ - public function testGet_last_date() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_id - * @todo Implement testGet_id(). - */ - public function testGet_id() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::create_document - * @todo Implement testCreate_document(). - */ - public function testCreate_document() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::check_payment - * @todo Implement testCheck_payment(). - */ - public function testCheck_payment() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::inc_seq_pj - * @todo Implement testInc_seq_pj(). - */ - public function testInc_seq_pj() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::search_form - * @todo Implement testSearch_form(). - */ - public function testSearch_form() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::build_search_sql - * @todo Implement testBuild_search_sql(). - */ - public function testBuild_search_sql() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::display_search_form - * @todo Implement testDisplay_search_form(). - */ - public function testDisplay_search_form() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_last - * @todo Implement testGet_last(). - */ - public function testGet_last() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::search_group - * @todo Implement testSearch_group(). - */ - public function testSearch_group() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_operation - * @todo Implement testGet_operation(). - */ - public function testGet_operation() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::existing_vat - * @todo Implement testExisting_vat(). - */ - public function testExisting_vat() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_other_amount - * @todo Implement testGet_other_amount(). - */ - public function testGet_other_amount() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::vat_operation - * @todo Implement testVat_operation(). - */ - public function testVat_operation() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::previous_amount - * @todo Implement testPrevious_amount(). - */ - public function testPrevious_amount() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::array_cat - * @todo Implement testArray_cat(). - */ - public function testArray_cat() - { - $array=Acc_Ledger::array_cat(); - $this->assertEquals(4,count($array)); - } - - /** - * @covers Acc_Ledger::get_tiers - * @todo Implement testGet_tiers(). - */ - public function testGet_tiers() - { - $this->object->get_tiers($p_jrn_type, $jr_id); - } - - /** - * @covers Acc_Ledger::listing - * @todo Implement testListing(). - */ - public function testListing() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::display_ledger - * @todo Implement testDisplay_ledger(). - */ - public function testDisplay_ledger() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::verify_ledger - * @todo Implement testVerify_ledger(). - */ - public function testVerify_ledger() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::update - * @todo Implement testUpdate(). - */ - public function testUpdate() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::input_paid - * @todo Implement testInput_paid(). - */ - public function testInput_paid() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::input_new - * @todo Implement testInput_new(). - */ - public function testInput_new() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::save_new - * @todo Implement testSave_new(). - */ - public function testSave_new() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::delete_ledger - * @todo Implement testDelete_ledger(). - */ - public function testDelete_ledger() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_operation_date - * @todo Implement testGet_operation_date(). - */ - public function testGet_operation_date() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_supplier_now - * @todo Implement testGet_supplier_now(). - */ - public function testGet_supplier_now() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_supplier_late - * @todo Implement testGet_supplier_late(). - */ - public function testGet_supplier_late() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_customer_now - * @todo Implement testGet_customer_now(). - */ - public function testGet_customer_now() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::get_customer_late - * @todo Implement testGet_customer_late(). - */ - public function testGet_customer_late() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger::convert_from_follow - * @todo Implement testConvert_from_follow(). - */ - public function testConvert_from_follow() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_acc_ledger_finTest.php b/sources/unit-test/include/class_acc_ledger_finTest.php deleted file mode 100644 index c4ebba7..0000000 --- a/sources/unit-test/include/class_acc_ledger_finTest.php +++ /dev/null @@ -1,138 +0,0 @@ -object=new Acc_Ledger_Fin($g_connection,1); - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Acc_Ledger_Fin::verify - * @todo Implement testVerify(). - * @expectedException Exception - */ - public function testVerify() - { - - $this->object->verify(null); - } - - /** - * @covers Acc_Ledger_Fin::input - * @todo Implement testInput(). - */ - public function testInput() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger_Fin::confirm - * @todo Implement testConfirm(). - */ - public function testConfirm() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger_Fin::insert - * @todo Implement testInsert(). - */ - public function testInsert() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger_Fin::show_ledger - * @todo Implement testShow_ledger(). - */ - public function testShow_ledger() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger_Fin::get_bank_name - * @todo Implement testGet_bank_name(). - */ - public function testGet_bank_name() - { - $name=$this->object->get_bank_name(); - var_export($name); - if (strpos ($name,NOTFOUND) !=0 ) - $this->assertTrue(FALSE); - } - - /** - * @covers Acc_Ledger_Fin::get_bank - * @todo Implement testGet_bank(). - */ - public function testGet_bank() - { - $this->assertEquals(27,$this->object->get_bank()); - } - - /** - * @covers Acc_Ledger_Fin::numb_operation - * @todo Implement testNumb_operation(). - */ - public function testNumb_operation() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger_Fin::insert_quant_fin - * @todo Implement testInsert_quant_fin(). - */ - public function testInsert_quant_fin() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_acc_ledger_purchaseTest.php b/sources/unit-test/include/class_acc_ledger_purchaseTest.php deleted file mode 100644 index e5d23b4..0000000 --- a/sources/unit-test/include/class_acc_ledger_purchaseTest.php +++ /dev/null @@ -1,127 +0,0 @@ -object=new Acc_Ledger_Purchase($g_connection,3); - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Acc_Ledger_Purchase::verify - * @todo Implement testVerify(). - * @expectedException Exception - */ - public function testVerify() - { - $this->object->verify(array()); - } - - /** - * @covers Acc_Ledger_Purchase::insert - * @todo Implement testInsert(). - */ - public function testInsert() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger_Purchase::input - * @todo Implement testInput(). - */ - public function testInput() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger_Purchase::confirm - * @todo Implement testConfirm(). - */ - public function testConfirm() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger_Purchase::extra_info - * @todo Implement testExtra_info(). - */ - public function testExtra_info() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger_Purchase::show_unpaid - * @todo Implement testShow_unpaid(). - */ - public function testShow_unpaid() - { - // OBSOLETE : function must be removed in the next code cleaning - // $str_html=$this->object->show_unpaid(); - - } - - /** - * @covers Acc_Ledger_Purchase::get_detail_purchase - * @todo Implement testGet_detail_purchase(). - */ - public function testGet_detail_purchase() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger_Purchase::heading_detail_purchase - * @todo Implement testHeading_detail_purchase(). - */ - public function testHeading_detail_purchase() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_acc_ledger_soldTest.php b/sources/unit-test/include/class_acc_ledger_soldTest.php deleted file mode 100644 index 40ded15..0000000 --- a/sources/unit-test/include/class_acc_ledger_soldTest.php +++ /dev/null @@ -1,128 +0,0 @@ -object=new Acc_Ledger_Sold($g_connection, 2); - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Acc_Ledger_Sold::verify - * @todo Implement testVerify(). - * @expectedException Exception - */ - public function testVerify() - { - $this->object->verify(array()); - } - - /** - * @covers Acc_Ledger_Sold::insert - * @todo Implement testInsert(). - * @expectedException Exception - */ - public function testInsert() - { - $this->object->insert(array()); - } - - /** - * @covers Acc_Ledger_Sold::confirm - * @todo Implement testConfirm(). - * @expectedException Exception - */ - public function testConfirm() - { - $_POST['p_jrn']=$this->object->id; - $this->object->confirm(array()); - } - - /** - * @covers Acc_Ledger_Sold::extra_info - * @todo Implement testExtra_info(). - */ - public function testExtra_info() - { - $info=$this->object->extra_info(); - if (!is_string($info)) - { - $this->assertTrue(FALSE); - } - } - - /** - * @covers Acc_Ledger_Sold::show_unpaid - * @todo Implement testShow_unpaid(). - */ - public function testShow_unpaid() - { - // OBSOLETE : must be removed - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger_Sold::input - * @todo Implement testInput(). - */ - public function testInput() - { - $_REQUEST['ac']='VEN'; - $info=$this->object->input(); - if (!is_string($info)) - { - $this->assertTrue(FALSE); - } - } - - /** - * @covers Acc_Ledger_Sold::get_detail_sale - * @todo Implement testGet_detail_sale(). - */ - public function testGet_detail_sale() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Acc_Ledger_Sold::heading_detail_sale - * @todo Implement testHeading_detail_sale(). - */ - public function testHeading_detail_sale() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_acc_parm_codeTest.php b/sources/unit-test/include/class_acc_parm_codeTest.php deleted file mode 100644 index b4f0f42..0000000 --- a/sources/unit-test/include/class_acc_parm_codeTest.php +++ /dev/null @@ -1,108 +0,0 @@ -object=new Acc_Parm_Code($g_connection); - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Acc_Parm_Code::load_all - * @todo Implement testLoad_all(). - */ - public function testLoad_all() - { - - $a_result=$this->object->load_all(); - for ($i=0;$ip_code; - if (! in_array($code, array('BANQUE','CAISSE','COMPTE_COURANT','COMPTE_TVA', - 'CUSTOMER','DEP_PRIV','DNA','SUPPLIER','TVA_DED_IMPOT','TVA_DNA','VENTE','VIREMENT_INTERNE'))) - $this->assertNull('code inconnu'.$code); - } - - - } - - /** - * @covers Acc_Parm_Code::save - * @todo Implement testSave(). - */ - public function testSave() - { - global $g_connection; - - $this->object->save(); - $a=new Acc_Parm_Code($g_connection,'CAISSE'); - $save=clone ($a); - $a->p_code='CAISSE'; - $a->p_comment='TEST'; - $a->p_value='5'; - $a->save(); - $test=new Acc_Parm_Code($g_connection,'CAISSE'); - $this->assertEquals($test->p_code,$a->p_code); - $this->assertEquals($test->p_comment,$a->p_comment); - $this->assertEquals($test->p_value,$a->p_value); - $save->save(); - } - - /** - * @covers Acc_Parm_Code::display - * @todo Implement testDisplay(). - */ - public function testDisplay() - { - $this->object->display(); - $this->assertTrue(TRUE); - } - - /** - * @covers Acc_Parm_Code::form - * @todo Implement testForm(). - */ - public function testForm() - { - $this->object->form(); - $this->assertTrue(TRUE); - } - - /** - * @covers Acc_Parm_Code::load - * @todo Implement testLoad(). - */ - public function testLoad() - { - $this->object->load(); - $this->object->p_code='CAISSE'; - $this->object->load(); - $this->assertTrue(TRUE); - } - -} diff --git a/sources/unit-test/include/class_anc_accountTest.php b/sources/unit-test/include/class_anc_accountTest.php deleted file mode 100644 index b818ed7..0000000 --- a/sources/unit-test/include/class_anc_accountTest.php +++ /dev/null @@ -1,176 +0,0 @@ -object=new Anc_Account; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Anc_Account::get_by_id - * @todo Implement testGet_by_id(). - */ - public function testGet_by_id() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Account::get_by_name - * @todo Implement testGet_by_name(). - */ - public function testGet_by_name() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Account::add - * @todo Implement testAdd(). - */ - public function testAdd() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Account::make_array_name - * @todo Implement testMake_array_name(). - */ - public function testMake_array_name() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Account::update - * @todo Implement testUpdate(). - */ - public function testUpdate() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Account::delete - * @todo Implement testDelete(). - */ - public function testDelete() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Account::get_list - * @todo Implement testGet_list(). - */ - public function testGet_list() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Account::display_list - * @todo Implement testDisplay_list(). - */ - public function testDisplay_list() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Account::debug - * @todo Implement testDebug(). - */ - public function testDebug() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Account::form - * @todo Implement testForm(). - */ - public function testForm() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Account::get_from_array - * @todo Implement testGet_from_array(). - */ - public function testGet_from_array() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Account::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_anc_grandlivreTest.php b/sources/unit-test/include/class_anc_grandlivreTest.php deleted file mode 100644 index 0d8c399..0000000 --- a/sources/unit-test/include/class_anc_grandlivreTest.php +++ /dev/null @@ -1,116 +0,0 @@ -object=new Anc_GrandLivre; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Anc_GrandLivre::set_sql_filter - * @todo Implement testSet_sql_filter(). - */ - public function testSet_sql_filter() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_GrandLivre::load - * @todo Implement testLoad(). - */ - public function testLoad() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_GrandLivre::load_csv - * @todo Implement testLoad_csv(). - */ - public function testLoad_csv() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_GrandLivre::button_export_pdf - * @todo Implement testButton_export_pdf(). - */ - public function testButton_export_pdf() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_GrandLivre::display_html - * @todo Implement testDisplay_html(). - */ - public function testDisplay_html() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_GrandLivre::show_button - * @todo Implement testShow_button(). - */ - public function testShow_button() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_GrandLivre::display_csv - * @todo Implement testDisplay_csv(). - */ - public function testDisplay_csv() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_anc_keyTest.php b/sources/unit-test/include/class_anc_keyTest.php deleted file mode 100644 index ce18542..0000000 --- a/sources/unit-test/include/class_anc_keyTest.php +++ /dev/null @@ -1,140 +0,0 @@ -object=new Anc_Key; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Anc_Key::key_avaiable - * @todo Implement testKey_avaiable(). - */ - public function testKey_avaiable() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Key::display_choice - * @todo Implement testDisplay_choice(). - */ - public function testDisplay_choice() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Key::display_list - * @todo Implement testDisplay_list(). - */ - public function testDisplay_list() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Key::input - * @todo Implement testInput(). - */ - public function testInput() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Key::verify - * @todo Implement testVerify(). - */ - public function testVerify() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Key::save - * @todo Implement testSave(). - */ - public function testSave() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Key::fill_table - * @todo Implement testFill_table(). - */ - public function testFill_table() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Key::key_add - * @todo Implement testKey_add(). - */ - public function testKey_add() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Key::delete - * @todo Implement testDelete(). - */ - public function testDelete() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_anc_key_sqlTest.php b/sources/unit-test/include/class_anc_key_sqlTest.php deleted file mode 100644 index da109d1..0000000 --- a/sources/unit-test/include/class_anc_key_sqlTest.php +++ /dev/null @@ -1,43 +0,0 @@ -object=new Anc_Key_Detail_SQL($g_connection); - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @backupGlobals enabled - * - */ - function test_me() - { - $this->assertTrue(true); - } - -} diff --git a/sources/unit-test/include/class_anc_operationTest.php b/sources/unit-test/include/class_anc_operationTest.php deleted file mode 100644 index 7a56dea..0000000 --- a/sources/unit-test/include/class_anc_operationTest.php +++ /dev/null @@ -1,224 +0,0 @@ -object=new Anc_Operation; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Anc_Operation::add - * @todo Implement testAdd(). - */ - public function testAdd() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::delete - * @todo Implement testDelete(). - */ - public function testDelete() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::get_list - * @todo Implement testGet_list(). - */ - public function testGet_list() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::html_table - * @todo Implement testHtml_table(). - */ - public function testHtml_table() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::get_by_jid - * @todo Implement testGet_by_jid(). - */ - public function testGet_by_jid() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::update_from_jrnx - * @todo Implement testUpdate_from_jrnx(). - */ - public function testUpdate_from_jrnx() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::get_jrid - * @todo Implement testGet_jrid(). - */ - public function testGet_jrid() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::get_balance - * @todo Implement testGet_balance(). - */ - public function testGet_balance() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::display_form_plan - * @todo Implement testDisplay_form_plan(). - */ - public function testDisplay_form_plan() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::save_form_plan_vat_nd - * @todo Implement testSave_form_plan_vat_nd(). - */ - public function testSave_form_plan_vat_nd() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::save_form_plan - * @todo Implement testSave_form_plan(). - */ - public function testSave_form_plan() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::save_update_form - * @todo Implement testSave_update_form(). - */ - public function testSave_update_form() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::to_request - * @todo Implement testTo_request(). - */ - public function testTo_request() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::delete_by_jid - * @todo Implement testDelete_by_jid(). - */ - public function testDelete_by_jid() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::display_table - * @todo Implement testDisplay_table(). - */ - public function testDisplay_table() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Anc_Operation::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_databaseTest.php b/sources/unit-test/include/class_databaseTest.php deleted file mode 100644 index f876962..0000000 --- a/sources/unit-test/include/class_databaseTest.php +++ /dev/null @@ -1,584 +0,0 @@ -object=new Database; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Database::verify - * @todo Implement testVerify(). - */ - public function testVerify() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::set_encoding - * @todo Implement testSet_encoding(). - */ - public function testSet_encoding() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::exec_sql - * @todo Implement testExec_sql(). - */ - public function testExec_sql() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::count_sql - * @todo Implement testCount_sql(). - */ - public function testCount_sql() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::get_current_seq - * @todo Implement testGet_current_seq(). - */ - public function testGet_current_seq() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::get_next_seq - * @todo Implement testGet_next_seq(). - */ - public function testGet_next_seq() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::start - * @todo Implement testStart(). - */ - public function testStart() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::commit - * @todo Implement testCommit(). - */ - public function testCommit() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::rollback - * @todo Implement testRollback(). - */ - public function testRollback() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::alter_seq - * @todo Implement testAlter_seq(). - */ - public function testAlter_seq() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::execute_script - * @todo Implement testExecute_script(). - */ - public function testExecute_script() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::get_version - * @todo Implement testGet_version(). - */ - public function testGet_version() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::fetch - * @todo Implement testFetch(). - */ - public function testFetch() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::size - * @todo Implement testSize(). - */ - public function testSize() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::count - * @todo Implement testCount(). - */ - public function testCount() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::apply_patch - * @todo Implement testApply_patch(). - */ - public function testApply_patch() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::get_value - * @todo Implement testGet_value(). - */ - public function testGet_value() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::get_array - * @todo Implement testGet_array(). - */ - public function testGet_array() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::create_sequence - * @todo Implement testCreate_sequence(). - */ - public function testCreate_sequence() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::exist_sequence - * @todo Implement testExist_sequence(). - */ - public function testExist_sequence() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::exist_table - * @todo Implement testExist_table(). - */ - public function testExist_table() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::exist_column - * @todo Implement testExist_column(). - */ - public function testExist_column() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::format_name - * @todo Implement testFormat_name(). - */ - public function testFormat_name() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::exist_database - * @todo Implement testExist_database(). - */ - public function testExist_database() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::exist_blob - * @todo Implement testExist_blob(). - */ - public function testExist_blob() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::exist_view - * @todo Implement testExist_view(). - */ - public function testExist_view() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::exist_schema - * @todo Implement testExist_schema(). - */ - public function testExist_schema() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::make_list - * @todo Implement testMake_list(). - */ - public function testMake_list() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::make_array - * @todo Implement testMake_array(). - */ - public function testMake_array() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::save_upload_document - * @todo Implement testSave_upload_document(). - */ - public function testSave_upload_document() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::num_row - * @todo Implement testNum_row(). - */ - public function testNum_row() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::fetch_array - * @todo Implement testFetch_array(). - */ - public function testFetch_array() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::fetch_all - * @todo Implement testFetch_all(). - */ - public function testFetch_all() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::fetch_result - * @todo Implement testFetch_result(). - */ - public function testFetch_result() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::fetch_row - * @todo Implement testFetch_row(). - */ - public function testFetch_row() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::lo_unlink - * @todo Implement testLo_unlink(). - */ - public function testLo_unlink() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::prepare - * @todo Implement testPrepare(). - */ - public function testPrepare() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::execute - * @todo Implement testExecute(). - */ - public function testExecute() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::lo_export - * @todo Implement testLo_export(). - */ - public function testLo_export() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::lo_import - * @todo Implement testLo_import(). - */ - public function testLo_import() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::escape_string - * @todo Implement testEscape_string(). - */ - public function testEscape_string() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::close - * @todo Implement testClose(). - */ - public function testClose() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::__toString - * @todo Implement test__toString(). - */ - public function test__toString() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::status - * @todo Implement testStatus(). - */ - public function testStatus() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Database::query_to_csv - * @todo Implement testQuery_to_csv(). - */ - public function testQuery_to_csv() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_default_menu_sqlTest.php b/sources/unit-test/include/class_default_menu_sqlTest.php deleted file mode 100644 index 7f68720..0000000 --- a/sources/unit-test/include/class_default_menu_sqlTest.php +++ /dev/null @@ -1,32 +0,0 @@ -object=new Default_Menu_SQL; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - -} diff --git a/sources/unit-test/include/class_document_exportTest.php b/sources/unit-test/include/class_document_exportTest.php deleted file mode 100644 index 6381fdf..0000000 --- a/sources/unit-test/include/class_document_exportTest.php +++ /dev/null @@ -1,104 +0,0 @@ -object=new Document_Export; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Document_Export::concatenate_pdf - * @todo Implement testConcatenate_pdf(). - */ - public function testConcatenate_pdf() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Document_Export::move_file - * @todo Implement testMove_file(). - */ - public function testMove_file() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Document_Export::send_pdf - * @todo Implement testSend_pdf(). - */ - public function testSend_pdf() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Document_Export::clean_folder - * @todo Implement testClean_folder(). - */ - public function testClean_folder() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Document_Export::export_all - * @todo Implement testExport_all(). - */ - public function testExport_all() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Document_Export::check_file - * @todo Implement testCheck_file(). - */ - public function testCheck_file() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_ficheTest.php b/sources/unit-test/include/class_ficheTest.php deleted file mode 100644 index 31a638a..0000000 --- a/sources/unit-test/include/class_ficheTest.php +++ /dev/null @@ -1,549 +0,0 @@ -object=new Fiche($g_connection); - $result=$this->object->get_bk_account(); - $this->assertEquals(gettype($result),'array'); - $count = count($result); - $this->assertGreaterThan(0,$count); - - } - - /** - * @covers Fiche::get_by_qcode - * @todo Implement testGet_by_qcode(). - */ - public function testGet_by_qcode() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::setAttribut - * @todo Implement testSetAttribut(). - */ - public function testSetAttribut() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::getAttribut - * @todo Implement testGetAttribut(). - */ - public function testGetAttribut() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::seek - * @todo Implement testSeek(). - */ - public function testSeek() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::size - * @todo Implement testSize(). - */ - public function testSize() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::count_by_modele - * @todo Implement testCount_by_modele(). - */ - public function testCount_by_modele() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::GetByDef - * @todo Implement testGetByDef(). - */ - public function testGetByDef() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::ShowTable - * @todo Implement testShowTable(). - */ - public function testShowTable() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::strAttribut - * @todo Implement testStrAttribut(). - */ - public function testStrAttribut() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::to_array - * @todo Implement testTo_array(). - */ - public function testTo_array() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::blank - * @todo Implement testBlank(). - */ - public function testBlank() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::Display - * @todo Implement testDisplay(). - */ - public function testDisplay() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::Save - * @todo Implement testSave(). - */ - public function testSave() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::insert - * @todo Implement testInsert(). - */ - public function testInsert() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::update - * @todo Implement testUpdate(). - */ - public function testUpdate() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::remove - * @todo Implement testRemove(). - */ - public function testRemove() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::getName - * @todo Implement testGetName(). - */ - public function testGetName() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::get_quick_code - * @todo Implement testGet_quick_code(). - */ - public function testGet_quick_code() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::Get - * @todo Implement testGet(). - */ - public function testGet() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::get_by_category - * @todo Implement testGet_by_category(). - */ - public function testGet_by_category() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::get_fiche_def_ref_id - * @todo Implement testGet_fiche_def_ref_id(). - */ - public function testGet_fiche_def_ref_id() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::get_row_date - * @todo Implement testGet_row_date(). - */ - public function testGet_row_date() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::get_row - * @todo Implement testGet_row(). - */ - public function testGet_row() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::HtmlTableDetail - * @todo Implement testHtmlTableDetail(). - */ - public function testHtmlTableDetail() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::HtmlTable - * @todo Implement testHtmlTable(). - */ - public function testHtmlTable() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::HtmlTableHeader - * @todo Implement testHtmlTableHeader(). - */ - public function testHtmlTableHeader() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::get_solde_detail - * @todo Implement testGet_solde_detail(). - */ - public function testGet_solde_detail() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::get_bk_balance - * @todo Implement testGet_bk_balance(). - */ - public function testGet_bk_balance() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::empty_attribute - * @todo Implement testEmpty_attribute(). - */ - public function testEmpty_attribute() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::Summary - * @todo Implement testSummary(). - */ - public function testSummary() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::get_categorie - * @todo Implement testGet_categorie(). - */ - public function testGet_categorie() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::belong_ledger - * @todo Implement testBelong_ledger(). - */ - public function testBelong_ledger() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::get_fiche_def - * @todo Implement testGet_fiche_def(). - */ - public function testGet_fiche_def() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::is_used - * @todo Implement testIs_used(). - */ - public function testIs_used() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::delete - * @todo Implement testDelete(). - */ - public function testDelete() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::build_sql - * @todo Implement testBuild_sql(). - */ - public function testBuild_sql() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::move_to - * @todo Implement testMove_to(). - */ - public function testMove_to() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::get_amount_side - * @todo Implement testGet_amount_side(). - */ - public function testGet_amount_side() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::get_gestion_title - * @todo Implement testGet_gestion_title(). - */ - public function testGet_gestion_title() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Fiche::get_all_account - * @todo Implement testGet_all_account(). - */ - public function testGet_all_account() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_follow_upTest.php b/sources/unit-test/include/class_follow_upTest.php deleted file mode 100644 index 02df8c3..0000000 --- a/sources/unit-test/include/class_follow_upTest.php +++ /dev/null @@ -1,428 +0,0 @@ -object=new Follow_Up; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Follow_Up::sql_security_filter - * @todo Implement testSql_security_filter(). - */ - public function testSql_security_filter() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::Display - * @todo Implement testDisplay(). - */ - public function testDisplay() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::get - * @todo Implement testGet(). - */ - public function testGet() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::save - * @todo Implement testSave(). - */ - public function testSave() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::myList - * @todo Implement testMyList(). - */ - public function testMyList() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::Update - * @todo Implement testUpdate(). - */ - public function testUpdate() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::generate_document - * @todo Implement testGenerate_document(). - */ - public function testGenerate_document() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::fromArray - * @todo Implement testFromArray(). - */ - public function testFromArray() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::remove - * @todo Implement testRemove(). - */ - public function testRemove() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::get_last - * @todo Implement testGet_last(). - */ - public function testGet_last() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::get_today - * @todo Implement testGet_today(). - */ - public function testGet_today() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::get_late - * @todo Implement testGet_late(). - */ - public function testGet_late() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::insert_operation - * @todo Implement testInsert_operation(). - */ - public function testInsert_operation() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::remove_operation_deprecated - * @todo Implement testRemove_operation_deprecated(). - */ - public function testRemove_operation_deprecated() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::display_search - * @todo Implement testDisplay_search(). - */ - public function testDisplay_search() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::show_action_list - * @todo Implement testShow_action_list(). - */ - public function testShow_action_list() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::filter_by_tag - * @todo Implement testFilter_by_tag(). - */ - public function testFilter_by_tag() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::create_query - * @todo Implement testCreate_query(). - */ - public function testCreate_query() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::short_list - * @todo Implement testShort_list(). - */ - public function testShort_list() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::insert_action - * @todo Implement testInsert_action(). - */ - public function testInsert_action() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::export_csv - * @todo Implement testExport_csv(). - */ - public function testExport_csv() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::get_all_operation - * @todo Implement testGet_all_operation(). - */ - public function testGet_all_operation() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::tag_get - * @todo Implement testTag_get(). - */ - public function testTag_get() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::tag_add - * @todo Implement testTag_add(). - */ - public function testTag_add() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::tag_remove - * @todo Implement testTag_remove(). - */ - public function testTag_remove() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::tag_cell - * @todo Implement testTag_cell(). - */ - public function testTag_cell() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::action_tag_remove - * @todo Implement testAction_tag_remove(). - */ - public function testAction_tag_remove() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::action_tag_add - * @todo Implement testAction_tag_add(). - */ - public function testAction_tag_add() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::action_tag_clear - * @todo Implement testAction_tag_clear(). - */ - public function testAction_tag_clear() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::action_print - * @todo Implement testAction_print(). - */ - public function testAction_print() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::tag_clear - * @todo Implement testTag_clear(). - */ - public function testTag_clear() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::action_set_state - * @todo Implement testAction_set_state(). - */ - public function testAction_set_state() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up::action_remove - * @todo Implement testAction_remove(). - */ - public function testAction_remove() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_follow_up_detailTest.php b/sources/unit-test/include/class_follow_up_detailTest.php deleted file mode 100644 index 742a054..0000000 --- a/sources/unit-test/include/class_follow_up_detailTest.php +++ /dev/null @@ -1,176 +0,0 @@ -object=new Follow_Up_Detail; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Follow_Up_Detail::get_parameter - * @todo Implement testGet_parameter(). - */ - public function testGet_parameter() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up_Detail::set_parameter - * @todo Implement testSet_parameter(). - */ - public function testSet_parameter() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up_Detail::get_info - * @todo Implement testGet_info(). - */ - public function testGet_info() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up_Detail::verify - * @todo Implement testVerify(). - */ - public function testVerify() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up_Detail::save - * @todo Implement testSave(). - */ - public function testSave() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up_Detail::insert - * @todo Implement testInsert(). - */ - public function testInsert() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up_Detail::update - * @todo Implement testUpdate(). - */ - public function testUpdate() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up_Detail::load_all - * @todo Implement testLoad_all(). - */ - public function testLoad_all() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up_Detail::load - * @todo Implement testLoad(). - */ - public function testLoad() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up_Detail::delete - * @todo Implement testDelete(). - */ - public function testDelete() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up_Detail::from_array - * @todo Implement testFrom_array(). - */ - public function testFrom_array() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Follow_Up_Detail::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_html_inputTest.php b/sources/unit-test/include/class_html_inputTest.php deleted file mode 100644 index 6cf6a86..0000000 --- a/sources/unit-test/include/class_html_inputTest.php +++ /dev/null @@ -1,644 +0,0 @@ -object=new HtmlInput; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers HtmlInput::setReadOnly - * @todo Implement testSetReadOnly(). - */ - public function testSetReadOnly() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::set_attribute - * @todo Implement testSet_attribute(). - */ - public function testSet_attribute() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::get_js_attr - * @todo Implement testGet_js_attr(). - */ - public function testGet_js_attr() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::make_object - * @todo Implement testMake_object(). - */ - public function testMake_object() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::debug - * @todo Implement testDebug(). - */ - public function testDebug() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::submit - * @todo Implement testSubmit(). - */ - public function testSubmit() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::button - * @todo Implement testButton(). - */ - public function testButton() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::reset - * @todo Implement testReset(). - */ - public function testReset() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::hidden - * @todo Implement testHidden(). - */ - public function testHidden() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::extension - * @todo Implement testExtension(). - */ - public function testExtension() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::button_anchor - * @todo Implement testButton_anchor(). - */ - public function testButton_anchor() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::infobulle - * @todo Implement testInfobulle(). - */ - public function testInfobulle() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::warnbulle - * @todo Implement testWarnbulle(). - */ - public function testWarnbulle() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::detail_op - * @todo Implement testDetail_op(). - */ - public function testDetail_op() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::detail_action - * @todo Implement testDetail_action(). - */ - public function testDetail_action() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::detail_modele_document - * @todo Implement testDetail_modele_document(). - */ - public function testDetail_modele_document() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::remove_stock - * @todo Implement testRemove_stock(). - */ - public function testRemove_stock() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::history_card - * @todo Implement testHistory_card(). - */ - public function testHistory_card() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::history_card_button - * @todo Implement testHistory_card_button(). - */ - public function testHistory_card_button() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::history_account - * @todo Implement testHistory_account(). - */ - public function testHistory_account() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::select_ledger - * @todo Implement testSelect_ledger(). - */ - public function testSelect_ledger() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::select_cat - * @todo Implement testSelect_cat(). - */ - public function testSelect_cat() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::display_periode - * @todo Implement testDisplay_periode(). - */ - public function testDisplay_periode() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::button_close - * @todo Implement testButton_close(). - */ - public function testButton_close() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::anchor_close - * @todo Implement testAnchor_close(). - */ - public function testAnchor_close() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::button_action - * @todo Implement testButton_action(). - */ - public function testButton_action() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::button_image - * @todo Implement testButton_image(). - */ - public function testButton_image() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::anchor_hide - * @todo Implement testAnchor_hide(). - */ - public function testAnchor_hide() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::print_window - * @todo Implement testPrint_window(). - */ - public function testPrint_window() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::card_detail - * @todo Implement testCard_detail(). - */ - public function testCard_detail() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::array_to_hidden - * @todo Implement testArray_to_hidden(). - */ - public function testArray_to_hidden() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::get_to_hidden - * @todo Implement testGet_to_hidden(). - */ - public function testGet_to_hidden() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::post_to_hidden - * @todo Implement testPost_to_hidden(). - */ - public function testPost_to_hidden() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::request_to_hidden - * @todo Implement testRequest_to_hidden(). - */ - public function testRequest_to_hidden() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::array_to_string - * @todo Implement testArray_to_string(). - */ - public function testArray_to_string() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::get_to_string - * @todo Implement testGet_to_string(). - */ - public function testGet_to_string() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::post_to_string - * @todo Implement testPost_to_string(). - */ - public function testPost_to_string() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::request_to_string - * @todo Implement testRequest_to_string(). - */ - public function testRequest_to_string() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::generate_id - * @todo Implement testGenerate_id(). - */ - public function testGenerate_id() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::default_value - * @todo Implement testDefault_value(). - */ - public function testDefault_value() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::default_value_get - * @todo Implement testDefault_value_get(). - */ - public function testDefault_value_get() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::default_value_post - * @todo Implement testDefault_value_post(). - */ - public function testDefault_value_post() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::default_value_request - * @todo Implement testDefault_value_request(). - */ - public function testDefault_value_request() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::title_box - * @todo Implement testTitle_box(). - */ - public function testTitle_box() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::anchor - * @todo Implement testAnchor(). - */ - public function testAnchor() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::select_stock - * @todo Implement testSelect_stock(). - */ - public function testSelect_stock() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::filter_table - * @todo Implement testFilter_table(). - */ - public function testFilter_table() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::show_reconcile - * @todo Implement testShow_reconcile(). - */ - public function testShow_reconcile() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::calendar_zoom - * @todo Implement testCalendar_zoom(). - */ - public function testCalendar_zoom() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::button_choice_ledger - * @todo Implement testButton_choice_ledger(). - */ - public function testButton_choice_ledger() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers HtmlInput::show_receipt_document - * @todo Implement testShow_receipt_document(). - */ - public function testShow_receipt_document() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_icardTest.php b/sources/unit-test/include/class_icardTest.php deleted file mode 100644 index 282acfc..0000000 --- a/sources/unit-test/include/class_icardTest.php +++ /dev/null @@ -1,128 +0,0 @@ -object=new ICard; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers ICard::set_callback - * @todo Implement testSet_callback(). - */ - public function testSet_callback() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers ICard::set_function - * @todo Implement testSet_function(). - */ - public function testSet_function() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers ICard::ipopup - * @todo Implement testIpopup(). - */ - public function testIpopup() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers ICard::set_dblclick - * @todo Implement testSet_dblclick(). - */ - public function testSet_dblclick() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers ICard::input - * @todo Implement testInput(). - */ - public function testInput() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers ICard::display - * @todo Implement testDisplay(). - */ - public function testDisplay() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers ICard::search - * @todo Implement testSearch(). - */ - public function testSearch() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers ICard::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_menu_ref_sqlTest.php b/sources/unit-test/include/class_menu_ref_sqlTest.php deleted file mode 100644 index 0aee82a..0000000 --- a/sources/unit-test/include/class_menu_ref_sqlTest.php +++ /dev/null @@ -1,44 +0,0 @@ -object=new Menu_Ref_SQL; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Menu_Ref_SQL::test_me - * @todo Implement testTest_me(). - */ - public function testTest_me() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_profile_sqlTest.php b/sources/unit-test/include/class_profile_sqlTest.php deleted file mode 100644 index 2aa57da..0000000 --- a/sources/unit-test/include/class_profile_sqlTest.php +++ /dev/null @@ -1,32 +0,0 @@ -object=new Profile_sql; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - -} diff --git a/sources/unit-test/include/class_stockTest.php b/sources/unit-test/include/class_stockTest.php deleted file mode 100644 index 9c516b9..0000000 --- a/sources/unit-test/include/class_stockTest.php +++ /dev/null @@ -1,128 +0,0 @@ -object=new Stock; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Stock::history - * @todo Implement testHistory(). - */ - public function testHistory() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Stock::export_stock_histo_form - * @todo Implement testExport_stock_histo_form(). - */ - public function testExport_stock_histo_form() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Stock::export_stock_summary_list_form - * @todo Implement testExport_stock_summary_list_form(). - */ - public function testExport_stock_summary_list_form() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Stock::search_box_button - * @todo Implement testSearch_box_button(). - */ - public function testSearch_box_button() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Stock::search_box - * @todo Implement testSearch_box(). - */ - public function testSearch_box() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Stock::create_query_histo - * @todo Implement testCreate_query_histo(). - */ - public function testCreate_query_histo() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Stock::summary - * @todo Implement testSummary(). - */ - public function testSummary() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Stock::build_tmp_table - * @todo Implement testBuild_tmp_table(). - */ - public function testBuild_tmp_table() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_stock_goods_sqlTest.php b/sources/unit-test/include/class_stock_goods_sqlTest.php deleted file mode 100644 index 65f2c2b..0000000 --- a/sources/unit-test/include/class_stock_goods_sqlTest.php +++ /dev/null @@ -1,32 +0,0 @@ -object=new Stock_Goods_Sql; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - -} diff --git a/sources/unit-test/include/class_stock_sqlTest.php b/sources/unit-test/include/class_stock_sqlTest.php deleted file mode 100644 index df21627..0000000 --- a/sources/unit-test/include/class_stock_sqlTest.php +++ /dev/null @@ -1,28 +0,0 @@ -object = new Stock_Sql; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - } -} diff --git a/sources/unit-test/include/class_tagTest.php b/sources/unit-test/include/class_tagTest.php deleted file mode 100644 index 127011c..0000000 --- a/sources/unit-test/include/class_tagTest.php +++ /dev/null @@ -1,152 +0,0 @@ -object=new Tag; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - - /** - * @covers Tag::show_list - * @todo Implement testShow_list(). - */ - public function testShow_list() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Tag::select - * @todo Implement testSelect(). - */ - public function testSelect() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Tag::form_add - * @todo Implement testForm_add(). - */ - public function testForm_add() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Tag::show_form_add - * @todo Implement testShow_form_add(). - */ - public function testShow_form_add() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Tag::save - * @todo Implement testSave(). - */ - public function testSave() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Tag::remove - * @todo Implement testRemove(). - */ - public function testRemove() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Tag::button_search - * @todo Implement testButton_search(). - */ - public function testButton_search() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Tag::select_search - * @todo Implement testSelect_search(). - */ - public function testSelect_search() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Tag::update_search_cell - * @todo Implement testUpdate_search_cell(). - */ - public function testUpdate_search_cell() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - - /** - * @covers Tag::add_clear_button - * @todo Implement testAdd_clear_button(). - */ - public function testAdd_clear_button() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); - } - -} diff --git a/sources/unit-test/include/class_tag_sqlTest.php b/sources/unit-test/include/class_tag_sqlTest.php deleted file mode 100644 index fda9fcb..0000000 --- a/sources/unit-test/include/class_tag_sqlTest.php +++ /dev/null @@ -1,32 +0,0 @@ -object=new Tag_SQL; - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - - } - -}